@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
|
@@ -2,7 +2,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
|
2
2
|
import { render, fireEvent, screen } from "@solidjs/testing-library";
|
|
3
3
|
import { createSignal } from "solid-js";
|
|
4
4
|
import { NumberInput } from "../../../../src/components/form-control/field/NumberInput";
|
|
5
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
5
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
6
6
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
7
7
|
|
|
8
8
|
describe("NumberInput", () => {
|
|
@@ -10,42 +10,12 @@ describe("NumberInput", () => {
|
|
|
10
10
|
localStorage.setItem("test.i18n-locale", JSON.stringify("en"));
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
describe("basic rendering", () => {
|
|
14
|
-
it("renders input element", () => {
|
|
15
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput /></I18nProvider></ConfigProvider>);
|
|
16
|
-
|
|
17
|
-
const input = screen.getByRole("textbox");
|
|
18
|
-
expect(input).toBeInTheDocument();
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it("sets inputmode to numeric", () => {
|
|
22
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput /></I18nProvider></ConfigProvider>);
|
|
23
|
-
|
|
24
|
-
const input = screen.getByRole("textbox");
|
|
25
|
-
expect(input).toHaveAttribute("inputmode", "numeric");
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it("sets input type to text", () => {
|
|
29
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput /></I18nProvider></ConfigProvider>);
|
|
30
|
-
|
|
31
|
-
const input = screen.getByRole("textbox");
|
|
32
|
-
expect(input).toHaveAttribute("type", "text");
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it("defaults autocomplete to one-time-code", () => {
|
|
36
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput /></I18nProvider></ConfigProvider>);
|
|
37
|
-
|
|
38
|
-
const input = screen.getByRole("textbox");
|
|
39
|
-
expect(input).toHaveAttribute("autocomplete", "one-time-code");
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
|
|
43
13
|
describe("value conversion", () => {
|
|
44
14
|
it("displays numeric value as string", () => {
|
|
45
15
|
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={12345} /></I18nProvider></ConfigProvider>);
|
|
46
16
|
|
|
47
17
|
const input = screen.getByRole("textbox");
|
|
48
|
-
//
|
|
18
|
+
// useGrouping is true by default, so grouping separators are included
|
|
49
19
|
expect(input).toHaveValue("12,345");
|
|
50
20
|
});
|
|
51
21
|
|
|
@@ -113,36 +83,36 @@ describe("NumberInput", () => {
|
|
|
113
83
|
});
|
|
114
84
|
|
|
115
85
|
describe("display format", () => {
|
|
116
|
-
it("displays thousands
|
|
117
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={1234567}
|
|
86
|
+
it("displays thousands separator when useGrouping=true", () => {
|
|
87
|
+
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={1234567} useGrouping={true} /></I18nProvider></ConfigProvider>);
|
|
118
88
|
|
|
119
89
|
const input = screen.getByRole("textbox");
|
|
120
90
|
expect(input).toHaveValue("1,234,567");
|
|
121
91
|
});
|
|
122
92
|
|
|
123
|
-
it("displays without
|
|
124
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={1234567}
|
|
93
|
+
it("displays without separator when useGrouping=false", () => {
|
|
94
|
+
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={1234567} useGrouping={false} /></I18nProvider></ConfigProvider>);
|
|
125
95
|
|
|
126
96
|
const input = screen.getByRole("textbox");
|
|
127
97
|
expect(input).toHaveValue("1234567");
|
|
128
98
|
});
|
|
129
99
|
|
|
130
|
-
it("defaults
|
|
100
|
+
it("defaults useGrouping to true", () => {
|
|
131
101
|
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={1234567} /></I18nProvider></ConfigProvider>);
|
|
132
102
|
|
|
133
103
|
const input = screen.getByRole("textbox");
|
|
134
104
|
expect(input).toHaveValue("1,234,567");
|
|
135
105
|
});
|
|
136
106
|
|
|
137
|
-
it("sets minimum decimal digits with
|
|
138
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={100}
|
|
107
|
+
it("sets minimum decimal digits with minimumFractionDigits", () => {
|
|
108
|
+
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={100} minimumFractionDigits={2} /></I18nProvider></ConfigProvider>);
|
|
139
109
|
|
|
140
110
|
const input = screen.getByRole("textbox");
|
|
141
111
|
expect(input).toHaveValue("100.00");
|
|
142
112
|
});
|
|
143
113
|
|
|
144
|
-
it("displays decimals longer than
|
|
145
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={100.12345}
|
|
114
|
+
it("displays decimals longer than minimumFractionDigits as-is", () => {
|
|
115
|
+
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={100.12345} minimumFractionDigits={2} /></I18nProvider></ConfigProvider>);
|
|
146
116
|
|
|
147
117
|
const input = screen.getByRole("textbox");
|
|
148
118
|
expect(input).toHaveValue("100.12345");
|
|
@@ -160,58 +130,17 @@ describe("NumberInput", () => {
|
|
|
160
130
|
});
|
|
161
131
|
|
|
162
132
|
it("renders as div when readonly", () => {
|
|
163
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={5678}
|
|
133
|
+
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={5678} readOnly /></I18nProvider></ConfigProvider>);
|
|
164
134
|
|
|
165
135
|
expect(screen.queryByRole("textbox")).not.toBeInTheDocument();
|
|
166
136
|
expect(screen.getByText("5,678")).toBeInTheDocument();
|
|
167
137
|
});
|
|
168
138
|
|
|
169
|
-
it("applies disabled style", () => {
|
|
170
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput value={100} disabled /></I18nProvider></ConfigProvider>);
|
|
171
|
-
|
|
172
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
173
|
-
expect(wrapper.className).toContain("bg-base-100");
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
describe("right alignment", () => {
|
|
178
|
-
it("aligns input to the right", () => {
|
|
179
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput /></I18nProvider></ConfigProvider>);
|
|
180
|
-
|
|
181
|
-
const input = screen.getByRole("textbox");
|
|
182
|
-
expect(input.className).toContain("text-right");
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
describe("style options", () => {
|
|
187
|
-
it("applies small padding when size='sm'", () => {
|
|
188
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput size="sm" /></I18nProvider></ConfigProvider>);
|
|
189
|
-
|
|
190
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
191
|
-
expect(wrapper.className).toContain("px-1.5");
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
it("applies large padding when size='lg'", () => {
|
|
195
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput size="lg" /></I18nProvider></ConfigProvider>);
|
|
196
|
-
|
|
197
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
198
|
-
expect(wrapper.className).toContain("px-3");
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
it("applies inset style", () => {
|
|
202
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput inset /></I18nProvider></ConfigProvider>);
|
|
203
|
-
|
|
204
|
-
// outer div is relative when inset, inner content div has border-none
|
|
205
|
-
const outer = container.firstChild as HTMLElement;
|
|
206
|
-
expect(outer.classList.contains("relative")).toBe(true);
|
|
207
|
-
const contentDiv = outer.querySelector("[data-number-field-content]") as HTMLElement;
|
|
208
|
-
expect(contentDiv.className).toContain("border-none");
|
|
209
|
-
});
|
|
210
139
|
});
|
|
211
140
|
|
|
212
141
|
describe("inset dual-element", () => {
|
|
213
142
|
it("shows content div and no input when inset + readonly", () => {
|
|
214
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput inset
|
|
143
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput inset readOnly value={1234} /></I18nProvider></ConfigProvider>);
|
|
215
144
|
const outer = container.firstChild as HTMLElement;
|
|
216
145
|
expect(outer.classList.contains("relative")).toBe(true);
|
|
217
146
|
|
|
@@ -234,15 +163,8 @@ describe("NumberInput", () => {
|
|
|
234
163
|
expect(input).toBeTruthy();
|
|
235
164
|
});
|
|
236
165
|
|
|
237
|
-
it("applies right alignment in inset + readonly", () => {
|
|
238
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput inset readonly value={100} /></I18nProvider></ConfigProvider>);
|
|
239
|
-
const outer = container.firstChild as HTMLElement;
|
|
240
|
-
const contentDiv = outer.querySelector("[data-number-field-content]") as HTMLElement;
|
|
241
|
-
expect(contentDiv.classList.contains("justify-end")).toBe(true);
|
|
242
|
-
});
|
|
243
|
-
|
|
244
166
|
it("shows NBSP in content div when inset + empty value", () => {
|
|
245
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput inset
|
|
167
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput inset readOnly /></I18nProvider></ConfigProvider>);
|
|
246
168
|
const outer = container.firstChild as HTMLElement;
|
|
247
169
|
const contentDiv = outer.querySelector("[data-number-field-content]") as HTMLElement;
|
|
248
170
|
expect(contentDiv.textContent).toBe("\u00A0");
|
|
@@ -271,15 +193,6 @@ describe("NumberInput", () => {
|
|
|
271
193
|
});
|
|
272
194
|
});
|
|
273
195
|
|
|
274
|
-
describe("placeholder", () => {
|
|
275
|
-
it("displays placeholder", () => {
|
|
276
|
-
render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput placeholder="숫자를 입력하세요" /></I18nProvider></ConfigProvider>);
|
|
277
|
-
|
|
278
|
-
const input = screen.getByRole("textbox");
|
|
279
|
-
expect(input).toHaveAttribute("placeholder", "숫자를 입력하세요");
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
|
|
283
196
|
describe("validation", () => {
|
|
284
197
|
it("sets error message when required and value is empty", () => {
|
|
285
198
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput required value={undefined} /></I18nProvider></ConfigProvider>);
|
|
@@ -318,38 +231,6 @@ describe("NumberInput", () => {
|
|
|
318
231
|
});
|
|
319
232
|
|
|
320
233
|
describe("Prefix slot", () => {
|
|
321
|
-
it("renders NumberInput.Prefix slot", () => {
|
|
322
|
-
render(() => (
|
|
323
|
-
<ConfigProvider clientName="test"><I18nProvider><NumberInput>
|
|
324
|
-
<NumberInput.Prefix>
|
|
325
|
-
<span data-testid="prefix">₩</span>
|
|
326
|
-
</NumberInput.Prefix>
|
|
327
|
-
</NumberInput></I18nProvider></ConfigProvider>
|
|
328
|
-
));
|
|
329
|
-
|
|
330
|
-
expect(document.querySelector('[data-testid="prefix"]')).not.toBeNull();
|
|
331
|
-
});
|
|
332
|
-
|
|
333
|
-
it("applies gap class when Prefix slot is used", () => {
|
|
334
|
-
const { container } = render(() => (
|
|
335
|
-
<ConfigProvider clientName="test"><I18nProvider><NumberInput>
|
|
336
|
-
<NumberInput.Prefix>
|
|
337
|
-
<span>₩</span>
|
|
338
|
-
</NumberInput.Prefix>
|
|
339
|
-
</NumberInput></I18nProvider></ConfigProvider>
|
|
340
|
-
));
|
|
341
|
-
|
|
342
|
-
const wrapper = container.querySelector("[data-number-field]") as HTMLElement;
|
|
343
|
-
expect(wrapper.className).toContain("gap-");
|
|
344
|
-
});
|
|
345
|
-
|
|
346
|
-
it("does not apply gap class without Prefix slot", () => {
|
|
347
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><NumberInput /></I18nProvider></ConfigProvider>);
|
|
348
|
-
|
|
349
|
-
const wrapper = container.querySelector("[data-number-field]") as HTMLElement;
|
|
350
|
-
expect(wrapper.className).not.toContain("gap-");
|
|
351
|
-
});
|
|
352
|
-
|
|
353
234
|
it("renders Prefix slot when disabled", () => {
|
|
354
235
|
render(() => (
|
|
355
236
|
<ConfigProvider clientName="test"><I18nProvider><NumberInput disabled value={100}>
|
|
@@ -2,7 +2,7 @@ import { render, fireEvent } from "@solidjs/testing-library";
|
|
|
2
2
|
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
3
3
|
import { createSignal } from "solid-js";
|
|
4
4
|
import { TextInput } from "../../../../src/components/form-control/field/TextInput";
|
|
5
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
5
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
6
6
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
7
7
|
|
|
8
8
|
describe("TextInput component", () => {
|
|
@@ -10,63 +10,7 @@ describe("TextInput component", () => {
|
|
|
10
10
|
localStorage.setItem("test.i18n-locale", JSON.stringify("en"));
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
describe("basic rendering", () => {
|
|
14
|
-
it("renders input element", () => {
|
|
15
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput /></I18nProvider></ConfigProvider>);
|
|
16
|
-
const input = container.querySelector("input");
|
|
17
|
-
expect(input).toBeTruthy();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it("defaults type to text", () => {
|
|
21
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput /></I18nProvider></ConfigProvider>);
|
|
22
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
23
|
-
expect(input.type).toBe("text");
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("renders password input when type=password", () => {
|
|
27
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput type="password" /></I18nProvider></ConfigProvider>);
|
|
28
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
29
|
-
expect(input.type).toBe("password");
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it("renders email input when type=email", () => {
|
|
33
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput type="email" /></I18nProvider></ConfigProvider>);
|
|
34
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
35
|
-
expect(input.type).toBe("email");
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it("applies placeholder to input", () => {
|
|
39
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput placeholder="Enter text" /></I18nProvider></ConfigProvider>);
|
|
40
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
41
|
-
expect(input.placeholder).toBe("Enter text");
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it("applies title to input", () => {
|
|
45
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput title="Input title" /></I18nProvider></ConfigProvider>);
|
|
46
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
47
|
-
expect(input.title).toBe("Input title");
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it("defaults autocomplete to one-time-code", () => {
|
|
51
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput /></I18nProvider></ConfigProvider>);
|
|
52
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
53
|
-
expect(input.autocomplete).toBe("one-time-code");
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
it("applies explicitly specified autocomplete value", () => {
|
|
57
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput autocomplete="email" /></I18nProvider></ConfigProvider>);
|
|
58
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
59
|
-
expect(input.autocomplete).toBe("email");
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
|
|
63
13
|
describe("controlled pattern", () => {
|
|
64
|
-
it("displays value prop in input", () => {
|
|
65
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput value="Hello" /></I18nProvider></ConfigProvider>);
|
|
66
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
67
|
-
expect(input.value).toBe("Hello");
|
|
68
|
-
});
|
|
69
|
-
|
|
70
14
|
it("calls onValueChange on input", () => {
|
|
71
15
|
const handleChange = vi.fn();
|
|
72
16
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput value="" onValueChange={handleChange} /></I18nProvider></ConfigProvider>);
|
|
@@ -115,17 +59,11 @@ describe("TextInput component", () => {
|
|
|
115
59
|
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput disabled value="Disabled text" /></I18nProvider></ConfigProvider>);
|
|
116
60
|
expect(getByText("Disabled text")).toBeTruthy();
|
|
117
61
|
});
|
|
118
|
-
|
|
119
|
-
it("applies disabled style", () => {
|
|
120
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput disabled value="Text" /></I18nProvider></ConfigProvider>);
|
|
121
|
-
const div = container.querySelector("div.sd-text-field") as HTMLElement;
|
|
122
|
-
expect(div.classList.contains("bg-base-100")).toBe(true);
|
|
123
|
-
});
|
|
124
62
|
});
|
|
125
63
|
|
|
126
64
|
describe("readonly state", () => {
|
|
127
65
|
it("renders as div when readonly=true", () => {
|
|
128
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput
|
|
66
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput readOnly value="Readonly text" /></I18nProvider></ConfigProvider>);
|
|
129
67
|
const input = container.querySelector("input:not([aria-hidden])");
|
|
130
68
|
const div = container.querySelector("div.sd-text-field");
|
|
131
69
|
|
|
@@ -134,7 +72,7 @@ describe("TextInput component", () => {
|
|
|
134
72
|
});
|
|
135
73
|
|
|
136
74
|
it("displays value when readonly", () => {
|
|
137
|
-
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput
|
|
75
|
+
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput readOnly value="Readonly text" /></I18nProvider></ConfigProvider>);
|
|
138
76
|
expect(getByText("Readonly text")).toBeTruthy();
|
|
139
77
|
});
|
|
140
78
|
});
|
|
@@ -160,31 +98,9 @@ describe("TextInput component", () => {
|
|
|
160
98
|
});
|
|
161
99
|
});
|
|
162
100
|
|
|
163
|
-
describe("size option", () => {
|
|
164
|
-
it("applies small padding when size=sm", () => {
|
|
165
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput size="sm" /></I18nProvider></ConfigProvider>);
|
|
166
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
167
|
-
expect(wrapper.classList.contains("py-0.5")).toBe(true);
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
it("applies large padding when size=lg", () => {
|
|
171
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput size="lg" /></I18nProvider></ConfigProvider>);
|
|
172
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
173
|
-
expect(wrapper.classList.contains("py-2")).toBe(true);
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
|
|
177
101
|
describe("inset style", () => {
|
|
178
|
-
it("removes border and applies inset background when inset=true", () => {
|
|
179
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset /></I18nProvider></ConfigProvider>);
|
|
180
|
-
const outer = container.firstChild as HTMLElement;
|
|
181
|
-
const contentDiv = outer.querySelector("[data-text-field-content]") as HTMLElement;
|
|
182
|
-
expect(contentDiv.classList.contains("border-none")).toBe(true);
|
|
183
|
-
expect(contentDiv.classList.contains("bg-primary-50")).toBe(true);
|
|
184
|
-
});
|
|
185
|
-
|
|
186
102
|
it("shows content div and no input when inset + readonly", () => {
|
|
187
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset
|
|
103
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset readOnly value="Hello" /></I18nProvider></ConfigProvider>);
|
|
188
104
|
const outer = container.firstChild as HTMLElement;
|
|
189
105
|
expect(outer.classList.contains("relative")).toBe(true);
|
|
190
106
|
|
|
@@ -210,7 +126,7 @@ describe("TextInput component", () => {
|
|
|
210
126
|
});
|
|
211
127
|
|
|
212
128
|
it("shows NBSP in content div when inset + empty value", () => {
|
|
213
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset
|
|
129
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset readOnly /></I18nProvider></ConfigProvider>);
|
|
214
130
|
const outer = container.firstChild as HTMLElement;
|
|
215
131
|
const contentDiv = outer.querySelector("[data-text-field-content]") as HTMLElement;
|
|
216
132
|
expect(contentDiv.textContent).toBe("\u00A0");
|
|
@@ -218,7 +134,7 @@ describe("TextInput component", () => {
|
|
|
218
134
|
|
|
219
135
|
it("content div is always in DOM when toggling inset + readonly/editable", () => {
|
|
220
136
|
const [readonly, setReadonly] = createSignal(true);
|
|
221
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset
|
|
137
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput inset readOnly={readonly()} value="Test" /></I18nProvider></ConfigProvider>);
|
|
222
138
|
const outer = container.firstChild as HTMLElement;
|
|
223
139
|
|
|
224
140
|
let contentDiv = outer.querySelector("[data-text-field-content]");
|
|
@@ -232,37 +148,6 @@ describe("TextInput component", () => {
|
|
|
232
148
|
});
|
|
233
149
|
});
|
|
234
150
|
|
|
235
|
-
describe("class merging", () => {
|
|
236
|
-
it("merges custom class with existing styles", () => {
|
|
237
|
-
// eslint-disable-next-line tailwindcss/no-custom-classname
|
|
238
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput class="my-custom-class" /></I18nProvider></ConfigProvider>);
|
|
239
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
240
|
-
expect(wrapper.classList.contains("my-custom-class")).toBe(true);
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
describe("default style", () => {
|
|
245
|
-
it("applies default border style", () => {
|
|
246
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput /></I18nProvider></ConfigProvider>);
|
|
247
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
248
|
-
expect(wrapper.classList.contains("border")).toBe(true);
|
|
249
|
-
expect(wrapper.classList.contains("border-base-200")).toBe(true);
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
it("changes border color on focus", () => {
|
|
253
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput /></I18nProvider></ConfigProvider>);
|
|
254
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
255
|
-
expect(wrapper.classList.contains("focus-within:border-primary-500")).toBe(true);
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
it("applies dark mode style", () => {
|
|
259
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput /></I18nProvider></ConfigProvider>);
|
|
260
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
261
|
-
expect(wrapper.classList.contains("dark:border-base-700")).toBe(true);
|
|
262
|
-
expect(wrapper.classList.contains("dark:bg-primary-950/30")).toBe(true);
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
|
-
|
|
266
151
|
describe("validation", () => {
|
|
267
152
|
it("sets error message in hidden input when required and empty", () => {
|
|
268
153
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TextInput required value="" /></I18nProvider></ConfigProvider>);
|
|
@@ -317,31 +202,4 @@ describe("TextInput component", () => {
|
|
|
317
202
|
expect(hiddenInput.validationMessage).toBe("This is a required field");
|
|
318
203
|
});
|
|
319
204
|
});
|
|
320
|
-
|
|
321
|
-
describe("Prefix slot", () => {
|
|
322
|
-
it("renders TextInput.Prefix slot", () => {
|
|
323
|
-
render(() => (
|
|
324
|
-
<ConfigProvider clientName="test"><I18nProvider><TextInput>
|
|
325
|
-
<TextInput.Prefix>
|
|
326
|
-
<span data-testid="prefix">P</span>
|
|
327
|
-
</TextInput.Prefix>
|
|
328
|
-
</TextInput></I18nProvider></ConfigProvider>
|
|
329
|
-
));
|
|
330
|
-
|
|
331
|
-
expect(document.querySelector('[data-testid="prefix"]')).not.toBeNull();
|
|
332
|
-
});
|
|
333
|
-
|
|
334
|
-
it("applies gap class when Prefix slot is used", () => {
|
|
335
|
-
const { container } = render(() => (
|
|
336
|
-
<ConfigProvider clientName="test"><I18nProvider><TextInput>
|
|
337
|
-
<TextInput.Prefix>
|
|
338
|
-
<span>P</span>
|
|
339
|
-
</TextInput.Prefix>
|
|
340
|
-
</TextInput></I18nProvider></ConfigProvider>
|
|
341
|
-
));
|
|
342
|
-
|
|
343
|
-
const wrapper = container.querySelector("[data-text-field]") as HTMLElement;
|
|
344
|
-
expect(wrapper.className).toContain("gap-");
|
|
345
|
-
});
|
|
346
|
-
});
|
|
347
205
|
});
|
|
@@ -2,7 +2,7 @@ import { render, fireEvent } from "@solidjs/testing-library";
|
|
|
2
2
|
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
3
3
|
import { createSignal } from "solid-js";
|
|
4
4
|
import { Textarea } from "../../../../src/components/form-control/field/Textarea";
|
|
5
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
5
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
6
6
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
7
7
|
|
|
8
8
|
describe("Textarea component", () => {
|
|
@@ -10,33 +10,7 @@ describe("Textarea component", () => {
|
|
|
10
10
|
localStorage.setItem("test.i18n-locale", JSON.stringify("en"));
|
|
11
11
|
});
|
|
12
12
|
|
|
13
|
-
describe("basic rendering", () => {
|
|
14
|
-
it("renders textarea element", () => {
|
|
15
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea /></I18nProvider></ConfigProvider>);
|
|
16
|
-
const textarea = container.querySelector("textarea");
|
|
17
|
-
expect(textarea).toBeTruthy();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it("applies placeholder to textarea", () => {
|
|
21
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea placeholder="내용을 입력하세요" /></I18nProvider></ConfigProvider>);
|
|
22
|
-
const textarea = container.querySelector("textarea") as HTMLTextAreaElement;
|
|
23
|
-
expect(textarea.placeholder).toBe("내용을 입력하세요");
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("applies title to textarea", () => {
|
|
27
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea title="Textarea title" /></I18nProvider></ConfigProvider>);
|
|
28
|
-
const textarea = container.querySelector("textarea") as HTMLTextAreaElement;
|
|
29
|
-
expect(textarea.title).toBe("Textarea title");
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
13
|
describe("controlled pattern", () => {
|
|
34
|
-
it("displays value prop in textarea", () => {
|
|
35
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea value="Hello" /></I18nProvider></ConfigProvider>);
|
|
36
|
-
const textarea = container.querySelector("textarea") as HTMLTextAreaElement;
|
|
37
|
-
expect(textarea.value).toBe("Hello");
|
|
38
|
-
});
|
|
39
|
-
|
|
40
14
|
it("calls onValueChange on input", () => {
|
|
41
15
|
const handleChange = vi.fn();
|
|
42
16
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea value="" onValueChange={handleChange} /></I18nProvider></ConfigProvider>);
|
|
@@ -82,53 +56,24 @@ describe("Textarea component", () => {
|
|
|
82
56
|
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea disabled value="Disabled text" /></I18nProvider></ConfigProvider>);
|
|
83
57
|
expect(getByText("Disabled text")).toBeTruthy();
|
|
84
58
|
});
|
|
85
|
-
|
|
86
|
-
it("applies disabled style", () => {
|
|
87
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea disabled value="Text" /></I18nProvider></ConfigProvider>);
|
|
88
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
89
|
-
expect(wrapper.classList.contains("bg-base-100")).toBe(true);
|
|
90
|
-
});
|
|
91
59
|
});
|
|
92
60
|
|
|
93
61
|
describe("readonly state", () => {
|
|
94
62
|
it("does not render textarea when readonly=true", () => {
|
|
95
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea
|
|
63
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea readOnly value="Readonly text" /></I18nProvider></ConfigProvider>);
|
|
96
64
|
const textarea = container.querySelector("textarea");
|
|
97
65
|
expect(textarea).toBeFalsy();
|
|
98
66
|
});
|
|
99
67
|
|
|
100
68
|
it("displays value when readonly", () => {
|
|
101
|
-
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea
|
|
69
|
+
const { getByText } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea readOnly value="Readonly text" /></I18nProvider></ConfigProvider>);
|
|
102
70
|
expect(getByText("Readonly text")).toBeTruthy();
|
|
103
71
|
});
|
|
104
72
|
});
|
|
105
73
|
|
|
106
|
-
describe("size option", () => {
|
|
107
|
-
it("applies small padding when size=sm", () => {
|
|
108
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea size="sm" /></I18nProvider></ConfigProvider>);
|
|
109
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
110
|
-
expect(wrapper.classList.contains("py-0.5")).toBe(true);
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
it("applies large padding when size=lg", () => {
|
|
114
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea size="lg" /></I18nProvider></ConfigProvider>);
|
|
115
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
116
|
-
expect(wrapper.classList.contains("py-2")).toBe(true);
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
|
|
120
74
|
describe("inset style", () => {
|
|
121
|
-
it("removes border and applies inset background when inset=true", () => {
|
|
122
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea inset /></I18nProvider></ConfigProvider>);
|
|
123
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
124
|
-
expect(wrapper.classList.contains("relative")).toBe(true);
|
|
125
|
-
const content = wrapper.querySelector("[data-textarea-field-content]") as HTMLElement;
|
|
126
|
-
expect(content.classList.contains("border-none")).toBe(true);
|
|
127
|
-
expect(content.classList.contains("bg-primary-50")).toBe(true);
|
|
128
|
-
});
|
|
129
|
-
|
|
130
75
|
it("shows content div and no textarea when inset + readonly", () => {
|
|
131
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea inset
|
|
76
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea inset readOnly value="Hello" /></I18nProvider></ConfigProvider>);
|
|
132
77
|
const outer = container.firstChild as HTMLElement;
|
|
133
78
|
expect(outer.classList.contains("relative")).toBe(true);
|
|
134
79
|
|
|
@@ -153,22 +98,13 @@ describe("Textarea component", () => {
|
|
|
153
98
|
});
|
|
154
99
|
|
|
155
100
|
it("shows NBSP in content div when inset + empty value", () => {
|
|
156
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea inset
|
|
101
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea inset readOnly /></I18nProvider></ConfigProvider>);
|
|
157
102
|
const outer = container.firstChild as HTMLElement;
|
|
158
103
|
const contentDiv = outer.querySelector("[data-textarea-field-content]") as HTMLElement;
|
|
159
104
|
expect(contentDiv.textContent).toContain("\u00A0");
|
|
160
105
|
});
|
|
161
106
|
});
|
|
162
107
|
|
|
163
|
-
describe("class merging", () => {
|
|
164
|
-
it("merges custom class with existing styles", () => {
|
|
165
|
-
// eslint-disable-next-line tailwindcss/no-custom-classname
|
|
166
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea class="my-custom-class" /></I18nProvider></ConfigProvider>);
|
|
167
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
168
|
-
expect(wrapper.classList.contains("my-custom-class")).toBe(true);
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
|
|
172
108
|
describe("auto height adjustment", () => {
|
|
173
109
|
it("renders hidden div for height measurement", () => {
|
|
174
110
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><Textarea value="Test" /></I18nProvider></ConfigProvider>);
|