@simplysm/solid 13.0.0-beta.6
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/.cache/typecheck-browser.tsbuildinfo +1 -0
- package/.cache/typecheck-tests-browser.tsbuildinfo +1 -0
- package/README.md +1652 -0
- package/dist/components/data/Pagination.js +110 -0
- package/dist/components/data/Pagination.js.map +7 -0
- package/dist/components/data/Table.js +34 -0
- package/dist/components/data/Table.js.map +7 -0
- package/dist/components/data/calendar/Calendar.js +90 -0
- package/dist/components/data/calendar/Calendar.js.map +7 -0
- package/dist/components/data/kanban/Kanban.js +367 -0
- package/dist/components/data/kanban/Kanban.js.map +7 -0
- package/dist/components/data/kanban/KanbanContext.js +24 -0
- package/dist/components/data/kanban/KanbanContext.js.map +7 -0
- package/dist/components/data/list/List.js +133 -0
- package/dist/components/data/list/List.js.map +7 -0
- package/dist/components/data/list/ListContext.js +8 -0
- package/dist/components/data/list/ListContext.js.map +7 -0
- package/dist/components/data/list/ListItem.js +101 -0
- package/dist/components/data/list/ListItem.js.map +7 -0
- package/dist/components/data/list/ListItem.styles.js +43 -0
- package/dist/components/data/list/ListItem.styles.js.map +7 -0
- package/dist/components/data/permission-table/PermissionTable.js +189 -0
- package/dist/components/data/permission-table/PermissionTable.js.map +7 -0
- package/dist/components/data/sheet/DataSheet.js +907 -0
- package/dist/components/data/sheet/DataSheet.js.map +7 -0
- package/dist/components/data/sheet/DataSheet.styles.js +142 -0
- package/dist/components/data/sheet/DataSheet.styles.js.map +7 -0
- package/dist/components/data/sheet/DataSheetColumn.js +28 -0
- package/dist/components/data/sheet/DataSheetColumn.js.map +7 -0
- package/dist/components/data/sheet/DataSheetConfigDialog.js +83 -0
- package/dist/components/data/sheet/DataSheetConfigDialog.js.map +7 -0
- package/dist/components/data/sheet/sheetUtils.js +125 -0
- package/dist/components/data/sheet/sheetUtils.js.map +7 -0
- package/dist/components/data/sheet/types.js +1 -0
- package/dist/components/data/sheet/types.js.map +7 -0
- package/dist/components/disclosure/Collapse.js +45 -0
- package/dist/components/disclosure/Collapse.js.map +7 -0
- package/dist/components/disclosure/Dialog.js +367 -0
- package/dist/components/disclosure/Dialog.js.map +7 -0
- package/dist/components/disclosure/DialogContext.js +14 -0
- package/dist/components/disclosure/DialogContext.js.map +7 -0
- package/dist/components/disclosure/DialogInstanceContext.js +10 -0
- package/dist/components/disclosure/DialogInstanceContext.js.map +7 -0
- package/dist/components/disclosure/DialogProvider.js +88 -0
- package/dist/components/disclosure/DialogProvider.js.map +7 -0
- package/dist/components/disclosure/Dropdown.js +244 -0
- package/dist/components/disclosure/Dropdown.js.map +7 -0
- package/dist/components/disclosure/Tabs.js +75 -0
- package/dist/components/disclosure/Tabs.js.map +7 -0
- package/dist/components/disclosure/dialogZIndex.js +32 -0
- package/dist/components/disclosure/dialogZIndex.js.map +7 -0
- package/dist/components/display/Alert.js +18 -0
- package/dist/components/display/Alert.js.map +7 -0
- package/dist/components/display/Barcode.js +39 -0
- package/dist/components/display/Barcode.js.map +7 -0
- package/dist/components/display/Card.js +21 -0
- package/dist/components/display/Card.js.map +7 -0
- package/dist/components/display/Echarts.js +33 -0
- package/dist/components/display/Echarts.js.map +7 -0
- package/dist/components/display/Icon.js +10 -0
- package/dist/components/display/Icon.js.map +7 -0
- package/dist/components/display/Tag.js +20 -0
- package/dist/components/display/Tag.js.map +7 -0
- package/dist/components/feedback/Progress.js +37 -0
- package/dist/components/feedback/Progress.js.map +7 -0
- package/dist/components/feedback/loading/LoadingContainer.js +83 -0
- package/dist/components/feedback/loading/LoadingContainer.js.map +7 -0
- package/dist/components/feedback/loading/LoadingContext.js +14 -0
- package/dist/components/feedback/loading/LoadingContext.js.map +7 -0
- package/dist/components/feedback/loading/LoadingProvider.js +47 -0
- package/dist/components/feedback/loading/LoadingProvider.js.map +7 -0
- package/dist/components/feedback/notification/NotificationBanner.js +61 -0
- package/dist/components/feedback/notification/NotificationBanner.js.map +7 -0
- package/dist/components/feedback/notification/NotificationBell.js +85 -0
- package/dist/components/feedback/notification/NotificationBell.js.map +7 -0
- package/dist/components/feedback/notification/NotificationContext.js +14 -0
- package/dist/components/feedback/notification/NotificationContext.js.map +7 -0
- package/dist/components/feedback/notification/NotificationProvider.js +101 -0
- package/dist/components/feedback/notification/NotificationProvider.js.map +7 -0
- package/dist/components/feedback/notification/index.js +5 -0
- package/dist/components/feedback/notification/index.js.map +7 -0
- package/dist/components/feedback/print/Print.js +12 -0
- package/dist/components/feedback/print/Print.js.map +7 -0
- package/dist/components/feedback/print/PrintInstanceContext.js +10 -0
- package/dist/components/feedback/print/PrintInstanceContext.js.map +7 -0
- package/dist/components/form-control/Button.js +74 -0
- package/dist/components/form-control/Button.js.map +7 -0
- package/dist/components/form-control/DropdownTrigger.styles.js +44 -0
- package/dist/components/form-control/DropdownTrigger.styles.js.map +7 -0
- package/dist/components/form-control/ThemeToggle.js +57 -0
- package/dist/components/form-control/ThemeToggle.js.map +7 -0
- package/dist/components/form-control/checkbox/Checkbox.js +78 -0
- package/dist/components/form-control/checkbox/Checkbox.js.map +7 -0
- package/dist/components/form-control/checkbox/Checkbox.styles.js +57 -0
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +7 -0
- package/dist/components/form-control/checkbox/CheckboxGroup.js +65 -0
- package/dist/components/form-control/checkbox/CheckboxGroup.js.map +7 -0
- package/dist/components/form-control/checkbox/Radio.js +78 -0
- package/dist/components/form-control/checkbox/Radio.js.map +7 -0
- package/dist/components/form-control/checkbox/RadioGroup.js +60 -0
- package/dist/components/form-control/checkbox/RadioGroup.js.map +7 -0
- package/dist/components/form-control/color-picker/ColorPicker.js +55 -0
- package/dist/components/form-control/color-picker/ColorPicker.js.map +7 -0
- package/dist/components/form-control/combobox/Combobox.js +214 -0
- package/dist/components/form-control/combobox/Combobox.js.map +7 -0
- package/dist/components/form-control/combobox/ComboboxContext.js +14 -0
- package/dist/components/form-control/combobox/ComboboxContext.js.map +7 -0
- package/dist/components/form-control/combobox/ComboboxItem.js +49 -0
- package/dist/components/form-control/combobox/ComboboxItem.js.map +7 -0
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +136 -0
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +7 -0
- package/dist/components/form-control/editor/EditorToolbar.js +290 -0
- package/dist/components/form-control/editor/EditorToolbar.js.map +7 -0
- package/dist/components/form-control/editor/RichTextEditor.js +114 -0
- package/dist/components/form-control/editor/RichTextEditor.js.map +7 -0
- package/dist/components/form-control/field/DatePicker.js +167 -0
- package/dist/components/form-control/field/DatePicker.js.map +7 -0
- package/dist/components/form-control/field/DateTimePicker.js +168 -0
- package/dist/components/form-control/field/DateTimePicker.js.map +7 -0
- package/dist/components/form-control/field/Field.styles.js +35 -0
- package/dist/components/form-control/field/Field.styles.js.map +7 -0
- package/dist/components/form-control/field/NumberInput.js +193 -0
- package/dist/components/form-control/field/NumberInput.js.map +7 -0
- package/dist/components/form-control/field/TextInput.js +178 -0
- package/dist/components/form-control/field/TextInput.js.map +7 -0
- package/dist/components/form-control/field/Textarea.js +186 -0
- package/dist/components/form-control/field/Textarea.js.map +7 -0
- package/dist/components/form-control/field/TimePicker.js +138 -0
- package/dist/components/form-control/field/TimePicker.js.map +7 -0
- package/dist/components/form-control/numpad/Numpad.js +107 -0
- package/dist/components/form-control/numpad/Numpad.js.map +7 -0
- package/dist/components/form-control/select/Select.js +196 -0
- package/dist/components/form-control/select/Select.js.map +7 -0
- package/dist/components/form-control/select/SelectContext.js +14 -0
- package/dist/components/form-control/select/SelectContext.js.map +7 -0
- package/dist/components/form-control/select/SelectItem.js +65 -0
- package/dist/components/form-control/select/SelectItem.js.map +7 -0
- package/dist/components/form-control/state-preset/StatePreset.js +195 -0
- package/dist/components/form-control/state-preset/StatePreset.js.map +7 -0
- package/dist/components/layout/FormGroup.js +34 -0
- package/dist/components/layout/FormGroup.js.map +7 -0
- package/dist/components/layout/FormTable.js +24 -0
- package/dist/components/layout/FormTable.js.map +7 -0
- package/dist/components/layout/sidebar/Sidebar.js +63 -0
- package/dist/components/layout/sidebar/Sidebar.js.map +7 -0
- package/dist/components/layout/sidebar/SidebarContainer.js +70 -0
- package/dist/components/layout/sidebar/SidebarContainer.js.map +7 -0
- package/dist/components/layout/sidebar/SidebarContext.js +20 -0
- package/dist/components/layout/sidebar/SidebarContext.js.map +7 -0
- package/dist/components/layout/sidebar/SidebarMenu.js +84 -0
- package/dist/components/layout/sidebar/SidebarMenu.js.map +7 -0
- package/dist/components/layout/sidebar/SidebarUser.js +51 -0
- package/dist/components/layout/sidebar/SidebarUser.js.map +7 -0
- package/dist/components/layout/topbar/Topbar.js +48 -0
- package/dist/components/layout/topbar/Topbar.js.map +7 -0
- package/dist/components/layout/topbar/TopbarContainer.js +13 -0
- package/dist/components/layout/topbar/TopbarContainer.js.map +7 -0
- package/dist/components/layout/topbar/TopbarMenu.js +106 -0
- package/dist/components/layout/topbar/TopbarMenu.js.map +7 -0
- package/dist/components/layout/topbar/TopbarUser.js +44 -0
- package/dist/components/layout/topbar/TopbarUser.js.map +7 -0
- package/dist/core-browser/src/extensions/element-ext.d.ts +98 -0
- package/dist/core-browser/src/extensions/element-ext.d.ts.map +1 -0
- package/dist/core-browser/src/extensions/html-element-ext.d.ts +54 -0
- package/dist/core-browser/src/extensions/html-element-ext.d.ts.map +1 -0
- package/dist/core-browser/src/index.d.ts +7 -0
- package/dist/core-browser/src/index.d.ts.map +1 -0
- package/dist/core-browser/src/utils/blob.d.ts +10 -0
- package/dist/core-browser/src/utils/blob.d.ts.map +1 -0
- package/dist/core-browser/src/utils/download.d.ts +11 -0
- package/dist/core-browser/src/utils/download.d.ts.map +1 -0
- package/dist/core-common/src/common.types.d.ts +74 -0
- package/dist/core-common/src/common.types.d.ts.map +1 -0
- package/dist/core-common/src/env.d.ts +6 -0
- package/dist/core-common/src/env.d.ts.map +1 -0
- package/dist/core-common/src/errors/argument-error.d.ts +25 -0
- package/dist/core-common/src/errors/argument-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/not-implemented-error.d.ts +29 -0
- package/dist/core-common/src/errors/not-implemented-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/sd-error.d.ts +27 -0
- package/dist/core-common/src/errors/sd-error.d.ts.map +1 -0
- package/dist/core-common/src/errors/timeout-error.d.ts +31 -0
- package/dist/core-common/src/errors/timeout-error.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.d.ts +15 -0
- package/dist/core-common/src/extensions/arr-ext.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +19 -0
- package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +1 -0
- package/dist/core-common/src/extensions/arr-ext.types.d.ts +215 -0
- package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +1 -0
- package/dist/core-common/src/extensions/map-ext.d.ts +57 -0
- package/dist/core-common/src/extensions/map-ext.d.ts.map +1 -0
- package/dist/core-common/src/extensions/set-ext.d.ts +36 -0
- package/dist/core-common/src/extensions/set-ext.d.ts.map +1 -0
- package/dist/core-common/src/features/debounce-queue.d.ts +53 -0
- package/dist/core-common/src/features/debounce-queue.d.ts.map +1 -0
- package/dist/core-common/src/features/event-emitter.d.ts +66 -0
- package/dist/core-common/src/features/event-emitter.d.ts.map +1 -0
- package/dist/core-common/src/features/serial-queue.d.ts +47 -0
- package/dist/core-common/src/features/serial-queue.d.ts.map +1 -0
- package/dist/core-common/src/index.d.ts +32 -0
- package/dist/core-common/src/index.d.ts.map +1 -0
- package/dist/core-common/src/types/date-only.d.ts +152 -0
- package/dist/core-common/src/types/date-only.d.ts.map +1 -0
- package/dist/core-common/src/types/date-time.d.ts +96 -0
- package/dist/core-common/src/types/date-time.d.ts.map +1 -0
- package/dist/core-common/src/types/lazy-gc-map.d.ts +80 -0
- package/dist/core-common/src/types/lazy-gc-map.d.ts.map +1 -0
- package/dist/core-common/src/types/time.d.ts +68 -0
- package/dist/core-common/src/types/time.d.ts.map +1 -0
- package/dist/core-common/src/types/uuid.d.ts +35 -0
- package/dist/core-common/src/types/uuid.d.ts.map +1 -0
- package/dist/core-common/src/utils/bytes.d.ts +51 -0
- package/dist/core-common/src/utils/bytes.d.ts.map +1 -0
- package/dist/core-common/src/utils/date-format.d.ts +90 -0
- package/dist/core-common/src/utils/date-format.d.ts.map +1 -0
- package/dist/core-common/src/utils/json.d.ts +34 -0
- package/dist/core-common/src/utils/json.d.ts.map +1 -0
- package/dist/core-common/src/utils/num.d.ts +60 -0
- package/dist/core-common/src/utils/num.d.ts.map +1 -0
- package/dist/core-common/src/utils/obj.d.ts +258 -0
- package/dist/core-common/src/utils/obj.d.ts.map +1 -0
- package/dist/core-common/src/utils/path.d.ts +23 -0
- package/dist/core-common/src/utils/path.d.ts.map +1 -0
- package/dist/core-common/src/utils/primitive.d.ts +18 -0
- package/dist/core-common/src/utils/primitive.d.ts.map +1 -0
- package/dist/core-common/src/utils/str.d.ts +103 -0
- package/dist/core-common/src/utils/str.d.ts.map +1 -0
- package/dist/core-common/src/utils/template-strings.d.ts +84 -0
- package/dist/core-common/src/utils/template-strings.d.ts.map +1 -0
- package/dist/core-common/src/utils/transferable.d.ts +47 -0
- package/dist/core-common/src/utils/transferable.d.ts.map +1 -0
- package/dist/core-common/src/utils/wait.d.ts +19 -0
- package/dist/core-common/src/utils/wait.d.ts.map +1 -0
- package/dist/core-common/src/utils/xml.d.ts +36 -0
- package/dist/core-common/src/utils/xml.d.ts.map +1 -0
- package/dist/core-common/src/zip/sd-zip.d.ts +80 -0
- package/dist/core-common/src/zip/sd-zip.d.ts.map +1 -0
- package/dist/directives/ripple.js +106 -0
- package/dist/directives/ripple.js.map +7 -0
- package/dist/helpers/createAppStructure.js +96 -0
- package/dist/helpers/createAppStructure.js.map +7 -0
- package/dist/helpers/mergeStyles.js +27 -0
- package/dist/helpers/mergeStyles.js.map +7 -0
- package/dist/helpers/splitSlots.js +25 -0
- package/dist/helpers/splitSlots.js.map +7 -0
- package/dist/hooks/createControllableSignal.js +24 -0
- package/dist/hooks/createControllableSignal.js.map +7 -0
- package/dist/hooks/createIMEHandler.js +50 -0
- package/dist/hooks/createIMEHandler.js.map +7 -0
- package/dist/hooks/createMountTransition.js +33 -0
- package/dist/hooks/createMountTransition.js.map +7 -0
- package/dist/hooks/useClipboardValueCopy.js +121 -0
- package/dist/hooks/useClipboardValueCopy.js.map +7 -0
- package/dist/hooks/usePersisted.js +25 -0
- package/dist/hooks/usePersisted.js.map +7 -0
- package/dist/hooks/usePrint.js +208 -0
- package/dist/hooks/usePrint.js.map +7 -0
- package/dist/hooks/useRouterLink.js +24 -0
- package/dist/hooks/useRouterLink.js.map +7 -0
- package/dist/index.js +94 -0
- package/dist/index.js.map +7 -0
- package/dist/orm-common/src/db-context.d.ts +669 -0
- package/dist/orm-common/src/db-context.d.ts.map +1 -0
- package/dist/orm-common/src/errors/db-transaction-error.d.ts +51 -0
- package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +1 -0
- package/dist/orm-common/src/exec/executable.d.ts +79 -0
- package/dist/orm-common/src/exec/executable.d.ts.map +1 -0
- package/dist/orm-common/src/exec/queryable.d.ts +708 -0
- package/dist/orm-common/src/exec/queryable.d.ts.map +1 -0
- package/dist/orm-common/src/exec/search-parser.d.ts +72 -0
- package/dist/orm-common/src/exec/search-parser.d.ts.map +1 -0
- package/dist/orm-common/src/expr/expr-unit.d.ts +25 -0
- package/dist/orm-common/src/expr/expr-unit.d.ts.map +1 -0
- package/dist/orm-common/src/expr/expr.d.ts +1369 -0
- package/dist/orm-common/src/expr/expr.d.ts.map +1 -0
- package/dist/orm-common/src/index.d.ts +32 -0
- package/dist/orm-common/src/index.d.ts.map +1 -0
- package/dist/orm-common/src/models/system-migration.d.ts +10 -0
- package/dist/orm-common/src/models/system-migration.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +95 -0
- package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +66 -0
- package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +84 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +45 -0
- package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +84 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +54 -0
- package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +84 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +52 -0
- package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/query-builder/query-builder.d.ts +7 -0
- package/dist/orm-common/src/query-builder/query-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/factory/column-builder.d.ts +394 -0
- package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/factory/index-builder.d.ts +151 -0
- package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/factory/relation-builder.d.ts +337 -0
- package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/procedure-builder.d.ts +202 -0
- package/dist/orm-common/src/schema/procedure-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/table-builder.d.ts +259 -0
- package/dist/orm-common/src/schema/table-builder.d.ts.map +1 -0
- package/dist/orm-common/src/schema/view-builder.d.ts +183 -0
- package/dist/orm-common/src/schema/view-builder.d.ts.map +1 -0
- package/dist/orm-common/src/types/column.d.ts +172 -0
- package/dist/orm-common/src/types/column.d.ts.map +1 -0
- package/dist/orm-common/src/types/db.d.ts +175 -0
- package/dist/orm-common/src/types/db.d.ts.map +1 -0
- package/dist/orm-common/src/types/expr.d.ts +474 -0
- package/dist/orm-common/src/types/expr.d.ts.map +1 -0
- package/dist/orm-common/src/types/query-def.d.ts +351 -0
- package/dist/orm-common/src/types/query-def.d.ts.map +1 -0
- package/dist/orm-common/src/utils/result-parser.d.ts +38 -0
- package/dist/orm-common/src/utils/result-parser.d.ts.map +1 -0
- package/dist/providers/ConfigContext.js +14 -0
- package/dist/providers/ConfigContext.js.map +7 -0
- package/dist/providers/InitializeProvider.js +10 -0
- package/dist/providers/InitializeProvider.js.map +7 -0
- package/dist/providers/ServiceClientContext.js +16 -0
- package/dist/providers/ServiceClientContext.js.map +7 -0
- package/dist/providers/ServiceClientProvider.js +116 -0
- package/dist/providers/ServiceClientProvider.js.map +7 -0
- package/dist/providers/ThemeContext.js +48 -0
- package/dist/providers/ThemeContext.js.map +7 -0
- package/dist/providers/shared-data/SharedDataChangeEvent.js +8 -0
- package/dist/providers/shared-data/SharedDataChangeEvent.js.map +7 -0
- package/dist/providers/shared-data/SharedDataContext.js +16 -0
- package/dist/providers/shared-data/SharedDataContext.js.map +7 -0
- package/dist/providers/shared-data/SharedDataProvider.js +115 -0
- package/dist/providers/shared-data/SharedDataProvider.js.map +7 -0
- package/dist/service-client/src/features/event-client.d.ts +14 -0
- package/dist/service-client/src/features/event-client.d.ts.map +1 -0
- package/dist/service-client/src/features/file-client.d.ts +13 -0
- package/dist/service-client/src/features/file-client.d.ts.map +1 -0
- package/dist/service-client/src/features/orm/orm-client-connector.d.ts +10 -0
- package/dist/service-client/src/features/orm/orm-client-connector.d.ts.map +1 -0
- package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts +26 -0
- package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts.map +1 -0
- package/dist/service-client/src/features/orm/orm-connect-config.d.ts +13 -0
- package/dist/service-client/src/features/orm/orm-connect-config.d.ts.map +1 -0
- package/dist/service-client/src/index.d.ts +12 -0
- package/dist/service-client/src/index.d.ts.map +1 -0
- package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts +23 -0
- package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts.map +1 -0
- package/dist/service-client/src/service-client.d.ts +41 -0
- package/dist/service-client/src/service-client.d.ts.map +1 -0
- package/dist/service-client/src/transport/service-transport.d.ts +24 -0
- package/dist/service-client/src/transport/service-transport.d.ts.map +1 -0
- package/dist/service-client/src/transport/socket-provider.d.ts +31 -0
- package/dist/service-client/src/transport/socket-provider.d.ts.map +1 -0
- package/dist/service-client/src/types/connection-config.d.ts +8 -0
- package/dist/service-client/src/types/connection-config.d.ts.map +1 -0
- package/dist/service-client/src/types/progress.types.d.ts +10 -0
- package/dist/service-client/src/types/progress.types.d.ts.map +1 -0
- package/dist/service-common/src/index.d.ts +8 -0
- package/dist/service-common/src/index.d.ts.map +1 -0
- package/dist/service-common/src/protocol/protocol.types.d.ts +100 -0
- package/dist/service-common/src/protocol/protocol.types.d.ts.map +1 -0
- package/dist/service-common/src/protocol/service-protocol.d.ts +63 -0
- package/dist/service-common/src/protocol/service-protocol.d.ts.map +1 -0
- package/dist/service-common/src/service-types/auto-update-service.types.d.ts +17 -0
- package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +1 -0
- package/dist/service-common/src/service-types/crypto-service.types.d.ts +22 -0
- package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +1 -0
- package/dist/service-common/src/service-types/orm-service.types.d.ts +30 -0
- package/dist/service-common/src/service-types/orm-service.types.d.ts.map +1 -0
- package/dist/service-common/src/service-types/smtp-service.types.d.ts +55 -0
- package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +1 -0
- package/dist/service-common/src/types.d.ts +43 -0
- package/dist/service-common/src/types.d.ts.map +1 -0
- package/dist/solid/src/components/data/Pagination.d.ts +12 -0
- package/dist/solid/src/components/data/Pagination.d.ts.map +1 -0
- package/dist/solid/src/components/data/Table.d.ts +6 -0
- package/dist/solid/src/components/data/Table.d.ts.map +1 -0
- package/dist/solid/src/components/data/calendar/Calendar.d.ts +15 -0
- package/dist/solid/src/components/data/calendar/Calendar.d.ts.map +1 -0
- package/dist/solid/src/components/data/kanban/Kanban.d.ts +38 -0
- package/dist/solid/src/components/data/kanban/Kanban.d.ts.map +1 -0
- package/dist/solid/src/components/data/kanban/KanbanContext.d.ts +40 -0
- package/dist/solid/src/components/data/kanban/KanbanContext.d.ts.map +1 -0
- package/dist/solid/src/components/data/list/List.d.ts +36 -0
- package/dist/solid/src/components/data/list/List.d.ts.map +1 -0
- package/dist/solid/src/components/data/list/ListContext.d.ts +9 -0
- package/dist/solid/src/components/data/list/ListContext.d.ts.map +1 -0
- package/dist/solid/src/components/data/list/ListItem.d.ts +88 -0
- package/dist/solid/src/components/data/list/ListItem.d.ts.map +1 -0
- package/dist/solid/src/components/data/list/ListItem.styles.d.ts +10 -0
- package/dist/solid/src/components/data/list/ListItem.styles.d.ts.map +1 -0
- package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts +26 -0
- package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts.map +1 -0
- package/dist/solid/src/components/data/sheet/DataSheet.d.ts +12 -0
- package/dist/solid/src/components/data/sheet/DataSheet.d.ts.map +1 -0
- package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts +33 -0
- package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts.map +1 -0
- package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts +5 -0
- package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts.map +1 -0
- package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts +8 -0
- package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -0
- package/dist/solid/src/components/data/sheet/sheetUtils.d.ts +7 -0
- package/dist/solid/src/components/data/sheet/sheetUtils.d.ts.map +1 -0
- package/dist/solid/src/components/data/sheet/types.d.ts +113 -0
- package/dist/solid/src/components/data/sheet/types.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/Collapse.d.ts +21 -0
- package/dist/solid/src/components/disclosure/Collapse.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/Dialog.d.ts +65 -0
- package/dist/solid/src/components/disclosure/Dialog.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/DialogContext.d.ts +30 -0
- package/dist/solid/src/components/disclosure/DialogContext.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts +6 -0
- package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/DialogProvider.d.ts +19 -0
- package/dist/solid/src/components/disclosure/DialogProvider.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/Dropdown.d.ts +65 -0
- package/dist/solid/src/components/disclosure/Dropdown.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/Tabs.d.ts +24 -0
- package/dist/solid/src/components/disclosure/Tabs.d.ts.map +1 -0
- package/dist/solid/src/components/disclosure/dialogZIndex.d.ts +13 -0
- package/dist/solid/src/components/disclosure/dialogZIndex.d.ts.map +1 -0
- package/dist/solid/src/components/display/Alert.d.ts +8 -0
- package/dist/solid/src/components/display/Alert.d.ts.map +1 -0
- package/dist/solid/src/components/display/Barcode.d.ts +8 -0
- package/dist/solid/src/components/display/Barcode.d.ts.map +1 -0
- package/dist/solid/src/components/display/Card.d.ts +6 -0
- package/dist/solid/src/components/display/Card.d.ts.map +1 -0
- package/dist/solid/src/components/display/Echarts.d.ts +8 -0
- package/dist/solid/src/components/display/Echarts.d.ts.map +1 -0
- package/dist/solid/src/components/display/Icon.d.ts +8 -0
- package/dist/solid/src/components/display/Icon.d.ts.map +1 -0
- package/dist/solid/src/components/display/Tag.d.ts +8 -0
- package/dist/solid/src/components/display/Tag.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/Progress.d.ts +12 -0
- package/dist/solid/src/components/feedback/Progress.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts +12 -0
- package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts +11 -0
- package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts +7 -0
- package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts +3 -0
- package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts +6 -0
- package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts +39 -0
- package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts +3 -0
- package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/notification/index.d.ts +5 -0
- package/dist/solid/src/components/feedback/notification/index.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/print/Print.d.ts +9 -0
- package/dist/solid/src/components/feedback/print/Print.d.ts.map +1 -0
- package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts +6 -0
- package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/Button.d.ts +14 -0
- package/dist/solid/src/components/form-control/Button.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts +14 -0
- package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/ThemeToggle.d.ts +25 -0
- package/dist/solid/src/components/form-control/ThemeToggle.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts +16 -0
- package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts +12 -0
- package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts +27 -0
- package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/checkbox/Radio.d.ts +16 -0
- package/dist/solid/src/components/form-control/checkbox/Radio.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts +27 -0
- package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts +29 -0
- package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/combobox/Combobox.d.ts +80 -0
- package/dist/solid/src/components/form-control/combobox/Combobox.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts +11 -0
- package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts +12 -0
- package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts +55 -0
- package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts +8 -0
- package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts +21 -0
- package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/DatePicker.d.ts +61 -0
- package/dist/solid/src/components/form-control/field/DatePicker.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts +58 -0
- package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/Field.styles.d.ts +13 -0
- package/dist/solid/src/components/form-control/field/Field.styles.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/NumberInput.d.ts +47 -0
- package/dist/solid/src/components/form-control/field/NumberInput.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/TextInput.d.ts +51 -0
- package/dist/solid/src/components/form-control/field/TextInput.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/Textarea.d.ts +42 -0
- package/dist/solid/src/components/form-control/field/Textarea.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/field/TimePicker.d.ts +46 -0
- package/dist/solid/src/components/form-control/field/TimePicker.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/numpad/Numpad.d.ts +28 -0
- package/dist/solid/src/components/form-control/numpad/Numpad.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/select/Select.d.ts +104 -0
- package/dist/solid/src/components/form-control/select/Select.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/select/SelectContext.d.ts +14 -0
- package/dist/solid/src/components/form-control/select/SelectContext.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/select/SelectItem.d.ts +33 -0
- package/dist/solid/src/components/form-control/select/SelectItem.d.ts.map +1 -0
- package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts +14 -0
- package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts.map +1 -0
- package/dist/solid/src/components/layout/FormGroup.d.ts +14 -0
- package/dist/solid/src/components/layout/FormGroup.d.ts.map +1 -0
- package/dist/solid/src/components/layout/FormTable.d.ts +5 -0
- package/dist/solid/src/components/layout/FormTable.d.ts.map +1 -0
- package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts +35 -0
- package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts +34 -0
- package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts.map +1 -0
- package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts +28 -0
- package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts.map +1 -0
- package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts +41 -0
- package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts.map +1 -0
- package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts +36 -0
- package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts.map +1 -0
- package/dist/solid/src/components/layout/topbar/Topbar.d.ts +35 -0
- package/dist/solid/src/components/layout/topbar/Topbar.d.ts.map +1 -0
- package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts +25 -0
- package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts.map +1 -0
- package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts +41 -0
- package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts.map +1 -0
- package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts +35 -0
- package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts.map +1 -0
- package/dist/solid/src/directives/ripple.d.ts +24 -0
- package/dist/solid/src/directives/ripple.d.ts.map +1 -0
- package/dist/solid/src/helpers/createAppStructure.d.ts +52 -0
- package/dist/solid/src/helpers/createAppStructure.d.ts.map +1 -0
- package/dist/solid/src/helpers/mergeStyles.d.ts +27 -0
- package/dist/solid/src/helpers/mergeStyles.d.ts.map +1 -0
- package/dist/solid/src/helpers/splitSlots.d.ts +25 -0
- package/dist/solid/src/helpers/splitSlots.d.ts.map +1 -0
- package/dist/solid/src/hooks/createControllableSignal.d.ts +40 -0
- package/dist/solid/src/hooks/createControllableSignal.d.ts.map +1 -0
- package/dist/solid/src/hooks/createIMEHandler.d.ts +20 -0
- package/dist/solid/src/hooks/createIMEHandler.d.ts.map +1 -0
- package/dist/solid/src/hooks/createMountTransition.d.ts +14 -0
- package/dist/solid/src/hooks/createMountTransition.d.ts.map +1 -0
- package/dist/solid/src/hooks/useClipboardValueCopy.d.ts +15 -0
- package/dist/solid/src/hooks/useClipboardValueCopy.d.ts.map +1 -0
- package/dist/solid/src/hooks/usePersisted.d.ts +26 -0
- package/dist/solid/src/hooks/usePersisted.d.ts.map +1 -0
- package/dist/solid/src/hooks/usePrint.d.ts +11 -0
- package/dist/solid/src/hooks/usePrint.d.ts.map +1 -0
- package/dist/solid/src/hooks/useRouterLink.d.ts +38 -0
- package/dist/solid/src/hooks/useRouterLink.d.ts.map +1 -0
- package/dist/solid/src/index.d.ts +85 -0
- package/dist/solid/src/index.d.ts.map +1 -0
- package/dist/solid/src/providers/ConfigContext.d.ts +48 -0
- package/dist/solid/src/providers/ConfigContext.d.ts.map +1 -0
- package/dist/solid/src/providers/InitializeProvider.d.ts +23 -0
- package/dist/solid/src/providers/InitializeProvider.d.ts.map +1 -0
- package/dist/solid/src/providers/ServiceClientContext.d.ts +10 -0
- package/dist/solid/src/providers/ServiceClientContext.d.ts.map +1 -0
- package/dist/solid/src/providers/ServiceClientProvider.d.ts +3 -0
- package/dist/solid/src/providers/ServiceClientProvider.d.ts.map +1 -0
- package/dist/solid/src/providers/ThemeContext.d.ts +65 -0
- package/dist/solid/src/providers/ThemeContext.d.ts.map +1 -0
- package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts +8 -0
- package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts.map +1 -0
- package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts +22 -0
- package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts.map +1 -0
- package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts +9 -0
- package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts.map +1 -0
- package/dist/solid/src/styles/patterns.styles.d.ts +6 -0
- package/dist/solid/src/styles/patterns.styles.d.ts.map +1 -0
- package/dist/solid/src/styles/tokens.styles.d.ts +20 -0
- package/dist/solid/src/styles/tokens.styles.d.ts.map +1 -0
- package/dist/styles/patterns.styles.js +30 -0
- package/dist/styles/patterns.styles.js.map +7 -0
- package/dist/styles/tokens.styles.js +72 -0
- package/dist/styles/tokens.styles.js.map +7 -0
- package/package.json +56 -0
- package/src/base.css +78 -0
- package/src/components/data/Pagination.tsx +112 -0
- package/src/components/data/Table.tsx +43 -0
- package/src/components/data/calendar/Calendar.tsx +139 -0
- package/src/components/data/kanban/Kanban.css +10 -0
- package/src/components/data/kanban/Kanban.tsx +547 -0
- package/src/components/data/kanban/KanbanContext.ts +71 -0
- package/src/components/data/list/List.tsx +184 -0
- package/src/components/data/list/ListContext.ts +12 -0
- package/src/components/data/list/ListItem.styles.ts +49 -0
- package/src/components/data/list/ListItem.tsx +222 -0
- package/src/components/data/permission-table/PermissionTable.tsx +291 -0
- package/src/components/data/sheet/DataSheet.css +26 -0
- package/src/components/data/sheet/DataSheet.styles.ts +161 -0
- package/src/components/data/sheet/DataSheet.tsx +1198 -0
- package/src/components/data/sheet/DataSheetColumn.tsx +29 -0
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +146 -0
- package/src/components/data/sheet/sheetUtils.ts +156 -0
- package/src/components/data/sheet/types.ts +143 -0
- package/src/components/disclosure/Collapse.tsx +72 -0
- package/src/components/disclosure/Dialog.tsx +520 -0
- package/src/components/disclosure/DialogContext.ts +39 -0
- package/src/components/disclosure/DialogInstanceContext.ts +11 -0
- package/src/components/disclosure/DialogProvider.tsx +133 -0
- package/src/components/disclosure/Dropdown.tsx +406 -0
- package/src/components/disclosure/Tabs.tsx +127 -0
- package/src/components/disclosure/dialogZIndex.ts +43 -0
- package/src/components/display/Alert.tsx +32 -0
- package/src/components/display/Barcode.tsx +158 -0
- package/src/components/display/Card.css +14 -0
- package/src/components/display/Card.tsx +26 -0
- package/src/components/display/Echarts.tsx +45 -0
- package/src/components/display/Icon.tsx +13 -0
- package/src/components/display/Tag.tsx +31 -0
- package/src/components/feedback/Progress.tsx +61 -0
- package/src/components/feedback/loading/LoadingContainer.css +19 -0
- package/src/components/feedback/loading/LoadingContainer.tsx +132 -0
- package/src/components/feedback/loading/LoadingContext.ts +20 -0
- package/src/components/feedback/loading/LoadingProvider.tsx +58 -0
- package/src/components/feedback/notification/NotificationBanner.tsx +83 -0
- package/src/components/feedback/notification/NotificationBell.tsx +132 -0
- package/src/components/feedback/notification/NotificationContext.ts +65 -0
- package/src/components/feedback/notification/NotificationProvider.tsx +143 -0
- package/src/components/feedback/notification/index.ts +4 -0
- package/src/components/feedback/print/Print.tsx +21 -0
- package/src/components/feedback/print/PrintInstanceContext.ts +11 -0
- package/src/components/form-control/Button.tsx +90 -0
- package/src/components/form-control/DropdownTrigger.styles.ts +47 -0
- package/src/components/form-control/ThemeToggle.tsx +96 -0
- package/src/components/form-control/checkbox/Checkbox.styles.ts +66 -0
- package/src/components/form-control/checkbox/Checkbox.tsx +106 -0
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +116 -0
- package/src/components/form-control/checkbox/Radio.tsx +107 -0
- package/src/components/form-control/checkbox/RadioGroup.tsx +111 -0
- package/src/components/form-control/color-picker/ColorPicker.tsx +96 -0
- package/src/components/form-control/combobox/Combobox.tsx +390 -0
- package/src/components/form-control/combobox/ComboboxContext.ts +22 -0
- package/src/components/form-control/combobox/ComboboxItem.tsx +69 -0
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +215 -0
- package/src/components/form-control/editor/EditorToolbar.tsx +348 -0
- package/src/components/form-control/editor/RichTextEditor.tsx +173 -0
- package/src/components/form-control/editor/editor.css +81 -0
- package/src/components/form-control/field/DatePicker.tsx +268 -0
- package/src/components/form-control/field/DateTimePicker.tsx +260 -0
- package/src/components/form-control/field/Field.styles.ts +42 -0
- package/src/components/form-control/field/NumberInput.tsx +328 -0
- package/src/components/form-control/field/TextInput.tsx +287 -0
- package/src/components/form-control/field/Textarea.tsx +262 -0
- package/src/components/form-control/field/TimePicker.tsx +215 -0
- package/src/components/form-control/numpad/Numpad.tsx +218 -0
- package/src/components/form-control/select/Select.tsx +404 -0
- package/src/components/form-control/select/SelectContext.ts +25 -0
- package/src/components/form-control/select/SelectItem.tsx +124 -0
- package/src/components/form-control/state-preset/StatePreset.tsx +277 -0
- package/src/components/layout/FormGroup.tsx +63 -0
- package/src/components/layout/FormTable.tsx +29 -0
- package/src/components/layout/sidebar/Sidebar.tsx +104 -0
- package/src/components/layout/sidebar/SidebarContainer.tsx +115 -0
- package/src/components/layout/sidebar/SidebarContext.ts +40 -0
- package/src/components/layout/sidebar/SidebarMenu.tsx +181 -0
- package/src/components/layout/sidebar/SidebarUser.tsx +107 -0
- package/src/components/layout/topbar/Topbar.tsx +93 -0
- package/src/components/layout/topbar/TopbarContainer.tsx +40 -0
- package/src/components/layout/topbar/TopbarMenu.tsx +206 -0
- package/src/components/layout/topbar/TopbarUser.tsx +96 -0
- package/src/directives/ripple.ts +151 -0
- package/src/helpers/createAppStructure.ts +183 -0
- package/src/helpers/mergeStyles.ts +55 -0
- package/src/helpers/splitSlots.ts +48 -0
- package/src/hooks/createControllableSignal.ts +63 -0
- package/src/hooks/createIMEHandler.ts +65 -0
- package/src/hooks/createMountTransition.ts +45 -0
- package/src/hooks/useClipboardValueCopy.ts +177 -0
- package/src/hooks/usePersisted.ts +51 -0
- package/src/hooks/usePrint.ts +277 -0
- package/src/hooks/useRouterLink.ts +64 -0
- package/src/index.ts +117 -0
- package/src/providers/ConfigContext.ts +59 -0
- package/src/providers/InitializeProvider.tsx +28 -0
- package/src/providers/ServiceClientContext.ts +21 -0
- package/src/providers/ServiceClientProvider.tsx +132 -0
- package/src/providers/ThemeContext.tsx +121 -0
- package/src/providers/shared-data/SharedDataChangeEvent.ts +8 -0
- package/src/providers/shared-data/SharedDataContext.ts +34 -0
- package/src/providers/shared-data/SharedDataProvider.tsx +149 -0
- package/src/styles/patterns.styles.ts +32 -0
- package/src/styles/tokens.styles.ts +83 -0
- package/tailwind.config.ts +50 -0
- package/tests/components/data/List.spec.tsx +683 -0
- package/tests/components/data/Pagination.spec.tsx +317 -0
- package/tests/components/data/Table.spec.tsx +55 -0
- package/tests/components/data/kanban/Kanban.selection.spec.tsx +209 -0
- package/tests/components/data/permission-table/PermissionTable.spec.tsx +280 -0
- package/tests/components/data/sheet/DataSheet.spec.tsx +564 -0
- package/tests/components/disclosure/Collapse.spec.tsx +162 -0
- package/tests/components/disclosure/Dialog.spec.tsx +319 -0
- package/tests/components/disclosure/DialogProvider.spec.tsx +110 -0
- package/tests/components/disclosure/Dropdown.spec.tsx +410 -0
- package/tests/components/disclosure/Tabs.spec.tsx +220 -0
- package/tests/components/display/Alert.spec.tsx +47 -0
- package/tests/components/display/Barcode.spec.tsx +61 -0
- package/tests/components/display/Card.spec.tsx +41 -0
- package/tests/components/display/Tag.spec.tsx +47 -0
- package/tests/components/feedback/notification/LiveRegion.spec.tsx +41 -0
- package/tests/components/feedback/notification/NotificationBanner.spec.tsx +164 -0
- package/tests/components/feedback/notification/NotificationBell.spec.tsx +207 -0
- package/tests/components/feedback/notification/NotificationContext.spec.tsx +331 -0
- package/tests/components/feedback/print/Print.spec.tsx +45 -0
- package/tests/components/form-control/Button.spec.tsx +119 -0
- package/tests/components/form-control/checkbox/Checkbox.spec.tsx +120 -0
- package/tests/components/form-control/checkbox/Radio.spec.tsx +112 -0
- package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +67 -0
- package/tests/components/form-control/combobox/Combobox.spec.tsx +174 -0
- package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +85 -0
- package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +172 -0
- package/tests/components/form-control/field/DatePicker.spec.tsx +305 -0
- package/tests/components/form-control/field/DateTimePicker.spec.tsx +287 -0
- package/tests/components/form-control/field/NumberInput.spec.tsx +276 -0
- package/tests/components/form-control/field/TextInput.spec.tsx +258 -0
- package/tests/components/form-control/field/Textarea.spec.tsx +181 -0
- package/tests/components/form-control/field/TimePicker.spec.tsx +243 -0
- package/tests/components/form-control/numpad/Numpad.spec.tsx +238 -0
- package/tests/components/form-control/select/Select.spec.tsx +239 -0
- package/tests/components/form-control/select/SelectItem.spec.tsx +149 -0
- package/tests/components/layout/FormGroup.spec.tsx +104 -0
- package/tests/components/layout/FormTable.spec.tsx +43 -0
- package/tests/components/layout/sidebar/Sidebar.spec.tsx +190 -0
- package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +203 -0
- package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +213 -0
- package/tests/components/layout/sidebar/SidebarUser.spec.tsx +171 -0
- package/tests/directives/ripple.spec.tsx +130 -0
- package/tests/helpers/createAppStructure.spec.tsx +338 -0
- package/tests/helpers/mergeStyles.spec.ts +163 -0
- package/tests/helpers/splitSlots.spec.tsx +188 -0
- package/tests/hooks/createControllableSignal.spec.ts +194 -0
- package/tests/hooks/createIMEHandler.spec.ts +80 -0
- package/tests/hooks/createMountTransition.spec.ts +86 -0
- package/tests/hooks/usePersisted.spec.tsx +191 -0
- package/tests/hooks/usePrint.spec.tsx +123 -0
- package/tests/hooks/useRouterLink.spec.tsx +183 -0
- package/tests/providers/ConfigContext.spec.ts +40 -0
- package/tests/providers/ServiceClientContext.spec.tsx +83 -0
- package/tests/providers/shared-data/SharedDataProvider.spec.tsx +233 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { type Component, createSignal, For, Show } from "solid-js";
|
|
2
|
+
import { IconBell } from "@tabler/icons-solidjs";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import { useNotification } from "./NotificationContext";
|
|
5
|
+
import { Dropdown } from "../../disclosure/Dropdown";
|
|
6
|
+
import { Icon } from "../../display/Icon";
|
|
7
|
+
import { NotificationBanner } from "./NotificationBanner";
|
|
8
|
+
|
|
9
|
+
export interface NotificationBellProps {
|
|
10
|
+
showBanner?: boolean;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const buttonClass = clsx(
|
|
14
|
+
"relative",
|
|
15
|
+
"p-2",
|
|
16
|
+
"rounded-full",
|
|
17
|
+
"hover:bg-base-100",
|
|
18
|
+
"dark:hover:bg-base-700",
|
|
19
|
+
"transition-colors",
|
|
20
|
+
"focus:outline-none",
|
|
21
|
+
"focus-visible:ring-2",
|
|
22
|
+
"focus-visible:ring-primary-500",
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
const badgeClass = clsx(
|
|
26
|
+
"absolute",
|
|
27
|
+
"top-0",
|
|
28
|
+
"right-0",
|
|
29
|
+
"flex",
|
|
30
|
+
"items-center",
|
|
31
|
+
"justify-center",
|
|
32
|
+
"w-5",
|
|
33
|
+
"h-5",
|
|
34
|
+
"px-1",
|
|
35
|
+
"text-xs",
|
|
36
|
+
"font-bold",
|
|
37
|
+
"text-white",
|
|
38
|
+
"bg-danger-500",
|
|
39
|
+
"rounded-full",
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const themeStyles: Record<string, string> = {
|
|
43
|
+
info: clsx("border-l-info-500", "bg-info-50", "dark:bg-info-900/10"),
|
|
44
|
+
success: clsx("border-l-success-500", "bg-success-50", "dark:bg-success-900/10"),
|
|
45
|
+
warning: clsx("border-l-warning-500", "bg-warning-50", "dark:bg-warning-900/10"),
|
|
46
|
+
danger: clsx("border-l-danger-500", "bg-danger-50", "dark:bg-danger-900/10"),
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const dropdownHeaderClass = clsx("mb-2 flex items-center", "justify-between", "px-2");
|
|
50
|
+
const clearButtonClass = clsx(
|
|
51
|
+
"text-sm",
|
|
52
|
+
"text-base-500 hover:text-base-700",
|
|
53
|
+
"dark:text-base-400 dark:hover:text-base-300",
|
|
54
|
+
);
|
|
55
|
+
const emptyClass = clsx("py-8 text-center", "text-base-500 dark:text-base-400");
|
|
56
|
+
const listClass = clsx("flex flex-col", "gap-2");
|
|
57
|
+
const itemBaseClass = clsx("rounded-lg", "border-l-4", "p-2");
|
|
58
|
+
const itemMessageClass = clsx("text-sm", "text-base-600 dark:text-base-400");
|
|
59
|
+
const itemTimeClass = clsx("mt-1 text-xs", "text-base-400");
|
|
60
|
+
|
|
61
|
+
export const NotificationBell: Component<NotificationBellProps> = (props) => {
|
|
62
|
+
const notification = useNotification();
|
|
63
|
+
const [open, setOpen] = createSignal(false);
|
|
64
|
+
let buttonRef: HTMLButtonElement | undefined;
|
|
65
|
+
|
|
66
|
+
const handleClear = () => {
|
|
67
|
+
notification.clear();
|
|
68
|
+
setOpen(false);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const handleOpenChange = (isOpen: boolean) => {
|
|
72
|
+
setOpen(isOpen);
|
|
73
|
+
if (isOpen) {
|
|
74
|
+
notification.markAllAsRead();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<>
|
|
80
|
+
<Show when={props.showBanner !== false}>
|
|
81
|
+
<NotificationBanner />
|
|
82
|
+
</Show>
|
|
83
|
+
|
|
84
|
+
<button
|
|
85
|
+
ref={(el) => (buttonRef = el)}
|
|
86
|
+
type="button"
|
|
87
|
+
data-notification-bell
|
|
88
|
+
class={buttonClass}
|
|
89
|
+
aria-label={`알림 ${notification.unreadCount()}개`}
|
|
90
|
+
aria-haspopup="true"
|
|
91
|
+
aria-expanded={open()}
|
|
92
|
+
onClick={() => handleOpenChange(!open())}
|
|
93
|
+
>
|
|
94
|
+
<Icon icon={IconBell} />
|
|
95
|
+
<Show when={notification.unreadCount() > 0}>
|
|
96
|
+
<span data-notification-badge aria-hidden="true" class={badgeClass}>
|
|
97
|
+
{notification.unreadCount()}
|
|
98
|
+
</span>
|
|
99
|
+
</Show>
|
|
100
|
+
</button>
|
|
101
|
+
|
|
102
|
+
<Dropdown triggerRef={() => buttonRef} open={open()} onOpenChange={handleOpenChange} maxHeight={400} class="w-80">
|
|
103
|
+
<div class="p-2">
|
|
104
|
+
<div class={dropdownHeaderClass}>
|
|
105
|
+
<span class="font-semibold">알림</span>
|
|
106
|
+
<Show when={notification.items().length > 0}>
|
|
107
|
+
<button type="button" data-notification-clear class={clearButtonClass} onClick={handleClear}>
|
|
108
|
+
전체 삭제
|
|
109
|
+
</button>
|
|
110
|
+
</Show>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<Show when={notification.items().length > 0} fallback={<div class={emptyClass}>알림이 없습니다</div>}>
|
|
114
|
+
<div class={listClass}>
|
|
115
|
+
<For each={[...notification.items()].reverse()}>
|
|
116
|
+
{(item) => (
|
|
117
|
+
<div class={clsx(itemBaseClass, themeStyles[item.theme])}>
|
|
118
|
+
<div class="font-medium">{item.title}</div>
|
|
119
|
+
<Show when={item.message}>
|
|
120
|
+
<div class={itemMessageClass}>{item.message}</div>
|
|
121
|
+
</Show>
|
|
122
|
+
<div class={itemTimeClass}>{item.createdAt.toLocaleTimeString()}</div>
|
|
123
|
+
</div>
|
|
124
|
+
)}
|
|
125
|
+
</For>
|
|
126
|
+
</div>
|
|
127
|
+
</Show>
|
|
128
|
+
</div>
|
|
129
|
+
</Dropdown>
|
|
130
|
+
</>
|
|
131
|
+
);
|
|
132
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { createContext, useContext, type Accessor } from "solid-js";
|
|
2
|
+
|
|
3
|
+
export type NotificationTheme = "info" | "success" | "warning" | "danger";
|
|
4
|
+
|
|
5
|
+
export interface NotificationAction {
|
|
6
|
+
label: string;
|
|
7
|
+
onClick: () => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface NotificationItem {
|
|
11
|
+
id: string;
|
|
12
|
+
theme: NotificationTheme;
|
|
13
|
+
title: string;
|
|
14
|
+
message?: string;
|
|
15
|
+
action?: NotificationAction;
|
|
16
|
+
createdAt: Date;
|
|
17
|
+
read: boolean;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface NotificationOptions {
|
|
21
|
+
action?: NotificationAction;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface NotificationUpdateOptions {
|
|
25
|
+
renotify?: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface NotificationContextValue {
|
|
29
|
+
// 상태
|
|
30
|
+
items: Accessor<NotificationItem[]>;
|
|
31
|
+
unreadCount: Accessor<number>;
|
|
32
|
+
latestUnread: Accessor<NotificationItem | undefined>;
|
|
33
|
+
|
|
34
|
+
// 알림 발생 (id 반환)
|
|
35
|
+
info: (title: string, message?: string, options?: NotificationOptions) => string;
|
|
36
|
+
success: (title: string, message?: string, options?: NotificationOptions) => string;
|
|
37
|
+
warning: (title: string, message?: string, options?: NotificationOptions) => string;
|
|
38
|
+
danger: (title: string, message?: string, options?: NotificationOptions) => string;
|
|
39
|
+
|
|
40
|
+
// 알림 수정
|
|
41
|
+
update: (
|
|
42
|
+
id: string,
|
|
43
|
+
updates: Partial<Pick<NotificationItem, "title" | "message" | "theme" | "action">>,
|
|
44
|
+
options?: NotificationUpdateOptions,
|
|
45
|
+
) => void;
|
|
46
|
+
|
|
47
|
+
// 알림 삭제
|
|
48
|
+
remove: (id: string) => void;
|
|
49
|
+
|
|
50
|
+
// 관리
|
|
51
|
+
markAsRead: (id: string) => void;
|
|
52
|
+
markAllAsRead: () => void;
|
|
53
|
+
dismissBanner: () => void;
|
|
54
|
+
clear: () => void;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const NotificationContext = createContext<NotificationContextValue>();
|
|
58
|
+
|
|
59
|
+
export function useNotification(): NotificationContextValue {
|
|
60
|
+
const context = useContext(NotificationContext);
|
|
61
|
+
if (!context) {
|
|
62
|
+
throw new Error("useNotification은 NotificationProvider 내부에서만 사용할 수 있습니다");
|
|
63
|
+
}
|
|
64
|
+
return context;
|
|
65
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { type ParentComponent, createSignal, createMemo, Show } from "solid-js";
|
|
2
|
+
import {
|
|
3
|
+
NotificationContext,
|
|
4
|
+
type NotificationContextValue,
|
|
5
|
+
type NotificationItem,
|
|
6
|
+
type NotificationOptions,
|
|
7
|
+
type NotificationTheme,
|
|
8
|
+
type NotificationUpdateOptions,
|
|
9
|
+
} from "./NotificationContext";
|
|
10
|
+
|
|
11
|
+
const MAX_ITEMS = 50;
|
|
12
|
+
|
|
13
|
+
export const NotificationProvider: ParentComponent = (props) => {
|
|
14
|
+
const [items, setItems] = createSignal<NotificationItem[]>([]);
|
|
15
|
+
const [dismissedBannerId, setDismissedBannerId] = createSignal<string | null>(null);
|
|
16
|
+
|
|
17
|
+
const unreadItems = createMemo(() => items().filter((i) => !i.read));
|
|
18
|
+
const unreadCount = createMemo(() => unreadItems().length);
|
|
19
|
+
|
|
20
|
+
const latestUnread = createMemo(() => {
|
|
21
|
+
const latest = unreadItems().at(-1);
|
|
22
|
+
if (!latest) return undefined;
|
|
23
|
+
return latest.id === dismissedBannerId() ? undefined : latest;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const addNotification = (
|
|
27
|
+
theme: NotificationTheme,
|
|
28
|
+
title: string,
|
|
29
|
+
message?: string,
|
|
30
|
+
options?: NotificationOptions,
|
|
31
|
+
): string => {
|
|
32
|
+
const id = crypto.randomUUID();
|
|
33
|
+
const newItem: NotificationItem = {
|
|
34
|
+
id,
|
|
35
|
+
theme,
|
|
36
|
+
title,
|
|
37
|
+
message,
|
|
38
|
+
action: options?.action,
|
|
39
|
+
createdAt: new Date(),
|
|
40
|
+
read: false,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
setItems((prev) => {
|
|
44
|
+
const updated = [...prev, newItem];
|
|
45
|
+
if (updated.length > MAX_ITEMS) {
|
|
46
|
+
return updated.slice(-MAX_ITEMS);
|
|
47
|
+
}
|
|
48
|
+
return updated;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
setDismissedBannerId(null);
|
|
52
|
+
return id;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const info = (title: string, message?: string, options?: NotificationOptions): string => {
|
|
56
|
+
return addNotification("info", title, message, options);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const success = (title: string, message?: string, options?: NotificationOptions): string => {
|
|
60
|
+
return addNotification("success", title, message, options);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const warning = (title: string, message?: string, options?: NotificationOptions): string => {
|
|
64
|
+
return addNotification("warning", title, message, options);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const danger = (title: string, message?: string, options?: NotificationOptions): string => {
|
|
68
|
+
return addNotification("danger", title, message, options);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const update = (
|
|
72
|
+
id: string,
|
|
73
|
+
updates: Partial<Pick<NotificationItem, "title" | "message" | "theme" | "action">>,
|
|
74
|
+
options?: NotificationUpdateOptions,
|
|
75
|
+
): void => {
|
|
76
|
+
setItems((prev) =>
|
|
77
|
+
prev.map((item) => {
|
|
78
|
+
if (item.id !== id) return item;
|
|
79
|
+
|
|
80
|
+
const updated = { ...item, ...updates };
|
|
81
|
+
|
|
82
|
+
// renotify: 읽은 상태면 다시 읽지 않음으로 변경
|
|
83
|
+
if (options?.renotify && item.read) {
|
|
84
|
+
updated.read = false;
|
|
85
|
+
// 배너가 dismiss된 상태에서 renotify되면 다시 보이게
|
|
86
|
+
setDismissedBannerId(null);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return updated;
|
|
90
|
+
}),
|
|
91
|
+
);
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const remove = (id: string): void => {
|
|
95
|
+
setItems((prev) => prev.filter((item) => item.id !== id));
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const markAsRead = (id: string) => {
|
|
99
|
+
setItems((prev) => prev.map((item) => (item.id === id ? { ...item, read: true } : item)));
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
const markAllAsRead = () => {
|
|
103
|
+
setItems((prev) => prev.map((item) => ({ ...item, read: true })));
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const dismissBanner = () => {
|
|
107
|
+
const latest = latestUnread();
|
|
108
|
+
if (latest) {
|
|
109
|
+
setDismissedBannerId(latest.id);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const clear = () => {
|
|
114
|
+
setItems([]);
|
|
115
|
+
setDismissedBannerId(null);
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const contextValue: NotificationContextValue = {
|
|
119
|
+
items,
|
|
120
|
+
unreadCount,
|
|
121
|
+
latestUnread,
|
|
122
|
+
info,
|
|
123
|
+
success,
|
|
124
|
+
warning,
|
|
125
|
+
danger,
|
|
126
|
+
update,
|
|
127
|
+
remove,
|
|
128
|
+
markAsRead,
|
|
129
|
+
markAllAsRead,
|
|
130
|
+
dismissBanner,
|
|
131
|
+
clear,
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
return (
|
|
135
|
+
<NotificationContext.Provider value={contextValue}>
|
|
136
|
+
{/* 스크린 리더용 Live Region */}
|
|
137
|
+
<div role="status" aria-live="polite" aria-atomic="true" class="sr-only">
|
|
138
|
+
<Show when={latestUnread()}>{(item) => `알림: ${item().title} ${item().message ?? ""}`}</Show>
|
|
139
|
+
</div>
|
|
140
|
+
{props.children}
|
|
141
|
+
</NotificationContext.Provider>
|
|
142
|
+
);
|
|
143
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { JSX, ParentProps } from "solid-js";
|
|
2
|
+
|
|
3
|
+
// --- Print.Page ---
|
|
4
|
+
|
|
5
|
+
function PrintPage(props: ParentProps) {
|
|
6
|
+
return <div data-print-page>{props.children}</div>;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// --- Print ---
|
|
10
|
+
|
|
11
|
+
interface PrintComponent {
|
|
12
|
+
(props: ParentProps): JSX.Element;
|
|
13
|
+
Page: typeof PrintPage;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const PrintInner = (props: ParentProps) => {
|
|
17
|
+
return <>{props.children}</>;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const Print = PrintInner as unknown as PrintComponent;
|
|
21
|
+
Print.Page = PrintPage;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext, useContext } from "solid-js";
|
|
2
|
+
|
|
3
|
+
export interface PrintInstance {
|
|
4
|
+
ready: () => void;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const PrintInstanceContext = createContext<PrintInstance>();
|
|
8
|
+
|
|
9
|
+
export function usePrintInstance(): PrintInstance | undefined {
|
|
10
|
+
return useContext(PrintInstanceContext);
|
|
11
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { type JSX, type ParentComponent, splitProps } from "solid-js";
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
import { ripple } from "../../directives/ripple";
|
|
5
|
+
import { themeTokens, type SemanticTheme, type ComponentSize, disabledOpacity } from "../../styles/tokens.styles";
|
|
6
|
+
|
|
7
|
+
// Directive 사용 선언 (TypeScript용)
|
|
8
|
+
void ripple;
|
|
9
|
+
|
|
10
|
+
type ButtonTheme = SemanticTheme;
|
|
11
|
+
type ButtonVariant = "solid" | "outline" | "ghost";
|
|
12
|
+
type ButtonSize = ComponentSize;
|
|
13
|
+
|
|
14
|
+
const baseClass = clsx(
|
|
15
|
+
"inline-flex items-center",
|
|
16
|
+
"px-2 py-1",
|
|
17
|
+
"font-bold",
|
|
18
|
+
"justify-center",
|
|
19
|
+
"text-center",
|
|
20
|
+
"cursor-pointer",
|
|
21
|
+
"transition-colors",
|
|
22
|
+
"rounded",
|
|
23
|
+
"focus:outline-none",
|
|
24
|
+
"focus-visible:ring-2",
|
|
25
|
+
"border border-transparent",
|
|
26
|
+
"min-w-8",
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
const themeClasses = Object.fromEntries(
|
|
30
|
+
Object.entries(themeTokens).map(([theme, t]) => [
|
|
31
|
+
theme,
|
|
32
|
+
{
|
|
33
|
+
solid: clsx(t.solid, t.solidHover),
|
|
34
|
+
outline: clsx("bg-transparent", t.hoverBg, t.text, t.border),
|
|
35
|
+
ghost: clsx("bg-transparent", t.hoverBg, t.text),
|
|
36
|
+
},
|
|
37
|
+
]),
|
|
38
|
+
) as Record<ButtonTheme, Record<ButtonVariant, string>>;
|
|
39
|
+
|
|
40
|
+
const sizeClasses: Record<ButtonSize, string> = {
|
|
41
|
+
sm: clsx("min-w-6 px-1 py-0"),
|
|
42
|
+
lg: clsx("min-w-9 px-3 py-1.5"),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export interface ButtonProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
46
|
+
theme?: ButtonTheme;
|
|
47
|
+
variant?: ButtonVariant;
|
|
48
|
+
size?: ButtonSize;
|
|
49
|
+
inset?: boolean;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export const Button: ParentComponent<ButtonProps> = (props) => {
|
|
53
|
+
const [local, rest] = splitProps(props, [
|
|
54
|
+
"children",
|
|
55
|
+
"class",
|
|
56
|
+
"type",
|
|
57
|
+
"theme",
|
|
58
|
+
"variant",
|
|
59
|
+
"size",
|
|
60
|
+
"inset",
|
|
61
|
+
"disabled",
|
|
62
|
+
]);
|
|
63
|
+
|
|
64
|
+
const getClassName = () => {
|
|
65
|
+
const theme = local.theme ?? "base";
|
|
66
|
+
const variant = local.variant ?? "outline";
|
|
67
|
+
|
|
68
|
+
return twMerge(
|
|
69
|
+
baseClass,
|
|
70
|
+
themeClasses[theme][variant],
|
|
71
|
+
local.size && sizeClasses[local.size],
|
|
72
|
+
local.inset && "rounded-none border-none",
|
|
73
|
+
local.disabled && disabledOpacity,
|
|
74
|
+
local.class,
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<button
|
|
80
|
+
{...rest}
|
|
81
|
+
data-button
|
|
82
|
+
use:ripple={!local.disabled}
|
|
83
|
+
type={local.type ?? "button"}
|
|
84
|
+
class={getClassName()}
|
|
85
|
+
disabled={local.disabled}
|
|
86
|
+
>
|
|
87
|
+
{local.children}
|
|
88
|
+
</button>
|
|
89
|
+
);
|
|
90
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import clsx from "clsx";
|
|
2
|
+
import { twMerge } from "tailwind-merge";
|
|
3
|
+
import { borderDefault, type ComponentSize, paddingLg, paddingSm } from "../../styles/tokens.styles";
|
|
4
|
+
import { insetBase, insetFocusOutlineSelf } from "../../styles/patterns.styles";
|
|
5
|
+
|
|
6
|
+
export const triggerBaseClass = clsx(
|
|
7
|
+
"inline-flex items-center gap-2",
|
|
8
|
+
"w-40",
|
|
9
|
+
"border",
|
|
10
|
+
borderDefault,
|
|
11
|
+
"rounded",
|
|
12
|
+
"bg-transparent",
|
|
13
|
+
"hover:bg-base-100 dark:hover:bg-base-700",
|
|
14
|
+
"cursor-pointer",
|
|
15
|
+
"focus:outline-none",
|
|
16
|
+
"focus-within:border-primary-400 dark:focus-within:border-primary-400",
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export const triggerDisabledClass = clsx(
|
|
20
|
+
"cursor-default bg-base-200 text-base-400 dark:bg-base-800 dark:text-base-500",
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
export const triggerInsetClass = clsx(insetBase, "bg-transparent", insetFocusOutlineSelf);
|
|
24
|
+
|
|
25
|
+
export const triggerSizeClasses: Record<ComponentSize, string> = {
|
|
26
|
+
sm: clsx("gap-1.5", paddingSm),
|
|
27
|
+
lg: clsx("gap-3", paddingLg),
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const chevronWrapperClass = clsx("opacity-30", "hover:opacity-100");
|
|
31
|
+
|
|
32
|
+
/** Select/Combobox 공유 트리거 클래스 빌더 */
|
|
33
|
+
export function getTriggerClass(options: {
|
|
34
|
+
size?: ComponentSize;
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
inset?: boolean;
|
|
37
|
+
class?: string;
|
|
38
|
+
}): string {
|
|
39
|
+
return twMerge(
|
|
40
|
+
triggerBaseClass,
|
|
41
|
+
"px-2 py-1",
|
|
42
|
+
options.size && triggerSizeClasses[options.size],
|
|
43
|
+
options.disabled && triggerDisabledClass,
|
|
44
|
+
options.inset && triggerInsetClass,
|
|
45
|
+
options.class,
|
|
46
|
+
);
|
|
47
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { type Component, type JSX, splitProps, Switch, Match } from "solid-js";
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
import { IconSun, IconMoon, IconDeviceDesktop } from "@tabler/icons-solidjs";
|
|
5
|
+
import { useTheme, type ThemeMode } from "../../providers/ThemeContext";
|
|
6
|
+
import { Icon } from "../display/Icon";
|
|
7
|
+
import { ripple } from "../../directives/ripple";
|
|
8
|
+
|
|
9
|
+
void ripple;
|
|
10
|
+
|
|
11
|
+
const baseClass = clsx(
|
|
12
|
+
"inline-flex",
|
|
13
|
+
"items-center",
|
|
14
|
+
"justify-center",
|
|
15
|
+
"cursor-pointer",
|
|
16
|
+
"rounded",
|
|
17
|
+
"transition-colors",
|
|
18
|
+
"text-base-500 dark:text-base-400",
|
|
19
|
+
"hover:bg-base-200 dark:hover:bg-base-700",
|
|
20
|
+
"focus:outline-none",
|
|
21
|
+
"focus-visible:ring-2",
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const sizeClasses: Record<"sm" | "lg", string> = {
|
|
25
|
+
sm: clsx("p-1"),
|
|
26
|
+
lg: clsx("p-2"),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const iconSizes: Record<"sm" | "lg", string> = {
|
|
30
|
+
sm: "1em",
|
|
31
|
+
lg: "1.5em",
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const modeLabels: Record<ThemeMode, string> = {
|
|
35
|
+
light: "라이트 모드",
|
|
36
|
+
system: "시스템 설정",
|
|
37
|
+
dark: "다크 모드",
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export interface ThemeToggleProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
|
|
41
|
+
/** 버튼 크기 */
|
|
42
|
+
size?: "sm" | "lg";
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 테마 토글 버튼 컴포넌트
|
|
47
|
+
*
|
|
48
|
+
* @remarks
|
|
49
|
+
* - ThemeProvider 내부에서 사용해야 함
|
|
50
|
+
* - 클릭 시 light → system → dark → light 순환
|
|
51
|
+
* - 현재 모드에 맞는 아이콘 표시 (☀️ / 💻 / 🌙)
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```tsx
|
|
55
|
+
* // 기본 사용
|
|
56
|
+
* <ThemeToggle />
|
|
57
|
+
*
|
|
58
|
+
* // 크기 조절
|
|
59
|
+
* <ThemeToggle size="sm" />
|
|
60
|
+
* <ThemeToggle size="lg" />
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export const ThemeToggle: Component<ThemeToggleProps> = (props) => {
|
|
64
|
+
const [local, rest] = splitProps(props, ["class", "size"]);
|
|
65
|
+
|
|
66
|
+
const { mode, cycleMode } = useTheme();
|
|
67
|
+
|
|
68
|
+
const getClassName = () => twMerge(baseClass, "p-1.5", local.size && sizeClasses[local.size], local.class);
|
|
69
|
+
|
|
70
|
+
const iconSize = () => (local.size ? iconSizes[local.size] : "1.25em");
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<button
|
|
74
|
+
{...rest}
|
|
75
|
+
data-theme-toggle
|
|
76
|
+
use:ripple
|
|
77
|
+
type="button"
|
|
78
|
+
class={getClassName()}
|
|
79
|
+
onClick={cycleMode}
|
|
80
|
+
title={modeLabels[mode()]}
|
|
81
|
+
aria-label={modeLabels[mode()]}
|
|
82
|
+
>
|
|
83
|
+
<Switch>
|
|
84
|
+
<Match when={mode() === "light"}>
|
|
85
|
+
<Icon icon={IconSun} size={iconSize()} />
|
|
86
|
+
</Match>
|
|
87
|
+
<Match when={mode() === "system"}>
|
|
88
|
+
<Icon icon={IconDeviceDesktop} size={iconSize()} />
|
|
89
|
+
</Match>
|
|
90
|
+
<Match when={mode() === "dark"}>
|
|
91
|
+
<Icon icon={IconMoon} size={iconSize()} />
|
|
92
|
+
</Match>
|
|
93
|
+
</Switch>
|
|
94
|
+
</button>
|
|
95
|
+
);
|
|
96
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import clsx from "clsx";
|
|
2
|
+
import {
|
|
3
|
+
bgSurface,
|
|
4
|
+
borderDefault,
|
|
5
|
+
type ComponentSize,
|
|
6
|
+
disabledOpacity,
|
|
7
|
+
paddingLg,
|
|
8
|
+
paddingSm,
|
|
9
|
+
} from "../../../styles/tokens.styles";
|
|
10
|
+
import { insetBase, insetFocusOutlineSelf } from "../../../styles/patterns.styles";
|
|
11
|
+
|
|
12
|
+
export type CheckboxTheme = "primary" | "info" | "success" | "warning" | "danger";
|
|
13
|
+
export type CheckboxSize = ComponentSize;
|
|
14
|
+
|
|
15
|
+
// wrapper 기본 스타일
|
|
16
|
+
export const checkboxBaseClass = clsx(
|
|
17
|
+
"inline-flex items-center gap-2",
|
|
18
|
+
"whitespace-nowrap",
|
|
19
|
+
"cursor-pointer",
|
|
20
|
+
"px-2 py-1",
|
|
21
|
+
"h-field",
|
|
22
|
+
"border border-transparent",
|
|
23
|
+
"rounded",
|
|
24
|
+
"focus:outline-none",
|
|
25
|
+
"focus-visible:ring-2",
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
// 인디케이터 기본 스타일
|
|
29
|
+
export const indicatorBaseClass = clsx(
|
|
30
|
+
"flex shrink-0 items-center justify-center",
|
|
31
|
+
"size-4",
|
|
32
|
+
"border",
|
|
33
|
+
borderDefault,
|
|
34
|
+
bgSurface,
|
|
35
|
+
"transition-colors",
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
// 테마별 체크 상태
|
|
39
|
+
export const themeCheckedClasses: Record<CheckboxTheme, string> = {
|
|
40
|
+
primary: clsx("border-primary-500 bg-primary-500", "text-white"),
|
|
41
|
+
info: clsx("border-info-500 bg-info-500", "text-white"),
|
|
42
|
+
success: clsx("border-success-500 bg-success-500", "text-white"),
|
|
43
|
+
warning: clsx("border-warning-500 bg-warning-500", "text-white"),
|
|
44
|
+
danger: clsx("border-danger-500 bg-danger-500", "text-white"),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// 사이즈별 스타일
|
|
48
|
+
export const checkboxSizeClasses: Record<CheckboxSize, string> = {
|
|
49
|
+
sm: clsx("h-field-sm", paddingSm),
|
|
50
|
+
lg: clsx("h-field-lg", paddingLg),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// inset 스타일
|
|
54
|
+
export const checkboxInsetClass = clsx("h-field-inset justify-center bg-transparent", insetBase, insetFocusOutlineSelf);
|
|
55
|
+
|
|
56
|
+
// inset 사이즈별 높이 (border 2px 제외)
|
|
57
|
+
export const checkboxInsetSizeHeightClasses: Record<CheckboxSize, string> = {
|
|
58
|
+
sm: "h-field-inset-sm",
|
|
59
|
+
lg: "h-field-inset-lg",
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// inline 스타일
|
|
63
|
+
export const checkboxInlineClass = clsx("!h-auto", "!p-0", "gap-1");
|
|
64
|
+
|
|
65
|
+
// disabled 스타일
|
|
66
|
+
export const checkboxDisabledClass = disabledOpacity;
|