@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.
Files changed (745) hide show
  1. package/.cache/typecheck-browser.tsbuildinfo +1 -0
  2. package/.cache/typecheck-tests-browser.tsbuildinfo +1 -0
  3. package/README.md +1652 -0
  4. package/dist/components/data/Pagination.js +110 -0
  5. package/dist/components/data/Pagination.js.map +7 -0
  6. package/dist/components/data/Table.js +34 -0
  7. package/dist/components/data/Table.js.map +7 -0
  8. package/dist/components/data/calendar/Calendar.js +90 -0
  9. package/dist/components/data/calendar/Calendar.js.map +7 -0
  10. package/dist/components/data/kanban/Kanban.js +367 -0
  11. package/dist/components/data/kanban/Kanban.js.map +7 -0
  12. package/dist/components/data/kanban/KanbanContext.js +24 -0
  13. package/dist/components/data/kanban/KanbanContext.js.map +7 -0
  14. package/dist/components/data/list/List.js +133 -0
  15. package/dist/components/data/list/List.js.map +7 -0
  16. package/dist/components/data/list/ListContext.js +8 -0
  17. package/dist/components/data/list/ListContext.js.map +7 -0
  18. package/dist/components/data/list/ListItem.js +101 -0
  19. package/dist/components/data/list/ListItem.js.map +7 -0
  20. package/dist/components/data/list/ListItem.styles.js +43 -0
  21. package/dist/components/data/list/ListItem.styles.js.map +7 -0
  22. package/dist/components/data/permission-table/PermissionTable.js +189 -0
  23. package/dist/components/data/permission-table/PermissionTable.js.map +7 -0
  24. package/dist/components/data/sheet/DataSheet.js +907 -0
  25. package/dist/components/data/sheet/DataSheet.js.map +7 -0
  26. package/dist/components/data/sheet/DataSheet.styles.js +142 -0
  27. package/dist/components/data/sheet/DataSheet.styles.js.map +7 -0
  28. package/dist/components/data/sheet/DataSheetColumn.js +28 -0
  29. package/dist/components/data/sheet/DataSheetColumn.js.map +7 -0
  30. package/dist/components/data/sheet/DataSheetConfigDialog.js +83 -0
  31. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +7 -0
  32. package/dist/components/data/sheet/sheetUtils.js +125 -0
  33. package/dist/components/data/sheet/sheetUtils.js.map +7 -0
  34. package/dist/components/data/sheet/types.js +1 -0
  35. package/dist/components/data/sheet/types.js.map +7 -0
  36. package/dist/components/disclosure/Collapse.js +45 -0
  37. package/dist/components/disclosure/Collapse.js.map +7 -0
  38. package/dist/components/disclosure/Dialog.js +367 -0
  39. package/dist/components/disclosure/Dialog.js.map +7 -0
  40. package/dist/components/disclosure/DialogContext.js +14 -0
  41. package/dist/components/disclosure/DialogContext.js.map +7 -0
  42. package/dist/components/disclosure/DialogInstanceContext.js +10 -0
  43. package/dist/components/disclosure/DialogInstanceContext.js.map +7 -0
  44. package/dist/components/disclosure/DialogProvider.js +88 -0
  45. package/dist/components/disclosure/DialogProvider.js.map +7 -0
  46. package/dist/components/disclosure/Dropdown.js +244 -0
  47. package/dist/components/disclosure/Dropdown.js.map +7 -0
  48. package/dist/components/disclosure/Tabs.js +75 -0
  49. package/dist/components/disclosure/Tabs.js.map +7 -0
  50. package/dist/components/disclosure/dialogZIndex.js +32 -0
  51. package/dist/components/disclosure/dialogZIndex.js.map +7 -0
  52. package/dist/components/display/Alert.js +18 -0
  53. package/dist/components/display/Alert.js.map +7 -0
  54. package/dist/components/display/Barcode.js +39 -0
  55. package/dist/components/display/Barcode.js.map +7 -0
  56. package/dist/components/display/Card.js +21 -0
  57. package/dist/components/display/Card.js.map +7 -0
  58. package/dist/components/display/Echarts.js +33 -0
  59. package/dist/components/display/Echarts.js.map +7 -0
  60. package/dist/components/display/Icon.js +10 -0
  61. package/dist/components/display/Icon.js.map +7 -0
  62. package/dist/components/display/Tag.js +20 -0
  63. package/dist/components/display/Tag.js.map +7 -0
  64. package/dist/components/feedback/Progress.js +37 -0
  65. package/dist/components/feedback/Progress.js.map +7 -0
  66. package/dist/components/feedback/loading/LoadingContainer.js +83 -0
  67. package/dist/components/feedback/loading/LoadingContainer.js.map +7 -0
  68. package/dist/components/feedback/loading/LoadingContext.js +14 -0
  69. package/dist/components/feedback/loading/LoadingContext.js.map +7 -0
  70. package/dist/components/feedback/loading/LoadingProvider.js +47 -0
  71. package/dist/components/feedback/loading/LoadingProvider.js.map +7 -0
  72. package/dist/components/feedback/notification/NotificationBanner.js +61 -0
  73. package/dist/components/feedback/notification/NotificationBanner.js.map +7 -0
  74. package/dist/components/feedback/notification/NotificationBell.js +85 -0
  75. package/dist/components/feedback/notification/NotificationBell.js.map +7 -0
  76. package/dist/components/feedback/notification/NotificationContext.js +14 -0
  77. package/dist/components/feedback/notification/NotificationContext.js.map +7 -0
  78. package/dist/components/feedback/notification/NotificationProvider.js +101 -0
  79. package/dist/components/feedback/notification/NotificationProvider.js.map +7 -0
  80. package/dist/components/feedback/notification/index.js +5 -0
  81. package/dist/components/feedback/notification/index.js.map +7 -0
  82. package/dist/components/feedback/print/Print.js +12 -0
  83. package/dist/components/feedback/print/Print.js.map +7 -0
  84. package/dist/components/feedback/print/PrintInstanceContext.js +10 -0
  85. package/dist/components/feedback/print/PrintInstanceContext.js.map +7 -0
  86. package/dist/components/form-control/Button.js +74 -0
  87. package/dist/components/form-control/Button.js.map +7 -0
  88. package/dist/components/form-control/DropdownTrigger.styles.js +44 -0
  89. package/dist/components/form-control/DropdownTrigger.styles.js.map +7 -0
  90. package/dist/components/form-control/ThemeToggle.js +57 -0
  91. package/dist/components/form-control/ThemeToggle.js.map +7 -0
  92. package/dist/components/form-control/checkbox/Checkbox.js +78 -0
  93. package/dist/components/form-control/checkbox/Checkbox.js.map +7 -0
  94. package/dist/components/form-control/checkbox/Checkbox.styles.js +57 -0
  95. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +7 -0
  96. package/dist/components/form-control/checkbox/CheckboxGroup.js +65 -0
  97. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +7 -0
  98. package/dist/components/form-control/checkbox/Radio.js +78 -0
  99. package/dist/components/form-control/checkbox/Radio.js.map +7 -0
  100. package/dist/components/form-control/checkbox/RadioGroup.js +60 -0
  101. package/dist/components/form-control/checkbox/RadioGroup.js.map +7 -0
  102. package/dist/components/form-control/color-picker/ColorPicker.js +55 -0
  103. package/dist/components/form-control/color-picker/ColorPicker.js.map +7 -0
  104. package/dist/components/form-control/combobox/Combobox.js +214 -0
  105. package/dist/components/form-control/combobox/Combobox.js.map +7 -0
  106. package/dist/components/form-control/combobox/ComboboxContext.js +14 -0
  107. package/dist/components/form-control/combobox/ComboboxContext.js.map +7 -0
  108. package/dist/components/form-control/combobox/ComboboxItem.js +49 -0
  109. package/dist/components/form-control/combobox/ComboboxItem.js.map +7 -0
  110. package/dist/components/form-control/date-range-picker/DateRangePicker.js +136 -0
  111. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +7 -0
  112. package/dist/components/form-control/editor/EditorToolbar.js +290 -0
  113. package/dist/components/form-control/editor/EditorToolbar.js.map +7 -0
  114. package/dist/components/form-control/editor/RichTextEditor.js +114 -0
  115. package/dist/components/form-control/editor/RichTextEditor.js.map +7 -0
  116. package/dist/components/form-control/field/DatePicker.js +167 -0
  117. package/dist/components/form-control/field/DatePicker.js.map +7 -0
  118. package/dist/components/form-control/field/DateTimePicker.js +168 -0
  119. package/dist/components/form-control/field/DateTimePicker.js.map +7 -0
  120. package/dist/components/form-control/field/Field.styles.js +35 -0
  121. package/dist/components/form-control/field/Field.styles.js.map +7 -0
  122. package/dist/components/form-control/field/NumberInput.js +193 -0
  123. package/dist/components/form-control/field/NumberInput.js.map +7 -0
  124. package/dist/components/form-control/field/TextInput.js +178 -0
  125. package/dist/components/form-control/field/TextInput.js.map +7 -0
  126. package/dist/components/form-control/field/Textarea.js +186 -0
  127. package/dist/components/form-control/field/Textarea.js.map +7 -0
  128. package/dist/components/form-control/field/TimePicker.js +138 -0
  129. package/dist/components/form-control/field/TimePicker.js.map +7 -0
  130. package/dist/components/form-control/numpad/Numpad.js +107 -0
  131. package/dist/components/form-control/numpad/Numpad.js.map +7 -0
  132. package/dist/components/form-control/select/Select.js +196 -0
  133. package/dist/components/form-control/select/Select.js.map +7 -0
  134. package/dist/components/form-control/select/SelectContext.js +14 -0
  135. package/dist/components/form-control/select/SelectContext.js.map +7 -0
  136. package/dist/components/form-control/select/SelectItem.js +65 -0
  137. package/dist/components/form-control/select/SelectItem.js.map +7 -0
  138. package/dist/components/form-control/state-preset/StatePreset.js +195 -0
  139. package/dist/components/form-control/state-preset/StatePreset.js.map +7 -0
  140. package/dist/components/layout/FormGroup.js +34 -0
  141. package/dist/components/layout/FormGroup.js.map +7 -0
  142. package/dist/components/layout/FormTable.js +24 -0
  143. package/dist/components/layout/FormTable.js.map +7 -0
  144. package/dist/components/layout/sidebar/Sidebar.js +63 -0
  145. package/dist/components/layout/sidebar/Sidebar.js.map +7 -0
  146. package/dist/components/layout/sidebar/SidebarContainer.js +70 -0
  147. package/dist/components/layout/sidebar/SidebarContainer.js.map +7 -0
  148. package/dist/components/layout/sidebar/SidebarContext.js +20 -0
  149. package/dist/components/layout/sidebar/SidebarContext.js.map +7 -0
  150. package/dist/components/layout/sidebar/SidebarMenu.js +84 -0
  151. package/dist/components/layout/sidebar/SidebarMenu.js.map +7 -0
  152. package/dist/components/layout/sidebar/SidebarUser.js +51 -0
  153. package/dist/components/layout/sidebar/SidebarUser.js.map +7 -0
  154. package/dist/components/layout/topbar/Topbar.js +48 -0
  155. package/dist/components/layout/topbar/Topbar.js.map +7 -0
  156. package/dist/components/layout/topbar/TopbarContainer.js +13 -0
  157. package/dist/components/layout/topbar/TopbarContainer.js.map +7 -0
  158. package/dist/components/layout/topbar/TopbarMenu.js +106 -0
  159. package/dist/components/layout/topbar/TopbarMenu.js.map +7 -0
  160. package/dist/components/layout/topbar/TopbarUser.js +44 -0
  161. package/dist/components/layout/topbar/TopbarUser.js.map +7 -0
  162. package/dist/core-browser/src/extensions/element-ext.d.ts +98 -0
  163. package/dist/core-browser/src/extensions/element-ext.d.ts.map +1 -0
  164. package/dist/core-browser/src/extensions/html-element-ext.d.ts +54 -0
  165. package/dist/core-browser/src/extensions/html-element-ext.d.ts.map +1 -0
  166. package/dist/core-browser/src/index.d.ts +7 -0
  167. package/dist/core-browser/src/index.d.ts.map +1 -0
  168. package/dist/core-browser/src/utils/blob.d.ts +10 -0
  169. package/dist/core-browser/src/utils/blob.d.ts.map +1 -0
  170. package/dist/core-browser/src/utils/download.d.ts +11 -0
  171. package/dist/core-browser/src/utils/download.d.ts.map +1 -0
  172. package/dist/core-common/src/common.types.d.ts +74 -0
  173. package/dist/core-common/src/common.types.d.ts.map +1 -0
  174. package/dist/core-common/src/env.d.ts +6 -0
  175. package/dist/core-common/src/env.d.ts.map +1 -0
  176. package/dist/core-common/src/errors/argument-error.d.ts +25 -0
  177. package/dist/core-common/src/errors/argument-error.d.ts.map +1 -0
  178. package/dist/core-common/src/errors/not-implemented-error.d.ts +29 -0
  179. package/dist/core-common/src/errors/not-implemented-error.d.ts.map +1 -0
  180. package/dist/core-common/src/errors/sd-error.d.ts +27 -0
  181. package/dist/core-common/src/errors/sd-error.d.ts.map +1 -0
  182. package/dist/core-common/src/errors/timeout-error.d.ts +31 -0
  183. package/dist/core-common/src/errors/timeout-error.d.ts.map +1 -0
  184. package/dist/core-common/src/extensions/arr-ext.d.ts +15 -0
  185. package/dist/core-common/src/extensions/arr-ext.d.ts.map +1 -0
  186. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts +19 -0
  187. package/dist/core-common/src/extensions/arr-ext.helpers.d.ts.map +1 -0
  188. package/dist/core-common/src/extensions/arr-ext.types.d.ts +215 -0
  189. package/dist/core-common/src/extensions/arr-ext.types.d.ts.map +1 -0
  190. package/dist/core-common/src/extensions/map-ext.d.ts +57 -0
  191. package/dist/core-common/src/extensions/map-ext.d.ts.map +1 -0
  192. package/dist/core-common/src/extensions/set-ext.d.ts +36 -0
  193. package/dist/core-common/src/extensions/set-ext.d.ts.map +1 -0
  194. package/dist/core-common/src/features/debounce-queue.d.ts +53 -0
  195. package/dist/core-common/src/features/debounce-queue.d.ts.map +1 -0
  196. package/dist/core-common/src/features/event-emitter.d.ts +66 -0
  197. package/dist/core-common/src/features/event-emitter.d.ts.map +1 -0
  198. package/dist/core-common/src/features/serial-queue.d.ts +47 -0
  199. package/dist/core-common/src/features/serial-queue.d.ts.map +1 -0
  200. package/dist/core-common/src/index.d.ts +32 -0
  201. package/dist/core-common/src/index.d.ts.map +1 -0
  202. package/dist/core-common/src/types/date-only.d.ts +152 -0
  203. package/dist/core-common/src/types/date-only.d.ts.map +1 -0
  204. package/dist/core-common/src/types/date-time.d.ts +96 -0
  205. package/dist/core-common/src/types/date-time.d.ts.map +1 -0
  206. package/dist/core-common/src/types/lazy-gc-map.d.ts +80 -0
  207. package/dist/core-common/src/types/lazy-gc-map.d.ts.map +1 -0
  208. package/dist/core-common/src/types/time.d.ts +68 -0
  209. package/dist/core-common/src/types/time.d.ts.map +1 -0
  210. package/dist/core-common/src/types/uuid.d.ts +35 -0
  211. package/dist/core-common/src/types/uuid.d.ts.map +1 -0
  212. package/dist/core-common/src/utils/bytes.d.ts +51 -0
  213. package/dist/core-common/src/utils/bytes.d.ts.map +1 -0
  214. package/dist/core-common/src/utils/date-format.d.ts +90 -0
  215. package/dist/core-common/src/utils/date-format.d.ts.map +1 -0
  216. package/dist/core-common/src/utils/json.d.ts +34 -0
  217. package/dist/core-common/src/utils/json.d.ts.map +1 -0
  218. package/dist/core-common/src/utils/num.d.ts +60 -0
  219. package/dist/core-common/src/utils/num.d.ts.map +1 -0
  220. package/dist/core-common/src/utils/obj.d.ts +258 -0
  221. package/dist/core-common/src/utils/obj.d.ts.map +1 -0
  222. package/dist/core-common/src/utils/path.d.ts +23 -0
  223. package/dist/core-common/src/utils/path.d.ts.map +1 -0
  224. package/dist/core-common/src/utils/primitive.d.ts +18 -0
  225. package/dist/core-common/src/utils/primitive.d.ts.map +1 -0
  226. package/dist/core-common/src/utils/str.d.ts +103 -0
  227. package/dist/core-common/src/utils/str.d.ts.map +1 -0
  228. package/dist/core-common/src/utils/template-strings.d.ts +84 -0
  229. package/dist/core-common/src/utils/template-strings.d.ts.map +1 -0
  230. package/dist/core-common/src/utils/transferable.d.ts +47 -0
  231. package/dist/core-common/src/utils/transferable.d.ts.map +1 -0
  232. package/dist/core-common/src/utils/wait.d.ts +19 -0
  233. package/dist/core-common/src/utils/wait.d.ts.map +1 -0
  234. package/dist/core-common/src/utils/xml.d.ts +36 -0
  235. package/dist/core-common/src/utils/xml.d.ts.map +1 -0
  236. package/dist/core-common/src/zip/sd-zip.d.ts +80 -0
  237. package/dist/core-common/src/zip/sd-zip.d.ts.map +1 -0
  238. package/dist/directives/ripple.js +106 -0
  239. package/dist/directives/ripple.js.map +7 -0
  240. package/dist/helpers/createAppStructure.js +96 -0
  241. package/dist/helpers/createAppStructure.js.map +7 -0
  242. package/dist/helpers/mergeStyles.js +27 -0
  243. package/dist/helpers/mergeStyles.js.map +7 -0
  244. package/dist/helpers/splitSlots.js +25 -0
  245. package/dist/helpers/splitSlots.js.map +7 -0
  246. package/dist/hooks/createControllableSignal.js +24 -0
  247. package/dist/hooks/createControllableSignal.js.map +7 -0
  248. package/dist/hooks/createIMEHandler.js +50 -0
  249. package/dist/hooks/createIMEHandler.js.map +7 -0
  250. package/dist/hooks/createMountTransition.js +33 -0
  251. package/dist/hooks/createMountTransition.js.map +7 -0
  252. package/dist/hooks/useClipboardValueCopy.js +121 -0
  253. package/dist/hooks/useClipboardValueCopy.js.map +7 -0
  254. package/dist/hooks/usePersisted.js +25 -0
  255. package/dist/hooks/usePersisted.js.map +7 -0
  256. package/dist/hooks/usePrint.js +208 -0
  257. package/dist/hooks/usePrint.js.map +7 -0
  258. package/dist/hooks/useRouterLink.js +24 -0
  259. package/dist/hooks/useRouterLink.js.map +7 -0
  260. package/dist/index.js +94 -0
  261. package/dist/index.js.map +7 -0
  262. package/dist/orm-common/src/db-context.d.ts +669 -0
  263. package/dist/orm-common/src/db-context.d.ts.map +1 -0
  264. package/dist/orm-common/src/errors/db-transaction-error.d.ts +51 -0
  265. package/dist/orm-common/src/errors/db-transaction-error.d.ts.map +1 -0
  266. package/dist/orm-common/src/exec/executable.d.ts +79 -0
  267. package/dist/orm-common/src/exec/executable.d.ts.map +1 -0
  268. package/dist/orm-common/src/exec/queryable.d.ts +708 -0
  269. package/dist/orm-common/src/exec/queryable.d.ts.map +1 -0
  270. package/dist/orm-common/src/exec/search-parser.d.ts +72 -0
  271. package/dist/orm-common/src/exec/search-parser.d.ts.map +1 -0
  272. package/dist/orm-common/src/expr/expr-unit.d.ts +25 -0
  273. package/dist/orm-common/src/expr/expr-unit.d.ts.map +1 -0
  274. package/dist/orm-common/src/expr/expr.d.ts +1369 -0
  275. package/dist/orm-common/src/expr/expr.d.ts.map +1 -0
  276. package/dist/orm-common/src/index.d.ts +32 -0
  277. package/dist/orm-common/src/index.d.ts.map +1 -0
  278. package/dist/orm-common/src/models/system-migration.d.ts +10 -0
  279. package/dist/orm-common/src/models/system-migration.d.ts.map +1 -0
  280. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts +95 -0
  281. package/dist/orm-common/src/query-builder/base/expr-renderer-base.d.ts.map +1 -0
  282. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts +66 -0
  283. package/dist/orm-common/src/query-builder/base/query-builder-base.d.ts.map +1 -0
  284. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts +84 -0
  285. package/dist/orm-common/src/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -0
  286. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts +45 -0
  287. package/dist/orm-common/src/query-builder/mssql/mssql-query-builder.d.ts.map +1 -0
  288. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts +84 -0
  289. package/dist/orm-common/src/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -0
  290. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts +54 -0
  291. package/dist/orm-common/src/query-builder/mysql/mysql-query-builder.d.ts.map +1 -0
  292. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts +84 -0
  293. package/dist/orm-common/src/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -0
  294. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts +52 -0
  295. package/dist/orm-common/src/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -0
  296. package/dist/orm-common/src/query-builder/query-builder.d.ts +7 -0
  297. package/dist/orm-common/src/query-builder/query-builder.d.ts.map +1 -0
  298. package/dist/orm-common/src/schema/factory/column-builder.d.ts +394 -0
  299. package/dist/orm-common/src/schema/factory/column-builder.d.ts.map +1 -0
  300. package/dist/orm-common/src/schema/factory/index-builder.d.ts +151 -0
  301. package/dist/orm-common/src/schema/factory/index-builder.d.ts.map +1 -0
  302. package/dist/orm-common/src/schema/factory/relation-builder.d.ts +337 -0
  303. package/dist/orm-common/src/schema/factory/relation-builder.d.ts.map +1 -0
  304. package/dist/orm-common/src/schema/procedure-builder.d.ts +202 -0
  305. package/dist/orm-common/src/schema/procedure-builder.d.ts.map +1 -0
  306. package/dist/orm-common/src/schema/table-builder.d.ts +259 -0
  307. package/dist/orm-common/src/schema/table-builder.d.ts.map +1 -0
  308. package/dist/orm-common/src/schema/view-builder.d.ts +183 -0
  309. package/dist/orm-common/src/schema/view-builder.d.ts.map +1 -0
  310. package/dist/orm-common/src/types/column.d.ts +172 -0
  311. package/dist/orm-common/src/types/column.d.ts.map +1 -0
  312. package/dist/orm-common/src/types/db.d.ts +175 -0
  313. package/dist/orm-common/src/types/db.d.ts.map +1 -0
  314. package/dist/orm-common/src/types/expr.d.ts +474 -0
  315. package/dist/orm-common/src/types/expr.d.ts.map +1 -0
  316. package/dist/orm-common/src/types/query-def.d.ts +351 -0
  317. package/dist/orm-common/src/types/query-def.d.ts.map +1 -0
  318. package/dist/orm-common/src/utils/result-parser.d.ts +38 -0
  319. package/dist/orm-common/src/utils/result-parser.d.ts.map +1 -0
  320. package/dist/providers/ConfigContext.js +14 -0
  321. package/dist/providers/ConfigContext.js.map +7 -0
  322. package/dist/providers/InitializeProvider.js +10 -0
  323. package/dist/providers/InitializeProvider.js.map +7 -0
  324. package/dist/providers/ServiceClientContext.js +16 -0
  325. package/dist/providers/ServiceClientContext.js.map +7 -0
  326. package/dist/providers/ServiceClientProvider.js +116 -0
  327. package/dist/providers/ServiceClientProvider.js.map +7 -0
  328. package/dist/providers/ThemeContext.js +48 -0
  329. package/dist/providers/ThemeContext.js.map +7 -0
  330. package/dist/providers/shared-data/SharedDataChangeEvent.js +8 -0
  331. package/dist/providers/shared-data/SharedDataChangeEvent.js.map +7 -0
  332. package/dist/providers/shared-data/SharedDataContext.js +16 -0
  333. package/dist/providers/shared-data/SharedDataContext.js.map +7 -0
  334. package/dist/providers/shared-data/SharedDataProvider.js +115 -0
  335. package/dist/providers/shared-data/SharedDataProvider.js.map +7 -0
  336. package/dist/service-client/src/features/event-client.d.ts +14 -0
  337. package/dist/service-client/src/features/event-client.d.ts.map +1 -0
  338. package/dist/service-client/src/features/file-client.d.ts +13 -0
  339. package/dist/service-client/src/features/file-client.d.ts.map +1 -0
  340. package/dist/service-client/src/features/orm/orm-client-connector.d.ts +10 -0
  341. package/dist/service-client/src/features/orm/orm-client-connector.d.ts.map +1 -0
  342. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts +26 -0
  343. package/dist/service-client/src/features/orm/orm-client-db-context-executor.d.ts.map +1 -0
  344. package/dist/service-client/src/features/orm/orm-connect-config.d.ts +13 -0
  345. package/dist/service-client/src/features/orm/orm-connect-config.d.ts.map +1 -0
  346. package/dist/service-client/src/index.d.ts +12 -0
  347. package/dist/service-client/src/index.d.ts.map +1 -0
  348. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts +23 -0
  349. package/dist/service-client/src/protocol/client-protocol-wrapper.d.ts.map +1 -0
  350. package/dist/service-client/src/service-client.d.ts +41 -0
  351. package/dist/service-client/src/service-client.d.ts.map +1 -0
  352. package/dist/service-client/src/transport/service-transport.d.ts +24 -0
  353. package/dist/service-client/src/transport/service-transport.d.ts.map +1 -0
  354. package/dist/service-client/src/transport/socket-provider.d.ts +31 -0
  355. package/dist/service-client/src/transport/socket-provider.d.ts.map +1 -0
  356. package/dist/service-client/src/types/connection-config.d.ts +8 -0
  357. package/dist/service-client/src/types/connection-config.d.ts.map +1 -0
  358. package/dist/service-client/src/types/progress.types.d.ts +10 -0
  359. package/dist/service-client/src/types/progress.types.d.ts.map +1 -0
  360. package/dist/service-common/src/index.d.ts +8 -0
  361. package/dist/service-common/src/index.d.ts.map +1 -0
  362. package/dist/service-common/src/protocol/protocol.types.d.ts +100 -0
  363. package/dist/service-common/src/protocol/protocol.types.d.ts.map +1 -0
  364. package/dist/service-common/src/protocol/service-protocol.d.ts +63 -0
  365. package/dist/service-common/src/protocol/service-protocol.d.ts.map +1 -0
  366. package/dist/service-common/src/service-types/auto-update-service.types.d.ts +17 -0
  367. package/dist/service-common/src/service-types/auto-update-service.types.d.ts.map +1 -0
  368. package/dist/service-common/src/service-types/crypto-service.types.d.ts +22 -0
  369. package/dist/service-common/src/service-types/crypto-service.types.d.ts.map +1 -0
  370. package/dist/service-common/src/service-types/orm-service.types.d.ts +30 -0
  371. package/dist/service-common/src/service-types/orm-service.types.d.ts.map +1 -0
  372. package/dist/service-common/src/service-types/smtp-service.types.d.ts +55 -0
  373. package/dist/service-common/src/service-types/smtp-service.types.d.ts.map +1 -0
  374. package/dist/service-common/src/types.d.ts +43 -0
  375. package/dist/service-common/src/types.d.ts.map +1 -0
  376. package/dist/solid/src/components/data/Pagination.d.ts +12 -0
  377. package/dist/solid/src/components/data/Pagination.d.ts.map +1 -0
  378. package/dist/solid/src/components/data/Table.d.ts +6 -0
  379. package/dist/solid/src/components/data/Table.d.ts.map +1 -0
  380. package/dist/solid/src/components/data/calendar/Calendar.d.ts +15 -0
  381. package/dist/solid/src/components/data/calendar/Calendar.d.ts.map +1 -0
  382. package/dist/solid/src/components/data/kanban/Kanban.d.ts +38 -0
  383. package/dist/solid/src/components/data/kanban/Kanban.d.ts.map +1 -0
  384. package/dist/solid/src/components/data/kanban/KanbanContext.d.ts +40 -0
  385. package/dist/solid/src/components/data/kanban/KanbanContext.d.ts.map +1 -0
  386. package/dist/solid/src/components/data/list/List.d.ts +36 -0
  387. package/dist/solid/src/components/data/list/List.d.ts.map +1 -0
  388. package/dist/solid/src/components/data/list/ListContext.d.ts +9 -0
  389. package/dist/solid/src/components/data/list/ListContext.d.ts.map +1 -0
  390. package/dist/solid/src/components/data/list/ListItem.d.ts +88 -0
  391. package/dist/solid/src/components/data/list/ListItem.d.ts.map +1 -0
  392. package/dist/solid/src/components/data/list/ListItem.styles.d.ts +10 -0
  393. package/dist/solid/src/components/data/list/ListItem.styles.d.ts.map +1 -0
  394. package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts +26 -0
  395. package/dist/solid/src/components/data/permission-table/PermissionTable.d.ts.map +1 -0
  396. package/dist/solid/src/components/data/sheet/DataSheet.d.ts +12 -0
  397. package/dist/solid/src/components/data/sheet/DataSheet.d.ts.map +1 -0
  398. package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts +33 -0
  399. package/dist/solid/src/components/data/sheet/DataSheet.styles.d.ts.map +1 -0
  400. package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts +5 -0
  401. package/dist/solid/src/components/data/sheet/DataSheetColumn.d.ts.map +1 -0
  402. package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts +8 -0
  403. package/dist/solid/src/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -0
  404. package/dist/solid/src/components/data/sheet/sheetUtils.d.ts +7 -0
  405. package/dist/solid/src/components/data/sheet/sheetUtils.d.ts.map +1 -0
  406. package/dist/solid/src/components/data/sheet/types.d.ts +113 -0
  407. package/dist/solid/src/components/data/sheet/types.d.ts.map +1 -0
  408. package/dist/solid/src/components/disclosure/Collapse.d.ts +21 -0
  409. package/dist/solid/src/components/disclosure/Collapse.d.ts.map +1 -0
  410. package/dist/solid/src/components/disclosure/Dialog.d.ts +65 -0
  411. package/dist/solid/src/components/disclosure/Dialog.d.ts.map +1 -0
  412. package/dist/solid/src/components/disclosure/DialogContext.d.ts +30 -0
  413. package/dist/solid/src/components/disclosure/DialogContext.d.ts.map +1 -0
  414. package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts +6 -0
  415. package/dist/solid/src/components/disclosure/DialogInstanceContext.d.ts.map +1 -0
  416. package/dist/solid/src/components/disclosure/DialogProvider.d.ts +19 -0
  417. package/dist/solid/src/components/disclosure/DialogProvider.d.ts.map +1 -0
  418. package/dist/solid/src/components/disclosure/Dropdown.d.ts +65 -0
  419. package/dist/solid/src/components/disclosure/Dropdown.d.ts.map +1 -0
  420. package/dist/solid/src/components/disclosure/Tabs.d.ts +24 -0
  421. package/dist/solid/src/components/disclosure/Tabs.d.ts.map +1 -0
  422. package/dist/solid/src/components/disclosure/dialogZIndex.d.ts +13 -0
  423. package/dist/solid/src/components/disclosure/dialogZIndex.d.ts.map +1 -0
  424. package/dist/solid/src/components/display/Alert.d.ts +8 -0
  425. package/dist/solid/src/components/display/Alert.d.ts.map +1 -0
  426. package/dist/solid/src/components/display/Barcode.d.ts +8 -0
  427. package/dist/solid/src/components/display/Barcode.d.ts.map +1 -0
  428. package/dist/solid/src/components/display/Card.d.ts +6 -0
  429. package/dist/solid/src/components/display/Card.d.ts.map +1 -0
  430. package/dist/solid/src/components/display/Echarts.d.ts +8 -0
  431. package/dist/solid/src/components/display/Echarts.d.ts.map +1 -0
  432. package/dist/solid/src/components/display/Icon.d.ts +8 -0
  433. package/dist/solid/src/components/display/Icon.d.ts.map +1 -0
  434. package/dist/solid/src/components/display/Tag.d.ts +8 -0
  435. package/dist/solid/src/components/display/Tag.d.ts.map +1 -0
  436. package/dist/solid/src/components/feedback/Progress.d.ts +12 -0
  437. package/dist/solid/src/components/feedback/Progress.d.ts.map +1 -0
  438. package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts +12 -0
  439. package/dist/solid/src/components/feedback/loading/LoadingContainer.d.ts.map +1 -0
  440. package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts +11 -0
  441. package/dist/solid/src/components/feedback/loading/LoadingContext.d.ts.map +1 -0
  442. package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts +7 -0
  443. package/dist/solid/src/components/feedback/loading/LoadingProvider.d.ts.map +1 -0
  444. package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts +3 -0
  445. package/dist/solid/src/components/feedback/notification/NotificationBanner.d.ts.map +1 -0
  446. package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts +6 -0
  447. package/dist/solid/src/components/feedback/notification/NotificationBell.d.ts.map +1 -0
  448. package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts +39 -0
  449. package/dist/solid/src/components/feedback/notification/NotificationContext.d.ts.map +1 -0
  450. package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts +3 -0
  451. package/dist/solid/src/components/feedback/notification/NotificationProvider.d.ts.map +1 -0
  452. package/dist/solid/src/components/feedback/notification/index.d.ts +5 -0
  453. package/dist/solid/src/components/feedback/notification/index.d.ts.map +1 -0
  454. package/dist/solid/src/components/feedback/print/Print.d.ts +9 -0
  455. package/dist/solid/src/components/feedback/print/Print.d.ts.map +1 -0
  456. package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts +6 -0
  457. package/dist/solid/src/components/feedback/print/PrintInstanceContext.d.ts.map +1 -0
  458. package/dist/solid/src/components/form-control/Button.d.ts +14 -0
  459. package/dist/solid/src/components/form-control/Button.d.ts.map +1 -0
  460. package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts +14 -0
  461. package/dist/solid/src/components/form-control/DropdownTrigger.styles.d.ts.map +1 -0
  462. package/dist/solid/src/components/form-control/ThemeToggle.d.ts +25 -0
  463. package/dist/solid/src/components/form-control/ThemeToggle.d.ts.map +1 -0
  464. package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts +16 -0
  465. package/dist/solid/src/components/form-control/checkbox/Checkbox.d.ts.map +1 -0
  466. package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts +12 -0
  467. package/dist/solid/src/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -0
  468. package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts +27 -0
  469. package/dist/solid/src/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -0
  470. package/dist/solid/src/components/form-control/checkbox/Radio.d.ts +16 -0
  471. package/dist/solid/src/components/form-control/checkbox/Radio.d.ts.map +1 -0
  472. package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts +27 -0
  473. package/dist/solid/src/components/form-control/checkbox/RadioGroup.d.ts.map +1 -0
  474. package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts +29 -0
  475. package/dist/solid/src/components/form-control/color-picker/ColorPicker.d.ts.map +1 -0
  476. package/dist/solid/src/components/form-control/combobox/Combobox.d.ts +80 -0
  477. package/dist/solid/src/components/form-control/combobox/Combobox.d.ts.map +1 -0
  478. package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts +11 -0
  479. package/dist/solid/src/components/form-control/combobox/ComboboxContext.d.ts.map +1 -0
  480. package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts +12 -0
  481. package/dist/solid/src/components/form-control/combobox/ComboboxItem.d.ts.map +1 -0
  482. package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts +55 -0
  483. package/dist/solid/src/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -0
  484. package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts +8 -0
  485. package/dist/solid/src/components/form-control/editor/EditorToolbar.d.ts.map +1 -0
  486. package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts +21 -0
  487. package/dist/solid/src/components/form-control/editor/RichTextEditor.d.ts.map +1 -0
  488. package/dist/solid/src/components/form-control/field/DatePicker.d.ts +61 -0
  489. package/dist/solid/src/components/form-control/field/DatePicker.d.ts.map +1 -0
  490. package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts +58 -0
  491. package/dist/solid/src/components/form-control/field/DateTimePicker.d.ts.map +1 -0
  492. package/dist/solid/src/components/form-control/field/Field.styles.d.ts +13 -0
  493. package/dist/solid/src/components/form-control/field/Field.styles.d.ts.map +1 -0
  494. package/dist/solid/src/components/form-control/field/NumberInput.d.ts +47 -0
  495. package/dist/solid/src/components/form-control/field/NumberInput.d.ts.map +1 -0
  496. package/dist/solid/src/components/form-control/field/TextInput.d.ts +51 -0
  497. package/dist/solid/src/components/form-control/field/TextInput.d.ts.map +1 -0
  498. package/dist/solid/src/components/form-control/field/Textarea.d.ts +42 -0
  499. package/dist/solid/src/components/form-control/field/Textarea.d.ts.map +1 -0
  500. package/dist/solid/src/components/form-control/field/TimePicker.d.ts +46 -0
  501. package/dist/solid/src/components/form-control/field/TimePicker.d.ts.map +1 -0
  502. package/dist/solid/src/components/form-control/numpad/Numpad.d.ts +28 -0
  503. package/dist/solid/src/components/form-control/numpad/Numpad.d.ts.map +1 -0
  504. package/dist/solid/src/components/form-control/select/Select.d.ts +104 -0
  505. package/dist/solid/src/components/form-control/select/Select.d.ts.map +1 -0
  506. package/dist/solid/src/components/form-control/select/SelectContext.d.ts +14 -0
  507. package/dist/solid/src/components/form-control/select/SelectContext.d.ts.map +1 -0
  508. package/dist/solid/src/components/form-control/select/SelectItem.d.ts +33 -0
  509. package/dist/solid/src/components/form-control/select/SelectItem.d.ts.map +1 -0
  510. package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts +14 -0
  511. package/dist/solid/src/components/form-control/state-preset/StatePreset.d.ts.map +1 -0
  512. package/dist/solid/src/components/layout/FormGroup.d.ts +14 -0
  513. package/dist/solid/src/components/layout/FormGroup.d.ts.map +1 -0
  514. package/dist/solid/src/components/layout/FormTable.d.ts +5 -0
  515. package/dist/solid/src/components/layout/FormTable.d.ts.map +1 -0
  516. package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts +35 -0
  517. package/dist/solid/src/components/layout/sidebar/Sidebar.d.ts.map +1 -0
  518. package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts +34 -0
  519. package/dist/solid/src/components/layout/sidebar/SidebarContainer.d.ts.map +1 -0
  520. package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts +28 -0
  521. package/dist/solid/src/components/layout/sidebar/SidebarContext.d.ts.map +1 -0
  522. package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts +41 -0
  523. package/dist/solid/src/components/layout/sidebar/SidebarMenu.d.ts.map +1 -0
  524. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts +36 -0
  525. package/dist/solid/src/components/layout/sidebar/SidebarUser.d.ts.map +1 -0
  526. package/dist/solid/src/components/layout/topbar/Topbar.d.ts +35 -0
  527. package/dist/solid/src/components/layout/topbar/Topbar.d.ts.map +1 -0
  528. package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts +25 -0
  529. package/dist/solid/src/components/layout/topbar/TopbarContainer.d.ts.map +1 -0
  530. package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts +41 -0
  531. package/dist/solid/src/components/layout/topbar/TopbarMenu.d.ts.map +1 -0
  532. package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts +35 -0
  533. package/dist/solid/src/components/layout/topbar/TopbarUser.d.ts.map +1 -0
  534. package/dist/solid/src/directives/ripple.d.ts +24 -0
  535. package/dist/solid/src/directives/ripple.d.ts.map +1 -0
  536. package/dist/solid/src/helpers/createAppStructure.d.ts +52 -0
  537. package/dist/solid/src/helpers/createAppStructure.d.ts.map +1 -0
  538. package/dist/solid/src/helpers/mergeStyles.d.ts +27 -0
  539. package/dist/solid/src/helpers/mergeStyles.d.ts.map +1 -0
  540. package/dist/solid/src/helpers/splitSlots.d.ts +25 -0
  541. package/dist/solid/src/helpers/splitSlots.d.ts.map +1 -0
  542. package/dist/solid/src/hooks/createControllableSignal.d.ts +40 -0
  543. package/dist/solid/src/hooks/createControllableSignal.d.ts.map +1 -0
  544. package/dist/solid/src/hooks/createIMEHandler.d.ts +20 -0
  545. package/dist/solid/src/hooks/createIMEHandler.d.ts.map +1 -0
  546. package/dist/solid/src/hooks/createMountTransition.d.ts +14 -0
  547. package/dist/solid/src/hooks/createMountTransition.d.ts.map +1 -0
  548. package/dist/solid/src/hooks/useClipboardValueCopy.d.ts +15 -0
  549. package/dist/solid/src/hooks/useClipboardValueCopy.d.ts.map +1 -0
  550. package/dist/solid/src/hooks/usePersisted.d.ts +26 -0
  551. package/dist/solid/src/hooks/usePersisted.d.ts.map +1 -0
  552. package/dist/solid/src/hooks/usePrint.d.ts +11 -0
  553. package/dist/solid/src/hooks/usePrint.d.ts.map +1 -0
  554. package/dist/solid/src/hooks/useRouterLink.d.ts +38 -0
  555. package/dist/solid/src/hooks/useRouterLink.d.ts.map +1 -0
  556. package/dist/solid/src/index.d.ts +85 -0
  557. package/dist/solid/src/index.d.ts.map +1 -0
  558. package/dist/solid/src/providers/ConfigContext.d.ts +48 -0
  559. package/dist/solid/src/providers/ConfigContext.d.ts.map +1 -0
  560. package/dist/solid/src/providers/InitializeProvider.d.ts +23 -0
  561. package/dist/solid/src/providers/InitializeProvider.d.ts.map +1 -0
  562. package/dist/solid/src/providers/ServiceClientContext.d.ts +10 -0
  563. package/dist/solid/src/providers/ServiceClientContext.d.ts.map +1 -0
  564. package/dist/solid/src/providers/ServiceClientProvider.d.ts +3 -0
  565. package/dist/solid/src/providers/ServiceClientProvider.d.ts.map +1 -0
  566. package/dist/solid/src/providers/ThemeContext.d.ts +65 -0
  567. package/dist/solid/src/providers/ThemeContext.d.ts.map +1 -0
  568. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts +8 -0
  569. package/dist/solid/src/providers/shared-data/SharedDataChangeEvent.d.ts.map +1 -0
  570. package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts +22 -0
  571. package/dist/solid/src/providers/shared-data/SharedDataContext.d.ts.map +1 -0
  572. package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts +9 -0
  573. package/dist/solid/src/providers/shared-data/SharedDataProvider.d.ts.map +1 -0
  574. package/dist/solid/src/styles/patterns.styles.d.ts +6 -0
  575. package/dist/solid/src/styles/patterns.styles.d.ts.map +1 -0
  576. package/dist/solid/src/styles/tokens.styles.d.ts +20 -0
  577. package/dist/solid/src/styles/tokens.styles.d.ts.map +1 -0
  578. package/dist/styles/patterns.styles.js +30 -0
  579. package/dist/styles/patterns.styles.js.map +7 -0
  580. package/dist/styles/tokens.styles.js +72 -0
  581. package/dist/styles/tokens.styles.js.map +7 -0
  582. package/package.json +56 -0
  583. package/src/base.css +78 -0
  584. package/src/components/data/Pagination.tsx +112 -0
  585. package/src/components/data/Table.tsx +43 -0
  586. package/src/components/data/calendar/Calendar.tsx +139 -0
  587. package/src/components/data/kanban/Kanban.css +10 -0
  588. package/src/components/data/kanban/Kanban.tsx +547 -0
  589. package/src/components/data/kanban/KanbanContext.ts +71 -0
  590. package/src/components/data/list/List.tsx +184 -0
  591. package/src/components/data/list/ListContext.ts +12 -0
  592. package/src/components/data/list/ListItem.styles.ts +49 -0
  593. package/src/components/data/list/ListItem.tsx +222 -0
  594. package/src/components/data/permission-table/PermissionTable.tsx +291 -0
  595. package/src/components/data/sheet/DataSheet.css +26 -0
  596. package/src/components/data/sheet/DataSheet.styles.ts +161 -0
  597. package/src/components/data/sheet/DataSheet.tsx +1198 -0
  598. package/src/components/data/sheet/DataSheetColumn.tsx +29 -0
  599. package/src/components/data/sheet/DataSheetConfigDialog.tsx +146 -0
  600. package/src/components/data/sheet/sheetUtils.ts +156 -0
  601. package/src/components/data/sheet/types.ts +143 -0
  602. package/src/components/disclosure/Collapse.tsx +72 -0
  603. package/src/components/disclosure/Dialog.tsx +520 -0
  604. package/src/components/disclosure/DialogContext.ts +39 -0
  605. package/src/components/disclosure/DialogInstanceContext.ts +11 -0
  606. package/src/components/disclosure/DialogProvider.tsx +133 -0
  607. package/src/components/disclosure/Dropdown.tsx +406 -0
  608. package/src/components/disclosure/Tabs.tsx +127 -0
  609. package/src/components/disclosure/dialogZIndex.ts +43 -0
  610. package/src/components/display/Alert.tsx +32 -0
  611. package/src/components/display/Barcode.tsx +158 -0
  612. package/src/components/display/Card.css +14 -0
  613. package/src/components/display/Card.tsx +26 -0
  614. package/src/components/display/Echarts.tsx +45 -0
  615. package/src/components/display/Icon.tsx +13 -0
  616. package/src/components/display/Tag.tsx +31 -0
  617. package/src/components/feedback/Progress.tsx +61 -0
  618. package/src/components/feedback/loading/LoadingContainer.css +19 -0
  619. package/src/components/feedback/loading/LoadingContainer.tsx +132 -0
  620. package/src/components/feedback/loading/LoadingContext.ts +20 -0
  621. package/src/components/feedback/loading/LoadingProvider.tsx +58 -0
  622. package/src/components/feedback/notification/NotificationBanner.tsx +83 -0
  623. package/src/components/feedback/notification/NotificationBell.tsx +132 -0
  624. package/src/components/feedback/notification/NotificationContext.ts +65 -0
  625. package/src/components/feedback/notification/NotificationProvider.tsx +143 -0
  626. package/src/components/feedback/notification/index.ts +4 -0
  627. package/src/components/feedback/print/Print.tsx +21 -0
  628. package/src/components/feedback/print/PrintInstanceContext.ts +11 -0
  629. package/src/components/form-control/Button.tsx +90 -0
  630. package/src/components/form-control/DropdownTrigger.styles.ts +47 -0
  631. package/src/components/form-control/ThemeToggle.tsx +96 -0
  632. package/src/components/form-control/checkbox/Checkbox.styles.ts +66 -0
  633. package/src/components/form-control/checkbox/Checkbox.tsx +106 -0
  634. package/src/components/form-control/checkbox/CheckboxGroup.tsx +116 -0
  635. package/src/components/form-control/checkbox/Radio.tsx +107 -0
  636. package/src/components/form-control/checkbox/RadioGroup.tsx +111 -0
  637. package/src/components/form-control/color-picker/ColorPicker.tsx +96 -0
  638. package/src/components/form-control/combobox/Combobox.tsx +390 -0
  639. package/src/components/form-control/combobox/ComboboxContext.ts +22 -0
  640. package/src/components/form-control/combobox/ComboboxItem.tsx +69 -0
  641. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +215 -0
  642. package/src/components/form-control/editor/EditorToolbar.tsx +348 -0
  643. package/src/components/form-control/editor/RichTextEditor.tsx +173 -0
  644. package/src/components/form-control/editor/editor.css +81 -0
  645. package/src/components/form-control/field/DatePicker.tsx +268 -0
  646. package/src/components/form-control/field/DateTimePicker.tsx +260 -0
  647. package/src/components/form-control/field/Field.styles.ts +42 -0
  648. package/src/components/form-control/field/NumberInput.tsx +328 -0
  649. package/src/components/form-control/field/TextInput.tsx +287 -0
  650. package/src/components/form-control/field/Textarea.tsx +262 -0
  651. package/src/components/form-control/field/TimePicker.tsx +215 -0
  652. package/src/components/form-control/numpad/Numpad.tsx +218 -0
  653. package/src/components/form-control/select/Select.tsx +404 -0
  654. package/src/components/form-control/select/SelectContext.ts +25 -0
  655. package/src/components/form-control/select/SelectItem.tsx +124 -0
  656. package/src/components/form-control/state-preset/StatePreset.tsx +277 -0
  657. package/src/components/layout/FormGroup.tsx +63 -0
  658. package/src/components/layout/FormTable.tsx +29 -0
  659. package/src/components/layout/sidebar/Sidebar.tsx +104 -0
  660. package/src/components/layout/sidebar/SidebarContainer.tsx +115 -0
  661. package/src/components/layout/sidebar/SidebarContext.ts +40 -0
  662. package/src/components/layout/sidebar/SidebarMenu.tsx +181 -0
  663. package/src/components/layout/sidebar/SidebarUser.tsx +107 -0
  664. package/src/components/layout/topbar/Topbar.tsx +93 -0
  665. package/src/components/layout/topbar/TopbarContainer.tsx +40 -0
  666. package/src/components/layout/topbar/TopbarMenu.tsx +206 -0
  667. package/src/components/layout/topbar/TopbarUser.tsx +96 -0
  668. package/src/directives/ripple.ts +151 -0
  669. package/src/helpers/createAppStructure.ts +183 -0
  670. package/src/helpers/mergeStyles.ts +55 -0
  671. package/src/helpers/splitSlots.ts +48 -0
  672. package/src/hooks/createControllableSignal.ts +63 -0
  673. package/src/hooks/createIMEHandler.ts +65 -0
  674. package/src/hooks/createMountTransition.ts +45 -0
  675. package/src/hooks/useClipboardValueCopy.ts +177 -0
  676. package/src/hooks/usePersisted.ts +51 -0
  677. package/src/hooks/usePrint.ts +277 -0
  678. package/src/hooks/useRouterLink.ts +64 -0
  679. package/src/index.ts +117 -0
  680. package/src/providers/ConfigContext.ts +59 -0
  681. package/src/providers/InitializeProvider.tsx +28 -0
  682. package/src/providers/ServiceClientContext.ts +21 -0
  683. package/src/providers/ServiceClientProvider.tsx +132 -0
  684. package/src/providers/ThemeContext.tsx +121 -0
  685. package/src/providers/shared-data/SharedDataChangeEvent.ts +8 -0
  686. package/src/providers/shared-data/SharedDataContext.ts +34 -0
  687. package/src/providers/shared-data/SharedDataProvider.tsx +149 -0
  688. package/src/styles/patterns.styles.ts +32 -0
  689. package/src/styles/tokens.styles.ts +83 -0
  690. package/tailwind.config.ts +50 -0
  691. package/tests/components/data/List.spec.tsx +683 -0
  692. package/tests/components/data/Pagination.spec.tsx +317 -0
  693. package/tests/components/data/Table.spec.tsx +55 -0
  694. package/tests/components/data/kanban/Kanban.selection.spec.tsx +209 -0
  695. package/tests/components/data/permission-table/PermissionTable.spec.tsx +280 -0
  696. package/tests/components/data/sheet/DataSheet.spec.tsx +564 -0
  697. package/tests/components/disclosure/Collapse.spec.tsx +162 -0
  698. package/tests/components/disclosure/Dialog.spec.tsx +319 -0
  699. package/tests/components/disclosure/DialogProvider.spec.tsx +110 -0
  700. package/tests/components/disclosure/Dropdown.spec.tsx +410 -0
  701. package/tests/components/disclosure/Tabs.spec.tsx +220 -0
  702. package/tests/components/display/Alert.spec.tsx +47 -0
  703. package/tests/components/display/Barcode.spec.tsx +61 -0
  704. package/tests/components/display/Card.spec.tsx +41 -0
  705. package/tests/components/display/Tag.spec.tsx +47 -0
  706. package/tests/components/feedback/notification/LiveRegion.spec.tsx +41 -0
  707. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +164 -0
  708. package/tests/components/feedback/notification/NotificationBell.spec.tsx +207 -0
  709. package/tests/components/feedback/notification/NotificationContext.spec.tsx +331 -0
  710. package/tests/components/feedback/print/Print.spec.tsx +45 -0
  711. package/tests/components/form-control/Button.spec.tsx +119 -0
  712. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +120 -0
  713. package/tests/components/form-control/checkbox/Radio.spec.tsx +112 -0
  714. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +67 -0
  715. package/tests/components/form-control/combobox/Combobox.spec.tsx +174 -0
  716. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +85 -0
  717. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +172 -0
  718. package/tests/components/form-control/field/DatePicker.spec.tsx +305 -0
  719. package/tests/components/form-control/field/DateTimePicker.spec.tsx +287 -0
  720. package/tests/components/form-control/field/NumberInput.spec.tsx +276 -0
  721. package/tests/components/form-control/field/TextInput.spec.tsx +258 -0
  722. package/tests/components/form-control/field/Textarea.spec.tsx +181 -0
  723. package/tests/components/form-control/field/TimePicker.spec.tsx +243 -0
  724. package/tests/components/form-control/numpad/Numpad.spec.tsx +238 -0
  725. package/tests/components/form-control/select/Select.spec.tsx +239 -0
  726. package/tests/components/form-control/select/SelectItem.spec.tsx +149 -0
  727. package/tests/components/layout/FormGroup.spec.tsx +104 -0
  728. package/tests/components/layout/FormTable.spec.tsx +43 -0
  729. package/tests/components/layout/sidebar/Sidebar.spec.tsx +190 -0
  730. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +203 -0
  731. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +213 -0
  732. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +171 -0
  733. package/tests/directives/ripple.spec.tsx +130 -0
  734. package/tests/helpers/createAppStructure.spec.tsx +338 -0
  735. package/tests/helpers/mergeStyles.spec.ts +163 -0
  736. package/tests/helpers/splitSlots.spec.tsx +188 -0
  737. package/tests/hooks/createControllableSignal.spec.ts +194 -0
  738. package/tests/hooks/createIMEHandler.spec.ts +80 -0
  739. package/tests/hooks/createMountTransition.spec.ts +86 -0
  740. package/tests/hooks/usePersisted.spec.tsx +191 -0
  741. package/tests/hooks/usePrint.spec.tsx +123 -0
  742. package/tests/hooks/useRouterLink.spec.tsx +183 -0
  743. package/tests/providers/ConfigContext.spec.ts +40 -0
  744. package/tests/providers/ServiceClientContext.spec.tsx +83 -0
  745. 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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -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
+ }