@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
|
@@ -16,10 +16,11 @@ import { IconEye, IconEyeOff } from "@tabler/icons-solidjs";
|
|
|
16
16
|
import { Card } from "../../display/Card";
|
|
17
17
|
import { Checkbox } from "../../form-control/checkbox/Checkbox";
|
|
18
18
|
import { Icon } from "../../display/Icon";
|
|
19
|
-
import {
|
|
19
|
+
import { BusyContainer } from "../../feedback/busy/BusyContainer";
|
|
20
20
|
import { createControllableSignal } from "../../../hooks/createControllableSignal";
|
|
21
21
|
import { splitSlots } from "../../../helpers/splitSlots";
|
|
22
22
|
import "./Kanban.css";
|
|
23
|
+
import { iconButtonBase } from "../../../styles/patterns.styles";
|
|
23
24
|
import {
|
|
24
25
|
KanbanContext,
|
|
25
26
|
KanbanLaneContext,
|
|
@@ -34,16 +35,23 @@ import {
|
|
|
34
35
|
|
|
35
36
|
// ─── KanbanLaneTitle ─────────────────────────────────────────────
|
|
36
37
|
|
|
37
|
-
const KanbanLaneTitle: ParentComponent = (props) =>
|
|
38
|
+
const KanbanLaneTitle: ParentComponent = (props) => (
|
|
39
|
+
<div data-kanban-lane-title>{props.children}</div>
|
|
40
|
+
);
|
|
38
41
|
|
|
39
42
|
// ─── KanbanLaneTools ─────────────────────────────────────────────
|
|
40
43
|
|
|
41
|
-
const KanbanLaneTools: ParentComponent = (props) =>
|
|
44
|
+
const KanbanLaneTools: ParentComponent = (props) => (
|
|
45
|
+
<div data-kanban-lane-tools>{props.children}</div>
|
|
46
|
+
);
|
|
42
47
|
|
|
43
48
|
// ─── KanbanCard ──────────────────────────────────────────────────
|
|
44
49
|
|
|
45
|
-
export interface KanbanCardProps extends Omit<
|
|
46
|
-
|
|
50
|
+
export interface KanbanCardProps<TCardValue = unknown> extends Omit<
|
|
51
|
+
JSX.HTMLAttributes<HTMLDivElement>,
|
|
52
|
+
"children" | "draggable"
|
|
53
|
+
> {
|
|
54
|
+
value?: TCardValue;
|
|
47
55
|
draggable?: boolean;
|
|
48
56
|
selectable?: boolean;
|
|
49
57
|
contentClass?: string;
|
|
@@ -52,14 +60,25 @@ export interface KanbanCardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>
|
|
|
52
60
|
|
|
53
61
|
const cardHostClass = clsx("relative block", "transition-opacity duration-200");
|
|
54
62
|
|
|
55
|
-
const cardContentClass = clsx(
|
|
63
|
+
const cardContentClass = clsx(
|
|
64
|
+
"select-none whitespace-normal",
|
|
65
|
+
"animate-none",
|
|
66
|
+
"transition-shadow duration-200",
|
|
67
|
+
);
|
|
56
68
|
|
|
57
69
|
const cardSelectedClass = clsx("ring-2 ring-primary-500/50", "shadow-md dark:shadow-black/30");
|
|
58
70
|
|
|
59
71
|
const LONG_PRESS_MS = 500;
|
|
60
72
|
|
|
61
73
|
const KanbanCard: ParentComponent<KanbanCardProps> = (props) => {
|
|
62
|
-
const [local, rest] = splitProps(props, [
|
|
74
|
+
const [local, rest] = splitProps(props, [
|
|
75
|
+
"children",
|
|
76
|
+
"class",
|
|
77
|
+
"value",
|
|
78
|
+
"draggable",
|
|
79
|
+
"selectable",
|
|
80
|
+
"contentClass",
|
|
81
|
+
]);
|
|
63
82
|
|
|
64
83
|
const boardCtx = useKanbanContext();
|
|
65
84
|
const laneCtx = useKanbanLaneContext();
|
|
@@ -182,7 +201,12 @@ const KanbanCard: ParentComponent<KanbanCardProps> = (props) => {
|
|
|
182
201
|
ref={hostRef}
|
|
183
202
|
data-kanban-card
|
|
184
203
|
draggable={isDraggable()}
|
|
185
|
-
class={twMerge(
|
|
204
|
+
class={twMerge(
|
|
205
|
+
cardHostClass,
|
|
206
|
+
isDraggable() && "cursor-grab",
|
|
207
|
+
isDragSource() && "opacity-30",
|
|
208
|
+
local.class,
|
|
209
|
+
)}
|
|
186
210
|
onDragStart={handleDragStart}
|
|
187
211
|
onDragOver={handleDragOver}
|
|
188
212
|
onDrop={handleDrop}
|
|
@@ -191,7 +215,9 @@ const KanbanCard: ParentComponent<KanbanCardProps> = (props) => {
|
|
|
191
215
|
onPointerCancel={handlePointerCancel}
|
|
192
216
|
onClick={handleClick}
|
|
193
217
|
>
|
|
194
|
-
<Card
|
|
218
|
+
<Card
|
|
219
|
+
class={twMerge(cardContentClass, isSelected() && cardSelectedClass, local.contentClass)}
|
|
220
|
+
>
|
|
195
221
|
{local.children}
|
|
196
222
|
</Card>
|
|
197
223
|
</div>
|
|
@@ -200,8 +226,11 @@ const KanbanCard: ParentComponent<KanbanCardProps> = (props) => {
|
|
|
200
226
|
|
|
201
227
|
// ─── KanbanLane ──────────────────────────────────────────────────
|
|
202
228
|
|
|
203
|
-
export interface KanbanLaneProps extends Omit<
|
|
204
|
-
|
|
229
|
+
export interface KanbanLaneProps<TLaneValue = unknown> extends Omit<
|
|
230
|
+
JSX.HTMLAttributes<HTMLDivElement>,
|
|
231
|
+
"children"
|
|
232
|
+
> {
|
|
233
|
+
value?: TLaneValue;
|
|
205
234
|
busy?: boolean;
|
|
206
235
|
collapsible?: boolean;
|
|
207
236
|
collapsed?: boolean;
|
|
@@ -223,20 +252,12 @@ const laneDragOverClass = clsx("bg-primary-50 dark:bg-primary-950");
|
|
|
223
252
|
const laneHeaderBaseClass = clsx(
|
|
224
253
|
"flex items-center gap-2",
|
|
225
254
|
"px-3 py-2",
|
|
226
|
-
"font-
|
|
255
|
+
"font-bold",
|
|
227
256
|
"text-base-700 dark:text-base-200",
|
|
228
257
|
"select-none",
|
|
229
258
|
);
|
|
230
259
|
|
|
231
|
-
const collapseButtonClass =
|
|
232
|
-
"flex items-center justify-center",
|
|
233
|
-
"size-6 rounded",
|
|
234
|
-
"text-base-500",
|
|
235
|
-
"hover:bg-base-200 hover:text-primary-500",
|
|
236
|
-
"dark:hover:bg-base-800",
|
|
237
|
-
"transition-colors duration-150",
|
|
238
|
-
"cursor-pointer",
|
|
239
|
-
);
|
|
260
|
+
const collapseButtonClass = twMerge(iconButtonBase, "size-6", "hover:text-primary-500");
|
|
240
261
|
|
|
241
262
|
const laneToolsClass = clsx("flex items-center", "gap-1");
|
|
242
263
|
|
|
@@ -267,9 +288,9 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
267
288
|
|
|
268
289
|
const boardCtx = useKanbanContext();
|
|
269
290
|
|
|
270
|
-
const [registeredCards, setRegisteredCards] = createSignal<
|
|
271
|
-
|
|
272
|
-
);
|
|
291
|
+
const [registeredCards, setRegisteredCards] = createSignal<
|
|
292
|
+
Map<string, { value: unknown; selectable: boolean }>
|
|
293
|
+
>(new Map());
|
|
273
294
|
|
|
274
295
|
const registerCard = (id: string, info: { value: unknown; selectable: boolean }) => {
|
|
275
296
|
setRegisteredCards((prev) => new Map(prev).set(id, info));
|
|
@@ -396,7 +417,8 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
396
417
|
placeholderEl.style.height = `${dc.heightOnDrag}px`;
|
|
397
418
|
|
|
398
419
|
// 삽입 위치 계산
|
|
399
|
-
const referenceNode =
|
|
420
|
+
const referenceNode =
|
|
421
|
+
target.position === "before" ? target.element : target.element.nextElementSibling;
|
|
400
422
|
|
|
401
423
|
// 이미 올바른 위치면 DOM 조작 생략
|
|
402
424
|
if (placeholderEl.parentNode === bodyRef && placeholderEl.nextSibling === referenceNode) {
|
|
@@ -414,7 +436,7 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
414
436
|
});
|
|
415
437
|
|
|
416
438
|
return (
|
|
417
|
-
<
|
|
439
|
+
<BusyContainer busy={local.busy} variant="bar">
|
|
418
440
|
<div
|
|
419
441
|
{...rest}
|
|
420
442
|
data-kanban-lane
|
|
@@ -427,12 +449,16 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
427
449
|
<Show when={hasHeader()}>
|
|
428
450
|
<div class={laneHeaderBaseClass}>
|
|
429
451
|
<Show when={local.collapsible}>
|
|
430
|
-
<button
|
|
452
|
+
<button
|
|
453
|
+
type="button"
|
|
454
|
+
class={collapseButtonClass}
|
|
455
|
+
onClick={() => setCollapsed((prev) => !prev)}
|
|
456
|
+
>
|
|
431
457
|
<Icon icon={collapsed() ? IconEyeOff : IconEye} size="1em" />
|
|
432
458
|
</button>
|
|
433
459
|
</Show>
|
|
434
460
|
<Show when={hasSelectableCards()}>
|
|
435
|
-
<Checkbox value={isAllSelected()} onValueChange={handleSelectAll} inline
|
|
461
|
+
<Checkbox value={isAllSelected()} onValueChange={handleSelectAll} inline />
|
|
436
462
|
</Show>
|
|
437
463
|
<div class="flex-1">{slots().kanbanLaneTitle}</div>
|
|
438
464
|
<Show when={slots().kanbanLaneTools.length > 0}>
|
|
@@ -446,7 +472,7 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
446
472
|
</div>
|
|
447
473
|
</Show>
|
|
448
474
|
</div>
|
|
449
|
-
</
|
|
475
|
+
</BusyContainer>
|
|
450
476
|
);
|
|
451
477
|
};
|
|
452
478
|
|
|
@@ -459,17 +485,22 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
459
485
|
|
|
460
486
|
// ─── Kanban (Board) ──────────────────────────────────────────────
|
|
461
487
|
|
|
462
|
-
export interface KanbanProps
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
488
|
+
export interface KanbanProps<TCardValue = unknown, TLaneValue = unknown> extends Omit<
|
|
489
|
+
JSX.HTMLAttributes<HTMLDivElement>,
|
|
490
|
+
"children" | "onDrop"
|
|
491
|
+
> {
|
|
492
|
+
onDrop?: (info: KanbanDropInfo<TLaneValue, TCardValue>) => void;
|
|
493
|
+
selectedValues?: TCardValue[];
|
|
494
|
+
onSelectedValuesChange?: (values: TCardValue[]) => void;
|
|
466
495
|
children?: JSX.Element;
|
|
467
496
|
}
|
|
468
497
|
|
|
469
498
|
const boardBaseClass = clsx("inline-flex flex-nowrap", "h-full", "gap-4");
|
|
470
499
|
|
|
471
500
|
interface KanbanComponent {
|
|
472
|
-
|
|
501
|
+
<TCardValue = unknown, TLaneValue = unknown>(
|
|
502
|
+
props: KanbanProps<TCardValue, TLaneValue>,
|
|
503
|
+
): JSX.Element;
|
|
473
504
|
Lane: typeof KanbanLane;
|
|
474
505
|
Card: typeof KanbanCard;
|
|
475
506
|
LaneTitle: typeof KanbanLaneTitle;
|
|
@@ -477,7 +508,13 @@ interface KanbanComponent {
|
|
|
477
508
|
}
|
|
478
509
|
|
|
479
510
|
const KanbanBase = (props: KanbanProps) => {
|
|
480
|
-
const [local, rest] = splitProps(props, [
|
|
511
|
+
const [local, rest] = splitProps(props, [
|
|
512
|
+
"children",
|
|
513
|
+
"class",
|
|
514
|
+
"onDrop",
|
|
515
|
+
"selectedValues",
|
|
516
|
+
"onSelectedValuesChange",
|
|
517
|
+
]);
|
|
481
518
|
|
|
482
519
|
const [dragCard, setDragCard] = createSignal<KanbanCardRef>();
|
|
483
520
|
|
|
@@ -6,11 +6,15 @@ import { ListItem } from "./ListItem";
|
|
|
6
6
|
|
|
7
7
|
const baseClass = clsx("inline-flex flex-col rounded-md");
|
|
8
8
|
|
|
9
|
-
const rootClass = clsx(
|
|
9
|
+
const rootClass = clsx(
|
|
10
|
+
"border border-base-300 bg-base-50 p-px dark:border-base-700 dark:bg-base-900",
|
|
11
|
+
);
|
|
10
12
|
|
|
11
13
|
const nestedClass = clsx("rounded-none py-1");
|
|
12
14
|
|
|
13
|
-
const insetClass = clsx(
|
|
15
|
+
const insetClass = clsx(
|
|
16
|
+
"w-full border-transparent bg-transparent dark:border-transparent dark:bg-transparent",
|
|
17
|
+
);
|
|
14
18
|
|
|
15
19
|
export interface ListProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
16
20
|
/**
|
|
@@ -89,7 +93,8 @@ const ListBase: ParentComponent<ListProps> = (props) => {
|
|
|
89
93
|
current.click();
|
|
90
94
|
} else {
|
|
91
95
|
// Collapse의 이전 형제가 부모 button
|
|
92
|
-
const parentItem = current.closest("[data-collapse]")
|
|
96
|
+
const parentItem = current.closest("[data-collapse]")
|
|
97
|
+
?.previousElementSibling as HTMLElement | null;
|
|
93
98
|
if (parentItem?.hasAttribute("data-list-item")) {
|
|
94
99
|
parentItem.focus();
|
|
95
100
|
}
|
|
@@ -100,7 +105,9 @@ const ListBase: ParentComponent<ListProps> = (props) => {
|
|
|
100
105
|
const current = e.target as HTMLElement;
|
|
101
106
|
if (!current.hasAttribute("data-list-item")) return;
|
|
102
107
|
|
|
103
|
-
const allItems = [
|
|
108
|
+
const allItems = [
|
|
109
|
+
...listRef.querySelectorAll('[data-list-item]:not([aria-disabled="true"])'),
|
|
110
|
+
] as HTMLElement[];
|
|
104
111
|
const visibleItems = allItems.filter((el) => isVisible(el));
|
|
105
112
|
const idx = visibleItems.indexOf(current);
|
|
106
113
|
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
children,
|
|
3
|
+
type Component,
|
|
4
|
+
type JSX,
|
|
5
|
+
type ParentComponent,
|
|
6
|
+
Show,
|
|
7
|
+
splitProps,
|
|
8
|
+
} from "solid-js";
|
|
2
9
|
import { IconChevronDown, type IconProps } from "@tabler/icons-solidjs";
|
|
3
10
|
import { Icon } from "../../display/Icon";
|
|
4
11
|
import clsx from "clsx";
|
|
@@ -52,7 +59,10 @@ const ListItemChildren: ParentComponent = (props) => (
|
|
|
52
59
|
</div>
|
|
53
60
|
);
|
|
54
61
|
|
|
55
|
-
export interface ListItemProps extends Omit<
|
|
62
|
+
export interface ListItemProps extends Omit<
|
|
63
|
+
JSX.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
64
|
+
"onClick"
|
|
65
|
+
> {
|
|
56
66
|
/**
|
|
57
67
|
* 중첩 리스트의 열림 상태 (controlled 모드)
|
|
58
68
|
*/
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { JSX } from "solid-js";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
type Component,
|
|
4
|
+
createEffect,
|
|
5
|
+
createMemo,
|
|
6
|
+
createSignal,
|
|
7
|
+
For,
|
|
8
|
+
on,
|
|
9
|
+
Show,
|
|
10
|
+
splitProps,
|
|
11
|
+
} from "solid-js";
|
|
3
12
|
import clsx from "clsx";
|
|
4
13
|
import { twMerge } from "tailwind-merge";
|
|
5
14
|
import { DataSheet } from "../sheet/DataSheet";
|
|
@@ -113,7 +122,10 @@ export function changePermCheck<TModule>(
|
|
|
113
122
|
// --- 내부 헬퍼 ---
|
|
114
123
|
|
|
115
124
|
/** 모듈 필터에 의해 보이는지 확인 (객체 참조 유지) */
|
|
116
|
-
function isItemVisible<TModule>(
|
|
125
|
+
function isItemVisible<TModule>(
|
|
126
|
+
item: PermissionItem<TModule>,
|
|
127
|
+
modules: TModule[] | undefined,
|
|
128
|
+
): boolean {
|
|
117
129
|
if (!modules || modules.length === 0) return true;
|
|
118
130
|
if (item.modules && !item.modules.some((m) => modules.includes(m))) return false;
|
|
119
131
|
if (!item.perms && item.children) {
|
|
@@ -123,7 +135,10 @@ function isItemVisible<TModule>(item: PermissionItem<TModule>, modules: TModule[
|
|
|
123
135
|
}
|
|
124
136
|
|
|
125
137
|
/** 보이는 아이템에서만 고유 perm 타입 수집 */
|
|
126
|
-
function collectVisiblePerms<TModule>(
|
|
138
|
+
function collectVisiblePerms<TModule>(
|
|
139
|
+
items: PermissionItem<TModule>[],
|
|
140
|
+
modules: TModule[] | undefined,
|
|
141
|
+
): string[] {
|
|
127
142
|
const set = new Set<string>();
|
|
128
143
|
|
|
129
144
|
function walk(list: PermissionItem<TModule>[]) {
|
|
@@ -165,7 +180,11 @@ function hasPermInTree<TModule>(item: PermissionItem<TModule>, perm: string): bo
|
|
|
165
180
|
}
|
|
166
181
|
|
|
167
182
|
/** 기본 권한(perms[0])이 꺼져 있어서 비활성화해야 하는지 */
|
|
168
|
-
function isPermDisabled<TModule>(
|
|
183
|
+
function isPermDisabled<TModule>(
|
|
184
|
+
item: PermissionItem<TModule>,
|
|
185
|
+
perm: string,
|
|
186
|
+
value: Record<string, boolean>,
|
|
187
|
+
): boolean {
|
|
169
188
|
if (!item.perms || item.href == null || item.href === "") return false;
|
|
170
189
|
const basePerm = item.perms[0];
|
|
171
190
|
if (perm === basePerm) return false;
|
|
@@ -196,7 +215,15 @@ function collectExpandable<TModule>(
|
|
|
196
215
|
// --- 컴포넌트 ---
|
|
197
216
|
|
|
198
217
|
export const PermissionTable: Component<PermissionTableProps> = (props) => {
|
|
199
|
-
const [local] = splitProps(props, [
|
|
218
|
+
const [local] = splitProps(props, [
|
|
219
|
+
"items",
|
|
220
|
+
"value",
|
|
221
|
+
"onValueChange",
|
|
222
|
+
"modules",
|
|
223
|
+
"disabled",
|
|
224
|
+
"class",
|
|
225
|
+
"style",
|
|
226
|
+
]);
|
|
200
227
|
|
|
201
228
|
// 보이는 최상위 아이템 (객체 참조 유지)
|
|
202
229
|
const visibleItems = createMemo(() => {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import clsx from "clsx";
|
|
2
2
|
import { borderDefault, borderSubtle } from "../../../styles/tokens.styles";
|
|
3
3
|
|
|
4
|
-
export const dataSheetContainerClass = clsx(
|
|
4
|
+
export const dataSheetContainerClass = clsx(
|
|
5
|
+
"relative",
|
|
6
|
+
"bg-white dark:bg-base-950",
|
|
7
|
+
"overflow-auto",
|
|
8
|
+
);
|
|
5
9
|
|
|
6
10
|
export const tableClass = clsx("border-separate border-spacing-0", "w-max");
|
|
7
11
|
|
|
@@ -11,7 +15,7 @@ export const thClass = clsx(
|
|
|
11
15
|
"border-b border-r border-base-300 dark:border-base-800",
|
|
12
16
|
"overflow-hidden whitespace-nowrap",
|
|
13
17
|
"p-0",
|
|
14
|
-
"text-left font-
|
|
18
|
+
"text-left font-bold",
|
|
15
19
|
"align-middle",
|
|
16
20
|
);
|
|
17
21
|
|
|
@@ -111,7 +115,12 @@ export const expandToggleClass = clsx(
|
|
|
111
115
|
);
|
|
112
116
|
|
|
113
117
|
// 선택 컬럼 — single 모드 아이콘 래퍼
|
|
114
|
-
export const selectSingleClass = clsx(
|
|
118
|
+
export const selectSingleClass = clsx(
|
|
119
|
+
"flex items-center justify-center",
|
|
120
|
+
"size-6",
|
|
121
|
+
"cursor-pointer",
|
|
122
|
+
"rounded",
|
|
123
|
+
);
|
|
115
124
|
|
|
116
125
|
// single 모드 — 선택됨
|
|
117
126
|
export const selectSingleSelectedClass = clsx("text-primary-500", "dark:text-primary-400");
|
|
@@ -143,13 +152,22 @@ export const featureCellWrapperClass = clsx("flex items-center", "px-1");
|
|
|
143
152
|
export const featureCellBodyWrapperClass = clsx("flex h-full items-center", "px-1");
|
|
144
153
|
|
|
145
154
|
// 기능 컬럼 헤더 클릭 가능 래퍼 (전체 선택 등)
|
|
146
|
-
export const featureCellClickableClass = clsx(
|
|
155
|
+
export const featureCellClickableClass = clsx(
|
|
156
|
+
"flex cursor-pointer items-center justify-center",
|
|
157
|
+
"px-1",
|
|
158
|
+
);
|
|
147
159
|
|
|
148
160
|
// 기능 컬럼 바디 클릭 가능 래퍼 (선택/재정렬 등 — 전체 높이)
|
|
149
|
-
export const featureCellBodyClickableClass = clsx(
|
|
161
|
+
export const featureCellBodyClickableClass = clsx(
|
|
162
|
+
"flex h-full cursor-pointer items-center justify-center",
|
|
163
|
+
"px-1",
|
|
164
|
+
);
|
|
150
165
|
|
|
151
166
|
// 재정렬 핸들 래퍼 (touch-none 추가)
|
|
152
|
-
export const reorderCellWrapperClass = clsx(
|
|
167
|
+
export const reorderCellWrapperClass = clsx(
|
|
168
|
+
"flex h-full touch-none items-center justify-center",
|
|
169
|
+
"px-1",
|
|
170
|
+
);
|
|
153
171
|
|
|
154
172
|
// 설정 버튼
|
|
155
173
|
export const configButtonClass = clsx(
|