@simplysm/solid 13.0.28 → 13.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -9
- package/dist/components/data/Pagination.d.ts +4 -5
- package/dist/components/data/Pagination.d.ts.map +1 -1
- package/dist/components/data/Pagination.js +14 -14
- package/dist/components/data/Pagination.js.map +2 -2
- package/dist/components/data/Table.js +1 -1
- package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/data/calendar/Calendar.js +1 -1
- package/dist/components/data/calendar/Calendar.js.map +1 -1
- package/dist/components/data/kanban/Kanban.d.ts +9 -9
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js +6 -6
- package/dist/components/data/kanban/Kanban.js.map +2 -2
- package/dist/components/data/list/List.d.ts.map +1 -1
- package/dist/components/data/list/List.js.map +1 -1
- package/dist/components/data/list/ListItem.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.js.map +1 -1
- package/dist/components/data/permission-table/PermissionTable.d.ts.map +1 -1
- package/dist/components/data/permission-table/PermissionTable.js.map +1 -1
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +102 -107
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js +24 -6
- package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
- package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetColumn.js.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.js.map +1 -1
- package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
- package/dist/components/data/sheet/sheetUtils.js.map +1 -1
- package/dist/components/data/sheet/types.d.ts +2 -2
- package/dist/components/data/sheet/types.d.ts.map +1 -1
- package/dist/components/disclosure/Collapse.d.ts.map +1 -1
- package/dist/components/disclosure/Collapse.js +0 -3
- package/dist/components/disclosure/Collapse.js.map +1 -1
- package/dist/components/disclosure/Dialog.d.ts +8 -8
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +64 -69
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/DialogContext.d.ts +4 -4
- package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
- package/dist/components/disclosure/DialogContext.js.map +1 -1
- package/dist/components/disclosure/DialogProvider.d.ts.map +1 -1
- package/dist/components/disclosure/DialogProvider.js +8 -8
- package/dist/components/disclosure/DialogProvider.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js.map +1 -1
- package/dist/components/disclosure/Tabs.d.ts.map +1 -1
- package/dist/components/disclosure/Tabs.js.map +1 -1
- package/dist/components/display/Alert.d.ts.map +1 -1
- package/dist/components/display/Alert.js.map +1 -1
- package/dist/components/display/Card.d.ts +0 -1
- package/dist/components/display/Card.d.ts.map +1 -1
- package/dist/components/display/Card.js +1 -2
- package/dist/components/display/Card.js.map +1 -1
- package/dist/components/display/Echarts.d.ts +1 -1
- package/dist/components/display/Echarts.d.ts.map +1 -1
- package/dist/components/display/Echarts.js +2 -2
- package/dist/components/display/Echarts.js.map +2 -2
- package/dist/components/display/Link.d.ts +5 -0
- package/dist/components/display/Link.d.ts.map +1 -0
- package/dist/components/display/Link.js +26 -0
- package/dist/components/display/Link.js.map +6 -0
- package/dist/components/feedback/Progress.d.ts +3 -3
- package/dist/components/feedback/Progress.d.ts.map +1 -1
- package/dist/components/feedback/Progress.js +1 -1
- package/dist/components/feedback/Progress.js.map +2 -2
- package/dist/components/feedback/busy/BusyContainer.d.ts +13 -0
- package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -0
- package/dist/components/feedback/{loading/LoadingContainer.js → busy/BusyContainer.js} +20 -13
- package/dist/components/feedback/busy/BusyContainer.js.map +6 -0
- package/dist/components/feedback/busy/BusyContext.d.ts +11 -0
- package/dist/components/feedback/busy/BusyContext.d.ts.map +1 -0
- package/dist/components/feedback/busy/BusyContext.js +14 -0
- package/dist/components/feedback/busy/BusyContext.js.map +6 -0
- package/dist/components/feedback/busy/BusyProvider.d.ts +7 -0
- package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -0
- package/dist/components/feedback/{loading/LoadingProvider.js → busy/BusyProvider.js} +7 -7
- package/dist/components/feedback/busy/BusyProvider.js.map +6 -0
- package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +4 -2
- package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
- package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationContext.js.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.js +1 -0
- package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
- package/dist/components/form-control/Button.d.ts.map +1 -1
- package/dist/components/form-control/Button.js +2 -2
- package/dist/components/form-control/Button.js.map +1 -1
- package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
- package/dist/components/form-control/DropdownTrigger.styles.js +6 -1
- package/dist/components/form-control/DropdownTrigger.styles.js.map +1 -1
- package/dist/components/form-control/Invalid.d.ts +4 -2
- package/dist/components/form-control/Invalid.d.ts.map +1 -1
- package/dist/components/form-control/Invalid.js +81 -41
- package/dist/components/form-control/Invalid.js.map +2 -2
- package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.js +4 -5
- package/dist/components/form-control/ThemeToggle.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts +4 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +65 -52
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +1 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.styles.js +8 -10
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +9 -9
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js +10 -82
- package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/Radio.d.ts +4 -2
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +64 -51
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/checkbox/RadioGroup.d.ts +9 -9
- package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js +10 -77
- package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
- package/dist/components/form-control/color-picker/ColorPicker.d.ts +8 -3
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +43 -26
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +8 -8
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +72 -59
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
- package/dist/components/form-control/editor/EditorToolbar.js +3 -2
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/form-control/editor/RichTextEditor.js.map +1 -1
- package/dist/components/form-control/field/DatePicker.d.ts +6 -0
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +138 -117
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts +6 -0
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +138 -115
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/Field.styles.d.ts +14 -0
- package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
- package/dist/components/form-control/field/Field.styles.js +47 -3
- package/dist/components/form-control/field/Field.styles.js.map +1 -1
- package/dist/components/form-control/field/FieldPlaceholder.d.ts +7 -0
- package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -0
- package/dist/components/form-control/field/FieldPlaceholder.js +34 -0
- package/dist/components/form-control/field/FieldPlaceholder.js.map +6 -0
- package/dist/components/form-control/field/NumberInput.d.ts +13 -0
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +163 -111
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +16 -1
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +177 -114
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts +10 -0
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +156 -121
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts +10 -0
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +126 -94
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +7 -9
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +71 -60
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
- package/dist/components/form-control/select/SelectItem.js.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js +2 -1
- package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
- package/dist/components/layout/FormGroup.d.ts.map +1 -1
- package/dist/components/layout/FormGroup.js.map +1 -1
- package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar/Sidebar.js +1 -1
- package/dist/components/layout/sidebar/Sidebar.js.map +1 -1
- package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -1
- package/dist/components/layout/sidebar/SidebarContainer.js.map +1 -1
- package/dist/components/layout/sidebar/SidebarMenu.js +1 -1
- package/dist/components/layout/sidebar/SidebarMenu.js.map +1 -1
- package/dist/components/layout/sidebar/SidebarUser.d.ts.map +1 -1
- package/dist/components/layout/sidebar/SidebarUser.js +4 -4
- package/dist/components/layout/sidebar/SidebarUser.js.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +1 -1
- package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarMenu.js.map +1 -1
- package/dist/components/layout/topbar/TopbarUser.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarUser.js.map +1 -1
- package/dist/helpers/createAppStructure.d.ts.map +1 -1
- package/dist/helpers/createAppStructure.js +17 -12
- package/dist/helpers/createAppStructure.js.map +1 -1
- package/dist/helpers/mergeStyles.d.ts.map +1 -1
- package/dist/helpers/mergeStyles.js +4 -1
- package/dist/helpers/mergeStyles.js.map +1 -1
- package/dist/helpers/splitSlots.d.ts.map +1 -1
- package/dist/helpers/splitSlots.js.map +1 -1
- package/dist/hooks/createControllableSignal.d.ts.map +1 -1
- package/dist/hooks/createControllableSignal.js.map +1 -1
- package/dist/hooks/createItemTemplate.d.ts +17 -0
- package/dist/hooks/createItemTemplate.d.ts.map +1 -0
- package/dist/hooks/createItemTemplate.js +40 -0
- package/dist/hooks/createItemTemplate.js.map +6 -0
- package/dist/hooks/createPointerDrag.d.ts +13 -0
- package/dist/hooks/createPointerDrag.d.ts.map +1 -0
- package/dist/hooks/createPointerDrag.js +15 -0
- package/dist/hooks/createPointerDrag.js.map +6 -0
- package/dist/hooks/createSelectionGroup.d.ts +70 -0
- package/dist/hooks/createSelectionGroup.d.ts.map +1 -0
- package/dist/hooks/createSelectionGroup.js +141 -0
- package/dist/hooks/createSelectionGroup.js.map +6 -0
- package/dist/hooks/useClipboardValueCopy.js +3 -1
- package/dist/hooks/useClipboardValueCopy.js.map +1 -1
- package/dist/hooks/useLocalStorage.d.ts +5 -3
- package/dist/hooks/useLocalStorage.d.ts.map +1 -1
- package/dist/hooks/useLocalStorage.js.map +1 -1
- package/dist/hooks/usePrint.d.ts.map +1 -1
- package/dist/hooks/usePrint.js +5 -3
- package/dist/hooks/usePrint.js.map +1 -1
- package/dist/hooks/{createPwaUpdate.d.ts → usePwaUpdate.d.ts} +2 -2
- package/dist/hooks/usePwaUpdate.d.ts.map +1 -0
- package/dist/hooks/{createPwaUpdate.js → usePwaUpdate.js} +3 -3
- package/dist/hooks/usePwaUpdate.js.map +6 -0
- package/dist/hooks/useRouterLink.d.ts.map +1 -1
- package/dist/hooks/useRouterLink.js.map +1 -1
- package/dist/hooks/useSyncConfig.d.ts +3 -3
- package/dist/hooks/useSyncConfig.d.ts.map +1 -1
- package/dist/hooks/useSyncConfig.js +6 -7
- package/dist/hooks/useSyncConfig.js.map +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -7
- package/dist/index.js.map +1 -1
- package/dist/providers/ConfigContext.d.ts +2 -2
- package/dist/providers/ConfigContext.d.ts.map +1 -1
- package/dist/providers/InitializeProvider.js +5 -5
- package/dist/providers/InitializeProvider.js.map +2 -2
- package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
- package/dist/providers/ServiceClientProvider.js.map +1 -1
- package/dist/providers/ThemeContext.d.ts.map +1 -1
- package/dist/providers/ThemeContext.js +2 -1
- package/dist/providers/ThemeContext.js.map +2 -2
- package/dist/providers/shared-data/SharedDataChangeEvent.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataChangeEvent.js +1 -3
- package/dist/providers/shared-data/SharedDataChangeEvent.js.map +1 -1
- package/dist/providers/shared-data/SharedDataContext.d.ts +1 -1
- package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +6 -6
- package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
- package/dist/styles/patterns.styles.d.ts +1 -0
- package/dist/styles/patterns.styles.d.ts.map +1 -1
- package/dist/styles/patterns.styles.js +12 -1
- package/dist/styles/patterns.styles.js.map +1 -1
- package/dist/styles/tokens.styles.d.ts +2 -1
- package/dist/styles/tokens.styles.d.ts.map +1 -1
- package/dist/styles/tokens.styles.js +1 -1
- package/dist/styles/tokens.styles.js.map +1 -1
- package/docs/data-components.md +34 -5
- package/docs/disclosure.md +28 -8
- package/docs/display.md +19 -2
- package/docs/feedback.md +35 -12
- package/docs/form-controls.md +289 -33
- package/docs/hooks.md +21 -9
- package/docs/layout.md +15 -3
- package/docs/providers.md +120 -8
- package/docs/styling.md +90 -0
- package/package.json +3 -3
- package/src/components/data/Pagination.tsx +26 -22
- package/src/components/data/Table.tsx +1 -1
- package/src/components/data/calendar/Calendar.tsx +19 -5
- package/src/components/data/kanban/Kanban.tsx +72 -35
- package/src/components/data/list/List.tsx +11 -4
- package/src/components/data/list/ListItem.tsx +12 -2
- package/src/components/data/permission-table/PermissionTable.tsx +32 -5
- package/src/components/data/sheet/DataSheet.styles.ts +24 -6
- package/src/components/data/sheet/DataSheet.tsx +215 -149
- package/src/components/data/sheet/DataSheetColumn.tsx +5 -1
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +27 -5
- package/src/components/data/sheet/sheetUtils.ts +12 -3
- package/src/components/data/sheet/types.ts +2 -2
- package/src/components/disclosure/Collapse.tsx +14 -3
- package/src/components/disclosure/Dialog.tsx +122 -106
- package/src/components/disclosure/DialogContext.ts +8 -5
- package/src/components/disclosure/DialogProvider.tsx +19 -7
- package/src/components/disclosure/Dropdown.tsx +12 -2
- package/src/components/disclosure/Tabs.tsx +29 -5
- package/src/components/display/Alert.tsx +3 -4
- package/src/components/display/Card.tsx +1 -2
- package/src/components/display/Echarts.tsx +12 -5
- package/src/components/display/Link.tsx +22 -0
- package/src/components/feedback/Progress.tsx +9 -5
- package/src/components/feedback/{loading/LoadingContainer.tsx → busy/BusyContainer.tsx} +52 -19
- package/src/components/feedback/busy/BusyContext.ts +20 -0
- package/src/components/feedback/{loading/LoadingProvider.tsx → busy/BusyProvider.tsx} +10 -10
- package/src/components/feedback/notification/NotificationBanner.tsx +14 -3
- package/src/components/feedback/notification/NotificationBell.tsx +21 -15
- package/src/components/feedback/notification/NotificationContext.ts +4 -1
- package/src/components/feedback/notification/NotificationProvider.tsx +4 -1
- package/src/components/form-control/Button.tsx +8 -3
- package/src/components/form-control/DropdownTrigger.styles.ts +7 -1
- package/src/components/form-control/Invalid.tsx +114 -48
- package/src/components/form-control/ThemeToggle.tsx +9 -18
- package/src/components/form-control/checkbox/Checkbox.styles.ts +7 -10
- package/src/components/form-control/checkbox/Checkbox.tsx +39 -28
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +18 -97
- package/src/components/form-control/checkbox/Radio.tsx +39 -28
- package/src/components/form-control/checkbox/RadioGroup.tsx +18 -92
- package/src/components/form-control/color-picker/ColorPicker.tsx +51 -18
- package/src/components/form-control/combobox/Combobox.tsx +53 -35
- package/src/components/form-control/editor/EditorToolbar.tsx +19 -19
- package/src/components/form-control/editor/RichTextEditor.tsx +22 -4
- package/src/components/form-control/field/DatePicker.tsx +99 -93
- package/src/components/form-control/field/DateTimePicker.tsx +115 -96
- package/src/components/form-control/field/Field.styles.ts +62 -3
- package/src/components/form-control/field/FieldPlaceholder.tsx +18 -0
- package/src/components/form-control/field/NumberInput.tsx +136 -84
- package/src/components/form-control/field/TextInput.tsx +135 -88
- package/src/components/form-control/field/Textarea.tsx +126 -99
- package/src/components/form-control/field/TimePicker.tsx +101 -71
- package/src/components/form-control/select/Select.tsx +75 -42
- package/src/components/form-control/select/SelectItem.tsx +3 -1
- package/src/components/form-control/state-preset/StatePreset.tsx +41 -22
- package/src/components/layout/FormGroup.tsx +11 -2
- package/src/components/layout/sidebar/Sidebar.tsx +3 -2
- package/src/components/layout/sidebar/SidebarContainer.tsx +8 -1
- package/src/components/layout/sidebar/SidebarMenu.tsx +8 -2
- package/src/components/layout/sidebar/SidebarUser.tsx +12 -7
- package/src/components/layout/topbar/Topbar.tsx +1 -1
- package/src/components/layout/topbar/TopbarMenu.tsx +27 -5
- package/src/components/layout/topbar/TopbarUser.tsx +5 -1
- package/src/helpers/createAppStructure.ts +29 -15
- package/src/helpers/mergeStyles.ts +6 -2
- package/src/helpers/splitSlots.ts +4 -1
- package/src/hooks/createControllableSignal.ts +2 -1
- package/src/hooks/createItemTemplate.tsx +42 -0
- package/src/hooks/createPointerDrag.ts +28 -0
- package/src/hooks/createSelectionGroup.tsx +235 -0
- package/src/hooks/useClipboardValueCopy.ts +5 -2
- package/src/hooks/useLocalStorage.ts +11 -5
- package/src/hooks/usePrint.ts +9 -4
- package/src/hooks/{createPwaUpdate.ts → usePwaUpdate.ts} +1 -1
- package/src/hooks/useRouterLink.ts +3 -1
- package/src/hooks/useSyncConfig.ts +9 -13
- package/src/index.ts +6 -7
- package/src/providers/ConfigContext.ts +2 -2
- package/src/providers/InitializeProvider.tsx +4 -4
- package/src/providers/ServiceClientProvider.tsx +14 -3
- package/src/providers/ThemeContext.tsx +12 -3
- package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -3
- package/src/providers/shared-data/SharedDataContext.ts +1 -1
- package/src/providers/shared-data/SharedDataProvider.tsx +13 -8
- package/src/styles/patterns.styles.ts +13 -1
- package/src/styles/tokens.styles.ts +2 -1
- package/tailwind.config.ts +9 -0
- package/tailwind.css +1 -1
- package/dist/components/display/Card.css +0 -15
- package/dist/components/feedback/loading/LoadingContainer.d.ts +0 -12
- package/dist/components/feedback/loading/LoadingContainer.d.ts.map +0 -1
- package/dist/components/feedback/loading/LoadingContainer.js.map +0 -6
- package/dist/components/feedback/loading/LoadingContext.d.ts +0 -11
- package/dist/components/feedback/loading/LoadingContext.d.ts.map +0 -1
- package/dist/components/feedback/loading/LoadingContext.js +0 -14
- package/dist/components/feedback/loading/LoadingContext.js.map +0 -6
- package/dist/components/feedback/loading/LoadingProvider.d.ts +0 -7
- package/dist/components/feedback/loading/LoadingProvider.d.ts.map +0 -1
- package/dist/components/feedback/loading/LoadingProvider.js.map +0 -6
- package/dist/hooks/createPwaUpdate.d.ts.map +0 -1
- package/dist/hooks/createPwaUpdate.js.map +0 -6
- package/src/components/display/Card.css +0 -15
- package/src/components/feedback/loading/LoadingContext.ts +0 -20
- /package/dist/components/feedback/{loading/LoadingContainer.css → busy/BusyContainer.css} +0 -0
- /package/src/components/feedback/{loading/LoadingContainer.css → busy/BusyContainer.css} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/createControllableSignal.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,cAAc,oBAAoB;AAqCpC,SAAS,yBAAiC,SAG9C;AACD,QAAM,CAAC,eAAe,gBAAgB,IAAI,aAAqB,QAAQ,MAAM,CAAC;AAG9E,eAAa,MAAM;AACjB,UAAM,YAAY,QAAQ,MAAM;AAChC,qBAAiB,MAAM,SAAS;AAAA,EAClC,CAAC;AAED,QAAM,eAAe,MAAM,QAAQ,SAAS,MAAM;AAClD,QAAM,QAAQ,MAAO,aAAa,IAAI,QAAQ,MAAM,IAAI,cAAc;AACtE,QAAM,WAAW,CAAC,aAAkD;AAnDtE;AAoDI,UAAM,
|
|
4
|
+
"mappings": "AAAA,SAAS,cAAc,oBAAoB;AAqCpC,SAAS,yBAAiC,SAG9C;AACD,QAAM,CAAC,eAAe,gBAAgB,IAAI,aAAqB,QAAQ,MAAM,CAAC;AAG9E,eAAa,MAAM;AACjB,UAAM,YAAY,QAAQ,MAAM;AAChC,qBAAiB,MAAM,SAAS;AAAA,EAClC,CAAC;AAED,QAAM,eAAe,MAAM,QAAQ,SAAS,MAAM;AAClD,QAAM,QAAQ,MAAO,aAAa,IAAI,QAAQ,MAAM,IAAI,cAAc;AACtE,QAAM,WAAW,CAAC,aAAkD;AAnDtE;AAoDI,UAAM,WACJ,OAAO,aAAa,aAAc,SAAsC,MAAM,CAAC,IAAI;AAErF,QAAI,aAAa,GAAG;AAClB,oBAAQ,SAAS,MAAjB,mBAAqB;AAAA,IACvB,OAAO;AACL,uBAAiB,MAAM,QAAQ;AAAA,IACjC;AAAA,EACF;AAEA,SAAO,CAAC,OAAO,QAAQ;AACzB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { JSX } from "solid-js";
|
|
2
|
+
/**
|
|
3
|
+
* WeakMap 기반 템플릿 슬롯 패턴을 생성합니다. SolidJS children을 통해 렌더 함수를 전달할 때 사용합니다.
|
|
4
|
+
*
|
|
5
|
+
* Select와 Combobox의 ItemTemplate 서브 컴포넌트 패턴에서 사용됩니다.
|
|
6
|
+
* TemplateSlot은 WeakMap에 렌더 함수를 ref로 저장하는 숨겨진 span을 렌더링합니다.
|
|
7
|
+
* getTemplate은 resolved 슬롯 엘리먼트에서 렌더 함수를 가져옵니다.
|
|
8
|
+
*
|
|
9
|
+
* @param dataAttr - 숨겨진 span에 사용할 HTML 속성 이름 (예: "data-select-item-template")
|
|
10
|
+
*/
|
|
11
|
+
export declare function createItemTemplate<TArgs extends unknown[]>(dataAttr: string): {
|
|
12
|
+
TemplateSlot: (props: {
|
|
13
|
+
children(...args: TArgs): JSX.Element;
|
|
14
|
+
}) => JSX.Element;
|
|
15
|
+
getTemplate: (slotElements: Element[]) => ((...args: TArgs) => JSX.Element) | undefined;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=createItemTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createItemTemplate.d.ts","sourceRoot":"","sources":["../../src/hooks/createItemTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,OAAO,EAAE,EACxD,QAAQ,EAAE,MAAM,GACf;IACD,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAChF,WAAW,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACzF,CAyBA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { use as _$use } from "solid-js/web";
|
|
3
|
+
import { spread as _$spread } from "solid-js/web";
|
|
4
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
5
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<span>`);
|
|
6
|
+
function createItemTemplate(dataAttr) {
|
|
7
|
+
const templateFnMap = /* @__PURE__ */ new WeakMap();
|
|
8
|
+
function TemplateSlot(props) {
|
|
9
|
+
return (() => {
|
|
10
|
+
var _el$ = _tmpl$();
|
|
11
|
+
_$use((el) => {
|
|
12
|
+
templateFnMap.set(el, props.children);
|
|
13
|
+
}, _el$);
|
|
14
|
+
_$spread(_el$, _$mergeProps({
|
|
15
|
+
[dataAttr]: true
|
|
16
|
+
}, {
|
|
17
|
+
"style": {
|
|
18
|
+
display: "none"
|
|
19
|
+
}
|
|
20
|
+
}), false, false);
|
|
21
|
+
return _el$;
|
|
22
|
+
})();
|
|
23
|
+
}
|
|
24
|
+
function getTemplate(slotElements) {
|
|
25
|
+
if (slotElements.length === 0) return void 0;
|
|
26
|
+
const el = slotElements[0];
|
|
27
|
+
if (el instanceof HTMLElement) {
|
|
28
|
+
return templateFnMap.get(el);
|
|
29
|
+
}
|
|
30
|
+
return void 0;
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
TemplateSlot,
|
|
34
|
+
getTemplate
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
createItemTemplate
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=createItemTemplate.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/createItemTemplate.tsx"],
|
|
4
|
+
"mappings": ";;;;;AAWO,SAASA,mBACdC,UAIA;AACA,QAAMC,gBAAgB,oBAAIC,QAAsD;AAEhF,WAASC,aAAaC,OAA+D;AACnF,YAAA,MAAA;AAAA,UAAAC,OAAAC,OAAA;AAAAC,YAEUC,QAAO;AACXP,sBAAcQ,IAAID,IAAIJ,MAAMM,QAAQ;MACtC,GAACL,IAAA;AAAAM,eAAAN,MAAAO,aACG;QAAE,CAACZ,QAAQ,GAAG;MAAK,GAAC;QAAA,SACjB;UAAEa,SAAS;QAAO;MAAC,CAAA,GAAA,OAAA,KAAA;AAAA,aAAAR;IAAA,GAAA;EAGhC;AAEA,WAASS,YAAYC,cAAwE;AAC3F,QAAIA,aAAaC,WAAW,EAAG,QAAOC;AACtC,UAAMT,KAAKO,aAAa,CAAC;AACzB,QAAIP,cAAcU,aAAa;AAC7B,aAAOjB,cAAckB,IAAIX,EAAE;IAC7B;AACA,WAAOS;EACT;AAEA,SAAO;IAAEd;IAAcW;EAAY;AACrC;",
|
|
5
|
+
"names": ["createItemTemplate", "dataAttr", "templateFnMap", "WeakMap", "TemplateSlot", "props", "_el$", "_tmpl$", "_$use", "el", "set", "children", "_$spread", "_$mergeProps", "display", "getTemplate", "slotElements", "length", "undefined", "HTMLElement", "get"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sets up pointer capture and manages pointermove/pointerup lifecycle on a target element.
|
|
3
|
+
*
|
|
4
|
+
* @param target - Element to capture pointer on
|
|
5
|
+
* @param pointerId - Pointer ID from the initiating PointerEvent
|
|
6
|
+
* @param options.onMove - Called on each pointermove
|
|
7
|
+
* @param options.onEnd - Called on pointerup (after listener cleanup)
|
|
8
|
+
*/
|
|
9
|
+
export declare function createPointerDrag(target: HTMLElement, pointerId: number, options: {
|
|
10
|
+
onMove: (e: PointerEvent) => void;
|
|
11
|
+
onEnd: (e: PointerEvent) => void;
|
|
12
|
+
}): void;
|
|
13
|
+
//# sourceMappingURL=createPointerDrag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPointerDrag.d.ts","sourceRoot":"","sources":["../../src/hooks/createPointerDrag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IACP,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAClC,GACA,IAAI,CAYN"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function createPointerDrag(target, pointerId, options) {
|
|
2
|
+
target.setPointerCapture(pointerId);
|
|
3
|
+
const onPointerMove = (e) => options.onMove(e);
|
|
4
|
+
const onPointerUp = (e) => {
|
|
5
|
+
target.removeEventListener("pointermove", onPointerMove);
|
|
6
|
+
target.removeEventListener("pointerup", onPointerUp);
|
|
7
|
+
options.onEnd(e);
|
|
8
|
+
};
|
|
9
|
+
target.addEventListener("pointermove", onPointerMove);
|
|
10
|
+
target.addEventListener("pointerup", onPointerUp);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
createPointerDrag
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=createPointerDrag.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/createPointerDrag.ts"],
|
|
4
|
+
"mappings": "AAQO,SAAS,kBACd,QACA,WACA,SAIM;AACN,SAAO,kBAAkB,SAAS;AAElC,QAAM,gBAAgB,CAAC,MAAoB,QAAQ,OAAO,CAAC;AAC3D,QAAM,cAAc,CAAC,MAAoB;AACvC,WAAO,oBAAoB,eAAe,aAAa;AACvD,WAAO,oBAAoB,aAAa,WAAW;AACnD,YAAQ,MAAM,CAAC;AAAA,EACjB;AAEA,SAAO,iBAAiB,eAAe,aAAa;AACpD,SAAO,iBAAiB,aAAa,WAAW;AAClD;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import type { CheckboxSize } from "../components/form-control/checkbox/Checkbox.styles";
|
|
3
|
+
interface SelectionItemComponentProps {
|
|
4
|
+
value: boolean;
|
|
5
|
+
onValueChange?: (value: boolean) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
size?: CheckboxSize;
|
|
8
|
+
inline?: boolean;
|
|
9
|
+
inset?: boolean;
|
|
10
|
+
children?: JSX.Element;
|
|
11
|
+
}
|
|
12
|
+
interface MultiGroupConfig {
|
|
13
|
+
mode: "multiple";
|
|
14
|
+
contextName: string;
|
|
15
|
+
ItemComponent: (props: SelectionItemComponentProps) => JSX.Element;
|
|
16
|
+
emptyErrorMsg: string;
|
|
17
|
+
}
|
|
18
|
+
interface SingleGroupConfig {
|
|
19
|
+
mode: "single";
|
|
20
|
+
contextName: string;
|
|
21
|
+
ItemComponent: (props: SelectionItemComponentProps) => JSX.Element;
|
|
22
|
+
emptyErrorMsg: string;
|
|
23
|
+
}
|
|
24
|
+
interface SelectionGroupItemProps<TValue> {
|
|
25
|
+
value: TValue;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
children?: JSX.Element;
|
|
28
|
+
}
|
|
29
|
+
interface MultiGroupProps<TValue> {
|
|
30
|
+
value?: TValue[];
|
|
31
|
+
onValueChange?: (value: TValue[]) => void;
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
size?: CheckboxSize;
|
|
34
|
+
inline?: boolean;
|
|
35
|
+
inset?: boolean;
|
|
36
|
+
required?: boolean;
|
|
37
|
+
validate?: (value: TValue[]) => string | undefined;
|
|
38
|
+
touchMode?: boolean;
|
|
39
|
+
class?: string;
|
|
40
|
+
style?: JSX.CSSProperties;
|
|
41
|
+
children?: JSX.Element;
|
|
42
|
+
}
|
|
43
|
+
interface SingleGroupProps<TValue> {
|
|
44
|
+
value?: TValue;
|
|
45
|
+
onValueChange?: (value: TValue) => void;
|
|
46
|
+
disabled?: boolean;
|
|
47
|
+
size?: CheckboxSize;
|
|
48
|
+
inline?: boolean;
|
|
49
|
+
inset?: boolean;
|
|
50
|
+
required?: boolean;
|
|
51
|
+
validate?: (value: TValue | undefined) => string | undefined;
|
|
52
|
+
touchMode?: boolean;
|
|
53
|
+
class?: string;
|
|
54
|
+
style?: JSX.CSSProperties;
|
|
55
|
+
children?: JSX.Element;
|
|
56
|
+
}
|
|
57
|
+
export declare function createSelectionGroup(config: MultiGroupConfig): {
|
|
58
|
+
Group: {
|
|
59
|
+
<TValue = unknown>(props: MultiGroupProps<TValue>): JSX.Element;
|
|
60
|
+
Item: <TValue = unknown>(props: SelectionGroupItemProps<TValue>) => JSX.Element;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
export declare function createSelectionGroup(config: SingleGroupConfig): {
|
|
64
|
+
Group: {
|
|
65
|
+
<TValue = unknown>(props: SingleGroupProps<TValue>): JSX.Element;
|
|
66
|
+
Item: <TValue = unknown>(props: SelectionGroupItemProps<TValue>) => JSX.Element;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=createSelectionGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSelectionGroup.d.ts","sourceRoot":"","sources":["../../src/hooks/createSelectionGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { insert as _$insert } from "solid-js/web";
|
|
3
|
+
import { spread as _$spread } from "solid-js/web";
|
|
4
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
5
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
6
|
+
import { memo as _$memo } from "solid-js/web";
|
|
7
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<div>`);
|
|
8
|
+
import { createContext, createMemo, splitProps, useContext } from "solid-js";
|
|
9
|
+
import { twMerge } from "tailwind-merge";
|
|
10
|
+
import { createControllableSignal } from "./createControllableSignal.js";
|
|
11
|
+
import { Invalid } from "../components/form-control/Invalid.js";
|
|
12
|
+
function createSelectionGroup(config) {
|
|
13
|
+
const Context = createContext();
|
|
14
|
+
const ItemComponent = config.ItemComponent;
|
|
15
|
+
function ItemInner(props) {
|
|
16
|
+
const ctx = useContext(Context);
|
|
17
|
+
if (!ctx) throw new Error(`${config.contextName}.Item\uC740 ${config.contextName} \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4`);
|
|
18
|
+
const isSelected = () => {
|
|
19
|
+
if (config.mode === "multiple") {
|
|
20
|
+
return ctx.value().includes(props.value);
|
|
21
|
+
}
|
|
22
|
+
return ctx.value() === props.value;
|
|
23
|
+
};
|
|
24
|
+
const handleChange = () => {
|
|
25
|
+
if (config.mode === "multiple") {
|
|
26
|
+
ctx.toggle(props.value);
|
|
27
|
+
} else {
|
|
28
|
+
ctx.select(props.value);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return _$createComponent(ItemComponent, {
|
|
32
|
+
get value() {
|
|
33
|
+
return isSelected();
|
|
34
|
+
},
|
|
35
|
+
onValueChange: handleChange,
|
|
36
|
+
get disabled() {
|
|
37
|
+
return props.disabled ?? ctx.disabled();
|
|
38
|
+
},
|
|
39
|
+
get size() {
|
|
40
|
+
return ctx.size();
|
|
41
|
+
},
|
|
42
|
+
get inline() {
|
|
43
|
+
return ctx.inline();
|
|
44
|
+
},
|
|
45
|
+
get inset() {
|
|
46
|
+
return ctx.inset();
|
|
47
|
+
},
|
|
48
|
+
get children() {
|
|
49
|
+
return props.children;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const GroupInner = (props) => {
|
|
54
|
+
const [local, rest] = splitProps(props, ["value", "onValueChange", "disabled", "size", "inline", "inset", "required", "validate", "touchMode", "class", "style", "children"]);
|
|
55
|
+
let contextValue;
|
|
56
|
+
if (config.mode === "multiple") {
|
|
57
|
+
const [value, setValue] = createControllableSignal({
|
|
58
|
+
value: () => local.value ?? [],
|
|
59
|
+
onChange: () => local.onValueChange
|
|
60
|
+
});
|
|
61
|
+
const toggle = (item) => {
|
|
62
|
+
setValue((prev) => {
|
|
63
|
+
if (prev.includes(item)) return prev.filter((v) => v !== item);
|
|
64
|
+
return [...prev, item];
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
contextValue = {
|
|
68
|
+
value,
|
|
69
|
+
toggle,
|
|
70
|
+
disabled: () => local.disabled ?? false,
|
|
71
|
+
size: () => local.size,
|
|
72
|
+
inline: () => local.inline ?? false,
|
|
73
|
+
inset: () => local.inset ?? false
|
|
74
|
+
};
|
|
75
|
+
} else {
|
|
76
|
+
const [value, setValue] = createControllableSignal({
|
|
77
|
+
value: () => local.value,
|
|
78
|
+
onChange: () => local.onValueChange
|
|
79
|
+
});
|
|
80
|
+
const select = (item) => {
|
|
81
|
+
setValue(item);
|
|
82
|
+
};
|
|
83
|
+
contextValue = {
|
|
84
|
+
value,
|
|
85
|
+
select,
|
|
86
|
+
disabled: () => local.disabled ?? false,
|
|
87
|
+
size: () => local.size,
|
|
88
|
+
inline: () => local.inline ?? false,
|
|
89
|
+
inset: () => local.inset ?? false
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const errorMsg = createMemo(() => {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
if (config.mode === "multiple") {
|
|
95
|
+
const v = local.value ?? [];
|
|
96
|
+
if (local.required && v.length === 0) return config.emptyErrorMsg;
|
|
97
|
+
return (_a = local.validate) == null ? void 0 : _a.call(local, v);
|
|
98
|
+
} else {
|
|
99
|
+
const v = local.value;
|
|
100
|
+
if (local.required && (v === void 0 || v === null)) return config.emptyErrorMsg;
|
|
101
|
+
return (_b = local.validate) == null ? void 0 : _b.call(local, v);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
return _$createComponent(Invalid, {
|
|
105
|
+
get message() {
|
|
106
|
+
return errorMsg();
|
|
107
|
+
},
|
|
108
|
+
variant: "dot",
|
|
109
|
+
get touchMode() {
|
|
110
|
+
return local.touchMode;
|
|
111
|
+
},
|
|
112
|
+
get children() {
|
|
113
|
+
return _$createComponent(Context.Provider, {
|
|
114
|
+
value: contextValue,
|
|
115
|
+
get children() {
|
|
116
|
+
var _el$ = _tmpl$();
|
|
117
|
+
_$spread(_el$, _$mergeProps(rest, {
|
|
118
|
+
get ["class"]() {
|
|
119
|
+
return twMerge("inline-flex", local.class);
|
|
120
|
+
},
|
|
121
|
+
get style() {
|
|
122
|
+
return local.style;
|
|
123
|
+
}
|
|
124
|
+
}), false, true);
|
|
125
|
+
_$insert(_el$, () => local.children);
|
|
126
|
+
return _el$;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
const Group = GroupInner;
|
|
133
|
+
Group.Item = ItemInner;
|
|
134
|
+
return {
|
|
135
|
+
Group
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
export {
|
|
139
|
+
createSelectionGroup
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=createSelectionGroup.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/createSelectionGroup.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["createContext", "createMemo", "splitProps", "useContext", "twMerge", "createControllableSignal", "Invalid", "createSelectionGroup", "config", "Context", "ItemComponent", "ItemInner", "props", "ctx", "Error", "contextName", "isSelected", "mode", "value", "includes", "handleChange", "toggle", "select", "_$createComponent", "onValueChange", "disabled", "size", "inline", "inset", "children", "GroupInner", "local", "rest", "contextValue", "setValue", "onChange", "item", "prev", "filter", "v", "errorMsg", "required", "length", "emptyErrorMsg", "validate", "undefined", "message", "variant", "touchMode", "Provider", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "class", "style", "_$insert", "Group", "Item"]
|
|
6
|
+
}
|
|
@@ -18,7 +18,9 @@ function extractTextFromRange(range) {
|
|
|
18
18
|
const root = range.commonAncestorContainer instanceof Element ? range.commonAncestorContainer : range.commonAncestorContainer.parentElement;
|
|
19
19
|
if (!root) return null;
|
|
20
20
|
const formSelector = 'input:not([type=hidden]), textarea, select, [role="checkbox"], [role="radio"]';
|
|
21
|
-
const hasFormElements = [...root.querySelectorAll(formSelector)].some(
|
|
21
|
+
const hasFormElements = [...root.querySelectorAll(formSelector)].some(
|
|
22
|
+
(el) => range.intersectsNode(el)
|
|
23
|
+
);
|
|
22
24
|
if (!hasFormElements) return null;
|
|
23
25
|
const parts = [];
|
|
24
26
|
const walk = (node) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useClipboardValueCopy.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,eAAe;AAe5B,SAAS,wBAA8B;AAC5C,UAAQ,MAAM;AACZ,UAAM,UAAU,CAAC,MAAsB;AACrC,YAAM,MAAM,OAAO,aAAa;AAChC,UAAI,CAAC,OAAO,IAAI,eAAe,IAAI,eAAe,EAAG;AAErD,YAAM,QAAQ,IAAI,WAAW,CAAC;AAC9B,YAAM,OAAO,qBAAqB,KAAK;AACvC,UAAI,QAAQ,KAAM;AAElB,QAAE,cAAe,QAAQ,cAAc,IAAI;AAC3C,QAAE,eAAe;AAAA,IACnB;AAEA,aAAS,iBAAiB,QAAQ,OAAO;AACzC,cAAU,MAAM,SAAS,oBAAoB,QAAQ,OAAO,CAAC;AAAA,EAC/D,CAAC;AACH;AAQA,SAAS,qBAAqB,OAA6B;AACzD,QAAM,OACJ,MAAM,mCAAmC,UACrC,MAAM,0BACN,MAAM,wBAAwB;AACpC,MAAI,CAAC,KAAM,QAAO;AAGlB,QAAM,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type Accessor
|
|
1
|
+
import { type Accessor } from "solid-js";
|
|
2
|
+
type StorageSetter<TValue> = (value: TValue | undefined | ((prev: TValue | undefined) => TValue | undefined)) => TValue | undefined;
|
|
2
3
|
/**
|
|
3
4
|
* localStorage 기반 저장소 훅.
|
|
4
5
|
* syncStorage 설정과 무관하게 항상 localStorage를 사용한다.
|
|
@@ -9,7 +10,7 @@ import { type Accessor, type Setter } from "solid-js";
|
|
|
9
10
|
* @template T - 저장할 값의 타입
|
|
10
11
|
* @param key - localStorage 키
|
|
11
12
|
* @param initialValue - 초기값 (옵셔널)
|
|
12
|
-
* @returns [Accessor<T | undefined>,
|
|
13
|
+
* @returns [Accessor<T | undefined>, StorageSetter<T>] 튜플
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
15
16
|
* ```tsx
|
|
@@ -25,5 +26,6 @@ import { type Accessor, type Setter } from "solid-js";
|
|
|
25
26
|
* setToken(undefined);
|
|
26
27
|
* ```
|
|
27
28
|
*/
|
|
28
|
-
export declare function useLocalStorage<TValue>(key: string, initialValue?: TValue): [Accessor<TValue | undefined>,
|
|
29
|
+
export declare function useLocalStorage<TValue>(key: string, initialValue?: TValue): [Accessor<TValue | undefined>, StorageSetter<TValue>];
|
|
30
|
+
export {};
|
|
29
31
|
//# sourceMappingURL=useLocalStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,UAAU,CAAC;AAGvD,KAAK,aAAa,CAAC,MAAM,IAAI,CAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC,KAC3E,MAAM,GAAG,SAAS,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EACpC,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAwCvD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useLocalStorage.ts"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "AAAA,SAAwB,oBAAoB;AAC5C,SAAS,iBAAiB;AAgCnB,SAAS,gBACd,KACA,cACuD;AACvD,QAAM,SAAS,UAAU;AACzB,QAAM,cAAc,GAAG,OAAO,UAAU,IAAI,GAAG;AAG/C,MAAI,cAAkC;AACtC,MAAI;AACF,UAAM,OAAO,aAAa,QAAQ,WAAW;AAC7C,QAAI,SAAS,MAAM;AACjB,oBAAc,KAAK,MAAM,IAAI;AAAA,IAC/B;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAiC,WAAW;AAEtE,QAAM,cAAc,CAClB,aACG;AACH,QAAI;AAEJ,QAAI,OAAO,aAAa,YAAY;AAClC,iBAAY,SAA8D,MAAM,CAAC;AACjF,eAAS,MAAM,QAAQ;AAAA,IACzB,OAAO;AACL,iBAAW;AACX,eAAS,MAAM,QAAQ;AAAA,IACzB;AAEA,QAAI,aAAa,QAAW;AAC1B,mBAAa,WAAW,WAAW;AAAA,IACrC,OAAO;AACL,mBAAa,QAAQ,aAAa,KAAK,UAAU,QAAQ,CAAC;AAAA,IAC5D;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,CAAC,OAAO,WAAW;AAC5B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrint.d.ts","sourceRoot":"","sources":["../../src/hooks/usePrint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"usePrint.d.ts","sourceRoot":"","sources":["../../src/hooks/usePrint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAYpC,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACpF;AAmHD,wBAAgB,QAAQ,IAAI,cAAc,CAkJzC"}
|
package/dist/hooks/usePrint.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { render } from "solid-js/web";
|
|
2
2
|
import { jsPDF } from "jspdf";
|
|
3
3
|
import * as htmlToImage from "html-to-image";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useBusy } from "../components/feedback/busy/BusyContext.js";
|
|
5
|
+
import {
|
|
6
|
+
PrintInstanceContext
|
|
7
|
+
} from "../components/feedback/print/PrintInstanceContext.js";
|
|
6
8
|
const PAPER_SIZES = {
|
|
7
9
|
a3: [841.89, 1190.55],
|
|
8
10
|
a4: [595.28, 841.89],
|
|
@@ -85,7 +87,7 @@ async function renderAndWait(factory) {
|
|
|
85
87
|
return { container, dispose };
|
|
86
88
|
}
|
|
87
89
|
function usePrint() {
|
|
88
|
-
const busy =
|
|
90
|
+
const busy = useBusy();
|
|
89
91
|
const toPrinter = async (factory, options) => {
|
|
90
92
|
busy.show();
|
|
91
93
|
let container;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/usePrint.ts"],
|
|
4
|
-
"mappings": "AACA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,YAAY,iBAAiB;AAC7B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePwaUpdate.d.ts","sourceRoot":"","sources":["../../src/hooks/usePwaUpdate.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAuDnC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { onCleanup } from "solid-js";
|
|
2
2
|
import { useNotification } from "../components/feedback/notification/NotificationContext.js";
|
|
3
3
|
const UPDATE_INTERVAL = 5 * 60 * 1e3;
|
|
4
|
-
function
|
|
4
|
+
function usePwaUpdate() {
|
|
5
5
|
if (typeof navigator === "undefined" || !("serviceWorker" in navigator)) return;
|
|
6
6
|
const notification = useNotification();
|
|
7
7
|
let intervalId;
|
|
@@ -45,6 +45,6 @@ function createPwaUpdate() {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
export {
|
|
48
|
-
|
|
48
|
+
usePwaUpdate
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=usePwaUpdate.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/usePwaUpdate.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAEhC,MAAM,kBAAkB,IAAI,KAAK;AAc1B,SAAS,eAAqB;AACnC,MAAI,OAAO,cAAc,eAAe,EAAE,mBAAmB,WAAY;AAEzE,QAAM,eAAe,gBAAgB;AACrC,MAAI;AAEJ,OAAK,UAAU,cAAc,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;AACpE,QAAI,gBAAgB,KAAM;AAG1B,iBAAa,YAAY,MAAM;AAC7B,WAAK,aAAa,OAAO;AAAA,IAC3B,GAAG,eAAe;AAGlB,QAAI,aAAa,WAAW,MAAM;AAChC,mBAAa,aAAa,OAAO;AAAA,IACnC;AAGA,iBAAa,iBAAiB,eAAe,MAAM;AACjD,YAAM,QAAQ,aAAa;AAC3B,UAAI,SAAS,KAAM;AAEnB,YAAM,iBAAiB,eAAe,MAAM;AAC1C,YAAI,MAAM,UAAU,eAAe,UAAU,cAAc,cAAc,MAAM;AAC7E,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAGD,QAAM,qBAAqB,MAAM;AAC/B,WAAO,SAAS,OAAO;AAAA,EACzB;AACA,YAAU,cAAc,iBAAiB,oBAAoB,kBAAkB;AAE/E,YAAU,MAAM;AACd,QAAI,cAAc,MAAM;AACtB,oBAAc,UAAU;AAAA,IAC1B;AACA,cAAU,cAAc,oBAAoB,oBAAoB,kBAAkB;AAAA,EACpF,CAAC;AAED,WAAS,aAAa,WAAgC;AACpD,iBAAa,KAAK,uEAAgB,2HAA4B;AAAA,MAC5D,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,SAAS,MAAM;AACb,oBAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAAA,QAChD;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRouterLink.d.ts","sourceRoot":"","sources":["../../src/hooks/useRouterLink.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC,wBAAwB;IACxB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,IAAI,
|
|
1
|
+
{"version":3,"file":"useRouterLink.d.ts","sourceRoot":"","sources":["../../src/hooks/useRouterLink.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC,wBAAwB;IACxB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,IAAI,CAC/B,OAAO,EAAE,iBAAiB,KACvB,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAsB3C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useRouterLink.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,mBAAmB;AAyCrB,SAAS,
|
|
4
|
+
"mappings": "AAAA,SAAS,mBAAmB;AAyCrB,SAAS,gBAE6B;AAC3C,QAAM,WAAW,YAAY;AAE7B,SAAO,CAAC,YAA+B;AACrC,WAAO,CAAC,MAAkC;AA/C9C;AAgDM,QAAE,eAAe;AACjB,QAAE,gBAAgB;AAElB,UAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ;AAEtC,eAAO,KAAK,QAAQ,MAAM,QAAQ;AAAA,MACpC,WAAW,EAAE,UAAU;AAErB,cAAM,UAAQ,aAAQ,WAAR,mBAAgB,UAAS;AACvC,cAAM,WAAS,aAAQ,WAAR,mBAAgB,WAAU;AACzC,eAAO,KAAK,QAAQ,MAAM,IAAI,SAAS,KAAK,WAAW,MAAM,EAAE;AAAA,MACjE,OAAO;AAEL,iBAAS,QAAQ,MAAM,QAAQ,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,MAAS;AAAA,MAC7E;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -7,13 +7,13 @@ import { type Accessor, type Setter } from "solid-js";
|
|
|
7
7
|
*
|
|
8
8
|
* @param key - Storage key for the config value
|
|
9
9
|
* @param defaultValue - Default value if no stored value exists
|
|
10
|
-
* @returns Tuple of [value accessor, value setter,
|
|
10
|
+
* @returns Tuple of [value accessor, value setter, ready state accessor]
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```tsx
|
|
14
|
-
* const [theme, setTheme,
|
|
14
|
+
* const [theme, setTheme, ready] = useSyncConfig("user-theme", "light");
|
|
15
15
|
*
|
|
16
|
-
* <Show when={
|
|
16
|
+
* <Show when={ready()}>
|
|
17
17
|
* <button onClick={() => setTheme(theme() === "light" ? "dark" : "light")}>
|
|
18
18
|
* Toggle theme
|
|
19
19
|
* </button>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"useSyncConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAA8B,MAAM,UAAU,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAsEvD"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createEffect, createSignal
|
|
1
|
+
import { createEffect, createSignal } from "solid-js";
|
|
2
2
|
import { useConfig } from "../providers/ConfigContext.js";
|
|
3
3
|
function useSyncConfig(key, defaultValue) {
|
|
4
4
|
const config = useConfig();
|
|
5
5
|
const prefixedKey = `${config.clientName}.${key}`;
|
|
6
6
|
const [value, setValue] = createSignal(defaultValue);
|
|
7
|
-
const [
|
|
7
|
+
const [ready, setReady] = createSignal(false);
|
|
8
8
|
const initializeFromStorage = async () => {
|
|
9
9
|
if (!config.syncStorage) {
|
|
10
10
|
try {
|
|
@@ -14,9 +14,9 @@ function useSyncConfig(key, defaultValue) {
|
|
|
14
14
|
}
|
|
15
15
|
} catch {
|
|
16
16
|
}
|
|
17
|
+
setReady(true);
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
|
-
setLoading(true);
|
|
20
20
|
try {
|
|
21
21
|
const stored = await config.syncStorage.getItem(prefixedKey);
|
|
22
22
|
if (stored !== null) {
|
|
@@ -31,11 +31,12 @@ function useSyncConfig(key, defaultValue) {
|
|
|
31
31
|
} catch {
|
|
32
32
|
}
|
|
33
33
|
} finally {
|
|
34
|
-
|
|
34
|
+
setReady(true);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
void initializeFromStorage();
|
|
38
38
|
createEffect(() => {
|
|
39
|
+
if (!ready()) return;
|
|
39
40
|
const currentValue = value();
|
|
40
41
|
const serialized = JSON.stringify(currentValue);
|
|
41
42
|
if (!config.syncStorage) {
|
|
@@ -50,9 +51,7 @@ function useSyncConfig(key, defaultValue) {
|
|
|
50
51
|
}
|
|
51
52
|
})();
|
|
52
53
|
});
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
return [value, setValue, loading];
|
|
54
|
+
return [value, setValue, ready];
|
|
56
55
|
}
|
|
57
56
|
export {
|
|
58
57
|
useSyncConfig
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useSyncConfig.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAqC,cAAc,
|
|
4
|
+
"mappings": "AAAA,SAAqC,cAAc,oBAAoB;AACvE,SAAS,iBAAiB;AAuBnB,SAAS,cACd,KACA,cACuD;AACvD,QAAM,SAAS,UAAU;AACzB,QAAM,cAAc,GAAG,OAAO,UAAU,IAAI,GAAG;AAC/C,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAqB,YAAY;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAa,KAAK;AAG5C,QAAM,wBAAwB,YAAY;AACxC,QAAI,CAAC,OAAO,aAAa;AAEvB,UAAI;AACF,cAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,YAAI,WAAW,MAAM;AACnB,mBAAS,MAAM,KAAK,MAAM,MAAM,CAAW;AAAA,QAC7C;AAAA,MACF,QAAQ;AAAA,MAER;AACA,eAAS,IAAI;AACb;AAAA,IACF;AAGA,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,YAAY,QAAQ,WAAW;AAC3D,UAAI,WAAW,MAAM;AACnB,iBAAS,MAAM,KAAK,MAAM,MAAM,CAAW;AAAA,MAC7C;AAAA,IACF,QAAQ;AAEN,UAAI;AACF,cAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,YAAI,WAAW,MAAM;AACnB,mBAAS,MAAM,KAAK,MAAM,MAAM,CAAW;AAAA,QAC7C;AAAA,MACF,QAAQ;AAAA,MAER;AAAA,IACF,UAAE;AACA,eAAS,IAAI;AAAA,IACf;AAAA,EACF;AAGA,OAAK,sBAAsB;AAG3B,eAAa,MAAM;AACjB,QAAI,CAAC,MAAM,EAAG;AACd,UAAM,eAAe,MAAM;AAC3B,UAAM,aAAa,KAAK,UAAU,YAAY;AAE9C,QAAI,CAAC,OAAO,aAAa;AAEvB,mBAAa,QAAQ,aAAa,UAAU;AAC5C;AAAA,IACF;AAGA,UAAM,YAAY;AAChB,UAAI;AACF,cAAM,OAAO,YAAa,QAAQ,aAAa,UAAU;AAAA,MAC3D,QAAQ;AAEN,qBAAa,QAAQ,aAAa,UAAU;AAAA,MAC9C;AAAA,IACF,GAAG;AAAA,EACL,CAAC;AAED,SAAO,CAAC,OAAO,UAAU,KAAK;AAChC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|