@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,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 문자열 유틸리티 함수
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 한글 조사를 받침에 따라 적절히 반환
|
|
6
|
+
* @param text 텍스트
|
|
7
|
+
* @param type 조사 타입
|
|
8
|
+
* - `"을"`: 을/를
|
|
9
|
+
* - `"은"`: 은/는
|
|
10
|
+
* - `"이"`: 이/가
|
|
11
|
+
* - `"와"`: 과/와
|
|
12
|
+
* - `"랑"`: 이랑/랑
|
|
13
|
+
* - `"로"`: 으로/로
|
|
14
|
+
* - `"라"`: 이라/라
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* getSuffix("사과", "을") // "를"
|
|
18
|
+
* getSuffix("책", "이") // "이"
|
|
19
|
+
*/
|
|
20
|
+
export declare function strGetSuffix(text: string, type: "을" | "은" | "이" | "와" | "랑" | "로" | "라"): string;
|
|
21
|
+
/**
|
|
22
|
+
* 전각(Full-width) 문자를 반각(Half-width) 문자로 변환
|
|
23
|
+
*
|
|
24
|
+
* 변환 대상:
|
|
25
|
+
* - 전각 영문 대문자 (A-Z → A-Z)
|
|
26
|
+
* - 전각 영문 소문자 (a-z → a-z)
|
|
27
|
+
* - 전각 숫자 (0-9 → 0-9)
|
|
28
|
+
* - 전각 공백 ( → 일반 공백)
|
|
29
|
+
* - 전각 괄호 (() → ())
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* replaceSpecialDefaultChar("A123") // "A123"
|
|
33
|
+
* replaceSpecialDefaultChar("(株)") // "(株)"
|
|
34
|
+
*/
|
|
35
|
+
export declare function strReplaceFullWidth(str: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* PascalCase로 변환
|
|
38
|
+
* @example "hello-world" → "HelloWorld"
|
|
39
|
+
* @example "hello_world" → "HelloWorld"
|
|
40
|
+
* @example "hello.world" → "HelloWorld"
|
|
41
|
+
*/
|
|
42
|
+
export declare function strToPascalCase(str: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* camelCase로 변환
|
|
45
|
+
* @example "hello-world" → "helloWorld"
|
|
46
|
+
* @example "hello_world" → "helloWorld"
|
|
47
|
+
* @example "HelloWorld" → "helloWorld"
|
|
48
|
+
*/
|
|
49
|
+
export declare function strToCamelCase(str: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* kebab-case로 변환
|
|
52
|
+
*
|
|
53
|
+
* @example "HelloWorld" → "hello-world"
|
|
54
|
+
* @example "helloWorld" → "hello-world"
|
|
55
|
+
* @example "hello_world" → "hello_world" (소문자만 있으면 변환 안됨)
|
|
56
|
+
* @example "Hello_World" → "hello-_world" (기존 분리자는 유지됨)
|
|
57
|
+
* @example "Hello-World" → "hello--world" (기존 분리자는 유지됨)
|
|
58
|
+
* @example "XMLParser" → "x-m-l-parser" (연속된 대문자는 각각 분리됨)
|
|
59
|
+
*/
|
|
60
|
+
export declare function strToKebabCase(str: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* snake_case로 변환
|
|
63
|
+
*
|
|
64
|
+
* @example "HelloWorld" → "hello_world"
|
|
65
|
+
* @example "helloWorld" → "hello_world"
|
|
66
|
+
* @example "hello-world" → "hello-world" (소문자만 있으면 변환 안됨)
|
|
67
|
+
* @example "Hello-World" → "hello_-world" (기존 분리자는 유지됨)
|
|
68
|
+
* @example "Hello_World" → "hello__world" (기존 분리자는 유지됨)
|
|
69
|
+
* @example "XMLParser" → "x_m_l_parser" (연속된 대문자는 각각 분리됨)
|
|
70
|
+
*/
|
|
71
|
+
export declare function strToSnakeCase(str: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* undefined 또는 빈 문자열 여부 체크 (타입 가드)
|
|
74
|
+
*
|
|
75
|
+
* @param str 체크할 문자열
|
|
76
|
+
* @returns undefined, null, 빈 문자열이면 true
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* const name: string | undefined = getValue();
|
|
80
|
+
* if (strIsNullOrEmpty(name)) {
|
|
81
|
+
* // name: "" | undefined
|
|
82
|
+
* console.log("이름이 비어있습니다");
|
|
83
|
+
* } else {
|
|
84
|
+
* // name: string (비어있지 않은 문자열)
|
|
85
|
+
* console.log(`이름: ${name}`);
|
|
86
|
+
* }
|
|
87
|
+
*/
|
|
88
|
+
export declare function strIsNullOrEmpty(str: string | undefined): str is "" | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* 문자열 특정 위치에 삽입
|
|
91
|
+
*
|
|
92
|
+
* @param str 원본 문자열
|
|
93
|
+
* @param index 삽입할 위치 (0부터 시작)
|
|
94
|
+
* @param insertString 삽입할 문자열
|
|
95
|
+
* @returns 삽입된 새 문자열
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* strInsert("Hello World", 5, ","); // "Hello, World"
|
|
99
|
+
* strInsert("abc", 0, "X"); // "Xabc"
|
|
100
|
+
* strInsert("abc", 3, "X"); // "abcX"
|
|
101
|
+
*/
|
|
102
|
+
export declare function strInsert(str: string, index: number, insertString: string): string;
|
|
103
|
+
//# sourceMappingURL=str.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/utils/str.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAyBhG;AA8ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,IAAI,EAAE,GAAG,SAAS,CAE/E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAElF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 템플릿 문자열 태그 함수들
|
|
3
|
+
* IDE 코드 하이라이팅 지원용 (실제 동작은 문자열 조합 + 들여쓰기 정리)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* JavaScript 코드 하이라이팅용 템플릿 태그
|
|
7
|
+
* @param strings 템플릿 문자열 배열
|
|
8
|
+
* @param values 보간된 값들
|
|
9
|
+
* @returns 들여쓰기가 정리된 문자열
|
|
10
|
+
* @example
|
|
11
|
+
* const code = js`
|
|
12
|
+
* function hello() {
|
|
13
|
+
* return "world";
|
|
14
|
+
* }
|
|
15
|
+
* `;
|
|
16
|
+
*/
|
|
17
|
+
export declare function js(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
18
|
+
/**
|
|
19
|
+
* TypeScript 코드 하이라이팅용 템플릿 태그
|
|
20
|
+
* @param strings 템플릿 문자열 배열
|
|
21
|
+
* @param values 보간된 값들
|
|
22
|
+
* @returns 들여쓰기가 정리된 문자열
|
|
23
|
+
* @example
|
|
24
|
+
* const code = ts`
|
|
25
|
+
* interface User {
|
|
26
|
+
* name: string;
|
|
27
|
+
* age: number;
|
|
28
|
+
* }
|
|
29
|
+
* `;
|
|
30
|
+
*/
|
|
31
|
+
export declare function ts(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
32
|
+
/**
|
|
33
|
+
* HTML 마크업 하이라이팅용 템플릿 태그
|
|
34
|
+
* @param strings 템플릿 문자열 배열
|
|
35
|
+
* @param values 보간된 값들
|
|
36
|
+
* @returns 들여쓰기가 정리된 문자열
|
|
37
|
+
* @example
|
|
38
|
+
* const markup = html`
|
|
39
|
+
* <div class="container">
|
|
40
|
+
* <span>${name}</span>
|
|
41
|
+
* </div>
|
|
42
|
+
* `;
|
|
43
|
+
*/
|
|
44
|
+
export declare function html(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
45
|
+
/**
|
|
46
|
+
* MSSQL T-SQL 하이라이팅용 템플릿 태그
|
|
47
|
+
* @param strings 템플릿 문자열 배열
|
|
48
|
+
* @param values 보간된 값들
|
|
49
|
+
* @returns 들여쓰기가 정리된 문자열
|
|
50
|
+
* @example
|
|
51
|
+
* const query = tsql`
|
|
52
|
+
* SELECT TOP 10 *
|
|
53
|
+
* FROM Users
|
|
54
|
+
* WHERE Name LIKE '%${keyword}%'
|
|
55
|
+
* `;
|
|
56
|
+
*/
|
|
57
|
+
export declare function tsql(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
58
|
+
/**
|
|
59
|
+
* MySQL SQL 하이라이팅용 템플릿 태그
|
|
60
|
+
* @param strings 템플릿 문자열 배열
|
|
61
|
+
* @param values 보간된 값들
|
|
62
|
+
* @returns 들여쓰기가 정리된 문자열
|
|
63
|
+
* @example
|
|
64
|
+
* const query = mysql`
|
|
65
|
+
* SELECT *
|
|
66
|
+
* FROM users
|
|
67
|
+
* LIMIT 10
|
|
68
|
+
* `;
|
|
69
|
+
*/
|
|
70
|
+
export declare function mysql(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
71
|
+
/**
|
|
72
|
+
* PostgreSQL SQL 하이라이팅용 템플릿 태그
|
|
73
|
+
* @param strings 템플릿 문자열 배열
|
|
74
|
+
* @param values 보간된 값들
|
|
75
|
+
* @returns 들여쓰기가 정리된 문자열
|
|
76
|
+
* @example
|
|
77
|
+
* const query = pgsql`
|
|
78
|
+
* SELECT *
|
|
79
|
+
* FROM users
|
|
80
|
+
* OFFSET 0 LIMIT 10
|
|
81
|
+
* `;
|
|
82
|
+
*/
|
|
83
|
+
export declare function pgsql(strings: TemplateStringsArray, ...values: unknown[]): string;
|
|
84
|
+
//# sourceMappingURL=template-strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-strings.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/utils/template-strings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAE9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAE9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAEjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAEjF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker 간 전송 가능한 객체 타입
|
|
3
|
+
*
|
|
4
|
+
* 이 코드에서는 ArrayBuffer만 사용됩니다.
|
|
5
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Transferable_objects
|
|
6
|
+
*/
|
|
7
|
+
type Transferable = ArrayBuffer;
|
|
8
|
+
/**
|
|
9
|
+
* Transferable 변환 유틸리티 함수
|
|
10
|
+
*
|
|
11
|
+
* Worker 간 데이터 전송을 위한 직렬화/역직렬화를 수행합니다.
|
|
12
|
+
* structuredClone이 지원하지 않는 커스텀 타입들을 처리합니다.
|
|
13
|
+
*
|
|
14
|
+
* 지원 타입:
|
|
15
|
+
* - Date, DateTime, DateOnly, Time, Uuid, RegExp
|
|
16
|
+
* - Error (cause, code, detail 포함)
|
|
17
|
+
* - Uint8Array (다른 TypedArray는 미지원, 일반 객체로 처리됨)
|
|
18
|
+
* - Array, Map, Set, 일반 객체
|
|
19
|
+
*
|
|
20
|
+
* @note 순환 참조가 있으면 transferableEncode 시 TypeError 발생 (경로 정보 포함)
|
|
21
|
+
* @note 동일 객체가 여러 곳에서 참조되면 캐시된 인코딩 결과를 재사용합니다
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // Worker로 데이터 전송
|
|
25
|
+
* const { result, transferList } = transferableEncode(data);
|
|
26
|
+
* worker.postMessage(result, transferList);
|
|
27
|
+
*
|
|
28
|
+
* // Worker에서 데이터 수신
|
|
29
|
+
* const decoded = transferableDecode(event.data);
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* 심플리즘 타입을 사용한 객체를 일반 객체로 변환
|
|
33
|
+
* Worker에 전송할 수 있는 형태로 직렬화
|
|
34
|
+
*
|
|
35
|
+
* @throws 순환 참조 감지 시 TypeError
|
|
36
|
+
*/
|
|
37
|
+
export declare function transferableEncode(obj: unknown): {
|
|
38
|
+
result: unknown;
|
|
39
|
+
transferList: Transferable[];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* serialize 객체를 심플리즘 타입 사용 객체로 변환
|
|
43
|
+
* Worker로부터 받은 데이터를 역직렬화
|
|
44
|
+
*/
|
|
45
|
+
export declare function transferableDecode(obj: unknown): unknown;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=transferable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferable.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/utils/transferable.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,KAAK,YAAY,GAAG,WAAW,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAMA;AAqID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA2ExD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 조건이 참이 될 때까지 대기
|
|
3
|
+
* @param forwarder 조건 함수
|
|
4
|
+
* @param milliseconds 체크 간격 (기본: 100ms)
|
|
5
|
+
* @param maxCount 최대 시도 횟수 (undefined면 무제한)
|
|
6
|
+
*
|
|
7
|
+
* @note 조건이 첫 번째 호출에서 true면 즉시 반환됩니다.
|
|
8
|
+
* @example
|
|
9
|
+
* // maxCount=3: 최대 3번 조건 확인 후 모두 false면 TimeoutError
|
|
10
|
+
* await waitUntil(() => someCondition, 100, 3);
|
|
11
|
+
* @throws TimeoutError 최대 시도 횟수 초과 시
|
|
12
|
+
*/
|
|
13
|
+
export declare function waitUntil(forwarder: () => boolean | Promise<boolean>, milliseconds?: number, maxCount?: number): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* 지정된 시간만큼 대기
|
|
16
|
+
* @param millisecond 대기 시간 (ms)
|
|
17
|
+
*/
|
|
18
|
+
export declare function waitTime(millisecond: number): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/utils/wait.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XML 변환 유틸리티
|
|
3
|
+
*/
|
|
4
|
+
import type { XmlBuilderOptions } from "fast-xml-parser";
|
|
5
|
+
/**
|
|
6
|
+
* XML 문자열을 객체로 파싱
|
|
7
|
+
* @param str XML 문자열
|
|
8
|
+
* @param options 옵션
|
|
9
|
+
* @param options.stripTagPrefix 태그 prefix 제거 여부 (namespace)
|
|
10
|
+
* @returns 파싱된 객체. 구조:
|
|
11
|
+
* - 속성: `$` 객체에 그룹화
|
|
12
|
+
* - 텍스트 노드: `_` 키에 저장
|
|
13
|
+
* - 자식 요소: 배열로 변환 (루트 요소 제외)
|
|
14
|
+
* @example
|
|
15
|
+
* xmlParse('<root id="1"><item>hello</item></root>');
|
|
16
|
+
* // { root: { $: { id: "1" }, item: [{ _: "hello" }] } }
|
|
17
|
+
*/
|
|
18
|
+
export declare function xmlParse(str: string, options?: {
|
|
19
|
+
stripTagPrefix?: boolean;
|
|
20
|
+
}): unknown;
|
|
21
|
+
/**
|
|
22
|
+
* 객체를 XML 문자열로 직렬화
|
|
23
|
+
* @param obj 직렬화할 객체
|
|
24
|
+
* @param options fast-xml-parser XmlBuilderOptions (선택)
|
|
25
|
+
* @returns XML 문자열
|
|
26
|
+
* @example
|
|
27
|
+
* xmlStringify({
|
|
28
|
+
* root: {
|
|
29
|
+
* $: { id: "1" },
|
|
30
|
+
* item: [{ _: "hello" }, { _: "world" }],
|
|
31
|
+
* },
|
|
32
|
+
* });
|
|
33
|
+
* // '<root id="1"><item>hello</item><item>world</item></root>'
|
|
34
|
+
*/
|
|
35
|
+
export declare function xmlStringify(obj: unknown, options?: XmlBuilderOptions): string;
|
|
36
|
+
//# sourceMappingURL=xml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/utils/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAarF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAS9E"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { Bytes } from "../common.types";
|
|
2
|
+
export interface ZipArchiveProgress {
|
|
3
|
+
fileName: string;
|
|
4
|
+
totalSize: number;
|
|
5
|
+
extractedSize: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* ZIP 아카이브 처리 클래스
|
|
9
|
+
*
|
|
10
|
+
* ZIP 파일의 읽기, 쓰기, 압축/해제를 처리합니다.
|
|
11
|
+
* 내부 캐시를 사용하여 동일 파일의 중복 압축 해제를 방지합니다.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // ZIP 파일 읽기
|
|
15
|
+
* await using archive = new ZipArchive(zipBytes);
|
|
16
|
+
* const content = await archive.get("file.txt");
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // ZIP 파일 생성
|
|
20
|
+
* await using archive = new ZipArchive();
|
|
21
|
+
* archive.write("file.txt", textBytes);
|
|
22
|
+
* archive.write("data.json", jsonBytes);
|
|
23
|
+
* const zipBytes = await archive.compress();
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // 전체 압축 해제 (진행률 표시)
|
|
27
|
+
* await using archive = new ZipArchive(zipBytes);
|
|
28
|
+
* const files = await archive.extractAll((progress) => {
|
|
29
|
+
* console.log(`${progress.fileName}: ${progress.extractedSize}/${progress.totalSize}`);
|
|
30
|
+
* });
|
|
31
|
+
*/
|
|
32
|
+
export declare class ZipArchive {
|
|
33
|
+
private readonly _reader?;
|
|
34
|
+
private readonly _cache;
|
|
35
|
+
private _entries?;
|
|
36
|
+
/**
|
|
37
|
+
* ZipArchive 생성
|
|
38
|
+
* @param data ZIP 데이터 (생략 시 새 아카이브 생성)
|
|
39
|
+
*/
|
|
40
|
+
constructor(data?: Blob | Bytes);
|
|
41
|
+
private _getEntries;
|
|
42
|
+
/**
|
|
43
|
+
* 모든 파일을 압축 해제
|
|
44
|
+
* @param progressCallback 진행률 콜백
|
|
45
|
+
*/
|
|
46
|
+
extractAll(progressCallback?: (progress: ZipArchiveProgress) => void): Promise<Map<string, Bytes | undefined>>;
|
|
47
|
+
/**
|
|
48
|
+
* 특정 파일 압축 해제
|
|
49
|
+
* @param fileName 파일 이름
|
|
50
|
+
*/
|
|
51
|
+
get(fileName: string): Promise<Bytes | undefined>;
|
|
52
|
+
/**
|
|
53
|
+
* 파일 존재 여부 확인
|
|
54
|
+
* @param fileName 파일 이름
|
|
55
|
+
*/
|
|
56
|
+
exists(fileName: string): Promise<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* 파일 쓰기 (캐시에 저장)
|
|
59
|
+
* @param fileName 파일 이름
|
|
60
|
+
* @param bytes 파일 내용
|
|
61
|
+
*/
|
|
62
|
+
write(fileName: string, bytes: Bytes): void;
|
|
63
|
+
/**
|
|
64
|
+
* 캐시된 파일들을 ZIP으로 압축
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* 내부적으로 `extractAll()`을 호출하여 모든 파일을 메모리에 로드한 후 압축합니다.
|
|
68
|
+
* 대용량 ZIP 파일의 경우 메모리 사용량에 주의가 필요합니다.
|
|
69
|
+
*/
|
|
70
|
+
compress(): Promise<Bytes>;
|
|
71
|
+
/**
|
|
72
|
+
* 리더 닫기 및 캐시 정리
|
|
73
|
+
*/
|
|
74
|
+
close(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* await using 지원
|
|
77
|
+
*/
|
|
78
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=sd-zip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sd-zip.d.ts","sourceRoot":"","sources":["../../../../../core-common/src/zip/sd-zip.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,CAA6D;IAE9E;;;OAGG;gBACS,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK;YAUjB,WAAW;IAQzB;;;OAGG;IACG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;IAkDpH;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAwBvD;;;OAGG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhD;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAM3C;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAiBhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7C"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { onCleanup } from "solid-js";
|
|
2
|
+
function ripple(el, accessor) {
|
|
3
|
+
let containerEl;
|
|
4
|
+
let indicatorEl;
|
|
5
|
+
let rafId;
|
|
6
|
+
let originalPosition;
|
|
7
|
+
let positionApplied = false;
|
|
8
|
+
const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
9
|
+
const ensureContainer = () => {
|
|
10
|
+
if (containerEl) return containerEl;
|
|
11
|
+
containerEl = document.createElement("div");
|
|
12
|
+
containerEl.style.cssText = "position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; pointer-events: none; border-radius: inherit;";
|
|
13
|
+
el.appendChild(containerEl);
|
|
14
|
+
return containerEl;
|
|
15
|
+
};
|
|
16
|
+
const onPointerDown = (event) => {
|
|
17
|
+
if (!accessor()) return;
|
|
18
|
+
if (prefersReducedMotion.matches) return;
|
|
19
|
+
if (getComputedStyle(el).position === "static") {
|
|
20
|
+
if (!positionApplied) originalPosition = el.style.position;
|
|
21
|
+
el.style.position = "relative";
|
|
22
|
+
positionApplied = true;
|
|
23
|
+
}
|
|
24
|
+
const container = ensureContainer();
|
|
25
|
+
if (indicatorEl) {
|
|
26
|
+
indicatorEl.remove();
|
|
27
|
+
indicatorEl = void 0;
|
|
28
|
+
}
|
|
29
|
+
const rect = el.getBoundingClientRect();
|
|
30
|
+
const x = event.clientX - rect.left;
|
|
31
|
+
const y = event.clientY - rect.top;
|
|
32
|
+
const maxDist = Math.max(
|
|
33
|
+
Math.hypot(x, y),
|
|
34
|
+
Math.hypot(rect.width - x, y),
|
|
35
|
+
Math.hypot(x, rect.height - y),
|
|
36
|
+
Math.hypot(rect.width - x, rect.height - y)
|
|
37
|
+
);
|
|
38
|
+
const size = maxDist * 2;
|
|
39
|
+
indicatorEl = document.createElement("div");
|
|
40
|
+
indicatorEl.classList.add(
|
|
41
|
+
"absolute",
|
|
42
|
+
"pointer-events-none",
|
|
43
|
+
"rounded-full",
|
|
44
|
+
"bg-black/20",
|
|
45
|
+
"dark:bg-white/20",
|
|
46
|
+
"transition-[transform,opacity]",
|
|
47
|
+
"duration-500",
|
|
48
|
+
"ease-in-out"
|
|
49
|
+
);
|
|
50
|
+
Object.assign(indicatorEl.style, {
|
|
51
|
+
width: `${size}px`,
|
|
52
|
+
height: `${size}px`,
|
|
53
|
+
top: `${y - size / 2}px`,
|
|
54
|
+
left: `${x - size / 2}px`,
|
|
55
|
+
transform: "scale(0)",
|
|
56
|
+
opacity: "1"
|
|
57
|
+
});
|
|
58
|
+
indicatorEl.addEventListener("transitionend", (e) => {
|
|
59
|
+
if (e.propertyName === "opacity" && indicatorEl && indicatorEl.style.opacity === "0") {
|
|
60
|
+
indicatorEl.remove();
|
|
61
|
+
indicatorEl = void 0;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
container.appendChild(indicatorEl);
|
|
65
|
+
rafId = requestAnimationFrame(() => {
|
|
66
|
+
rafId = void 0;
|
|
67
|
+
if (indicatorEl) {
|
|
68
|
+
indicatorEl.style.transform = "scale(1)";
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const onPointerUp = () => {
|
|
73
|
+
if (indicatorEl) {
|
|
74
|
+
indicatorEl.style.opacity = "0";
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
el.addEventListener("pointerdown", onPointerDown);
|
|
78
|
+
el.addEventListener("pointerup", onPointerUp);
|
|
79
|
+
el.addEventListener("pointercancel", onPointerUp);
|
|
80
|
+
el.addEventListener("pointerleave", onPointerUp);
|
|
81
|
+
onCleanup(() => {
|
|
82
|
+
el.removeEventListener("pointerdown", onPointerDown);
|
|
83
|
+
el.removeEventListener("pointerup", onPointerUp);
|
|
84
|
+
el.removeEventListener("pointercancel", onPointerUp);
|
|
85
|
+
el.removeEventListener("pointerleave", onPointerUp);
|
|
86
|
+
if (rafId !== void 0) {
|
|
87
|
+
cancelAnimationFrame(rafId);
|
|
88
|
+
rafId = void 0;
|
|
89
|
+
}
|
|
90
|
+
if (indicatorEl) {
|
|
91
|
+
indicatorEl.remove();
|
|
92
|
+
indicatorEl = void 0;
|
|
93
|
+
}
|
|
94
|
+
if (containerEl) {
|
|
95
|
+
containerEl.remove();
|
|
96
|
+
containerEl = void 0;
|
|
97
|
+
}
|
|
98
|
+
if (positionApplied && originalPosition !== void 0) {
|
|
99
|
+
el.style.position = originalPosition;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
export {
|
|
104
|
+
ripple
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=ripple.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/directives/ripple.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Accessor } from \"solid-js\";\nimport { onCleanup } from \"solid-js\";\n\ndeclare module \"solid-js\" {\n namespace JSX {\n interface Directives {\n ripple: boolean;\n }\n }\n}\n\n/**\n * \uC778\uD130\uB799\uD2F0\uBE0C \uC694\uC18C\uC5D0 ripple \uD6A8\uACFC\uB97C \uCD94\uAC00\uD558\uB294 directive.\n *\n * @remarks\n * - \uB0B4\uBD80\uC5D0 ripple-container div\uB97C \uC0DD\uC131\uD558\uC5EC overflow: hidden \uC801\uC6A9 (\uBD80\uBAA8 \uC694\uC18C \uC601\uD5A5 \uC5C6\uC74C)\n * - \uC694\uC18C\uC758 position\uC774 `static`\uC77C \uB54C\uB9CC `relative`\uB85C \uBCC0\uACBD (cleanup \uC2DC \uC6D0\uB798 \uAC12 \uBCF5\uC6D0)\n * - \uB2E8\uC77C ripple \uBAA8\uB4DC: \uC0C8 \uD074\uB9AD \uC2DC \uC774\uC804 ripple \uC81C\uAC70\n * - `prefers-reduced-motion: reduce` \uC124\uC815 \uC2DC ripple \uBE44\uD65C\uC131\uD654\n *\n * @example\n * ```tsx\n * <button use:ripple={!props.disabled}>Click me</button>\n * ```\n */\nexport function ripple(el: HTMLElement, accessor: Accessor<boolean>): void {\n let containerEl: HTMLDivElement | undefined;\n let indicatorEl: HTMLDivElement | undefined;\n let rafId: number | undefined;\n let originalPosition: string | undefined;\n let positionApplied = false;\n\n const prefersReducedMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\n // ripple container \uC0DD\uC131 (\uB0B4\uBD80\uC5D0\uC11C overflow: hidden \uCC98\uB9AC)\n const ensureContainer = () => {\n if (containerEl) return containerEl;\n\n containerEl = document.createElement(\"div\");\n containerEl.style.cssText =\n \"position: absolute; top: 0; left: 0; right: 0; bottom: 0; overflow: hidden; pointer-events: none; border-radius: inherit;\";\n el.appendChild(containerEl);\n\n return containerEl;\n };\n\n const onPointerDown = (event: PointerEvent) => {\n if (!accessor()) return;\n if (prefersReducedMotion.matches) return;\n\n // position \uD655\uC778 \uBC0F \uC801\uC6A9 (container \uBC30\uCE58\uB97C \uC704\uD574 \uD544\uC694)\n if (getComputedStyle(el).position === \"static\") {\n if (!positionApplied) originalPosition = el.style.position;\n el.style.position = \"relative\";\n positionApplied = true;\n }\n\n const container = ensureContainer();\n\n if (indicatorEl) {\n indicatorEl.remove();\n indicatorEl = undefined;\n }\n\n const rect = el.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const y = event.clientY - rect.top;\n\n // \uD074\uB9AD \uC704\uCE58\uC5D0\uC11C \uAC00\uC7A5 \uBA3C \uBAA8\uC11C\uB9AC\uAE4C\uC9C0\uC758 \uAC70\uB9AC\uB97C \uBC18\uC9C0\uB984\uC73C\uB85C \uC0AC\uC6A9\n const maxDist = Math.max(\n Math.hypot(x, y),\n Math.hypot(rect.width - x, y),\n Math.hypot(x, rect.height - y),\n Math.hypot(rect.width - x, rect.height - y),\n );\n const size = maxDist * 2;\n\n indicatorEl = document.createElement(\"div\");\n indicatorEl.classList.add(\n \"absolute\",\n \"pointer-events-none\",\n \"rounded-full\",\n \"bg-black/20\",\n \"dark:bg-white/20\",\n \"transition-[transform,opacity]\",\n \"duration-500\",\n \"ease-in-out\",\n );\n Object.assign(indicatorEl.style, {\n width: `${size}px`,\n height: `${size}px`,\n top: `${y - size / 2}px`,\n left: `${x - size / 2}px`,\n transform: \"scale(0)\",\n opacity: \"1\",\n });\n\n indicatorEl.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"opacity\" && indicatorEl && indicatorEl.style.opacity === \"0\") {\n indicatorEl.remove();\n indicatorEl = undefined;\n }\n });\n\n container.appendChild(indicatorEl);\n\n rafId = requestAnimationFrame(() => {\n rafId = undefined;\n if (indicatorEl) {\n indicatorEl.style.transform = \"scale(1)\";\n }\n });\n };\n\n const onPointerUp = () => {\n if (indicatorEl) {\n indicatorEl.style.opacity = \"0\";\n }\n };\n\n el.addEventListener(\"pointerdown\", onPointerDown);\n el.addEventListener(\"pointerup\", onPointerUp);\n el.addEventListener(\"pointercancel\", onPointerUp);\n el.addEventListener(\"pointerleave\", onPointerUp);\n\n onCleanup(() => {\n el.removeEventListener(\"pointerdown\", onPointerDown);\n el.removeEventListener(\"pointerup\", onPointerUp);\n el.removeEventListener(\"pointercancel\", onPointerUp);\n el.removeEventListener(\"pointerleave\", onPointerUp);\n\n if (rafId !== undefined) {\n cancelAnimationFrame(rafId);\n rafId = undefined;\n }\n\n if (indicatorEl) {\n indicatorEl.remove();\n indicatorEl = undefined;\n }\n\n if (containerEl) {\n containerEl.remove();\n containerEl = undefined;\n }\n\n if (positionApplied && originalPosition !== undefined) {\n el.style.position = originalPosition;\n }\n });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { createMemo } from "solid-js";
|
|
2
|
+
function isGroupItem(item) {
|
|
3
|
+
return "children" in item;
|
|
4
|
+
}
|
|
5
|
+
function checkModules(modules, requiredModules, usableModules) {
|
|
6
|
+
if (usableModules === void 0) return true;
|
|
7
|
+
if (modules !== void 0 && modules.length > 0) {
|
|
8
|
+
if (!modules.some((m) => usableModules.includes(m))) return false;
|
|
9
|
+
}
|
|
10
|
+
if (requiredModules !== void 0 && requiredModules.length > 0) {
|
|
11
|
+
if (!requiredModules.every((m) => usableModules.includes(m))) return false;
|
|
12
|
+
}
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
function collectRoutes(items, parentCodes, routes) {
|
|
16
|
+
for (const item of items) {
|
|
17
|
+
const codes = [...parentCodes, item.code];
|
|
18
|
+
if (isGroupItem(item)) {
|
|
19
|
+
collectRoutes(item.children, codes, routes);
|
|
20
|
+
} else if (item.component !== void 0) {
|
|
21
|
+
routes.push({
|
|
22
|
+
path: "/" + codes.join("/"),
|
|
23
|
+
component: item.component
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function extractRoutes(items) {
|
|
29
|
+
const routes = [];
|
|
30
|
+
for (const top of items) {
|
|
31
|
+
if (isGroupItem(top)) {
|
|
32
|
+
collectRoutes(top.children, [], routes);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return routes;
|
|
36
|
+
}
|
|
37
|
+
function buildMenus(items, basePath, usableModules, permRecord) {
|
|
38
|
+
var _a;
|
|
39
|
+
const result = [];
|
|
40
|
+
for (const item of items) {
|
|
41
|
+
if (!checkModules(item.modules, item.requiredModules, usableModules)) continue;
|
|
42
|
+
const href = basePath + "/" + item.code;
|
|
43
|
+
if (isGroupItem(item)) {
|
|
44
|
+
const children = buildMenus(item.children, href, usableModules, permRecord);
|
|
45
|
+
if (children.length > 0) {
|
|
46
|
+
result.push({ title: item.title, icon: item.icon, children });
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
if (item.isNotMenu) continue;
|
|
50
|
+
if (((_a = item.perms) == null ? void 0 : _a.includes("use")) && !permRecord[href + "/use"]) continue;
|
|
51
|
+
result.push({ title: item.title, href, icon: item.icon });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
function flattenMenus(menus, titleChain = []) {
|
|
57
|
+
const result = [];
|
|
58
|
+
for (const menu of menus) {
|
|
59
|
+
const chain = [...titleChain, menu.title];
|
|
60
|
+
if (menu.children !== void 0) {
|
|
61
|
+
result.push(...flattenMenus(menu.children, chain));
|
|
62
|
+
} else if (menu.href !== void 0) {
|
|
63
|
+
result.push({ titleChain: chain, href: menu.href });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
function createAppStructure(opts) {
|
|
69
|
+
const permRecord = () => {
|
|
70
|
+
var _a;
|
|
71
|
+
return ((_a = opts.permRecord) == null ? void 0 : _a.call(opts)) ?? {};
|
|
72
|
+
};
|
|
73
|
+
const routes = extractRoutes(opts.items);
|
|
74
|
+
const usableMenus = createMemo(() => {
|
|
75
|
+
var _a;
|
|
76
|
+
const menus = [];
|
|
77
|
+
for (const top of opts.items) {
|
|
78
|
+
if (isGroupItem(top)) {
|
|
79
|
+
menus.push(...buildMenus(top.children, "/" + top.code, (_a = opts.usableModules) == null ? void 0 : _a.call(opts), permRecord()));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return menus;
|
|
83
|
+
});
|
|
84
|
+
const usableFlatMenus = createMemo(() => flattenMenus(usableMenus()));
|
|
85
|
+
return {
|
|
86
|
+
items: opts.items,
|
|
87
|
+
routes,
|
|
88
|
+
usableMenus,
|
|
89
|
+
usableFlatMenus,
|
|
90
|
+
permRecord
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export {
|
|
94
|
+
createAppStructure
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=createAppStructure.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers/createAppStructure.ts"],
|
|
4
|
+
"sourcesContent": ["import { type Accessor, createMemo } from \"solid-js\";\nimport type { Component } from \"solid-js\";\nimport type { IconProps } from \"@tabler/icons-solidjs\";\nimport type { SidebarMenuItem } from \"../components/layout/sidebar/SidebarMenu\";\n\n// \u2500\u2500 \uC785\uB825 \uD0C0\uC785 \u2500\u2500\n\nexport interface AppStructureGroupItem<TModule> {\n code: string;\n title: string;\n icon?: Component<IconProps>;\n modules?: TModule[];\n requiredModules?: TModule[];\n children: AppStructureItem<TModule>[];\n}\n\nexport interface AppStructureLeafItem<TModule> {\n code: string;\n title: string;\n icon?: Component<IconProps>;\n modules?: TModule[];\n requiredModules?: TModule[];\n component?: Component;\n perms?: (\"use\" | \"edit\")[];\n subPerms?: AppStructureSubPerm<TModule>[];\n isNotMenu?: boolean;\n}\n\nexport type AppStructureItem<TModule> = AppStructureGroupItem<TModule> | AppStructureLeafItem<TModule>;\n\nexport interface AppStructureSubPerm<TModule> {\n code: string;\n title: string;\n modules?: TModule[];\n requiredModules?: TModule[];\n perms: (\"use\" | \"edit\")[];\n}\n\n// \u2500\u2500 \uCD9C\uB825 \uD0C0\uC785 \u2500\u2500\n\nexport interface AppRoute {\n path: string;\n component: Component;\n}\n\nexport interface AppFlatMenu {\n titleChain: string[];\n href: string;\n}\n\nexport interface AppStructure<TModule> {\n items: AppStructureItem<TModule>[];\n routes: AppRoute[];\n usableMenus: Accessor<SidebarMenuItem[]>;\n usableFlatMenus: Accessor<AppFlatMenu[]>;\n permRecord: Accessor<Record<string, boolean>>;\n}\n\n// \u2500\u2500 \uB0B4\uBD80 \uD5EC\uD37C \u2500\u2500\n\nfunction isGroupItem<TModule>(item: AppStructureItem<TModule>): item is AppStructureGroupItem<TModule> {\n return \"children\" in item;\n}\n\nfunction checkModules<TModule>(\n modules: TModule[] | undefined,\n requiredModules: TModule[] | undefined,\n usableModules: TModule[] | undefined,\n): boolean {\n if (usableModules === undefined) return true;\n\n if (modules !== undefined && modules.length > 0) {\n if (!modules.some((m) => usableModules.includes(m))) return false;\n }\n\n if (requiredModules !== undefined && requiredModules.length > 0) {\n if (!requiredModules.every((m) => usableModules.includes(m))) return false;\n }\n\n return true;\n}\n\nfunction collectRoutes<TModule>(items: AppStructureItem<TModule>[], parentCodes: string[], routes: AppRoute[]): void {\n for (const item of items) {\n const codes = [...parentCodes, item.code];\n\n if (isGroupItem(item)) {\n collectRoutes(item.children, codes, routes);\n } else if (item.component !== undefined) {\n routes.push({\n path: \"/\" + codes.join(\"/\"),\n component: item.component,\n });\n }\n }\n}\n\nfunction extractRoutes<TModule>(items: AppStructureItem<TModule>[]): AppRoute[] {\n const routes: AppRoute[] = [];\n for (const top of items) {\n if (isGroupItem(top)) {\n collectRoutes(top.children, [], routes);\n }\n }\n return routes;\n}\n\nfunction buildMenus<TModule>(\n items: AppStructureItem<TModule>[],\n basePath: string,\n usableModules: TModule[] | undefined,\n permRecord: Record<string, boolean>,\n): SidebarMenuItem[] {\n const result: SidebarMenuItem[] = [];\n\n for (const item of items) {\n if (!checkModules(item.modules, item.requiredModules, usableModules)) continue;\n\n const href = basePath + \"/\" + item.code;\n\n if (isGroupItem(item)) {\n const children = buildMenus(item.children, href, usableModules, permRecord);\n if (children.length > 0) {\n result.push({ title: item.title, icon: item.icon, children });\n }\n } else {\n if (item.isNotMenu) continue;\n if (item.perms?.includes(\"use\") && !permRecord[href + \"/use\"]) continue;\n\n result.push({ title: item.title, href, icon: item.icon });\n }\n }\n\n return result;\n}\n\nfunction flattenMenus(menus: SidebarMenuItem[], titleChain: string[] = []): AppFlatMenu[] {\n const result: AppFlatMenu[] = [];\n\n for (const menu of menus) {\n const chain = [...titleChain, menu.title];\n\n if (menu.children !== undefined) {\n result.push(...flattenMenus(menu.children, chain));\n } else if (menu.href !== undefined) {\n result.push({ titleChain: chain, href: menu.href });\n }\n }\n\n return result;\n}\n\n// \u2500\u2500 \uBA54\uC778 \uD568\uC218 \u2500\u2500\n\nexport function createAppStructure<TModule>(opts: {\n items: AppStructureItem<TModule>[];\n usableModules?: Accessor<TModule[] | undefined>;\n permRecord?: Accessor<Record<string, boolean>>;\n}): AppStructure<TModule> {\n const permRecord = () => opts.permRecord?.() ?? {};\n\n const routes = extractRoutes(opts.items);\n\n const usableMenus = createMemo(() => {\n const menus: SidebarMenuItem[] = [];\n for (const top of opts.items) {\n if (isGroupItem(top)) {\n menus.push(...buildMenus(top.children, \"/\" + top.code, opts.usableModules?.(), permRecord()));\n }\n }\n return menus;\n });\n\n const usableFlatMenus = createMemo(() => flattenMenus(usableMenus()));\n\n return {\n items: opts.items,\n routes,\n usableMenus,\n usableFlatMenus,\n permRecord,\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|