@owp/core 2.2.6 → 2.3.0

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 (121) hide show
  1. package/dist/_virtual/index11.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/index16.js +5 -2
  6. package/dist/_virtual/index16.js.map +1 -1
  7. package/dist/_virtual/index17.js +2 -2
  8. package/dist/_virtual/index6.js +2 -5
  9. package/dist/_virtual/index6.js.map +1 -1
  10. package/dist/_virtual/index7.js +2 -2
  11. package/dist/components/OwpLayout/OwpLayout.js +29 -30
  12. package/dist/components/OwpLayout/OwpLayout.js.map +1 -1
  13. package/dist/components/OwpScrollbars/OwpScrollbars.js +16 -17
  14. package/dist/components/OwpScrollbars/OwpScrollbars.js.map +1 -1
  15. package/dist/components/OwpStyleProvider/OwpStyleProvider.js +28 -29
  16. package/dist/components/OwpStyleProvider/OwpStyleProvider.js.map +1 -1
  17. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +80 -74
  18. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  19. package/dist/contexts/OwpCoreProvider.js +22 -36
  20. package/dist/contexts/OwpCoreProvider.js.map +1 -1
  21. package/dist/contexts/OwpStoreProvider.js +9 -9
  22. package/dist/contexts/OwpStoreProvider.js.map +1 -1
  23. package/dist/hooks/useNavbar.js +24 -0
  24. package/dist/hooks/useNavbar.js.map +1 -0
  25. package/dist/hooks/useOwpSettings.js +21 -0
  26. package/dist/hooks/useOwpSettings.js.map +1 -0
  27. package/dist/hooks.js +75 -62
  28. package/dist/hooks.js.map +1 -1
  29. package/dist/layout/Layout.js +28 -29
  30. package/dist/layout/Layout.js.map +1 -1
  31. package/dist/layout/components/layouts/FooterLayout.js +15 -16
  32. package/dist/layout/components/layouts/FooterLayout.js.map +1 -1
  33. package/dist/layout/components/layouts/NavbarToggleFabLayout.js +21 -18
  34. package/dist/layout/components/layouts/NavbarToggleFabLayout.js.map +1 -1
  35. package/dist/layout/components/layouts/NavbarWrapperLayout.js +20 -21
  36. package/dist/layout/components/layouts/NavbarWrapperLayout.js.map +1 -1
  37. package/dist/layout/components/navbar/NavbarPinToggleButton.js +10 -11
  38. package/dist/layout/components/navbar/NavbarPinToggleButton.js.map +1 -1
  39. package/dist/layout/components/navbar/NavbarToggleButton.js +31 -32
  40. package/dist/layout/components/navbar/NavbarToggleButton.js.map +1 -1
  41. package/dist/layout/components/navbar/style/NavbarStyle.js +36 -37
  42. package/dist/layout/components/navbar/style/NavbarStyle.js.map +1 -1
  43. package/dist/layout/components/navbar/style/NavbarStyleContent.js +29 -30
  44. package/dist/layout/components/navbar/style/NavbarStyleContent.js.map +1 -1
  45. package/dist/layout/components/navigation/Navigation.js +18 -22
  46. package/dist/layout/components/navigation/Navigation.js.map +1 -1
  47. package/dist/layout/components/toggles/NavigationSearchToggle.js +55 -60
  48. package/dist/layout/components/toggles/NavigationSearchToggle.js.map +1 -1
  49. package/dist/layout/components/toggles/NavigationShortcutsToggle.js +44 -49
  50. package/dist/layout/components/toggles/NavigationShortcutsToggle.js.map +1 -1
  51. package/dist/layout/components/toolbar/ToolbarLayout.js +26 -27
  52. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  53. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  54. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  55. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  56. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  57. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  58. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  59. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  60. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  61. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  62. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  63. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  64. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  65. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  66. package/dist/node_modules/.pnpm/react-imask@7.6.1_react@19.2.4/node_modules/react-imask/esm/mixin.js +1 -1
  67. 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
  68. package/dist/store/atoms/navbarAtoms.js +84 -0
  69. package/dist/store/atoms/navbarAtoms.js.map +1 -0
  70. package/dist/store/atoms/owpSettingsAtoms.js +140 -0
  71. package/dist/store/atoms/owpSettingsAtoms.js.map +1 -0
  72. package/dist/store/atoms/owpStore.js +29 -0
  73. package/dist/store/atoms/owpStore.js.map +1 -0
  74. package/dist/store.js +44 -39
  75. package/dist/store.js.map +1 -1
  76. package/dist/types/components/OwpPicker/internal/DatePickerInput.d.ts +1 -1
  77. package/dist/types/components/OwpTable/OwpTable.d.ts +1 -1
  78. package/dist/types/components/OwpTabs/OwpTab.d.ts +1 -1
  79. package/dist/types/components/OwpTabs/OwpTabs.d.ts +1 -1
  80. package/dist/types/contexts/OwpCoreProvider.d.ts +2 -2
  81. package/dist/types/contexts/OwpStoreProvider.d.ts +4 -4
  82. package/dist/types/hooks/index.d.ts +2 -1
  83. package/dist/types/hooks/useNavbar.d.ts +19 -0
  84. package/dist/types/hooks/useOwpSettings.d.ts +79 -0
  85. package/dist/types/layout/components/navigation/Navigation.d.ts +6 -2
  86. package/dist/types/layout/components/toggles/NavigationSearchToggle.d.ts +5 -2
  87. package/dist/types/layout/components/toggles/NavigationShortcutsToggle.d.ts +5 -2
  88. package/dist/types/store/atoms/index.d.ts +3 -0
  89. package/dist/types/store/atoms/internal/types.d.ts +29 -0
  90. package/dist/types/store/atoms/navbarAtoms.d.ts +48 -0
  91. package/dist/types/store/atoms/owpSettingsAtoms.d.ts +89 -0
  92. package/dist/types/store/atoms/owpStore.d.ts +13 -0
  93. package/dist/types/store/index.d.ts +1 -3
  94. package/package.json +2 -6
  95. package/dist/hooks/useAppStore.js +0 -8
  96. package/dist/hooks/useAppStore.js.map +0 -1
  97. package/dist/store/generateReducersFromSlices.js +0 -18
  98. package/dist/store/generateReducersFromSlices.js.map +0 -1
  99. package/dist/store/lazyLoadedSlices.js +0 -16
  100. package/dist/store/lazyLoadedSlices.js.map +0 -1
  101. package/dist/store/middleware.js +0 -9
  102. package/dist/store/middleware.js.map +0 -1
  103. package/dist/store/navbarSlice.js +0 -71
  104. package/dist/store/navbarSlice.js.map +0 -1
  105. package/dist/store/navigationSlice.js +0 -46
  106. package/dist/store/navigationSlice.js.map +0 -1
  107. package/dist/store/owpSettingsSlice.js +0 -195
  108. package/dist/store/owpSettingsSlice.js.map +0 -1
  109. package/dist/store/store.js +0 -17
  110. package/dist/store/store.js.map +0 -1
  111. package/dist/store/withSlices.js +0 -27
  112. package/dist/store/withSlices.js.map +0 -1
  113. package/dist/types/hooks/useAppStore.d.ts +0 -7
  114. package/dist/types/store/generateReducersFromSlices.d.ts +0 -6
  115. package/dist/types/store/lazyLoadedSlices.d.ts +0 -9
  116. package/dist/types/store/middleware.d.ts +0 -17
  117. package/dist/types/store/navbarSlice.d.ts +0 -22
  118. package/dist/types/store/navigationSlice.d.ts +0 -93
  119. package/dist/types/store/owpSettingsSlice.d.ts +0 -112
  120. package/dist/types/store/store.d.ts +0 -13
  121. package/dist/types/store/withSlices.d.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationShortcutsToggle.js","sources":["../../../../src/layout/components/toggles/NavigationShortcutsToggle.tsx"],"sourcesContent":["import { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetNavigationList } from '@/hooks/useNavigation';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useGetShortcuts, useSetShortcuts } from '@/hooks/useShortcuts';\nimport { navigationSlice } from '@/store/navigationSlice';\nimport { withSlices } from '@/store/withSlices';\nimport type { OwpFlatNavItemType as FlatNavItemType } from '@/types/OwpNavigationTypes';\nimport { OwpNavigationHelper as NavigationHelper } from '@/utils/navigationUtils';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport Box from '@mui/material/Box';\nimport { amber, grey } from '@mui/material/colors';\nimport Divider from '@mui/material/Divider';\nimport IconButton from '@mui/material/IconButton';\nimport Input from '@mui/material/Input';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport clsx from 'clsx';\nimport { find, xor } from 'es-toolkit/compat';\nimport { type ChangeEvent, type MouseEvent, useMemo, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { toolbarToggleSx } from './toggleStyles';\n\ntype NavigationShortcutsToggleProps = {\n className?: string;\n variant?: 'horizontal' | 'vertical';\n};\n\n/**\n * Navigation shortcuts toggle.\n */\nfunction NavigationShortcutsToggle(props: NavigationShortcutsToggleProps) {\n const { variant = 'horizontal', className = '' } = props;\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [addMenu, setAddMenu] = useState<HTMLElement | null>(null);\n const [searchText, setSearchText] = useState('');\n const navigation = useGetNavigationList();\n const setShortcuts = useSetShortcuts();\n const userShortcuts = useGetShortcuts();\n const { t } = useOwpTranslation();\n\n const flatNavigation = useMemo(\n () => NavigationHelper.getFlatNavigation(navigation) as FlatNavItemType[],\n [navigation],\n );\n\n const shortcutItems = useMemo(\n () =>\n userShortcuts\n .map((id) => find(flatNavigation, { id }))\n .filter((item): item is FlatNavItemType => Boolean(item)),\n [flatNavigation, userShortcuts],\n );\n\n const searchResults = useMemo(() => {\n if (!searchText || !flatNavigation) {\n return [];\n }\n\n const normalizedSearchText = searchText.toLowerCase();\n\n return flatNavigation.filter((item) =>\n item?.title?.toLowerCase()?.includes(normalizedSearchText),\n );\n }, [flatNavigation, searchText]);\n\n function addMenuClick(event: MouseEvent<HTMLElement>) {\n setAddMenu(event.currentTarget);\n }\n\n function addMenuClose() {\n setAddMenu(null);\n }\n\n function search(ev: ChangeEvent<HTMLInputElement>) {\n setSearchText(ev.target.value);\n }\n\n function toggleInShortcuts(id: string) {\n let nextShortcuts = [...userShortcuts];\n\n nextShortcuts = xor(nextShortcuts, [id]);\n\n setShortcuts(nextShortcuts);\n }\n\n return (\n <Box\n className={clsx(\n 'flex flex-shrink overflow-hidden',\n variant === 'vertical' ? 'flex-col' : '',\n className,\n )}\n >\n <Box\n className={clsx(\n 'flex flex-1 items-center',\n variant === 'vertical' ? 'flex-col' : 'max-h-36',\n )}\n >\n <Tooltip\n title={t('Title.즐겨찾기 등록/삭제')}\n placement={variant === 'horizontal' ? 'bottom' : 'left'}\n >\n <IconButton\n sx={toolbarToggleSx}\n aria-haspopup=\"true\"\n onClick={addMenuClick}\n >\n <OwpSvgIcon size={20} sx={{ color: amber[600] }}>\n heroicons-solid:star\n </OwpSvgIcon>\n </IconButton>\n </Tooltip>\n </Box>\n\n <Menu\n id=\"add-menu\"\n anchorEl={addMenu}\n open={Boolean(addMenu)}\n onClose={addMenuClose}\n classes={{\n paper: 'min-w-256',\n }}\n TransitionProps={{\n onEntered: () => {\n searchInputRef?.current?.focus();\n },\n onExited: () => {\n setSearchText('');\n },\n }}\n >\n <div className=\"flex justify-between items-center p-16 pt-8\">\n <Input\n inputRef={searchInputRef}\n value={searchText}\n onChange={search}\n placeholder={t('Common.검색')}\n fullWidth\n inputProps={{\n 'aria-label': 'Search',\n }}\n disableUnderline\n />\n <IconButton\n sx={{ color: grey[500] }}\n onClick={() => {\n setSearchText('');\n searchInputRef?.current?.focus();\n }}\n >\n <ClearIcon />\n </IconButton>\n </div>\n\n {(searchText?.length > 0 || shortcutItems?.length > 0) && (\n <Divider sx={{ backgroundColor: grey[500] }} />\n )}\n\n {searchText.length > 0 &&\n searchResults.map((_item) => (\n <ShortcutMenuItem\n shortcuts={userShortcuts}\n key={_item.id}\n item={_item}\n onToggle={() => toggleInShortcuts(_item.id)}\n />\n ))}\n\n {searchText.length !== 0 && searchResults.length === 0 && (\n <Typography color=\"text.secondary\" className=\"p-16 pb-8\">\n {t('Message.검색된 결과가 없습니다...')}\n </Typography>\n )}\n\n {searchText.length === 0 &&\n shortcutItems.map((_item) => (\n <ShortcutMenuItem\n shortcuts={userShortcuts}\n key={_item.id}\n item={_item}\n onToggle={() => toggleInShortcuts(_item.id)}\n />\n ))}\n </Menu>\n </Box>\n );\n}\n\nfunction ShortcutMenuItem(props: {\n shortcuts?: string[];\n item: FlatNavItemType;\n onToggle: () => void;\n}) {\n const { item, onToggle, shortcuts = [] } = props;\n\n if (!item || !item.id) {\n return null;\n }\n\n return (\n <Link to={item.url || ''} role=\"button\">\n <MenuItem key={item.id}>\n <ListItemIcon className=\"min-w-36\">\n {item.icon ? (\n <OwpSvgIcon>{item.icon}</OwpSvgIcon>\n ) : (\n <span className=\"text-center text-2xl font-semibold uppercase\">{item.title[0]}</span>\n )}\n </ListItemIcon>\n <ListItemText primary={item.title} />\n <IconButton\n onClick={(ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n onToggle();\n }}\n size=\"large\"\n >\n <OwpSvgIcon size={20} sx={{ color: amber[600] }}>\n {shortcuts.includes(item.id) ? 'heroicons-solid:star' : 'heroicons-outline:star'}\n </OwpSvgIcon>\n </IconButton>\n </MenuItem>\n </Link>\n );\n}\n\n/**\n * Memoized navigation shortcuts toggle.\n */\nconst NavigationShortcutsToggleWithSlices = withSlices<NavigationShortcutsToggleProps>([\n navigationSlice,\n])(NavigationShortcutsToggle);\n\nexport default NavigationShortcutsToggleWithSlices;\n"],"names":["NavigationShortcutsToggle","props","variant","className","searchInputRef","useRef","addMenu","setAddMenu","useState","searchText","setSearchText","navigation","useGetNavigationList","setShortcuts","useSetShortcuts","userShortcuts","useGetShortcuts","t","useOwpTranslation","flatNavigation","useMemo","NavigationHelper","shortcutItems","id","find","item","searchResults","normalizedSearchText","_b","_a","addMenuClick","event","__name","addMenuClose","search","ev","toggleInShortcuts","nextShortcuts","xor","jsxs","Box","clsx","jsx","Tooltip","IconButton","toolbarToggleSx","OwpSvgIcon","amber","Menu","Input","grey","ClearIcon","Divider","_item","ShortcutMenuItem","Typography","onToggle","shortcuts","Link","MenuItem","ListItemIcon","ListItemText","NavigationShortcutsToggleWithSlices","withSlices","navigationSlice"],"mappings":"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"}
1
+ {"version":3,"file":"NavigationShortcutsToggle.js","sources":["../../../../src/layout/components/toggles/NavigationShortcutsToggle.tsx"],"sourcesContent":["import { OwpSvgIcon } from '@/components/OwpSvgIcon';\nimport { useGetNavigationList } from '@/hooks/useNavigation';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useGetShortcuts, useSetShortcuts } from '@/hooks/useShortcuts';\nimport type { OwpFlatNavItemType as FlatNavItemType } from '@/types/OwpNavigationTypes';\nimport { OwpNavigationHelper as NavigationHelper } from '@/utils/navigationUtils';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport Box from '@mui/material/Box';\nimport { amber, grey } from '@mui/material/colors';\nimport Divider from '@mui/material/Divider';\nimport IconButton from '@mui/material/IconButton';\nimport Input from '@mui/material/Input';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport clsx from 'clsx';\nimport { find, xor } from 'es-toolkit/compat';\nimport { type ChangeEvent, type MouseEvent, useMemo, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { toolbarToggleSx } from './toggleStyles';\n\ntype NavigationShortcutsToggleProps = {\n className?: string;\n variant?: 'horizontal' | 'vertical';\n};\n\n/**\n * Navigation shortcuts toggle.\n */\nfunction NavigationShortcutsToggle(props: NavigationShortcutsToggleProps) {\n const { variant = 'horizontal', className = '' } = props;\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [addMenu, setAddMenu] = useState<HTMLElement | null>(null);\n const [searchText, setSearchText] = useState('');\n const navigation = useGetNavigationList();\n const setShortcuts = useSetShortcuts();\n const userShortcuts = useGetShortcuts();\n const { t } = useOwpTranslation();\n\n const flatNavigation = useMemo(\n () => NavigationHelper.getFlatNavigation(navigation) as FlatNavItemType[],\n [navigation],\n );\n\n const shortcutItems = useMemo(\n () =>\n userShortcuts\n .map((id) => find(flatNavigation, { id }))\n .filter((item): item is FlatNavItemType => Boolean(item)),\n [flatNavigation, userShortcuts],\n );\n\n const searchResults = useMemo(() => {\n if (!searchText || !flatNavigation) {\n return [];\n }\n\n const normalizedSearchText = searchText.toLowerCase();\n\n return flatNavigation.filter((item) =>\n item?.title?.toLowerCase()?.includes(normalizedSearchText),\n );\n }, [flatNavigation, searchText]);\n\n function addMenuClick(event: MouseEvent<HTMLElement>) {\n setAddMenu(event.currentTarget);\n }\n\n function addMenuClose() {\n setAddMenu(null);\n }\n\n function search(ev: ChangeEvent<HTMLInputElement>) {\n setSearchText(ev.target.value);\n }\n\n function toggleInShortcuts(id: string) {\n let nextShortcuts = [...userShortcuts];\n\n nextShortcuts = xor(nextShortcuts, [id]);\n\n setShortcuts(nextShortcuts);\n }\n\n return (\n <Box\n className={clsx(\n 'flex flex-shrink overflow-hidden',\n variant === 'vertical' ? 'flex-col' : '',\n className,\n )}\n >\n <Box\n className={clsx(\n 'flex flex-1 items-center',\n variant === 'vertical' ? 'flex-col' : 'max-h-36',\n )}\n >\n <Tooltip\n title={t('Title.즐겨찾기 등록/삭제')}\n placement={variant === 'horizontal' ? 'bottom' : 'left'}\n >\n <IconButton\n sx={toolbarToggleSx}\n aria-haspopup=\"true\"\n onClick={addMenuClick}\n >\n <OwpSvgIcon size={20} sx={{ color: amber[600] }}>\n heroicons-solid:star\n </OwpSvgIcon>\n </IconButton>\n </Tooltip>\n </Box>\n\n <Menu\n id=\"add-menu\"\n anchorEl={addMenu}\n open={Boolean(addMenu)}\n onClose={addMenuClose}\n classes={{\n paper: 'min-w-256',\n }}\n TransitionProps={{\n onEntered: () => {\n searchInputRef?.current?.focus();\n },\n onExited: () => {\n setSearchText('');\n },\n }}\n >\n <div className=\"flex justify-between items-center p-16 pt-8\">\n <Input\n inputRef={searchInputRef}\n value={searchText}\n onChange={search}\n placeholder={t('Common.검색')}\n fullWidth\n inputProps={{\n 'aria-label': 'Search',\n }}\n disableUnderline\n />\n <IconButton\n sx={{ color: grey[500] }}\n onClick={() => {\n setSearchText('');\n searchInputRef?.current?.focus();\n }}\n >\n <ClearIcon />\n </IconButton>\n </div>\n\n {(searchText?.length > 0 || shortcutItems?.length > 0) && (\n <Divider sx={{ backgroundColor: grey[500] }} />\n )}\n\n {searchText.length > 0 &&\n searchResults.map((_item) => (\n <ShortcutMenuItem\n shortcuts={userShortcuts}\n key={_item.id}\n item={_item}\n onToggle={() => toggleInShortcuts(_item.id)}\n />\n ))}\n\n {searchText.length !== 0 && searchResults.length === 0 && (\n <Typography color=\"text.secondary\" className=\"p-16 pb-8\">\n {t('Message.검색된 결과가 없습니다...')}\n </Typography>\n )}\n\n {searchText.length === 0 &&\n shortcutItems.map((_item) => (\n <ShortcutMenuItem\n shortcuts={userShortcuts}\n key={_item.id}\n item={_item}\n onToggle={() => toggleInShortcuts(_item.id)}\n />\n ))}\n </Menu>\n </Box>\n );\n}\n\nfunction ShortcutMenuItem(props: {\n shortcuts?: string[];\n item: FlatNavItemType;\n onToggle: () => void;\n}) {\n const { item, onToggle, shortcuts = [] } = props;\n\n if (!item || !item.id) {\n return null;\n }\n\n return (\n <Link to={item.url || ''} role=\"button\">\n <MenuItem key={item.id}>\n <ListItemIcon className=\"min-w-36\">\n {item.icon ? (\n <OwpSvgIcon>{item.icon}</OwpSvgIcon>\n ) : (\n <span className=\"text-center text-2xl font-semibold uppercase\">{item.title[0]}</span>\n )}\n </ListItemIcon>\n <ListItemText primary={item.title} />\n <IconButton\n onClick={(ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n onToggle();\n }}\n size=\"large\"\n >\n <OwpSvgIcon size={20} sx={{ color: amber[600] }}>\n {shortcuts.includes(item.id) ? 'heroicons-solid:star' : 'heroicons-outline:star'}\n </OwpSvgIcon>\n </IconButton>\n </MenuItem>\n </Link>\n );\n}\n\n/**\n * Memoized navigation shortcuts toggle.\n */\nexport default NavigationShortcutsToggle;\n"],"names":["NavigationShortcutsToggle","props","variant","className","searchInputRef","useRef","addMenu","setAddMenu","useState","searchText","setSearchText","navigation","useGetNavigationList","setShortcuts","useSetShortcuts","userShortcuts","useGetShortcuts","t","useOwpTranslation","flatNavigation","useMemo","NavigationHelper","shortcutItems","id","find","item","searchResults","normalizedSearchText","_b","_a","addMenuClick","event","__name","addMenuClose","search","ev","toggleInShortcuts","nextShortcuts","xor","jsxs","Box","clsx","jsx","Tooltip","IconButton","toolbarToggleSx","OwpSvgIcon","amber","Menu","Input","grey","ClearIcon","Divider","_item","ShortcutMenuItem","Typography","onToggle","shortcuts","Link","MenuItem","ListItemIcon","ListItemText"],"mappings":"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"}
@@ -1,26 +1,25 @@
1
- var u = Object.defineProperty;
2
- var n = (i, p) => u(i, "name", { value: p, configurable: !0 });
1
+ var c = Object.defineProperty;
2
+ var n = (i, p) => c(i, "name", { value: p, configurable: !0 });
3
3
  import { jsx as a, jsxs as m } from "../../../node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
4
- import { useOwpAppContext as b } from "../../../contexts/OwpAppProvider.js";
5
- import { OwpHidden as c } from "../../../components/OwpHidden/OwpHidden.js";
6
- import { useAppSelector as s } from "../../../hooks/useAppStore.js";
7
- import d from "../navbar/NavbarToggleButton.js";
8
- import { selectOwpCurrentLayoutConfig as f, selectToolbarTheme as g } from "../../../store/owpSettingsSlice.js";
9
- import x from "@mui/material/AppBar";
10
- import h from "@mui/material/Toolbar";
4
+ import { useOwpAppContext as u } from "../../../contexts/OwpAppProvider.js";
5
+ import { OwpHidden as d } from "../../../components/OwpHidden/OwpHidden.js";
6
+ import { useGetCurrentLayoutConfig as b, useGetToolbarTheme as f } from "../../../hooks/useOwpSettings.js";
7
+ import s from "../navbar/NavbarToggleButton.js";
8
+ import g from "@mui/material/AppBar";
9
+ import x from "@mui/material/Toolbar";
11
10
  import { alpha as t, ThemeProvider as v } from "@mui/material/styles";
12
11
  import { clsx as k } from "../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
13
- import { memo as w } from "react";
14
- import y from "../toggles/FullScreenToggle.js";
15
- import T from "../toggles/LanguageSwitcherToggle.js";
16
- import N from "../toggles/LogoutToggle.js";
17
- import S from "../toggles/NavigationSearchToggle.js";
12
+ import { memo as h } from "react";
13
+ import w from "../toggles/FullScreenToggle.js";
14
+ import y from "../toggles/LanguageSwitcherToggle.js";
15
+ import T from "../toggles/LogoutToggle.js";
16
+ import N from "../toggles/NavigationSearchToggle.js";
18
17
  import C from "../toggles/NavigationShortcutsToggle.js";
19
18
  import B from "../../../components/OwpPageBreadcrumb/OwpPageBreadcrumb.js";
20
- function $(i) {
21
- const { className: p } = i, l = s(f), o = s(g), { env: e } = b();
19
+ function S(i) {
20
+ const { className: p } = i, l = b(), o = f(), { env: e } = u();
22
21
  return /* @__PURE__ */ a(v, { theme: o, children: /* @__PURE__ */ a(
23
- x,
22
+ g,
24
23
  {
25
24
  id: "owp-toolbar",
26
25
  className: k("relative z-20 flex border-b", p),
@@ -81,26 +80,26 @@ function $(i) {
81
80
  }), "sx"),
82
81
  position: "static",
83
82
  elevation: 0,
84
- children: /* @__PURE__ */ m(h, { className: "min-h-48 px-6 py-0 md:min-h-64 md:px-[14px]", children: [
83
+ children: /* @__PURE__ */ m(x, { className: "min-h-48 px-6 py-0 md:min-h-64 md:px-[14px]", children: [
85
84
  /* @__PURE__ */ m("div", { className: "flex min-w-0 flex-1 items-center gap-8", children: [
86
- l.navbar.display && l.navbar.position === "left" && /* @__PURE__ */ a(c, { lgUp: !0, children: /* @__PURE__ */ a(d, { className: "mx-0 h-40 w-40 p-0 sm:mx-8" }) }),
85
+ l.navbar.display && l.navbar.position === "left" && /* @__PURE__ */ a(d, { lgUp: !0, children: /* @__PURE__ */ a(s, { className: "mx-0 h-40 w-40 p-0 sm:mx-8" }) }),
87
86
  /* @__PURE__ */ a(B, {})
88
87
  ] }),
89
88
  /* @__PURE__ */ m("div", { className: "flex items-center overflow-x-auto gap-6", children: [
90
- (e == null ? void 0 : e.isI18nEnabled) && (e == null ? void 0 : e.isI18nLanguageSwitcherEnabled) && /* @__PURE__ */ a(T, { canRefresh: !0 }),
91
- /* @__PURE__ */ a(y, {}),
92
- /* @__PURE__ */ a(S, {}),
89
+ (e == null ? void 0 : e.isI18nEnabled) && (e == null ? void 0 : e.isI18nLanguageSwitcherEnabled) && /* @__PURE__ */ a(y, { canRefresh: !0 }),
90
+ /* @__PURE__ */ a(w, {}),
91
+ /* @__PURE__ */ a(N, {}),
93
92
  /* @__PURE__ */ a(C, {}),
94
- !l.navbar.display && /* @__PURE__ */ a(N, {})
93
+ !l.navbar.display && /* @__PURE__ */ a(T, {})
95
94
  ] }),
96
- l.navbar.display && l.navbar.position === "right" && /* @__PURE__ */ a(c, { lgUp: !0, children: /* @__PURE__ */ a(d, { className: "mx-0 h-40 w-40 p-0 sm:mx-8" }) })
95
+ l.navbar.display && l.navbar.position === "right" && /* @__PURE__ */ a(d, { lgUp: !0, children: /* @__PURE__ */ a(s, { className: "mx-0 h-40 w-40 p-0 sm:mx-8" }) })
97
96
  ] })
98
97
  }
99
98
  ) });
100
99
  }
101
- n($, "ToolbarLayout");
102
- const J = w($);
100
+ n(S, "ToolbarLayout");
101
+ const D = h(S);
103
102
  export {
104
- J as default
103
+ D as default
105
104
  };
106
105
  //# sourceMappingURL=ToolbarLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarLayout.js","sources":["../../../../src/layout/components/toolbar/ToolbarLayout.tsx"],"sourcesContent":["import { useOwpAppContext } from '@/contexts/OwpAppProvider';\nimport { OwpHidden } from '@/components/OwpHidden';\nimport { OwpPageBreadcrumb as PageBreadcrumb } from '@/components/OwpPageBreadcrumb';\nimport { LayoutConfigDefaultsType } from '@/configs/layoutConfig';\nimport { useAppSelector } from '@/hooks/useAppStore';\nimport NavbarToggleButton from '@/layout/components/navbar/NavbarToggleButton';\nimport {\n selectOwpCurrentLayoutConfig as selectCurrentLayoutConfig,\n selectToolbarTheme,\n} from '@/store/owpSettingsSlice';\nimport AppBar from '@mui/material/AppBar';\nimport Toolbar from '@mui/material/Toolbar';\nimport { alpha, ThemeProvider } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { memo } from 'react';\nimport FullScreenToggle from '../toggles/FullScreenToggle';\nimport LanguageSwitcherToggle from '../toggles/LanguageSwitcherToggle';\nimport LogoutToggle from '../toggles/LogoutToggle';\nimport NavigationSearchToggle from '../toggles/NavigationSearchToggle';\nimport NavigationShortcutsToggle from '../toggles/NavigationShortcutsToggle';\n\ntype ToolbarLayoutProps = {\n className?: string;\n};\n\n/**\n * The toolbar layout.\n */\nfunction ToolbarLayout(props: ToolbarLayoutProps) {\n const { className } = props;\n const config = useAppSelector(selectCurrentLayoutConfig) as LayoutConfigDefaultsType;\n const toolbarTheme = useAppSelector(selectToolbarTheme);\n const { env } = useOwpAppContext();\n\n return (\n <ThemeProvider theme={toolbarTheme}>\n <AppBar\n id=\"owp-toolbar\"\n className={clsx('relative z-20 flex border-b', className)}\n color=\"default\"\n sx={(theme) => ({\n '--toolbar-surface-default': (toolbarTheme as any).palette.background.default,\n '--toolbar-surface-paper': (toolbarTheme as any).palette.background.paper,\n '--toolbar-surface-glow': alpha(\n (toolbarTheme as any).palette.primary.light ??\n (toolbarTheme as any).palette.primary.main,\n theme.palette.mode === 'dark' ? 0.28 : 0.16,\n ),\n '--toolbar-surface-line': alpha(\n theme.palette.common.white,\n theme.palette.mode === 'dark' ? 0.14 : 0.72,\n ),\n '--toolbar-surface-button': alpha(\n theme.palette.common.white,\n theme.palette.mode === 'dark' ? 0.05 : 0.82,\n ),\n '--toolbar-surface-button-hover': alpha(\n (toolbarTheme as any).palette.primary.light ??\n (toolbarTheme as any).palette.primary.main,\n theme.palette.mode === 'dark' ? 0.18 : 0.12,\n ),\n backgroundColor: 'var(--toolbar-surface-default)',\n backgroundImage: `\n radial-gradient(circle at 10% 16%, var(--toolbar-surface-glow) 0%, transparent 30%),\n linear-gradient(115deg, ${alpha((toolbarTheme as any).palette.primary.light ?? (toolbarTheme as any).palette.primary.main, 0.16)} 0%, transparent 34%),\n linear-gradient(180deg, var(--toolbar-surface-default) 0%, var(--toolbar-surface-paper) 100%)\n `,\n borderBottomColor: 'var(--toolbar-surface-line)',\n boxShadow: `\n inset 0 1px 0 ${alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.08 : 0.92)},\n inset 0 -1px 0 ${alpha(theme.palette.common.black, theme.palette.mode === 'dark' ? 0.2 : 0.05)},\n 0 10px 28px ${alpha((toolbarTheme as any).palette.background.paper, theme.palette.mode === 'dark' ? 0.32 : 0.12)}\n `,\n '& .MuiIconButton-root': {\n backgroundColor: 'var(--toolbar-surface-button)',\n border: `1px solid ${alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.12 : 0.9)}`,\n boxShadow: `inset 0 1px 0 ${alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.05 : 0.7)}`,\n transition: theme.transitions.create(\n ['background-color', 'border-color', 'transform'],\n {\n duration: theme.transitions.duration.shorter,\n },\n ),\n },\n '& .MuiIconButton-root:hover': {\n backgroundColor: 'var(--toolbar-surface-button-hover)',\n borderColor: alpha(\n (toolbarTheme as any).palette.primary.light ??\n (toolbarTheme as any).palette.primary.main,\n theme.palette.mode === 'dark' ? 0.36 : 0.2,\n ),\n transform: 'translateY(-1px)',\n },\n '& .MuiBreadcrumbs-separator': {\n color: alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.42 : 0.5),\n },\n })}\n position=\"static\"\n elevation={0}\n >\n <Toolbar className=\"min-h-48 px-6 py-0 md:min-h-64 md:px-[14px]\">\n <div className=\"flex min-w-0 flex-1 items-center gap-8\">\n {config.navbar.display && config.navbar.position === 'left' && (\n <OwpHidden lgUp>\n <NavbarToggleButton className=\"mx-0 h-40 w-40 p-0 sm:mx-8\" />\n </OwpHidden>\n )}\n\n <PageBreadcrumb />\n </div>\n\n <div className=\"flex items-center overflow-x-auto gap-6\">\n {env?.isI18nEnabled && env?.isI18nLanguageSwitcherEnabled && (\n <LanguageSwitcherToggle canRefresh />\n )}\n <FullScreenToggle />\n <NavigationSearchToggle />\n <NavigationShortcutsToggle />\n {!config.navbar.display && <LogoutToggle />}\n </div>\n\n {config.navbar.display && config.navbar.position === 'right' && (\n <OwpHidden lgUp>\n <NavbarToggleButton className=\"mx-0 h-40 w-40 p-0 sm:mx-8\" />\n </OwpHidden>\n )}\n </Toolbar>\n </AppBar>\n </ThemeProvider>\n );\n}\n\nexport default memo(ToolbarLayout);\n"],"names":["ToolbarLayout","props","className","config","useAppSelector","selectCurrentLayoutConfig","toolbarTheme","selectToolbarTheme","env","useOwpAppContext","jsx","ThemeProvider","AppBar","clsx","__name","theme","alpha","jsxs","Toolbar","OwpHidden","NavbarToggleButton","PageBreadcrumb","LanguageSwitcherToggle","FullScreenToggle","NavigationSearchToggle","NavigationShortcutsToggle","LogoutToggle","ToolbarLayout$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"ToolbarLayout.js","sources":["../../../../src/layout/components/toolbar/ToolbarLayout.tsx"],"sourcesContent":["import { useOwpAppContext } from '@/contexts/OwpAppProvider';\nimport { OwpHidden } from '@/components/OwpHidden';\nimport { OwpPageBreadcrumb as PageBreadcrumb } from '@/components/OwpPageBreadcrumb';\nimport { LayoutConfigDefaultsType } from '@/configs/layoutConfig';\nimport {\n useGetCurrentLayoutConfig,\n useGetToolbarTheme,\n} from '@/hooks/useOwpSettings';\nimport NavbarToggleButton from '@/layout/components/navbar/NavbarToggleButton';\nimport AppBar from '@mui/material/AppBar';\nimport Toolbar from '@mui/material/Toolbar';\nimport { alpha, ThemeProvider } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { memo } from 'react';\nimport FullScreenToggle from '../toggles/FullScreenToggle';\nimport LanguageSwitcherToggle from '../toggles/LanguageSwitcherToggle';\nimport LogoutToggle from '../toggles/LogoutToggle';\nimport NavigationSearchToggle from '../toggles/NavigationSearchToggle';\nimport NavigationShortcutsToggle from '../toggles/NavigationShortcutsToggle';\n\ntype ToolbarLayoutProps = {\n className?: string;\n};\n\n/**\n * The toolbar layout.\n */\nfunction ToolbarLayout(props: ToolbarLayoutProps) {\n const { className } = props;\n const config = useGetCurrentLayoutConfig() as LayoutConfigDefaultsType;\n const toolbarTheme = useGetToolbarTheme();\n const { env } = useOwpAppContext();\n\n return (\n <ThemeProvider theme={toolbarTheme}>\n <AppBar\n id=\"owp-toolbar\"\n className={clsx('relative z-20 flex border-b', className)}\n color=\"default\"\n sx={(theme) => ({\n '--toolbar-surface-default': (toolbarTheme as any).palette.background.default,\n '--toolbar-surface-paper': (toolbarTheme as any).palette.background.paper,\n '--toolbar-surface-glow': alpha(\n (toolbarTheme as any).palette.primary.light ??\n (toolbarTheme as any).palette.primary.main,\n theme.palette.mode === 'dark' ? 0.28 : 0.16,\n ),\n '--toolbar-surface-line': alpha(\n theme.palette.common.white,\n theme.palette.mode === 'dark' ? 0.14 : 0.72,\n ),\n '--toolbar-surface-button': alpha(\n theme.palette.common.white,\n theme.palette.mode === 'dark' ? 0.05 : 0.82,\n ),\n '--toolbar-surface-button-hover': alpha(\n (toolbarTheme as any).palette.primary.light ??\n (toolbarTheme as any).palette.primary.main,\n theme.palette.mode === 'dark' ? 0.18 : 0.12,\n ),\n backgroundColor: 'var(--toolbar-surface-default)',\n backgroundImage: `\n radial-gradient(circle at 10% 16%, var(--toolbar-surface-glow) 0%, transparent 30%),\n linear-gradient(115deg, ${alpha((toolbarTheme as any).palette.primary.light ?? (toolbarTheme as any).palette.primary.main, 0.16)} 0%, transparent 34%),\n linear-gradient(180deg, var(--toolbar-surface-default) 0%, var(--toolbar-surface-paper) 100%)\n `,\n borderBottomColor: 'var(--toolbar-surface-line)',\n boxShadow: `\n inset 0 1px 0 ${alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.08 : 0.92)},\n inset 0 -1px 0 ${alpha(theme.palette.common.black, theme.palette.mode === 'dark' ? 0.2 : 0.05)},\n 0 10px 28px ${alpha((toolbarTheme as any).palette.background.paper, theme.palette.mode === 'dark' ? 0.32 : 0.12)}\n `,\n '& .MuiIconButton-root': {\n backgroundColor: 'var(--toolbar-surface-button)',\n border: `1px solid ${alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.12 : 0.9)}`,\n boxShadow: `inset 0 1px 0 ${alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.05 : 0.7)}`,\n transition: theme.transitions.create(\n ['background-color', 'border-color', 'transform'],\n {\n duration: theme.transitions.duration.shorter,\n },\n ),\n },\n '& .MuiIconButton-root:hover': {\n backgroundColor: 'var(--toolbar-surface-button-hover)',\n borderColor: alpha(\n (toolbarTheme as any).palette.primary.light ??\n (toolbarTheme as any).palette.primary.main,\n theme.palette.mode === 'dark' ? 0.36 : 0.2,\n ),\n transform: 'translateY(-1px)',\n },\n '& .MuiBreadcrumbs-separator': {\n color: alpha(theme.palette.common.white, theme.palette.mode === 'dark' ? 0.42 : 0.5),\n },\n })}\n position=\"static\"\n elevation={0}\n >\n <Toolbar className=\"min-h-48 px-6 py-0 md:min-h-64 md:px-[14px]\">\n <div className=\"flex min-w-0 flex-1 items-center gap-8\">\n {config.navbar.display && config.navbar.position === 'left' && (\n <OwpHidden lgUp>\n <NavbarToggleButton className=\"mx-0 h-40 w-40 p-0 sm:mx-8\" />\n </OwpHidden>\n )}\n\n <PageBreadcrumb />\n </div>\n\n <div className=\"flex items-center overflow-x-auto gap-6\">\n {env?.isI18nEnabled && env?.isI18nLanguageSwitcherEnabled && (\n <LanguageSwitcherToggle canRefresh />\n )}\n <FullScreenToggle />\n <NavigationSearchToggle />\n <NavigationShortcutsToggle />\n {!config.navbar.display && <LogoutToggle />}\n </div>\n\n {config.navbar.display && config.navbar.position === 'right' && (\n <OwpHidden lgUp>\n <NavbarToggleButton className=\"mx-0 h-40 w-40 p-0 sm:mx-8\" />\n </OwpHidden>\n )}\n </Toolbar>\n </AppBar>\n </ThemeProvider>\n );\n}\n\nexport default memo(ToolbarLayout);\n"],"names":["ToolbarLayout","props","className","config","useGetCurrentLayoutConfig","toolbarTheme","useGetToolbarTheme","env","useOwpAppContext","jsx","ThemeProvider","AppBar","clsx","__name","theme","alpha","jsxs","Toolbar","OwpHidden","NavbarToggleButton","PageBreadcrumb","LanguageSwitcherToggle","FullScreenToggle","NavigationSearchToggle","NavigationShortcutsToggle","LogoutToggle","ToolbarLayout$1","memo"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  var f = Object.defineProperty;
2
2
  var t = (e, _) => f(e, "name", { value: _, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/constants2.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/constants.js";
4
4
  var i;
5
5
  function E() {
6
6
  if (i) return r;
@@ -1,6 +1,6 @@
1
1
  var q = Object.defineProperty;
2
2
  var O = (C, _) => q(C, "name", { value: _, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/index9.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/index7.js";
4
4
  import { __require as d } from "./CODE128_AUTO.js";
5
5
  import { __require as n } from "./CODE128A.js";
6
6
  import { __require as m } from "./CODE128B.js";
@@ -1,6 +1,6 @@
1
1
  var w = Object.defineProperty;
2
2
  var n = (f, a) => w(f, "name", { value: a, configurable: !0 });
3
- import { __exports as i } from "../../../../../../../../_virtual/index8.js";
3
+ import { __exports as i } from "../../../../../../../../_virtual/index6.js";
4
4
  import { __require as k } from "../Barcode.js";
5
5
  var _;
6
6
  function P() {
@@ -1,6 +1,6 @@
1
1
  var D = Object.defineProperty;
2
2
  var C = (u, t) => D(u, "name", { value: t, configurable: !0 });
3
- import { __exports as e } from "../../../../../../../../_virtual/index15.js";
3
+ import { __exports as e } from "../../../../../../../../_virtual/index13.js";
4
4
  import { __require as O } from "./CODE93.js";
5
5
  import { __require as E } from "./CODE93FullASCII.js";
6
6
  var l;
@@ -1,6 +1,6 @@
1
1
  var n = Object.defineProperty;
2
2
  var G = (r, t) => n(r, "name", { value: t, configurable: !0 });
3
- import { __exports as L } from "../../../../../../../../_virtual/constants.js";
3
+ import { __exports as L } from "../../../../../../../../_virtual/constants2.js";
4
4
  var e;
5
5
  function o() {
6
6
  return e ? L : (e = 1, Object.defineProperty(L, "__esModule", {
@@ -1,6 +1,6 @@
1
1
  var C = Object.defineProperty;
2
2
  var i = (u, a) => C(u, "name", { value: a, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/index10.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/index8.js";
4
4
  import { __require as U } from "./EAN13.js";
5
5
  import { __require as s } from "./EAN8.js";
6
6
  import { __require as l } from "./EAN5.js";
@@ -1,6 +1,6 @@
1
1
  var b = Object.defineProperty;
2
2
  var r = (a, f) => b(a, "name", { value: f, configurable: !0 });
3
- import { __exports as u } from "../../../../../../../../_virtual/index16.js";
3
+ import { __exports as u } from "../../../../../../../../_virtual/index14.js";
4
4
  import { __require as p } from "../Barcode.js";
5
5
  var c;
6
6
  function w() {
@@ -1,6 +1,6 @@
1
1
  var T = Object.defineProperty;
2
2
  var i = (u, t) => T(u, "name", { value: t, configurable: !0 });
3
- import { __exports as e } from "../../../../../../../../_virtual/index11.js";
3
+ import { __exports as e } from "../../../../../../../../_virtual/index9.js";
4
4
  import { __require as f } from "./ITF.js";
5
5
  import { __require as n } from "./ITF14.js";
6
6
  var a;
@@ -1,6 +1,6 @@
1
1
  var v = Object.defineProperty;
2
2
  var I = (M, _) => v(M, "name", { value: _, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../../_virtual/index12.js";
3
+ import { __exports as r } from "../../../../../../../../_virtual/index10.js";
4
4
  import { __require as n } from "./MSI.js";
5
5
  import { __require as s } from "./MSI10.js";
6
6
  import { __require as l } from "./MSI11.js";
@@ -1,6 +1,6 @@
1
1
  var p = Object.defineProperty;
2
2
  var a = (f, c) => p(f, "name", { value: c, configurable: !0 });
3
- import { __exports as i } from "../../../../../../../../_virtual/index14.js";
3
+ import { __exports as i } from "../../../../../../../../_virtual/index12.js";
4
4
  import { __require as g } from "../Barcode.js";
5
5
  var h;
6
6
  function w() {
@@ -1,6 +1,6 @@
1
1
  var v = Object.defineProperty;
2
2
  var i = (u, f) => v(u, "name", { value: f, configurable: !0 });
3
- import { __exports as a } from "../../../../../../../../_virtual/index13.js";
3
+ import { __exports as a } from "../../../../../../../../_virtual/index11.js";
4
4
  import { __require as y } from "../Barcode.js";
5
5
  var c;
6
6
  function q() {
@@ -1,6 +1,6 @@
1
1
  var v = Object.defineProperty;
2
2
  var _ = (a, t) => v(a, "name", { value: t, configurable: !0 });
3
- import { __exports as r } from "../../../../../../../_virtual/index17.js";
3
+ import { __exports as r } from "../../../../../../../_virtual/index15.js";
4
4
  import { __require as f } from "./canvas.js";
5
5
  import { __require as q } from "./svg.js";
6
6
  import { __require as c } from "./object.js";
@@ -1,6 +1,6 @@
1
1
  var t = Object.defineProperty;
2
2
  var i = (e, o) => t(e, "name", { value: o, configurable: !0 });
3
- import { __module as r } from "../../../../../_virtual/index7.js";
3
+ import { __module as r } from "../../../../../_virtual/index17.js";
4
4
  import { __require as p } from "../../../react-is@16.13.1/node_modules/react-is/index.js";
5
5
  import { __require as u } from "./factoryWithTypeCheckers.js";
6
6
  import { __require as a } from "./factoryWithThrowingShims.js";
@@ -1,7 +1,7 @@
1
1
  var d = Object.defineProperty;
2
2
  var f = (n, a) => d(n, "name", { value: a, configurable: !0 });
3
3
  import r from "react";
4
- import e from "../../../../../../_virtual/index6.js";
4
+ import e from "../../../../../../_virtual/index16.js";
5
5
  import "../../../../imask@7.6.1/node_modules/imask/esm/controls/input.js";
6
6
  import m from "../../../../imask@7.6.1/node_modules/imask/esm/core/holder.js";
7
7
  import "../../../../imask@7.6.1/node_modules/imask/esm/masked/factory.js";
@@ -1,6 +1,6 @@
1
1
  var c = Object.defineProperty;
2
2
  var a = (r, e) => c(r, "name", { value: e, configurable: !0 });
3
- import n from "../../../../../../_virtual/index6.js";
3
+ import n from "../../../../../../_virtual/index16.js";
4
4
  import m from "react-dom";
5
5
  import t from "react";
6
6
  import u from "./useWaitForDOMRef.js";
@@ -0,0 +1,84 @@
1
+ var b = Object.defineProperty;
2
+ var l = (n, o) => b(n, "name", { value: o, configurable: !0 });
3
+ import { atom as t } from "jotai";
4
+ function r(n) {
5
+ return {
6
+ open: !0,
7
+ mobileOpen: !1,
8
+ foldedOpen: !1,
9
+ ...n
10
+ };
11
+ }
12
+ l(r, "createNavbarState");
13
+ const s = r(), a = t(s), p = t(null, (n, o) => {
14
+ const e = n(a);
15
+ o(a, {
16
+ ...e,
17
+ foldedOpen: !e.foldedOpen
18
+ });
19
+ }), m = t(null, (n, o) => {
20
+ const e = n(a);
21
+ o(a, {
22
+ ...e,
23
+ foldedOpen: !0
24
+ });
25
+ }), d = t(null, (n, o) => {
26
+ const e = n(a);
27
+ o(a, {
28
+ ...e,
29
+ foldedOpen: !1
30
+ });
31
+ }), u = t(null, (n, o) => {
32
+ const e = n(a);
33
+ o(a, {
34
+ ...e,
35
+ mobileOpen: !e.mobileOpen
36
+ });
37
+ }), f = t(null, (n, o) => {
38
+ const e = n(a);
39
+ o(a, {
40
+ ...e,
41
+ mobileOpen: !0
42
+ });
43
+ }), O = t(null, (n, o) => {
44
+ const e = n(a);
45
+ o(a, {
46
+ ...e,
47
+ mobileOpen: !1
48
+ });
49
+ }), A = t(null, (n, o) => {
50
+ const e = n(a);
51
+ o(a, {
52
+ ...e,
53
+ open: !1
54
+ });
55
+ }), i = t(null, (n, o) => {
56
+ const e = n(a);
57
+ o(a, {
58
+ ...e,
59
+ open: !0
60
+ });
61
+ }), g = t(null, (n, o) => {
62
+ const e = n(a);
63
+ o(a, {
64
+ ...e,
65
+ open: !e.open
66
+ });
67
+ }), C = t(null, (n, o) => {
68
+ o(a, r());
69
+ });
70
+ export {
71
+ r as createNavbarState,
72
+ A as navbarCloseAtom,
73
+ d as navbarCloseFoldedAtom,
74
+ O as navbarCloseMobileAtom,
75
+ i as navbarOpenAtom,
76
+ m as navbarOpenFoldedAtom,
77
+ f as navbarOpenMobileAtom,
78
+ a as navbarStateAtom,
79
+ g as navbarToggleAtom,
80
+ p as navbarToggleFoldedAtom,
81
+ u as navbarToggleMobileAtom,
82
+ C as resetNavbarAtom
83
+ };
84
+ //# sourceMappingURL=navbarAtoms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbarAtoms.js","sources":["../../../src/store/atoms/navbarAtoms.ts"],"sourcesContent":["import { atom } from 'jotai';\nimport type { NavbarState } from './internal/types';\n\n/**\n * Navbar 기본 상태 생성\n */\nexport function createNavbarState(overrides?: Partial<NavbarState>): NavbarState {\n return {\n open: true,\n mobileOpen: false,\n foldedOpen: false,\n ...overrides,\n };\n}\n\nconst defaultNavbarState = createNavbarState();\n\nexport const navbarStateAtom = atom<NavbarState>(defaultNavbarState);\n\n/**\n * Navbar 접기 상태 토글 atom\n */\nexport const navbarToggleFoldedAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n foldedOpen: !navbar.foldedOpen,\n });\n});\n\n/**\n * Navbar 접기 상태 열기 atom\n */\nexport const navbarOpenFoldedAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n foldedOpen: true,\n });\n});\n\n/**\n * Navbar 접기 상태 닫기 atom\n */\nexport const navbarCloseFoldedAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n foldedOpen: false,\n });\n});\n\n/**\n * 모바일 navbar 상태 토글 atom\n */\nexport const navbarToggleMobileAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n mobileOpen: !navbar.mobileOpen,\n });\n});\n\n/**\n * 모바일 navbar 열기 atom\n */\nexport const navbarOpenMobileAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n mobileOpen: true,\n });\n});\n\n/**\n * 모바일 navbar 닫기 atom\n */\nexport const navbarCloseMobileAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n mobileOpen: false,\n });\n});\n\n/**\n * Navbar 닫기 atom\n */\nexport const navbarCloseAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n open: false,\n });\n});\n\n/**\n * Navbar 열기 atom\n */\nexport const navbarOpenAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n open: true,\n });\n});\n\n/**\n * Navbar 상태 토글 atom\n */\nexport const navbarToggleAtom = atom(null, (get, set) => {\n const navbar = get(navbarStateAtom);\n\n set(navbarStateAtom, {\n ...navbar,\n open: !navbar.open,\n });\n});\n\n/**\n * Navbar 기본값 복원 atom\n */\nexport const resetNavbarAtom = atom(null, (_get, set) => {\n set(navbarStateAtom, createNavbarState());\n});\n"],"names":["createNavbarState","overrides","__name","defaultNavbarState","navbarStateAtom","atom","navbarToggleFoldedAtom","get","set","navbar","navbarOpenFoldedAtom","navbarCloseFoldedAtom","navbarToggleMobileAtom","navbarOpenMobileAtom","navbarCloseMobileAtom","navbarCloseAtom","navbarOpenAtom","navbarToggleAtom","resetNavbarAtom","_get"],"mappings":";;;AAMO,SAASA,EAAkBC,GAA+C;AAC/E,SAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,GAAGA;AAAA,EAAA;AAEP;AAPgBC,EAAAF,GAAA;AAShB,MAAMG,IAAqBH,EAAA,GAEdI,IAAkBC,EAAkBF,CAAkB,GAKtDG,IAAyBD,EAAK,MAAM,CAACE,GAAKC,MAAQ;AAC7D,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,YAAY,CAACA,EAAO;AAAA,EAAA,CACrB;AACH,CAAC,GAKYC,IAAuBL,EAAK,MAAM,CAACE,GAAKC,MAAQ;AAC3D,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,YAAY;AAAA,EAAA,CACb;AACH,CAAC,GAKYE,IAAwBN,EAAK,MAAM,CAACE,GAAKC,MAAQ;AAC5D,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,YAAY;AAAA,EAAA,CACb;AACH,CAAC,GAKYG,IAAyBP,EAAK,MAAM,CAACE,GAAKC,MAAQ;AAC7D,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,YAAY,CAACA,EAAO;AAAA,EAAA,CACrB;AACH,CAAC,GAKYI,IAAuBR,EAAK,MAAM,CAACE,GAAKC,MAAQ;AAC3D,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,YAAY;AAAA,EAAA,CACb;AACH,CAAC,GAKYK,IAAwBT,EAAK,MAAM,CAACE,GAAKC,MAAQ;AAC5D,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,YAAY;AAAA,EAAA,CACb;AACH,CAAC,GAKYM,IAAkBV,EAAK,MAAM,CAACE,GAAKC,MAAQ;AACtD,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,MAAM;AAAA,EAAA,CACP;AACH,CAAC,GAKYO,IAAiBX,EAAK,MAAM,CAACE,GAAKC,MAAQ;AACrD,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,MAAM;AAAA,EAAA,CACP;AACH,CAAC,GAKYQ,IAAmBZ,EAAK,MAAM,CAACE,GAAKC,MAAQ;AACvD,QAAMC,IAASF,EAAIH,CAAe;AAElC,EAAAI,EAAIJ,GAAiB;AAAA,IACnB,GAAGK;AAAA,IACH,MAAM,CAACA,EAAO;AAAA,EAAA,CACf;AACH,CAAC,GAKYS,IAAkBb,EAAK,MAAM,CAACc,GAAMX,MAAQ;AACvD,EAAAA,EAAIJ,GAAiBJ,GAAmB;AAC1C,CAAC;"}
@@ -0,0 +1,140 @@
1
+ var T = Object.defineProperty;
2
+ var d = (t, n) => T(t, "name", { value: n, configurable: !0 });
3
+ import { generateSettings as h, createInitialOwpSettings as x, mustHaveThemeOptions as F, defaultThemeOptions as k, extendThemeWithMixins as v } from "../../configs/defaultConfig.js";
4
+ import { createTheme as y } from "@mui/material/styles";
5
+ import { atom as e } from "jotai";
6
+ import { merge as r } from "../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js";
7
+ const w = {
8
+ primary: "rgb(17, 24, 39)",
9
+ secondary: "rgb(107, 114, 128)",
10
+ disabled: "rgb(149, 156, 169)"
11
+ }, O = {
12
+ primary: "rgb(255,255,255)",
13
+ secondary: "rgb(148, 163, 184)",
14
+ disabled: "rgb(156, 163, 175)"
15
+ }, M = x();
16
+ function D(t) {
17
+ return {
18
+ initial: t,
19
+ defaults: r({}, t),
20
+ current: r({}, t)
21
+ };
22
+ }
23
+ d(D, "createSettingsState");
24
+ const f = D(M), s = e(f), j = e((t) => t(s)), q = e((t) => t(s).defaults), m = e((t) => t(s).current), z = e((t) => t(m).layout.config), G = e(
25
+ (t) => !!t(m).customScrollbars
26
+ ), c = e((t) => t(m).direction), g = e((t) => t(m).theme.main), E = e((t) => t(m).theme.navbar), I = e((t) => t(m).theme.toolbar), L = e((t) => t(m).theme.footer);
27
+ function l(t, n) {
28
+ const o = r({}, k, t, F);
29
+ return y(
30
+ r({}, o, {
31
+ mixins: v(o),
32
+ direction: n
33
+ })
34
+ );
35
+ }
36
+ d(l, "generateMuiTheme");
37
+ function S(t, n) {
38
+ return r({}, t, {
39
+ dark: {
40
+ palette: {
41
+ mode: "dark",
42
+ divider: "rgba(241,245,249,.12)",
43
+ background: {
44
+ paper: "#1E2125",
45
+ default: "#121212"
46
+ },
47
+ text: O
48
+ }
49
+ },
50
+ light: {
51
+ palette: {
52
+ mode: "light",
53
+ divider: "#e2e8f0",
54
+ background: {
55
+ paper: "#FFFFFF",
56
+ default: "#F7F7F7"
57
+ },
58
+ text: w
59
+ }
60
+ }
61
+ }[n]);
62
+ }
63
+ d(S, "changeThemeMode");
64
+ const J = e(
65
+ (t) => l(t(g), t(c))
66
+ ), K = e(
67
+ (t) => l(S(t(g), "dark"), t(c))
68
+ ), N = e(
69
+ (t) => l(S(t(g), "light"), t(c))
70
+ ), Q = e(
71
+ (t) => l(t(E), t(c))
72
+ ), R = e(
73
+ (t) => l(t(I), t(c))
74
+ ), U = e(
75
+ (t) => l(t(L), t(c))
76
+ ), X = e(null, (t, n, o) => {
77
+ const a = t(s), i = h(a.defaults, o);
78
+ n(s, {
79
+ ...a,
80
+ current: i
81
+ });
82
+ }), P = e(
83
+ null,
84
+ (t, n, o) => {
85
+ const a = t(s), i = h(a.defaults, o), u = {
86
+ ...a,
87
+ defaults: r({}, i),
88
+ current: r({}, i)
89
+ };
90
+ return n(s, u), u;
91
+ }
92
+ ), Y = e(null, (t, n) => {
93
+ n(s, r({}, f));
94
+ }), Z = e(null, (t, n) => {
95
+ const o = t(s);
96
+ n(s, {
97
+ ...o,
98
+ defaults: r({}, o.defaults),
99
+ current: r({}, o.defaults)
100
+ });
101
+ }), $ = e(null, (t, n, o) => {
102
+ const a = t(s), { navbar: i, footer: u, toolbar: b, main: A } = o, p = {
103
+ ...a.current,
104
+ theme: {
105
+ main: A,
106
+ navbar: i,
107
+ toolbar: b,
108
+ footer: u
109
+ }
110
+ };
111
+ return n(P, p);
112
+ });
113
+ export {
114
+ $ as changeOwpThemeAtom,
115
+ D as createSettingsState,
116
+ z as currentLayoutConfigAtom,
117
+ m as currentSettingsAtom,
118
+ G as customScrollbarsEnabledAtom,
119
+ O as darkPaletteText,
120
+ q as defaultSettingsAtom,
121
+ c as directionAtom,
122
+ U as footerThemeAtom,
123
+ L as footerThemeSettingsAtom,
124
+ w as lightPaletteText,
125
+ J as mainThemeAtom,
126
+ K as mainThemeDarkAtom,
127
+ N as mainThemeLightAtom,
128
+ g as mainThemeSettingsAtom,
129
+ Q as navbarThemeAtom,
130
+ E as navbarThemeSettingsAtom,
131
+ j as owpSettingsAtom,
132
+ s as owpSettingsStateAtom,
133
+ Z as resetSettingsAtom,
134
+ P as setDefaultSettingsAtom,
135
+ Y as setInitialSettingsAtom,
136
+ X as setSettingsAtom,
137
+ R as toolbarThemeAtom,
138
+ I as toolbarThemeSettingsAtom
139
+ };
140
+ //# sourceMappingURL=owpSettingsAtoms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owpSettingsAtoms.js","sources":["../../../src/store/atoms/owpSettingsAtoms.ts"],"sourcesContent":["import {\n createInitialOwpSettings,\n defaultThemeOptions,\n extendThemeWithMixins,\n generateSettings,\n mustHaveThemeOptions,\n} from '@/configs/defaultConfig';\nimport type {\n OwpSettingsConfigType,\n OwpThemeType,\n OwpThemesType,\n} from '@/types/OwpSettingsTypes';\nimport { createTheme, type ThemeOptions } from '@mui/material/styles';\nimport { atom, type WritableAtom } from 'jotai';\nimport { merge } from 'es-toolkit/compat';\nimport type { PartialDeep } from 'type-fest';\nimport type { OwpSettingsState } from './internal/types';\n\n/**\n * Light theme text palette\n */\nexport const lightPaletteText = {\n primary: 'rgb(17, 24, 39)',\n secondary: 'rgb(107, 114, 128)',\n disabled: 'rgb(149, 156, 169)',\n};\n\n/**\n * Dark theme text palette\n */\nexport const darkPaletteText = {\n primary: 'rgb(255,255,255)',\n secondary: 'rgb(148, 163, 184)',\n disabled: 'rgb(156, 163, 175)',\n};\n\nconst initialSettings = createInitialOwpSettings();\n\n/**\n * Settings 기본 상태 생성\n */\nexport function createSettingsState(initialValue: OwpSettingsConfigType): OwpSettingsState {\n return {\n initial: initialValue,\n defaults: merge({}, initialValue),\n current: merge({}, initialValue),\n };\n}\n\nconst defaultSettingsState = createSettingsState(initialSettings);\n\nexport const owpSettingsStateAtom = atom<OwpSettingsState>(defaultSettingsState);\n\nexport const owpSettingsAtom = atom((get) => get(owpSettingsStateAtom));\nexport const defaultSettingsAtom = atom((get) => get(owpSettingsStateAtom).defaults);\nexport const currentSettingsAtom = atom((get) => get(owpSettingsStateAtom).current);\nexport const currentLayoutConfigAtom = atom((get) => get(currentSettingsAtom).layout.config);\nexport const customScrollbarsEnabledAtom = atom(\n (get) => Boolean(get(currentSettingsAtom).customScrollbars),\n);\nexport const directionAtom = atom((get) => get(currentSettingsAtom).direction);\nexport const mainThemeSettingsAtom = atom((get) => get(currentSettingsAtom).theme.main);\nexport const navbarThemeSettingsAtom = atom((get) => get(currentSettingsAtom).theme.navbar);\nexport const toolbarThemeSettingsAtom = atom((get) => get(currentSettingsAtom).theme.toolbar);\nexport const footerThemeSettingsAtom = atom((get) => get(currentSettingsAtom).theme.footer);\n\n/**\n * MUI theme 생성\n */\nfunction generateMuiTheme(theme: OwpThemeType, direction: 'ltr' | 'rtl') {\n const data = merge({}, defaultThemeOptions, theme, mustHaveThemeOptions) as ThemeOptions;\n\n return createTheme(\n merge({}, data, {\n mixins: extendThemeWithMixins(data),\n direction,\n } as ThemeOptions),\n );\n}\n\n/**\n * Theme mode 변환\n */\nfunction changeThemeMode(theme: OwpThemeType, mode: 'dark' | 'light'): OwpThemeType {\n const modes = {\n dark: {\n palette: {\n mode: 'dark',\n divider: 'rgba(241,245,249,.12)',\n background: {\n paper: '#1E2125',\n default: '#121212',\n },\n text: darkPaletteText,\n },\n },\n light: {\n palette: {\n mode: 'light',\n divider: '#e2e8f0',\n background: {\n paper: '#FFFFFF',\n default: '#F7F7F7',\n },\n text: lightPaletteText,\n },\n },\n };\n\n return merge({}, theme, modes[mode]);\n}\n\nexport const mainThemeAtom = atom((get) =>\n generateMuiTheme(get(mainThemeSettingsAtom), get(directionAtom)),\n);\nexport const mainThemeDarkAtom = atom((get) =>\n generateMuiTheme(changeThemeMode(get(mainThemeSettingsAtom), 'dark'), get(directionAtom)),\n);\nexport const mainThemeLightAtom = atom((get) =>\n generateMuiTheme(changeThemeMode(get(mainThemeSettingsAtom), 'light'), get(directionAtom)),\n);\nexport const navbarThemeAtom = atom((get) =>\n generateMuiTheme(get(navbarThemeSettingsAtom), get(directionAtom)),\n);\nexport const toolbarThemeAtom = atom((get) =>\n generateMuiTheme(get(toolbarThemeSettingsAtom), get(directionAtom)),\n);\nexport const footerThemeAtom = atom((get) =>\n generateMuiTheme(get(footerThemeSettingsAtom), get(directionAtom)),\n);\n\n/**\n * 현재 settings 적용 atom\n */\nexport const setSettingsAtom = atom(null, (get, set, nextSettings: OwpSettingsConfigType) => {\n const settings = get(owpSettingsStateAtom);\n const current = generateSettings(settings.defaults, nextSettings);\n\n set(owpSettingsStateAtom, {\n ...settings,\n current,\n });\n});\n\n/**\n * 기본 settings 변경 atom\n */\nexport const setDefaultSettingsAtom: WritableAtom<\n null,\n [PartialDeep<OwpSettingsConfigType>],\n OwpSettingsState\n> = atom(\n null,\n (get, set, nextSettings: PartialDeep<OwpSettingsConfigType>): OwpSettingsState => {\n const settings = get(owpSettingsStateAtom);\n const defaults = generateSettings(settings.defaults, nextSettings as OwpSettingsConfigType);\n const nextState = {\n ...settings,\n defaults: merge({}, defaults),\n current: merge({}, defaults),\n };\n\n set(owpSettingsStateAtom, nextState);\n\n return nextState;\n },\n);\n\n/**\n * 초기 settings 복원 atom\n */\nexport const setInitialSettingsAtom = atom(null, (_get, set) => {\n set(owpSettingsStateAtom, merge({}, defaultSettingsState));\n});\n\n/**\n * 현재 defaults 기준 초기화 atom\n */\nexport const resetSettingsAtom = atom(null, (get, set) => {\n const settings = get(owpSettingsStateAtom);\n\n set(owpSettingsStateAtom, {\n ...settings,\n defaults: merge({}, settings.defaults),\n current: merge({}, settings.defaults),\n });\n});\n\n/**\n * Theme 설정 변경 atom\n */\nexport const changeOwpThemeAtom = atom(null, (get, set, theme: OwpThemesType) => {\n const settings = get(owpSettingsStateAtom);\n const { navbar, footer, toolbar, main } = theme;\n const nextSettings: OwpSettingsConfigType = {\n ...settings.current,\n theme: {\n main,\n navbar,\n toolbar,\n footer,\n },\n };\n\n return set(setDefaultSettingsAtom, nextSettings);\n});\n"],"names":["lightPaletteText","darkPaletteText","initialSettings","createInitialOwpSettings","createSettingsState","initialValue","merge","__name","defaultSettingsState","owpSettingsStateAtom","atom","owpSettingsAtom","get","defaultSettingsAtom","currentSettingsAtom","currentLayoutConfigAtom","customScrollbarsEnabledAtom","directionAtom","mainThemeSettingsAtom","navbarThemeSettingsAtom","toolbarThemeSettingsAtom","footerThemeSettingsAtom","generateMuiTheme","theme","direction","data","defaultThemeOptions","mustHaveThemeOptions","createTheme","extendThemeWithMixins","changeThemeMode","mode","mainThemeAtom","mainThemeDarkAtom","mainThemeLightAtom","navbarThemeAtom","toolbarThemeAtom","footerThemeAtom","setSettingsAtom","set","nextSettings","settings","current","generateSettings","setDefaultSettingsAtom","defaults","nextState","setInitialSettingsAtom","_get","resetSettingsAtom","changeOwpThemeAtom","navbar","footer","toolbar","main"],"mappings":"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"}