@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.
Files changed (78) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +2 -2
  6. package/dist/_virtual/index16.js +4 -4
  7. package/dist/_virtual/index17.js +4 -4
  8. package/dist/_virtual/index18.js +4 -4
  9. package/dist/_virtual/index19.js +4 -4
  10. package/dist/_virtual/index20.js +2 -2
  11. package/dist/_virtual/index21.js +2 -2
  12. package/dist/_virtual/index22.js +2 -2
  13. package/dist/_virtual/index5.js +2 -2
  14. package/dist/components/OwpDialog/OwpDialog.js +67 -46
  15. package/dist/components/OwpDialog/OwpDialog.js.map +1 -1
  16. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js +162 -153
  17. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -1
  18. package/dist/components/OwpTable/OwpDataTable.js +297 -283
  19. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  20. package/dist/components/OwpTable/OwpFieldTable.js +98 -86
  21. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  22. package/dist/components/OwpTable/OwpTable.js +145 -127
  23. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  24. package/dist/components/OwpTable/internal/defaultTableStyle.js +21 -15
  25. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  26. package/dist/constants/tableTheme.js.map +1 -1
  27. package/dist/features/themePreview/components/ThemePreviewCanvas.js +300 -263
  28. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  29. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js +148 -141
  30. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -1
  31. package/dist/features/themePreview/components/ThemePreviewColorField.js +169 -138
  32. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
  33. package/dist/features/themePreview/components/ThemePreviewControls.js +370 -212
  34. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
  35. package/dist/features/themePreview/components/themePreviewCanvas.shared.js +145 -125
  36. package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -1
  37. package/dist/features/themePreview/configs/table.js +4 -2
  38. package/dist/features/themePreview/configs/table.js.map +1 -1
  39. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js +124 -118
  40. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
  41. package/dist/features/themePreview/hooks/useThemePreview.js +257 -190
  42. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  43. package/dist/features/themePreview/utils/themePreviewDefinitions.js +8 -0
  44. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
  45. package/dist/layout/components/toggles/NavigationSearchToggle.js +3 -3
  46. package/dist/layout/components/toolbar/ToolbarLayout.js +36 -35
  47. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  48. 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
  49. 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
  50. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js +1 -1
  51. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js +1 -1
  52. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  53. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  54. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  55. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  56. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  57. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  58. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  59. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  60. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  61. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  62. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  63. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  64. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  65. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  66. 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
  67. package/dist/owp-app.css +1 -1
  68. package/dist/types/components/OwpDialog/OwpDialog.d.ts +2 -0
  69. package/dist/types/components/OwpTable/OwpFieldTable.d.ts +3 -2
  70. package/dist/types/components/OwpTable/internal/defaultTableStyle.d.ts +2 -0
  71. package/dist/types/constants/tableTheme.d.ts +1 -0
  72. package/dist/types/features/themePreview/components/ThemePreviewColorField.d.ts +3 -1
  73. package/dist/types/features/themePreview/components/ThemePreviewControls.d.ts +4 -1
  74. package/dist/types/features/themePreview/configs/settings.d.ts +2 -0
  75. package/dist/types/features/themePreview/configs/table.d.ts +2 -0
  76. package/dist/types/features/themePreview/hooks/useThemePreview.d.ts +3 -0
  77. package/dist/types/types/OwpTableThemeTypes.d.ts +8 -0
  78. 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":";;;;;;;;;AA6CA,SAASA,EAAiCC,GAAgB;AACxD,SAAOA,EACJ,QAAQ,sBAAsB,OAAO,EACrC,QAAQ,MAAM,CAACC,MAAUA,EAAM,YAAA,CAAa;AACjD;AAJSC,EAAAH,GAAA;AAMT,SAASI,GACPC,GAC0C;AAC1C,QAAMC,IAAYD,EAAO,KAAK,CAACE,MAAUA,EAAM,KAAK,SAAS,OAAO,CAAC,GAC/DC,IAAaH,EAAO,KAAK,CAACE,MAAUA,EAAM,KAAK,SAAS,QAAQ,CAAC,GACjEE,IAAYJ,EAAO,KAAK,CAACE,MAAUA,EAAM,KAAK,SAAS,OAAO,CAAC,GAC/DG,IAAoBL,EAAO,KAAK,CAACE,MAAUA,EAAM,KAAK,SAAS,eAAe,CAAC;AAErF,SAAI,CAACD,KAAc,CAACE,KAAc,CAACC,KAAa,CAACC,IACxC,OAGF;AAAA,IACL,UAAUJ,EAAU;AAAA,IACpB,WAAWE,KAAA,gBAAAA,EAAY;AAAA,IACvB,UAAUC,KAAA,gBAAAA,EAAW;AAAA,IACrB,kBAAkBC,KAAA,gBAAAA,EAAmB;AAAA,EAAA;AAEzC;AAlBSP,EAAAC,IAAA;AAoBT,SAASO,GAA6BN,GAAuC;AAC3E,QAAMO,IAAsBP,EAAO;AAAA,IACjC,CAACQ,GAAKN,MAAU;AACd,YAAMN,IAASM,EAAM,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK;AAE3C,aAAKN,MAIAY,EAAIZ,CAAM,MACbY,EAAIZ,CAAM,IAAI,CAAA,IAGhBY,EAAIZ,CAAM,EAAE,KAAKM,CAAK,IACfM;AAAA,IACT;AAAA,IACA,CAAA;AAAA,EAAC,GAEGC,IAAe,OAAO;AAAA,IAC1B,OAAO,QAAQF,CAAmB,EAAE,IAAI,CAAC,CAACX,GAAQc,CAAa,MAAM;AAAA,MACnEd;AAAA,MACAc,EAAc;AAAA,IAAA,CACf;AAAA,EAAA,GAEGC,IAAmB,IAAI;AAAA,IAC3B,OAAO,QAAQF,CAAY,EACxB,OAAO,CAAC,CAAA,EAAGG,CAAK,MAAMA,IAAQ,CAAC,EAC/B,IAAI,CAAC,CAAChB,CAAM,MAAMA,CAAM;AAAA,EAAA,GAEvBiB,IAAqBb,EAAO;AAAA,IAChC,CAACE,MAAU,CAACS,EAAiB,IAAIT,EAAM,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AAAA,EAAA;AAIjE,MAAI,EAF4BS,EAAiB,OAAO,KAAKE;AAG3D,WAAOb,EAAO,IAA8B,CAACE,OAAW;AAAA,MACtD,KAAKA,EAAM;AAAA,MACX,QAAQ,CAACA,CAAK;AAAA,IAAA,EACd;AAGJ,QAAMY,wBAAsB,IAAA;AAE5B,SAAOd,EAAO,OAAmC,CAACQ,GAAKN,MAAU;AAC/D,UAAMN,IAASM,EAAM,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK;AAE3C,QAAI,CAACS,EAAiB,IAAIf,CAAM;AAC9B,aAAAY,EAAI,KAAK;AAAA,QACP,KAAKN,EAAM;AAAA,QACX,QAAQ,CAACA,CAAK;AAAA,MAAA,CACf,GACMM;AAGT,QAAIM,EAAgB,IAAIlB,CAAM;AAC5B,aAAOY;AAGT,IAAAM,EAAgB,IAAIlB,CAAM;AAC1B,UAAMmB,IAAgBR,EAAoBX,CAAM,KAAK,CAACM,CAAK;AAE3D,WAAAM,EAAI,KAAK;AAAA,MACP,KAAKZ;AAAA,MACL,OAAOD,EAAiCC,CAAM;AAAA,MAC9C,QAAQmB;AAAA,MACR,uBAAuBhB,GAAqCgB,CAAa,KAAK;AAAA,IAAA,CAC/E,GAEMP;AAAA,EACT,GAAG,CAAA,CAAE;AACP;AAtESV,EAAAQ,IAAA;AAwET,MAAMU,KAAiC,OAAO;AAAA,EAC5CC,EAA2B,IAAI,CAACC,MAAkB,CAACA,EAAc,KAAKA,CAAa,CAAC;AACtF,GACMC,IAA6B;AAAA,EACjC,QAAQ;AAAA,IACN,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,WAAW;AAAA,EAAA;AAAA,EAEb,UAAU;AAAA,IACR,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,WAAW;AAAA,EAAA;AAEf,GACMC,IAAuC,WACvCC,KAAyC,WACzCC,KAA6C,WAC7CC,KAA2C,WAC3CC,KAAiC;AAehC,SAASC,GAAqB;AAAA,EACnC,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,oBAAAC;AACF,GAA8B;AAC5B,QAAM,CAACC,GAAuBC,CAAwB,IAAIC,EAAkC,CAAA,CAAE,GACxFC,IAAkB,CAACC,EAA4Bd,CAAa,GAC5De,IAAmBF,IAAmBb,IAAiD,MACvFgB,IAAsBC;AAAA,IAC1B,MACEJ,KAAmBE,IACfG,EAAmCjB,GAAec,GAAkBb,CAAY,IAChF,CAAA;AAAA,IACN,CAACW,GAAiBZ,GAAec,GAAkBb,CAAY;AAAA,EAAA,GAE3DiB,IAAcC,EAAiCpB,CAAa,GAC5DqB,IAA0BJ;AAAA,IAC9B,MACEE,EAAY,IAAI,CAACG,OAAgB;AAAA,MAC/B,GAAGA;AAAA,MACH,eAAe1C,GAA6B0C,EAAW,MAAM;AAAA,IAAA,EAC7D;AAAA,IACJ,CAACH,CAAW;AAAA,EAAA,GAERI,IAAsBjC,GAA+BU,CAAa,GAElEwB,IAAwB,gBAAApD,EAAA,CAC5BqD,GACAC,GACAC,MACG;AACH,UAAMC,IACJC,EAA4BzB,GAAUqB,GAAY,cAAc,KAAK,WACjEK,IACJD,EAA4BzB,GAAUqB,GAAY,cAAc,KAAK,WACjEM,IAAgBC,EAAqCL,GAAW;AAAA,MACpE,gBAAgBC;AAAA,MAChB,gBAAgBE;AAAA,IAAA,CACjB;AAED,WAAKC,IAIE;AAAA,MACLL,EAAsB,YAClB,EAAE,MAAMA,EAAsB,WAAW,OAAOK,EAAc,MAAA,IAC9D;AAAA,MACJL,EAAsB,WAClB,EAAE,MAAMA,EAAsB,UAAU,OAAOK,EAAc,KAAA,IAC7D;AAAA,MACJL,EAAsB,mBAClB,EAAE,MAAMA,EAAsB,kBAAkB,OAAOK,EAAc,iBACrE;AAAA,IAAA,EACJ,OAAO,CAACE,MAAkD,EAAQA,CAAK,IAbhE,CAAA;AAAA,EAcX,GA7B8B;AA+B9B,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAU,2BACZ,UAAA5C,EAA2B,IAAI,CAACC,MAAkB;AACjD,YAAM4C,IAAW5C,EAAc,QAAQQ;AAEvC,aACE,gBAAAmC;AAAA,QAACE;AAAA,QAAA;AAAA,UAEC,SAAS,gBAAAjE,EAAA,MAAMiC,EAAgBb,EAAc,GAAG,GAAvC;AAAA,UACT,WAAU;AAAA,UACV,IAAI;AAAA,YACF,YAAY;AAAA,YACZ,iBAAiB4C,IACb3C,EAA2B,OAAO,kBAClCA,EAA2B,SAAS;AAAA,YACxC,QAAQ,aACN2C,IACI3C,EAA2B,OAAO,cAClCA,EAA2B,SAAS,WAC1C;AAAA,YACA,OAAO2C,IACH3C,EAA2B,OAAO,YAClCA,EAA2B,SAAS;AAAA,YACxC,GAAG;AAAA,UAAA;AAAA,UAGL,UAAA,gBAAAyC,EAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,YAAA,gBAAAC,EAACG,KAAW,SAAQ,aAAY,YAAY,KACzC,YAAc,OACjB;AAAA,YACC9C,EAAc,cACb,gBAAA2C;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,IAAI;AAAA,kBACF,OAAOF,IACH3C,EAA2B,OAAO,mBAClCA,EAA2B,SAAS;AAAA,gBAAA;AAAA,gBAGzC,UAAAD,EAAc;AAAA,cAAA;AAAA,YAAA,IAEf;AAAA,UAAA,EAAA,CACN;AAAA,QAAA;AAAA,QAnCKA,EAAc;AAAA,MAAA;AAAA,IAsCzB,CAAC,EAAA,CACH;AAAA,IAEA,gBAAA0C;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,IAAI;AAAA,UACF,iBAAiB1C;AAAA,UACjB,QAAQ,aAAaH,CAAoC;AAAA,UACzD,WAAW;AAAA,QAAA;AAAA,QAGb,UAAA;AAAA,UAAA,gBAAAyC,EAAC,SAAI,WAAU,iDACb,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,YAAA,gBAAAC,EAACG,GAAA,EAAW,SAAQ,MAAK,IAAI,EAAE,OAAOxC,GAAA,GACnC,UAAAyB,KAAA,gBAAAA,EAAqB,MAAA,CACxB;AAAA,YACCV,IACC,gBAAAqB,EAAC,OAAA,EAAI,WAAU,8BACb,UAAA;AAAA,cAAA,gBAAAA;AAAA,gBAACM;AAAA,gBAAA;AAAA,kBACC,QAAM;AAAA,kBACN,OAAM;AAAA,kBACN,OAAOtC;AAAA,kBACP,UAAU,gBAAA9B,EAAA,CAACqE,MAAU;AACnB,oBAAAhC,EAAmBgC,EAAM,OAAO,KAAyB;AAAA,kBAC3D,GAFU;AAAA,kBAIV,UAAA;AAAA,oBAAA,gBAAAN,EAACO,GAAA,EAAS,OAAM,SAAQ,UAAA,SAAK;AAAA,oBAC7B,gBAAAP,EAACO,GAAA,EAAS,OAAM,QAAO,UAAA,OAAA,CAAI;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAG7B,gBAAAR;AAAA,gBAACM;AAAA,gBAAA;AAAA,kBACC,QAAM;AAAA,kBACN,OAAM;AAAA,kBACN,OAAOrC;AAAA,kBACP,UAAU,gBAAA/B,EAAA,CAACqE,MAAU;AACnB,oBAAAjC,EAAkBiC,EAAM,OAAO,KAAK;AAAA,kBACtC,GAFU;AAAA,kBAIT,UAAA;AAAA,oBAAAtC,MAAsBwC,IACrB,gBAAAR,EAACO,GAAA,EAAS,OAAOC,GAAiC,oBAAM,IACtD;AAAA,oBACH3B,EAAoB,IAAI,CAAC4B,MACxB,gBAAAT,EAACO,GAAA,EAAgC,OAAOE,EAAa,KAClD,UAAAA,EAAa,MAAA,GADDA,EAAa,GAE5B,CACD;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH,EAAA,CACF,IACE;AAAA,UAAA,EAAA,CACN,EAAA,CACF;AAAA,UAEA,gBAAAT;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,gBACF,aAAanD;AAAA,cAAA;AAAA,YACf;AAAA,UAAA;AAAA,UAGF,gBAAAyC,EAAC,OAAA,EAAI,WAAU,mEACZ,UAAAd,EAAwB,IAAI,CAACC,MAC5B,gBAAAY,EAAC,OAAA,EAAyB,WAAU,wBACjC,UAAA;AAAA,YAAAZ,EAAW,0BACTgB,GAAA,EAAW,SAAQ,aAAY,YAAY,KACzC,UAAAhB,EAAW,MAAA,CACd,IACE;AAAA,YACJ,gBAAAa,EAAC,SAAI,WAAU,eACZ,YAAW,cAAc,IAAI,CAACW,MAAiB;AAC9C,kBAAI,CAACA,EAAa;AAChB,uBAAOA,EAAa,OAAO,IAAI,CAACC,MAC9B,gBAAAZ;AAAA,kBAACa;AAAA,kBAAA;AAAA,oBAEC,YAAYD;AAAA,oBACZ,YAAY/C;AAAA,oBACZ,UAAAI;AAAA,oBACA,UAAUE;AAAA,kBAAA;AAAA,kBAJLyC,EAAgB;AAAA,gBAAA,CAMxB;AAGH,oBAAME,IAAkB,GAAGjD,CAAa,IAAIsB,EAAW,GAAG,IAAIwB,EAAa,GAAG,IACxEI,IAAgC,EACpCxC,EAAsBuC,CAAe,GAEjCvB,IAAwBoB,EAAa,uBACrCK,IAAgB,GAAQzB,KAAyBX;AAEvD,qBACE,gBAAAmB;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBAEC,SAAQ;AAAA,kBACR,IAAI;AAAA,oBACF,iBAAiB3C;AAAA,oBACjB,aAAaD;AAAA,oBACb,SAAS;AAAA,oBACT,eAAe;AAAA,oBACf,KAAK;AAAA,oBACL,GAAG;AAAA,kBAAA;AAAA,kBAGL,UAAA;AAAA,oBAAA,gBAAAuC,EAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,sBAAA,gBAAAC,EAACG,KAAW,SAAQ,SAAQ,YAAY,KACrC,YAAa,OAChB;AAAA,sBACCa,IACC,gBAAAhB;AAAA,wBAACiB;AAAA,wBAAA;AAAA,0BACC,WAAU;AAAA,0BACV,SACE,gBAAAjB;AAAA,4BAACkB;AAAA,4BAAA;AAAA,8BACC,MAAK;AAAA,8BACL,SAASH;AAAA,8BACT,UAAU,gBAAA9E,EAAA,CAACqE,MAAU;AACnB,sCAAMa,IAAcb,EAAM,OAAO;AAOjC,gCALA9B,EAAyB,CAAC4C,OAAe;AAAA,kCACvC,GAAGA;AAAA,kCACH,CAACN,CAAe,GAAGK;AAAA,gCAAA,EACnB,GAEE,CAAAA,MAIA,CAACvC,KAAoB,CAACW,KAI1BnB;AAAA,kCACEiB;AAAA,oCACET;AAAA,oCACAW;AAAA,oCACAG;AAAA,sCACEzB;AAAA,sCACAJ;AAAA,sCACA0B,EAAsB;AAAA,oCAAA;AAAA,kCACxB;AAAA,gCACF;AAAA,8BAEJ,GA3BU;AAAA,4BA2BV;AAAA,0BAAA;AAAA,0BAGJ,OACE,gBAAAS,EAACG,GAAA,EAAW,SAAQ,WAAU,OAAM,kBAAiB,UAAA,sBAAA,CAErD;AAAA,wBAAA;AAAA,sBAAA,IAGF;AAAA,oBAAA,GACN;AAAA,oBACA,gBAAAH,EAAC,SAAI,WAAU,eACZ,YAAa,OAAO,IAAI,CAACY,MAAoB;AAC5C,4BAAMS,IAAa9B,KAAyBX,IACxC,CAACmC,KACDH,EAAgB,SAASrB,EAAsB,WAC/C;AAEJ,6BACE,gBAAAS;AAAA,wBAACa;AAAA,wBAAA;AAAA,0BAEC,UAAUQ;AAAA,0BACV,YAAYT;AAAA,0BACZ,YAAY/C;AAAA,0BACZ,UAAAI;AAAA,0BACA,UAAU,gBAAAhC,EAAA,CAACqF,GAAMtF,MAAU;AACzB,gCACE,CAACuD,KACD,CAACX,KACDmC,KACAO,MAAS/B,EAAsB,UAC/B;AACA,8BAAApB,EAAqBmD,GAAMtF,CAAK;AAChC;AAAA,4BACF;AAEA,4BAAAoC;AAAA,8BACE;AAAA,gCACE,EAAE,MAAAkD,GAAM,OAAAtF,EAAA;AAAA,gCACR,GAAGqD;AAAA,kCACDT;AAAA,kCACAW;AAAA,kCACAvD;AAAA,gCAAA;AAAA,8BACF;AAAA,4BACF;AAAA,0BAEJ,GArBU;AAAA,wBAqBV;AAAA,wBA1BK4E,EAAgB;AAAA,sBAAA;AAAA,oBA6B3B,CAAC,EAAA,CACH;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAnGKD,EAAa;AAAA,cAAA;AAAA,YAsGxB,CAAC,EAAA,CACH;AAAA,UAAA,KApIQxB,EAAW,GAqIrB,CACD,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AArTgBlD,EAAA2B,IAAA;"}
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 f = Object.defineProperty;
2
- var a = (e, r) => f(e, "name", { value: r, configurable: !0 });
3
- import { getContrastRatio as P } from "@mui/material/styles";
4
- import { getThemePreviewPaletteValue as g } from "../utils/themePreviewSettings.js";
5
- const C = "#e2e8f0", S = "rounded-lg p-14", I = {
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
- }, p = "ThemePreviewGrid", h = "ThemePreviewReadonlyGrid", k = "#ffffff", y = "rgb(17, 24, 39)", T = ["buttons", "searchHeader"], H = ["부서명", "사용자ID", "성명", "사용여부"], O = ["Dashboard", "Theme Preview", "사용자 관리", "권한 그룹"], s = {
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
- }, V = {
11
+ }, D = {
12
12
  default: "기본 snackbar 메시지",
13
13
  success: "정상적으로 처리되었습니다.",
14
14
  info: "확인이 필요한 안내 메시지입니다.",
15
15
  warning: "입력값을 다시 확인해주세요.",
16
16
  error: "오류가 발생했습니다."
17
- }, B = { previewValue: "적용 대기" }, N = {
17
+ }, F = { previewValue: "적용 대기" }, Y = {
18
18
  departmentName: "생산1팀",
19
- managerName: s.impix,
19
+ managerName: P.impix,
20
20
  useYn: "사용",
21
21
  locationName: "제1공장"
22
- }, x = [
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
- ], A = {
31
+ ], K = {
32
32
  departmentName: "부서명",
33
33
  managerName: "담당자",
34
34
  useYn: "사용여부"
35
- }, v = [
35
+ }, m = [
36
36
  {
37
37
  departmentName: "생산1팀",
38
- managerName: s.impix,
38
+ managerName: P.impix,
39
39
  useYn: "사용"
40
40
  },
41
41
  {
42
42
  departmentName: "품질팀",
43
- managerName: s.owp,
43
+ managerName: P.owp,
44
44
  useYn: "사용"
45
45
  }
46
- ], D = v.slice(0, 1), z = [
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
- ], b = [
50
+ ], W = [
51
51
  {
52
52
  userId: "impix",
53
- userName: s.impix,
53
+ userName: P.impix,
54
54
  useYn: "사용"
55
55
  },
56
56
  {
57
57
  userId: "owp",
58
- userName: s.owp,
58
+ userName: P.owp,
59
59
  useYn: "미사용"
60
60
  }
61
- ], F = b.slice(0, 1), Y = [
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
- ], G = /* @__PURE__ */ a(() => {
90
+ ], q = /* @__PURE__ */ l(() => {
91
91
  }, "previewNoop");
92
- function R() {
92
+ function _() {
93
93
  return [
94
- ["관리부", "admin", s.admin, "사용"],
95
- ["생산1팀", "impix", s.impix, "사용"],
96
- ["품질팀", "owp", s.owp, "미사용"]
94
+ ["관리부", "admin", P.admin, "사용"],
95
+ ["생산1팀", "impix", P.impix, "사용"],
96
+ ["품질팀", "owp", P.owp, "미사용"]
97
97
  ];
98
98
  }
99
- a(R, "createGridPreviewRows");
100
- const K = R();
101
- function U(e) {
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
- a(U, "createThemePreviewVersionKey");
109
- function L(e, r, o) {
110
- return g(e, r, o);
108
+ l(X, "createThemePreviewVersionKey");
109
+ function Z(e, r, o) {
110
+ return S(e, r, o);
111
111
  }
112
- a(L, "getPaletteValue");
113
- function c(e) {
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
- a(c, "getThemePreviewStyleValue");
120
- function m(e, r = !1) {
121
- return r ? 0 : c(e);
119
+ l(n, "getThemePreviewStyleValue");
120
+ function h(e, r = !1) {
121
+ return r ? 0 : n(e);
122
122
  }
123
- a(m, "getThemePreviewResolvedBorderRadius");
124
- function u(e, r = !1) {
125
- const o = m(
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
- a(u, "getThemePreviewTableFrameSx");
141
- function J(e, r = !1) {
142
- var n, i, l, d;
143
- const o = c((i = (n = e.field) == null ? void 0 : n.cell) == null ? void 0 : i.backgroundColor), t = c((d = (l = e.field) == null ? void 0 : l.cell) == null ? void 0 : d.fontSize);
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
- ...u(e, r),
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
- a(J, "getThemePreviewFieldTableSx");
155
- function j(e) {
156
- var t, n, i, l;
157
- const r = c((n = (t = e.field) == null ? void 0 : t.header) == null ? void 0 : n.fontSize), o = c((l = (i = e.field) == null ? void 0 : i.header) == null ? void 0 : l.fontWeight);
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
- fontSize: r
161
+ backgroundColor: r
162
162
  },
163
163
  ...o && {
164
- fontWeight: o
164
+ color: o
165
+ },
166
+ ...t && {
167
+ fontSize: t
168
+ },
169
+ ...i && {
170
+ fontWeight: i
165
171
  }
166
172
  };
167
173
  }
168
- a(j, "getThemePreviewFieldTableTitleSx");
169
- function q(e) {
170
- var t, n, i, l;
171
- const r = c((n = (t = e.field) == null ? void 0 : t.cell) == null ? void 0 : n.backgroundColor), o = c((l = (i = e.field) == null ? void 0 : i.cell) == null ? void 0 : l.fontSize);
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
- a(q, "getThemePreviewFieldTableCellSx");
183
- function Q(e, r = !1) {
184
- var i, l, d;
185
- const o = c((i = e.row) == null ? void 0 : i.backgroundColor), t = c((l = e.row) == null ? void 0 : l.hoverBackgroundColor), n = c((d = e.cell) == null ? void 0 : d.fontSize);
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
- ...u(e, r),
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: o
203
+ backgroundColor: a
191
204
  }
192
205
  },
193
- ...t && {
206
+ ...d && {
194
207
  "& tbody > .MuiTableRow-root:hover": {
195
- backgroundColor: t
208
+ backgroundColor: d
196
209
  }
197
210
  },
198
- ...n && {
211
+ ...c && {
199
212
  "& tbody > .MuiTableRow-root > .MuiTableCell-root": {
200
- fontSize: n
213
+ fontSize: c
201
214
  }
202
215
  }
203
216
  };
204
217
  }
205
- a(Q, "getThemePreviewBasicTableSx");
206
- function X(e, r = !1) {
207
- var l, d, E, w;
208
- const o = c((l = e.row) == null ? void 0 : l.backgroundColor), t = c((d = e.row) == null ? void 0 : d.hoverBackgroundColor), n = c(
209
- (E = e.row) == null ? void 0 : E.selectedBackgroundColor
210
- ), i = c((w = e.cell) == null ? void 0 : w.fontSize);
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
- ...u(e, r),
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: o
235
+ backgroundColor: a
216
236
  }
217
237
  },
218
- ...t && {
238
+ ...d && {
219
239
  "& .MuiTableBody-root > .MuiTableRow-root.MuiTableRow-hover:hover:not(.Mui-selected)": {
220
- backgroundColor: t
240
+ backgroundColor: d
221
241
  }
222
242
  },
223
- ...n && {
243
+ ...c && {
224
244
  "& .MuiTableBody-root > .MuiTableRow-root.Mui-selected, & .MuiTableBody-root > .MuiTableRow-root.Mui-selected:hover": {
225
- backgroundColor: n
245
+ backgroundColor: c
226
246
  }
227
247
  },
228
- ...i && {
248
+ ...s && {
229
249
  "& .MuiTableBody-root > .MuiTableRow-root > .MuiTableCell-root": {
230
- fontSize: i
250
+ fontSize: s
231
251
  }
232
252
  }
233
253
  };
234
254
  }
235
- a(X, "getThemePreviewDataTableSx");
236
- function Z(e, r) {
237
- const o = "#ffffff", t = "#0f172a", n = P(e, o), i = P(e, t);
238
- return n === i ? r : n > i ? o : t;
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
- a(Z, "getPreviewContrastColor");
241
- function $(e) {
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 [...T];
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 [...T];
274
+ return [...b];
255
275
  }
256
276
  }
257
- a($, "getPreviewSectionOrder");
277
+ l(ie, "getPreviewSectionOrder");
258
278
  export {
259
- U as createThemePreviewVersionKey,
260
- z as dataTablePreviewHeadCells,
261
- b as dataTablePreviewRows,
262
- T as defaultPreviewSectionOrder,
263
- L as getPaletteValue,
264
- Z as getPreviewContrastColor,
265
- $ as getPreviewSectionOrder,
266
- Q as getThemePreviewBasicTableSx,
267
- X as getThemePreviewDataTableSx,
268
- q as getThemePreviewFieldTableCellSx,
269
- J as getThemePreviewFieldTableSx,
270
- j as getThemePreviewFieldTableTitleSx,
271
- m as getThemePreviewResolvedBorderRadius,
272
- c as getThemePreviewStyleValue,
273
- u as getThemePreviewTableFrameSx,
274
- Y as gridCanvasPreviewRows,
275
- k as gridPreviewBodyBackground,
276
- y as gridPreviewBodyText,
277
- H as gridPreviewColumnLabels,
278
- K as gridPreviewRows,
279
- F as gridStyledDataTablePreviewRows,
280
- D as gridStyledTablePreviewRows,
281
- O as navbarPreviewItems,
282
- C as previewChromeBorder,
283
- I as previewInnerCardSx,
284
- G as previewNoop,
285
- S as previewSectionCardClassName,
286
- s as previewUserNameById,
287
- B as searchHeaderPreviewData,
288
- V as snackbarPreviewMessageByVariant,
289
- N as tableFieldPreviewData,
290
- x as tableFieldPreviewLayout,
291
- A as tablePreviewHeaders,
292
- v as tablePreviewRows,
293
- p as themePreviewEditableTreeGridId,
294
- h as themePreviewReadonlyTreeGridId
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