@simplysm/solid 13.0.74 → 13.0.76
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 +4 -4
- package/dist/components/data/Pagination.d.ts +2 -2
- package/dist/components/data/Pagination.d.ts.map +1 -1
- package/dist/components/data/Pagination.js +7 -5
- package/dist/components/data/Pagination.js.map +2 -2
- package/dist/components/data/Table.d.ts +5 -1
- package/dist/components/data/Table.d.ts.map +1 -1
- package/dist/components/data/Table.js +64 -22
- package/dist/components/data/Table.js.map +2 -2
- package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/data/calendar/Calendar.js +10 -26
- package/dist/components/data/calendar/Calendar.js.map +2 -2
- package/dist/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
- package/dist/components/data/kanban/Kanban.d.ts +46 -5
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js +144 -119
- 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 +2 -5
- package/dist/components/data/list/List.js.map +2 -2
- package/dist/components/data/list/ListItem.d.ts +7 -34
- package/dist/components/data/list/ListItem.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.js +15 -20
- package/dist/components/data/list/ListItem.js.map +2 -2
- package/dist/components/data/list/ListItem.styles.d.ts +1 -1
- package/dist/components/data/list/ListItem.styles.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.styles.js +8 -8
- package/dist/components/data/list/ListItem.styles.js.map +1 -1
- package/dist/components/data/sheet/DataSheet.d.ts +3 -2
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +677 -850
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.d.ts +2 -1
- package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js +32 -10
- package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
- package/dist/components/data/sheet/DataSheetColumn.d.ts +4 -3
- package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetColumn.js +4 -22
- package/dist/components/data/sheet/DataSheetColumn.js.map +2 -2
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -0
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.js +19 -18
- package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -2
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +17 -0
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +61 -0
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +29 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js +101 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts +17 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.js +32 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +21 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.js +112 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +22 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.js +63 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +17 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.js +45 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.js.map +6 -0
- package/dist/components/data/sheet/sheetUtils.d.ts +2 -2
- package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
- package/dist/components/data/sheet/sheetUtils.js +5 -5
- package/dist/components/data/sheet/sheetUtils.js.map +1 -1
- package/dist/components/data/sheet/types.d.ts +7 -8
- 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 +1 -3
- package/dist/components/disclosure/Collapse.js.map +2 -2
- package/dist/components/disclosure/Dialog.d.ts +78 -20
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +251 -110
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts +6 -29
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js +60 -61
- package/dist/components/disclosure/Dropdown.js.map +2 -2
- package/dist/components/disclosure/Tabs.d.ts +1 -1
- package/dist/components/disclosure/Tabs.d.ts.map +1 -1
- package/dist/components/disclosure/Tabs.js +16 -17
- package/dist/components/disclosure/Tabs.js.map +2 -2
- package/dist/components/display/Alert.d.ts +1 -1
- package/dist/components/display/Alert.d.ts.map +1 -1
- package/dist/components/display/Alert.js +2 -4
- package/dist/components/display/Alert.js.map +2 -2
- package/dist/components/display/Barcode.d.ts.map +1 -1
- package/dist/components/display/Barcode.js +1 -3
- package/dist/components/display/Barcode.js.map +2 -2
- package/dist/components/display/Card.animate.css +11 -0
- package/dist/components/display/Card.d.ts +1 -0
- package/dist/components/display/Card.d.ts.map +1 -1
- package/dist/components/display/Card.js +3 -2
- package/dist/components/display/Card.js.map +2 -2
- package/dist/components/display/Echarts.d.ts.map +1 -1
- package/dist/components/display/Echarts.js +1 -3
- package/dist/components/display/Echarts.js.map +2 -2
- package/dist/components/display/Link.d.ts +1 -1
- package/dist/components/display/Link.d.ts.map +1 -1
- package/dist/components/display/Link.js +3 -4
- package/dist/components/display/Link.js.map +2 -2
- package/dist/components/display/Tag.d.ts +1 -1
- package/dist/components/display/Tag.d.ts.map +1 -1
- package/dist/components/display/Tag.js +2 -4
- package/dist/components/display/Tag.js.map +2 -2
- package/dist/components/features/address/AddressSearch.d.ts +3 -1
- package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
- package/dist/components/features/address/AddressSearch.js +3 -4
- package/dist/components/features/address/AddressSearch.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetail.js +205 -196
- package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetailAfter.d.ts +5 -4
- package/dist/components/features/crud-detail/CrudDetailAfter.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailAfter.js +3 -10
- package/dist/components/features/crud-detail/CrudDetailAfter.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetailBefore.d.ts +5 -4
- package/dist/components/features/crud-detail/CrudDetailBefore.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailBefore.js +3 -10
- package/dist/components/features/crud-detail/CrudDetailBefore.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetailTools.d.ts +5 -4
- package/dist/components/features/crud-detail/CrudDetailTools.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailTools.js +3 -10
- package/dist/components/features/crud-detail/CrudDetailTools.js.map +2 -2
- package/dist/components/features/crud-detail/types.d.ts +2 -12
- package/dist/components/features/crud-detail/types.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.d.ts +8 -1
- package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.js +94 -77
- package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +4 -3
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetColumn.js +4 -23
- package/dist/components/features/crud-sheet/CrudSheetColumn.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts +7 -5
- package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetFilter.js +4 -8
- package/dist/components/features/crud-sheet/CrudSheetFilter.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts +5 -4
- package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetHeader.js +3 -10
- package/dist/components/features/crud-sheet/CrudSheetHeader.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +7 -5
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetTools.js +4 -8
- package/dist/components/features/crud-sheet/CrudSheetTools.js.map +2 -2
- package/dist/components/features/crud-sheet/types.d.ts +6 -36
- package/dist/components/features/crud-sheet/types.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.d.ts +23 -26
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.js +25 -36
- package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
- package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
- package/dist/components/features/permission-table/PermissionTable.js +9 -13
- package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelect.d.ts +17 -12
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.js +57 -80
- package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +12 -9
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts +13 -2
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.js +131 -113
- package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
- package/dist/components/feedback/Progress.d.ts +3 -2
- package/dist/components/feedback/Progress.d.ts.map +1 -1
- package/dist/components/feedback/Progress.js +9 -7
- package/dist/components/feedback/Progress.js.map +2 -2
- 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/BusyContainer.js +35 -32
- package/dist/components/feedback/busy/BusyContainer.js.map +2 -2
- package/dist/components/feedback/busy/BusyProvider.d.ts +26 -2
- package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyProvider.js +13 -7
- package/dist/components/feedback/busy/BusyProvider.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js +13 -19
- package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +69 -71
- package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
- package/dist/components/feedback/notification/NotificationProvider.d.ts +68 -1
- package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.js +13 -4
- package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
- package/dist/components/feedback/notification/index.d.ts +0 -1
- package/dist/components/feedback/notification/index.d.ts.map +1 -1
- package/dist/components/feedback/notification/index.js +0 -1
- package/dist/components/feedback/notification/index.js.map +1 -1
- package/dist/components/feedback/print/PrintProvider.d.ts +14 -1
- package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
- package/dist/components/feedback/print/PrintProvider.js +15 -5
- package/dist/components/feedback/print/PrintProvider.js.map +2 -2
- package/dist/components/form-control/Button.d.ts +2 -1
- package/dist/components/form-control/Button.d.ts.map +1 -1
- package/dist/components/form-control/Button.js +9 -8
- package/dist/components/form-control/Button.js.map +2 -2
- 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/DropdownTrigger.styles.js +16 -16
- package/dist/components/form-control/DropdownTrigger.styles.js.map +1 -1
- package/dist/components/form-control/ThemeToggle.d.ts +2 -1
- package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.js +71 -74
- package/dist/components/form-control/ThemeToggle.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts +1 -1
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +14 -95
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.styles.js +20 -25
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js +84 -9
- package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/Radio.d.ts +1 -1
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +12 -95
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js +81 -9
- package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/SelectableBase.d.ts +26 -0
- package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -0
- package/dist/components/form-control/checkbox/SelectableBase.js +100 -0
- package/dist/components/form-control/checkbox/SelectableBase.js.map +6 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +17 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.js +53 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +6 -0
- package/dist/components/form-control/color-picker/ColorPicker.d.ts +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +3 -15
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +26 -47
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +107 -59
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +12 -5
- 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 +358 -211
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/editor/RichTextEditor.d.ts +1 -1
- package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/form-control/editor/RichTextEditor.js +10 -10
- package/dist/components/form-control/editor/RichTextEditor.js.map +2 -2
- package/{src/components/form-control/editor/editor.css → dist/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
- package/dist/components/form-control/field/DatePicker.d.ts +1 -1
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +48 -129
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts +1 -1
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +48 -129
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/Field.styles.d.ts +3 -3
- package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
- package/dist/components/form-control/field/Field.styles.js +46 -40
- package/dist/components/form-control/field/Field.styles.js.map +1 -1
- package/dist/components/form-control/field/FieldPlaceholder.js +4 -3
- package/dist/components/form-control/field/FieldPlaceholder.js.map +2 -2
- package/dist/components/form-control/field/FieldShell.d.ts +37 -0
- package/dist/components/form-control/field/FieldShell.d.ts.map +1 -0
- package/dist/components/form-control/field/FieldShell.js +124 -0
- package/dist/components/form-control/field/FieldShell.js.map +6 -0
- package/dist/components/form-control/field/NumberInput.d.ts +8 -6
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +86 -192
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +7 -6
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +82 -193
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts +1 -1
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +79 -154
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts +1 -1
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +44 -121
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/numpad/Numpad.d.ts +1 -1
- package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
- package/dist/components/form-control/numpad/Numpad.js +5 -5
- package/dist/components/form-control/numpad/Numpad.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +54 -35
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +215 -114
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/state-preset/StatePreset.d.ts +2 -2
- package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js +63 -52
- package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
- package/dist/components/layout/FormGroup.d.ts +3 -6
- package/dist/components/layout/FormGroup.d.ts.map +1 -1
- package/dist/components/layout/FormGroup.js +5 -7
- package/dist/components/layout/FormGroup.js.map +2 -2
- package/dist/components/layout/FormTable.d.ts +7 -1
- package/dist/components/layout/FormTable.d.ts.map +1 -1
- package/dist/components/layout/FormTable.js +52 -18
- package/dist/components/layout/FormTable.js.map +2 -2
- package/dist/components/layout/sidebar/Sidebar.d.ts +136 -8
- package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar/Sidebar.js +341 -21
- package/dist/components/layout/sidebar/Sidebar.js.map +2 -2
- package/dist/components/layout/topbar/Topbar.d.ts +44 -33
- package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +426 -39
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/helpers/createAppStructure.d.ts.map +1 -1
- package/dist/helpers/createAppStructure.js +4 -5
- package/dist/helpers/createAppStructure.js.map +1 -1
- package/dist/helpers/createSlot.d.ts +3 -0
- package/dist/helpers/createSlot.d.ts.map +1 -0
- package/dist/helpers/createSlot.js +40 -0
- package/dist/helpers/createSlot.js.map +6 -0
- package/dist/helpers/createSlots.d.ts +7 -0
- package/dist/helpers/createSlots.d.ts.map +1 -0
- package/dist/helpers/createSlots.js +34 -0
- package/dist/helpers/createSlots.js.map +6 -0
- package/dist/hooks/createControllableSignal.d.ts +4 -12
- package/dist/hooks/createControllableSignal.d.ts.map +1 -1
- package/dist/hooks/createControllableSignal.js +4 -3
- package/dist/hooks/createControllableSignal.js.map +1 -1
- package/dist/hooks/createControllableStore.d.ts.map +1 -1
- package/dist/hooks/createControllableStore.js +3 -4
- package/dist/hooks/createControllableStore.js.map +1 -1
- 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/useSyncConfig.js +1 -1
- package/dist/index.d.ts +13 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -20
- package/dist/index.js.map +1 -1
- package/dist/providers/ConfigContext.d.ts.map +1 -1
- package/dist/providers/ConfigContext.js +10 -13
- package/dist/providers/ConfigContext.js.map +1 -1
- package/dist/providers/{LoggerContext.d.ts → LoggerProvider.d.ts} +1 -1
- package/dist/providers/LoggerProvider.d.ts.map +1 -0
- package/dist/providers/{LoggerContext.js → LoggerProvider.js} +1 -1
- package/dist/providers/{LoggerContext.js.map → LoggerProvider.js.map} +1 -1
- package/dist/providers/PwaUpdateProvider.js +1 -1
- package/dist/providers/ServiceClientProvider.d.ts +22 -0
- package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
- package/dist/providers/ServiceClientProvider.js +39 -48
- package/dist/providers/ServiceClientProvider.js.map +2 -2
- package/dist/providers/{SyncStorageContext.d.ts → SyncStorageProvider.d.ts} +1 -1
- package/dist/providers/SyncStorageProvider.d.ts.map +1 -0
- package/dist/providers/{SyncStorageContext.js → SyncStorageProvider.js} +1 -1
- package/dist/providers/{SyncStorageContext.js.map → SyncStorageProvider.js.map} +1 -1
- package/dist/providers/SystemProvider.d.ts +1 -1
- package/dist/providers/SystemProvider.d.ts.map +1 -1
- package/dist/providers/SystemProvider.js +3 -3
- package/dist/providers/SystemProvider.js.map +1 -1
- package/dist/providers/i18n/{I18nContext.d.ts → I18nProvider.d.ts} +2 -2
- package/dist/providers/i18n/I18nProvider.d.ts.map +1 -0
- package/dist/providers/i18n/{I18nContext.js → I18nProvider.js} +1 -1
- package/dist/providers/i18n/{I18nContext.js.map → I18nProvider.js.map} +1 -1
- package/dist/providers/i18n/{I18nContext.types.d.ts → I18nProvider.types.d.ts} +1 -1
- package/dist/providers/i18n/I18nProvider.types.d.ts.map +1 -0
- package/dist/providers/i18n/I18nProvider.types.js +1 -0
- package/dist/providers/shared-data/SharedDataProvider.d.ts +74 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +15 -7
- package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
- package/dist/styles/base.styles.d.ts +15 -0
- package/dist/styles/base.styles.d.ts.map +1 -0
- package/dist/styles/base.styles.js +21 -0
- package/dist/styles/base.styles.js.map +6 -0
- package/dist/styles/control.styles.d.ts +19 -0
- package/dist/styles/control.styles.d.ts.map +1 -0
- package/dist/styles/control.styles.js +24 -0
- package/dist/styles/control.styles.js.map +6 -0
- package/dist/styles/theme.styles.d.ts +52 -0
- package/dist/styles/theme.styles.d.ts.map +1 -0
- package/dist/styles/theme.styles.js +55 -0
- package/dist/styles/theme.styles.js.map +6 -0
- package/package.json +5 -5
- package/src/components/data/Pagination.tsx +9 -9
- package/src/components/data/Table.tsx +63 -30
- package/src/components/data/calendar/Calendar.tsx +38 -36
- package/src/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
- package/src/components/data/kanban/Kanban.tsx +118 -84
- package/src/components/data/list/List.tsx +5 -16
- package/src/components/data/list/ListItem.styles.ts +8 -8
- package/src/components/data/list/ListItem.tsx +20 -31
- package/src/components/data/sheet/DataSheet.styles.ts +32 -9
- package/src/components/data/sheet/DataSheet.tsx +159 -440
- package/src/components/data/sheet/DataSheetColumn.tsx +7 -29
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +14 -20
- package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +85 -0
- package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +131 -0
- package/src/components/data/sheet/hooks/useDataSheetPaging.ts +51 -0
- package/src/components/data/sheet/hooks/useDataSheetReorder.ts +155 -0
- package/src/components/data/sheet/hooks/useDataSheetSelection.ts +99 -0
- package/src/components/data/sheet/hooks/useDataSheetSorting.ts +68 -0
- package/src/components/data/sheet/sheetUtils.ts +5 -5
- package/src/components/data/sheet/types.ts +7 -8
- package/src/components/disclosure/Collapse.tsx +1 -9
- package/src/components/disclosure/Dialog.tsx +242 -41
- package/src/components/disclosure/Dropdown.tsx +66 -75
- package/src/components/disclosure/Tabs.tsx +23 -32
- package/src/components/display/Alert.tsx +2 -5
- package/src/components/display/Barcode.tsx +1 -4
- package/src/components/display/Card.animate.css +11 -0
- package/src/components/display/Card.tsx +10 -11
- package/src/components/display/Echarts.tsx +1 -4
- package/src/components/display/Link.tsx +3 -5
- package/src/components/display/Tag.tsx +2 -5
- package/src/components/features/address/AddressSearch.tsx +4 -5
- package/src/components/features/crud-detail/CrudDetail.tsx +129 -142
- package/src/components/features/crud-detail/CrudDetailAfter.tsx +3 -16
- package/src/components/features/crud-detail/CrudDetailBefore.tsx +3 -16
- package/src/components/features/crud-detail/CrudDetailTools.tsx +3 -16
- package/src/components/features/crud-detail/types.ts +3 -16
- package/src/components/features/crud-sheet/CrudSheet.tsx +90 -92
- package/src/components/features/crud-sheet/CrudSheetColumn.tsx +7 -30
- package/src/components/features/crud-sheet/CrudSheetFilter.tsx +12 -16
- package/src/components/features/crud-sheet/CrudSheetHeader.tsx +3 -16
- package/src/components/features/crud-sheet/CrudSheetTools.tsx +12 -16
- package/src/components/features/crud-sheet/types.ts +6 -40
- package/src/components/features/data-select-button/DataSelectButton.tsx +55 -64
- package/src/components/features/permission-table/PermissionTable.tsx +9 -13
- package/src/components/features/shared-data/SharedDataSelect.tsx +89 -108
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +26 -15
- package/src/components/features/shared-data/SharedDataSelectList.tsx +55 -32
- package/src/components/feedback/Progress.tsx +16 -21
- package/src/components/feedback/busy/BusyContainer.tsx +18 -45
- package/src/components/feedback/busy/BusyProvider.tsx +40 -7
- package/src/components/feedback/notification/NotificationBanner.tsx +13 -32
- package/src/components/feedback/notification/NotificationBell.tsx +18 -47
- package/src/components/feedback/notification/NotificationProvider.tsx +96 -10
- package/src/components/feedback/notification/index.ts +0 -1
- package/src/components/feedback/print/PrintProvider.tsx +35 -4
- package/src/components/form-control/Button.tsx +11 -29
- package/src/components/form-control/DropdownTrigger.styles.ts +16 -17
- package/src/components/form-control/ThemeToggle.tsx +18 -15
- package/src/components/form-control/checkbox/Checkbox.styles.ts +20 -26
- package/src/components/form-control/checkbox/Checkbox.tsx +14 -100
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +85 -10
- package/src/components/form-control/checkbox/Radio.tsx +14 -103
- package/src/components/form-control/checkbox/RadioGroup.tsx +82 -10
- package/src/components/form-control/checkbox/SelectableBase.tsx +123 -0
- package/src/components/form-control/checkbox/SelectionGroupBase.tsx +57 -0
- package/src/components/form-control/color-picker/ColorPicker.tsx +8 -28
- package/src/components/form-control/combobox/Combobox.tsx +124 -30
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
- package/src/components/form-control/editor/EditorToolbar.tsx +105 -82
- package/{dist/components/form-control/editor/editor.css → src/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
- package/src/components/form-control/editor/RichTextEditor.tsx +14 -29
- package/src/components/form-control/field/DatePicker.tsx +30 -72
- package/src/components/form-control/field/DateTimePicker.tsx +31 -79
- package/src/components/form-control/field/Field.styles.ts +48 -42
- package/src/components/form-control/field/FieldPlaceholder.tsx +2 -2
- package/src/components/form-control/field/FieldShell.tsx +113 -0
- package/src/components/form-control/field/NumberInput.tsx +67 -126
- package/src/components/form-control/field/TextInput.tsx +51 -109
- package/src/components/form-control/field/Textarea.tsx +64 -108
- package/src/components/form-control/field/TimePicker.tsx +29 -70
- package/src/components/form-control/numpad/Numpad.tsx +5 -6
- package/src/components/form-control/select/Select.tsx +243 -119
- package/src/components/form-control/state-preset/StatePreset.tsx +60 -83
- package/src/components/layout/FormGroup.tsx +10 -13
- package/src/components/layout/FormTable.tsx +40 -19
- package/src/components/layout/sidebar/Sidebar.tsx +456 -38
- package/src/components/layout/topbar/Topbar.tsx +420 -49
- package/src/helpers/createAppStructure.ts +6 -7
- package/src/helpers/createSlot.ts +45 -0
- package/src/helpers/createSlots.ts +44 -0
- package/src/hooks/createControllableSignal.ts +10 -18
- package/src/hooks/createControllableStore.ts +3 -4
- package/src/hooks/useLogger.ts +1 -1
- package/src/hooks/useSyncConfig.ts +1 -1
- package/src/index.ts +14 -20
- package/src/providers/ConfigContext.tsx +0 -1
- package/src/providers/PwaUpdateProvider.tsx +1 -1
- package/src/providers/ServiceClientProvider.tsx +59 -53
- package/src/providers/SystemProvider.tsx +4 -5
- package/src/providers/i18n/{I18nContext.tsx → I18nProvider.tsx} +1 -1
- package/src/providers/shared-data/SharedDataProvider.tsx +95 -14
- package/src/styles/base.styles.ts +21 -0
- package/src/styles/control.styles.ts +25 -0
- package/src/styles/theme.styles.ts +54 -0
- package/tailwind.config.ts +0 -11
- package/tests/components/data/List.spec.tsx +1 -262
- package/tests/components/data/Pagination.spec.tsx +0 -75
- package/tests/components/data/kanban/Kanban.selection.spec.tsx +1 -17
- package/tests/components/data/sheet/DataSheet.spec.tsx +36 -65
- package/tests/components/data/sheet/hooks/useDataSheetExpansion.spec.ts +254 -0
- package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +488 -0
- package/tests/components/data/sheet/hooks/useDataSheetPaging.spec.ts +359 -0
- package/tests/components/data/sheet/hooks/useDataSheetReorder.spec.ts +251 -0
- package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +345 -0
- package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +279 -0
- package/tests/components/disclosure/Collapse.spec.tsx +0 -24
- package/tests/components/disclosure/Dialog.spec.tsx +4 -54
- package/tests/components/disclosure/DialogProvider.spec.tsx +9 -12
- package/tests/components/disclosure/Tabs.spec.tsx +0 -99
- package/tests/components/display/Barcode.spec.tsx +0 -14
- package/tests/components/features/address/AddressSearch.spec.tsx +3 -4
- package/tests/components/features/crud-detail/CrudDetail.spec.tsx +12 -74
- package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +13 -66
- package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +51 -29
- package/tests/components/features/permission-table/PermissionTable.spec.tsx +5 -30
- package/tests/components/features/shared-data/SharedDataSelect.spec.tsx +15 -19
- package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +17 -44
- package/tests/components/feedback/busy/BusyContainer.spec.tsx +15 -9
- package/tests/components/feedback/notification/LiveRegion.spec.tsx +2 -27
- package/tests/components/feedback/notification/NotificationBanner.spec.tsx +2 -27
- package/tests/components/feedback/notification/NotificationBell.spec.tsx +2 -16
- package/tests/components/feedback/notification/NotificationContext.spec.tsx +2 -16
- package/tests/components/form-control/Button.spec.tsx +0 -97
- package/tests/components/form-control/Invalid.spec.tsx +0 -15
- package/tests/components/form-control/checkbox/Checkbox.spec.tsx +1 -47
- package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +1 -26
- package/tests/components/form-control/checkbox/Radio.spec.tsx +1 -46
- package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +1 -26
- package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +1 -31
- package/tests/components/form-control/combobox/Combobox.spec.tsx +5 -49
- package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +7 -27
- package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +1 -58
- package/tests/components/form-control/field/DatePicker.spec.tsx +5 -93
- package/tests/components/form-control/field/DateTimePicker.spec.tsx +5 -86
- package/tests/components/form-control/field/FieldShell.spec.tsx +127 -0
- package/tests/components/form-control/field/NumberInput.spec.tsx +14 -133
- package/tests/components/form-control/field/TextInput.spec.tsx +6 -148
- package/tests/components/form-control/field/Textarea.spec.tsx +5 -69
- package/tests/components/form-control/field/TimePicker.spec.tsx +5 -84
- package/tests/components/form-control/numpad/Numpad.spec.tsx +1 -78
- package/tests/components/form-control/select/Select.spec.tsx +9 -59
- package/tests/components/form-control/select/SelectItem.spec.tsx +10 -62
- package/tests/components/layout/sidebar/Sidebar.spec.tsx +3 -122
- package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +3 -45
- package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +1 -74
- package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -48
- package/tests/components/layout/topbar/TopbarActions.spec.tsx +1 -1
- package/tests/components/layout/topbar/createTopbarActions.spec.tsx +0 -9
- package/tests/helpers/createAppStructure.spec.tsx +0 -26
- package/tests/helpers/createSlot.spec.tsx +99 -0
- package/tests/helpers/createSlots.spec.tsx +100 -0
- package/tests/hooks/createControllableSignal.spec.ts +0 -50
- package/tests/hooks/createControllableStore.spec.ts +67 -0
- package/tests/hooks/createMountTransition.spec.ts +0 -9
- package/tests/hooks/useLocalStorage.spec.tsx +0 -34
- package/tests/hooks/useLogger.spec.tsx +1 -18
- package/tests/hooks/usePrint.spec.tsx +1 -24
- package/tests/hooks/useSyncConfig.spec.tsx +1 -18
- package/tests/providers/ErrorLoggerProvider.spec.tsx +1 -11
- package/tests/providers/ServiceClientContext.spec.tsx +2 -20
- package/tests/providers/i18n/I18nContext.spec.tsx +1 -5
- package/tests/providers/shared-data/SharedDataProvider.spec.tsx +13 -13
- package/dist/components/data/kanban/KanbanContext.d.ts +0 -43
- package/dist/components/data/kanban/KanbanContext.d.ts.map +0 -1
- package/dist/components/data/kanban/KanbanContext.js +0 -24
- package/dist/components/data/kanban/KanbanContext.js.map +0 -6
- package/dist/components/data/sheet/DataSheet.css +0 -44
- package/dist/components/disclosure/DialogContext.d.ts +0 -57
- package/dist/components/disclosure/DialogContext.d.ts.map +0 -1
- package/dist/components/disclosure/DialogContext.js +0 -14
- package/dist/components/disclosure/DialogContext.js.map +0 -6
- package/dist/components/disclosure/DialogInstanceContext.d.ts +0 -20
- package/dist/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
- package/dist/components/disclosure/DialogInstanceContext.js +0 -10
- package/dist/components/disclosure/DialogInstanceContext.js.map +0 -6
- package/dist/components/disclosure/DialogProvider.d.ts +0 -19
- package/dist/components/disclosure/DialogProvider.d.ts.map +0 -1
- package/dist/components/disclosure/DialogProvider.js +0 -145
- package/dist/components/disclosure/DialogProvider.js.map +0 -6
- package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +0 -15
- package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +0 -1
- package/dist/components/features/shared-data/SharedDataSelectListContext.js +0 -27
- package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +0 -6
- package/dist/components/feedback/busy/BusyContext.d.ts +0 -29
- package/dist/components/feedback/busy/BusyContext.d.ts.map +0 -1
- package/dist/components/feedback/busy/BusyContext.js +0 -14
- package/dist/components/feedback/busy/BusyContext.js.map +0 -6
- package/dist/components/feedback/notification/NotificationContext.d.ts +0 -69
- package/dist/components/feedback/notification/NotificationContext.d.ts.map +0 -1
- package/dist/components/feedback/notification/NotificationContext.js +0 -14
- package/dist/components/feedback/notification/NotificationContext.js.map +0 -6
- package/dist/components/feedback/print/PrintContext.d.ts +0 -12
- package/dist/components/feedback/print/PrintContext.d.ts.map +0 -1
- package/dist/components/feedback/print/PrintContext.js +0 -12
- package/dist/components/feedback/print/PrintContext.js.map +0 -6
- package/dist/components/feedback/print/PrintInstanceContext.d.ts +0 -6
- package/dist/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
- package/dist/components/feedback/print/PrintInstanceContext.js +0 -10
- package/dist/components/feedback/print/PrintInstanceContext.js.map +0 -6
- package/dist/components/form-control/combobox/ComboboxContext.d.ts +0 -14
- package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
- package/dist/components/form-control/combobox/ComboboxContext.js +0 -14
- package/dist/components/form-control/combobox/ComboboxContext.js.map +0 -6
- package/dist/components/form-control/combobox/ComboboxItem.d.ts +0 -12
- package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
- package/dist/components/form-control/combobox/ComboboxItem.js +0 -56
- package/dist/components/form-control/combobox/ComboboxItem.js.map +0 -6
- package/dist/components/form-control/select/SelectContext.d.ts +0 -21
- package/dist/components/form-control/select/SelectContext.d.ts.map +0 -1
- package/dist/components/form-control/select/SelectContext.js +0 -14
- package/dist/components/form-control/select/SelectContext.js.map +0 -6
- package/dist/components/form-control/select/SelectItem.d.ts +0 -30
- package/dist/components/form-control/select/SelectItem.d.ts.map +0 -1
- package/dist/components/form-control/select/SelectItem.js +0 -112
- package/dist/components/form-control/select/SelectItem.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarContainer.d.ts +0 -34
- package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarContainer.js +0 -88
- package/dist/components/layout/sidebar/SidebarContainer.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarContext.d.ts +0 -28
- package/dist/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarContext.js +0 -20
- package/dist/components/layout/sidebar/SidebarContext.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarMenu.d.ts +0 -35
- package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarMenu.js +0 -153
- package/dist/components/layout/sidebar/SidebarMenu.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarUser.d.ts +0 -48
- package/dist/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarUser.js +0 -128
- package/dist/components/layout/sidebar/SidebarUser.js.map +0 -6
- package/dist/components/layout/topbar/TopbarActions.d.ts +0 -3
- package/dist/components/layout/topbar/TopbarActions.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarActions.js +0 -17
- package/dist/components/layout/topbar/TopbarActions.js.map +0 -6
- package/dist/components/layout/topbar/TopbarContainer.d.ts +0 -25
- package/dist/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarContainer.js +0 -37
- package/dist/components/layout/topbar/TopbarContainer.js.map +0 -6
- package/dist/components/layout/topbar/TopbarContext.d.ts +0 -9
- package/dist/components/layout/topbar/TopbarContext.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarContext.js +0 -29
- package/dist/components/layout/topbar/TopbarContext.js.map +0 -6
- package/dist/components/layout/topbar/TopbarMenu.d.ts +0 -41
- package/dist/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarMenu.js +0 -288
- package/dist/components/layout/topbar/TopbarMenu.js.map +0 -6
- package/dist/components/layout/topbar/TopbarUser.d.ts +0 -35
- package/dist/components/layout/topbar/TopbarUser.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarUser.js +0 -110
- package/dist/components/layout/topbar/TopbarUser.js.map +0 -6
- package/dist/helpers/createHmrSafeContext.d.ts +0 -3
- package/dist/helpers/createHmrSafeContext.d.ts.map +0 -1
- package/dist/helpers/createHmrSafeContext.js +0 -10
- package/dist/helpers/createHmrSafeContext.js.map +0 -6
- package/dist/helpers/createSlotComponent.d.ts +0 -12
- package/dist/helpers/createSlotComponent.d.ts.map +0 -1
- package/dist/helpers/createSlotComponent.js +0 -13
- package/dist/helpers/createSlotComponent.js.map +0 -6
- package/dist/hooks/createSelectionGroup.d.ts +0 -70
- package/dist/hooks/createSelectionGroup.d.ts.map +0 -1
- package/dist/hooks/createSelectionGroup.js +0 -145
- package/dist/hooks/createSelectionGroup.js.map +0 -6
- package/dist/hooks/createSlotSignal.d.ts +0 -9
- package/dist/hooks/createSlotSignal.d.ts.map +0 -1
- package/dist/hooks/createSlotSignal.js +0 -10
- package/dist/hooks/createSlotSignal.js.map +0 -6
- package/dist/providers/LoggerContext.d.ts.map +0 -1
- package/dist/providers/ServiceClientContext.d.ts +0 -23
- package/dist/providers/ServiceClientContext.d.ts.map +0 -1
- package/dist/providers/ServiceClientContext.js +0 -14
- package/dist/providers/ServiceClientContext.js.map +0 -6
- package/dist/providers/SyncStorageContext.d.ts.map +0 -1
- package/dist/providers/i18n/I18nContext.d.ts.map +0 -1
- package/dist/providers/i18n/I18nContext.types.d.ts.map +0 -1
- package/dist/providers/i18n/I18nContext.types.js +0 -1
- package/dist/providers/shared-data/SharedDataContext.d.ts +0 -77
- package/dist/providers/shared-data/SharedDataContext.d.ts.map +0 -1
- package/dist/providers/shared-data/SharedDataContext.js +0 -14
- package/dist/providers/shared-data/SharedDataContext.js.map +0 -6
- package/dist/styles/patterns.styles.d.ts +0 -7
- package/dist/styles/patterns.styles.d.ts.map +0 -1
- package/dist/styles/patterns.styles.js +0 -47
- package/dist/styles/patterns.styles.js.map +0 -6
- package/dist/styles/tokens.styles.d.ts +0 -23
- package/dist/styles/tokens.styles.d.ts.map +0 -1
- package/dist/styles/tokens.styles.js +0 -76
- package/dist/styles/tokens.styles.js.map +0 -6
- package/src/components/data/kanban/KanbanContext.ts +0 -76
- package/src/components/data/sheet/DataSheet.css +0 -44
- package/src/components/disclosure/DialogContext.ts +0 -69
- package/src/components/disclosure/DialogInstanceContext.ts +0 -25
- package/src/components/disclosure/DialogProvider.tsx +0 -147
- package/src/components/features/shared-data/SharedDataSelectListContext.ts +0 -39
- package/src/components/feedback/busy/BusyContext.ts +0 -38
- package/src/components/feedback/notification/NotificationContext.ts +0 -95
- package/src/components/feedback/print/PrintContext.ts +0 -20
- package/src/components/feedback/print/PrintInstanceContext.ts +0 -11
- package/src/components/form-control/combobox/ComboboxContext.ts +0 -25
- package/src/components/form-control/combobox/ComboboxItem.tsx +0 -69
- package/src/components/form-control/select/SelectContext.ts +0 -35
- package/src/components/form-control/select/SelectItem.tsx +0 -128
- package/src/components/layout/sidebar/SidebarContainer.tsx +0 -123
- package/src/components/layout/sidebar/SidebarContext.ts +0 -40
- package/src/components/layout/sidebar/SidebarMenu.tsx +0 -182
- package/src/components/layout/sidebar/SidebarUser.tsx +0 -142
- package/src/components/layout/topbar/TopbarActions.tsx +0 -8
- package/src/components/layout/topbar/TopbarContainer.tsx +0 -44
- package/src/components/layout/topbar/TopbarContext.ts +0 -36
- package/src/components/layout/topbar/TopbarMenu.tsx +0 -227
- package/src/components/layout/topbar/TopbarUser.tsx +0 -97
- package/src/helpers/createHmrSafeContext.ts +0 -8
- package/src/helpers/createSlotComponent.ts +0 -23
- package/src/hooks/createSelectionGroup.tsx +0 -241
- package/src/hooks/createSlotSignal.ts +0 -14
- package/src/providers/ServiceClientContext.ts +0 -32
- package/src/providers/shared-data/SharedDataContext.ts +0 -91
- package/src/styles/patterns.styles.ts +0 -50
- package/src/styles/tokens.styles.ts +0 -86
- package/tests/components/data/Table.spec.tsx +0 -55
- package/tests/components/display/Alert.spec.tsx +0 -47
- package/tests/components/display/Card.spec.tsx +0 -41
- package/tests/components/display/Link.spec.tsx +0 -62
- package/tests/components/display/Tag.spec.tsx +0 -47
- package/tests/components/feedback/print/Print.spec.tsx +0 -45
- package/tests/components/layout/FormGroup.spec.tsx +0 -104
- package/tests/components/layout/FormTable.spec.tsx +0 -43
- package/tests/components/layout/topbar/TopbarContainer.spec.tsx +0 -38
- package/tests/providers/ClipboardProvider.spec.tsx +0 -20
- package/tests/providers/ConfigContext.spec.tsx +0 -42
- package/tests/providers/LoggerContext.spec.tsx +0 -76
- package/tests/providers/PwaUpdateProvider.spec.tsx +0 -32
- package/tests/providers/SyncStorageContext.spec.tsx +0 -77
- /package/dist/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
- /package/dist/providers/i18n/{I18nContext.types.js.map → I18nProvider.types.js.map} +0 -0
- /package/src/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
- /package/src/providers/{LoggerContext.tsx → LoggerProvider.tsx} +0 -0
- /package/src/providers/{SyncStorageContext.tsx → SyncStorageProvider.tsx} +0 -0
- /package/src/providers/i18n/{I18nContext.types.ts → I18nProvider.types.ts} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, it, expect, vi } from "vitest";
|
|
2
2
|
import { render, cleanup } from "@solidjs/testing-library";
|
|
3
3
|
import { createSignal, type JSX } from "solid-js";
|
|
4
|
-
import { DataSelectButton, type
|
|
5
|
-
import { DialogProvider } from "../../../../src/components/disclosure/
|
|
6
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
4
|
+
import { DataSelectButton, type SelectDialogBaseProps } from "@simplysm/solid";
|
|
5
|
+
import { DialogProvider } from "../../../../src/components/disclosure/Dialog";
|
|
6
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
7
7
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
8
8
|
|
|
9
9
|
// item type for tests
|
|
@@ -26,13 +26,13 @@ function createTestLoad() {
|
|
|
26
26
|
return loadFn;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
// Dialog component for tests —
|
|
30
|
-
function TestDialogComponent(props: { confirmKeys: number[] }
|
|
29
|
+
// Dialog component for tests — uses close prop directly
|
|
30
|
+
function TestDialogComponent(props: SelectDialogBaseProps<number> & { confirmKeys: number[] }) {
|
|
31
31
|
return (
|
|
32
32
|
<div data-testid="dialog-content">
|
|
33
|
-
<div data-testid="select-mode">{props.
|
|
33
|
+
<div data-testid="select-mode">{props.selectionMode}</div>
|
|
34
34
|
<div data-testid="selected-keys">{JSON.stringify([...props.selectedKeys])}</div>
|
|
35
|
-
<button data-testid="dialog-confirm" onClick={() => props.
|
|
35
|
+
<button data-testid="dialog-confirm" onClick={() => props.close?.({ selectedKeys: props.confirmKeys })}>
|
|
36
36
|
confirm
|
|
37
37
|
</button>
|
|
38
38
|
</div>
|
|
@@ -62,7 +62,8 @@ describe("DataSelectButton", () => {
|
|
|
62
62
|
const { container } = renderWithDialog(() => (
|
|
63
63
|
<DataSelectButton
|
|
64
64
|
load={load}
|
|
65
|
-
dialog={
|
|
65
|
+
dialog={TestDialogComponent}
|
|
66
|
+
dialogProps={{ confirmKeys: [] }}
|
|
66
67
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
67
68
|
/>
|
|
68
69
|
));
|
|
@@ -79,7 +80,8 @@ describe("DataSelectButton", () => {
|
|
|
79
80
|
<DataSelectButton
|
|
80
81
|
value={1}
|
|
81
82
|
load={load}
|
|
82
|
-
dialog={
|
|
83
|
+
dialog={TestDialogComponent}
|
|
84
|
+
dialogProps={{ confirmKeys: [] }}
|
|
83
85
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
84
86
|
/>
|
|
85
87
|
));
|
|
@@ -96,7 +98,8 @@ describe("DataSelectButton", () => {
|
|
|
96
98
|
value={[1, 3]}
|
|
97
99
|
multiple
|
|
98
100
|
load={load}
|
|
99
|
-
dialog={
|
|
101
|
+
dialog={TestDialogComponent}
|
|
102
|
+
dialogProps={{ confirmKeys: [] }}
|
|
100
103
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
101
104
|
/>
|
|
102
105
|
));
|
|
@@ -117,7 +120,8 @@ describe("DataSelectButton", () => {
|
|
|
117
120
|
value={value()}
|
|
118
121
|
onValueChange={setValue}
|
|
119
122
|
load={load}
|
|
120
|
-
dialog={
|
|
123
|
+
dialog={TestDialogComponent}
|
|
124
|
+
dialogProps={{ confirmKeys: [] }}
|
|
121
125
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
122
126
|
/>
|
|
123
127
|
));
|
|
@@ -137,7 +141,8 @@ describe("DataSelectButton", () => {
|
|
|
137
141
|
<DataSelectButton
|
|
138
142
|
value={1}
|
|
139
143
|
load={load}
|
|
140
|
-
dialog={
|
|
144
|
+
dialog={TestDialogComponent}
|
|
145
|
+
dialogProps={{ confirmKeys: [] }}
|
|
141
146
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
142
147
|
/>
|
|
143
148
|
));
|
|
@@ -154,7 +159,8 @@ describe("DataSelectButton", () => {
|
|
|
154
159
|
value={1}
|
|
155
160
|
required
|
|
156
161
|
load={load}
|
|
157
|
-
dialog={
|
|
162
|
+
dialog={TestDialogComponent}
|
|
163
|
+
dialogProps={{ confirmKeys: [] }}
|
|
158
164
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
159
165
|
/>
|
|
160
166
|
));
|
|
@@ -173,7 +179,8 @@ describe("DataSelectButton", () => {
|
|
|
173
179
|
value={1}
|
|
174
180
|
onValueChange={onValueChange}
|
|
175
181
|
load={load}
|
|
176
|
-
dialog={
|
|
182
|
+
dialog={TestDialogComponent}
|
|
183
|
+
dialogProps={{ confirmKeys: [] }}
|
|
177
184
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
178
185
|
/>
|
|
179
186
|
));
|
|
@@ -197,7 +204,8 @@ describe("DataSelectButton", () => {
|
|
|
197
204
|
multiple
|
|
198
205
|
onValueChange={onValueChange}
|
|
199
206
|
load={load}
|
|
200
|
-
dialog={
|
|
207
|
+
dialog={TestDialogComponent}
|
|
208
|
+
dialogProps={{ confirmKeys: [] }}
|
|
201
209
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
202
210
|
/>
|
|
203
211
|
));
|
|
@@ -217,7 +225,8 @@ describe("DataSelectButton", () => {
|
|
|
217
225
|
<DataSelectButton
|
|
218
226
|
disabled
|
|
219
227
|
load={load}
|
|
220
|
-
dialog={
|
|
228
|
+
dialog={TestDialogComponent}
|
|
229
|
+
dialogProps={{ confirmKeys: [] }}
|
|
221
230
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
222
231
|
/>
|
|
223
232
|
));
|
|
@@ -231,7 +240,8 @@ describe("DataSelectButton", () => {
|
|
|
231
240
|
const { container } = renderWithDialog(() => (
|
|
232
241
|
<DataSelectButton
|
|
233
242
|
load={load}
|
|
234
|
-
dialog={
|
|
243
|
+
dialog={TestDialogComponent}
|
|
244
|
+
dialogProps={{ confirmKeys: [] }}
|
|
235
245
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
236
246
|
/>
|
|
237
247
|
));
|
|
@@ -248,7 +258,8 @@ describe("DataSelectButton", () => {
|
|
|
248
258
|
<DataSelectButton
|
|
249
259
|
onValueChange={onValueChange}
|
|
250
260
|
load={load}
|
|
251
|
-
dialog={
|
|
261
|
+
dialog={TestDialogComponent}
|
|
262
|
+
dialogProps={{ confirmKeys: [2] }}
|
|
252
263
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
253
264
|
/>
|
|
254
265
|
));
|
|
@@ -279,7 +290,8 @@ describe("DataSelectButton", () => {
|
|
|
279
290
|
multiple
|
|
280
291
|
onValueChange={onValueChange}
|
|
281
292
|
load={load}
|
|
282
|
-
dialog={
|
|
293
|
+
dialog={TestDialogComponent}
|
|
294
|
+
dialogProps={{ confirmKeys: [1, 3] }}
|
|
283
295
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
284
296
|
/>
|
|
285
297
|
));
|
|
@@ -309,7 +321,8 @@ describe("DataSelectButton", () => {
|
|
|
309
321
|
value={1}
|
|
310
322
|
onValueChange={onValueChange}
|
|
311
323
|
load={load}
|
|
312
|
-
dialog={
|
|
324
|
+
dialog={TestDialogComponent}
|
|
325
|
+
dialogProps={{ confirmKeys: [2] }}
|
|
313
326
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
314
327
|
/>
|
|
315
328
|
));
|
|
@@ -335,7 +348,8 @@ describe("DataSelectButton", () => {
|
|
|
335
348
|
<DataSelectButton
|
|
336
349
|
required
|
|
337
350
|
load={load}
|
|
338
|
-
dialog={
|
|
351
|
+
dialog={TestDialogComponent}
|
|
352
|
+
dialogProps={{ confirmKeys: [] }}
|
|
339
353
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
340
354
|
/>
|
|
341
355
|
));
|
|
@@ -352,7 +366,8 @@ describe("DataSelectButton", () => {
|
|
|
352
366
|
<DataSelectButton
|
|
353
367
|
value={1}
|
|
354
368
|
load={load}
|
|
355
|
-
dialog={
|
|
369
|
+
dialog={TestDialogComponent}
|
|
370
|
+
dialogProps={{ confirmKeys: [] }}
|
|
356
371
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
357
372
|
validate={(v) => (v === 1 ? "1은 선택할 수 없습니다" : undefined)}
|
|
358
373
|
/>
|
|
@@ -371,7 +386,8 @@ describe("DataSelectButton", () => {
|
|
|
371
386
|
<DataSelectButton
|
|
372
387
|
disabled
|
|
373
388
|
load={load}
|
|
374
|
-
dialog={
|
|
389
|
+
dialog={TestDialogComponent}
|
|
390
|
+
dialogProps={{ confirmKeys: [] }}
|
|
375
391
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
376
392
|
/>
|
|
377
393
|
));
|
|
@@ -387,7 +403,8 @@ describe("DataSelectButton", () => {
|
|
|
387
403
|
<DataSelectButton
|
|
388
404
|
required
|
|
389
405
|
load={load}
|
|
390
|
-
dialog={
|
|
406
|
+
dialog={TestDialogComponent}
|
|
407
|
+
dialogProps={{ confirmKeys: [] }}
|
|
391
408
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
392
409
|
/>
|
|
393
410
|
));
|
|
@@ -404,7 +421,8 @@ describe("DataSelectButton", () => {
|
|
|
404
421
|
<DataSelectButton
|
|
405
422
|
onValueChange={onValueChange}
|
|
406
423
|
load={load}
|
|
407
|
-
dialog={
|
|
424
|
+
dialog={TestDialogComponent}
|
|
425
|
+
dialogProps={{ confirmKeys: [3] }}
|
|
408
426
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
409
427
|
/>
|
|
410
428
|
));
|
|
@@ -435,7 +453,8 @@ describe("DataSelectButton", () => {
|
|
|
435
453
|
<DataSelectButton
|
|
436
454
|
value={2}
|
|
437
455
|
load={asyncLoad}
|
|
438
|
-
dialog={
|
|
456
|
+
dialog={TestDialogComponent}
|
|
457
|
+
dialogProps={{ confirmKeys: [] }}
|
|
439
458
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
440
459
|
/>
|
|
441
460
|
));
|
|
@@ -450,7 +469,8 @@ describe("DataSelectButton", () => {
|
|
|
450
469
|
const { container } = renderWithDialog(() => (
|
|
451
470
|
<DataSelectButton
|
|
452
471
|
load={load}
|
|
453
|
-
dialog={
|
|
472
|
+
dialog={TestDialogComponent}
|
|
473
|
+
dialogProps={{ confirmKeys: [] }}
|
|
454
474
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
455
475
|
/>
|
|
456
476
|
));
|
|
@@ -466,7 +486,8 @@ describe("DataSelectButton", () => {
|
|
|
466
486
|
value={1}
|
|
467
487
|
disabled
|
|
468
488
|
load={load}
|
|
469
|
-
dialog={
|
|
489
|
+
dialog={TestDialogComponent}
|
|
490
|
+
dialogProps={{ confirmKeys: [] }}
|
|
470
491
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
471
492
|
/>
|
|
472
493
|
));
|
|
@@ -484,7 +505,8 @@ describe("DataSelectButton", () => {
|
|
|
484
505
|
value={1}
|
|
485
506
|
multiple
|
|
486
507
|
load={load}
|
|
487
|
-
dialog={
|
|
508
|
+
dialog={TestDialogComponent}
|
|
509
|
+
dialogProps={{ confirmKeys: [] }}
|
|
488
510
|
renderItem={(item: TestItem) => <span>{item.name}</span>}
|
|
489
511
|
/>
|
|
490
512
|
));
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
changePermCheck,
|
|
9
9
|
} from "../../../../src/components/features/permission-table/PermissionTable";
|
|
10
10
|
import type { AppPerm } from "../../../../src/helpers/createAppStructure";
|
|
11
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
11
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
12
12
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
13
13
|
|
|
14
14
|
// --- test data ---
|
|
@@ -176,32 +176,6 @@ describe("PermissionTable component", () => {
|
|
|
176
176
|
});
|
|
177
177
|
|
|
178
178
|
describe("basic rendering", () => {
|
|
179
|
-
it("renders as DataSheet (div with data-sheet attribute)", () => {
|
|
180
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><PermissionTable items={sampleItems} /></I18nProvider></ConfigProvider>);
|
|
181
|
-
const wrapper = container.querySelector("[data-sheet]");
|
|
182
|
-
expect(wrapper).toBeTruthy();
|
|
183
|
-
expect(wrapper!.tagName).toBe("DIV");
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
it("renders a table inside DataSheet", () => {
|
|
187
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><PermissionTable items={sampleItems} /></I18nProvider></ConfigProvider>);
|
|
188
|
-
const table = container.querySelector("[data-sheet] table");
|
|
189
|
-
expect(table).toBeTruthy();
|
|
190
|
-
});
|
|
191
|
-
|
|
192
|
-
it("displays perm type columns in header", () => {
|
|
193
|
-
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><PermissionTable items={sampleItems} /></I18nProvider></ConfigProvider>);
|
|
194
|
-
expect(getByText("use")).toBeTruthy();
|
|
195
|
-
expect(getByText("edit")).toBeTruthy();
|
|
196
|
-
expect(getByText("approve")).toBeTruthy();
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
it("displays item titles", () => {
|
|
200
|
-
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><PermissionTable items={sampleItems} /></I18nProvider></ConfigProvider>);
|
|
201
|
-
expect(getByText("사용자 관리")).toBeTruthy();
|
|
202
|
-
expect(getByText("시스템")).toBeTruthy();
|
|
203
|
-
});
|
|
204
|
-
|
|
205
179
|
it("child items are expanded by default", () => {
|
|
206
180
|
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><PermissionTable items={sampleItems} /></I18nProvider></ConfigProvider>);
|
|
207
181
|
expect(getByText("권한 설정")).toBeTruthy();
|
|
@@ -259,13 +233,14 @@ describe("PermissionTable component", () => {
|
|
|
259
233
|
expect(getByText("권한 설정")).toBeTruthy();
|
|
260
234
|
expect(getByText("사용자 목록")).toBeTruthy();
|
|
261
235
|
|
|
262
|
-
//
|
|
236
|
+
// find the expand toggle in the expand feature column (first td) of "사용자 관리" row
|
|
263
237
|
const titleEl = getByText("사용자 관리");
|
|
264
238
|
const row = titleEl.closest("tr")!;
|
|
265
|
-
const
|
|
239
|
+
const expandTd = row.querySelector("td")!;
|
|
240
|
+
const expandButton = expandTd.querySelector("button")!;
|
|
266
241
|
fireEvent.click(expandButton);
|
|
267
242
|
|
|
268
|
-
// children are removed from the DOM (
|
|
243
|
+
// collapsed children are removed from the DOM (flattenTree excludes them)
|
|
269
244
|
expect(queryByText("권한 설정")).toBeNull();
|
|
270
245
|
expect(queryByText("사용자 목록")).toBeNull();
|
|
271
246
|
});
|
|
@@ -3,11 +3,11 @@ import { render, cleanup } from "@solidjs/testing-library";
|
|
|
3
3
|
import { createSignal, type Accessor } from "solid-js";
|
|
4
4
|
import {
|
|
5
5
|
SharedDataSelect,
|
|
6
|
-
type
|
|
6
|
+
type SelectDialogBaseProps,
|
|
7
7
|
} from "@simplysm/solid";
|
|
8
|
-
import { type SharedDataAccessor } from "../../../../src/providers/shared-data/
|
|
9
|
-
import { DialogProvider } from "../../../../src/components/disclosure/
|
|
10
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
8
|
+
import { type SharedDataAccessor } from "../../../../src/providers/shared-data/SharedDataProvider";
|
|
9
|
+
import { DialogProvider } from "../../../../src/components/disclosure/Dialog";
|
|
10
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
11
11
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
12
12
|
|
|
13
13
|
interface TestItem {
|
|
@@ -24,21 +24,21 @@ const testItems: TestItem[] = [
|
|
|
24
24
|
function createMockAccessor(itemsSignal: Accessor<TestItem[]>): SharedDataAccessor<TestItem> {
|
|
25
25
|
return {
|
|
26
26
|
items: itemsSignal,
|
|
27
|
-
get: (key) => itemsSignal().find((item) => item.id === key),
|
|
27
|
+
get: (key: string | number | undefined) => itemsSignal().find((item: TestItem) => item.id === key),
|
|
28
28
|
emit: vi.fn(async () => {}),
|
|
29
|
-
getKey: (item) => item.id,
|
|
30
|
-
|
|
29
|
+
getKey: (item: TestItem) => item.id,
|
|
30
|
+
itemSearchText: (item: TestItem) => item.name,
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
function TestDialogComponent(props: { confirmKeys: number[] }
|
|
34
|
+
function TestDialogComponent(props: SelectDialogBaseProps & { confirmKeys: number[] }) {
|
|
35
35
|
return (
|
|
36
36
|
<div data-testid="dialog-content">
|
|
37
|
-
<div data-testid="select-mode">{props.
|
|
37
|
+
<div data-testid="select-mode">{props.selectionMode}</div>
|
|
38
38
|
<div data-testid="selected-keys">{JSON.stringify([...props.selectedKeys])}</div>
|
|
39
39
|
<button
|
|
40
40
|
data-testid="dialog-confirm"
|
|
41
|
-
onClick={() => props.
|
|
41
|
+
onClick={() => props.close?.({ selectedKeys: props.confirmKeys })}
|
|
42
42
|
>
|
|
43
43
|
confirm
|
|
44
44
|
</button>
|
|
@@ -109,11 +109,9 @@ describe("SharedDataSelect", () => {
|
|
|
109
109
|
data={accessor}
|
|
110
110
|
value={1}
|
|
111
111
|
onValueChange={onValueChange}
|
|
112
|
-
dialog={
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
option: { header: "Select Item" },
|
|
116
|
-
}}
|
|
112
|
+
dialog={TestDialogComponent}
|
|
113
|
+
dialogProps={{ confirmKeys: [2] }}
|
|
114
|
+
dialogOptions={{ header: "Select Item" }}
|
|
117
115
|
>
|
|
118
116
|
<SharedDataSelect.ItemTemplate>
|
|
119
117
|
{(item: TestItem) => <span>{item.name}</span>}
|
|
@@ -147,10 +145,8 @@ describe("SharedDataSelect", () => {
|
|
|
147
145
|
data={accessor}
|
|
148
146
|
value={3}
|
|
149
147
|
onValueChange={() => {}}
|
|
150
|
-
dialog={
|
|
151
|
-
|
|
152
|
-
props: { confirmKeys: [] },
|
|
153
|
-
}}
|
|
148
|
+
dialog={TestDialogComponent}
|
|
149
|
+
dialogProps={{ confirmKeys: [] }}
|
|
154
150
|
>
|
|
155
151
|
<SharedDataSelect.ItemTemplate>
|
|
156
152
|
{(item: TestItem) => <span>{item.name}</span>}
|
|
@@ -2,16 +2,16 @@ import { afterEach, beforeEach, describe, it, expect, vi } from "vitest";
|
|
|
2
2
|
import { render, screen, fireEvent, cleanup } from "@solidjs/testing-library";
|
|
3
3
|
import { createSignal } from "solid-js";
|
|
4
4
|
import { SharedDataSelectList } from "@simplysm/solid";
|
|
5
|
-
import { DialogProvider } from "../../../../src/components/disclosure/
|
|
6
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
5
|
+
import { DialogProvider } from "../../../../src/components/disclosure/Dialog";
|
|
6
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
7
7
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
8
8
|
|
|
9
9
|
// SharedDataAccessor mock factory
|
|
10
10
|
function createMockAccessor<T>(
|
|
11
11
|
items: T[],
|
|
12
12
|
options?: {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
isItemHidden?: (item: T) => boolean;
|
|
14
|
+
itemSearchText?: (item: T) => string;
|
|
15
15
|
},
|
|
16
16
|
) {
|
|
17
17
|
const [itemsSignal] = createSignal(items);
|
|
@@ -20,8 +20,8 @@ function createMockAccessor<T>(
|
|
|
20
20
|
get: (key: string | number | undefined) => items.find((_, i) => i === Number(key)),
|
|
21
21
|
emit: vi.fn(),
|
|
22
22
|
getKey: (item: T) => items.indexOf(item),
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
isItemHidden: options?.isItemHidden,
|
|
24
|
+
itemSearchText: options?.itemSearchText,
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -48,20 +48,6 @@ describe("SharedDataSelectList", () => {
|
|
|
48
48
|
// ─── Item Rendering ─────────────────────────────────────
|
|
49
49
|
|
|
50
50
|
describe("item rendering", () => {
|
|
51
|
-
it("items are rendered as List.Item", () => {
|
|
52
|
-
const accessor = createMockAccessor(["Apple", "Banana", "Cherry"]);
|
|
53
|
-
|
|
54
|
-
renderWithDialog(() => (
|
|
55
|
-
<SharedDataSelectList data={accessor} required>
|
|
56
|
-
<SharedDataSelectList.ItemTemplate>{(item) => <>{item}</>}</SharedDataSelectList.ItemTemplate>
|
|
57
|
-
</SharedDataSelectList>
|
|
58
|
-
));
|
|
59
|
-
|
|
60
|
-
expect(screen.getByText("Apple")).toBeTruthy();
|
|
61
|
-
expect(screen.getByText("Banana")).toBeTruthy();
|
|
62
|
-
expect(screen.getByText("Cherry")).toBeTruthy();
|
|
63
|
-
});
|
|
64
|
-
|
|
65
51
|
it("children render function receives item and index", () => {
|
|
66
52
|
const accessor = createMockAccessor(["A", "B"]);
|
|
67
53
|
|
|
@@ -278,9 +264,9 @@ describe("SharedDataSelectList", () => {
|
|
|
278
264
|
// ─── Filtering ────────────────────────────────────────────
|
|
279
265
|
|
|
280
266
|
describe("filtering", () => {
|
|
281
|
-
it("items hidden by
|
|
267
|
+
it("items hidden by isItemHidden are not displayed", () => {
|
|
282
268
|
const accessor = createMockAccessor(["Apple", "Banana", "Cherry"], {
|
|
283
|
-
|
|
269
|
+
isItemHidden: (item) => item === "Banana",
|
|
284
270
|
});
|
|
285
271
|
|
|
286
272
|
renderWithDialog(() => (
|
|
@@ -298,7 +284,7 @@ describe("SharedDataSelectList", () => {
|
|
|
298
284
|
const accessor = createMockAccessor(["Apple", "Banana", "Cherry"]);
|
|
299
285
|
|
|
300
286
|
renderWithDialog(() => (
|
|
301
|
-
<SharedDataSelectList data={accessor} filterFn={(item) => item.startsWith("B")} required>
|
|
287
|
+
<SharedDataSelectList data={accessor} filterFn={(item: string) => item.startsWith("B")} required>
|
|
302
288
|
<SharedDataSelectList.ItemTemplate>{(item) => <>{item}</>}</SharedDataSelectList.ItemTemplate>
|
|
303
289
|
</SharedDataSelectList>
|
|
304
290
|
));
|
|
@@ -312,9 +298,9 @@ describe("SharedDataSelectList", () => {
|
|
|
312
298
|
// ─── Search ────────────────────────────────────────────
|
|
313
299
|
|
|
314
300
|
describe("search", () => {
|
|
315
|
-
it("search input is shown when
|
|
301
|
+
it("search input is shown when itemSearchText is provided", () => {
|
|
316
302
|
const accessor = createMockAccessor(["Apple", "Banana"], {
|
|
317
|
-
|
|
303
|
+
itemSearchText: (item) => item,
|
|
318
304
|
});
|
|
319
305
|
|
|
320
306
|
renderWithDialog(() => (
|
|
@@ -326,7 +312,7 @@ describe("SharedDataSelectList", () => {
|
|
|
326
312
|
expect(document.querySelector("[data-shared-data-select-list] input")).toBeTruthy();
|
|
327
313
|
});
|
|
328
314
|
|
|
329
|
-
it("search input is hidden when
|
|
315
|
+
it("search input is hidden when itemSearchText is not provided", () => {
|
|
330
316
|
const accessor = createMockAccessor(["Apple", "Banana"]);
|
|
331
317
|
|
|
332
318
|
renderWithDialog(() => (
|
|
@@ -338,9 +324,9 @@ describe("SharedDataSelectList", () => {
|
|
|
338
324
|
expect(document.querySelector("[data-shared-data-select-list] input")).toBeNull();
|
|
339
325
|
});
|
|
340
326
|
|
|
341
|
-
it("typing in search input filters items by
|
|
327
|
+
it("typing in search input filters items by itemSearchText", async () => {
|
|
342
328
|
const accessor = createMockAccessor(["Apple", "Banana", "Cherry"], {
|
|
343
|
-
|
|
329
|
+
itemSearchText: (item) => item,
|
|
344
330
|
});
|
|
345
331
|
|
|
346
332
|
renderWithDialog(() => (
|
|
@@ -361,7 +347,7 @@ describe("SharedDataSelectList", () => {
|
|
|
361
347
|
|
|
362
348
|
it("search is case-insensitive", async () => {
|
|
363
349
|
const accessor = createMockAccessor(["Apple", "Banana"], {
|
|
364
|
-
|
|
350
|
+
itemSearchText: (item) => item,
|
|
365
351
|
});
|
|
366
352
|
|
|
367
353
|
renderWithDialog(() => (
|
|
@@ -381,7 +367,7 @@ describe("SharedDataSelectList", () => {
|
|
|
381
367
|
|
|
382
368
|
it("multiple space-separated terms must all match", async () => {
|
|
383
369
|
const accessor = createMockAccessor(["Red Apple", "Green Apple", "Red Banana"], {
|
|
384
|
-
|
|
370
|
+
itemSearchText: (item) => item,
|
|
385
371
|
});
|
|
386
372
|
|
|
387
373
|
renderWithDialog(() => (
|
|
@@ -406,7 +392,7 @@ describe("SharedDataSelectList", () => {
|
|
|
406
392
|
describe("custom filter", () => {
|
|
407
393
|
it("search input is hidden when Filter compound is provided", () => {
|
|
408
394
|
const accessor = createMockAccessor(["Apple", "Banana"], {
|
|
409
|
-
|
|
395
|
+
itemSearchText: (item) => item,
|
|
410
396
|
});
|
|
411
397
|
|
|
412
398
|
renderWithDialog(() => (
|
|
@@ -444,17 +430,4 @@ describe("SharedDataSelectList", () => {
|
|
|
444
430
|
|
|
445
431
|
// ─── header ────────────────────────────────────────────
|
|
446
432
|
|
|
447
|
-
describe("header", () => {
|
|
448
|
-
it("header text is displayed when header is provided", () => {
|
|
449
|
-
const accessor = createMockAccessor(["Apple"]);
|
|
450
|
-
|
|
451
|
-
renderWithDialog(() => (
|
|
452
|
-
<SharedDataSelectList data={accessor} header="과일 목록" required>
|
|
453
|
-
<SharedDataSelectList.ItemTemplate>{(item) => <>{item}</>}</SharedDataSelectList.ItemTemplate>
|
|
454
|
-
</SharedDataSelectList>
|
|
455
|
-
));
|
|
456
|
-
|
|
457
|
-
expect(screen.getByText("과일 목록")).toBeTruthy();
|
|
458
|
-
});
|
|
459
|
-
});
|
|
460
433
|
});
|
|
@@ -5,15 +5,6 @@ import { BusyContainer } from "../../../../src/components/feedback/busy/BusyCont
|
|
|
5
5
|
|
|
6
6
|
describe("BusyContainer", () => {
|
|
7
7
|
describe("basic rendering", () => {
|
|
8
|
-
it("renders children", () => {
|
|
9
|
-
const { getByText } = render(() => (
|
|
10
|
-
<BusyContainer>
|
|
11
|
-
<span>Content</span>
|
|
12
|
-
</BusyContainer>
|
|
13
|
-
));
|
|
14
|
-
expect(getByText("Content")).toBeTruthy();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
8
|
it("does not show overlay when busy is false", () => {
|
|
18
9
|
const { container } = render(() => (
|
|
19
10
|
<BusyContainer busy={false}>
|
|
@@ -77,4 +68,19 @@ describe("BusyContainer", () => {
|
|
|
77
68
|
expect(queryByText("Content")).toBeTruthy();
|
|
78
69
|
});
|
|
79
70
|
});
|
|
71
|
+
|
|
72
|
+
describe("bar variant", () => {
|
|
73
|
+
it("bar variant: renders two animated indicator bars", async () => {
|
|
74
|
+
const { container } = render(() => (
|
|
75
|
+
<BusyContainer busy variant="bar">
|
|
76
|
+
<span>Content</span>
|
|
77
|
+
</BusyContainer>
|
|
78
|
+
));
|
|
79
|
+
// createMountTransition uses double rAF
|
|
80
|
+
await new Promise((r) => requestAnimationFrame(() => requestAnimationFrame(r)));
|
|
81
|
+
|
|
82
|
+
const bars = container.querySelectorAll(".origin-left");
|
|
83
|
+
expect(bars.length).toBe(2);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
80
86
|
});
|
|
@@ -2,27 +2,14 @@ import { render, waitFor } from "@solidjs/testing-library";
|
|
|
2
2
|
import { describe, it, expect, beforeEach } from "vitest";
|
|
3
3
|
import { NotificationProvider } from "../../../../src/components/feedback/notification/NotificationProvider";
|
|
4
4
|
import { ConfigContext } from "../../../../src/providers/ConfigContext";
|
|
5
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
6
|
-
import { useNotification } from "../../../../src/components/feedback/notification/
|
|
5
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
6
|
+
import { useNotification } from "../../../../src/components/feedback/notification/NotificationProvider";
|
|
7
7
|
|
|
8
8
|
describe("Notification Live Region", () => {
|
|
9
9
|
beforeEach(() => {
|
|
10
10
|
localStorage.setItem("testApp.i18n-locale", JSON.stringify("en"));
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
it("Provider has live region with role=status", () => {
|
|
14
|
-
render(() => (
|
|
15
|
-
<ConfigContext.Provider value={{ clientName: "testApp" }}>
|
|
16
|
-
<I18nProvider>
|
|
17
|
-
<NotificationProvider>content</NotificationProvider>
|
|
18
|
-
</I18nProvider>
|
|
19
|
-
</ConfigContext.Provider>
|
|
20
|
-
));
|
|
21
|
-
|
|
22
|
-
const liveRegion = document.querySelector('[role="status"][aria-live="polite"]');
|
|
23
|
-
expect(liveRegion).not.toBeNull();
|
|
24
|
-
});
|
|
25
|
-
|
|
26
13
|
it("updates live region text when notification occurs", async () => {
|
|
27
14
|
let notification: ReturnType<typeof useNotification>;
|
|
28
15
|
|
|
@@ -48,16 +35,4 @@ describe("Notification Live Region", () => {
|
|
|
48
35
|
});
|
|
49
36
|
});
|
|
50
37
|
|
|
51
|
-
it("live region is visually hidden (sr-only)", () => {
|
|
52
|
-
render(() => (
|
|
53
|
-
<ConfigContext.Provider value={{ clientName: "testApp" }}>
|
|
54
|
-
<I18nProvider>
|
|
55
|
-
<NotificationProvider>content</NotificationProvider>
|
|
56
|
-
</I18nProvider>
|
|
57
|
-
</ConfigContext.Provider>
|
|
58
|
-
));
|
|
59
|
-
|
|
60
|
-
const liveRegion = document.querySelector('[role="status"]');
|
|
61
|
-
expect(liveRegion?.classList.contains("sr-only")).toBe(true);
|
|
62
|
-
});
|
|
63
38
|
});
|
|
@@ -2,9 +2,9 @@ import { render, fireEvent, waitFor } from "@solidjs/testing-library";
|
|
|
2
2
|
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
3
3
|
import { NotificationProvider } from "../../../../src/components/feedback/notification/NotificationProvider";
|
|
4
4
|
import { ConfigContext } from "../../../../src/providers/ConfigContext";
|
|
5
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
5
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
6
6
|
import { NotificationBanner } from "../../../../src/components/feedback/notification/NotificationBanner";
|
|
7
|
-
import { useNotification } from "../../../../src/components/feedback/notification/
|
|
7
|
+
import { useNotification } from "../../../../src/components/feedback/notification/NotificationProvider";
|
|
8
8
|
|
|
9
9
|
describe("NotificationBanner", () => {
|
|
10
10
|
beforeEach(() => {
|
|
@@ -84,31 +84,6 @@ describe("NotificationBanner", () => {
|
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
it("has role=alert attribute", async () => {
|
|
88
|
-
let notification: ReturnType<typeof useNotification>;
|
|
89
|
-
|
|
90
|
-
render(() => (
|
|
91
|
-
<ConfigContext.Provider value={{ clientName: "testApp" }}>
|
|
92
|
-
<I18nProvider>
|
|
93
|
-
<NotificationProvider>
|
|
94
|
-
{(() => {
|
|
95
|
-
notification = useNotification();
|
|
96
|
-
return null;
|
|
97
|
-
})()}
|
|
98
|
-
<NotificationBanner />
|
|
99
|
-
</NotificationProvider>
|
|
100
|
-
</I18nProvider>
|
|
101
|
-
</ConfigContext.Provider>
|
|
102
|
-
));
|
|
103
|
-
|
|
104
|
-
notification!.info("Test");
|
|
105
|
-
|
|
106
|
-
await waitFor(() => {
|
|
107
|
-
const banner = document.querySelector("[data-notification-banner]");
|
|
108
|
-
expect(banner?.getAttribute("role")).toBe("alert");
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
|
|
112
87
|
it("sets data-theme attribute for each theme", async () => {
|
|
113
88
|
let notification: ReturnType<typeof useNotification>;
|
|
114
89
|
|