@accelint/design-toolkit 9.9.2 → 9.10.0

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 (436) hide show
  1. package/catalog-info.yaml +2 -2
  2. package/dist/components/accordion/group.d.ts +2 -2
  3. package/dist/components/accordion/header.d.ts +2 -2
  4. package/dist/components/accordion/index.d.ts +2 -2
  5. package/dist/components/accordion/styles.module.css +19 -3
  6. package/dist/components/accordion/trigger.d.ts +2 -2
  7. package/dist/components/action-bar/index.d.ts +2 -2
  8. package/dist/components/audio/index.d.ts +2 -2
  9. package/dist/components/avatar/context.d.ts +4 -4
  10. package/dist/components/avatar/index.d.ts +2 -2
  11. package/dist/components/badge/context.d.ts +4 -4
  12. package/dist/components/badge/index.d.ts +2 -2
  13. package/dist/components/breadcrumbs/index.d.ts +2 -2
  14. package/dist/components/breadcrumbs/item.d.ts +2 -2
  15. package/dist/components/button/context.d.ts +8 -8
  16. package/dist/components/button/index.d.ts +2 -2
  17. package/dist/components/button/link.d.ts +2 -2
  18. package/dist/components/button/styles.module.css +16 -0
  19. package/dist/components/button/toggle.d.ts +2 -2
  20. package/dist/components/carousel/context.d.ts +40 -0
  21. package/dist/components/carousel/context.js +55 -0
  22. package/dist/components/carousel/context.js.map +1 -0
  23. package/dist/components/carousel/gallery.d.ts +38 -0
  24. package/dist/components/carousel/gallery.js +84 -0
  25. package/dist/components/carousel/gallery.js.map +1 -0
  26. package/dist/components/carousel/index.d.ts +56 -0
  27. package/dist/components/carousel/index.js +66 -0
  28. package/dist/components/carousel/index.js.map +1 -0
  29. package/dist/components/carousel/navigation.d.ts +51 -0
  30. package/dist/components/carousel/navigation.js +82 -0
  31. package/dist/components/carousel/navigation.js.map +1 -0
  32. package/dist/components/carousel/position.d.ts +33 -0
  33. package/dist/components/carousel/position.js +48 -0
  34. package/dist/components/carousel/position.js.map +1 -0
  35. package/dist/components/carousel/select.d.ts +38 -0
  36. package/dist/components/carousel/select.js +69 -0
  37. package/dist/components/carousel/select.js.map +1 -0
  38. package/dist/components/carousel/style.module.css +62 -0
  39. package/dist/components/carousel/types.d.ts +87 -0
  40. package/dist/components/carousel/types.js +12 -0
  41. package/dist/components/carousel/viewer.d.ts +40 -0
  42. package/dist/components/carousel/viewer.js +75 -0
  43. package/dist/components/carousel/viewer.js.map +1 -0
  44. package/dist/components/checkbox/context.d.ts +3 -3
  45. package/dist/components/checkbox/group.d.ts +2 -2
  46. package/dist/components/checkbox/group.js +1 -1
  47. package/dist/components/checkbox/index.d.ts +2 -2
  48. package/dist/components/chip/context.d.ts +4 -4
  49. package/dist/components/chip/deletable.d.ts +2 -2
  50. package/dist/components/chip/index.d.ts +2 -2
  51. package/dist/components/chip/list.d.ts +4 -4
  52. package/dist/components/chip/selectable.d.ts +2 -2
  53. package/dist/components/classification-badge/context.d.ts +4 -4
  54. package/dist/components/classification-badge/index.d.ts +2 -2
  55. package/dist/components/classification-banner/context.d.ts +4 -4
  56. package/dist/components/classification-banner/index.d.ts +2 -2
  57. package/dist/components/clock/index.d.ts +2 -2
  58. package/dist/components/color-picker/index.d.ts +2 -2
  59. package/dist/components/combobox-field/context.d.ts +4 -4
  60. package/dist/components/combobox-field/index.d.ts +2 -2
  61. package/dist/components/combobox-field/index.js +1 -1
  62. package/dist/components/combobox-field/styles.module.css +12 -0
  63. package/dist/components/coordinate-field/context.d.ts +6 -6
  64. package/dist/components/coordinate-field/index.d.ts +2 -2
  65. package/dist/components/coordinate-field/segment.d.ts +2 -2
  66. package/dist/components/date-field/index.d.ts +2 -2
  67. package/dist/components/deferred-collection/index.d.ts +2 -2
  68. package/dist/components/details-list/context.d.ts +4 -4
  69. package/dist/components/details-list/index.d.ts +2 -2
  70. package/dist/components/details-list/label.d.ts +2 -2
  71. package/dist/components/details-list/value.d.ts +2 -2
  72. package/dist/components/dialog/content.d.ts +2 -2
  73. package/dist/components/dialog/context.d.ts +2 -2
  74. package/dist/components/dialog/footer.d.ts +2 -2
  75. package/dist/components/dialog/index.d.ts +2 -2
  76. package/dist/components/dialog/styles.module.css +23 -0
  77. package/dist/components/dialog/title.d.ts +2 -2
  78. package/dist/components/divider/context.d.ts +4 -4
  79. package/dist/components/divider/index.d.ts +2 -2
  80. package/dist/components/drawer/back.d.ts +2 -2
  81. package/dist/components/drawer/close.d.ts +2 -2
  82. package/dist/components/drawer/content.d.ts +2 -2
  83. package/dist/components/drawer/context.d.ts +2 -2
  84. package/dist/components/drawer/footer.d.ts +2 -2
  85. package/dist/components/drawer/header-title.d.ts +2 -2
  86. package/dist/components/drawer/header.d.ts +2 -2
  87. package/dist/components/drawer/index.d.ts +2 -2
  88. package/dist/components/drawer/layout-main.d.ts +2 -2
  89. package/dist/components/drawer/layout.d.ts +2 -2
  90. package/dist/components/drawer/menu-item.d.ts +2 -2
  91. package/dist/components/drawer/menu.d.ts +2 -2
  92. package/dist/components/drawer/panel.d.ts +2 -2
  93. package/dist/components/drawer/styles.module.css +54 -2
  94. package/dist/components/drawer/trigger.d.ts +2 -2
  95. package/dist/components/drawer/view.d.ts +2 -2
  96. package/dist/components/flashcard/index.d.ts +9 -9
  97. package/dist/components/floating-card/context.d.ts +37 -5
  98. package/dist/components/floating-card/context.js +18 -3
  99. package/dist/components/floating-card/context.js.map +1 -1
  100. package/dist/components/floating-card/index.d.ts +51 -1
  101. package/dist/components/floating-card/index.js +41 -11
  102. package/dist/components/floating-card/index.js.map +1 -1
  103. package/dist/components/floating-card/provider.d.ts +94 -17
  104. package/dist/components/floating-card/provider.js +116 -20
  105. package/dist/components/floating-card/provider.js.map +1 -1
  106. package/dist/components/floating-card/styles.module.css +5 -0
  107. package/dist/components/gantt/components/base-elements/point.d.ts +28 -0
  108. package/dist/components/gantt/components/base-elements/point.js +44 -0
  109. package/dist/components/gantt/components/base-elements/point.js.map +1 -0
  110. package/dist/components/gantt/components/base-elements/range.d.ts +30 -0
  111. package/dist/components/gantt/components/base-elements/range.js +51 -0
  112. package/dist/components/gantt/components/base-elements/range.js.map +1 -0
  113. package/dist/components/gantt/components/base-elements/use-point-element-layout/index.d.ts +12 -0
  114. package/dist/components/gantt/components/base-elements/use-point-element-layout/index.js +42 -0
  115. package/dist/components/gantt/components/base-elements/use-point-element-layout/index.js.map +1 -0
  116. package/dist/components/gantt/components/base-elements/use-range-element-layout/index.d.ts +23 -0
  117. package/dist/components/gantt/components/base-elements/use-range-element-layout/index.js +50 -0
  118. package/dist/components/gantt/components/base-elements/use-range-element-layout/index.js.map +1 -0
  119. package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +23 -0
  120. package/dist/components/gantt/components/containers/external/gantt-content-container/index.js +40 -0
  121. package/dist/components/gantt/components/containers/external/gantt-content-container/index.js.map +1 -0
  122. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +23 -0
  123. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.js +33 -0
  124. package/dist/components/gantt/components/containers/external/gantt-panel-container/index.js.map +1 -0
  125. package/dist/components/gantt/components/containers/external/styles.module.css +32 -0
  126. package/dist/components/gantt/components/containers/internal/index.d.ts +22 -0
  127. package/dist/components/gantt/components/containers/internal/index.js +35 -0
  128. package/dist/components/gantt/components/containers/internal/index.js.map +1 -0
  129. package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +22 -0
  130. package/dist/components/gantt/components/containers/internal/layout-container/index.js +27 -0
  131. package/dist/components/gantt/components/containers/internal/layout-container/index.js.map +1 -0
  132. package/dist/components/gantt/components/containers/internal/styles.module.css +35 -0
  133. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.d.ts +22 -0
  134. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.js +38 -0
  135. package/dist/components/gantt/components/containers/internal/virtualized-content-height-container/index.js.map +1 -0
  136. package/dist/components/gantt/components/content-row/block.d.ts +27 -0
  137. package/dist/components/gantt/components/content-row/block.js +39 -0
  138. package/dist/components/gantt/components/content-row/block.js.map +1 -0
  139. package/dist/components/gantt/components/content-row/bracket.d.ts +23 -0
  140. package/dist/components/gantt/components/content-row/bracket.js +48 -0
  141. package/dist/components/gantt/components/content-row/bracket.js.map +1 -0
  142. package/dist/components/gantt/components/content-row/icon-marker.d.ts +27 -0
  143. package/dist/components/gantt/components/content-row/icon-marker.js +41 -0
  144. package/dist/components/gantt/components/content-row/icon-marker.js.map +1 -0
  145. package/dist/components/gantt/components/content-row/index.d.ts +24 -0
  146. package/dist/components/gantt/components/content-row/index.js +32 -0
  147. package/dist/components/gantt/components/content-row/index.js.map +1 -0
  148. package/dist/components/gantt/components/content-row/marker.d.ts +21 -0
  149. package/dist/components/gantt/components/content-row/marker.js +35 -0
  150. package/dist/components/gantt/components/content-row/marker.js.map +1 -0
  151. package/dist/components/gantt/components/content-row/spacer.d.ts +23 -0
  152. package/dist/components/gantt/components/content-row/spacer.js +35 -0
  153. package/dist/components/gantt/components/content-row/spacer.js.map +1 -0
  154. package/dist/components/gantt/components/content-row/styles.module.css +198 -0
  155. package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.d.ts +19 -0
  156. package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.js +27 -0
  157. package/dist/components/gantt/components/content-row/use-elapsed-percentage/index.js.map +1 -0
  158. package/dist/components/gantt/components/content-row/use-is-elapsed/index.d.ts +10 -0
  159. package/dist/components/gantt/components/content-row/use-is-elapsed/index.js +24 -0
  160. package/dist/components/gantt/components/content-row/use-is-elapsed/index.js.map +1 -0
  161. package/dist/components/gantt/components/current-time/index.d.ts +28 -0
  162. package/dist/components/gantt/components/current-time/index.js +63 -0
  163. package/dist/components/gantt/components/current-time/index.js.map +1 -0
  164. package/dist/components/gantt/components/current-time/styles.module.css +42 -0
  165. package/dist/components/gantt/components/current-time/use-current-time-layout/index.d.ts +31 -0
  166. package/dist/components/gantt/components/current-time/use-current-time-layout/index.js +58 -0
  167. package/dist/components/gantt/components/current-time/use-current-time-layout/index.js.map +1 -0
  168. package/dist/components/gantt/components/header/index.d.ts +25 -0
  169. package/dist/components/gantt/components/header/index.js +41 -0
  170. package/dist/components/gantt/components/header/index.js.map +1 -0
  171. package/dist/components/gantt/components/header/styles.module.css +23 -0
  172. package/dist/components/gantt/components/panel-row/index.d.ts +24 -0
  173. package/dist/components/gantt/components/panel-row/index.js +33 -0
  174. package/dist/components/gantt/components/panel-row/index.js.map +1 -0
  175. package/dist/components/gantt/components/panel-row/styles.module.css +24 -0
  176. package/dist/components/gantt/components/rows-virtualizer/index.d.ts +25 -0
  177. package/dist/components/gantt/components/rows-virtualizer/index.js +67 -0
  178. package/dist/components/gantt/components/rows-virtualizer/index.js.map +1 -0
  179. package/dist/components/gantt/components/rows-virtualizer/styles.module.css +30 -0
  180. package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.d.ts +29 -0
  181. package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.js +57 -0
  182. package/dist/components/gantt/components/rows-virtualizer/use-rendered-rows/index.js.map +1 -0
  183. package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.d.ts +10 -0
  184. package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.js +58 -0
  185. package/dist/components/gantt/components/rows-virtualizer/use-scroll-sync/index.js.map +1 -0
  186. package/dist/components/gantt/components/styles.module.css +46 -0
  187. package/dist/components/gantt/components/timeline/index.d.ts +19 -0
  188. package/dist/components/gantt/components/timeline/index.js +45 -0
  189. package/dist/components/gantt/components/timeline/index.js.map +1 -0
  190. package/dist/components/gantt/components/timeline/use-timeline-transform/index.d.ts +29 -0
  191. package/dist/components/gantt/components/timeline/use-timeline-transform/index.js +33 -0
  192. package/dist/components/gantt/components/timeline/use-timeline-transform/index.js.map +1 -0
  193. package/dist/components/gantt/components/timeline-chunk/index.d.ts +25 -0
  194. package/dist/components/gantt/components/timeline-chunk/index.js +43 -0
  195. package/dist/components/gantt/components/timeline-chunk/index.js.map +1 -0
  196. package/dist/components/gantt/constants.d.ts +31 -0
  197. package/dist/components/gantt/constants.js +57 -0
  198. package/dist/components/gantt/constants.js.map +1 -0
  199. package/dist/components/gantt/context/index.d.ts +60 -0
  200. package/dist/components/gantt/context/index.js +78 -0
  201. package/dist/components/gantt/context/index.js.map +1 -0
  202. package/dist/components/gantt/context/store/index.d.ts +45 -0
  203. package/dist/components/gantt/context/store/index.js +42 -0
  204. package/dist/components/gantt/context/store/index.js.map +1 -0
  205. package/dist/components/gantt/context/temporal-data/index.d.ts +48 -0
  206. package/dist/components/gantt/context/temporal-data/index.js +80 -0
  207. package/dist/components/gantt/context/temporal-data/index.js.map +1 -0
  208. package/dist/components/gantt/gantt.d.ts +50 -0
  209. package/dist/components/gantt/gantt.js +51 -0
  210. package/dist/components/gantt/gantt.js.map +1 -0
  211. package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.d.ts +22 -0
  212. package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.js +36 -0
  213. package/dist/components/gantt/hooks/use-horizontal-scroll-update/index.js.map +1 -0
  214. package/dist/components/gantt/hooks/use-layout-subscription/index.d.ts +26 -0
  215. package/dist/components/gantt/hooks/use-layout-subscription/index.js +45 -0
  216. package/dist/components/gantt/hooks/use-layout-subscription/index.js.map +1 -0
  217. package/dist/components/gantt/hooks/use-resize-intersection-effect/index.d.ts +26 -0
  218. package/dist/components/gantt/hooks/use-resize-intersection-effect/index.js +50 -0
  219. package/dist/components/gantt/hooks/use-resize-intersection-effect/index.js.map +1 -0
  220. package/dist/components/gantt/hooks/use-root-element-height/index.d.ts +5 -0
  221. package/dist/components/gantt/hooks/use-root-element-height/index.js +24 -0
  222. package/dist/components/gantt/hooks/use-root-element-height/index.js.map +1 -0
  223. package/dist/components/gantt/hooks/use-scrollbar-height/index.d.ts +5 -0
  224. package/dist/components/gantt/hooks/use-scrollbar-height/index.js +40 -0
  225. package/dist/components/gantt/hooks/use-scrollbar-height/index.js.map +1 -0
  226. package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.d.ts +19 -0
  227. package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.js +87 -0
  228. package/dist/components/gantt/hooks/use-total-data-region-thresholds/index.js.map +1 -0
  229. package/dist/components/gantt/hooks/use-vertical-scroll-update/index.d.ts +22 -0
  230. package/dist/components/gantt/hooks/use-vertical-scroll-update/index.js +38 -0
  231. package/dist/components/gantt/hooks/use-vertical-scroll-update/index.js.map +1 -0
  232. package/dist/components/gantt/public-types.d.ts +31 -0
  233. package/dist/components/gantt/public-types.js +12 -0
  234. package/dist/components/gantt/store.d.ts +51 -0
  235. package/dist/components/gantt/store.js +46 -0
  236. package/dist/components/gantt/store.js.map +1 -0
  237. package/dist/components/gantt/styles.module.css +30 -0
  238. package/dist/components/gantt/types.d.ts +67 -0
  239. package/dist/components/gantt/types.js +12 -0
  240. package/dist/components/gantt/utils/conversions.d.ts +23 -0
  241. package/dist/components/gantt/utils/conversions.js +34 -0
  242. package/dist/components/gantt/utils/conversions.js.map +1 -0
  243. package/dist/components/gantt/utils/dates.d.ts +11 -0
  244. package/dist/components/gantt/utils/dates.js +41 -0
  245. package/dist/components/gantt/utils/dates.js.map +1 -0
  246. package/dist/components/gantt/utils/formatting.d.ts +5 -0
  247. package/dist/components/gantt/utils/formatting.js +54 -0
  248. package/dist/components/gantt/utils/formatting.js.map +1 -0
  249. package/dist/components/gantt/utils/generation.d.ts +19 -0
  250. package/dist/components/gantt/utils/generation.js +37 -0
  251. package/dist/components/gantt/utils/generation.js.map +1 -0
  252. package/dist/components/gantt/utils/helpers.d.ts +26 -0
  253. package/dist/components/gantt/utils/helpers.js +55 -0
  254. package/dist/components/gantt/utils/helpers.js.map +1 -0
  255. package/dist/components/gantt/utils/layout.d.ts +32 -0
  256. package/dist/components/gantt/utils/layout.js +55 -0
  257. package/dist/components/gantt/utils/layout.js.map +1 -0
  258. package/dist/components/gantt/utils/thresholds.d.ts +52 -0
  259. package/dist/components/gantt/utils/thresholds.js +116 -0
  260. package/dist/components/gantt/utils/thresholds.js.map +1 -0
  261. package/dist/components/hero/context.d.ts +2 -2
  262. package/dist/components/hero/index.d.ts +2 -2
  263. package/dist/components/hero/subtitle.d.ts +2 -2
  264. package/dist/components/hero/title.d.ts +2 -2
  265. package/dist/components/hotkey/context.d.ts +4 -4
  266. package/dist/components/hotkey/index.d.ts +2 -2
  267. package/dist/components/hotkey/set.d.ts +2 -2
  268. package/dist/components/icon/context.d.ts +4 -4
  269. package/dist/components/icon/index.d.ts +2 -2
  270. package/dist/components/input/context.d.ts +2 -2
  271. package/dist/components/input/index.d.ts +2 -2
  272. package/dist/components/kanban/card-body.d.ts +2 -2
  273. package/dist/components/kanban/card-header-actions.d.ts +2 -2
  274. package/dist/components/kanban/card-header-title.d.ts +2 -2
  275. package/dist/components/kanban/card-header.d.ts +2 -2
  276. package/dist/components/kanban/card.d.ts +2 -2
  277. package/dist/components/kanban/column-actions.d.ts +2 -2
  278. package/dist/components/kanban/column-container.d.ts +2 -2
  279. package/dist/components/kanban/column-content.d.ts +2 -2
  280. package/dist/components/kanban/column-header-actions.d.ts +2 -2
  281. package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
  282. package/dist/components/kanban/column-header-title.d.ts +2 -2
  283. package/dist/components/kanban/column-header.d.ts +2 -2
  284. package/dist/components/kanban/column.d.ts +2 -2
  285. package/dist/components/kanban/context.d.ts +2 -2
  286. package/dist/components/kanban/header-actions.d.ts +2 -2
  287. package/dist/components/kanban/header-search.d.ts +2 -2
  288. package/dist/components/kanban/header-title.d.ts +2 -2
  289. package/dist/components/kanban/header.d.ts +2 -2
  290. package/dist/components/kanban/kanban.d.ts +4 -4
  291. package/dist/components/label/context.d.ts +4 -4
  292. package/dist/components/label/index.d.ts +2 -2
  293. package/dist/components/lines/index.d.ts +2 -2
  294. package/dist/components/link/context.d.ts +2 -2
  295. package/dist/components/link/index.d.ts +2 -2
  296. package/dist/components/list/context.d.ts +2 -2
  297. package/dist/components/list/index.d.ts +2 -2
  298. package/dist/components/list/item-content.d.ts +2 -2
  299. package/dist/components/list/item-description.d.ts +2 -2
  300. package/dist/components/list/item-title.d.ts +2 -2
  301. package/dist/components/list/item.d.ts +2 -2
  302. package/dist/components/media-controls/context.d.ts +4 -4
  303. package/dist/components/media-controls/fullscreen-button.d.ts +2 -2
  304. package/dist/components/media-controls/index.d.ts +2 -2
  305. package/dist/components/media-controls/mute-button.d.ts +2 -2
  306. package/dist/components/media-controls/play-button.d.ts +2 -2
  307. package/dist/components/media-controls/playback-rate.d.ts +2 -2
  308. package/dist/components/media-controls/seek-button.d.ts +2 -2
  309. package/dist/components/media-controls/time-display.d.ts +2 -2
  310. package/dist/components/media-controls/time-range.d.ts +2 -2
  311. package/dist/components/media-controls/volume-slider.d.ts +2 -2
  312. package/dist/components/menu/context.d.ts +2 -2
  313. package/dist/components/menu/index.d.ts +2 -2
  314. package/dist/components/menu/item-description.d.ts +2 -2
  315. package/dist/components/menu/item-label.d.ts +2 -2
  316. package/dist/components/menu/item.d.ts +2 -2
  317. package/dist/components/menu/section.d.ts +2 -2
  318. package/dist/components/menu/separator.d.ts +2 -2
  319. package/dist/components/menu/styles.module.css +12 -0
  320. package/dist/components/menu/submenu.d.ts +2 -2
  321. package/dist/components/notice/index.d.ts +2 -2
  322. package/dist/components/notice/index.js +1 -0
  323. package/dist/components/notice/index.js.map +1 -1
  324. package/dist/components/notice/list.d.ts +2 -2
  325. package/dist/components/notice/list.js +10 -1
  326. package/dist/components/notice/list.js.map +1 -1
  327. package/dist/components/notice/notice-icon.d.ts +2 -2
  328. package/dist/components/notice/styles.module.css +27 -0
  329. package/dist/components/options/context.d.ts +2 -2
  330. package/dist/components/options/index.d.ts +2 -2
  331. package/dist/components/options/item-content.d.ts +2 -2
  332. package/dist/components/options/item-description.d.ts +2 -2
  333. package/dist/components/options/item-label.d.ts +2 -2
  334. package/dist/components/options/item.d.ts +2 -2
  335. package/dist/components/options/section.d.ts +2 -2
  336. package/dist/components/pagination/context.d.ts +2 -2
  337. package/dist/components/pagination/index.d.ts +2 -2
  338. package/dist/components/pagination/next.d.ts +2 -2
  339. package/dist/components/pagination/pages.d.ts +2 -2
  340. package/dist/components/pagination/prev.d.ts +2 -2
  341. package/dist/components/popover/content.d.ts +2 -2
  342. package/dist/components/popover/footer.d.ts +2 -2
  343. package/dist/components/popover/index.d.ts +2 -2
  344. package/dist/components/popover/styles.module.css +34 -0
  345. package/dist/components/popover/title.d.ts +2 -2
  346. package/dist/components/popover/trigger.d.ts +2 -2
  347. package/dist/components/query-builder/action-element.d.ts +2 -2
  348. package/dist/components/query-builder/actions.d.ts +4 -4
  349. package/dist/components/query-builder/combinator-selector.d.ts +2 -2
  350. package/dist/components/query-builder/index.d.ts +2 -2
  351. package/dist/components/query-builder/rule-group.d.ts +4 -4
  352. package/dist/components/query-builder/rule.d.ts +2 -2
  353. package/dist/components/query-builder/value-editor.d.ts +2 -2
  354. package/dist/components/query-builder/value-selector.d.ts +2 -2
  355. package/dist/components/query-builder/value-selector.js +1 -1
  356. package/dist/components/radio/context.d.ts +3 -3
  357. package/dist/components/radio/group.d.ts +2 -2
  358. package/dist/components/radio/index.d.ts +2 -2
  359. package/dist/components/search-field/context.d.ts +4 -4
  360. package/dist/components/search-field/index.d.ts +2 -2
  361. package/dist/components/select-field/context.d.ts +4 -4
  362. package/dist/components/select-field/index.d.ts +2 -2
  363. package/dist/components/sidenav/avatar.d.ts +2 -2
  364. package/dist/components/sidenav/content.d.ts +2 -2
  365. package/dist/components/sidenav/context.d.ts +2 -2
  366. package/dist/components/sidenav/footer.d.ts +2 -2
  367. package/dist/components/sidenav/header.d.ts +2 -2
  368. package/dist/components/sidenav/index.d.ts +2 -2
  369. package/dist/components/sidenav/item.d.ts +2 -2
  370. package/dist/components/sidenav/link.d.ts +2 -2
  371. package/dist/components/sidenav/menu-item.d.ts +2 -2
  372. package/dist/components/sidenav/menu.d.ts +2 -2
  373. package/dist/components/sidenav/styles.module.css +10 -2
  374. package/dist/components/sidenav/trigger.d.ts +2 -2
  375. package/dist/components/skeleton/index.d.ts +2 -2
  376. package/dist/components/slider/index.d.ts +2 -2
  377. package/dist/components/status-indicator/index.d.ts +2 -2
  378. package/dist/components/switch/context.d.ts +4 -4
  379. package/dist/components/switch/index.d.ts +2 -2
  380. package/dist/components/switch/styles.module.css +8 -0
  381. package/dist/components/table/body.d.ts +2 -2
  382. package/dist/components/table/cell.d.ts +2 -2
  383. package/dist/components/table/context.d.ts +2 -2
  384. package/dist/components/table/header-cell.d.ts +2 -2
  385. package/dist/components/table/header.d.ts +2 -2
  386. package/dist/components/table/index.d.ts +2 -2
  387. package/dist/components/table/index.js +2 -2
  388. package/dist/components/table/index.js.map +1 -1
  389. package/dist/components/table/row.d.ts +2 -2
  390. package/dist/components/tabs/context.d.ts +6 -6
  391. package/dist/components/tabs/index.d.ts +2 -2
  392. package/dist/components/tabs/list.d.ts +2 -2
  393. package/dist/components/tabs/panel.d.ts +2 -2
  394. package/dist/components/tabs/tab.d.ts +2 -2
  395. package/dist/components/text-area-field/context.d.ts +4 -4
  396. package/dist/components/text-area-field/index.d.ts +2 -2
  397. package/dist/components/text-field/context.d.ts +4 -4
  398. package/dist/components/text-field/index.d.ts +2 -2
  399. package/dist/components/time-field/index.d.ts +2 -2
  400. package/dist/components/tooltip/context.d.ts +2 -2
  401. package/dist/components/tooltip/index.d.ts +2 -2
  402. package/dist/components/tooltip/styles.module.css +35 -0
  403. package/dist/components/tooltip/trigger.d.ts +2 -2
  404. package/dist/components/tree/context.d.ts +3 -3
  405. package/dist/components/tree/index.d.ts +2 -2
  406. package/dist/components/tree/index.js +20 -10
  407. package/dist/components/tree/index.js.map +1 -1
  408. package/dist/components/tree/item-actions.d.ts +2 -2
  409. package/dist/components/tree/item-content.d.ts +2 -2
  410. package/dist/components/tree/item-content.js +3 -2
  411. package/dist/components/tree/item-content.js.map +1 -1
  412. package/dist/components/tree/item-description.d.ts +2 -2
  413. package/dist/components/tree/item-label.d.ts +2 -2
  414. package/dist/components/tree/item-prefix-icon.d.ts +2 -2
  415. package/dist/components/tree/item.d.ts +2 -2
  416. package/dist/components/tree/lines.d.ts +2 -2
  417. package/dist/components/tree/types.d.ts +1 -0
  418. package/dist/components/video/index.d.ts +2 -2
  419. package/dist/components/view-stack/index.d.ts +2 -2
  420. package/dist/components/view-stack/trigger.d.ts +2 -2
  421. package/dist/components/view-stack/view.d.ts +2 -2
  422. package/dist/hooks/use-tree/actions/cache.d.ts +20 -3
  423. package/dist/hooks/use-tree/actions/cache.js +110 -2
  424. package/dist/hooks/use-tree/actions/cache.js.map +1 -1
  425. package/dist/hooks/use-tree/actions/index.d.ts +2 -1
  426. package/dist/hooks/use-tree/actions/index.js +70 -11
  427. package/dist/hooks/use-tree/actions/index.js.map +1 -1
  428. package/dist/hooks/use-tree/state/index.d.ts +20 -1
  429. package/dist/hooks/use-tree/state/index.js +22 -2
  430. package/dist/hooks/use-tree/state/index.js.map +1 -1
  431. package/dist/hooks/use-tree/types.d.ts +14 -0
  432. package/dist/index.d.ts +24 -5
  433. package/dist/index.js +27 -10
  434. package/dist/providers/portal.d.ts +2 -2
  435. package/dist/providers/theme-provider.d.ts +2 -2
  436. package/package.json +64 -6
@@ -61,8 +61,18 @@
61
61
  .drawer {
62
62
  @apply bg-surface-default text-body-m pointer-events-none relative flex flex-col;
63
63
 
64
+ @variant motion-safe {
65
+ transition: transform var(--animation-duration-slow)
66
+ var(--animation-easing-standard);
67
+ }
68
+
64
69
  @variant placement-top {
65
70
  @apply col-span-full row-start-1 row-end-2;
71
+ transform: translateY(-100%);
72
+
73
+ @variant open {
74
+ transform: translateY(0);
75
+ }
66
76
 
67
77
  @variant group-extend-right/layout {
68
78
  @apply col-end-3;
@@ -79,6 +89,11 @@
79
89
 
80
90
  @variant placement-right {
81
91
  @apply col-start-3 col-end-4 row-span-full;
92
+ transform: translateX(100%);
93
+
94
+ @variant open {
95
+ transform: translateX(0);
96
+ }
82
97
 
83
98
  @variant group-extend-top/layout {
84
99
  @apply row-start-2;
@@ -95,6 +110,11 @@
95
110
 
96
111
  @variant placement-bottom {
97
112
  @apply col-span-full row-start-3 row-end-4;
113
+ transform: translateY(100%);
114
+
115
+ @variant open {
116
+ transform: translateY(0);
117
+ }
98
118
 
99
119
  @variant group-extend-right/layout {
100
120
  @apply col-end-3;
@@ -111,6 +131,11 @@
111
131
 
112
132
  @variant placement-left {
113
133
  @apply col-start-1 col-end-2 row-span-full;
134
+ transform: translateX(-100%);
135
+
136
+ @variant open {
137
+ transform: translateX(0);
138
+ }
114
139
 
115
140
  @variant group-extend-top/layout {
116
141
  @apply row-start-2;
@@ -205,10 +230,37 @@
205
230
  }
206
231
 
207
232
  .panel {
208
- @apply gap-s p-l hidden h-full min-h-0 flex-col;
233
+ @apply gap-s p-l flex h-full min-h-0 flex-col;
234
+ opacity: 0;
235
+ pointer-events: none;
236
+
237
+ @variant motion-safe {
238
+ transition:
239
+ transform var(--animation-duration-fast)
240
+ var(--animation-easing-standard),
241
+ opacity var(--animation-duration-fast) var(--animation-easing-standard);
242
+ }
243
+
244
+ @variant group-placement-left/drawer {
245
+ transform: translateX(-100%);
246
+ }
247
+
248
+ @variant group-placement-right/drawer {
249
+ transform: translateX(100%);
250
+ }
251
+
252
+ @variant group-placement-top/drawer {
253
+ transform: translateY(-100%);
254
+ }
255
+
256
+ @variant group-placement-bottom/drawer {
257
+ transform: translateY(100%);
258
+ }
209
259
 
210
260
  @variant group-open/drawer {
211
- @apply flex;
261
+ opacity: 1;
262
+ pointer-events: auto;
263
+ transform: translate(0, 0);
212
264
  }
213
265
 
214
266
  @variant group-placement-left/drawer {
@@ -12,7 +12,7 @@
12
12
 
13
13
  import { DrawerTriggerProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react_jsx_runtime62 from "react/jsx-runtime";
15
+ import * as react_jsx_runtime75 from "react/jsx-runtime";
16
16
 
17
17
  //#region src/components/drawer/trigger.d.ts
18
18
 
@@ -47,7 +47,7 @@ import * as react_jsx_runtime62 from "react/jsx-runtime";
47
47
  declare function DrawerTrigger({
48
48
  for: events,
49
49
  ...rest
50
- }: DrawerTriggerProps): react_jsx_runtime62.JSX.Element;
50
+ }: DrawerTriggerProps): react_jsx_runtime75.JSX.Element;
51
51
  //#endregion
52
52
  export { DrawerTrigger };
53
53
  //# sourceMappingURL=trigger.d.ts.map
@@ -13,7 +13,7 @@
13
13
  import { ViewStackViewProps } from "../view-stack/types.js";
14
14
  import "client-only";
15
15
  import { ComponentPropsWithRef } from "react";
16
- import * as react_jsx_runtime67 from "react/jsx-runtime";
16
+ import * as react_jsx_runtime55 from "react/jsx-runtime";
17
17
 
18
18
  //#region src/components/drawer/view.d.ts
19
19
 
@@ -44,7 +44,7 @@ declare function DrawerView({
44
44
  children,
45
45
  className,
46
46
  ...rest
47
- }: ViewStackViewProps & ComponentPropsWithRef<'div'>): react_jsx_runtime67.JSX.Element;
47
+ }: ViewStackViewProps & ComponentPropsWithRef<'div'>): react_jsx_runtime55.JSX.Element;
48
48
  //#endregion
49
49
  export { DrawerView };
50
50
  //# sourceMappingURL=view.d.ts.map
@@ -12,14 +12,14 @@
12
12
 
13
13
  import { FlashcardComponentProps, FlashcardDetailsListProps, FlashcardProps } from "./types.js";
14
14
  import "client-only";
15
- import * as react24 from "react";
16
- import * as react_jsx_runtime71 from "react/jsx-runtime";
15
+ import * as react19 from "react";
16
+ import * as react_jsx_runtime57 from "react/jsx-runtime";
17
17
 
18
18
  //#region src/components/flashcard/index.d.ts
19
19
  /**
20
20
  * Context for sharing Flashcard state across child components.
21
21
  */
22
- declare const FlashcardContext: react24.Context<FlashcardProps>;
22
+ declare const FlashcardContext: react19.Context<FlashcardProps>;
23
23
  /**
24
24
  * Flashcard - A quick visual identifier for map entity data.
25
25
  *
@@ -46,7 +46,7 @@ declare const FlashcardContext: react24.Context<FlashcardProps>;
46
46
  * </Flashcard>
47
47
  * ```
48
48
  */
49
- declare function Flashcard(props: FlashcardProps): react_jsx_runtime71.JSX.Element;
49
+ declare function Flashcard(props: FlashcardProps): react_jsx_runtime57.JSX.Element;
50
50
  declare namespace Flashcard {
51
51
  var displayName: string;
52
52
  }
@@ -68,7 +68,7 @@ declare namespace Flashcard {
68
68
  * </Flashcard>
69
69
  * ```
70
70
  */
71
- declare function FlashcardHero(props: FlashcardComponentProps): react_jsx_runtime71.JSX.Element;
71
+ declare function FlashcardHero(props: FlashcardComponentProps): react_jsx_runtime57.JSX.Element;
72
72
  declare namespace FlashcardHero {
73
73
  var displayName: string;
74
74
  }
@@ -92,7 +92,7 @@ declare namespace FlashcardHero {
92
92
  * </Flashcard>
93
93
  * ```
94
94
  */
95
- declare function FlashcardAdditionalData(props: FlashcardComponentProps): react_jsx_runtime71.JSX.Element | null;
95
+ declare function FlashcardAdditionalData(props: FlashcardComponentProps): react_jsx_runtime57.JSX.Element | null;
96
96
  declare namespace FlashcardAdditionalData {
97
97
  var displayName: string;
98
98
  }
@@ -119,7 +119,7 @@ declare namespace FlashcardAdditionalData {
119
119
  * </Flashcard>
120
120
  * ```
121
121
  */
122
- declare function FlashcardDetailsList(props: FlashcardDetailsListProps): react_jsx_runtime71.JSX.Element;
122
+ declare function FlashcardDetailsList(props: FlashcardDetailsListProps): react_jsx_runtime57.JSX.Element;
123
123
  declare namespace FlashcardDetailsList {
124
124
  var displayName: string;
125
125
  }
@@ -141,7 +141,7 @@ declare namespace FlashcardDetailsList {
141
141
  * </FlashcardDetailsList>
142
142
  * ```
143
143
  */
144
- declare function FlashcardDetailsLabel(props: FlashcardComponentProps): react_jsx_runtime71.JSX.Element;
144
+ declare function FlashcardDetailsLabel(props: FlashcardComponentProps): react_jsx_runtime57.JSX.Element;
145
145
  declare namespace FlashcardDetailsLabel {
146
146
  var displayName: string;
147
147
  }
@@ -163,7 +163,7 @@ declare namespace FlashcardDetailsLabel {
163
163
  * </FlashcardDetailsList>
164
164
  * ```
165
165
  */
166
- declare function FlashcardDetailsValue(props: FlashcardComponentProps): react_jsx_runtime71.JSX.Element;
166
+ declare function FlashcardDetailsValue(props: FlashcardComponentProps): react_jsx_runtime57.JSX.Element;
167
167
  declare namespace FlashcardDetailsValue {
168
168
  var displayName: string;
169
169
  }
@@ -10,25 +10,57 @@
10
10
  * governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import * as react25 from "react";
13
+ import * as react15 from "react";
14
14
  import { DockviewApi } from "dockview-react";
15
15
  import { UniqueId } from "@accelint/core/utility/uuid";
16
16
 
17
17
  //#region src/components/floating-card/context.d.ts
18
+ /**
19
+ * Context value providing floating card management functionality.
20
+ *
21
+ * @remarks
22
+ * Exposed via FloatingCardProvider to child components. Use useFloatingCard() hook to access.
23
+ */
18
24
  type FloatingCardContextValue = {
25
+ /** Registry mapping card IDs to their rendered DOM containers */
19
26
  cards: Record<UniqueId, HTMLDivElement>;
27
+ /** Registers a DOM ref for a card container after it mounts */
20
28
  addRef: (id: UniqueId, ref: HTMLDivElement | null) => void;
29
+ /** Unregisters a card's DOM ref when it's removed */
21
30
  removeRef: (view: UniqueId) => void;
31
+ /** Programmatically closes a floating card by ID */
22
32
  closeCard: (id: UniqueId) => void;
33
+ /** Toggles pin state for a floating card, disabling drag when pinned */
34
+ togglePinCard: (id: UniqueId) => void;
35
+ /** Checks if a floating card is currently pinned */
36
+ isPinned: (id: UniqueId) => boolean;
37
+ /** Subscribes to pin state changes; returns an unsubscribe function */
38
+ subscribeToPinState: (callback: () => void) => () => void;
39
+ /** Dockview API instance, null until FloatingCardProvider's onReady fires */
23
40
  api: DockviewApi | null;
24
41
  };
25
- declare const FloatingCardContext: react25.Context<FloatingCardContextValue | null>;
42
+ declare const FloatingCardContext: react15.Context<FloatingCardContextValue | null>;
26
43
  /**
27
- * Hook to access the floating card context.
28
- * Must be used within a FloatingCardProvider.
44
+ * Hook to access floating card management functionality.
29
45
  *
46
+ * Provides access to card registry, ref management, and programmatic control
47
+ * over opening, closing, and pinning floating cards.
48
+ *
49
+ * @returns Context value with card management methods and state.
30
50
  * @throws {Error} If used outside of a FloatingCardProvider.
31
- * @returns The floating card context value.
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * function MyComponent() {
55
+ * const { closeCard, togglePinCard } = useFloatingCard();
56
+ *
57
+ * return (
58
+ * <button onClick={() => closeCard('my-card-id' as UniqueId)}>
59
+ * Close Card
60
+ * </button>
61
+ * );
62
+ * }
63
+ * ```
32
64
  */
33
65
  declare function useFloatingCard(): FloatingCardContextValue;
34
66
  //#endregion
@@ -16,11 +16,26 @@ import { createContext, useContext } from "react";
16
16
  //#region src/components/floating-card/context.tsx
17
17
  const FloatingCardContext = createContext(null);
18
18
  /**
19
- * Hook to access the floating card context.
20
- * Must be used within a FloatingCardProvider.
19
+ * Hook to access floating card management functionality.
21
20
  *
21
+ * Provides access to card registry, ref management, and programmatic control
22
+ * over opening, closing, and pinning floating cards.
23
+ *
24
+ * @returns Context value with card management methods and state.
22
25
  * @throws {Error} If used outside of a FloatingCardProvider.
23
- * @returns The floating card context value.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * function MyComponent() {
30
+ * const { closeCard, togglePinCard } = useFloatingCard();
31
+ *
32
+ * return (
33
+ * <button onClick={() => closeCard('my-card-id' as UniqueId)}>
34
+ * Close Card
35
+ * </button>
36
+ * );
37
+ * }
38
+ * ```
24
39
  */
25
40
  function useFloatingCard() {
26
41
  const context = useContext(FloatingCardContext);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/floating-card/context.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { createContext, useContext } from 'react';\nimport type { UniqueId } from '@accelint/core/utility/uuid';\nimport type { DockviewApi } from 'dockview-react';\n\nexport type FloatingCardContextValue = {\n cards: Record<UniqueId, HTMLDivElement>;\n addRef: (id: UniqueId, ref: HTMLDivElement | null) => void;\n removeRef: (view: UniqueId) => void;\n closeCard: (id: UniqueId) => void;\n api: DockviewApi | null;\n};\n\nexport const FloatingCardContext =\n createContext<FloatingCardContextValue | null>(null);\n/**\n * Hook to access the floating card context.\n * Must be used within a FloatingCardProvider.\n *\n * @throws {Error} If used outside of a FloatingCardProvider.\n * @returns The floating card context value.\n */\nexport function useFloatingCard(): FloatingCardContextValue {\n const context = useContext(FloatingCardContext);\n if (!context) {\n throw new Error(\n 'useFloatingCard must be used within a FloatingCardProvider.',\n );\n }\n return context;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAyBA,MAAa,sBACX,cAA+C,KAAK;;;;;;;;AAQtD,SAAgB,kBAA4C;CAC1D,MAAM,UAAU,WAAW,oBAAoB;AAC/C,KAAI,CAAC,QACH,OAAM,IAAI,MACR,8DACD;AAEH,QAAO"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../../src/components/floating-card/context.tsx"],"sourcesContent":["// __private-exports\n/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { createContext, useContext } from 'react';\nimport type { UniqueId } from '@accelint/core/utility/uuid';\nimport type { DockviewApi } from 'dockview-react';\n\n/**\n * Context value providing floating card management functionality.\n *\n * @remarks\n * Exposed via FloatingCardProvider to child components. Use useFloatingCard() hook to access.\n */\nexport type FloatingCardContextValue = {\n /** Registry mapping card IDs to their rendered DOM containers */\n cards: Record<UniqueId, HTMLDivElement>;\n\n /** Registers a DOM ref for a card container after it mounts */\n addRef: (id: UniqueId, ref: HTMLDivElement | null) => void;\n\n /** Unregisters a card's DOM ref when it's removed */\n removeRef: (view: UniqueId) => void;\n\n /** Programmatically closes a floating card by ID */\n closeCard: (id: UniqueId) => void;\n\n /** Toggles pin state for a floating card, disabling drag when pinned */\n togglePinCard: (id: UniqueId) => void;\n\n /** Checks if a floating card is currently pinned */\n isPinned: (id: UniqueId) => boolean;\n\n /** Subscribes to pin state changes; returns an unsubscribe function */\n subscribeToPinState: (callback: () => void) => () => void;\n\n /** Dockview API instance, null until FloatingCardProvider's onReady fires */\n api: DockviewApi | null;\n};\n\nexport const FloatingCardContext =\n createContext<FloatingCardContextValue | null>(null);\n/**\n * Hook to access floating card management functionality.\n *\n * Provides access to card registry, ref management, and programmatic control\n * over opening, closing, and pinning floating cards.\n *\n * @returns Context value with card management methods and state.\n * @throws {Error} If used outside of a FloatingCardProvider.\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const { closeCard, togglePinCard } = useFloatingCard();\n *\n * return (\n * <button onClick={() => closeCard('my-card-id' as UniqueId)}>\n * Close Card\n * </button>\n * );\n * }\n * ```\n */\nexport function useFloatingCard(): FloatingCardContextValue {\n const context = useContext(FloatingCardContext);\n if (!context) {\n throw new Error(\n 'useFloatingCard must be used within a FloatingCardProvider.',\n );\n }\n return context;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiDA,MAAa,sBACX,cAA+C,KAAK;;;;;;;;;;;;;;;;;;;;;;;AAuBtD,SAAgB,kBAA4C;CAC1D,MAAM,UAAU,WAAW,oBAAoB;AAC/C,KAAI,CAAC,QACH,OAAM,IAAI,MACR,8DACD;AAEH,QAAO"}
@@ -15,8 +15,23 @@ import { PropsWithChildren } from "react";
15
15
  import { UniqueId } from "@accelint/core";
16
16
 
17
17
  //#region src/components/floating-card/index.d.ts
18
+ /**
19
+ * Props for the FloatingCard component.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * const props: FloatingCardProps = {
24
+ * id: 'panel-123' as UniqueId,
25
+ * title: 'My Panel',
26
+ * isOpen: true,
27
+ * initialDimensions: { width: 350, height: 450 }
28
+ * };
29
+ * ```
30
+ */
18
31
  type FloatingCardProps = Readonly<{
32
+ /** Unique identifier for the floating card */
19
33
  id: UniqueId;
34
+ /** Optional title displayed in the floating card header */
20
35
  title?: string;
21
36
  /**
22
37
  * Controls whether the floating card is rendered.
@@ -36,6 +51,15 @@ type FloatingCardProps = Readonly<{
36
51
  width: number;
37
52
  height: number;
38
53
  }>;
54
+ /**
55
+ * Initial position of the floating card panel.
56
+ *
57
+ * When provided, sets the x and y coordinates of the floating card.
58
+ */
59
+ initialPosition?: Readonly<{
60
+ x: number;
61
+ y: number;
62
+ }>;
39
63
  }>;
40
64
  /**
41
65
  * Renders its children into a floating card using React portals.
@@ -47,18 +71,44 @@ type FloatingCardProps = Readonly<{
47
71
  * @param title - Optional title displayed in the floating card header.
48
72
  * @param isOpen - Whether the floating card is rendered. Defaults to `true`.
49
73
  * @param initialDimensions - Initial width and height of the floating card. Defaults to `{ width: 300, height: 400 }`.
74
+ * @param initialPosition - Initial x and y coordinates of the floating card.
50
75
  * @param children - React children to render inside the floating card.
76
+ * @returns The floating card component (portaled content) or null.
51
77
  *
52
78
  * @remarks
53
79
  * - Requires `FloatingCardProvider` as an ancestor.
54
80
  * - The floating card is only rendered if a valid DOM reference exists for the given `id`.
81
+ *
82
+ * @example
83
+ * ```tsx
84
+ * import { uuid } from '@accelint/core/utility/uuid';
85
+ *
86
+ * const cardId = uuid();
87
+ * const [isOpen, setIsOpen] = useState(true);
88
+ *
89
+ * <FloatingCardProvider>
90
+ * <FloatingCard
91
+ * id={cardId}
92
+ * title="Settings Panel"
93
+ * isOpen={isOpen}
94
+ * initialDimensions={{ width: 400, height: 500 }}
95
+ * >
96
+ * <SettingsForm />
97
+ * </FloatingCard>
98
+ *
99
+ * <button onClick={() => setIsOpen(!isOpen)}>
100
+ * Toggle Panel
101
+ * </button>
102
+ * </FloatingCardProvider>
103
+ * ```
55
104
  */
56
105
  declare function FloatingCard({
57
106
  id,
58
107
  children,
59
108
  title,
60
109
  isOpen,
61
- initialDimensions
110
+ initialDimensions,
111
+ initialPosition
62
112
  }: PropsWithChildren<FloatingCardProps>): react18.ReactPortal | null;
63
113
  //#endregion
64
114
  export { FloatingCard, FloatingCardProps };
@@ -30,29 +30,57 @@ const defaultDimensions = {
30
30
  * @param title - Optional title displayed in the floating card header.
31
31
  * @param isOpen - Whether the floating card is rendered. Defaults to `true`.
32
32
  * @param initialDimensions - Initial width and height of the floating card. Defaults to `{ width: 300, height: 400 }`.
33
+ * @param initialPosition - Initial x and y coordinates of the floating card.
33
34
  * @param children - React children to render inside the floating card.
35
+ * @returns The floating card component (portaled content) or null.
34
36
  *
35
37
  * @remarks
36
38
  * - Requires `FloatingCardProvider` as an ancestor.
37
39
  * - The floating card is only rendered if a valid DOM reference exists for the given `id`.
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * import { uuid } from '@accelint/core/utility/uuid';
44
+ *
45
+ * const cardId = uuid();
46
+ * const [isOpen, setIsOpen] = useState(true);
47
+ *
48
+ * <FloatingCardProvider>
49
+ * <FloatingCard
50
+ * id={cardId}
51
+ * title="Settings Panel"
52
+ * isOpen={isOpen}
53
+ * initialDimensions={{ width: 400, height: 500 }}
54
+ * >
55
+ * <SettingsForm />
56
+ * </FloatingCard>
57
+ *
58
+ * <button onClick={() => setIsOpen(!isOpen)}>
59
+ * Toggle Panel
60
+ * </button>
61
+ * </FloatingCardProvider>
62
+ * ```
38
63
  */
39
- function FloatingCard({ id, children, title, isOpen = true, initialDimensions }) {
40
- const floatingCardContext = useFloatingCard();
64
+ function FloatingCard({ id, children, title, isOpen = true, initialDimensions, initialPosition }) {
65
+ const { cards, api: floatingCardApi } = useFloatingCard();
41
66
  const { width, height } = initialDimensions ?? defaultDimensions;
67
+ const { x, y } = initialPosition ?? {};
42
68
  useEffect(() => {
43
- if (!floatingCardContext.api) return;
69
+ if (!floatingCardApi) return;
44
70
  if (!isOpen) {
45
- floatingCardContext.api.getPanel(id)?.api.close();
71
+ floatingCardApi.getPanel(id)?.api.close();
46
72
  return;
47
73
  }
48
- if (!floatingCardContext.api.getPanel(id)) {
49
- const panel = floatingCardContext.api.addPanel({
74
+ if (!floatingCardApi.getPanel(id)) {
75
+ const panel = floatingCardApi.addPanel({
50
76
  id,
51
77
  title,
52
78
  component: "default",
53
79
  floating: {
54
80
  width,
55
- height
81
+ height,
82
+ x,
83
+ y
56
84
  }
57
85
  });
58
86
  panel.group.locked = "no-drop-target";
@@ -63,17 +91,19 @@ function FloatingCard({ id, children, title, isOpen = true, initialDimensions })
63
91
  isOpen,
64
92
  width,
65
93
  height,
66
- floatingCardContext.api
94
+ x,
95
+ y,
96
+ floatingCardApi
67
97
  ]);
68
98
  useEffect(() => {
69
- const panel = floatingCardContext.api?.getPanel(id);
99
+ const panel = floatingCardApi?.getPanel(id);
70
100
  if (panel) panel.setTitle(title ?? id);
71
101
  }, [
72
102
  title,
73
- floatingCardContext.api,
103
+ floatingCardApi,
74
104
  id
75
105
  ]);
76
- return isOpen && floatingCardContext.cards[id] ? createPortal(children, floatingCardContext.cards[id]) : null;
106
+ return isOpen && cards[id] ? createPortal(children, cards[id]) : null;
77
107
  }
78
108
 
79
109
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/floating-card/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type PropsWithChildren, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useFloatingCard } from './context';\nimport type { UniqueId } from '@accelint/core';\n\nconst defaultDimensions = { width: 300, height: 400 } as const;\n\nexport type FloatingCardProps = Readonly<{\n id: UniqueId;\n title?: string;\n /**\n * Controls whether the floating card is rendered.\n *\n * When `true`, the card registers with the floating card engine and renders its\n * children via a portal. When `false`, the card is closed and removed.\n *\n * @defaultValue true\n */\n isOpen?: boolean;\n /**\n * Initial dimensions of the floating card panel.\n *\n * @defaultValue { width: 300, height: 400 }\n */\n initialDimensions?: Readonly<{ width: number; height: number }>;\n}>;\n\n/**\n * Renders its children into a floating card using React portals.\n *\n * The `FloatingCard` component registers itself with the floating card engine on mount\n * and renders its children into the corresponding DOM node via a portal.\n *\n * @param id - Unique identifier for the floating card.\n * @param title - Optional title displayed in the floating card header.\n * @param isOpen - Whether the floating card is rendered. Defaults to `true`.\n * @param initialDimensions - Initial width and height of the floating card. Defaults to `{ width: 300, height: 400 }`.\n * @param children - React children to render inside the floating card.\n *\n * @remarks\n * - Requires `FloatingCardProvider` as an ancestor.\n * - The floating card is only rendered if a valid DOM reference exists for the given `id`.\n */\nexport function FloatingCard({\n id,\n children,\n title,\n isOpen = true,\n initialDimensions,\n}: PropsWithChildren<FloatingCardProps>) {\n const floatingCardContext = useFloatingCard();\n\n const { width, height } = initialDimensions ?? defaultDimensions;\n\n useEffect(() => {\n // If the API is not available, we cannot register the card. This can happen if Dockview is not fully initialized yet.\n if (!floatingCardContext.api) {\n return;\n }\n if (!isOpen) {\n floatingCardContext.api.getPanel(id)?.api.close();\n return;\n }\n\n if (!floatingCardContext.api.getPanel(id)) {\n const panel = floatingCardContext.api.addPanel({\n id,\n title,\n component: 'default',\n floating: { width, height },\n });\n\n panel.group.locked = 'no-drop-target';\n }\n\n // Cleanup not included here. Cleanup is done at the provider level when the card is removed from the `cards` registry.\n }, [id, title, isOpen, width, height, floatingCardContext.api]);\n\n useEffect(() => {\n const panel = floatingCardContext.api?.getPanel(id);\n if (panel) {\n panel.setTitle(title ?? id);\n }\n }, [title, floatingCardContext.api, id]);\n\n return isOpen && floatingCardContext.cards[id]\n ? createPortal(children, floatingCardContext.cards[id])\n : null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAM,oBAAoB;CAAE,OAAO;CAAK,QAAQ;CAAK;;;;;;;;;;;;;;;;;AAsCrD,SAAgB,aAAa,EAC3B,IACA,UACA,OACA,SAAS,MACT,qBACuC;CACvC,MAAM,sBAAsB,iBAAiB;CAE7C,MAAM,EAAE,OAAO,WAAW,qBAAqB;AAE/C,iBAAgB;AAEd,MAAI,CAAC,oBAAoB,IACvB;AAEF,MAAI,CAAC,QAAQ;AACX,uBAAoB,IAAI,SAAS,GAAG,EAAE,IAAI,OAAO;AACjD;;AAGF,MAAI,CAAC,oBAAoB,IAAI,SAAS,GAAG,EAAE;GACzC,MAAM,QAAQ,oBAAoB,IAAI,SAAS;IAC7C;IACA;IACA,WAAW;IACX,UAAU;KAAE;KAAO;KAAQ;IAC5B,CAAC;AAEF,SAAM,MAAM,SAAS;;IAItB;EAAC;EAAI;EAAO;EAAQ;EAAO;EAAQ,oBAAoB;EAAI,CAAC;AAE/D,iBAAgB;EACd,MAAM,QAAQ,oBAAoB,KAAK,SAAS,GAAG;AACnD,MAAI,MACF,OAAM,SAAS,SAAS,GAAG;IAE5B;EAAC;EAAO,oBAAoB;EAAK;EAAG,CAAC;AAExC,QAAO,UAAU,oBAAoB,MAAM,MACvC,aAAa,UAAU,oBAAoB,MAAM,IAAI,GACrD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/floating-card/index.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type PropsWithChildren, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useFloatingCard } from './context';\nimport type { UniqueId } from '@accelint/core';\n\nconst defaultDimensions = { width: 300, height: 400 } as const;\n\n/**\n * Props for the FloatingCard component.\n *\n * @example\n * ```tsx\n * const props: FloatingCardProps = {\n * id: 'panel-123' as UniqueId,\n * title: 'My Panel',\n * isOpen: true,\n * initialDimensions: { width: 350, height: 450 }\n * };\n * ```\n */\nexport type FloatingCardProps = Readonly<{\n /** Unique identifier for the floating card */\n id: UniqueId;\n /** Optional title displayed in the floating card header */\n title?: string;\n /**\n * Controls whether the floating card is rendered.\n *\n * When `true`, the card registers with the floating card engine and renders its\n * children via a portal. When `false`, the card is closed and removed.\n *\n * @defaultValue true\n */\n isOpen?: boolean;\n /**\n * Initial dimensions of the floating card panel.\n *\n * @defaultValue { width: 300, height: 400 }\n */\n initialDimensions?: Readonly<{ width: number; height: number }>;\n /**\n * Initial position of the floating card panel.\n *\n * When provided, sets the x and y coordinates of the floating card.\n */\n initialPosition?: Readonly<{ x: number; y: number }>;\n}>;\n\n/**\n * Renders its children into a floating card using React portals.\n *\n * The `FloatingCard` component registers itself with the floating card engine on mount\n * and renders its children into the corresponding DOM node via a portal.\n *\n * @param id - Unique identifier for the floating card.\n * @param title - Optional title displayed in the floating card header.\n * @param isOpen - Whether the floating card is rendered. Defaults to `true`.\n * @param initialDimensions - Initial width and height of the floating card. Defaults to `{ width: 300, height: 400 }`.\n * @param initialPosition - Initial x and y coordinates of the floating card.\n * @param children - React children to render inside the floating card.\n * @returns The floating card component (portaled content) or null.\n *\n * @remarks\n * - Requires `FloatingCardProvider` as an ancestor.\n * - The floating card is only rendered if a valid DOM reference exists for the given `id`.\n *\n * @example\n * ```tsx\n * import { uuid } from '@accelint/core/utility/uuid';\n *\n * const cardId = uuid();\n * const [isOpen, setIsOpen] = useState(true);\n *\n * <FloatingCardProvider>\n * <FloatingCard\n * id={cardId}\n * title=\"Settings Panel\"\n * isOpen={isOpen}\n * initialDimensions={{ width: 400, height: 500 }}\n * >\n * <SettingsForm />\n * </FloatingCard>\n *\n * <button onClick={() => setIsOpen(!isOpen)}>\n * Toggle Panel\n * </button>\n * </FloatingCardProvider>\n * ```\n */\nexport function FloatingCard({\n id,\n children,\n title,\n isOpen = true,\n initialDimensions,\n initialPosition,\n}: PropsWithChildren<FloatingCardProps>) {\n const { cards, api: floatingCardApi } = useFloatingCard();\n\n const { width, height } = initialDimensions ?? defaultDimensions;\n const { x, y } = initialPosition ?? {};\n\n // Register card with Dockview API when isOpen changes.\n // Early return if API not ready (Dockview not fully initialized).\n useEffect(() => {\n if (!floatingCardApi) {\n return;\n }\n if (!isOpen) {\n floatingCardApi.getPanel(id)?.api.close();\n return;\n }\n\n if (!floatingCardApi.getPanel(id)) {\n const panel = floatingCardApi.addPanel({\n id,\n title,\n component: 'default',\n floating: { width, height, x, y },\n });\n\n panel.group.locked = 'no-drop-target';\n }\n\n // Cleanup not included here. Cleanup is done at the provider level when the card is removed from the `cards` registry.\n }, [id, title, isOpen, width, height, x, y, floatingCardApi]);\n\n useEffect(() => {\n const panel = floatingCardApi?.getPanel(id);\n if (panel) {\n panel.setTitle(title ?? id);\n }\n }, [title, floatingCardApi, id]);\n\n return isOpen && cards[id] ? createPortal(children, cards[id]) : null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAM,oBAAoB;CAAE,OAAO;CAAK,QAAQ;CAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFrD,SAAgB,aAAa,EAC3B,IACA,UACA,OACA,SAAS,MACT,mBACA,mBACuC;CACvC,MAAM,EAAE,OAAO,KAAK,oBAAoB,iBAAiB;CAEzD,MAAM,EAAE,OAAO,WAAW,qBAAqB;CAC/C,MAAM,EAAE,GAAG,MAAM,mBAAmB,EAAE;AAItC,iBAAgB;AACd,MAAI,CAAC,gBACH;AAEF,MAAI,CAAC,QAAQ;AACX,mBAAgB,SAAS,GAAG,EAAE,IAAI,OAAO;AACzC;;AAGF,MAAI,CAAC,gBAAgB,SAAS,GAAG,EAAE;GACjC,MAAM,QAAQ,gBAAgB,SAAS;IACrC;IACA;IACA,WAAW;IACX,UAAU;KAAE;KAAO;KAAQ;KAAG;KAAG;IAClC,CAAC;AAEF,SAAM,MAAM,SAAS;;IAItB;EAAC;EAAI;EAAO;EAAQ;EAAO;EAAQ;EAAG;EAAG;EAAgB,CAAC;AAE7D,iBAAgB;EACd,MAAM,QAAQ,iBAAiB,SAAS,GAAG;AAC3C,MAAI,MACF,OAAM,SAAS,SAAS,GAAG;IAE5B;EAAC;EAAO;EAAiB;EAAG,CAAC;AAEhC,QAAO,UAAU,MAAM,MAAM,aAAa,UAAU,MAAM,IAAI,GAAG"}
@@ -11,11 +11,66 @@
11
11
  */
12
12
 
13
13
  import { PropsWithChildren, ReactNode } from "react";
14
- import * as react_jsx_runtime69 from "react/jsx-runtime";
14
+ import * as react_jsx_runtime64 from "react/jsx-runtime";
15
+ import { UniqueId } from "@accelint/core/utility/uuid";
15
16
 
16
17
  //#region src/components/floating-card/provider.d.ts
17
- /** A value that is either `T` directly, or a function that receives the active card id and returns `T`. */
18
+ /**
19
+ * A value that can be static or dynamically computed per floating card.
20
+ *
21
+ * Enables per-card customization of props by passing a factory function
22
+ * that receives the card ID and returns the appropriate value.
23
+ *
24
+ * @template T - The type of the static value or factory return type.
25
+ */
18
26
  type MaybeFactory<T> = T | ((cardId: string) => T);
27
+ /**
28
+ * Configuration for header action buttons in floating cards.
29
+ *
30
+ * Can be a custom button (with icon and onClick), a visual separator ('divider'),
31
+ * or the built-in pin toggle ('pin').
32
+ *
33
+ * @remarks
34
+ * - Custom buttons: Rendered as icon buttons with your provided onClick handler
35
+ * - 'divider': Inserts a vertical divider between action groups
36
+ * - 'pin': Adds built-in pin toggle button (disables dragging when pinned)
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * const headerActions: FloatingCardHeaderAction[] = [
41
+ * { icon: <SettingsIcon />, onClick: () => openSettings() },
42
+ * 'divider',
43
+ * 'pin'
44
+ * ];
45
+ * ```
46
+ */
47
+ type FloatingCardHeaderAction = {
48
+ /** Icon to display in the action button */
49
+ icon: ReactNode;
50
+ /** Handler called when the action button is clicked */
51
+ onClick: () => void;
52
+ } | 'divider' | 'pin';
53
+ /**
54
+ * Props for the FloatingCardProvider component.
55
+ *
56
+ * Configures default icon and header actions for all floating cards. Both can be
57
+ * static values or factory functions that receive the card ID for per-card customization.
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * <FloatingCardProvider
62
+ * icon={<AppIcon />}
63
+ * headerActions={(cardId) => {
64
+ * if (cardId === 'settings') {
65
+ * return [{ icon: <CogIcon />, onClick: openSettings }, 'pin'];
66
+ * }
67
+ * return ['pin'];
68
+ * }}
69
+ * >
70
+ * {children}
71
+ * </FloatingCardProvider>
72
+ * ```
73
+ */
19
74
  type FloatingCardProviderProps = Readonly<PropsWithChildren<{
20
75
  /**
21
76
  * Optional icon rendered at the very start of the floating card header.
@@ -24,41 +79,63 @@ type FloatingCardProviderProps = Readonly<PropsWithChildren<{
24
79
  icon?: MaybeFactory<ReactNode>;
25
80
  /**
26
81
  * Optional action buttons rendered in the floating card header before the close button.
27
- * Can include dividers to separate groups of actions.
82
+ * Can include `'divider'` to separate groups and `'pin'` to add a pin toggle button.
28
83
  * Can be an array or a function `(cardId: string) => array` to return
29
84
  * per-floating card actions.
30
85
  */
31
- headerActions?: MaybeFactory<({
32
- icon: ReactNode;
33
- onClick: () => void;
34
- } | 'divider')[]>;
86
+ headerActions?: MaybeFactory<FloatingCardHeaderAction[]>;
87
+ /**
88
+ * Optional set of card IDs that should be pinned when the provider first mounts.
89
+ *
90
+ * Like other `initial*` props, this value is only read once at mount time.
91
+ * Changes after mount have no effect.
92
+ */
93
+ initialPinned?: readonly UniqueId[];
94
+ /** Additional CSS class names for styling */
35
95
  className?: string;
36
96
  }>>;
37
97
  /**
38
98
  * Provides a context and layout area for floating cards within the application.
39
99
  *
40
- * Wraps its children with floating card context and renders a floating card engine instance
41
- * to manage docking and layout.
100
+ * Wraps children with floating card context and renders a Dockview instance to manage
101
+ * docking, dragging, and layout of floating cards.
42
102
  *
43
103
  * @param props - The props for the FloatingCardProvider component.
44
104
  * @param props.children - Child components rendered inside the floating card provider.
45
- * @param props.icon - Optional icon.
46
- * @param props.headerActions - Optional actions for the header.
105
+ * @param props.icon - Optional icon rendered in all card headers (static or factory).
106
+ * @param props.headerActions - Optional action buttons for card headers (static or factory).
47
107
  * @param props.className - Additional CSS class names for styling.
48
- *
49
108
  * @returns The FloatingCardProvider component that manages floating card layout and context.
50
109
  *
51
110
  * @remarks
52
- * - Manages registration and unregistration of floating card references.
53
- * - Exposes `closeCard` via context for child components.
54
- * - Ensures floating cards are bounded within the viewport.
111
+ * - Manages registration and cleanup of floating card DOM references
112
+ * - Exposes closeCard, togglePinCard, and isPinned via context
113
+ * - Automatically cleans up refs when cards are removed via any path (drag close, group close, API close)
114
+ * - Cards are bounded within the viewport
115
+ *
116
+ * @example
117
+ * ```tsx
118
+ * <FloatingCardProvider
119
+ * icon={<AppLogo />}
120
+ * headerActions={[
121
+ * { icon: <SettingsIcon />, onClick: openSettings },
122
+ * 'divider',
123
+ * 'pin'
124
+ * ]}
125
+ * >
126
+ * <FloatingCard id="panel-1" title="My Panel">
127
+ * <div>Panel content</div>
128
+ * </FloatingCard>
129
+ * </FloatingCardProvider>
130
+ * ```
55
131
  */
56
132
  declare function FloatingCardProvider({
57
133
  children,
58
134
  icon,
59
135
  headerActions,
136
+ initialPinned,
60
137
  className
61
- }: FloatingCardProviderProps): react_jsx_runtime69.JSX.Element;
138
+ }: FloatingCardProviderProps): react_jsx_runtime64.JSX.Element;
62
139
  //#endregion
63
- export { FloatingCardProvider, FloatingCardProviderProps };
140
+ export { FloatingCardHeaderAction, FloatingCardProvider, FloatingCardProviderProps };
64
141
  //# sourceMappingURL=provider.d.ts.map