2023-01-29 18:57:24 +01:00
|
|
|
import { linkClasses } from 'shared/components/navigation/primary.mjs'
|
|
|
|
import { ViewMenu } from './view.mjs'
|
2023-02-05 17:59:22 +01:00
|
|
|
import { DesignOptions } from './design-options/index.mjs'
|
|
|
|
import { CoreSettings } from './core-settings/index.mjs'
|
2023-02-05 19:09:46 +01:00
|
|
|
import { XrayMenu } from './xray/index.mjs'
|
2023-02-05 17:59:22 +01:00
|
|
|
import { TestDesignOptions } from './test-design-options/index.mjs'
|
2022-01-25 12:39:29 +01:00
|
|
|
|
2023-01-29 18:57:24 +01:00
|
|
|
export const Ul = (props) => <ul className="pl-5 list-inside">{props.children}</ul>
|
|
|
|
export const Li = (props) => (
|
|
|
|
<li className="flex flex-row hover:border-r-2 hover:border-r-secondary">{props.children}</li>
|
2022-01-30 12:21:08 +01:00
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const Details = (props) => (
|
2022-01-29 18:24:36 +01:00
|
|
|
<details className="grow" open={props.open || false}>
|
|
|
|
{props.children}
|
|
|
|
</details>
|
|
|
|
)
|
2023-02-05 19:58:25 +01:00
|
|
|
export const Deg = () => (
|
2023-01-29 18:57:24 +01:00
|
|
|
<span className="text-3xl inline-block p-0 leading-3 px-2 translate-y-3">°</span>
|
|
|
|
)
|
|
|
|
export const NoSumDiv = (props) => (
|
|
|
|
<div
|
|
|
|
className={`
|
2022-01-29 21:31:12 +01:00
|
|
|
grow px-2 ml-2 border-l-2
|
|
|
|
${linkClasses}
|
|
|
|
hover:cursor-resize
|
|
|
|
hover:border-secondary
|
|
|
|
sm:hover:border-secondary-focus
|
2022-05-14 14:53:29 +02:00
|
|
|
text-base-content sm:text-base-content
|
2023-01-29 18:57:24 +01:00
|
|
|
`}
|
|
|
|
>
|
|
|
|
{props.children}
|
|
|
|
</div>
|
2022-01-29 21:31:12 +01:00
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const SumDiv = (props) => (
|
|
|
|
<div
|
|
|
|
className={`
|
2022-01-29 18:24:36 +01:00
|
|
|
grow pl-2 border-l-2
|
|
|
|
${linkClasses}
|
|
|
|
hover:cursor-resize
|
|
|
|
hover:border-secondary
|
|
|
|
sm:hover:border-secondary-focus
|
2022-05-14 14:53:29 +02:00
|
|
|
text-base-content sm:text-base-content
|
2023-01-29 18:57:24 +01:00
|
|
|
`}
|
|
|
|
>
|
|
|
|
{props.children}
|
|
|
|
</div>
|
2022-01-29 18:24:36 +01:00
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const Summary = (props) => (
|
|
|
|
<summary
|
|
|
|
className={`
|
2022-01-29 18:24:36 +01:00
|
|
|
flex flex-row
|
|
|
|
px-2
|
|
|
|
text-base-content
|
2022-05-14 14:53:29 +02:00
|
|
|
sm:text-base-content
|
2022-01-29 18:24:36 +01:00
|
|
|
hover:cursor-row-resize
|
|
|
|
items-center
|
2023-01-29 18:57:24 +01:00
|
|
|
`}
|
|
|
|
>
|
|
|
|
{props.children}
|
|
|
|
</summary>
|
2022-01-29 18:24:36 +01:00
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const TopSummary = (props) => (
|
|
|
|
<summary
|
|
|
|
className={`
|
2022-01-29 18:24:36 +01:00
|
|
|
flex flex-row gap-4 text-lg
|
|
|
|
hover:cursor-row-resize
|
|
|
|
p-2
|
|
|
|
text-base-content
|
2022-05-14 14:53:29 +02:00
|
|
|
sm:text-base-content
|
2022-01-29 18:24:36 +01:00
|
|
|
items-center
|
2023-01-29 18:57:24 +01:00
|
|
|
`}
|
|
|
|
>
|
2022-01-29 18:24:36 +01:00
|
|
|
<span className="text-secondary-focus mr-4">{props.icon || null}</span>
|
|
|
|
{props.children}
|
|
|
|
</summary>
|
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const SumButton = (props) => (
|
|
|
|
<button
|
|
|
|
className={`
|
2022-01-29 18:24:36 +01:00
|
|
|
flex flex-row
|
|
|
|
px-2
|
|
|
|
w-full justify-between
|
|
|
|
text-left
|
|
|
|
text-base-content
|
2022-05-14 14:53:29 +02:00
|
|
|
sm:text-base-content
|
2022-01-29 18:24:36 +01:00
|
|
|
hover:cursor-pointer
|
|
|
|
items-center
|
|
|
|
mr-4
|
2023-01-29 18:57:24 +01:00
|
|
|
`}
|
|
|
|
onClick={props.onClick}
|
|
|
|
>
|
|
|
|
{props.children}
|
|
|
|
</button>
|
2022-01-29 18:24:36 +01:00
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const TopSumTitle = (props) => (
|
2022-01-29 18:24:36 +01:00
|
|
|
<span className={`grow ${linkClasses} hover:cursor-resize font-bold uppercase`}>
|
|
|
|
{props.children}
|
|
|
|
</span>
|
|
|
|
)
|
2023-01-29 18:57:24 +01:00
|
|
|
export const SecText = (props) =>
|
|
|
|
props.raw ? (
|
|
|
|
<span className="text-secondary-focus" dangerouslySetInnerHTML={{ __html: props.raw }} />
|
|
|
|
) : (
|
|
|
|
<span className="text-secondary-focus">{props.children}</span>
|
|
|
|
)
|
2022-01-29 18:24:36 +01:00
|
|
|
|
2023-01-29 18:57:24 +01:00
|
|
|
export const WorkbenchMenu = (props) => {
|
2022-01-25 12:39:29 +01:00
|
|
|
return (
|
2022-05-14 14:53:29 +02:00
|
|
|
<nav className="grow mb-12">
|
2022-02-12 14:31:17 +01:00
|
|
|
<ViewMenu {...props} />
|
2022-08-09 16:16:06 -05:00
|
|
|
{['draft', 'cuttingLayout', 'printingLayout'].indexOf(props.gist?._state?.view) > -1 && (
|
2022-01-27 12:26:56 +01:00
|
|
|
<>
|
|
|
|
<DesignOptions {...props} />
|
2023-02-05 19:09:46 +01:00
|
|
|
<CoreSettings {...props} />
|
|
|
|
{props.gist.renderer === 'react' && <XrayMenu {...props} />}
|
2022-01-27 12:26:56 +01:00
|
|
|
</>
|
|
|
|
)}
|
2022-02-19 17:01:28 +01:00
|
|
|
{props.gist?._state?.view === 'test' && <TestDesignOptions {...props} />}
|
2022-01-25 12:39:29 +01:00
|
|
|
</nav>
|
|
|
|
)
|
|
|
|
}
|