@simplysm/solid 13.0.69 → 13.0.71
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 +168 -195
- package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/data/calendar/Calendar.js +15 -2
- package/dist/components/data/calendar/Calendar.js.map +2 -2
- package/dist/components/data/kanban/KanbanContext.js +2 -2
- package/dist/components/data/kanban/KanbanContext.js.map +1 -1
- package/dist/components/data/list/List.d.ts +8 -8
- package/dist/components/data/list/ListContext.d.ts +1 -1
- package/dist/components/data/list/ListItem.d.ts +15 -15
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +6 -4
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheetConfigDialog.js +8 -8
- package/dist/components/data/sheet/DataSheetConfigDialog.js.map +1 -1
- package/dist/components/data/sheet/types.d.ts +4 -4
- package/dist/components/data/sheet/types.d.ts.map +1 -1
- package/dist/components/disclosure/Collapse.d.ts +4 -4
- package/dist/components/disclosure/Dialog.d.ts +24 -24
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +7 -2
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/DialogContext.d.ts +25 -25
- package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
- package/dist/components/disclosure/DialogContext.js +1 -1
- package/dist/components/disclosure/DialogContext.js.map +1 -1
- package/dist/components/disclosure/DialogInstanceContext.d.ts +7 -7
- package/dist/components/disclosure/DialogInstanceContext.d.ts.map +1 -1
- package/dist/components/disclosure/DialogProvider.d.ts +3 -3
- package/dist/components/disclosure/Dropdown.d.ts +26 -24
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js +24 -8
- package/dist/components/disclosure/Dropdown.js.map +2 -2
- package/dist/components/disclosure/Tabs.js +1 -1
- package/dist/components/disclosure/Tabs.js.map +1 -1
- package/dist/components/disclosure/dialogZIndex.d.ts +9 -7
- package/dist/components/disclosure/dialogZIndex.d.ts.map +1 -1
- package/dist/components/disclosure/dialogZIndex.js +4 -0
- package/dist/components/disclosure/dialogZIndex.js.map +1 -1
- package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetail.js +34 -22
- package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.js +48 -33
- package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/features/crudRegistry.d.ts +16 -0
- package/dist/components/features/crudRegistry.d.ts.map +1 -0
- package/dist/components/features/crudRegistry.js +37 -0
- package/dist/components/features/crudRegistry.js.map +6 -0
- package/dist/components/features/data-select-button/DataSelectButton.d.ts +14 -14
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.js +27 -9
- package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
- package/dist/components/features/permission-table/PermissionTable.d.ts +3 -3
- package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
- package/dist/components/features/permission-table/PermissionTable.js +74 -85
- package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelect.d.ts +12 -12
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.js +10 -6
- package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +10 -10
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts +23 -15
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.js +191 -65
- package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +15 -0
- package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +1 -0
- package/dist/components/features/shared-data/SharedDataSelectListContext.js +27 -0
- package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +6 -0
- package/dist/components/feedback/Progress.d.ts +1 -1
- package/dist/components/feedback/Progress.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyContainer.d.ts +2 -2
- package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyContext.d.ts +11 -11
- package/dist/components/feedback/busy/BusyContext.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyContext.js +1 -1
- package/dist/components/feedback/busy/BusyContext.js.map +1 -1
- package/dist/components/feedback/busy/BusyProvider.d.ts +6 -6
- package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js +7 -3
- package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBell.js +2 -2
- package/dist/components/feedback/notification/NotificationBell.js.map +1 -1
- package/dist/components/feedback/notification/NotificationContext.d.ts +22 -22
- package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationContext.js +1 -1
- package/dist/components/feedback/notification/NotificationContext.js.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.d.ts +5 -5
- package/dist/components/feedback/notification/NotificationProvider.js +1 -1
- package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
- package/dist/components/feedback/print/PrintContext.js +1 -1
- package/dist/components/feedback/print/PrintContext.js.map +1 -1
- package/dist/components/form-control/DropdownTrigger.styles.d.ts +1 -1
- package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.d.ts +7 -7
- package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.js +3 -3
- package/dist/components/form-control/checkbox/Checkbox.js +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js +1 -1
- package/dist/components/form-control/checkbox/Radio.js +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.d.ts +12 -12
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +22 -22
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +2 -2
- package/dist/components/form-control/combobox/ComboboxContext.d.ts +4 -4
- package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -1
- package/dist/components/form-control/combobox/ComboboxContext.js +1 -1
- package/dist/components/form-control/combobox/ComboboxContext.js.map +1 -1
- package/dist/components/form-control/combobox/ComboboxItem.d.ts +3 -3
- package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts +14 -14
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +20 -9
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
- package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
- package/dist/components/form-control/editor/EditorToolbar.js +65 -20
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/editor/RichTextEditor.d.ts +6 -6
- package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/form-control/editor/RichTextEditor.js +1 -1
- package/dist/components/form-control/editor/editor.css +5 -5
- package/dist/components/form-control/field/DatePicker.d.ts +22 -22
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +4 -4
- package/dist/components/form-control/field/DatePicker.js.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.d.ts +21 -21
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +4 -4
- package/dist/components/form-control/field/DateTimePicker.js.map +1 -1
- package/dist/components/form-control/field/FieldPlaceholder.d.ts +1 -1
- package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.d.ts +23 -23
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +4 -4
- package/dist/components/form-control/field/NumberInput.js.map +1 -1
- package/dist/components/form-control/field/TextInput.d.ts +25 -25
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +5 -5
- package/dist/components/form-control/field/TextInput.js.map +1 -1
- package/dist/components/form-control/field/Textarea.d.ts +19 -19
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +4 -4
- package/dist/components/form-control/field/Textarea.js.map +1 -1
- package/dist/components/form-control/field/TimePicker.d.ts +20 -20
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +4 -4
- package/dist/components/form-control/field/TimePicker.js.map +1 -1
- package/dist/components/form-control/numpad/Numpad.d.ts +11 -11
- package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.d.ts +26 -26
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +34 -23
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/select/SelectContext.d.ts +7 -7
- package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
- package/dist/components/form-control/select/SelectContext.js +1 -1
- package/dist/components/form-control/select/SelectContext.js.map +1 -1
- package/dist/components/form-control/select/SelectItem.d.ts +4 -4
- package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js +8 -8
- package/dist/components/form-control/state-preset/StatePreset.js.map +1 -1
- package/dist/components/layout/FormTable.js +4 -4
- package/dist/components/layout/sidebar/Sidebar.d.ts +5 -5
- package/dist/components/layout/sidebar/SidebarContainer.d.ts +11 -11
- package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -1
- package/dist/components/layout/sidebar/SidebarContainer.js +6 -1
- package/dist/components/layout/sidebar/SidebarContainer.js.map +2 -2
- package/dist/components/layout/sidebar/SidebarContext.d.ts +7 -7
- package/dist/components/layout/sidebar/SidebarContext.js +1 -1
- package/dist/components/layout/sidebar/SidebarContext.js.map +1 -1
- package/dist/components/layout/sidebar/SidebarMenu.d.ts +11 -11
- package/dist/components/layout/sidebar/SidebarUser.d.ts +14 -14
- package/dist/components/layout/topbar/Topbar.d.ts +6 -6
- package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +11 -6
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/components/layout/topbar/TopbarContainer.d.ts +6 -6
- package/dist/components/layout/topbar/TopbarContext.js +2 -2
- package/dist/components/layout/topbar/TopbarContext.js.map +1 -1
- package/dist/components/layout/topbar/TopbarMenu.d.ts +11 -11
- package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarMenu.js +5 -1
- package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
- package/dist/components/layout/topbar/TopbarUser.d.ts +9 -9
- package/dist/directives/ripple.d.ts +5 -5
- package/dist/helpers/createAppStructure.d.ts.map +1 -1
- package/dist/helpers/createAppStructure.js +7 -3
- package/dist/helpers/createAppStructure.js.map +1 -1
- package/dist/helpers/createHmrSafeContext.d.ts +3 -0
- package/dist/helpers/createHmrSafeContext.d.ts.map +1 -0
- package/dist/helpers/createHmrSafeContext.js +10 -0
- package/dist/helpers/createHmrSafeContext.js.map +6 -0
- package/dist/helpers/createSlotComponent.d.ts +3 -3
- package/dist/helpers/mergeStyles.d.ts +8 -8
- package/dist/hooks/createControllableSignal.d.ts +10 -10
- package/dist/hooks/createControllableStore.d.ts +6 -6
- package/dist/hooks/createIMEHandler.d.ts +7 -7
- package/dist/hooks/createMountTransition.d.ts +4 -4
- package/dist/hooks/createSelectionGroup.d.ts.map +1 -1
- package/dist/hooks/createSelectionGroup.js +4 -3
- package/dist/hooks/createSelectionGroup.js.map +2 -2
- package/dist/hooks/createSlotSignal.d.ts +2 -2
- package/dist/hooks/useLocalStorage.d.ts +11 -11
- package/dist/hooks/useLogger.d.ts +1 -1
- package/dist/hooks/useLogger.d.ts.map +1 -1
- package/dist/hooks/useLogger.js +1 -1
- package/dist/hooks/useLogger.js.map +1 -1
- package/dist/hooks/useRouterLink.d.ts +10 -10
- package/dist/hooks/useRouterLink.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/ClipboardProvider.d.ts +5 -5
- package/dist/providers/ConfigContext.d.ts +6 -6
- package/dist/providers/ConfigContext.js +2 -2
- package/dist/providers/ConfigContext.js.map +1 -1
- package/dist/providers/ErrorLoggerProvider.d.ts +3 -3
- package/dist/providers/LoggerContext.d.ts +13 -13
- package/dist/providers/PwaUpdateProvider.d.ts +4 -4
- package/dist/providers/PwaUpdateProvider.js +2 -2
- package/dist/providers/PwaUpdateProvider.js.map +1 -1
- package/dist/providers/ServiceClientContext.d.ts +8 -8
- package/dist/providers/ServiceClientContext.d.ts.map +1 -1
- package/dist/providers/ServiceClientContext.js +1 -1
- package/dist/providers/ServiceClientContext.js.map +1 -1
- package/dist/providers/ServiceClientProvider.d.ts +6 -6
- package/dist/providers/ServiceClientProvider.js +7 -7
- package/dist/providers/ServiceClientProvider.js.map +1 -1
- package/dist/providers/SyncStorageContext.d.ts +14 -14
- package/dist/providers/SystemProvider.d.ts.map +1 -1
- package/dist/providers/SystemProvider.js +21 -16
- package/dist/providers/SystemProvider.js.map +2 -2
- package/dist/providers/ThemeContext.d.ts +20 -20
- package/dist/providers/ThemeContext.d.ts.map +1 -1
- package/dist/providers/ThemeContext.js +1 -1
- package/dist/providers/ThemeContext.js.map +1 -1
- package/dist/providers/i18n/I18nContext.d.ts +44 -0
- package/dist/providers/i18n/I18nContext.d.ts.map +1 -0
- package/dist/providers/i18n/I18nContext.js +73 -0
- package/dist/providers/i18n/I18nContext.js.map +6 -0
- package/dist/providers/i18n/I18nContext.types.d.ts +28 -0
- package/dist/providers/i18n/I18nContext.types.d.ts.map +1 -0
- package/dist/providers/i18n/I18nContext.types.js +1 -0
- package/dist/providers/i18n/I18nContext.types.js.map +6 -0
- package/dist/providers/i18n/i18nUtils.d.ts +18 -0
- package/dist/providers/i18n/i18nUtils.d.ts.map +1 -0
- package/dist/providers/i18n/i18nUtils.js +25 -0
- package/dist/providers/i18n/i18nUtils.js.map +6 -0
- package/dist/providers/i18n/locales/en.d.ts +163 -0
- package/dist/providers/i18n/locales/en.d.ts.map +1 -0
- package/dist/providers/i18n/locales/en.js +165 -0
- package/dist/providers/i18n/locales/en.js.map +6 -0
- package/dist/providers/i18n/locales/ko.d.ts +163 -0
- package/dist/providers/i18n/locales/ko.d.ts.map +1 -0
- package/dist/providers/i18n/locales/ko.js +165 -0
- package/dist/providers/i18n/locales/ko.js.map +6 -0
- package/dist/providers/shared-data/SharedDataChangeEvent.d.ts +4 -4
- package/dist/providers/shared-data/SharedDataContext.d.ts +28 -28
- package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataContext.js +1 -1
- package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts +9 -9
- package/dist/providers/shared-data/SharedDataProvider.js +4 -4
- package/dist/providers/shared-data/SharedDataProvider.js.map +1 -1
- package/package.json +9 -8
- package/src/components/data/calendar/Calendar.tsx +10 -4
- package/src/components/data/kanban/Kanban.tsx +14 -14
- package/src/components/data/kanban/KanbanContext.ts +3 -3
- package/src/components/data/list/List.tsx +10 -10
- package/src/components/data/list/ListContext.ts +1 -1
- package/src/components/data/list/ListItem.styles.ts +8 -8
- package/src/components/data/list/ListItem.tsx +15 -15
- package/src/components/data/sheet/DataSheet.styles.ts +22 -22
- package/src/components/data/sheet/DataSheet.tsx +52 -48
- package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +9 -9
- package/src/components/data/sheet/sheetUtils.ts +7 -7
- package/src/components/data/sheet/types.ts +16 -16
- package/src/components/disclosure/Collapse.tsx +11 -11
- package/src/components/disclosure/Dialog.tsx +60 -57
- package/src/components/disclosure/DialogContext.ts +26 -26
- package/src/components/disclosure/DialogInstanceContext.ts +7 -7
- package/src/components/disclosure/DialogProvider.tsx +5 -5
- package/src/components/disclosure/Dropdown.tsx +89 -75
- package/src/components/disclosure/Tabs.tsx +1 -1
- package/src/components/disclosure/dialogZIndex.ts +16 -11
- package/src/components/display/Echarts.tsx +4 -4
- package/src/components/features/address/AddressSearch.tsx +2 -2
- package/src/components/features/crud-detail/CrudDetail.tsx +34 -21
- package/src/components/features/crud-detail/CrudDetailAfter.tsx +1 -1
- package/src/components/features/crud-detail/CrudDetailBefore.tsx +1 -1
- package/src/components/features/crud-detail/CrudDetailTools.tsx +1 -1
- package/src/components/features/crud-sheet/CrudSheet.tsx +52 -40
- package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
- package/src/components/features/crud-sheet/CrudSheetFilter.tsx +1 -1
- package/src/components/features/crud-sheet/CrudSheetHeader.tsx +1 -1
- package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
- package/src/components/features/crudRegistry.ts +60 -0
- package/src/components/features/data-select-button/DataSelectButton.tsx +34 -32
- package/src/components/features/permission-table/PermissionTable.tsx +70 -64
- package/src/components/features/shared-data/SharedDataSelect.tsx +24 -22
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +10 -10
- package/src/components/features/shared-data/SharedDataSelectList.tsx +231 -59
- package/src/components/features/shared-data/SharedDataSelectListContext.ts +39 -0
- package/src/components/feedback/Progress.tsx +1 -1
- package/src/components/feedback/busy/BusyContainer.tsx +6 -6
- package/src/components/feedback/busy/BusyContext.ts +12 -12
- package/src/components/feedback/busy/BusyProvider.tsx +6 -6
- package/src/components/feedback/notification/NotificationBanner.tsx +3 -1
- package/src/components/feedback/notification/NotificationBell.tsx +4 -4
- package/src/components/feedback/notification/NotificationContext.ts +28 -28
- package/src/components/feedback/notification/NotificationProvider.tsx +9 -9
- package/src/components/feedback/print/PrintContext.ts +1 -1
- package/src/components/form-control/Button.tsx +1 -1
- package/src/components/form-control/DropdownTrigger.styles.ts +1 -1
- package/src/components/form-control/Invalid.tsx +5 -5
- package/src/components/form-control/ThemeToggle.tsx +10 -10
- package/src/components/form-control/checkbox/Checkbox.styles.ts +8 -8
- package/src/components/form-control/checkbox/Checkbox.tsx +2 -2
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +1 -1
- package/src/components/form-control/checkbox/Radio.tsx +2 -2
- package/src/components/form-control/checkbox/RadioGroup.tsx +1 -1
- package/src/components/form-control/color-picker/ColorPicker.tsx +17 -17
- package/src/components/form-control/combobox/Combobox.tsx +55 -55
- package/src/components/form-control/combobox/ComboboxContext.ts +5 -5
- package/src/components/form-control/combobox/ComboboxItem.tsx +3 -3
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +40 -26
- package/src/components/form-control/editor/EditorToolbar.tsx +52 -50
- package/src/components/form-control/editor/RichTextEditor.tsx +16 -16
- package/src/components/form-control/editor/editor.css +5 -5
- package/src/components/form-control/field/DatePicker.tsx +39 -39
- package/src/components/form-control/field/DateTimePicker.tsx +38 -38
- package/src/components/form-control/field/Field.styles.ts +11 -11
- package/src/components/form-control/field/FieldPlaceholder.tsx +1 -1
- package/src/components/form-control/field/NumberInput.tsx +63 -63
- package/src/components/form-control/field/TextInput.tsx +48 -48
- package/src/components/form-control/field/Textarea.tsx +32 -32
- package/src/components/form-control/field/TimePicker.tsx +37 -37
- package/src/components/form-control/numpad/Numpad.tsx +26 -26
- package/src/components/form-control/select/Select.tsx +82 -86
- package/src/components/form-control/select/SelectContext.ts +8 -8
- package/src/components/form-control/select/SelectItem.tsx +5 -5
- package/src/components/form-control/state-preset/StatePreset.tsx +13 -13
- package/src/components/layout/FormTable.tsx +4 -4
- package/src/components/layout/sidebar/Sidebar.tsx +8 -8
- package/src/components/layout/sidebar/SidebarContainer.tsx +19 -17
- package/src/components/layout/sidebar/SidebarContext.ts +8 -8
- package/src/components/layout/sidebar/SidebarMenu.tsx +19 -19
- package/src/components/layout/sidebar/SidebarUser.tsx +14 -14
- package/src/components/layout/topbar/Topbar.tsx +15 -13
- package/src/components/layout/topbar/TopbarContainer.tsx +6 -6
- package/src/components/layout/topbar/TopbarContext.ts +2 -2
- package/src/components/layout/topbar/TopbarMenu.tsx +18 -16
- package/src/components/layout/topbar/TopbarUser.tsx +9 -9
- package/src/directives/ripple.ts +8 -8
- package/src/helpers/createAppStructure.ts +15 -8
- package/src/helpers/createHmrSafeContext.ts +8 -0
- package/src/helpers/createSlotComponent.ts +4 -4
- package/src/helpers/mergeStyles.ts +11 -11
- package/src/hooks/createControllableSignal.ts +11 -11
- package/src/hooks/createControllableStore.ts +8 -8
- package/src/hooks/createIMEHandler.ts +7 -7
- package/src/hooks/createMountTransition.ts +4 -4
- package/src/hooks/createSelectionGroup.tsx +5 -3
- package/src/hooks/createSlotSignal.ts +2 -2
- package/src/hooks/useLocalStorage.ts +13 -13
- package/src/hooks/useLogger.ts +2 -2
- package/src/hooks/useRouterLink.ts +15 -15
- package/src/index.ts +4 -3
- package/src/providers/ClipboardProvider.tsx +19 -19
- package/src/providers/ConfigContext.tsx +8 -8
- package/src/providers/ErrorLoggerProvider.tsx +3 -3
- package/src/providers/LoggerContext.tsx +13 -13
- package/src/providers/PwaUpdateProvider.tsx +6 -6
- package/src/providers/ServiceClientContext.ts +9 -9
- package/src/providers/ServiceClientProvider.tsx +15 -15
- package/src/providers/SyncStorageContext.tsx +15 -15
- package/src/providers/SystemProvider.tsx +15 -12
- package/src/providers/ThemeContext.tsx +26 -26
- package/src/providers/i18n/I18nContext.tsx +129 -0
- package/src/providers/i18n/I18nContext.types.ts +30 -0
- package/src/providers/i18n/i18nUtils.ts +38 -0
- package/src/providers/i18n/locales/en.ts +161 -0
- package/src/providers/i18n/locales/ko.ts +161 -0
- package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -4
- package/src/providers/shared-data/SharedDataContext.ts +29 -29
- package/src/providers/shared-data/SharedDataProvider.tsx +21 -21
- package/src/styles/patterns.styles.ts +6 -6
- package/src/styles/tokens.styles.ts +5 -5
- package/tailwind.config.ts +1 -1
- package/tailwind.css +4 -4
- package/tests/components/data/List.spec.tsx +689 -0
- package/tests/components/data/Pagination.spec.tsx +336 -0
- package/tests/components/data/Table.spec.tsx +55 -0
- package/tests/components/data/kanban/Kanban.selection.spec.tsx +213 -0
- package/tests/components/data/sheet/DataSheet.spec.tsx +645 -0
- package/tests/components/disclosure/Collapse.spec.tsx +173 -0
- package/tests/components/disclosure/Dialog.spec.tsx +438 -0
- package/tests/components/disclosure/DialogProvider.spec.tsx +142 -0
- package/tests/components/disclosure/Dropdown.spec.tsx +333 -0
- package/tests/components/disclosure/Tabs.spec.tsx +220 -0
- package/tests/components/disclosure/dialogZIndex.spec.ts +45 -0
- package/tests/components/display/Alert.spec.tsx +47 -0
- package/tests/components/display/Barcode.spec.tsx +61 -0
- package/tests/components/display/Card.spec.tsx +41 -0
- package/tests/components/display/Link.spec.tsx +62 -0
- package/tests/components/display/Tag.spec.tsx +47 -0
- package/tests/components/features/address/AddressSearch.spec.tsx +45 -0
- package/tests/components/features/crud-detail/CrudDetail.spec.tsx +537 -0
- package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +491 -0
- package/tests/components/features/crudRegistry.spec.ts +119 -0
- package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +482 -0
- package/tests/components/features/permission-table/PermissionTable.spec.tsx +288 -0
- package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +448 -0
- package/tests/components/feedback/busy/BusyContainer.spec.tsx +80 -0
- package/tests/components/feedback/notification/LiveRegion.spec.tsx +52 -0
- package/tests/components/feedback/notification/NotificationBanner.spec.tsx +187 -0
- package/tests/components/feedback/notification/NotificationBell.spec.tsx +226 -0
- package/tests/components/feedback/notification/NotificationContext.spec.tsx +362 -0
- package/tests/components/feedback/print/Print.spec.tsx +45 -0
- package/tests/components/form-control/Button.spec.tsx +119 -0
- package/tests/components/form-control/Invalid.spec.tsx +131 -0
- package/tests/components/form-control/checkbox/Checkbox.spec.tsx +137 -0
- package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +108 -0
- package/tests/components/form-control/checkbox/Radio.spec.tsx +138 -0
- package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +108 -0
- package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +94 -0
- package/tests/components/form-control/combobox/Combobox.spec.tsx +253 -0
- package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +88 -0
- package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +208 -0
- package/tests/components/form-control/field/DatePicker.spec.tsx +381 -0
- package/tests/components/form-control/field/DateTimePicker.spec.tsx +383 -0
- package/tests/components/form-control/field/NumberInput.spec.tsx +371 -0
- package/tests/components/form-control/field/TextInput.spec.tsx +341 -0
- package/tests/components/form-control/field/Textarea.spec.tsx +224 -0
- package/tests/components/form-control/field/TimePicker.spec.tsx +315 -0
- package/tests/components/form-control/numpad/Numpad.spec.tsx +248 -0
- package/tests/components/form-control/select/Select.spec.tsx +676 -0
- package/tests/components/form-control/select/SelectItem.spec.tsx +174 -0
- package/tests/components/layout/FormGroup.spec.tsx +104 -0
- package/tests/components/layout/FormTable.spec.tsx +43 -0
- package/tests/components/layout/sidebar/Sidebar.spec.tsx +192 -0
- package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +261 -0
- package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +219 -0
- package/tests/components/layout/sidebar/SidebarUser.spec.tsx +133 -0
- package/tests/components/layout/topbar/TopbarActions.spec.tsx +77 -0
- package/tests/components/layout/topbar/TopbarContainer.spec.tsx +38 -0
- package/tests/components/layout/topbar/createTopbarActions.spec.tsx +66 -0
- package/tests/directives/ripple.spec.tsx +130 -0
- package/tests/helpers/createAppStructure.spec.tsx +843 -0
- package/tests/helpers/mergeStyles.spec.ts +172 -0
- package/tests/hooks/createControllableSignal.spec.ts +194 -0
- package/tests/hooks/createIMEHandler.spec.ts +80 -0
- package/tests/hooks/createMountTransition.spec.ts +86 -0
- package/tests/hooks/useLocalStorage.spec.tsx +223 -0
- package/tests/hooks/useLogger.spec.tsx +116 -0
- package/tests/hooks/usePrint.spec.tsx +134 -0
- package/tests/hooks/useRouterLink.spec.tsx +183 -0
- package/tests/hooks/useSyncConfig.spec.tsx +304 -0
- package/tests/providers/ClipboardProvider.spec.tsx +20 -0
- package/tests/providers/ConfigContext.spec.tsx +42 -0
- package/tests/providers/ErrorLoggerProvider.spec.tsx +73 -0
- package/tests/providers/LoggerContext.spec.tsx +76 -0
- package/tests/providers/PwaUpdateProvider.spec.tsx +22 -0
- package/tests/providers/ServiceClientContext.spec.tsx +88 -0
- package/tests/providers/SyncStorageContext.spec.tsx +77 -0
- package/tests/providers/i18n/I18nContext.spec.tsx +110 -0
- package/tests/providers/shared-data/SharedDataProvider.spec.tsx +401 -0
- package/tests/vitest-env.d.ts +1 -0
- package/dist/components/form-control/select-list/SelectList.d.ts +0 -54
- package/dist/components/form-control/select-list/SelectList.d.ts.map +0 -1
- package/dist/components/form-control/select-list/SelectList.js +0 -280
- package/dist/components/form-control/select-list/SelectList.js.map +0 -6
- package/dist/components/form-control/select-list/SelectListContext.d.ts +0 -13
- package/dist/components/form-control/select-list/SelectListContext.d.ts.map +0 -1
- package/dist/components/form-control/select-list/SelectListContext.js +0 -14
- package/dist/components/form-control/select-list/SelectListContext.js.map +0 -6
- package/docs/data-components.md +0 -782
- package/docs/disclosure.md +0 -254
- package/docs/display.md +0 -153
- package/docs/feedback.md +0 -238
- package/docs/form-controls.md +0 -1068
- package/docs/helpers.md +0 -54
- package/docs/hooks.md +0 -588
- package/docs/layout.md +0 -384
- package/docs/providers.md +0 -211
- package/docs/styling.md +0 -184
- package/src/components/form-control/select-list/SelectList.tsx +0 -385
- package/src/components/form-control/select-list/SelectListContext.ts +0 -23
|
@@ -1,68 +1,68 @@
|
|
|
1
1
|
import { type Accessor, createContext, useContext } from "solid-js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Shared data definition.
|
|
5
5
|
*
|
|
6
6
|
* @remarks
|
|
7
|
-
* SharedDataProvider
|
|
7
|
+
* Passed to SharedDataProvider to set up server data subscriptions.
|
|
8
8
|
*/
|
|
9
9
|
export interface SharedDataDefinition<TData> {
|
|
10
|
-
/**
|
|
10
|
+
/** Service connection key (defaults to "default" if omitted) */
|
|
11
11
|
serviceKey?: string;
|
|
12
|
-
/**
|
|
12
|
+
/** Data fetch function (partial refresh for specified changeKeys only) */
|
|
13
13
|
fetch: (changeKeys?: Array<string | number>) => Promise<TData[]>;
|
|
14
|
-
/**
|
|
14
|
+
/** Function to extract the unique key from an item */
|
|
15
15
|
getKey: (item: TData) => string | number;
|
|
16
|
-
/**
|
|
16
|
+
/** Sort criteria array (multiple criteria supported) */
|
|
17
17
|
orderBy: [(item: TData) => unknown, "asc" | "desc"][];
|
|
18
|
-
/**
|
|
18
|
+
/** Server event filter (receives only events with matching filter among same-name events) */
|
|
19
19
|
filter?: unknown;
|
|
20
|
-
/**
|
|
20
|
+
/** Function to extract search text from an item */
|
|
21
21
|
getSearchText?: (item: TData) => string;
|
|
22
|
-
/**
|
|
22
|
+
/** Function to determine if an item is hidden */
|
|
23
23
|
getIsHidden?: (item: TData) => boolean;
|
|
24
|
-
/**
|
|
24
|
+
/** Function to extract parent key from an item (tree structure support) */
|
|
25
25
|
getParentKey?: (item: TData) => string | number | undefined;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Shared data accessor.
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
|
-
*
|
|
32
|
+
* Provides reactive access and change notifications for each data key.
|
|
33
33
|
*/
|
|
34
34
|
export interface SharedDataAccessor<TData> {
|
|
35
|
-
/**
|
|
35
|
+
/** Reactive items array */
|
|
36
36
|
items: Accessor<TData[]>;
|
|
37
|
-
/**
|
|
37
|
+
/** Get a single item by key */
|
|
38
38
|
get: (key: string | number | undefined) => TData | undefined;
|
|
39
|
-
/**
|
|
39
|
+
/** Propagate change event to server (triggers refetch for all subscribers) */
|
|
40
40
|
emit: (changeKeys?: Array<string | number>) => Promise<void>;
|
|
41
|
-
/**
|
|
41
|
+
/** Function to extract the unique key from an item */
|
|
42
42
|
getKey: (item: TData) => string | number;
|
|
43
|
-
/**
|
|
43
|
+
/** Function to extract search text from an item */
|
|
44
44
|
getSearchText?: (item: TData) => string;
|
|
45
|
-
/**
|
|
45
|
+
/** Function to determine if an item is hidden */
|
|
46
46
|
getIsHidden?: (item: TData) => boolean;
|
|
47
|
-
/**
|
|
47
|
+
/** Function to extract parent key from an item (tree structure support) */
|
|
48
48
|
getParentKey?: (item: TData) => string | number | undefined;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* Shared data context value.
|
|
53
53
|
*
|
|
54
54
|
* @remarks
|
|
55
|
-
* - configure
|
|
56
|
-
* - configure
|
|
55
|
+
* - Before configure: only wait, busy, configure are accessible. Data access throws
|
|
56
|
+
* - After configure: includes SharedDataAccessor per data key and overall state management methods
|
|
57
57
|
*/
|
|
58
58
|
export type SharedDataValue<TSharedData extends Record<string, unknown>> = {
|
|
59
59
|
[K in keyof TSharedData]: SharedDataAccessor<TSharedData[K]>;
|
|
60
60
|
} & {
|
|
61
|
-
/**
|
|
61
|
+
/** Wait until all initial fetches complete */
|
|
62
62
|
wait: () => Promise<void>;
|
|
63
|
-
/** fetch
|
|
63
|
+
/** Whether a fetch is in progress */
|
|
64
64
|
busy: Accessor<boolean>;
|
|
65
|
-
/** definitions
|
|
65
|
+
/** Set definitions to start data subscriptions (decorator pattern) */
|
|
66
66
|
configure: (
|
|
67
67
|
fn: (origin: {
|
|
68
68
|
[K in keyof TSharedData]: SharedDataDefinition<TSharedData[K]>;
|
|
@@ -72,20 +72,20 @@ export type SharedDataValue<TSharedData extends Record<string, unknown>> = {
|
|
|
72
72
|
) => void;
|
|
73
73
|
};
|
|
74
74
|
|
|
75
|
-
/**
|
|
75
|
+
/** Shared data Context */
|
|
76
76
|
export const SharedDataContext = createContext<SharedDataValue<Record<string, unknown>>>();
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Hook to access shared data.
|
|
80
80
|
*
|
|
81
|
-
* @throws SharedDataProvider
|
|
81
|
+
* @throws Throws an error if SharedDataProvider is not present
|
|
82
82
|
*/
|
|
83
83
|
export function useSharedData<
|
|
84
84
|
TSharedData extends Record<string, unknown> = Record<string, unknown>,
|
|
85
85
|
>(): SharedDataValue<TSharedData> {
|
|
86
86
|
const context = useContext(SharedDataContext);
|
|
87
87
|
if (!context) {
|
|
88
|
-
throw new Error("useSharedData
|
|
88
|
+
throw new Error("useSharedData can only be used inside SharedDataProvider");
|
|
89
89
|
}
|
|
90
90
|
return context as unknown as SharedDataValue<TSharedData>;
|
|
91
91
|
}
|
|
@@ -12,16 +12,16 @@ import { useNotification } from "../../components/feedback/notification/Notifica
|
|
|
12
12
|
import { useLogger } from "../../hooks/useLogger";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Shared data Provider.
|
|
16
16
|
*
|
|
17
17
|
* @remarks
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
20
|
-
* - configure()
|
|
21
|
-
* - configure()
|
|
22
|
-
* -
|
|
23
|
-
* -
|
|
24
|
-
* -
|
|
18
|
+
* - Must be used inside ServiceClientProvider and NotificationProvider
|
|
19
|
+
* - Logs fetch failures to logger if LoggerProvider is present
|
|
20
|
+
* - Before configure(): only wait, busy, configure are accessible. Data access throws
|
|
21
|
+
* - After configure(): registers definitions. Registers server event listeners + fetch on first items()/get() access per key (lazy)
|
|
22
|
+
* - Prevents data inversion on concurrent fetch calls via version counter
|
|
23
|
+
* - Displays danger notification to the user on fetch failure
|
|
24
|
+
* - Automatically releases all event listeners on cleanup
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
27
|
* ```tsx
|
|
@@ -29,7 +29,7 @@ import { useLogger } from "../../hooks/useLogger";
|
|
|
29
29
|
* <App />
|
|
30
30
|
* </SharedDataProvider>
|
|
31
31
|
*
|
|
32
|
-
* //
|
|
32
|
+
* // Configure later in a child component:
|
|
33
33
|
* useSharedData().configure(() => ({
|
|
34
34
|
* users: {
|
|
35
35
|
* fetch: async (changeKeys) => fetchUsers(changeKeys),
|
|
@@ -73,19 +73,19 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
73
73
|
def: SharedDataDefinition<unknown>,
|
|
74
74
|
changeKeys?: Array<string | number>,
|
|
75
75
|
): Promise<void> {
|
|
76
|
-
// CR-1:
|
|
76
|
+
// CR-1: Prevent data inversion on concurrent calls via version counter
|
|
77
77
|
const currentVersion = (versionMap.get(name) ?? 0) + 1;
|
|
78
78
|
versionMap.set(name, currentVersion);
|
|
79
79
|
|
|
80
80
|
setBusyCount((c) => c + 1);
|
|
81
81
|
try {
|
|
82
82
|
const signal = signalMap.get(name);
|
|
83
|
-
if (!signal) throw new Error(`'${name}'
|
|
83
|
+
if (!signal) throw new Error(`No shared data store found for '${name}'.`);
|
|
84
84
|
|
|
85
85
|
const [, setItems] = signal;
|
|
86
86
|
const resData = await def.fetch(changeKeys);
|
|
87
87
|
|
|
88
|
-
// CR-1:
|
|
88
|
+
// CR-1: Ignore stale responses
|
|
89
89
|
if (versionMap.get(name) !== currentVersion) return;
|
|
90
90
|
|
|
91
91
|
if (!changeKeys) {
|
|
@@ -98,11 +98,11 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
} catch (err) {
|
|
101
|
-
// CR-2:
|
|
101
|
+
// CR-2: Notify user on fetch failure
|
|
102
102
|
logger.error(`SharedData '${name}' fetch failed:`, err);
|
|
103
103
|
notification.danger(
|
|
104
|
-
"
|
|
105
|
-
err instanceof Error ? err.message : `'${name}'
|
|
104
|
+
"Shared data load failed",
|
|
105
|
+
err instanceof Error ? err.message : `Error occurred while loading '${name}' data.`,
|
|
106
106
|
);
|
|
107
107
|
} finally {
|
|
108
108
|
setBusyCount((c) => c - 1);
|
|
@@ -110,7 +110,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
async function wait(): Promise<void> {
|
|
113
|
-
// eslint-disable-next-line solid/reactivity -- waitUntil
|
|
113
|
+
// eslint-disable-next-line solid/reactivity -- waitUntil is polling-based, so tracked scope is unnecessary
|
|
114
114
|
await waitUntil(() => busyCount() <= 0);
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -120,7 +120,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
120
120
|
) => Record<string, SharedDataDefinition<unknown>>,
|
|
121
121
|
): void {
|
|
122
122
|
if (configured) {
|
|
123
|
-
throw new Error("SharedDataProvider: configure()
|
|
123
|
+
throw new Error("SharedDataProvider: configure() can only be called once");
|
|
124
124
|
}
|
|
125
125
|
configured = true;
|
|
126
126
|
|
|
@@ -129,7 +129,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
129
129
|
|
|
130
130
|
for (const [name, def] of Object.entries(definitions)) {
|
|
131
131
|
const [items, setItems] = createSignal<unknown[]>([]);
|
|
132
|
-
// eslint-disable-next-line solid/reactivity -- signal
|
|
132
|
+
// eslint-disable-next-line solid/reactivity -- Storing signal references in a Map is not a reactive access
|
|
133
133
|
signalMap.set(name, [items, setItems]);
|
|
134
134
|
|
|
135
135
|
const itemMap = createMemo(() => {
|
|
@@ -139,7 +139,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
139
139
|
}
|
|
140
140
|
return map;
|
|
141
141
|
});
|
|
142
|
-
// eslint-disable-next-line solid/reactivity -- memo
|
|
142
|
+
// eslint-disable-next-line solid/reactivity -- Storing memo references in a Map is not a reactive access
|
|
143
143
|
memoMap.set(name, itemMap);
|
|
144
144
|
|
|
145
145
|
const client = serviceClient.get(def.serviceKey ?? "default");
|
|
@@ -211,7 +211,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
211
211
|
|
|
212
212
|
const KNOWN_KEYS = new Set(["wait", "busy", "configure"]);
|
|
213
213
|
|
|
214
|
-
// Proxy:
|
|
214
|
+
// Proxy: throw on data access before configure
|
|
215
215
|
const contextValue = new Proxy(
|
|
216
216
|
{ wait, busy, configure } as SharedDataValue<Record<string, unknown>>,
|
|
217
217
|
{
|
|
@@ -220,7 +220,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
|
|
|
220
220
|
return target[prop];
|
|
221
221
|
}
|
|
222
222
|
if (!configured) {
|
|
223
|
-
throw new Error("SharedDataProvider: configure()
|
|
223
|
+
throw new Error("SharedDataProvider: configure() must be called first");
|
|
224
224
|
}
|
|
225
225
|
return accessors[prop];
|
|
226
226
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import clsx from "clsx";
|
|
2
2
|
import { borderDefault, textDefault, textPlaceholder } from "./tokens.styles";
|
|
3
3
|
|
|
4
|
-
// ──
|
|
4
|
+
// ── Icon Button Common ──
|
|
5
5
|
export const iconButtonBase = clsx(
|
|
6
6
|
"inline-flex items-center justify-center",
|
|
7
7
|
"cursor-pointer",
|
|
@@ -13,24 +13,24 @@ export const iconButtonBase = clsx(
|
|
|
13
13
|
"focus-visible:ring-2",
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
// ──
|
|
16
|
+
// ── Inset Focus Outline (focus-within variant: Field, TextArea) ──
|
|
17
17
|
export const insetFocusOutline = clsx(
|
|
18
18
|
"focus-within:[outline-style:solid]",
|
|
19
19
|
"focus-within:outline-1 focus-within:-outline-offset-1",
|
|
20
20
|
"focus-within:outline-primary-400 dark:focus-within:outline-primary-400",
|
|
21
21
|
);
|
|
22
22
|
|
|
23
|
-
// ──
|
|
23
|
+
// ── Inset Focus Outline (focus variant: Checkbox, Select trigger) ──
|
|
24
24
|
export const insetFocusOutlineSelf = clsx(
|
|
25
25
|
"focus:[outline-style:solid]",
|
|
26
26
|
"focus:outline-1 focus:-outline-offset-1",
|
|
27
27
|
"focus:outline-primary-400 dark:focus:outline-primary-400",
|
|
28
28
|
);
|
|
29
29
|
|
|
30
|
-
// ──
|
|
30
|
+
// ── Inset Base Layout ──
|
|
31
31
|
export const insetBase = "w-full rounded-none border-none";
|
|
32
32
|
|
|
33
|
-
// ──
|
|
33
|
+
// ── Form Field Common Surface (background + text + border + focus) ──
|
|
34
34
|
export const fieldSurface = clsx(
|
|
35
35
|
"bg-primary-50 dark:bg-primary-950/30",
|
|
36
36
|
textDefault,
|
|
@@ -40,7 +40,7 @@ export const fieldSurface = clsx(
|
|
|
40
40
|
"focus-within:border-primary-500 dark:focus-within:border-primary-400",
|
|
41
41
|
);
|
|
42
42
|
|
|
43
|
-
// ──
|
|
43
|
+
// ── Input Element Common ──
|
|
44
44
|
export const inputBase = clsx(
|
|
45
45
|
"min-w-0 flex-1",
|
|
46
46
|
"bg-transparent",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
// ──
|
|
1
|
+
// ── Border ──
|
|
2
2
|
export const borderDefault = "border-base-200 dark:border-base-700";
|
|
3
3
|
export const borderSubtle = "border-base-200 dark:border-base-700";
|
|
4
4
|
|
|
5
|
-
// ──
|
|
5
|
+
// ── Surface Background ──
|
|
6
6
|
export const bgSurface = "bg-white dark:bg-base-900";
|
|
7
7
|
|
|
8
|
-
// ──
|
|
8
|
+
// ── Text ──
|
|
9
9
|
export const textDefault = "text-base-900 dark:text-base-100";
|
|
10
10
|
export const textMuted = "text-base-400 dark:text-base-500";
|
|
11
11
|
export const textPlaceholder = "placeholder:text-base-400 dark:placeholder:text-base-500";
|
|
@@ -13,7 +13,7 @@ export const textPlaceholder = "placeholder:text-base-400 dark:placeholder:text-
|
|
|
13
13
|
// ── disabled ──
|
|
14
14
|
export const disabledOpacity = "cursor-default opacity-30 pointer-events-none";
|
|
15
15
|
|
|
16
|
-
// ──
|
|
16
|
+
// ── Size ──
|
|
17
17
|
export type ComponentSize = "xs" | "sm" | "lg" | "xl";
|
|
18
18
|
export type ComponentSizeCompact = "sm" | "lg";
|
|
19
19
|
export const paddingXs = "px-1 py-0";
|
|
@@ -21,7 +21,7 @@ export const paddingSm = "px-1.5 py-0.5";
|
|
|
21
21
|
export const paddingLg = "px-3 py-2";
|
|
22
22
|
export const paddingXl = "px-4 py-3";
|
|
23
23
|
|
|
24
|
-
// ──
|
|
24
|
+
// ── Theme ──
|
|
25
25
|
export type SemanticTheme = "primary" | "info" | "success" | "warning" | "danger" | "base";
|
|
26
26
|
|
|
27
27
|
export const themeTokens: Record<
|
package/tailwind.config.ts
CHANGED
package/tailwind.css
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
outline: none;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
/*
|
|
29
|
+
/* Scrollbar styles */
|
|
30
30
|
::-webkit-scrollbar {
|
|
31
31
|
width: 0.5rem;
|
|
32
32
|
height: 0.5rem;
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
background-color: rgb(0 0 0 / 8%);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
/*
|
|
52
|
+
/* Dark mode scrollbar - neutral zinc tones */
|
|
53
53
|
.dark ::-webkit-scrollbar-track {
|
|
54
54
|
background-color: rgb(161 161 170 / 10%);
|
|
55
55
|
}
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
background-color: rgb(161 161 170 / 10%);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
/*
|
|
70
|
+
/* Text selection area */
|
|
71
71
|
::selection {
|
|
72
72
|
@apply bg-primary-200 text-primary-900;
|
|
73
73
|
}
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
@apply bg-primary-800 text-primary-100;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
/*
|
|
79
|
+
/* Dark mode date/time input icon */
|
|
80
80
|
.dark ::-webkit-calendar-picker-indicator {
|
|
81
81
|
filter: invert(1);
|
|
82
82
|
}
|