@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,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/data/sheet/sheetUtils.ts"],
|
|
4
|
+
"sourcesContent": ["import type { DataSheetColumnDef, FlatItem, HeaderDef, SortingDef } from \"./types\";\nimport { objGetChainValue } from \"@simplysm/core-common\";\n\nexport function normalizeHeader(header?: string | string[]): string[] {\n if (header == null) return [\"\"];\n if (typeof header === \"string\") return [header];\n return header;\n}\n\nexport function buildHeaderTable<T>(columns: DataSheetColumnDef<T>[]): (HeaderDef | null)[][] {\n if (columns.length === 0) return [];\n\n const maxDepth = Math.max(...columns.map((c) => c.header.length));\n if (maxDepth === 0) return [];\n\n // occupied[r][c] = true\uC774\uBA74 \uC774\uBBF8 \uB2E4\uB978 \uC140\uC758 \uBCD1\uD569 \uC601\uC5ED\n const occupied: boolean[][] = Array.from({ length: maxDepth }, () =>\n Array.from({ length: columns.length }, () => false),\n );\n const table: (HeaderDef | null)[][] = Array.from({ length: maxDepth }, () =>\n Array.from({ length: columns.length }, () => null),\n );\n\n // \uAC01 \uCEEC\uB7FC\uC758 \uD5E4\uB354\uB97C maxDepth\uAE4C\uC9C0 \uD328\uB529\n const padded = columns.map((col) => {\n const h = col.header;\n const result: string[] = [];\n for (let d = 0; d < maxDepth; d++) {\n result.push(d < h.length ? h[d] : h[h.length - 1]);\n }\n return result;\n });\n\n for (let r = 0; r < maxDepth; r++) {\n for (let c = 0; c < columns.length; c++) {\n if (occupied[r][c]) continue;\n\n const text = padded[c][r];\n // \uC6D0\uBCF8 header \uAE38\uC774 \uAE30\uBC18\uC73C\uB85C \uD310\uBCC4: \uD604\uC7AC \uD589\uC774 \uC6D0\uBCF8 header\uC758 \uB9C8\uC9C0\uB9C9 \uB808\uBCA8 \uC774\uC0C1\uC774\uBA74 leaf\n const isLastRow = r >= columns[c].header.length - 1;\n\n // colspan: \uAC19\uC740 \uD589\uC5D0\uC11C \uAC19\uC740 \uD14D\uC2A4\uD2B8 + \uAC19\uC740 \uC0C1\uC704 \uADF8\uB8F9 + \uACE0\uC815 \uACBD\uACC4\uB97C \uB118\uC9C0 \uC54A\uC74C\n let colspan = 1;\n if (!isLastRow) {\n const startFixed = columns[c].fixed;\n while (\n c + colspan < columns.length &&\n !occupied[r][c + colspan] &&\n padded[c + colspan][r] === text &&\n columns[c + colspan].fixed === startFixed &&\n isSameGroup(padded, c, c + colspan, 0, r)\n ) {\n colspan++;\n }\n }\n\n // rowspan: isLastRow\uC774\uBA74 \uB0A8\uC740 \uAE4A\uC774\uB9CC\uD07C\n const rowspan = isLastRow ? maxDepth - r : 1;\n\n const col = columns[c];\n table[r][c] = {\n text,\n colspan,\n rowspan,\n isLastRow,\n colIndex: isLastRow ? c : undefined,\n fixed: isLastRow ? col.fixed : undefined,\n width: isLastRow ? col.width : undefined,\n style: isLastRow ? col.headerStyle : undefined,\n headerContent: isLastRow ? col.headerContent : undefined,\n };\n\n // \uBCD1\uD569 \uC601\uC5ED \uB9C8\uD0B9\n for (let dr = 0; dr < rowspan; dr++) {\n for (let dc = 0; dc < colspan; dc++) {\n if (dr === 0 && dc === 0) continue;\n occupied[r + dr][c + dc] = true;\n }\n }\n }\n }\n\n return table;\n}\n\n// \uAC19\uC740 \uBCD1\uD569 \uADF8\uB8F9\uC5D0 \uC18D\uD558\uB294\uC9C0 \uD655\uC778 (\uD589 0~endRow\uAE4C\uC9C0 \uAC19\uC740 \uD14D\uC2A4\uD2B8 \uC2DC\uD000\uC2A4)\nfunction isSameGroup(padded: string[][], colA: number, colB: number, startRow: number, endRow: number): boolean {\n for (let r = startRow; r < endRow; r++) {\n if (padded[colA][r] !== padded[colB][r]) return false;\n }\n return true;\n}\n\nexport function flattenTree<T>(\n items: T[],\n expandedItems: T[],\n getChildren?: (item: T, index: number) => T[] | undefined,\n): FlatItem<T>[] {\n if (!getChildren) {\n return items.map((item, i) => ({\n item,\n index: i,\n depth: 0,\n hasChildren: false,\n }));\n }\n\n const result: FlatItem<T>[] = [];\n let index = 0;\n\n function walk(list: T[], depth: number, parent?: T): void {\n for (const item of list) {\n const children = getChildren!(item, index);\n const hasChildren = children != null && children.length > 0;\n result.push({ item, index, depth, hasChildren, parent });\n index++;\n\n if (hasChildren && expandedItems.includes(item)) {\n walk(children, depth + 1, item);\n }\n }\n }\n\n walk(items, 0);\n return result;\n}\n\nexport function collectAllExpandable<T>(items: T[], getChildren: (item: T, index: number) => T[] | undefined): T[] {\n const result: T[] = [];\n let index = 0;\n\n function walk(list: T[]): void {\n for (const item of list) {\n const children = getChildren(item, index);\n index++;\n if (children != null && children.length > 0) {\n result.push(item);\n walk(children);\n }\n }\n }\n\n walk(items);\n return result;\n}\n\nexport function applySorting<T>(items: T[], sorts: SortingDef[]): T[] {\n if (sorts.length === 0) return items;\n\n let result = [...items];\n for (const sort of [...sorts].reverse()) {\n const selector = (item: T) => objGetChainValue(item, sort.key) as string | number | undefined;\n result = sort.desc ? result.orderByDesc(selector) : result.orderBy(selector);\n }\n return result;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { splitProps, createSignal, onMount, onCleanup } from "solid-js";
|
|
2
|
+
import { createElementSize } from "@solid-primitives/resize-observer";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
import { mergeStyles } from "../../helpers/mergeStyles";
|
|
6
|
+
const transitionClass = clsx("transition-[margin-top]", "duration-200", "ease-out", "motion-reduce:transition-none");
|
|
7
|
+
const Collapse = (props) => {
|
|
8
|
+
const [local, rest] = splitProps(props, ["children", "class", "style", "open"]);
|
|
9
|
+
const [contentRef, setContentRef] = createSignal();
|
|
10
|
+
const size = createElementSize(contentRef);
|
|
11
|
+
const [mounted, setMounted] = createSignal(false);
|
|
12
|
+
onMount(() => {
|
|
13
|
+
const rafId = requestAnimationFrame(() => setMounted(true));
|
|
14
|
+
onCleanup(() => cancelAnimationFrame(rafId));
|
|
15
|
+
});
|
|
16
|
+
const isOpen = () => local.open ?? false;
|
|
17
|
+
const marginTop = () => isOpen() ? void 0 : `${-(size.height ?? 0)}px`;
|
|
18
|
+
return /* @__PURE__ */ React.createElement(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
...rest,
|
|
22
|
+
"data-collapse": true,
|
|
23
|
+
class: twMerge("block", local.class),
|
|
24
|
+
style: mergeStyles(local.style, { overflow: "hidden" }),
|
|
25
|
+
"aria-hidden": !isOpen()
|
|
26
|
+
},
|
|
27
|
+
/* @__PURE__ */ React.createElement(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
ref: setContentRef,
|
|
31
|
+
class: mounted() ? transitionClass : "",
|
|
32
|
+
style: {
|
|
33
|
+
"margin-top": marginTop(),
|
|
34
|
+
// 닫힌 상태에서 포커스 가능 요소 접근 차단 및 FOUC 방지
|
|
35
|
+
"visibility": !isOpen() ? "hidden" : void 0
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
local.children
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
export {
|
|
43
|
+
Collapse
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=Collapse.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/disclosure/Collapse.tsx"],
|
|
4
|
+
"sourcesContent": ["import { type JSX, type ParentComponent, splitProps, createSignal, onMount, onCleanup } from \"solid-js\";\nimport { createElementSize } from \"@solid-primitives/resize-observer\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { mergeStyles } from \"../../helpers/mergeStyles\";\n\nexport interface CollapseProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * \uCF58\uD150\uCE20 \uD45C\uC2DC \uC5EC\uBD80. \uAE30\uBCF8\uAC12: false (\uB2EB\uD798)\n *\n * \uC811\uADFC\uC131 \uCC38\uACE0:\n * - \uD1A0\uAE00 \uBC84\uD2BC\uC5D0 `aria-expanded`\uC640 `aria-controls`\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.\n * - `Button` \uCEF4\uD3EC\uB10C\uD2B8\uB97C \uC0AC\uC6A9\uD558\uBA74 Enter/Space \uD0A4\uBCF4\uB4DC \uC811\uADFC\uC131\uC774 \uC790\uB3D9 \uC9C0\uC6D0\uB429\uB2C8\uB2E4.\n *\n * @example\n * ```tsx\n * <Button aria-expanded={open()} aria-controls=\"content\" onClick={() => setOpen(!open())}>\n * Toggle\n * </Button>\n * <Collapse id=\"content\" open={open()}>Content</Collapse>\n * ```\n */\n open?: boolean;\n}\n\nconst transitionClass = clsx(\"transition-[margin-top]\", \"duration-200\", \"ease-out\", \"motion-reduce:transition-none\");\n\nexport const Collapse: ParentComponent<CollapseProps> = (props) => {\n const [local, rest] = splitProps(props, [\"children\", \"class\", \"style\", \"open\"]);\n\n // \uCF58\uD150\uCE20 \uC694\uC18C ref\n const [contentRef, setContentRef] = createSignal<HTMLDivElement>();\n\n // \uCF58\uD150\uCE20 \uB192\uC774 \uCD94\uC801\n const size = createElementSize(contentRef);\n\n // \uCD08\uAE30 \uB80C\uB354\uB9C1 \uC2DC transition \uBE44\uD65C\uC131\uD654 (\uAE5C\uBE61\uC784 \uBC29\uC9C0)\n // requestAnimationFrame\uC73C\uB85C \uB2E4\uC74C \uD504\uB808\uC784\uC5D0 \uD65C\uC131\uD654\n const [mounted, setMounted] = createSignal(false);\n onMount(() => {\n const rafId = requestAnimationFrame(() => setMounted(true));\n onCleanup(() => cancelAnimationFrame(rafId));\n });\n\n // open\uC774 undefined\uC77C \uB54C false\uB85C \uCC98\uB9AC\n const isOpen = () => local.open ?? false;\n\n // margin-top \uACC4\uC0B0\n const marginTop = () => (isOpen() ? undefined : `${-(size.height ?? 0)}px`);\n\n return (\n <div\n {...rest}\n data-collapse\n class={twMerge(\"block\", local.class)}\n style={mergeStyles(local.style, { overflow: \"hidden\" })}\n aria-hidden={!isOpen()}\n >\n <div\n ref={setContentRef}\n class={mounted() ? transitionClass : \"\"}\n style={{\n \"margin-top\": marginTop(),\n // \uB2EB\uD78C \uC0C1\uD0DC\uC5D0\uC11C \uD3EC\uCEE4\uC2A4 \uAC00\uB2A5 \uC694\uC18C \uC811\uADFC \uCC28\uB2E8 \uBC0F FOUC \uBC29\uC9C0\n \"visibility\": !isOpen() ? \"hidden\" : undefined,\n }}\n >\n {local.children}\n </div>\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,SAAyC,YAAY,cAAc,SAAS,iBAAiB;AAC7F,SAAS,yBAAyB;AAClC,OAAO,UAAU;AACjB,SAAS,eAAe;AACxB,SAAS,mBAAmB;AAqB5B,MAAM,kBAAkB,KAAK,2BAA2B,gBAAgB,YAAY,+BAA+B;AAE5G,MAAM,WAA2C,CAAC,UAAU;AACjE,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,SAAS,SAAS,MAAM,CAAC;AAG9E,QAAM,CAAC,YAAY,aAAa,IAAI,aAA6B;AAGjE,QAAM,OAAO,kBAAkB,UAAU;AAIzC,QAAM,CAAC,SAAS,UAAU,IAAI,aAAa,KAAK;AAChD,UAAQ,MAAM;AACZ,UAAM,QAAQ,sBAAsB,MAAM,WAAW,IAAI,CAAC;AAC1D,cAAU,MAAM,qBAAqB,KAAK,CAAC;AAAA,EAC7C,CAAC;AAGD,QAAM,SAAS,MAAM,MAAM,QAAQ;AAGnC,QAAM,YAAY,MAAO,OAAO,IAAI,SAAY,GAAG,EAAE,KAAK,UAAU,EAAE;AAEtE,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,iBAAa;AAAA,MACb,OAAO,QAAQ,SAAS,MAAM,KAAK;AAAA,MACnC,OAAO,YAAY,MAAM,OAAO,EAAE,UAAU,SAAS,CAAC;AAAA,MACtD,eAAa,CAAC,OAAO;AAAA;AAAA,IAErB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,OAAO,QAAQ,IAAI,kBAAkB;AAAA,QACrC,OAAO;AAAA,UACL,cAAc,UAAU;AAAA;AAAA,UAExB,cAAc,CAAC,OAAO,IAAI,WAAW;AAAA,QACvC;AAAA;AAAA,MAEC,MAAM;AAAA,IACT;AAAA,EACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { createEffect, onCleanup, Show, splitProps, For, useContext } from "solid-js";
|
|
2
|
+
import { Portal } from "solid-js/web";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
import { IconX } from "@tabler/icons-solidjs";
|
|
6
|
+
import { createControllableSignal } from "../../hooks/createControllableSignal";
|
|
7
|
+
import { createMountTransition } from "../../hooks/createMountTransition";
|
|
8
|
+
import { mergeStyles } from "../../helpers/mergeStyles";
|
|
9
|
+
import { Icon } from "../display/Icon";
|
|
10
|
+
import { borderSubtle } from "../../styles/tokens.styles";
|
|
11
|
+
import { DialogDefaultsContext } from "./DialogContext";
|
|
12
|
+
import { registerDialog, unregisterDialog, bringToFront } from "./dialogZIndex";
|
|
13
|
+
const RESIZE_DIRECTIONS = [
|
|
14
|
+
"left",
|
|
15
|
+
"right",
|
|
16
|
+
"top",
|
|
17
|
+
"bottom",
|
|
18
|
+
"top-left",
|
|
19
|
+
"top-right",
|
|
20
|
+
"bottom-left",
|
|
21
|
+
"bottom-right"
|
|
22
|
+
];
|
|
23
|
+
const resizeCursorMap = {
|
|
24
|
+
"left": "cursor-ew-resize",
|
|
25
|
+
"right": "cursor-ew-resize",
|
|
26
|
+
"top": "cursor-ns-resize",
|
|
27
|
+
"bottom": "cursor-ns-resize",
|
|
28
|
+
"top-left": "cursor-nwse-resize",
|
|
29
|
+
"top-right": "cursor-nesw-resize",
|
|
30
|
+
"bottom-left": "cursor-nesw-resize",
|
|
31
|
+
"bottom-right": "cursor-nwse-resize"
|
|
32
|
+
};
|
|
33
|
+
const dialogContentClass = clsx("flex-1", "overflow-auto");
|
|
34
|
+
const resizePositionMap = {
|
|
35
|
+
"left": clsx("left-0 top-0", "h-full w-1.5"),
|
|
36
|
+
"right": clsx("right-0 top-0", "h-full w-1.5"),
|
|
37
|
+
"top": clsx("left-0 top-0", "h-1.5 w-full"),
|
|
38
|
+
"bottom": clsx("bottom-0 left-0", "h-1.5 w-full"),
|
|
39
|
+
"top-left": clsx("left-0 top-0", "z-[1] size-1.5"),
|
|
40
|
+
"top-right": clsx("right-0 top-0", "z-[1] size-1.5"),
|
|
41
|
+
"bottom-left": clsx("bottom-0 left-0", "z-[1] size-1.5"),
|
|
42
|
+
"bottom-right": clsx("bottom-0 right-0", "z-[1] size-1.5")
|
|
43
|
+
};
|
|
44
|
+
const Dialog = (props) => {
|
|
45
|
+
const dialogDefaults = useContext(DialogDefaultsContext);
|
|
46
|
+
const [local] = splitProps(props, [
|
|
47
|
+
"open",
|
|
48
|
+
"onOpenChange",
|
|
49
|
+
"title",
|
|
50
|
+
"hideHeader",
|
|
51
|
+
"closable",
|
|
52
|
+
"closeOnBackdrop",
|
|
53
|
+
"closeOnEscape",
|
|
54
|
+
"resizable",
|
|
55
|
+
"movable",
|
|
56
|
+
"float",
|
|
57
|
+
"fill",
|
|
58
|
+
"widthPx",
|
|
59
|
+
"heightPx",
|
|
60
|
+
"minWidthPx",
|
|
61
|
+
"minHeightPx",
|
|
62
|
+
"position",
|
|
63
|
+
"headerStyle",
|
|
64
|
+
"headerAction",
|
|
65
|
+
"canDeactivate",
|
|
66
|
+
"onCloseComplete",
|
|
67
|
+
"class",
|
|
68
|
+
"children"
|
|
69
|
+
]);
|
|
70
|
+
const [open, setOpen] = createControllableSignal({
|
|
71
|
+
value: () => local.open ?? false,
|
|
72
|
+
onChange: () => local.onOpenChange
|
|
73
|
+
});
|
|
74
|
+
const { mounted, animating, unmount } = createMountTransition(open);
|
|
75
|
+
let closeCompleteEmitted = false;
|
|
76
|
+
const emitCloseComplete = () => {
|
|
77
|
+
var _a;
|
|
78
|
+
if (closeCompleteEmitted) return;
|
|
79
|
+
closeCompleteEmitted = true;
|
|
80
|
+
unmount();
|
|
81
|
+
(_a = local.onCloseComplete) == null ? void 0 : _a.call(local);
|
|
82
|
+
};
|
|
83
|
+
createEffect(() => {
|
|
84
|
+
if (open()) {
|
|
85
|
+
closeCompleteEmitted = false;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
let dialogRef;
|
|
89
|
+
let wrapperRef;
|
|
90
|
+
const closeOnEscape = () => local.closeOnEscape ?? (dialogDefaults == null ? void 0 : dialogDefaults().closeOnEscape) ?? true;
|
|
91
|
+
const closeOnBackdrop = () => local.closeOnBackdrop ?? (dialogDefaults == null ? void 0 : dialogDefaults().closeOnBackdrop) ?? false;
|
|
92
|
+
createEffect(() => {
|
|
93
|
+
if (!open()) return;
|
|
94
|
+
if (!closeOnEscape()) return;
|
|
95
|
+
const handleKeyDown = (e) => {
|
|
96
|
+
if (e.key === "Escape") {
|
|
97
|
+
tryClose();
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
101
|
+
onCleanup(() => document.removeEventListener("keydown", handleKeyDown));
|
|
102
|
+
});
|
|
103
|
+
createEffect(() => {
|
|
104
|
+
if (!open()) return;
|
|
105
|
+
if (!wrapperRef) return;
|
|
106
|
+
registerDialog(wrapperRef);
|
|
107
|
+
onCleanup(() => {
|
|
108
|
+
if (wrapperRef) unregisterDialog(wrapperRef);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
const tryClose = () => {
|
|
112
|
+
if (local.canDeactivate && !local.canDeactivate()) return;
|
|
113
|
+
setOpen(false);
|
|
114
|
+
};
|
|
115
|
+
const handleBackdropClick = () => {
|
|
116
|
+
if (!closeOnBackdrop()) return;
|
|
117
|
+
tryClose();
|
|
118
|
+
};
|
|
119
|
+
const handleCloseClick = () => {
|
|
120
|
+
tryClose();
|
|
121
|
+
};
|
|
122
|
+
const handleTransitionEnd = (e) => {
|
|
123
|
+
if (e.propertyName !== "opacity") return;
|
|
124
|
+
if (!open()) {
|
|
125
|
+
emitCloseComplete();
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const handleDialogFocus = () => {
|
|
129
|
+
if (!wrapperRef) return;
|
|
130
|
+
bringToFront(wrapperRef);
|
|
131
|
+
};
|
|
132
|
+
const handleHeaderPointerDown = (event) => {
|
|
133
|
+
if (local.movable === false) return;
|
|
134
|
+
if (!dialogRef || !wrapperRef) return;
|
|
135
|
+
if (event.target.closest("button")) return;
|
|
136
|
+
const target = event.currentTarget;
|
|
137
|
+
target.setPointerCapture(event.pointerId);
|
|
138
|
+
const dialogEl = dialogRef;
|
|
139
|
+
const wrapperEl = wrapperRef;
|
|
140
|
+
const startX = event.clientX;
|
|
141
|
+
const startY = event.clientY;
|
|
142
|
+
const startTop = dialogEl.offsetTop;
|
|
143
|
+
const startLeft = dialogEl.offsetLeft;
|
|
144
|
+
const doDrag = (e) => {
|
|
145
|
+
e.stopPropagation();
|
|
146
|
+
e.preventDefault();
|
|
147
|
+
dialogEl.style.position = "absolute";
|
|
148
|
+
dialogEl.style.left = `${startLeft + e.clientX - startX}px`;
|
|
149
|
+
dialogEl.style.top = `${startTop + e.clientY - startY}px`;
|
|
150
|
+
dialogEl.style.right = "auto";
|
|
151
|
+
dialogEl.style.bottom = "auto";
|
|
152
|
+
dialogEl.style.margin = "0";
|
|
153
|
+
if (dialogEl.offsetLeft > wrapperEl.offsetWidth - 100) {
|
|
154
|
+
dialogEl.style.left = wrapperEl.offsetWidth - 100 + "px";
|
|
155
|
+
}
|
|
156
|
+
if (dialogEl.offsetTop > wrapperEl.offsetHeight - 100) {
|
|
157
|
+
dialogEl.style.top = wrapperEl.offsetHeight - 100 + "px";
|
|
158
|
+
}
|
|
159
|
+
if (dialogEl.offsetTop < 0) {
|
|
160
|
+
dialogEl.style.top = "0";
|
|
161
|
+
}
|
|
162
|
+
if (dialogEl.offsetLeft < -dialogEl.offsetWidth + 100) {
|
|
163
|
+
dialogEl.style.left = -dialogEl.offsetWidth + 100 + "px";
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
const stopDrag = (e) => {
|
|
167
|
+
e.stopPropagation();
|
|
168
|
+
e.preventDefault();
|
|
169
|
+
target.removeEventListener("pointermove", doDrag);
|
|
170
|
+
target.removeEventListener("pointerup", stopDrag);
|
|
171
|
+
};
|
|
172
|
+
target.addEventListener("pointermove", doDrag);
|
|
173
|
+
target.addEventListener("pointerup", stopDrag);
|
|
174
|
+
};
|
|
175
|
+
const handleResizeBarPointerDown = (event, direction) => {
|
|
176
|
+
if (!local.resizable) return;
|
|
177
|
+
if (!dialogRef) return;
|
|
178
|
+
const target = event.currentTarget;
|
|
179
|
+
target.setPointerCapture(event.pointerId);
|
|
180
|
+
const dialogEl = dialogRef;
|
|
181
|
+
const startX = event.clientX;
|
|
182
|
+
const startY = event.clientY;
|
|
183
|
+
const startHeight = dialogEl.clientHeight;
|
|
184
|
+
const startWidth = dialogEl.clientWidth;
|
|
185
|
+
const startTop = dialogEl.offsetTop;
|
|
186
|
+
const startLeft = dialogEl.offsetLeft;
|
|
187
|
+
const doDrag = (e) => {
|
|
188
|
+
e.stopPropagation();
|
|
189
|
+
e.preventDefault();
|
|
190
|
+
if (direction === "top" || direction === "top-right" || direction === "top-left") {
|
|
191
|
+
if (dialogEl.style.position === "absolute") {
|
|
192
|
+
dialogEl.style.top = startTop + (e.clientY - startY) + "px";
|
|
193
|
+
dialogEl.style.bottom = "auto";
|
|
194
|
+
}
|
|
195
|
+
dialogEl.style.height = `${Math.max(startHeight - (e.clientY - startY), local.minHeightPx ?? 0)}px`;
|
|
196
|
+
}
|
|
197
|
+
if (direction === "bottom" || direction === "bottom-right" || direction === "bottom-left") {
|
|
198
|
+
dialogEl.style.height = `${Math.max(startHeight + e.clientY - startY, local.minHeightPx ?? 0)}px`;
|
|
199
|
+
}
|
|
200
|
+
if (direction === "right" || direction === "bottom-right" || direction === "top-right") {
|
|
201
|
+
dialogEl.style.width = `${Math.max(
|
|
202
|
+
startWidth + (e.clientX - startX) * (dialogEl.style.position === "absolute" ? 1 : 2),
|
|
203
|
+
local.minWidthPx ?? 0
|
|
204
|
+
)}px`;
|
|
205
|
+
}
|
|
206
|
+
if (direction === "left" || direction === "bottom-left" || direction === "top-left") {
|
|
207
|
+
if (dialogEl.style.position === "absolute") {
|
|
208
|
+
dialogEl.style.left = startLeft + (e.clientX - startX) + "px";
|
|
209
|
+
}
|
|
210
|
+
dialogEl.style.width = `${Math.max(
|
|
211
|
+
startWidth - (e.clientX - startX) * (dialogEl.style.position === "absolute" ? 1 : 2),
|
|
212
|
+
local.minWidthPx ?? 0
|
|
213
|
+
)}px`;
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
const stopDrag = (e) => {
|
|
217
|
+
e.stopPropagation();
|
|
218
|
+
e.preventDefault();
|
|
219
|
+
target.removeEventListener("pointermove", doDrag);
|
|
220
|
+
target.removeEventListener("pointerup", stopDrag);
|
|
221
|
+
};
|
|
222
|
+
target.addEventListener("pointermove", doDrag);
|
|
223
|
+
target.addEventListener("pointerup", stopDrag);
|
|
224
|
+
};
|
|
225
|
+
const dialogStyle = () => {
|
|
226
|
+
const style = {};
|
|
227
|
+
if (local.fill) {
|
|
228
|
+
style.width = "100%";
|
|
229
|
+
style.height = "100%";
|
|
230
|
+
} else {
|
|
231
|
+
if (local.widthPx !== void 0) {
|
|
232
|
+
style.width = `${local.widthPx}px`;
|
|
233
|
+
}
|
|
234
|
+
if (local.heightPx !== void 0) {
|
|
235
|
+
style.height = `${local.heightPx}px`;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
if (local.minWidthPx !== void 0) {
|
|
239
|
+
style["min-width"] = `${local.minWidthPx}px`;
|
|
240
|
+
}
|
|
241
|
+
if (local.minHeightPx !== void 0) {
|
|
242
|
+
style["min-height"] = `${local.minHeightPx}px`;
|
|
243
|
+
}
|
|
244
|
+
if (local.position === "bottom-right") {
|
|
245
|
+
style.position = "absolute";
|
|
246
|
+
style.right = "3rem";
|
|
247
|
+
style.bottom = "2rem";
|
|
248
|
+
} else if (local.position === "top-right") {
|
|
249
|
+
style.position = "absolute";
|
|
250
|
+
style.right = "2rem";
|
|
251
|
+
style.top = "2rem";
|
|
252
|
+
}
|
|
253
|
+
return style;
|
|
254
|
+
};
|
|
255
|
+
const animationClass = () => {
|
|
256
|
+
const base = clsx("transition-[opacity,transform]", "duration-200", "ease-out");
|
|
257
|
+
if (animating()) {
|
|
258
|
+
return clsx(base, "translate-y-0 opacity-100");
|
|
259
|
+
} else {
|
|
260
|
+
return clsx(base, "-translate-y-4 opacity-0");
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
const wrapperClass = () => (
|
|
264
|
+
// eslint-disable-next-line tailwindcss/enforces-shorthand -- inset-0은 Chrome 84 미지원
|
|
265
|
+
clsx(
|
|
266
|
+
"fixed bottom-0 left-0 right-0 top-0",
|
|
267
|
+
"flex flex-col items-center",
|
|
268
|
+
!local.fill && "pt-[calc(3rem+0.5rem)]",
|
|
269
|
+
local.float && "pointer-events-none"
|
|
270
|
+
)
|
|
271
|
+
);
|
|
272
|
+
const backdropClass = () => (
|
|
273
|
+
// eslint-disable-next-line tailwindcss/enforces-shorthand -- inset-0은 Chrome 84 미지원
|
|
274
|
+
clsx(
|
|
275
|
+
"absolute bottom-0 left-0 right-0 top-0",
|
|
276
|
+
"bg-black/30",
|
|
277
|
+
"dark:bg-black/50",
|
|
278
|
+
"transition-opacity",
|
|
279
|
+
"duration-200",
|
|
280
|
+
"ease-out",
|
|
281
|
+
animating() ? "opacity-100" : "opacity-0"
|
|
282
|
+
)
|
|
283
|
+
);
|
|
284
|
+
const dialogBaseClass = () => clsx(
|
|
285
|
+
"relative",
|
|
286
|
+
"mx-auto",
|
|
287
|
+
"w-fit min-w-[200px]",
|
|
288
|
+
"bg-white dark:bg-base-800",
|
|
289
|
+
local.float ? clsx("shadow-md dark:shadow-black/30", "border", borderSubtle) : "shadow-2xl dark:shadow-black/40",
|
|
290
|
+
local.fill ? "rounded-none border-none" : "rounded-lg",
|
|
291
|
+
"overflow-hidden",
|
|
292
|
+
"flex flex-col",
|
|
293
|
+
"focus:outline-none",
|
|
294
|
+
local.float && "pointer-events-auto",
|
|
295
|
+
animationClass()
|
|
296
|
+
);
|
|
297
|
+
const headerClass = () => clsx("flex items-center", "select-none", "border-b", borderSubtle);
|
|
298
|
+
return /* @__PURE__ */ React.createElement(Show, { when: mounted() }, /* @__PURE__ */ React.createElement(Portal, null, /* @__PURE__ */ React.createElement(
|
|
299
|
+
"div",
|
|
300
|
+
{
|
|
301
|
+
ref: (el) => {
|
|
302
|
+
wrapperRef = el;
|
|
303
|
+
},
|
|
304
|
+
"data-modal": true,
|
|
305
|
+
class: wrapperClass()
|
|
306
|
+
},
|
|
307
|
+
/* @__PURE__ */ React.createElement(Show, { when: !local.float }, /* @__PURE__ */ React.createElement("div", { "data-modal-backdrop": true, class: backdropClass(), onClick: handleBackdropClick })),
|
|
308
|
+
/* @__PURE__ */ React.createElement(
|
|
309
|
+
"div",
|
|
310
|
+
{
|
|
311
|
+
ref: (el) => {
|
|
312
|
+
dialogRef = el;
|
|
313
|
+
},
|
|
314
|
+
"data-modal-dialog": true,
|
|
315
|
+
role: "dialog",
|
|
316
|
+
"aria-modal": local.float ? void 0 : true,
|
|
317
|
+
"aria-label": local.title,
|
|
318
|
+
tabIndex: 0,
|
|
319
|
+
class: twMerge(dialogBaseClass(), local.class),
|
|
320
|
+
style: dialogStyle(),
|
|
321
|
+
onFocus: handleDialogFocus,
|
|
322
|
+
onTransitionEnd: handleTransitionEnd
|
|
323
|
+
},
|
|
324
|
+
/* @__PURE__ */ React.createElement(Show, { when: !local.hideHeader }, /* @__PURE__ */ React.createElement(
|
|
325
|
+
"div",
|
|
326
|
+
{
|
|
327
|
+
"data-modal-header": true,
|
|
328
|
+
class: clsx(headerClass(), "touch-none"),
|
|
329
|
+
style: typeof local.headerStyle === "string" ? mergeStyles(local.headerStyle) : local.headerStyle,
|
|
330
|
+
onPointerDown: handleHeaderPointerDown
|
|
331
|
+
},
|
|
332
|
+
/* @__PURE__ */ React.createElement("h5", { class: clsx("flex-1", "px-4 py-2", "text-sm font-semibold") }, local.title),
|
|
333
|
+
local.headerAction,
|
|
334
|
+
/* @__PURE__ */ React.createElement(Show, { when: local.closable ?? true }, /* @__PURE__ */ React.createElement(
|
|
335
|
+
"button",
|
|
336
|
+
{
|
|
337
|
+
"data-modal-close": true,
|
|
338
|
+
type: "button",
|
|
339
|
+
class: clsx(
|
|
340
|
+
"inline-flex items-center justify-center",
|
|
341
|
+
"px-3 py-2",
|
|
342
|
+
"text-base-400 dark:text-base-500",
|
|
343
|
+
"hover:text-base-600 dark:hover:text-base-300",
|
|
344
|
+
"cursor-pointer",
|
|
345
|
+
"transition-colors"
|
|
346
|
+
),
|
|
347
|
+
onClick: handleCloseClick
|
|
348
|
+
},
|
|
349
|
+
/* @__PURE__ */ React.createElement(Icon, { icon: IconX, size: "1.25em" })
|
|
350
|
+
))
|
|
351
|
+
)),
|
|
352
|
+
/* @__PURE__ */ React.createElement("div", { "data-modal-content": true, class: dialogContentClass }, local.children),
|
|
353
|
+
/* @__PURE__ */ React.createElement(Show, { when: local.resizable }, /* @__PURE__ */ React.createElement(For, { each: RESIZE_DIRECTIONS }, (direction) => /* @__PURE__ */ React.createElement(
|
|
354
|
+
"div",
|
|
355
|
+
{
|
|
356
|
+
"data-resize-bar": direction,
|
|
357
|
+
class: clsx("absolute", "touch-none", resizePositionMap[direction], resizeCursorMap[direction]),
|
|
358
|
+
onPointerDown: (e) => handleResizeBarPointerDown(e, direction)
|
|
359
|
+
}
|
|
360
|
+
)))
|
|
361
|
+
)
|
|
362
|
+
)));
|
|
363
|
+
};
|
|
364
|
+
export {
|
|
365
|
+
Dialog
|
|
366
|
+
};
|
|
367
|
+
//# sourceMappingURL=Dialog.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/disclosure/Dialog.tsx"],
|
|
4
|
+
"sourcesContent": ["import { type JSX, type ParentComponent, createEffect, onCleanup, Show, splitProps, For, useContext } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport clsx from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport { IconX } from \"@tabler/icons-solidjs\";\nimport { createControllableSignal } from \"../../hooks/createControllableSignal\";\nimport { createMountTransition } from \"../../hooks/createMountTransition\";\nimport { mergeStyles } from \"../../helpers/mergeStyles\";\nimport { Icon } from \"../display/Icon\";\nimport { borderSubtle } from \"../../styles/tokens.styles\";\nimport { DialogDefaultsContext } from \"./DialogContext\";\nimport { registerDialog, unregisterDialog, bringToFront } from \"./dialogZIndex\";\n\nexport interface DialogProps {\n /** \uBAA8\uB2EC \uC5F4\uB9BC \uC0C1\uD0DC */\n open?: boolean;\n /** \uC5F4\uB9BC \uC0C1\uD0DC \uBCC0\uACBD \uC2DC \uCF5C\uBC31 */\n onOpenChange?: (open: boolean) => void;\n /** \uBAA8\uB2EC \uC81C\uBAA9 */\n title: string;\n /** \uD5E4\uB354 \uC228\uAE40 */\n hideHeader?: boolean;\n /** \uB2EB\uAE30 \uBC84\uD2BC \uD45C\uC2DC (\uAE30\uBCF8: true) */\n closable?: boolean;\n /** \uBC31\uB4DC\uB86D \uD074\uB9AD\uC73C\uB85C \uB2EB\uAE30 */\n closeOnBackdrop?: boolean;\n /** Escape \uD0A4\uB85C \uB2EB\uAE30 (\uAE30\uBCF8\uAC12: true) */\n closeOnEscape?: boolean;\n /** \uB9AC\uC0AC\uC774\uC988 \uAC00\uB2A5 \uC5EC\uBD80 (\uAE30\uBCF8: false) */\n resizable?: boolean;\n /** \uB4DC\uB798\uADF8 \uC774\uB3D9 \uAC00\uB2A5 \uC5EC\uBD80 (\uAE30\uBCF8: true) */\n movable?: boolean;\n /** \uD50C\uB85C\uD305 \uBAA8\uB4DC (\uBC31\uB4DC\uB86D \uC5C6\uC74C) */\n float?: boolean;\n /** \uC804\uCCB4 \uD654\uBA74 \uBAA8\uB4DC */\n fill?: boolean;\n /** \uB108\uBE44 (px) */\n widthPx?: number;\n /** \uB192\uC774 (px) */\n heightPx?: number;\n /** \uCD5C\uC18C \uB108\uBE44 (px) */\n minWidthPx?: number;\n /** \uCD5C\uC18C \uB192\uC774 (px) */\n minHeightPx?: number;\n /** \uACE0\uC815 \uC704\uCE58 */\n position?: \"bottom-right\" | \"top-right\";\n /** \uD5E4\uB354 \uC2A4\uD0C0\uC77C */\n headerStyle?: JSX.CSSProperties | string;\n /** \uD5E4\uB354 \uC561\uC158 \uC601\uC5ED */\n headerAction?: JSX.Element;\n /** \uB2EB\uAE30 \uC804 \uD655\uC778 \uD568\uC218 */\n canDeactivate?: () => boolean;\n /** \uB2EB\uAE30 \uC560\uB2C8\uBA54\uC774\uC158 \uC644\uB8CC \uD6C4 \uCF5C\uBC31 */\n onCloseComplete?: () => void;\n /** \uCD94\uAC00 CSS \uD074\uB798\uC2A4 */\n class?: string;\n /** \uC790\uC2DD \uC694\uC18C */\n children: JSX.Element;\n}\n\ntype ResizeDirection = \"left\" | \"right\" | \"top\" | \"bottom\" | \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n\nconst RESIZE_DIRECTIONS: ResizeDirection[] = [\n \"left\",\n \"right\",\n \"top\",\n \"bottom\",\n \"top-left\",\n \"top-right\",\n \"bottom-left\",\n \"bottom-right\",\n];\n\nconst resizeCursorMap: Record<ResizeDirection, string> = {\n \"left\": \"cursor-ew-resize\",\n \"right\": \"cursor-ew-resize\",\n \"top\": \"cursor-ns-resize\",\n \"bottom\": \"cursor-ns-resize\",\n \"top-left\": \"cursor-nwse-resize\",\n \"top-right\": \"cursor-nesw-resize\",\n \"bottom-left\": \"cursor-nesw-resize\",\n \"bottom-right\": \"cursor-nwse-resize\",\n};\n\nconst dialogContentClass = clsx(\"flex-1\", \"overflow-auto\");\n\nconst resizePositionMap: Record<ResizeDirection, string> = {\n \"left\": clsx(\"left-0 top-0\", \"h-full w-1.5\"),\n \"right\": clsx(\"right-0 top-0\", \"h-full w-1.5\"),\n \"top\": clsx(\"left-0 top-0\", \"h-1.5 w-full\"),\n \"bottom\": clsx(\"bottom-0 left-0\", \"h-1.5 w-full\"),\n \"top-left\": clsx(\"left-0 top-0\", \"z-[1] size-1.5\"),\n \"top-right\": clsx(\"right-0 top-0\", \"z-[1] size-1.5\"),\n \"bottom-left\": clsx(\"bottom-0 left-0\", \"z-[1] size-1.5\"),\n \"bottom-right\": clsx(\"bottom-0 right-0\", \"z-[1] size-1.5\"),\n};\n\n/**\n * \uB2E4\uC774\uC5BC\uB85C\uADF8 \uCEF4\uD3EC\uB10C\uD2B8\n *\n * \uC120\uC5B8\uC801 \uB2E4\uC774\uC5BC\uB85C\uADF8 UI\uB97C \uC81C\uACF5\uD569\uB2C8\uB2E4. \uB4DC\uB798\uADF8 \uC774\uB3D9, 8\uBC29\uD5A5 \uB9AC\uC0AC\uC774\uC988,\n * float/fill \uBAA8\uB4DC, z-index \uC790\uB3D9 \uAD00\uB9AC \uB4F1\uC744 \uC9C0\uC6D0\uD569\uB2C8\uB2E4.\n *\n * @example\n * ```tsx\n * const [open, setOpen] = createSignal(false);\n *\n * <Button onClick={() => setOpen(true)}>\uB2E4\uC774\uC5BC\uB85C\uADF8 \uC5F4\uAE30</Button>\n * <Dialog open={open()} onOpenChange={setOpen} title=\"\uB0B4 \uB2E4\uC774\uC5BC\uB85C\uADF8\">\n * <div class=\"p-4\">\uB2E4\uC774\uC5BC\uB85C\uADF8 \uB0B4\uC6A9</div>\n * </Dialog>\n * ```\n */\nexport const Dialog: ParentComponent<DialogProps> = (props) => {\n const dialogDefaults = useContext(DialogDefaultsContext);\n\n const [local] = splitProps(props, [\n \"open\",\n \"onOpenChange\",\n \"title\",\n \"hideHeader\",\n \"closable\",\n \"closeOnBackdrop\",\n \"closeOnEscape\",\n \"resizable\",\n \"movable\",\n \"float\",\n \"fill\",\n \"widthPx\",\n \"heightPx\",\n \"minWidthPx\",\n \"minHeightPx\",\n \"position\",\n \"headerStyle\",\n \"headerAction\",\n \"canDeactivate\",\n \"onCloseComplete\",\n \"class\",\n \"children\",\n ]);\n\n const [open, setOpen] = createControllableSignal({\n value: () => local.open ?? false,\n onChange: () => local.onOpenChange,\n });\n\n // \uC560\uB2C8\uBA54\uC774\uC158 \uC0C1\uD0DC (mount transition)\n const { mounted, animating, unmount } = createMountTransition(open);\n\n // onCloseComplete \uC911\uBCF5 \uD638\uCD9C \uBC29\uC9C0\n let closeCompleteEmitted = false;\n\n const emitCloseComplete = () => {\n if (closeCompleteEmitted) return;\n closeCompleteEmitted = true;\n unmount();\n local.onCloseComplete?.();\n };\n\n // open \uBCC0\uACBD \uC2DC closeCompleteEmitted \uCD08\uAE30\uD654\n createEffect(() => {\n if (open()) {\n closeCompleteEmitted = false;\n }\n });\n\n // dialog ref\n let dialogRef: HTMLDivElement | undefined;\n\n // wrapper ref\n let wrapperRef: HTMLDivElement | undefined;\n\n const closeOnEscape = () => local.closeOnEscape ?? dialogDefaults?.().closeOnEscape ?? true;\n const closeOnBackdrop = () => local.closeOnBackdrop ?? dialogDefaults?.().closeOnBackdrop ?? false;\n\n // Escape \uD0A4 \uAC10\uC9C0\n createEffect(() => {\n if (!open()) return;\n if (!closeOnEscape()) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n tryClose();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", handleKeyDown));\n });\n\n // \uC5F4\uB9B4 \uB54C \uB4F1\uB85D, \uB2EB\uD790 \uB54C \uD574\uC81C\n createEffect(() => {\n if (!open()) return;\n if (!wrapperRef) return;\n registerDialog(wrapperRef);\n onCleanup(() => {\n if (wrapperRef) unregisterDialog(wrapperRef);\n });\n });\n\n // \uB2EB\uAE30 \uC2DC\uB3C4 (canDeactivate \uCCB4\uD06C)\n const tryClose = () => {\n if (local.canDeactivate && !local.canDeactivate()) return;\n setOpen(false);\n };\n\n // \uBC31\uB4DC\uB86D \uD074\uB9AD \uD578\uB4E4\uB7EC\n const handleBackdropClick = () => {\n if (!closeOnBackdrop()) return;\n tryClose();\n };\n\n // \uB2EB\uAE30 \uBC84\uD2BC \uD074\uB9AD \uD578\uB4E4\uB7EC\n const handleCloseClick = () => {\n tryClose();\n };\n\n // transitionend \uC774\uBCA4\uD2B8 \uCC98\uB9AC\n const handleTransitionEnd = (e: TransitionEvent) => {\n if (e.propertyName !== \"opacity\") return;\n if (!open()) {\n emitCloseComplete();\n }\n };\n\n // z-index \uC790\uB3D9 \uAD00\uB9AC\n const handleDialogFocus = () => {\n if (!wrapperRef) return;\n bringToFront(wrapperRef);\n };\n\n // \uB4DC\uB798\uADF8 \uC774\uB3D9\n const handleHeaderPointerDown = (event: PointerEvent) => {\n // movable \uAE30\uBCF8\uAC12\uC740 true\n if (local.movable === false) return;\n if (!dialogRef || !wrapperRef) return;\n // \uB2EB\uAE30 \uBC84\uD2BC \uB4F1 \uC778\uD130\uB799\uD2F0\uBE0C \uC694\uC18C\uC5D0\uC11C \uC2DC\uC791\uB41C \uC774\uBCA4\uD2B8\uB294 \uB4DC\uB798\uADF8\uB85C \uCC98\uB9AC\uD558\uC9C0 \uC54A\uC74C\n if ((event.target as HTMLElement).closest(\"button\")) return;\n\n const target = event.currentTarget as HTMLElement;\n target.setPointerCapture(event.pointerId);\n\n const dialogEl = dialogRef;\n const wrapperEl = wrapperRef;\n\n const startX = event.clientX;\n const startY = event.clientY;\n const startTop = dialogEl.offsetTop;\n const startLeft = dialogEl.offsetLeft;\n\n const doDrag = (e: PointerEvent): void => {\n e.stopPropagation();\n e.preventDefault();\n\n dialogEl.style.position = \"absolute\";\n dialogEl.style.left = `${startLeft + e.clientX - startX}px`;\n dialogEl.style.top = `${startTop + e.clientY - startY}px`;\n dialogEl.style.right = \"auto\";\n dialogEl.style.bottom = \"auto\";\n dialogEl.style.margin = \"0\";\n\n // \uD654\uBA74 \uBC16 \uBC29\uC9C0\n if (dialogEl.offsetLeft > wrapperEl.offsetWidth - 100) {\n dialogEl.style.left = wrapperEl.offsetWidth - 100 + \"px\";\n }\n if (dialogEl.offsetTop > wrapperEl.offsetHeight - 100) {\n dialogEl.style.top = wrapperEl.offsetHeight - 100 + \"px\";\n }\n if (dialogEl.offsetTop < 0) {\n dialogEl.style.top = \"0\";\n }\n if (dialogEl.offsetLeft < -dialogEl.offsetWidth + 100) {\n dialogEl.style.left = -dialogEl.offsetWidth + 100 + \"px\";\n }\n };\n\n const stopDrag = (e: PointerEvent): void => {\n e.stopPropagation();\n e.preventDefault();\n\n target.removeEventListener(\"pointermove\", doDrag);\n target.removeEventListener(\"pointerup\", stopDrag);\n };\n\n target.addEventListener(\"pointermove\", doDrag);\n target.addEventListener(\"pointerup\", stopDrag);\n };\n\n // \uB9AC\uC0AC\uC774\uC988\n const handleResizeBarPointerDown = (event: PointerEvent, direction: ResizeDirection) => {\n if (!local.resizable) return;\n if (!dialogRef) return;\n\n const target = event.currentTarget as HTMLElement;\n target.setPointerCapture(event.pointerId);\n\n const dialogEl = dialogRef;\n\n const startX = event.clientX;\n const startY = event.clientY;\n const startHeight = dialogEl.clientHeight;\n const startWidth = dialogEl.clientWidth;\n const startTop = dialogEl.offsetTop;\n const startLeft = dialogEl.offsetLeft;\n\n const doDrag = (e: PointerEvent): void => {\n e.stopPropagation();\n e.preventDefault();\n\n if (direction === \"top\" || direction === \"top-right\" || direction === \"top-left\") {\n if (dialogEl.style.position === \"absolute\") {\n dialogEl.style.top = startTop + (e.clientY - startY) + \"px\";\n dialogEl.style.bottom = \"auto\";\n }\n dialogEl.style.height = `${Math.max(startHeight - (e.clientY - startY), local.minHeightPx ?? 0)}px`;\n }\n if (direction === \"bottom\" || direction === \"bottom-right\" || direction === \"bottom-left\") {\n dialogEl.style.height = `${Math.max(startHeight + e.clientY - startY, local.minHeightPx ?? 0)}px`;\n }\n if (direction === \"right\" || direction === \"bottom-right\" || direction === \"top-right\") {\n dialogEl.style.width = `${Math.max(\n startWidth + (e.clientX - startX) * (dialogEl.style.position === \"absolute\" ? 1 : 2),\n local.minWidthPx ?? 0,\n )}px`;\n }\n if (direction === \"left\" || direction === \"bottom-left\" || direction === \"top-left\") {\n if (dialogEl.style.position === \"absolute\") {\n dialogEl.style.left = startLeft + (e.clientX - startX) + \"px\";\n }\n dialogEl.style.width = `${Math.max(\n startWidth - (e.clientX - startX) * (dialogEl.style.position === \"absolute\" ? 1 : 2),\n local.minWidthPx ?? 0,\n )}px`;\n }\n };\n\n const stopDrag = (e: PointerEvent): void => {\n e.stopPropagation();\n e.preventDefault();\n\n target.removeEventListener(\"pointermove\", doDrag);\n target.removeEventListener(\"pointerup\", stopDrag);\n };\n\n target.addEventListener(\"pointermove\", doDrag);\n target.addEventListener(\"pointerup\", stopDrag);\n };\n\n // dialog \uC778\uB77C\uC778 \uC2A4\uD0C0\uC77C \uACC4\uC0B0\n const dialogStyle = (): JSX.CSSProperties => {\n const style: JSX.CSSProperties = {};\n\n if (local.fill) {\n style.width = \"100%\";\n style.height = \"100%\";\n } else {\n if (local.widthPx !== undefined) {\n style.width = `${local.widthPx}px`;\n }\n if (local.heightPx !== undefined) {\n style.height = `${local.heightPx}px`;\n }\n }\n\n if (local.minWidthPx !== undefined) {\n style[\"min-width\"] = `${local.minWidthPx}px`;\n }\n if (local.minHeightPx !== undefined) {\n style[\"min-height\"] = `${local.minHeightPx}px`;\n }\n\n // position \uBAA8\uB4DC\n if (local.position === \"bottom-right\") {\n style.position = \"absolute\";\n style.right = \"3rem\";\n style.bottom = \"2rem\";\n } else if (local.position === \"top-right\") {\n style.position = \"absolute\";\n style.right = \"2rem\";\n style.top = \"2rem\";\n }\n\n return style;\n };\n\n // \uC560\uB2C8\uBA54\uC774\uC158 \uD074\uB798\uC2A4\n const animationClass = () => {\n const base = clsx(\"transition-[opacity,transform]\", \"duration-200\", \"ease-out\");\n if (animating()) {\n return clsx(base, \"translate-y-0 opacity-100\");\n } else {\n return clsx(base, \"-translate-y-4 opacity-0\");\n }\n };\n\n // wrapper \uD074\uB798\uC2A4\n const wrapperClass = () =>\n // eslint-disable-next-line tailwindcss/enforces-shorthand -- inset-0\uC740 Chrome 84 \uBBF8\uC9C0\uC6D0\n clsx(\n \"fixed bottom-0 left-0 right-0 top-0\",\n \"flex flex-col items-center\",\n !local.fill && \"pt-[calc(3rem+0.5rem)]\",\n local.float && \"pointer-events-none\",\n );\n\n // \uBC31\uB4DC\uB86D \uD074\uB798\uC2A4\n const backdropClass = () =>\n // eslint-disable-next-line tailwindcss/enforces-shorthand -- inset-0\uC740 Chrome 84 \uBBF8\uC9C0\uC6D0\n clsx(\n \"absolute bottom-0 left-0 right-0 top-0\",\n \"bg-black/30\",\n \"dark:bg-black/50\",\n \"transition-opacity\",\n \"duration-200\",\n \"ease-out\",\n animating() ? \"opacity-100\" : \"opacity-0\",\n );\n\n // dialog \uD074\uB798\uC2A4\n const dialogBaseClass = () =>\n clsx(\n \"relative\",\n \"mx-auto\",\n \"w-fit min-w-[200px]\",\n \"bg-white dark:bg-base-800\",\n local.float ? clsx(\"shadow-md dark:shadow-black/30\", \"border\", borderSubtle) : \"shadow-2xl dark:shadow-black/40\",\n local.fill ? \"rounded-none border-none\" : \"rounded-lg\",\n \"overflow-hidden\",\n \"flex flex-col\",\n \"focus:outline-none\",\n local.float && \"pointer-events-auto\",\n animationClass(),\n );\n\n // \uD5E4\uB354 \uD074\uB798\uC2A4\n const headerClass = () => clsx(\"flex items-center\", \"select-none\", \"border-b\", borderSubtle);\n\n return (\n <Show when={mounted()}>\n <Portal>\n <div\n ref={(el) => {\n wrapperRef = el;\n }}\n data-modal\n class={wrapperClass()}\n >\n {/* \uBC31\uB4DC\uB86D */}\n <Show when={!local.float}>\n <div data-modal-backdrop class={backdropClass()} onClick={handleBackdropClick} />\n </Show>\n\n {/* \uB2E4\uC774\uC5BC\uB85C\uADF8 */}\n <div\n ref={(el) => {\n dialogRef = el;\n }}\n data-modal-dialog\n role=\"dialog\"\n aria-modal={local.float ? undefined : true}\n aria-label={local.title}\n tabIndex={0}\n class={twMerge(dialogBaseClass(), local.class)}\n style={dialogStyle()}\n onFocus={handleDialogFocus}\n onTransitionEnd={handleTransitionEnd}\n >\n {/* \uD5E4\uB354 */}\n <Show when={!local.hideHeader}>\n <div\n data-modal-header\n class={clsx(headerClass(), \"touch-none\")}\n style={typeof local.headerStyle === \"string\" ? mergeStyles(local.headerStyle) : local.headerStyle}\n onPointerDown={handleHeaderPointerDown}\n >\n <h5 class={clsx(\"flex-1\", \"px-4 py-2\", \"text-sm font-semibold\")}>{local.title}</h5>\n {local.headerAction}\n <Show when={local.closable ?? true}>\n <button\n data-modal-close\n type=\"button\"\n class={clsx(\n \"inline-flex items-center justify-center\",\n \"px-3 py-2\",\n \"text-base-400 dark:text-base-500\",\n \"hover:text-base-600 dark:hover:text-base-300\",\n \"cursor-pointer\",\n \"transition-colors\",\n )}\n onClick={handleCloseClick}\n >\n <Icon icon={IconX} size=\"1.25em\" />\n </button>\n </Show>\n </div>\n </Show>\n\n {/* \uCF58\uD150\uCE20 */}\n <div data-modal-content class={dialogContentClass}>\n {local.children}\n </div>\n\n {/* \uB9AC\uC0AC\uC774\uC988 \uBC14 */}\n <Show when={local.resizable}>\n <For each={RESIZE_DIRECTIONS}>\n {(direction) => (\n <div\n data-resize-bar={direction}\n class={clsx(\"absolute\", \"touch-none\", resizePositionMap[direction], resizeCursorMap[direction])}\n onPointerDown={(e) => handleResizeBarPointerDown(e, direction)}\n />\n )}\n </For>\n </Show>\n </div>\n </div>\n </Portal>\n </Show>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createContext, useContext } from "solid-js";
|
|
2
|
+
const DialogDefaultsContext = createContext();
|
|
3
|
+
const DialogContext = createContext();
|
|
4
|
+
function useDialog() {
|
|
5
|
+
const ctx = useContext(DialogContext);
|
|
6
|
+
if (!ctx) throw new Error("useDialog\uB294 DialogProvider \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4");
|
|
7
|
+
return ctx;
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
DialogContext,
|
|
11
|
+
DialogDefaultsContext,
|
|
12
|
+
useDialog
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=DialogContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/disclosure/DialogContext.ts"],
|
|
4
|
+
"sourcesContent": ["import { createContext, useContext, type Accessor, type JSX } from \"solid-js\";\n\nexport interface DialogDefaults {\n closeOnEscape?: boolean;\n closeOnBackdrop?: boolean;\n}\n\nexport const DialogDefaultsContext = createContext<Accessor<DialogDefaults>>();\n\nexport interface DialogShowOptions {\n title: string;\n hideHeader?: boolean;\n closable?: boolean;\n closeOnBackdrop?: boolean;\n closeOnEscape?: boolean;\n resizable?: boolean;\n movable?: boolean;\n float?: boolean;\n fill?: boolean;\n widthPx?: number;\n heightPx?: number;\n minWidthPx?: number;\n minHeightPx?: number;\n position?: \"bottom-right\" | \"top-right\";\n headerStyle?: JSX.CSSProperties | string;\n canDeactivate?: () => boolean;\n}\n\nexport interface DialogContextValue {\n show<T = undefined>(factory: () => JSX.Element, options: DialogShowOptions): Promise<T | undefined>;\n}\n\nexport const DialogContext = createContext<DialogContextValue>();\n\nexport function useDialog(): DialogContextValue {\n const ctx = useContext(DialogContext);\n if (!ctx) throw new Error(\"useDialog\uB294 DialogProvider \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4\");\n return ctx;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,eAAe,kBAA2C;AAO5D,MAAM,wBAAwB,cAAwC;AAyBtE,MAAM,gBAAgB,cAAkC;AAExD,SAAS,YAAgC;AAC9C,QAAM,MAAM,WAAW,aAAa;AACpC,MAAI,CAAC,IAAK,OAAM,IAAI,MAAM,kHAA4C;AACtE,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from "solid-js";
|
|
2
|
+
const DialogInstanceContext = createContext();
|
|
3
|
+
function useDialogInstance() {
|
|
4
|
+
return useContext(DialogInstanceContext);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
DialogInstanceContext,
|
|
8
|
+
useDialogInstance
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=DialogInstanceContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/disclosure/DialogInstanceContext.ts"],
|
|
4
|
+
"sourcesContent": ["import { createContext, useContext } from \"solid-js\";\n\nexport interface DialogInstance<T> {\n close: (result?: T) => void;\n}\n\nexport const DialogInstanceContext = createContext<DialogInstance<unknown>>();\n\nexport function useDialogInstance<T = undefined>(): DialogInstance<T> | undefined {\n return useContext(DialogInstanceContext) as DialogInstance<T> | undefined;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,eAAe,kBAAkB;AAMnC,MAAM,wBAAwB,cAAuC;AAErE,SAAS,oBAAkE;AAChF,SAAO,WAAW,qBAAqB;AACzC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|