@simplysm/solid 13.0.75 → 13.0.77
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 +13 -14
- 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 +50 -16
- 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 +7 -28
- package/dist/components/data/list/List.d.ts.map +1 -1
- package/dist/components/data/list/List.js +5 -7
- 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 -7
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +557 -843
- 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/{types.d.ts → DataSheet.types.d.ts} +14 -9
- package/dist/components/data/sheet/DataSheet.types.d.ts.map +1 -0
- package/dist/components/data/sheet/DataSheet.types.js +1 -0
- package/dist/components/data/sheet/{sheetUtils.d.ts → DataSheet.utils.d.ts} +4 -4
- package/dist/components/data/sheet/DataSheet.utils.d.ts.map +1 -0
- package/dist/components/data/sheet/{sheetUtils.js → DataSheet.utils.js} +8 -8
- package/dist/components/data/sheet/DataSheet.utils.js.map +6 -0
- 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 +2 -1
- 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/useDataSheetHeaderCell.d.ts +27 -0
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js +173 -0
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.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 +20 -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/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 +79 -25
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +251 -113
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts +8 -35
- 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 +4 -6
- 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 +1 -1
- package/dist/components/display/Barcode.d.ts.map +1 -1
- package/dist/components/display/Barcode.js +3 -4
- package/dist/components/display/Barcode.js.map +2 -2
- package/dist/components/display/Barcode.types.d.ts +2 -0
- package/dist/components/display/Barcode.types.d.ts.map +1 -0
- package/dist/components/display/Barcode.types.js +1 -0
- 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 +2 -2
- package/dist/components/display/Echarts.d.ts.map +1 -1
- package/dist/components/display/Echarts.js +8 -11
- 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 +7 -5
- package/dist/components/features/address/AddressSearch.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetail.d.ts +12 -13
- package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetail.js +218 -206
- package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/features/crud-detail/{types.d.ts → CrudDetail.types.d.ts} +3 -13
- package/dist/components/features/crud-detail/CrudDetail.types.d.ts.map +1 -0
- package/dist/components/features/crud-detail/CrudDetail.types.js +1 -0
- 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-sheet/CrudSheet.d.ts +6 -9
- package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.js +147 -141
- package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/features/crud-sheet/{types.d.ts → CrudSheet.types.d.ts} +14 -44
- package/dist/components/features/crud-sheet/CrudSheet.types.d.ts.map +1 -0
- package/dist/components/features/crud-sheet/CrudSheet.types.js +1 -0
- 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/data-select-button/DataSelectButton.d.ts +25 -28
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.js +27 -38
- 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 +20 -19
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.js +62 -84
- 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 +12 -8
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.js +136 -116
- 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 +22 -5
- package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
- package/dist/components/feedback/print/Print.d.ts +4 -6
- package/dist/components/feedback/print/Print.d.ts.map +1 -1
- package/dist/components/feedback/print/Print.js +3 -2
- package/dist/components/feedback/print/Print.js.map +2 -2
- 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 +16 -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/Invalid.d.ts +1 -1
- package/dist/components/form-control/Invalid.d.ts.map +1 -1
- package/dist/components/form-control/Invalid.js +27 -26
- package/dist/components/form-control/Invalid.js.map +2 -2
- 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 +2 -2
- 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 +10 -10
- 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 +2 -2
- 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 +10 -10
- 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 +3 -3
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +6 -18
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +28 -49
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +116 -63
- 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 +16 -9
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
- package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
- package/dist/components/form-control/editor/EditorToolbar.js +250 -239
- 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 +3 -3
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +50 -131
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts +3 -3
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +50 -131
- 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 +13 -32
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +92 -196
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +14 -29
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +87 -197
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts +3 -3
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +81 -156
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts +3 -3
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +46 -123
- 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 +48 -51
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +220 -117
- 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 +68 -57
- 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 +60 -29
- 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 +5 -6
- 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 +17 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -23
- 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/i18n/I18nProvider.types.js.map +6 -0
- package/dist/providers/shared-data/SharedDataProvider.d.ts +75 -2
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +111 -91
- 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 +133 -94
- package/src/components/data/list/List.tsx +8 -22
- 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 +356 -747
- package/src/components/data/sheet/{types.ts → DataSheet.types.ts} +13 -8
- package/src/components/data/sheet/{sheetUtils.ts → DataSheet.utils.ts} +8 -8
- package/src/components/data/sheet/DataSheetColumn.tsx +7 -29
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +15 -21
- 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/useDataSheetHeaderCell.tsx +168 -0
- package/src/components/data/sheet/hooks/useDataSheetPaging.ts +51 -0
- package/src/components/data/sheet/hooks/useDataSheetReorder.ts +154 -0
- package/src/components/data/sheet/hooks/useDataSheetSelection.ts +99 -0
- package/src/components/data/sheet/hooks/useDataSheetSorting.ts +68 -0
- package/src/components/disclosure/Collapse.tsx +1 -9
- package/src/components/disclosure/Dialog.tsx +254 -59
- package/src/components/disclosure/Dropdown.tsx +66 -80
- package/src/components/disclosure/Tabs.tsx +23 -37
- package/src/components/display/Alert.tsx +2 -5
- package/src/components/display/Barcode.tsx +5 -117
- package/src/components/display/Barcode.types.ts +111 -0
- package/src/components/display/Card.animate.css +11 -0
- package/src/components/display/Card.tsx +10 -11
- package/src/components/display/Echarts.tsx +11 -15
- package/src/components/display/Link.tsx +3 -5
- package/src/components/display/Tag.tsx +2 -5
- package/src/components/features/address/AddressSearch.tsx +24 -7
- package/src/components/features/crud-detail/CrudDetail.tsx +135 -165
- package/src/components/features/crud-detail/{types.ts → CrudDetail.types.ts} +3 -16
- 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-sheet/CrudSheet.tsx +158 -176
- package/src/components/features/crud-sheet/{types.ts → CrudSheet.types.ts} +13 -47
- 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/data-select-button/DataSelectButton.tsx +57 -66
- package/src/components/features/permission-table/PermissionTable.tsx +9 -13
- package/src/components/features/shared-data/SharedDataSelect.tsx +97 -127
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +22 -14
- package/src/components/features/shared-data/SharedDataSelectList.tsx +61 -42
- 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 +105 -11
- package/src/components/feedback/print/Print.tsx +4 -8
- package/src/components/feedback/print/PrintProvider.tsx +37 -5
- package/src/components/form-control/Button.tsx +11 -29
- package/src/components/form-control/DropdownTrigger.styles.ts +16 -17
- package/src/components/form-control/Invalid.tsx +33 -29
- 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 +15 -101
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +83 -17
- package/src/components/form-control/checkbox/Radio.tsx +15 -104
- package/src/components/form-control/checkbox/RadioGroup.tsx +80 -17
- 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 +12 -32
- package/src/components/form-control/combobox/Combobox.tsx +143 -44
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +10 -10
- package/src/components/form-control/editor/EditorToolbar.tsx +120 -217
- 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 +34 -76
- package/src/components/form-control/field/DateTimePicker.tsx +35 -83
- 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 +75 -137
- package/src/components/form-control/field/TextInput.tsx +58 -120
- package/src/components/form-control/field/Textarea.tsx +67 -111
- package/src/components/form-control/field/TimePicker.tsx +33 -74
- package/src/components/form-control/numpad/Numpad.tsx +5 -6
- package/src/components/form-control/select/Select.tsx +266 -151
- package/src/components/form-control/state-preset/StatePreset.tsx +65 -88
- package/src/components/layout/FormGroup.tsx +10 -13
- package/src/components/layout/FormTable.tsx +40 -19
- package/src/components/layout/sidebar/Sidebar.tsx +456 -44
- package/src/components/layout/topbar/Topbar.tsx +420 -49
- package/src/helpers/createAppStructure.ts +22 -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 +5 -6
- package/src/hooks/useLogger.ts +1 -1
- package/src/hooks/useSyncConfig.ts +1 -1
- package/src/index.ts +18 -23
- package/src/providers/ConfigContext.tsx +0 -1
- package/src/providers/PwaUpdateProvider.tsx +1 -1
- package/src/providers/ServiceClientProvider.tsx +62 -56
- package/src/providers/SystemProvider.tsx +4 -5
- package/src/providers/i18n/{I18nContext.tsx → I18nProvider.tsx} +1 -1
- package/src/providers/shared-data/SharedDataProvider.tsx +228 -124
- 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 +38 -67
- 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 +362 -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 +11 -61
- 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 +15 -15
- 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 +19 -72
- 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 +5 -20
- 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 +28 -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 +5 -5
- package/tests/components/layout/topbar/{createTopbarActions.spec.tsx → useTopbarActions.spec.tsx} +4 -13
- 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 +143 -21
- 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/data/sheet/sheetUtils.d.ts.map +0 -1
- package/dist/components/data/sheet/sheetUtils.js.map +0 -6
- package/dist/components/data/sheet/types.d.ts.map +0 -1
- package/dist/components/data/sheet/types.js +0 -1
- 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/crud-detail/types.d.ts.map +0 -1
- package/dist/components/features/crud-detail/types.js +0 -1
- package/dist/components/features/crud-sheet/types.d.ts.map +0 -1
- package/dist/components/features/crud-sheet/types.js +0 -1
- 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/notification/index.d.ts +0 -5
- package/dist/components/feedback/notification/index.d.ts.map +0 -1
- package/dist/components/feedback/notification/index.js +0 -5
- package/dist/components/feedback/notification/index.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/notification/index.ts +0 -4
- 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/data/sheet/{types.js.map → DataSheet.types.js.map} +0 -0
- /package/dist/components/{features/crud-detail/types.js.map → display/Barcode.types.js.map} +0 -0
- /package/dist/components/features/{crud-sheet/types.js.map → crud-detail/CrudDetail.types.js.map} +0 -0
- /package/dist/{providers/i18n/I18nContext.types.js.map → components/features/crud-sheet/CrudSheet.types.js.map} +0 -0
- /package/dist/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +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 { 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>);
|
|
@@ -3,7 +3,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
|
3
3
|
import { createSignal } from "solid-js";
|
|
4
4
|
import { Time } from "@simplysm/core-common";
|
|
5
5
|
import { TimePicker } from "../../../../src/components/form-control/field/TimePicker";
|
|
6
|
-
import { I18nProvider } from "../../../../src/providers/i18n/
|
|
6
|
+
import { I18nProvider } from "../../../../src/providers/i18n/I18nProvider";
|
|
7
7
|
import { ConfigProvider } from "../../../../src/providers/ConfigContext";
|
|
8
8
|
|
|
9
9
|
describe("TimePicker component", () => {
|
|
@@ -12,32 +12,6 @@ describe("TimePicker component", () => {
|
|
|
12
12
|
});
|
|
13
13
|
|
|
14
14
|
describe("basic rendering", () => {
|
|
15
|
-
it("renders input type=time when unit=minute", () => {
|
|
16
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker unit="minute" /></I18nProvider></ConfigProvider>);
|
|
17
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
18
|
-
expect(input).toBeTruthy();
|
|
19
|
-
expect(input.type).toBe("time");
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it("renders input type=time when unit=second", () => {
|
|
23
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker unit="second" /></I18nProvider></ConfigProvider>);
|
|
24
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
25
|
-
expect(input).toBeTruthy();
|
|
26
|
-
expect(input.type).toBe("time");
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it("defaults unit to minute", () => {
|
|
30
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker /></I18nProvider></ConfigProvider>);
|
|
31
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
32
|
-
expect(input.type).toBe("time");
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it("defaults autocomplete to one-time-code", () => {
|
|
36
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker /></I18nProvider></ConfigProvider>);
|
|
37
|
-
const input = container.querySelector("input") as HTMLInputElement;
|
|
38
|
-
expect(input.autocomplete).toBe("one-time-code");
|
|
39
|
-
});
|
|
40
|
-
|
|
41
15
|
it("sets step=1 when unit=second", () => {
|
|
42
16
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker unit="second" /></I18nProvider></ConfigProvider>);
|
|
43
17
|
const input = container.querySelector("input") as HTMLInputElement;
|
|
@@ -152,16 +126,11 @@ describe("TimePicker component", () => {
|
|
|
152
126
|
expect(getByText("10:30")).toBeTruthy();
|
|
153
127
|
});
|
|
154
128
|
|
|
155
|
-
it("applies disabled style", () => {
|
|
156
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker disabled value={new Time(10, 30, 0)} /></I18nProvider></ConfigProvider>);
|
|
157
|
-
const div = container.querySelector("div.sd-time-field") as HTMLElement;
|
|
158
|
-
expect(div.classList.contains("bg-base-100")).toBe(true);
|
|
159
|
-
});
|
|
160
129
|
});
|
|
161
130
|
|
|
162
131
|
describe("readonly state", () => {
|
|
163
132
|
it("renders as div when readonly=true", () => {
|
|
164
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker
|
|
133
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker readOnly value={new Time(10, 30, 0)} /></I18nProvider></ConfigProvider>);
|
|
165
134
|
const input = container.querySelector("input:not([aria-hidden])");
|
|
166
135
|
const div = container.querySelector("div.sd-time-field");
|
|
167
136
|
|
|
@@ -171,40 +140,15 @@ describe("TimePicker component", () => {
|
|
|
171
140
|
|
|
172
141
|
it("displays value when readonly", () => {
|
|
173
142
|
const { getByText } = render(() => (
|
|
174
|
-
<ConfigProvider clientName="test"><I18nProvider><TimePicker unit="minute"
|
|
143
|
+
<ConfigProvider clientName="test"><I18nProvider><TimePicker unit="minute" readOnly value={new Time(10, 30, 0)} /></I18nProvider></ConfigProvider>
|
|
175
144
|
));
|
|
176
145
|
expect(getByText("10:30")).toBeTruthy();
|
|
177
146
|
});
|
|
178
147
|
});
|
|
179
148
|
|
|
180
|
-
describe("size option", () => {
|
|
181
|
-
it("applies small padding when size=sm", () => {
|
|
182
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker size="sm" /></I18nProvider></ConfigProvider>);
|
|
183
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
184
|
-
expect(wrapper.classList.contains("py-0.5")).toBe(true);
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
it("applies large padding when size=lg", () => {
|
|
188
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker size="lg" /></I18nProvider></ConfigProvider>);
|
|
189
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
190
|
-
expect(wrapper.classList.contains("py-2")).toBe(true);
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
|
|
194
149
|
describe("inset style", () => {
|
|
195
|
-
it("applies relative to outer and inset style to content when inset=true", () => {
|
|
196
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker inset /></I18nProvider></ConfigProvider>);
|
|
197
|
-
const outer = container.firstChild as HTMLElement;
|
|
198
|
-
expect(outer.classList.contains("relative")).toBe(true);
|
|
199
|
-
expect(outer.classList.contains("border-none")).toBe(false);
|
|
200
|
-
|
|
201
|
-
const contentDiv = outer.querySelector("[data-time-field-content]") as HTMLElement;
|
|
202
|
-
expect(contentDiv.classList.contains("border-none")).toBe(true);
|
|
203
|
-
expect(contentDiv.classList.contains("bg-primary-50")).toBe(true);
|
|
204
|
-
});
|
|
205
|
-
|
|
206
150
|
it("shows content div and no input when inset + readonly", () => {
|
|
207
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker inset
|
|
151
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker inset readOnly value={new Time(14, 30, 0)} /></I18nProvider></ConfigProvider>);
|
|
208
152
|
const outer = container.firstChild as HTMLElement;
|
|
209
153
|
expect(outer.classList.contains("relative")).toBe(true);
|
|
210
154
|
|
|
@@ -227,36 +171,13 @@ describe("TimePicker component", () => {
|
|
|
227
171
|
});
|
|
228
172
|
|
|
229
173
|
it("shows NBSP in content div when inset + empty value", () => {
|
|
230
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker inset
|
|
174
|
+
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker inset readOnly /></I18nProvider></ConfigProvider>);
|
|
231
175
|
const outer = container.firstChild as HTMLElement;
|
|
232
176
|
const contentDiv = outer.querySelector("[data-time-field-content]") as HTMLElement;
|
|
233
177
|
expect(contentDiv.textContent).toBe("\u00A0");
|
|
234
178
|
});
|
|
235
179
|
});
|
|
236
180
|
|
|
237
|
-
describe("dark mode style", () => {
|
|
238
|
-
it("applies dark mode border style", () => {
|
|
239
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker /></I18nProvider></ConfigProvider>);
|
|
240
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
241
|
-
expect(wrapper.classList.contains("dark:border-base-700")).toBe(true);
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
it("applies dark mode background style", () => {
|
|
245
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker /></I18nProvider></ConfigProvider>);
|
|
246
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
247
|
-
expect(wrapper.classList.contains("dark:bg-primary-950/30")).toBe(true);
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
|
|
251
|
-
describe("class merging", () => {
|
|
252
|
-
it("merges custom class with existing styles", () => {
|
|
253
|
-
// eslint-disable-next-line tailwindcss/no-custom-classname
|
|
254
|
-
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker class="my-custom-class" /></I18nProvider></ConfigProvider>);
|
|
255
|
-
const wrapper = container.firstChild as HTMLElement;
|
|
256
|
-
expect(wrapper.classList.contains("my-custom-class")).toBe(true);
|
|
257
|
-
});
|
|
258
|
-
});
|
|
259
|
-
|
|
260
181
|
describe("validation", () => {
|
|
261
182
|
it("sets error message when required and value is empty", () => {
|
|
262
183
|
const { container } = render(() => <ConfigProvider clientName="test"><I18nProvider><TimePicker required value={undefined} /></I18nProvider></ConfigProvider>);
|
|
@@ -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 { Numpad } from "../../../../src/components/form-control/numpad/Numpad";
|
|
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("Numpad", () => {
|
|
@@ -11,83 +11,6 @@ describe("Numpad", () => {
|
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
describe("basic rendering", () => {
|
|
14
|
-
it("renders root element with data-numpad attribute", () => {
|
|
15
|
-
const { container } = render(() => (
|
|
16
|
-
<ConfigProvider clientName="test">
|
|
17
|
-
<I18nProvider>
|
|
18
|
-
<Numpad />
|
|
19
|
-
</I18nProvider>
|
|
20
|
-
</ConfigProvider>
|
|
21
|
-
));
|
|
22
|
-
const root = container.querySelector("[data-numpad]");
|
|
23
|
-
expect(root).toBeTruthy();
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("renders digit buttons 0-9", () => {
|
|
27
|
-
render(() => (
|
|
28
|
-
<ConfigProvider clientName="test">
|
|
29
|
-
<I18nProvider>
|
|
30
|
-
<Numpad />
|
|
31
|
-
</I18nProvider>
|
|
32
|
-
</ConfigProvider>
|
|
33
|
-
));
|
|
34
|
-
|
|
35
|
-
for (let i = 0; i <= 9; i++) {
|
|
36
|
-
expect(screen.getByText(String(i))).toBeInTheDocument();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it("renders decimal point button", () => {
|
|
41
|
-
render(() => (
|
|
42
|
-
<ConfigProvider clientName="test">
|
|
43
|
-
<I18nProvider>
|
|
44
|
-
<Numpad />
|
|
45
|
-
</I18nProvider>
|
|
46
|
-
</ConfigProvider>
|
|
47
|
-
));
|
|
48
|
-
expect(screen.getByText(".")).toBeInTheDocument();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("renders NumberInput (input)", () => {
|
|
52
|
-
render(() => (
|
|
53
|
-
<ConfigProvider clientName="test">
|
|
54
|
-
<I18nProvider>
|
|
55
|
-
<Numpad />
|
|
56
|
-
</I18nProvider>
|
|
57
|
-
</ConfigProvider>
|
|
58
|
-
));
|
|
59
|
-
const input = screen.getByRole("textbox");
|
|
60
|
-
expect(input).toBeInTheDocument();
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it("renders C button with text-danger-500 class", () => {
|
|
64
|
-
render(() => (
|
|
65
|
-
<ConfigProvider clientName="test">
|
|
66
|
-
<I18nProvider>
|
|
67
|
-
<Numpad />
|
|
68
|
-
</I18nProvider>
|
|
69
|
-
</ConfigProvider>
|
|
70
|
-
));
|
|
71
|
-
const cButton = screen
|
|
72
|
-
.getAllByRole("button")
|
|
73
|
-
.find((btn) => btn.className.includes("text-danger-500"));
|
|
74
|
-
expect(cButton).toBeTruthy();
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it("renders BS button with text-warning-500 class", () => {
|
|
78
|
-
render(() => (
|
|
79
|
-
<ConfigProvider clientName="test">
|
|
80
|
-
<I18nProvider>
|
|
81
|
-
<Numpad />
|
|
82
|
-
</I18nProvider>
|
|
83
|
-
</ConfigProvider>
|
|
84
|
-
));
|
|
85
|
-
const bsButton = screen
|
|
86
|
-
.getAllByRole("button")
|
|
87
|
-
.find((btn) => btn.className.includes("text-warning-500"));
|
|
88
|
-
expect(bsButton).toBeTruthy();
|
|
89
|
-
});
|
|
90
|
-
|
|
91
14
|
it("does not render ENT button by default", () => {
|
|
92
15
|
render(() => (
|
|
93
16
|
<ConfigProvider clientName="test">
|