@owp/core 2.5.8 → 2.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index10.js +2 -2
- package/dist/_virtual/index12.js +2 -2
- package/dist/_virtual/index13.js +2 -2
- package/dist/_virtual/index14.js +2 -2
- package/dist/_virtual/index15.js +2 -2
- package/dist/_virtual/index16.js +4 -4
- package/dist/_virtual/index17.js +4 -4
- package/dist/_virtual/index18.js +4 -4
- package/dist/_virtual/index19.js +4 -4
- package/dist/_virtual/index20.js +2 -2
- package/dist/_virtual/index21.js +2 -2
- package/dist/_virtual/index22.js +2 -2
- package/dist/_virtual/index5.js +2 -2
- package/dist/components/OwpDialog/OwpDialog.js +67 -46
- package/dist/components/OwpDialog/OwpDialog.js.map +1 -1
- package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +162 -153
- package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -1
- package/dist/components/OwpTable/OwpDataTable.js +297 -283
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpFieldTable.js +98 -86
- package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +145 -127
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTable/internal/defaultTableStyle.js +21 -15
- package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
- package/dist/constants/tableTheme.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewCanvas.js +300 -263
- package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +148 -141
- package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewColorField.js +169 -138
- package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
- package/dist/features/themePreview/components/ThemePreviewControls.js +370 -212
- package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js +145 -125
- package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -1
- package/dist/features/themePreview/configs/table.js +4 -2
- package/dist/features/themePreview/configs/table.js.map +1 -1
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +124 -118
- package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
- package/dist/features/themePreview/hooks/useThemePreview.js +257 -190
- package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
- package/dist/features/themePreview/utils/themePreviewDefinitions.js +8 -0
- package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
- package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
- package/dist/layout/components/toolbar/ToolbarLayout.js +36 -35
- package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestartAltOutlined.js +9 -0
- package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestartAltOutlined.js.map +1 -0
- package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js +1 -1
- package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
- package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js +1 -1
- package/dist/owp-app.css +1 -1
- package/dist/types/components/OwpDialog/OwpDialog.d.ts +2 -0
- package/dist/types/components/OwpTable/OwpFieldTable.d.ts +3 -2
- package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +2 -0
- package/dist/types/constants/tableTheme.d.ts +1 -0
- package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +3 -1
- package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +4 -1
- package/dist/types/features/themePreview/configs/settings.d.ts +2 -0
- package/dist/types/features/themePreview/configs/table.d.ts +2 -0
- package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +3 -0
- package/dist/types/types/OwpTableThemeTypes.d.ts +8 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemePreviewControls.js","sources":["../../../../src/features/themePreview/components/ThemePreviewControls.tsx"],"sourcesContent":["import {\n ButtonBase,\n Checkbox,\n Divider,\n FormControlLabel,\n MenuItem,\n Paper,\n TextField,\n Typography,\n} from '@mui/material';\nimport { useMemo, useState } from 'react';\nimport type {\n ThemePreviewFieldDefinition,\n ThemePreviewMode,\n ThemePreviewPresetOption,\n ThemePreviewPresetSectionKey,\n ThemePreviewSectionKey,\n ThemePreviewSectionOption,\n ThemePreviewSettings,\n} from '../types';\nimport {\n deriveThemePreviewPaletteGroupValues,\n getThemePreviewPaletteValue,\n getThemePreviewPresetOptionsByMode,\n isThemePreviewCustomSection,\n THEME_PREVIEW_CUSTOM_PRESET_KEY,\n themePreviewFieldGroupsBySection,\n themePreviewSectionOptions,\n} from '../utils';\nimport { ThemePreviewColorField } from './ThemePreviewColorField';\n\ntype ThemePreviewAutoDerivedFieldPaths = {\n contrastTextPath?: string;\n darkPath?: string;\n lightPath?: string;\n mainPath: string;\n};\n\ntype ThemePreviewFieldCluster = {\n autoDerivedFieldPaths?: ThemePreviewAutoDerivedFieldPaths;\n key: string;\n label?: string;\n fields: ThemePreviewFieldDefinition[];\n};\n\nfunction getThemePreviewFieldClusterLabel(prefix: string) {\n return prefix\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/^./, (value) => value.toUpperCase());\n}\n\nfunction getThemePreviewAutoDerivedFieldPaths(\n fields: ThemePreviewFieldDefinition[],\n): ThemePreviewAutoDerivedFieldPaths | null {\n const mainField = fields.find((field) => field.path.endsWith('.main'));\n const lightField = fields.find((field) => field.path.endsWith('.light'));\n const darkField = fields.find((field) => field.path.endsWith('.dark'));\n const contrastTextField = fields.find((field) => field.path.endsWith('.contrastText'));\n\n if (!mainField || (!lightField && !darkField && !contrastTextField)) {\n return null;\n }\n\n return {\n mainPath: mainField.path,\n lightPath: lightField?.path,\n darkPath: darkField?.path,\n contrastTextPath: contrastTextField?.path,\n };\n}\n\nfunction getThemePreviewFieldClusters(fields: ThemePreviewFieldDefinition[]) {\n const fieldGroupsByPrefix = fields.reduce<Record<string, ThemePreviewFieldDefinition[]>>(\n (acc, field) => {\n const prefix = field.path.split('.')[0] ?? '';\n\n if (!prefix) {\n return acc;\n }\n\n if (!acc[prefix]) {\n acc[prefix] = [];\n }\n\n acc[prefix].push(field);\n return acc;\n },\n {},\n );\n const prefixCounts = Object.fromEntries(\n Object.entries(fieldGroupsByPrefix).map(([prefix, groupedFields]) => [\n prefix,\n groupedFields.length,\n ]),\n );\n const repeatedPrefixes = new Set(\n Object.entries(prefixCounts)\n .filter(([, count]) => count > 1)\n .map(([prefix]) => prefix),\n );\n const hasStandaloneField = fields.some(\n (field) => !repeatedPrefixes.has(field.path.split('.')[0] ?? ''),\n );\n const shouldUsePrefixGrouping = repeatedPrefixes.size > 1 || hasStandaloneField;\n\n if (!shouldUsePrefixGrouping) {\n return fields.map<ThemePreviewFieldCluster>((field) => ({\n key: field.path,\n fields: [field],\n }));\n }\n\n const groupedPrefixes = new Set<string>();\n\n return fields.reduce<ThemePreviewFieldCluster[]>((acc, field) => {\n const prefix = field.path.split('.')[0] ?? '';\n\n if (!repeatedPrefixes.has(prefix)) {\n acc.push({\n key: field.path,\n fields: [field],\n });\n return acc;\n }\n\n if (groupedPrefixes.has(prefix)) {\n return acc;\n }\n\n groupedPrefixes.add(prefix);\n const clusterFields = fieldGroupsByPrefix[prefix] ?? [field];\n\n acc.push({\n key: prefix,\n label: getThemePreviewFieldClusterLabel(prefix),\n fields: clusterFields,\n autoDerivedFieldPaths: getThemePreviewAutoDerivedFieldPaths(clusterFields) ?? undefined,\n });\n\n return acc;\n }, []);\n}\n\nconst themePreviewSectionOptionByKey = Object.fromEntries(\n themePreviewSectionOptions.map((sectionOption) => [sectionOption.key, sectionOption]),\n) as Record<ThemePreviewSectionKey, ThemePreviewSectionOption>;\nconst themePreviewSelectorStyles = {\n active: {\n backgroundColor: '#1ea3e6',\n borderColor: '#1591cf',\n descriptionColor: 'rgba(255, 255, 255, 0.92)',\n textColor: '#ffffff',\n },\n inactive: {\n backgroundColor: '#ffffff',\n borderColor: '#d8dee8',\n descriptionColor: '#6b7280',\n textColor: '#111827',\n },\n} as const;\nconst themePreviewControlsPanelBorderColor = '#d8dee8';\nconst themePreviewControlsClusterBorderColor = '#d1d7e0';\nconst themePreviewControlsClusterBackgroundColor = '#f8fafc';\nconst themePreviewControlsPanelBackgroundColor = '#ffffff';\nconst themePreviewControlsTitleColor = '#111827';\n\ninterface ThemePreviewControlsProps {\n activeSection: ThemePreviewSectionKey;\n presetOptions: ThemePreviewPresetOption[];\n selectedMode: ThemePreviewMode;\n selectedPresetKey: string;\n settings: ThemePreviewSettings;\n onSectionChange: (sectionKey: ThemePreviewSectionKey) => void;\n onPaletteValueChange: (path: string, value: string) => void;\n onPaletteValuesChange: (updates: Array<{ path: string; value: string }>) => void;\n onPresetKeyChange: (presetKey: string) => void;\n onPresetModeChange: (mode: ThemePreviewMode) => void;\n}\n\nexport function ThemePreviewControls({\n activeSection,\n presetOptions,\n selectedMode,\n selectedPresetKey,\n settings,\n onSectionChange,\n onPaletteValueChange,\n onPaletteValuesChange,\n onPresetKeyChange,\n onPresetModeChange,\n}: ThemePreviewControlsProps) {\n const [editableDerivedFields, setEditableDerivedFields] = useState<Record<string, boolean>>({});\n const canSelectPreset = !isThemePreviewCustomSection(activeSection);\n const presetSectionKey = canSelectPreset ? (activeSection as ThemePreviewPresetSectionKey) : null;\n const presetOptionsByMode = useMemo(\n () =>\n canSelectPreset && presetSectionKey\n ? getThemePreviewPresetOptionsByMode(presetOptions, presetSectionKey, selectedMode)\n : [],\n [canSelectPreset, presetOptions, presetSectionKey, selectedMode],\n );\n const fieldGroups = themePreviewFieldGroupsBySection[activeSection];\n const fieldGroupsWithClusters = useMemo(\n () =>\n fieldGroups.map((fieldGroup) => ({\n ...fieldGroup,\n fieldClusters: getThemePreviewFieldClusters(fieldGroup.fields),\n })),\n [fieldGroups],\n );\n const activeSectionOption = themePreviewSectionOptionByKey[activeSection];\n\n const getAutoDerivedUpdates = (\n sectionKey: ThemePreviewPresetSectionKey,\n autoDerivedFieldPaths: ThemePreviewAutoDerivedFieldPaths,\n mainValue: string,\n ) => {\n const commonWhite =\n getThemePreviewPaletteValue(settings, sectionKey, 'common.white') || '#FFFFFF';\n const commonBlack =\n getThemePreviewPaletteValue(settings, sectionKey, 'common.black') || '#111827';\n const derivedValues = deriveThemePreviewPaletteGroupValues(mainValue, {\n whiteTextColor: commonWhite,\n blackTextColor: commonBlack,\n });\n\n if (!derivedValues) {\n return [];\n }\n\n return [\n autoDerivedFieldPaths.lightPath\n ? { path: autoDerivedFieldPaths.lightPath, value: derivedValues.light }\n : null,\n autoDerivedFieldPaths.darkPath\n ? { path: autoDerivedFieldPaths.darkPath, value: derivedValues.dark }\n : null,\n autoDerivedFieldPaths.contrastTextPath\n ? { path: autoDerivedFieldPaths.contrastTextPath, value: derivedValues.contrastText }\n : null,\n ].filter((item): item is { path: string; value: string } => Boolean(item));\n };\n\n return (\n <div className=\"flex h-full min-h-0 flex-col gap-16\">\n <div className=\"grid grid-cols-2 gap-12\">\n {themePreviewSectionOptions.map((sectionOption) => {\n const isActive = sectionOption.key === activeSection;\n\n return (\n <ButtonBase\n key={sectionOption.key}\n onClick={() => onSectionChange(sectionOption.key)}\n className=\"w-full rounded-lg text-left\"\n sx={{\n alignItems: 'flex-start',\n backgroundColor: isActive\n ? themePreviewSelectorStyles.active.backgroundColor\n : themePreviewSelectorStyles.inactive.backgroundColor,\n border: `1px solid ${\n isActive\n ? themePreviewSelectorStyles.active.borderColor\n : themePreviewSelectorStyles.inactive.borderColor\n }`,\n color: isActive\n ? themePreviewSelectorStyles.active.textColor\n : themePreviewSelectorStyles.inactive.textColor,\n p: 2,\n }}\n >\n <div className=\"flex w-full flex-col gap-4\">\n <Typography variant=\"subtitle1\" fontWeight={600}>\n {sectionOption.label}\n </Typography>\n {sectionOption.description ? (\n <Typography\n variant=\"body2\"\n sx={{\n color: isActive\n ? themePreviewSelectorStyles.active.descriptionColor\n : themePreviewSelectorStyles.inactive.descriptionColor,\n }}\n >\n {sectionOption.description}\n </Typography>\n ) : null}\n </div>\n </ButtonBase>\n );\n })}\n </div>\n\n <Paper\n className=\"flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg\"\n sx={{\n backgroundColor: themePreviewControlsPanelBackgroundColor,\n border: `1px solid ${themePreviewControlsPanelBorderColor}`,\n boxShadow: 'none',\n }}\n >\n <div className=\"flex items-center justify-between px-20 py-16\">\n <div className=\"flex min-w-0 flex-1 flex-col gap-14\">\n <Typography variant=\"h6\" sx={{ color: themePreviewControlsTitleColor }}>\n {activeSectionOption?.label}\n </Typography>\n {canSelectPreset ? (\n <div className=\"grid gap-12 md:grid-cols-2\">\n <TextField\n select\n label=\"Mode\"\n value={selectedMode}\n onChange={(event) => {\n onPresetModeChange(event.target.value as ThemePreviewMode);\n }}\n >\n <MenuItem value=\"light\">light</MenuItem>\n <MenuItem value=\"dark\">dark</MenuItem>\n </TextField>\n\n <TextField\n select\n label=\"Preset\"\n value={selectedPresetKey}\n onChange={(event) => {\n onPresetKeyChange(event.target.value);\n }}\n >\n {selectedPresetKey === THEME_PREVIEW_CUSTOM_PRESET_KEY ? (\n <MenuItem value={THEME_PREVIEW_CUSTOM_PRESET_KEY}>custom</MenuItem>\n ) : null}\n {presetOptionsByMode.map((presetOption) => (\n <MenuItem key={presetOption.key} value={presetOption.key}>\n {presetOption.label}\n </MenuItem>\n ))}\n </TextField>\n </div>\n ) : null}\n </div>\n </div>\n\n <Divider\n sx={{\n borderColor: themePreviewControlsPanelBorderColor,\n }}\n />\n\n <div className=\"flex min-h-0 flex-1 flex-col gap-20 overflow-y-auto px-20 py-20\">\n {fieldGroupsWithClusters.map((fieldGroup) => (\n <div key={fieldGroup.key} className=\"flex flex-col gap-12\">\n {fieldGroup.label ? (\n <Typography variant=\"subtitle1\" fontWeight={700}>\n {fieldGroup.label}\n </Typography>\n ) : null}\n <div className=\"grid gap-12\">\n {fieldGroup.fieldClusters.map((fieldCluster) => {\n if (!fieldCluster.label) {\n return fieldCluster.fields.map((fieldDefinition) => (\n <ThemePreviewColorField\n key={fieldDefinition.path}\n definition={fieldDefinition}\n sectionKey={activeSection}\n settings={settings}\n onChange={onPaletteValueChange}\n />\n ));\n }\n\n const clusterStateKey = `${activeSection}:${fieldGroup.key}:${fieldCluster.key}`;\n const isEditableDerivedFieldCluster = Boolean(\n editableDerivedFields[clusterStateKey],\n );\n const autoDerivedFieldPaths = fieldCluster.autoDerivedFieldPaths;\n const canAutoDerive = Boolean(autoDerivedFieldPaths && presetSectionKey);\n\n return (\n <Paper\n key={fieldCluster.key}\n variant=\"outlined\"\n sx={{\n backgroundColor: themePreviewControlsClusterBackgroundColor,\n borderColor: themePreviewControlsClusterBorderColor,\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n p: 1.5,\n }}\n >\n <div className=\"flex items-start justify-between gap-12\">\n <Typography variant=\"body2\" fontWeight={700}>\n {fieldCluster.label}\n </Typography>\n {canAutoDerive ? (\n <FormControlLabel\n className=\"m-0\"\n control={\n <Checkbox\n size=\"small\"\n checked={isEditableDerivedFieldCluster}\n onChange={(event) => {\n const nextChecked = event.target.checked;\n\n setEditableDerivedFields((prevState) => ({\n ...prevState,\n [clusterStateKey]: nextChecked,\n }));\n\n if (nextChecked) {\n return;\n }\n\n if (!presetSectionKey || !autoDerivedFieldPaths) {\n return;\n }\n\n onPaletteValuesChange(\n getAutoDerivedUpdates(\n presetSectionKey,\n autoDerivedFieldPaths,\n getThemePreviewPaletteValue(\n settings,\n activeSection,\n autoDerivedFieldPaths.mainPath,\n ),\n ),\n );\n }}\n />\n }\n label={\n <Typography variant=\"caption\" color=\"text.secondary\">\n Edit derived colors\n </Typography>\n }\n />\n ) : null}\n </div>\n <div className=\"grid gap-12\">\n {fieldCluster.fields.map((fieldDefinition) => {\n const isDisabled = autoDerivedFieldPaths && presetSectionKey\n ? !isEditableDerivedFieldCluster &&\n fieldDefinition.path !== autoDerivedFieldPaths.mainPath\n : false;\n\n return (\n <ThemePreviewColorField\n key={fieldDefinition.path}\n disabled={isDisabled}\n definition={fieldDefinition}\n sectionKey={activeSection}\n settings={settings}\n onChange={(path, value) => {\n if (\n !autoDerivedFieldPaths ||\n !presetSectionKey ||\n isEditableDerivedFieldCluster ||\n path !== autoDerivedFieldPaths.mainPath\n ) {\n onPaletteValueChange(path, value);\n return;\n }\n\n onPaletteValuesChange(\n [\n { path, value },\n ...getAutoDerivedUpdates(\n presetSectionKey,\n autoDerivedFieldPaths,\n value,\n ),\n ],\n );\n }}\n />\n );\n })}\n </div>\n </Paper>\n );\n })}\n </div>\n </div>\n ))}\n </div>\n </Paper>\n </div>\n );\n}\n"],"names":["getThemePreviewFieldClusterLabel","prefix","value","__name","getThemePreviewAutoDerivedFieldPaths","fields","mainField","field","lightField","darkField","contrastTextField","getThemePreviewFieldClusters","fieldGroupsByPrefix","acc","prefixCounts","groupedFields","repeatedPrefixes","count","hasStandaloneField","groupedPrefixes","clusterFields","themePreviewSectionOptionByKey","themePreviewSectionOptions","sectionOption","themePreviewSelectorStyles","themePreviewControlsPanelBorderColor","themePreviewControlsClusterBorderColor","themePreviewControlsClusterBackgroundColor","themePreviewControlsPanelBackgroundColor","themePreviewControlsTitleColor","ThemePreviewControls","activeSection","presetOptions","selectedMode","selectedPresetKey","settings","onSectionChange","onPaletteValueChange","onPaletteValuesChange","onPresetKeyChange","onPresetModeChange","editableDerivedFields","setEditableDerivedFields","useState","canSelectPreset","isThemePreviewCustomSection","presetSectionKey","presetOptionsByMode","useMemo","getThemePreviewPresetOptionsByMode","fieldGroups","themePreviewFieldGroupsBySection","fieldGroupsWithClusters","fieldGroup","activeSectionOption","getAutoDerivedUpdates","sectionKey","autoDerivedFieldPaths","mainValue","commonWhite","getThemePreviewPaletteValue","commonBlack","derivedValues","deriveThemePreviewPaletteGroupValues","item","jsxs","jsx","isActive","ButtonBase","Typography","Paper","TextField","event","MenuItem","THEME_PREVIEW_CUSTOM_PRESET_KEY","presetOption","Divider","fieldCluster","fieldDefinition","ThemePreviewColorField","clusterStateKey","isEditableDerivedFieldCluster","canAutoDerive","FormControlLabel","Checkbox","nextChecked","prevState","isDisabled","path"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemePreviewControls.js","sources":["../../../../src/features/themePreview/components/ThemePreviewControls.tsx"],"sourcesContent":["import {\n Box,\n ButtonBase,\n Checkbox,\n Divider,\n FormControlLabel,\n IconButton,\n MenuItem,\n Paper,\n TextField,\n Typography,\n} from '@mui/material';\nimport RestartAltOutlinedIcon from '@mui/icons-material/RestartAltOutlined';\nimport { createTheme, ThemeProvider } from '@mui/material/styles';\nimport { useMemo, useState } from 'react';\nimport type {\n ThemePreviewFieldDefinition,\n ThemePreviewMode,\n ThemePreviewPresetOption,\n ThemePreviewPresetSectionKey,\n ThemePreviewSectionKey,\n ThemePreviewSectionOption,\n ThemePreviewSettings,\n} from '../types';\nimport {\n deriveThemePreviewPaletteGroupValues,\n getThemePreviewPaletteValue,\n getThemePreviewPresetOptionsByMode,\n isThemePreviewCustomSection,\n THEME_PREVIEW_CUSTOM_PRESET_KEY,\n themePreviewFieldGroupsBySection,\n themePreviewSectionOptions,\n} from '../utils';\nimport { ThemePreviewColorField } from './ThemePreviewColorField';\n\ntype ThemePreviewAutoDerivedFieldPaths = {\n contrastTextPath?: string;\n darkPath?: string;\n lightPath?: string;\n mainPath: string;\n};\n\ntype ThemePreviewFieldCluster = {\n autoDerivedFieldPaths?: ThemePreviewAutoDerivedFieldPaths;\n key: string;\n label?: string;\n fields: ThemePreviewFieldDefinition[];\n};\n\ntype ThemePreviewFieldGroupWithClusters = {\n fieldClusters: ThemePreviewFieldCluster[];\n key: string;\n label: string;\n};\n\ntype ThemePreviewFieldGroupPanel = {\n fieldGroups: ThemePreviewFieldGroupWithClusters[];\n key: string;\n label?: string;\n};\n\nfunction getThemePreviewFieldClusterLabel(prefix: string) {\n return prefix\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/^./, (value) => value.toUpperCase());\n}\n\nfunction getThemePreviewAutoDerivedFieldPaths(\n fields: ThemePreviewFieldDefinition[],\n): ThemePreviewAutoDerivedFieldPaths | null {\n const mainField = fields.find((field) => field.path.endsWith('.main'));\n const lightField = fields.find((field) => field.path.endsWith('.light'));\n const darkField = fields.find((field) => field.path.endsWith('.dark'));\n const contrastTextField = fields.find((field) => field.path.endsWith('.contrastText'));\n\n if (!mainField || (!lightField && !darkField && !contrastTextField)) {\n return null;\n }\n\n return {\n mainPath: mainField.path,\n lightPath: lightField?.path,\n darkPath: darkField?.path,\n contrastTextPath: contrastTextField?.path,\n };\n}\n\nfunction getThemePreviewFieldClusters(fields: ThemePreviewFieldDefinition[]) {\n const fieldGroupsByPrefix = fields.reduce<Record<string, ThemePreviewFieldDefinition[]>>(\n (acc, field) => {\n const prefix = field.path.split('.')[0] ?? '';\n\n if (!prefix) {\n return acc;\n }\n\n if (!acc[prefix]) {\n acc[prefix] = [];\n }\n\n acc[prefix].push(field);\n return acc;\n },\n {},\n );\n const prefixCounts = Object.fromEntries(\n Object.entries(fieldGroupsByPrefix).map(([prefix, groupedFields]) => [\n prefix,\n groupedFields.length,\n ]),\n );\n const repeatedPrefixes = new Set(\n Object.entries(prefixCounts)\n .filter(([, count]) => count > 1)\n .map(([prefix]) => prefix),\n );\n const hasStandaloneField = fields.some(\n (field) => !repeatedPrefixes.has(field.path.split('.')[0] ?? ''),\n );\n const shouldUsePrefixGrouping = repeatedPrefixes.size > 1 || hasStandaloneField;\n\n if (!shouldUsePrefixGrouping) {\n return fields.map<ThemePreviewFieldCluster>((field) => ({\n key: field.path,\n fields: [field],\n }));\n }\n\n const groupedPrefixes = new Set<string>();\n\n return fields.reduce<ThemePreviewFieldCluster[]>((acc, field) => {\n const prefix = field.path.split('.')[0] ?? '';\n\n if (!repeatedPrefixes.has(prefix)) {\n acc.push({\n key: field.path,\n fields: [field],\n });\n return acc;\n }\n\n if (groupedPrefixes.has(prefix)) {\n return acc;\n }\n\n groupedPrefixes.add(prefix);\n const clusterFields = fieldGroupsByPrefix[prefix] ?? [field];\n\n acc.push({\n key: prefix,\n label: getThemePreviewFieldClusterLabel(prefix),\n fields: clusterFields,\n autoDerivedFieldPaths: getThemePreviewAutoDerivedFieldPaths(clusterFields) ?? undefined,\n });\n\n return acc;\n }, []);\n}\n\nconst themePreviewSectionOptionByKey = Object.fromEntries(\n themePreviewSectionOptions.map((sectionOption) => [sectionOption.key, sectionOption]),\n) as Record<ThemePreviewSectionKey, ThemePreviewSectionOption>;\nconst themePreviewSelectorStyles = {\n active: {\n backgroundColor: '#1ea3e6',\n borderColor: '#1591cf',\n descriptionColor: 'rgba(255, 255, 255, 0.92)',\n textColor: '#ffffff',\n },\n inactive: {\n backgroundColor: '#ffffff',\n borderColor: '#d8dee8',\n descriptionColor: '#6b7280',\n textColor: '#111827',\n },\n} as const;\nconst themePreviewControlsPanelBorderColor = '#d8dee8';\nconst themePreviewControlsClusterBorderColor = '#d1d7e0';\nconst themePreviewControlsClusterBackgroundColor = '#f8fafc';\nconst themePreviewControlsPanelBackgroundColor = '#ffffff';\nconst themePreviewControlsTitleColor = '#111827';\nconst themePreviewControlsMutedTextColor = '#6b7280';\nconst themePreviewControlsInputBackgroundColor = '#ffffff';\nconst themePreviewControlsInputBorderColor = '#cbd5e1';\nconst themePreviewControlsInputHoverBorderColor = '#94a3b8';\nconst themePreviewControlsInputFocusBorderColor = '#1ea3e6';\nconst themePreviewControlsButtonBorderColor = '#111827';\nconst themePreviewControlsButtonHoverBackgroundColor = '#f8fafc';\nconst themePreviewControlsSectionPaperBackgroundColor = '#f8fafc';\n\nconst themePreviewControlsTheme = createTheme({\n palette: {\n mode: 'light',\n background: {\n default: themePreviewControlsPanelBackgroundColor,\n paper: themePreviewControlsPanelBackgroundColor,\n },\n divider: themePreviewControlsPanelBorderColor,\n primary: {\n main: themePreviewControlsInputFocusBorderColor,\n },\n secondary: {\n main: themePreviewControlsInputFocusBorderColor,\n },\n text: {\n primary: themePreviewControlsTitleColor,\n secondary: themePreviewControlsMutedTextColor,\n },\n },\n typography: {\n htmlFontSize: 10,\n fontSize: 13,\n body1: {\n fontSize: '1.3rem',\n },\n body2: {\n fontSize: '1.3rem',\n },\n },\n});\n\nconst themePreviewControlsSx = {\n color: themePreviewControlsTitleColor,\n '& .MuiFormHelperText-root': {\n color: themePreviewControlsMutedTextColor,\n },\n '& .MuiInputAdornment-root': {\n color: themePreviewControlsMutedTextColor,\n },\n '& .MuiInputLabel-root': {\n color: themePreviewControlsMutedTextColor,\n },\n '& .MuiInputLabel-root.Mui-focused': {\n color: themePreviewControlsTitleColor,\n },\n '& .MuiInputBase-input': {\n color: themePreviewControlsTitleColor,\n },\n '& .MuiOutlinedInput-root': {\n backgroundColor: themePreviewControlsInputBackgroundColor,\n color: themePreviewControlsTitleColor,\n '& fieldset': {\n borderColor: themePreviewControlsInputBorderColor,\n },\n '&:hover fieldset': {\n borderColor: themePreviewControlsInputHoverBorderColor,\n },\n '&.Mui-focused fieldset': {\n borderColor: themePreviewControlsInputFocusBorderColor,\n borderWidth: 1,\n },\n },\n '& .MuiSelect-icon': {\n color: themePreviewControlsMutedTextColor,\n },\n '& .MuiButton-outlined': {\n backgroundColor: themePreviewControlsInputBackgroundColor,\n borderColor: themePreviewControlsButtonBorderColor,\n color: themePreviewControlsTitleColor,\n '&:hover': {\n backgroundColor: themePreviewControlsButtonHoverBackgroundColor,\n borderColor: themePreviewControlsButtonBorderColor,\n },\n },\n '& .MuiCheckbox-root': {\n color: themePreviewControlsMutedTextColor,\n },\n '& .MuiCheckbox-root.Mui-checked': {\n color: themePreviewControlsInputFocusBorderColor,\n },\n '& .MuiDivider-root': {\n borderColor: themePreviewControlsPanelBorderColor,\n },\n} as const;\n\ninterface ThemePreviewControlsProps {\n activeSection: ThemePreviewSectionKey;\n presetOptions: ThemePreviewPresetOption[];\n selectedMode: ThemePreviewMode;\n selectedPresetKey: string;\n settings: ThemePreviewSettings;\n resetVersion: number;\n onSectionChange: (sectionKey: ThemePreviewSectionKey) => void;\n onPaletteValueChange: (path: string, value: string) => void;\n onPaletteValuesChange: (updates: Array<{ path: string; value: string }>) => void;\n onPaletteValueReset: (path: string) => void;\n onPaletteValuesReset: (paths: string[]) => void;\n onPresetKeyChange: (presetKey: string) => void;\n onPresetModeChange: (mode: ThemePreviewMode) => void;\n}\n\nexport function ThemePreviewControls({\n activeSection,\n presetOptions,\n selectedMode,\n selectedPresetKey,\n settings,\n resetVersion,\n onSectionChange,\n onPaletteValueChange,\n onPaletteValuesChange,\n onPaletteValueReset,\n onPaletteValuesReset,\n onPresetKeyChange,\n onPresetModeChange,\n}: ThemePreviewControlsProps) {\n const [editableDerivedFields, setEditableDerivedFields] = useState<Record<string, boolean>>({});\n const canSelectPreset = !isThemePreviewCustomSection(activeSection);\n const presetSectionKey = canSelectPreset ? (activeSection as ThemePreviewPresetSectionKey) : null;\n const presetOptionsByMode = useMemo(\n () =>\n canSelectPreset && presetSectionKey\n ? getThemePreviewPresetOptionsByMode(presetOptions, presetSectionKey, selectedMode)\n : [],\n [canSelectPreset, presetOptions, presetSectionKey, selectedMode],\n );\n const fieldGroups = themePreviewFieldGroupsBySection[activeSection];\n const fieldGroupsWithClusters = useMemo(\n () =>\n fieldGroups.map((fieldGroup) => ({\n ...fieldGroup,\n fieldClusters: getThemePreviewFieldClusters(fieldGroup.fields),\n })),\n [fieldGroups],\n );\n const fieldGroupPanels = useMemo<ThemePreviewFieldGroupPanel[]>(() => {\n if (activeSection !== 'table') {\n return [\n {\n key: activeSection,\n fieldGroups: fieldGroupsWithClusters,\n },\n ];\n }\n\n const fieldTableGroupKeys = new Set(['tableFieldHeader', 'tableFieldCell']);\n const tableFieldGroups = fieldGroupsWithClusters.filter((fieldGroup) =>\n fieldTableGroupKeys.has(fieldGroup.key),\n );\n const tableBaseGroups = fieldGroupsWithClusters.filter(\n (fieldGroup) => !fieldTableGroupKeys.has(fieldGroup.key),\n );\n\n return [\n {\n key: 'table-field',\n label: 'Field Table',\n fieldGroups: tableFieldGroups,\n },\n {\n key: 'table-base',\n label: 'Table',\n fieldGroups: tableBaseGroups,\n },\n ].filter((panel) => panel.fieldGroups.length > 0);\n }, [activeSection, fieldGroupsWithClusters]);\n const activeSectionOption = themePreviewSectionOptionByKey[activeSection];\n\n const getAutoDerivedUpdates = (\n sectionKey: ThemePreviewPresetSectionKey,\n autoDerivedFieldPaths: ThemePreviewAutoDerivedFieldPaths,\n mainValue: string,\n ) => {\n const commonWhite =\n getThemePreviewPaletteValue(settings, sectionKey, 'common.white') || '#FFFFFF';\n const commonBlack =\n getThemePreviewPaletteValue(settings, sectionKey, 'common.black') || '#111827';\n const derivedValues = deriveThemePreviewPaletteGroupValues(mainValue, {\n whiteTextColor: commonWhite,\n blackTextColor: commonBlack,\n });\n\n if (!derivedValues) {\n return [];\n }\n\n return [\n autoDerivedFieldPaths.lightPath\n ? { path: autoDerivedFieldPaths.lightPath, value: derivedValues.light }\n : null,\n autoDerivedFieldPaths.darkPath\n ? { path: autoDerivedFieldPaths.darkPath, value: derivedValues.dark }\n : null,\n autoDerivedFieldPaths.contrastTextPath\n ? { path: autoDerivedFieldPaths.contrastTextPath, value: derivedValues.contrastText }\n : null,\n ].filter((item): item is { path: string; value: string } => Boolean(item));\n };\n\n const renderFieldGroup = (fieldGroup: ThemePreviewFieldGroupWithClusters) => {\n const groupResetPaths = fieldGroup.fieldClusters.flatMap((fieldCluster) =>\n fieldCluster.fields.map((fieldDefinition) => fieldDefinition.path),\n );\n\n return (\n <div key={fieldGroup.key} className=\"flex flex-col gap-12\">\n {fieldGroup.label ? (\n <div className=\"flex items-center justify-between gap-8\">\n <Typography variant=\"subtitle1\" fontWeight={700}>\n {fieldGroup.label}\n </Typography>\n <IconButton\n size=\"small\"\n aria-label={`${fieldGroup.label} reset`}\n onClick={() => {\n onPaletteValuesReset(groupResetPaths);\n }}\n sx={{\n border: `1px solid ${themePreviewControlsInputBorderColor}`,\n borderRadius: 1,\n color: themePreviewControlsMutedTextColor,\n p: 0.5,\n }}\n >\n <RestartAltOutlinedIcon sx={{ fontSize: 18 }} />\n </IconButton>\n </div>\n ) : null}\n <div className=\"grid gap-12\">\n {fieldGroup.fieldClusters.map((fieldCluster) => {\n if (!fieldCluster.label) {\n return fieldCluster.fields.map((fieldDefinition) => (\n <ThemePreviewColorField\n key={fieldDefinition.path}\n definition={fieldDefinition}\n resetVersion={resetVersion}\n sectionKey={activeSection}\n settings={settings}\n onChange={onPaletteValueChange}\n onReset={onPaletteValueReset}\n />\n ));\n }\n\n const clusterStateKey = `${activeSection}:${fieldGroup.key}:${fieldCluster.key}`;\n const isEditableDerivedFieldCluster = Boolean(\n editableDerivedFields[clusterStateKey],\n );\n const autoDerivedFieldPaths = fieldCluster.autoDerivedFieldPaths;\n const canAutoDerive = Boolean(autoDerivedFieldPaths && presetSectionKey);\n\n return (\n <Paper\n key={fieldCluster.key}\n variant=\"outlined\"\n sx={{\n backgroundColor: themePreviewControlsClusterBackgroundColor,\n borderColor: themePreviewControlsClusterBorderColor,\n display: 'flex',\n flexDirection: 'column',\n gap: 1.5,\n p: 1.5,\n }}\n >\n <div className=\"flex items-start justify-between gap-12\">\n <Typography variant=\"body2\" fontWeight={700}>\n {fieldCluster.label}\n </Typography>\n {canAutoDerive ? (\n <FormControlLabel\n className=\"m-0\"\n control={\n <Checkbox\n size=\"small\"\n checked={isEditableDerivedFieldCluster}\n onChange={(event) => {\n const nextChecked = event.target.checked;\n\n setEditableDerivedFields((prevState) => ({\n ...prevState,\n [clusterStateKey]: nextChecked,\n }));\n\n if (nextChecked) {\n return;\n }\n\n if (!presetSectionKey || !autoDerivedFieldPaths) {\n return;\n }\n\n onPaletteValuesChange(\n getAutoDerivedUpdates(\n presetSectionKey,\n autoDerivedFieldPaths,\n getThemePreviewPaletteValue(\n settings,\n activeSection,\n autoDerivedFieldPaths.mainPath,\n ),\n ),\n );\n }}\n />\n }\n label={\n <Typography variant=\"caption\" color=\"text.secondary\">\n Edit derived colors\n </Typography>\n }\n />\n ) : null}\n </div>\n <div className=\"grid gap-12\">\n {fieldCluster.fields.map((fieldDefinition) => {\n const isDisabled = autoDerivedFieldPaths && presetSectionKey\n ? !isEditableDerivedFieldCluster &&\n fieldDefinition.path !== autoDerivedFieldPaths.mainPath\n : false;\n\n return (\n <ThemePreviewColorField\n key={fieldDefinition.path}\n disabled={isDisabled}\n definition={fieldDefinition}\n resetVersion={resetVersion}\n sectionKey={activeSection}\n settings={settings}\n onChange={(path, value) => {\n if (\n !autoDerivedFieldPaths ||\n !presetSectionKey ||\n isEditableDerivedFieldCluster ||\n path !== autoDerivedFieldPaths.mainPath\n ) {\n onPaletteValueChange(path, value);\n return;\n }\n\n onPaletteValuesChange(\n [\n { path, value },\n ...getAutoDerivedUpdates(\n presetSectionKey,\n autoDerivedFieldPaths,\n value,\n ),\n ],\n );\n }}\n onReset={onPaletteValueReset}\n />\n );\n })}\n </div>\n </Paper>\n );\n })}\n </div>\n </div>\n );\n };\n\n return (\n <ThemeProvider theme={themePreviewControlsTheme}>\n <Box sx={themePreviewControlsSx} className=\"flex h-full min-h-0 flex-col gap-16\">\n <div className=\"grid grid-cols-2 gap-12\">\n {themePreviewSectionOptions.map((sectionOption) => {\n const isActive = sectionOption.key === activeSection;\n\n return (\n <ButtonBase\n key={sectionOption.key}\n onClick={() => onSectionChange(sectionOption.key)}\n className=\"w-full rounded-lg text-left\"\n sx={{\n alignItems: 'flex-start',\n backgroundColor: isActive\n ? themePreviewSelectorStyles.active.backgroundColor\n : themePreviewSelectorStyles.inactive.backgroundColor,\n border: `1px solid ${\n isActive\n ? themePreviewSelectorStyles.active.borderColor\n : themePreviewSelectorStyles.inactive.borderColor\n }`,\n color: isActive\n ? themePreviewSelectorStyles.active.textColor\n : themePreviewSelectorStyles.inactive.textColor,\n p: 2,\n }}\n >\n <div className=\"flex w-full flex-col gap-4\">\n <Typography variant=\"subtitle1\" fontWeight={600}>\n {sectionOption.label}\n </Typography>\n {sectionOption.description ? (\n <Typography\n variant=\"body2\"\n sx={{\n color: isActive\n ? themePreviewSelectorStyles.active.descriptionColor\n : themePreviewSelectorStyles.inactive.descriptionColor,\n }}\n >\n {sectionOption.description}\n </Typography>\n ) : null}\n </div>\n </ButtonBase>\n );\n })}\n </div>\n\n <Paper\n className=\"flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg\"\n sx={{\n backgroundColor: themePreviewControlsPanelBackgroundColor,\n border: `1px solid ${themePreviewControlsPanelBorderColor}`,\n boxShadow: 'none',\n }}\n >\n <div className=\"flex items-center justify-between px-20 py-16\">\n <div className=\"flex min-w-0 flex-1 flex-col gap-14\">\n <Typography variant=\"h6\" sx={{ color: themePreviewControlsTitleColor }}>\n {activeSectionOption?.label}\n </Typography>\n {canSelectPreset ? (\n <div className=\"grid gap-12 md:grid-cols-2\">\n <TextField\n select\n label=\"Mode\"\n value={selectedMode}\n onChange={(event) => {\n onPresetModeChange(event.target.value as ThemePreviewMode);\n }}\n >\n <MenuItem value=\"light\">light</MenuItem>\n <MenuItem value=\"dark\">dark</MenuItem>\n </TextField>\n\n <TextField\n select\n label=\"Preset\"\n value={selectedPresetKey}\n onChange={(event) => {\n onPresetKeyChange(event.target.value);\n }}\n >\n {selectedPresetKey === THEME_PREVIEW_CUSTOM_PRESET_KEY ? (\n <MenuItem value={THEME_PREVIEW_CUSTOM_PRESET_KEY}>custom</MenuItem>\n ) : null}\n {presetOptionsByMode.map((presetOption) => (\n <MenuItem key={presetOption.key} value={presetOption.key}>\n {presetOption.label}\n </MenuItem>\n ))}\n </TextField>\n </div>\n ) : null}\n </div>\n </div>\n\n <Divider\n sx={{\n borderColor: themePreviewControlsPanelBorderColor,\n }}\n />\n\n <div className=\"flex min-h-0 flex-1 flex-col gap-20 overflow-y-auto px-20 py-20\">\n {fieldGroupPanels.map((fieldGroupPanel) => {\n const isTablePanel = activeSection === 'table' && fieldGroupPanels.length > 1;\n\n if (!isTablePanel) {\n return fieldGroupPanel.fieldGroups.map(renderFieldGroup);\n }\n\n return (\n <Paper\n key={fieldGroupPanel.key}\n variant=\"outlined\"\n sx={{\n backgroundColor: themePreviewControlsSectionPaperBackgroundColor,\n borderColor: themePreviewControlsPanelBorderColor,\n boxShadow: 'none',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n p: 2,\n }}\n >\n {fieldGroupPanel.label ? (\n <Typography variant=\"subtitle1\" fontWeight={700}>\n {fieldGroupPanel.label}\n </Typography>\n ) : null}\n <div className=\"grid gap-20\">\n {fieldGroupPanel.fieldGroups.map(renderFieldGroup)}\n </div>\n </Paper>\n );\n })}\n </div>\n </Paper>\n </Box>\n </ThemeProvider>\n );\n}\n"],"names":["getThemePreviewFieldClusterLabel","prefix","value","__name","getThemePreviewAutoDerivedFieldPaths","fields","mainField","field","lightField","darkField","contrastTextField","getThemePreviewFieldClusters","fieldGroupsByPrefix","acc","prefixCounts","groupedFields","repeatedPrefixes","count","hasStandaloneField","groupedPrefixes","clusterFields","themePreviewSectionOptionByKey","themePreviewSectionOptions","sectionOption","themePreviewSelectorStyles","themePreviewControlsPanelBorderColor","themePreviewControlsClusterBorderColor","themePreviewControlsClusterBackgroundColor","themePreviewControlsPanelBackgroundColor","themePreviewControlsTitleColor","themePreviewControlsMutedTextColor","themePreviewControlsInputBackgroundColor","themePreviewControlsInputBorderColor","themePreviewControlsInputHoverBorderColor","themePreviewControlsInputFocusBorderColor","themePreviewControlsButtonBorderColor","themePreviewControlsButtonHoverBackgroundColor","themePreviewControlsSectionPaperBackgroundColor","themePreviewControlsTheme","createTheme","themePreviewControlsSx","ThemePreviewControls","activeSection","presetOptions","selectedMode","selectedPresetKey","settings","resetVersion","onSectionChange","onPaletteValueChange","onPaletteValuesChange","onPaletteValueReset","onPaletteValuesReset","onPresetKeyChange","onPresetModeChange","editableDerivedFields","setEditableDerivedFields","useState","canSelectPreset","isThemePreviewCustomSection","presetSectionKey","presetOptionsByMode","useMemo","getThemePreviewPresetOptionsByMode","fieldGroups","themePreviewFieldGroupsBySection","fieldGroupsWithClusters","fieldGroup","fieldGroupPanels","fieldTableGroupKeys","tableFieldGroups","tableBaseGroups","panel","activeSectionOption","getAutoDerivedUpdates","sectionKey","autoDerivedFieldPaths","mainValue","commonWhite","getThemePreviewPaletteValue","commonBlack","derivedValues","deriveThemePreviewPaletteGroupValues","item","renderFieldGroup","groupResetPaths","fieldCluster","fieldDefinition","jsxs","jsx","Typography","IconButton","RestartAltOutlinedIcon","ThemePreviewColorField","clusterStateKey","isEditableDerivedFieldCluster","canAutoDerive","Paper","FormControlLabel","Checkbox","event","nextChecked","prevState","isDisabled","path","ThemeProvider","Box","isActive","ButtonBase","TextField","MenuItem","THEME_PREVIEW_CUSTOM_PRESET_KEY","presetOption","Divider","fieldGroupPanel"],"mappings":"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"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
import { getContrastRatio as
|
|
4
|
-
import { getThemePreviewPaletteValue as
|
|
5
|
-
const
|
|
1
|
+
var M = Object.defineProperty;
|
|
2
|
+
var l = (e, r) => M(e, "name", { value: r, configurable: !0 });
|
|
3
|
+
import { getContrastRatio as C } from "@mui/material/styles";
|
|
4
|
+
import { getThemePreviewPaletteValue as S } from "../utils/themePreviewSettings.js";
|
|
5
|
+
const y = "#e2e8f0", B = "rounded-lg p-14", H = {
|
|
6
6
|
boxShadow: "none"
|
|
7
|
-
},
|
|
7
|
+
}, O = "ThemePreviewGrid", V = "ThemePreviewReadonlyGrid", N = "#ffffff", x = "rgb(17, 24, 39)", b = ["buttons", "searchHeader"], z = ["부서명", "사용자ID", "성명", "사용여부"], A = ["Dashboard", "Theme Preview", "사용자 관리", "권한 그룹"], P = {
|
|
8
8
|
admin: "관리자",
|
|
9
9
|
impix: "담당자1",
|
|
10
10
|
owp: "담당자2"
|
|
11
|
-
},
|
|
11
|
+
}, D = {
|
|
12
12
|
default: "기본 snackbar 메시지",
|
|
13
13
|
success: "정상적으로 처리되었습니다.",
|
|
14
14
|
info: "확인이 필요한 안내 메시지입니다.",
|
|
15
15
|
warning: "입력값을 다시 확인해주세요.",
|
|
16
16
|
error: "오류가 발생했습니다."
|
|
17
|
-
},
|
|
17
|
+
}, F = { previewValue: "적용 대기" }, Y = {
|
|
18
18
|
departmentName: "생산1팀",
|
|
19
|
-
managerName:
|
|
19
|
+
managerName: P.impix,
|
|
20
20
|
useYn: "사용",
|
|
21
21
|
locationName: "제1공장"
|
|
22
|
-
},
|
|
22
|
+
}, G = [
|
|
23
23
|
[
|
|
24
24
|
{ title: "부서명", key: "departmentName" },
|
|
25
25
|
{ title: "담당자", key: "managerName" }
|
|
@@ -28,37 +28,37 @@ const C = "#e2e8f0", S = "rounded-lg p-14", I = {
|
|
|
28
28
|
{ title: "사용여부", key: "useYn" },
|
|
29
29
|
{ title: "위치", key: "locationName" }
|
|
30
30
|
]
|
|
31
|
-
],
|
|
31
|
+
], K = {
|
|
32
32
|
departmentName: "부서명",
|
|
33
33
|
managerName: "담당자",
|
|
34
34
|
useYn: "사용여부"
|
|
35
|
-
},
|
|
35
|
+
}, m = [
|
|
36
36
|
{
|
|
37
37
|
departmentName: "생산1팀",
|
|
38
|
-
managerName:
|
|
38
|
+
managerName: P.impix,
|
|
39
39
|
useYn: "사용"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
departmentName: "품질팀",
|
|
43
|
-
managerName:
|
|
43
|
+
managerName: P.owp,
|
|
44
44
|
useYn: "사용"
|
|
45
45
|
}
|
|
46
|
-
],
|
|
46
|
+
], U = m.slice(0, 1), L = [
|
|
47
47
|
{ id: "userId", label: "사용자ID", align: "center", valueAlign: "center" },
|
|
48
48
|
{ id: "userName", label: "성명", align: "center", valueAlign: "center" },
|
|
49
49
|
{ id: "useYn", label: "사용여부", align: "center", valueAlign: "center" }
|
|
50
|
-
],
|
|
50
|
+
], W = [
|
|
51
51
|
{
|
|
52
52
|
userId: "impix",
|
|
53
|
-
userName:
|
|
53
|
+
userName: P.impix,
|
|
54
54
|
useYn: "사용"
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
userId: "owp",
|
|
58
|
-
userName:
|
|
58
|
+
userName: P.owp,
|
|
59
59
|
useYn: "미사용"
|
|
60
60
|
}
|
|
61
|
-
],
|
|
61
|
+
], J = W.slice(0, 1), j = [
|
|
62
62
|
{
|
|
63
63
|
"OWP_THEME_PREVIEW.ITEM_NAME": "원자재",
|
|
64
64
|
"OWP_THEME_PREVIEW.REMARK": "초기 점검",
|
|
@@ -87,42 +87,42 @@ const C = "#e2e8f0", S = "rounded-lg p-14", I = {
|
|
|
87
87
|
"OWP_THEME_PREVIEW.WORK_DATE": "2026-04-16",
|
|
88
88
|
CanSelect: 1
|
|
89
89
|
}
|
|
90
|
-
],
|
|
90
|
+
], q = /* @__PURE__ */ l(() => {
|
|
91
91
|
}, "previewNoop");
|
|
92
|
-
function
|
|
92
|
+
function _() {
|
|
93
93
|
return [
|
|
94
|
-
["관리부", "admin",
|
|
95
|
-
["생산1팀", "impix",
|
|
96
|
-
["품질팀", "owp",
|
|
94
|
+
["관리부", "admin", P.admin, "사용"],
|
|
95
|
+
["생산1팀", "impix", P.impix, "사용"],
|
|
96
|
+
["품질팀", "owp", P.owp, "미사용"]
|
|
97
97
|
];
|
|
98
98
|
}
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
function
|
|
99
|
+
l(_, "createGridPreviewRows");
|
|
100
|
+
const Q = _();
|
|
101
|
+
function X(e) {
|
|
102
102
|
const r = JSON.stringify(e ?? {});
|
|
103
103
|
let o = 0;
|
|
104
104
|
for (let t = 0; t < r.length; t += 1)
|
|
105
105
|
o = Math.imul(31, o) + r.charCodeAt(t), o |= 0;
|
|
106
106
|
return Math.abs(o).toString(36);
|
|
107
107
|
}
|
|
108
|
-
|
|
109
|
-
function
|
|
110
|
-
return
|
|
108
|
+
l(X, "createThemePreviewVersionKey");
|
|
109
|
+
function Z(e, r, o) {
|
|
110
|
+
return S(e, r, o);
|
|
111
111
|
}
|
|
112
|
-
|
|
113
|
-
function
|
|
112
|
+
l(Z, "getPaletteValue");
|
|
113
|
+
function n(e) {
|
|
114
114
|
if (typeof e != "string")
|
|
115
115
|
return e;
|
|
116
116
|
const r = e.trim();
|
|
117
117
|
return r || void 0;
|
|
118
118
|
}
|
|
119
|
-
|
|
120
|
-
function
|
|
121
|
-
return r ? 0 :
|
|
119
|
+
l(n, "getThemePreviewStyleValue");
|
|
120
|
+
function h(e, r = !1) {
|
|
121
|
+
return r ? 0 : n(e);
|
|
122
122
|
}
|
|
123
|
-
|
|
124
|
-
function
|
|
125
|
-
const o =
|
|
123
|
+
l(h, "getThemePreviewResolvedBorderRadius");
|
|
124
|
+
function T(e, r = !1) {
|
|
125
|
+
const o = h(
|
|
126
126
|
e.borderRadius,
|
|
127
127
|
r
|
|
128
128
|
);
|
|
@@ -137,12 +137,12 @@ function u(e, r = !1) {
|
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
}
|
|
140
|
-
|
|
141
|
-
function
|
|
142
|
-
var
|
|
143
|
-
const o =
|
|
140
|
+
l(T, "getThemePreviewTableFrameSx");
|
|
141
|
+
function $(e, r = !1) {
|
|
142
|
+
var i, a, d, c;
|
|
143
|
+
const o = n((a = (i = e.field) == null ? void 0 : i.cell) == null ? void 0 : a.backgroundColor), t = n((c = (d = e.field) == null ? void 0 : d.cell) == null ? void 0 : c.fontSize);
|
|
144
144
|
return {
|
|
145
|
-
...
|
|
145
|
+
...T(e, r),
|
|
146
146
|
...(o || t) && {
|
|
147
147
|
"& tbody td": {
|
|
148
148
|
...o && { backgroundColor: o },
|
|
@@ -151,24 +151,30 @@ function J(e, r = !1) {
|
|
|
151
151
|
}
|
|
152
152
|
};
|
|
153
153
|
}
|
|
154
|
-
|
|
155
|
-
function
|
|
156
|
-
var
|
|
157
|
-
const r =
|
|
158
|
-
if (!(!r && !o))
|
|
154
|
+
l($, "getThemePreviewFieldTableSx");
|
|
155
|
+
function ee(e) {
|
|
156
|
+
var a, d, c, s, u, E, g, w;
|
|
157
|
+
const r = n((d = (a = e.field) == null ? void 0 : a.header) == null ? void 0 : d.backgroundColor), o = n((s = (c = e.field) == null ? void 0 : c.header) == null ? void 0 : s.color), t = n((E = (u = e.field) == null ? void 0 : u.header) == null ? void 0 : E.fontSize), i = n((w = (g = e.field) == null ? void 0 : g.header) == null ? void 0 : w.fontWeight);
|
|
158
|
+
if (!(!r && !o && !t && !i))
|
|
159
159
|
return {
|
|
160
160
|
...r && {
|
|
161
|
-
|
|
161
|
+
backgroundColor: r
|
|
162
162
|
},
|
|
163
163
|
...o && {
|
|
164
|
-
|
|
164
|
+
color: o
|
|
165
|
+
},
|
|
166
|
+
...t && {
|
|
167
|
+
fontSize: t
|
|
168
|
+
},
|
|
169
|
+
...i && {
|
|
170
|
+
fontWeight: i
|
|
165
171
|
}
|
|
166
172
|
};
|
|
167
173
|
}
|
|
168
|
-
|
|
169
|
-
function
|
|
170
|
-
var t,
|
|
171
|
-
const r =
|
|
174
|
+
l(ee, "getThemePreviewFieldTableTitleSx");
|
|
175
|
+
function oe(e) {
|
|
176
|
+
var t, i, a, d;
|
|
177
|
+
const r = n((i = (t = e.field) == null ? void 0 : t.cell) == null ? void 0 : i.backgroundColor), o = n((d = (a = e.field) == null ? void 0 : a.cell) == null ? void 0 : d.fontSize);
|
|
172
178
|
if (!(!r && !o))
|
|
173
179
|
return {
|
|
174
180
|
...r && {
|
|
@@ -179,71 +185,85 @@ function q(e) {
|
|
|
179
185
|
}
|
|
180
186
|
};
|
|
181
187
|
}
|
|
182
|
-
|
|
183
|
-
function
|
|
184
|
-
var
|
|
185
|
-
const o =
|
|
188
|
+
l(oe, "getThemePreviewFieldTableCellSx");
|
|
189
|
+
function re(e, r = !1) {
|
|
190
|
+
var s, u, E, g, w, f;
|
|
191
|
+
const o = n((s = e.header) == null ? void 0 : s.backgroundColor), t = n((u = e.header) == null ? void 0 : u.color), i = n((E = e.header) == null ? void 0 : E.fontSize), a = n((g = e.row) == null ? void 0 : g.backgroundColor), d = n((w = e.row) == null ? void 0 : w.hoverBackgroundColor), c = n((f = e.cell) == null ? void 0 : f.fontSize);
|
|
186
192
|
return {
|
|
187
|
-
...
|
|
188
|
-
...o && {
|
|
193
|
+
...T(e, r),
|
|
194
|
+
...(o || t || i) && {
|
|
195
|
+
"& thead th": {
|
|
196
|
+
...o && { backgroundColor: o },
|
|
197
|
+
...t && { color: t },
|
|
198
|
+
...i && { fontSize: i }
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
...a && {
|
|
189
202
|
"& tbody > .MuiTableRow-root": {
|
|
190
|
-
backgroundColor:
|
|
203
|
+
backgroundColor: a
|
|
191
204
|
}
|
|
192
205
|
},
|
|
193
|
-
...
|
|
206
|
+
...d && {
|
|
194
207
|
"& tbody > .MuiTableRow-root:hover": {
|
|
195
|
-
backgroundColor:
|
|
208
|
+
backgroundColor: d
|
|
196
209
|
}
|
|
197
210
|
},
|
|
198
|
-
...
|
|
211
|
+
...c && {
|
|
199
212
|
"& tbody > .MuiTableRow-root > .MuiTableCell-root": {
|
|
200
|
-
fontSize:
|
|
213
|
+
fontSize: c
|
|
201
214
|
}
|
|
202
215
|
}
|
|
203
216
|
};
|
|
204
217
|
}
|
|
205
|
-
|
|
206
|
-
function
|
|
207
|
-
var
|
|
208
|
-
const o =
|
|
209
|
-
(
|
|
210
|
-
),
|
|
218
|
+
l(re, "getThemePreviewBasicTableSx");
|
|
219
|
+
function te(e, r = !1) {
|
|
220
|
+
var u, E, g, w, f, v, R;
|
|
221
|
+
const o = n((u = e.header) == null ? void 0 : u.backgroundColor), t = n((E = e.header) == null ? void 0 : E.color), i = n((g = e.header) == null ? void 0 : g.fontSize), a = n((w = e.row) == null ? void 0 : w.backgroundColor), d = n((f = e.row) == null ? void 0 : f.hoverBackgroundColor), c = n(
|
|
222
|
+
(v = e.row) == null ? void 0 : v.selectedBackgroundColor
|
|
223
|
+
), s = n((R = e.cell) == null ? void 0 : R.fontSize);
|
|
211
224
|
return {
|
|
212
|
-
...
|
|
213
|
-
...o && {
|
|
225
|
+
...T(e, r),
|
|
226
|
+
...(o || t || i) && {
|
|
227
|
+
"& thead th": {
|
|
228
|
+
...o && { backgroundColor: o },
|
|
229
|
+
...t && { color: t },
|
|
230
|
+
...i && { fontSize: i }
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
...a && {
|
|
214
234
|
"& .MuiTableBody-root > .MuiTableRow-root:not(.Mui-selected)": {
|
|
215
|
-
backgroundColor:
|
|
235
|
+
backgroundColor: a
|
|
216
236
|
}
|
|
217
237
|
},
|
|
218
|
-
...
|
|
238
|
+
...d && {
|
|
219
239
|
"& .MuiTableBody-root > .MuiTableRow-root.MuiTableRow-hover:hover:not(.Mui-selected)": {
|
|
220
|
-
backgroundColor:
|
|
240
|
+
backgroundColor: d
|
|
221
241
|
}
|
|
222
242
|
},
|
|
223
|
-
...
|
|
243
|
+
...c && {
|
|
224
244
|
"& .MuiTableBody-root > .MuiTableRow-root.Mui-selected, & .MuiTableBody-root > .MuiTableRow-root.Mui-selected:hover": {
|
|
225
|
-
backgroundColor:
|
|
245
|
+
backgroundColor: c
|
|
226
246
|
}
|
|
227
247
|
},
|
|
228
|
-
...
|
|
248
|
+
...s && {
|
|
229
249
|
"& .MuiTableBody-root > .MuiTableRow-root > .MuiTableCell-root": {
|
|
230
|
-
fontSize:
|
|
250
|
+
fontSize: s
|
|
231
251
|
}
|
|
232
252
|
}
|
|
233
253
|
};
|
|
234
254
|
}
|
|
235
|
-
|
|
236
|
-
function
|
|
237
|
-
const o = "#ffffff", t = "#0f172a",
|
|
238
|
-
return
|
|
255
|
+
l(te, "getThemePreviewDataTableSx");
|
|
256
|
+
function ne(e, r) {
|
|
257
|
+
const o = "#ffffff", t = "#0f172a", i = C(e, o), a = C(e, t);
|
|
258
|
+
return i === a ? r : i > a ? o : t;
|
|
239
259
|
}
|
|
240
|
-
|
|
241
|
-
function
|
|
260
|
+
l(ne, "getPreviewContrastColor");
|
|
261
|
+
function ie(e) {
|
|
242
262
|
switch (e) {
|
|
243
263
|
case "main":
|
|
244
264
|
case "navbar":
|
|
245
265
|
case "toolbar":
|
|
246
|
-
return [...
|
|
266
|
+
return [...b];
|
|
247
267
|
case "grid":
|
|
248
268
|
return ["grid"];
|
|
249
269
|
case "snackbar":
|
|
@@ -251,46 +271,46 @@ function $(e) {
|
|
|
251
271
|
case "table":
|
|
252
272
|
return ["tables"];
|
|
253
273
|
default:
|
|
254
|
-
return [...
|
|
274
|
+
return [...b];
|
|
255
275
|
}
|
|
256
276
|
}
|
|
257
|
-
|
|
277
|
+
l(ie, "getPreviewSectionOrder");
|
|
258
278
|
export {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
279
|
+
X as createThemePreviewVersionKey,
|
|
280
|
+
L as dataTablePreviewHeadCells,
|
|
281
|
+
W as dataTablePreviewRows,
|
|
282
|
+
b as defaultPreviewSectionOrder,
|
|
283
|
+
Z as getPaletteValue,
|
|
284
|
+
ne as getPreviewContrastColor,
|
|
285
|
+
ie as getPreviewSectionOrder,
|
|
286
|
+
re as getThemePreviewBasicTableSx,
|
|
287
|
+
te as getThemePreviewDataTableSx,
|
|
288
|
+
oe as getThemePreviewFieldTableCellSx,
|
|
289
|
+
$ as getThemePreviewFieldTableSx,
|
|
290
|
+
ee as getThemePreviewFieldTableTitleSx,
|
|
291
|
+
h as getThemePreviewResolvedBorderRadius,
|
|
292
|
+
n as getThemePreviewStyleValue,
|
|
293
|
+
T as getThemePreviewTableFrameSx,
|
|
294
|
+
j as gridCanvasPreviewRows,
|
|
295
|
+
N as gridPreviewBodyBackground,
|
|
296
|
+
x as gridPreviewBodyText,
|
|
297
|
+
z as gridPreviewColumnLabels,
|
|
298
|
+
Q as gridPreviewRows,
|
|
299
|
+
J as gridStyledDataTablePreviewRows,
|
|
300
|
+
U as gridStyledTablePreviewRows,
|
|
301
|
+
A as navbarPreviewItems,
|
|
302
|
+
y as previewChromeBorder,
|
|
303
|
+
H as previewInnerCardSx,
|
|
304
|
+
q as previewNoop,
|
|
305
|
+
B as previewSectionCardClassName,
|
|
306
|
+
P as previewUserNameById,
|
|
307
|
+
F as searchHeaderPreviewData,
|
|
308
|
+
D as snackbarPreviewMessageByVariant,
|
|
309
|
+
Y as tableFieldPreviewData,
|
|
310
|
+
G as tableFieldPreviewLayout,
|
|
311
|
+
K as tablePreviewHeaders,
|
|
312
|
+
m as tablePreviewRows,
|
|
313
|
+
O as themePreviewEditableTreeGridId,
|
|
314
|
+
V as themePreviewReadonlyTreeGridId
|
|
295
315
|
};
|
|
296
316
|
//# sourceMappingURL=themePreviewCanvas.shared.js.map
|