@lablup/ui-common 0.1.0-alpha.8 → 0.2.0-alpha.15

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 (909) hide show
  1. package/NOTICE +62 -0
  2. package/README.md +490 -68
  3. package/astryx/components/AlertModal.doc.mjs +91 -0
  4. package/astryx/components/AlertModal.tsx +3 -0
  5. package/astryx/components/BoardItemTitle.doc.mjs +51 -0
  6. package/astryx/components/BoardItemTitle.tsx +3 -0
  7. package/astryx/components/BooleanToken.doc.mjs +57 -0
  8. package/astryx/components/BooleanToken.tsx +3 -0
  9. package/astryx/components/BulkEditFormItem.doc.mjs +68 -0
  10. package/astryx/components/BulkEditFormItem.tsx +3 -0
  11. package/astryx/components/BulkErrorModal.doc.mjs +75 -0
  12. package/astryx/components/BulkErrorModal.tsx +3 -0
  13. package/astryx/components/ColorPicker.doc.mjs +88 -0
  14. package/astryx/components/ColorPicker.tsx +3 -0
  15. package/astryx/components/ConfirmPopover.doc.mjs +99 -0
  16. package/astryx/components/ConfirmPopover.tsx +3 -0
  17. package/astryx/components/CountBadge.doc.mjs +93 -0
  18. package/astryx/components/CountBadge.tsx +3 -0
  19. package/astryx/components/CountdownBorder.doc.mjs +57 -0
  20. package/astryx/components/CountdownBorder.tsx +3 -0
  21. package/astryx/components/DataGrid.doc.mjs +166 -0
  22. package/astryx/components/DataGrid.tsx +3 -0
  23. package/astryx/components/DeleteConfirmModal.doc.mjs +163 -0
  24. package/astryx/components/DeleteConfirmModal.tsx +3 -0
  25. package/astryx/components/DividedRow.doc.mjs +85 -0
  26. package/astryx/components/DividedRow.tsx +3 -0
  27. package/astryx/components/DoubleBadge.doc.mjs +40 -0
  28. package/astryx/components/DoubleBadge.tsx +3 -0
  29. package/astryx/components/DoubleToken.doc.mjs +38 -0
  30. package/astryx/components/DoubleToken.tsx +3 -0
  31. package/astryx/components/Form.doc.mjs +113 -0
  32. package/astryx/components/Form.tsx +3 -0
  33. package/astryx/components/IconWithTooltip.doc.mjs +57 -0
  34. package/astryx/components/IconWithTooltip.tsx +3 -0
  35. package/astryx/components/ImageWithFallback.doc.mjs +47 -0
  36. package/astryx/components/ImageWithFallback.tsx +3 -0
  37. package/astryx/components/ListBanner.doc.mjs +50 -0
  38. package/astryx/components/ListBanner.tsx +3 -0
  39. package/astryx/components/Modal.doc.mjs +176 -0
  40. package/astryx/components/Modal.tsx +3 -0
  41. package/astryx/components/NotificationItem.doc.mjs +52 -0
  42. package/astryx/components/NotificationItem.tsx +3 -0
  43. package/astryx/components/NotificationStack.doc.mjs +66 -0
  44. package/astryx/components/NotificationStack.tsx +3 -0
  45. package/astryx/components/OverlayScrollbar.doc.mjs +49 -0
  46. package/astryx/components/OverlayScrollbar.tsx +3 -0
  47. package/astryx/components/PageHeader.doc.mjs +94 -0
  48. package/astryx/components/PageHeader.tsx +3 -0
  49. package/astryx/components/PagedSelector.doc.mjs +183 -0
  50. package/astryx/components/PagedSelector.tsx +3 -0
  51. package/astryx/components/ProgressWithLabel.doc.mjs +69 -0
  52. package/astryx/components/ProgressWithLabel.tsx +3 -0
  53. package/astryx/components/SelectionLabel.doc.mjs +55 -0
  54. package/astryx/components/SelectionLabel.tsx +3 -0
  55. package/astryx/components/Statistic.doc.mjs +84 -0
  56. package/astryx/components/Statistic.tsx +3 -0
  57. package/astryx/components/StepNumberInput.doc.mjs +102 -0
  58. package/astryx/components/StepNumberInput.tsx +3 -0
  59. package/astryx/components/TextHighlighter.doc.mjs +47 -0
  60. package/astryx/components/TextHighlighter.tsx +3 -0
  61. package/astryx/components/TokenList.doc.mjs +58 -0
  62. package/astryx/components/TokenList.tsx +3 -0
  63. package/astryx/components/TokenRow.doc.mjs +62 -0
  64. package/astryx/components/TokenRow.tsx +3 -0
  65. package/astryx/components/UncontrolledInput.doc.mjs +68 -0
  66. package/astryx/components/UncontrolledInput.tsx +3 -0
  67. package/astryx/components/UnitGrid.doc.mjs +107 -0
  68. package/astryx/components/UnitGrid.tsx +3 -0
  69. package/astryx/docs/ui-common.doc.mjs +112 -0
  70. package/astryx.integration.mjs +35 -0
  71. package/dist/assets/components/BoardItemTitle/BoardItemTitle.css +2 -0
  72. package/dist/assets/components/BulkErrorModal/BulkErrorModal.css +2 -0
  73. package/dist/assets/components/ColorPicker/ColorPicker.css +2 -0
  74. package/dist/assets/components/CountBadge/CountBadge.css +2 -0
  75. package/dist/assets/components/CountdownBorder/CountdownBorder.css +2 -0
  76. package/dist/assets/components/DataGrid/DataGrid.css +2 -0
  77. package/dist/assets/components/DeleteConfirmModal/DeleteConfirmModal.css +2 -0
  78. package/dist/assets/components/DigitPopIn/DigitPopIn.css +2 -0
  79. package/dist/assets/components/DividedRow/DividedRow.css +2 -0
  80. package/dist/assets/components/DoubleBadge/DoubleBadge.css +2 -0
  81. package/dist/assets/components/DoubleToken/DoubleToken.css +2 -0
  82. package/dist/assets/components/ErrorState/ErrorState.css +2 -1
  83. package/dist/assets/components/Form/FormItemVisual.css +2 -0
  84. package/dist/assets/components/IconWithTooltip/IconWithTooltip.css +2 -0
  85. package/dist/assets/components/ImageWithFallback/ImageWithFallback.css +2 -0
  86. package/dist/assets/components/ListBanner/ListBanner.css +2 -0
  87. package/dist/assets/components/Modal/Modal.css +2 -0
  88. package/dist/assets/components/NotificationItem/NotificationItem.css +2 -0
  89. package/dist/assets/components/NotificationStack/NotificationStack.css +2 -0
  90. package/dist/assets/components/OverlayScrollbar/OverlayScrollbar.css +2 -0
  91. package/dist/assets/components/PageHeader/PageHeader.css +2 -1
  92. package/dist/assets/components/PageLayout/PageLayout.css +2 -1
  93. package/dist/assets/components/PagedSelector/PagedSelector.css +2 -0
  94. package/dist/assets/components/ProgressWithLabel/ProgressWithLabel.css +2 -0
  95. package/dist/assets/components/Skeleton/SkeletonCard.css +2 -1
  96. package/dist/assets/components/Skeleton/SkeletonChart.css +2 -1
  97. package/dist/assets/components/Skeleton/SkeletonRow.css +2 -1
  98. package/dist/assets/components/Skeleton/SkeletonShape.css +2 -0
  99. package/dist/assets/components/Skeleton/SkeletonText.css +2 -1
  100. package/dist/assets/components/SmoothHeight/SmoothHeight.css +2 -1
  101. package/dist/assets/components/StatCard/StatCard.css +2 -1
  102. package/dist/assets/components/Statistic/Statistic.css +2 -0
  103. package/dist/assets/components/StepNumberInput/NumberStepper.css +2 -0
  104. package/dist/assets/components/TextHighlighter/TextHighlighter.css +2 -0
  105. package/dist/assets/components/TokenList/TokenList.css +2 -0
  106. package/dist/assets/components/TokenRow/TokenRow.css +2 -0
  107. package/dist/assets/components/UnitGrid/UnitGrid.css +2 -0
  108. package/dist/astryx/AppShell.d.ts +1 -0
  109. package/dist/astryx/AppShell.js +1 -0
  110. package/dist/astryx/AspectRatio.d.ts +1 -0
  111. package/dist/astryx/AspectRatio.js +1 -0
  112. package/dist/astryx/Avatar.d.ts +1 -0
  113. package/dist/astryx/Avatar.js +1 -0
  114. package/dist/astryx/AvatarGroup.d.ts +1 -0
  115. package/dist/astryx/AvatarGroup.js +1 -0
  116. package/dist/astryx/Badge.d.ts +1 -0
  117. package/dist/astryx/Badge.js +1 -0
  118. package/dist/astryx/Banner.d.ts +1 -0
  119. package/dist/astryx/Banner.js +1 -0
  120. package/dist/astryx/BaseProps.d.ts +1 -0
  121. package/dist/astryx/BaseProps.js +1 -0
  122. package/dist/astryx/Blockquote.d.ts +1 -0
  123. package/dist/astryx/Blockquote.js +1 -0
  124. package/dist/astryx/BottomSheet.d.ts +1 -0
  125. package/dist/astryx/BottomSheet.js +1 -0
  126. package/dist/astryx/Breadcrumbs.d.ts +1 -0
  127. package/dist/astryx/Breadcrumbs.js +1 -0
  128. package/dist/astryx/Button.d.ts +1 -0
  129. package/dist/astryx/Button.js +1 -0
  130. package/dist/astryx/ButtonGroup.d.ts +1 -0
  131. package/dist/astryx/ButtonGroup.js +1 -0
  132. package/dist/astryx/Calendar/utils.d.ts +1 -0
  133. package/dist/astryx/Calendar/utils.js +1 -0
  134. package/dist/astryx/Calendar.d.ts +1 -0
  135. package/dist/astryx/Calendar.js +1 -0
  136. package/dist/astryx/Card.d.ts +1 -0
  137. package/dist/astryx/Card.js +1 -0
  138. package/dist/astryx/Carousel.d.ts +1 -0
  139. package/dist/astryx/Carousel.js +1 -0
  140. package/dist/astryx/Center.d.ts +1 -0
  141. package/dist/astryx/Center.js +1 -0
  142. package/dist/astryx/Chat.d.ts +1 -0
  143. package/dist/astryx/Chat.js +1 -0
  144. package/dist/astryx/CheckboxInput.d.ts +1 -0
  145. package/dist/astryx/CheckboxInput.js +1 -0
  146. package/dist/astryx/CheckboxList.d.ts +1 -0
  147. package/dist/astryx/CheckboxList.js +1 -0
  148. package/dist/astryx/Citation.d.ts +1 -0
  149. package/dist/astryx/Citation.js +1 -0
  150. package/dist/astryx/ClickableCard.d.ts +1 -0
  151. package/dist/astryx/ClickableCard.js +1 -0
  152. package/dist/astryx/Code.d.ts +1 -0
  153. package/dist/astryx/Code.js +1 -0
  154. package/dist/astryx/CodeBlock.d.ts +1 -0
  155. package/dist/astryx/CodeBlock.js +1 -0
  156. package/dist/astryx/Collapsible.d.ts +1 -0
  157. package/dist/astryx/Collapsible.js +1 -0
  158. package/dist/astryx/CommandPalette.d.ts +1 -0
  159. package/dist/astryx/CommandPalette.js +1 -0
  160. package/dist/astryx/ContextMenu.d.ts +1 -0
  161. package/dist/astryx/ContextMenu.js +1 -0
  162. package/dist/astryx/DateInput.d.ts +1 -0
  163. package/dist/astryx/DateInput.js +1 -0
  164. package/dist/astryx/DateRangeInput.d.ts +1 -0
  165. package/dist/astryx/DateRangeInput.js +1 -0
  166. package/dist/astryx/DateTimeInput.d.ts +1 -0
  167. package/dist/astryx/DateTimeInput.js +1 -0
  168. package/dist/astryx/Divider.d.ts +1 -0
  169. package/dist/astryx/Divider.js +1 -0
  170. package/dist/astryx/DropdownMenu.d.ts +1 -0
  171. package/dist/astryx/DropdownMenu.js +1 -0
  172. package/dist/astryx/EmptyState.d.ts +1 -0
  173. package/dist/astryx/EmptyState.js +1 -0
  174. package/dist/astryx/Field.d.ts +1 -0
  175. package/dist/astryx/Field.js +1 -0
  176. package/dist/astryx/FieldStatus.d.ts +1 -0
  177. package/dist/astryx/FieldStatus.js +1 -0
  178. package/dist/astryx/FileInput.d.ts +1 -0
  179. package/dist/astryx/FileInput.js +1 -0
  180. package/dist/astryx/FormLayout.d.ts +1 -0
  181. package/dist/astryx/FormLayout.js +1 -0
  182. package/dist/astryx/Grid.d.ts +1 -0
  183. package/dist/astryx/Grid.js +1 -0
  184. package/dist/astryx/HStack.d.ts +1 -0
  185. package/dist/astryx/HStack.js +1 -0
  186. package/dist/astryx/Heading.d.ts +1 -0
  187. package/dist/astryx/Heading.js +1 -0
  188. package/dist/astryx/HoverCard.d.ts +1 -0
  189. package/dist/astryx/HoverCard.js +1 -0
  190. package/dist/astryx/Icon.d.ts +1 -0
  191. package/dist/astryx/Icon.js +1 -0
  192. package/dist/astryx/IconButton.d.ts +1 -0
  193. package/dist/astryx/IconButton.js +1 -0
  194. package/dist/astryx/Indicator.d.ts +1 -0
  195. package/dist/astryx/Indicator.js +1 -0
  196. package/dist/astryx/InputGroup.d.ts +1 -0
  197. package/dist/astryx/InputGroup.js +1 -0
  198. package/dist/astryx/InteractiveRoleContext.d.ts +1 -0
  199. package/dist/astryx/InteractiveRoleContext.js +1 -0
  200. package/dist/astryx/Item.d.ts +1 -0
  201. package/dist/astryx/Item.js +1 -0
  202. package/dist/astryx/Kbd.d.ts +1 -0
  203. package/dist/astryx/Kbd.js +1 -0
  204. package/dist/astryx/Layer.d.ts +1 -0
  205. package/dist/astryx/Layer.js +1 -0
  206. package/dist/astryx/Layout.d.ts +1 -0
  207. package/dist/astryx/Layout.js +1 -0
  208. package/dist/astryx/Lightbox.d.ts +1 -0
  209. package/dist/astryx/Lightbox.js +1 -0
  210. package/dist/astryx/Link.d.ts +1 -0
  211. package/dist/astryx/Link.js +1 -0
  212. package/dist/astryx/List.d.ts +1 -0
  213. package/dist/astryx/List.js +1 -0
  214. package/dist/astryx/Markdown/utils.d.ts +1 -0
  215. package/dist/astryx/Markdown/utils.js +1 -0
  216. package/dist/astryx/Markdown.d.ts +1 -0
  217. package/dist/astryx/Markdown.js +1 -0
  218. package/dist/astryx/MetadataList.d.ts +1 -0
  219. package/dist/astryx/MetadataList.js +1 -0
  220. package/dist/astryx/MobileNav.d.ts +1 -0
  221. package/dist/astryx/MobileNav.js +1 -0
  222. package/dist/astryx/MoreMenu.d.ts +1 -0
  223. package/dist/astryx/MoreMenu.js +1 -0
  224. package/dist/astryx/MultiSelector.d.ts +1 -0
  225. package/dist/astryx/MultiSelector.js +1 -0
  226. package/dist/astryx/NavIcon.d.ts +1 -0
  227. package/dist/astryx/NavIcon.js +1 -0
  228. package/dist/astryx/NavMenu.d.ts +1 -0
  229. package/dist/astryx/NavMenu.js +1 -0
  230. package/dist/astryx/NumberInput.d.ts +1 -0
  231. package/dist/astryx/NumberInput.js +1 -0
  232. package/dist/astryx/Outline.d.ts +1 -0
  233. package/dist/astryx/Outline.js +1 -0
  234. package/dist/astryx/OverflowList.d.ts +1 -0
  235. package/dist/astryx/OverflowList.js +1 -0
  236. package/dist/astryx/Overlay.d.ts +1 -0
  237. package/dist/astryx/Overlay.js +1 -0
  238. package/dist/astryx/Pagination.d.ts +1 -0
  239. package/dist/astryx/Pagination.js +1 -0
  240. package/dist/astryx/Popover.d.ts +1 -0
  241. package/dist/astryx/Popover.js +1 -0
  242. package/dist/astryx/PowerSearch/utils.d.ts +1 -0
  243. package/dist/astryx/PowerSearch/utils.js +1 -0
  244. package/dist/astryx/PowerSearch.d.ts +1 -0
  245. package/dist/astryx/PowerSearch.js +1 -0
  246. package/dist/astryx/ProgressBar.d.ts +1 -0
  247. package/dist/astryx/ProgressBar.js +1 -0
  248. package/dist/astryx/RadioList.d.ts +1 -0
  249. package/dist/astryx/RadioList.js +1 -0
  250. package/dist/astryx/Resizable/utils.d.ts +1 -0
  251. package/dist/astryx/Resizable/utils.js +1 -0
  252. package/dist/astryx/Resizable.d.ts +1 -0
  253. package/dist/astryx/Resizable.js +1 -0
  254. package/dist/astryx/ScrollableArea.d.ts +1 -0
  255. package/dist/astryx/ScrollableArea.js +1 -0
  256. package/dist/astryx/Section.d.ts +1 -0
  257. package/dist/astryx/Section.js +1 -0
  258. package/dist/astryx/SegmentedControl.d.ts +1 -0
  259. package/dist/astryx/SegmentedControl.js +1 -0
  260. package/dist/astryx/SelectableCard.d.ts +1 -0
  261. package/dist/astryx/SelectableCard.js +1 -0
  262. package/dist/astryx/Selector/utils.d.ts +1 -0
  263. package/dist/astryx/Selector/utils.js +1 -0
  264. package/dist/astryx/Selector.d.ts +1 -0
  265. package/dist/astryx/Selector.js +1 -0
  266. package/dist/astryx/SideNav.d.ts +1 -0
  267. package/dist/astryx/SideNav.js +1 -0
  268. package/dist/astryx/SizeContext.d.ts +1 -0
  269. package/dist/astryx/SizeContext.js +1 -0
  270. package/dist/astryx/Skeleton.d.ts +1 -0
  271. package/dist/astryx/Skeleton.js +1 -0
  272. package/dist/astryx/Slider.d.ts +1 -0
  273. package/dist/astryx/Slider.js +1 -0
  274. package/dist/astryx/Spinner.d.ts +1 -0
  275. package/dist/astryx/Spinner.js +1 -0
  276. package/dist/astryx/Stack.d.ts +1 -0
  277. package/dist/astryx/Stack.js +1 -0
  278. package/dist/astryx/StatusDot.d.ts +1 -0
  279. package/dist/astryx/StatusDot.js +1 -0
  280. package/dist/astryx/Stepper.d.ts +1 -0
  281. package/dist/astryx/Stepper.js +1 -0
  282. package/dist/astryx/Switch.d.ts +1 -0
  283. package/dist/astryx/Switch.js +1 -0
  284. package/dist/astryx/TabList.d.ts +1 -0
  285. package/dist/astryx/TabList.js +1 -0
  286. package/dist/astryx/Table/utils.d.ts +1 -0
  287. package/dist/astryx/Table/utils.js +1 -0
  288. package/dist/astryx/Table.d.ts +1 -0
  289. package/dist/astryx/Table.js +1 -0
  290. package/dist/astryx/Text.d.ts +1 -0
  291. package/dist/astryx/Text.js +1 -0
  292. package/dist/astryx/TextArea.d.ts +1 -0
  293. package/dist/astryx/TextArea.js +1 -0
  294. package/dist/astryx/TextInput.d.ts +1 -0
  295. package/dist/astryx/TextInput.js +1 -0
  296. package/dist/astryx/Thumbnail.d.ts +1 -0
  297. package/dist/astryx/Thumbnail.js +1 -0
  298. package/dist/astryx/TimeInput.d.ts +1 -0
  299. package/dist/astryx/TimeInput.js +1 -0
  300. package/dist/astryx/Timestamp.d.ts +1 -0
  301. package/dist/astryx/Timestamp.js +1 -0
  302. package/dist/astryx/Toast.d.ts +1 -0
  303. package/dist/astryx/Toast.js +1 -0
  304. package/dist/astryx/ToggleButton.d.ts +1 -0
  305. package/dist/astryx/ToggleButton.js +1 -0
  306. package/dist/astryx/Token.d.ts +1 -0
  307. package/dist/astryx/Token.js +1 -0
  308. package/dist/astryx/Tokenizer.d.ts +1 -0
  309. package/dist/astryx/Tokenizer.js +1 -0
  310. package/dist/astryx/Toolbar.d.ts +1 -0
  311. package/dist/astryx/Toolbar.js +1 -0
  312. package/dist/astryx/Tooltip.d.ts +1 -0
  313. package/dist/astryx/Tooltip.js +1 -0
  314. package/dist/astryx/TopNav.d.ts +1 -0
  315. package/dist/astryx/TopNav.js +1 -0
  316. package/dist/astryx/TreeList.d.ts +1 -0
  317. package/dist/astryx/TreeList.js +1 -0
  318. package/dist/astryx/Typeahead/utils.d.ts +1 -0
  319. package/dist/astryx/Typeahead/utils.js +1 -0
  320. package/dist/astryx/Typeahead.d.ts +1 -0
  321. package/dist/astryx/Typeahead.js +1 -0
  322. package/dist/astryx/VStack.d.ts +1 -0
  323. package/dist/astryx/VStack.js +1 -0
  324. package/dist/astryx/VisuallyHidden.d.ts +1 -0
  325. package/dist/astryx/VisuallyHidden.js +1 -0
  326. package/dist/astryx/astryx.css +3 -0
  327. package/dist/astryx/hooks.d.ts +1 -0
  328. package/dist/astryx/hooks.js +1 -0
  329. package/dist/astryx/i18n.d.ts +1 -0
  330. package/dist/astryx/i18n.js +1 -0
  331. package/dist/astryx/lab/lab.css +3 -0
  332. package/dist/astryx/lab.d.ts +6 -0
  333. package/dist/astryx/lab.js +6 -0
  334. package/dist/astryx/naming.d.ts +1 -0
  335. package/dist/astryx/naming.js +1 -0
  336. package/dist/astryx/reset.css +3 -0
  337. package/dist/astryx/tailwind-theme.css +3 -0
  338. package/dist/astryx/theme/neutral/built.d.ts +1 -0
  339. package/dist/astryx/theme/neutral/built.js +1 -0
  340. package/dist/astryx/theme/neutral/theme.css +3 -0
  341. package/dist/astryx/theme/neutral.d.ts +1 -0
  342. package/dist/astryx/theme/neutral.js +1 -0
  343. package/dist/astryx/theme/syntax.d.ts +1 -0
  344. package/dist/astryx/theme/syntax.js +1 -0
  345. package/dist/astryx/theme/tokens.d.ts +1 -0
  346. package/dist/astryx/theme/tokens.js +1 -0
  347. package/dist/astryx/theme/tokens.stylex.d.ts +1 -0
  348. package/dist/astryx/theme/tokens.stylex.js +1 -0
  349. package/dist/astryx/theme.d.ts +1 -0
  350. package/dist/astryx/theme.js +1 -0
  351. package/dist/astryx/utils.d.ts +1 -0
  352. package/dist/astryx/utils.js +1 -0
  353. package/dist/components/AlertModal/AlertModal.d.ts +14 -0
  354. package/dist/components/AlertModal/AlertModal.js +56 -0
  355. package/dist/components/AlertModal/AlertModal.js.map +1 -0
  356. package/dist/components/AlertModal/index.d.ts +2 -0
  357. package/dist/components/AlertModal/index.js +2 -0
  358. package/dist/components/BoardItemTitle/BoardItemTitle.d.ts +15 -0
  359. package/dist/components/BoardItemTitle/BoardItemTitle2.js +42 -0
  360. package/dist/components/BoardItemTitle/BoardItemTitle2.js.map +1 -0
  361. package/dist/components/BoardItemTitle/index.d.ts +2 -0
  362. package/dist/components/BoardItemTitle/index.js +2 -0
  363. package/dist/components/BooleanToken/BooleanToken.d.ts +15 -0
  364. package/dist/components/BooleanToken/BooleanToken.js +19 -0
  365. package/dist/components/BooleanToken/BooleanToken.js.map +1 -0
  366. package/dist/components/BooleanToken/BooleanToken.messages.d.ts +10 -0
  367. package/dist/components/BooleanToken/BooleanToken.messages.js +16 -0
  368. package/dist/components/BooleanToken/BooleanToken.messages.js.map +1 -0
  369. package/dist/components/BooleanToken/index.d.ts +2 -0
  370. package/dist/components/BooleanToken/index.js +2 -0
  371. package/dist/components/BulkEditFormItem/BulkEditFormItem.d.ts +24 -0
  372. package/dist/components/BulkEditFormItem/BulkEditFormItem.js +93 -0
  373. package/dist/components/BulkEditFormItem/BulkEditFormItem.js.map +1 -0
  374. package/dist/components/BulkEditFormItem/BulkEditFormItem.messages.d.ts +14 -0
  375. package/dist/components/BulkEditFormItem/BulkEditFormItem.messages.js +20 -0
  376. package/dist/components/BulkEditFormItem/BulkEditFormItem.messages.js.map +1 -0
  377. package/dist/components/BulkEditFormItem/index.d.ts +2 -0
  378. package/dist/components/BulkEditFormItem/index.js +2 -0
  379. package/dist/components/BulkErrorModal/BulkErrorModal.d.ts +23 -0
  380. package/dist/components/BulkErrorModal/BulkErrorModal.messages.d.ts +10 -0
  381. package/dist/components/BulkErrorModal/BulkErrorModal.messages.js +16 -0
  382. package/dist/components/BulkErrorModal/BulkErrorModal.messages.js.map +1 -0
  383. package/dist/components/BulkErrorModal/BulkErrorModal2.js +55 -0
  384. package/dist/components/BulkErrorModal/BulkErrorModal2.js.map +1 -0
  385. package/dist/components/BulkErrorModal/index.d.ts +2 -0
  386. package/dist/components/BulkErrorModal/index.js +2 -0
  387. package/dist/components/ColorPicker/ColorPicker.d.ts +43 -0
  388. package/dist/components/ColorPicker/ColorPicker.messages.d.ts +18 -0
  389. package/dist/components/ColorPicker/ColorPicker.messages.js +24 -0
  390. package/dist/components/ColorPicker/ColorPicker.messages.js.map +1 -0
  391. package/dist/components/ColorPicker/ColorPicker2.js +117 -0
  392. package/dist/components/ColorPicker/ColorPicker2.js.map +1 -0
  393. package/dist/components/ColorPicker/index.d.ts +2 -0
  394. package/dist/components/ColorPicker/index.js +2 -0
  395. package/dist/components/ConfirmPopover/ConfirmPopover.d.ts +35 -0
  396. package/dist/components/ConfirmPopover/ConfirmPopover.js +75 -0
  397. package/dist/components/ConfirmPopover/ConfirmPopover.js.map +1 -0
  398. package/dist/components/ConfirmPopover/index.d.ts +2 -0
  399. package/dist/components/ConfirmPopover/index.js +2 -0
  400. package/dist/components/CountBadge/CountBadge.d.ts +24 -0
  401. package/dist/components/CountBadge/CountBadge2.js +35 -0
  402. package/dist/components/CountBadge/CountBadge2.js.map +1 -0
  403. package/dist/components/CountBadge/index.d.ts +2 -0
  404. package/dist/components/CountBadge/index.js +2 -0
  405. package/dist/components/CountdownBorder/CountdownBorder.d.ts +22 -0
  406. package/dist/components/CountdownBorder/CountdownBorder2.js +63 -0
  407. package/dist/components/CountdownBorder/CountdownBorder2.js.map +1 -0
  408. package/dist/components/CountdownBorder/index.d.ts +2 -0
  409. package/dist/components/CountdownBorder/index.js +2 -0
  410. package/dist/components/DataGrid/DataGrid.d.ts +212 -0
  411. package/dist/components/DataGrid/DataGrid.messages.d.ts +70 -0
  412. package/dist/components/DataGrid/DataGrid.messages.js +76 -0
  413. package/dist/components/DataGrid/DataGrid.messages.js.map +1 -0
  414. package/dist/components/DataGrid/DataGrid2.js +447 -0
  415. package/dist/components/DataGrid/DataGrid2.js.map +1 -0
  416. package/dist/components/DataGrid/DataGridExportModal.d.ts +30 -0
  417. package/dist/components/DataGrid/DataGridExportModal.js +125 -0
  418. package/dist/components/DataGrid/DataGridExportModal.js.map +1 -0
  419. package/dist/components/DataGrid/DataGridSettingsModal.d.ts +36 -0
  420. package/dist/components/DataGrid/DataGridSettingsModal.js +177 -0
  421. package/dist/components/DataGrid/DataGridSettingsModal.js.map +1 -0
  422. package/dist/components/DataGrid/index.d.ts +6 -0
  423. package/dist/components/DataGrid/index.js +4 -0
  424. package/dist/components/DataGrid/nodeToPlainText.d.ts +6 -0
  425. package/dist/components/DataGrid/nodeToPlainText.js +9 -0
  426. package/dist/components/DataGrid/nodeToPlainText.js.map +1 -0
  427. package/dist/components/DeleteConfirmModal/DeleteConfirmModal.d.ts +78 -0
  428. package/dist/components/DeleteConfirmModal/DeleteConfirmModal.messages.d.ts +30 -0
  429. package/dist/components/DeleteConfirmModal/DeleteConfirmModal.messages.js +36 -0
  430. package/dist/components/DeleteConfirmModal/DeleteConfirmModal.messages.js.map +1 -0
  431. package/dist/components/DeleteConfirmModal/DeleteConfirmModal2.js +102 -0
  432. package/dist/components/DeleteConfirmModal/DeleteConfirmModal2.js.map +1 -0
  433. package/dist/components/DeleteConfirmModal/index.d.ts +2 -0
  434. package/dist/components/DeleteConfirmModal/index.js +2 -0
  435. package/dist/components/DigitPopIn/DigitPopIn.d.ts +8 -0
  436. package/dist/components/DigitPopIn/DigitPopIn2.js +30 -0
  437. package/dist/components/DigitPopIn/DigitPopIn2.js.map +1 -0
  438. package/dist/components/DigitPopIn/index.d.ts +2 -0
  439. package/dist/components/DigitPopIn/index.js +2 -0
  440. package/dist/components/DividedRow/DividedRow.d.ts +27 -0
  441. package/dist/components/DividedRow/DividedRow2.js +63 -0
  442. package/dist/components/DividedRow/DividedRow2.js.map +1 -0
  443. package/dist/components/DividedRow/index.d.ts +2 -0
  444. package/dist/components/DividedRow/index.js +2 -0
  445. package/dist/components/DoubleBadge/DoubleBadge.d.ts +14 -0
  446. package/dist/components/DoubleBadge/DoubleBadge2.js +28 -0
  447. package/dist/components/DoubleBadge/DoubleBadge2.js.map +1 -0
  448. package/dist/components/DoubleBadge/index.d.ts +2 -0
  449. package/dist/components/DoubleBadge/index.js +2 -0
  450. package/dist/components/DoubleToken/DoubleToken.d.ts +24 -0
  451. package/dist/components/DoubleToken/DoubleToken2.js +38 -0
  452. package/dist/components/DoubleToken/DoubleToken2.js.map +1 -0
  453. package/dist/components/DoubleToken/index.d.ts +2 -0
  454. package/dist/components/DoubleToken/index.js +2 -0
  455. package/dist/components/ErrorState/ErrorState.d.ts +7 -16
  456. package/dist/components/ErrorState/ErrorState2.js +33 -33
  457. package/dist/components/ErrorState/ErrorState2.js.map +1 -1
  458. package/dist/components/Form/ErrorList.d.ts +13 -0
  459. package/dist/components/Form/ErrorList.js +21 -0
  460. package/dist/components/Form/ErrorList.js.map +1 -0
  461. package/dist/components/Form/Field.d.ts +88 -0
  462. package/dist/components/Form/Field.js +212 -0
  463. package/dist/components/Form/Field.js.map +1 -0
  464. package/dist/components/Form/Form.d.ts +70 -0
  465. package/dist/components/Form/Form.js +130 -0
  466. package/dist/components/Form/Form.js.map +1 -0
  467. package/dist/components/Form/Form.messages.d.ts +96 -0
  468. package/dist/components/Form/Form.messages.js +96 -0
  469. package/dist/components/Form/Form.messages.js.map +1 -0
  470. package/dist/components/Form/FormConfigProvider.d.ts +20 -0
  471. package/dist/components/Form/FormConfigProvider.js +31 -0
  472. package/dist/components/Form/FormConfigProvider.js.map +1 -0
  473. package/dist/components/Form/FormItem.d.ts +56 -0
  474. package/dist/components/Form/FormItem.js +164 -0
  475. package/dist/components/Form/FormItem.js.map +1 -0
  476. package/dist/components/Form/FormItemVisual.d.ts +56 -0
  477. package/dist/components/Form/FormItemVisual2.js +117 -0
  478. package/dist/components/Form/FormItemVisual2.js.map +1 -0
  479. package/dist/components/Form/FormStore.d.ts +109 -0
  480. package/dist/components/Form/FormStore.js +494 -0
  481. package/dist/components/Form/FormStore.js.map +1 -0
  482. package/dist/components/Form/List.d.ts +22 -0
  483. package/dist/components/Form/List.js +65 -0
  484. package/dist/components/Form/List.js.map +1 -0
  485. package/dist/components/Form/context.d.ts +91 -0
  486. package/dist/components/Form/context.js +34 -0
  487. package/dist/components/Form/context.js.map +1 -0
  488. package/dist/components/Form/feedbackIcons.d.ts +13 -0
  489. package/dist/components/Form/feedbackIcons.js +45 -0
  490. package/dist/components/Form/feedbackIcons.js.map +1 -0
  491. package/dist/components/Form/index.d.ts +30 -0
  492. package/dist/components/Form/index.js +18 -0
  493. package/dist/components/Form/index.js.map +1 -0
  494. package/dist/components/Form/interface.d.ts +212 -0
  495. package/dist/components/Form/isEqual.d.ts +1 -0
  496. package/dist/components/Form/isEqual.js +61 -0
  497. package/dist/components/Form/isEqual.js.map +1 -0
  498. package/dist/components/Form/messages.d.ts +15 -0
  499. package/dist/components/Form/messages.js +52 -0
  500. package/dist/components/Form/messages.js.map +1 -0
  501. package/dist/components/Form/namePath.d.ts +78 -0
  502. package/dist/components/Form/namePath.js +120 -0
  503. package/dist/components/Form/namePath.js.map +1 -0
  504. package/dist/components/Form/useWatch.d.ts +11 -0
  505. package/dist/components/Form/useWatch.js +43 -0
  506. package/dist/components/Form/useWatch.js.map +1 -0
  507. package/dist/components/Form/validate.d.ts +16 -0
  508. package/dist/components/Form/validate.js +214 -0
  509. package/dist/components/Form/validate.js.map +1 -0
  510. package/dist/components/IconWithTooltip/IconWithTooltip.d.ts +19 -0
  511. package/dist/components/IconWithTooltip/IconWithTooltip2.js +38 -0
  512. package/dist/components/IconWithTooltip/IconWithTooltip2.js.map +1 -0
  513. package/dist/components/IconWithTooltip/accessibleLabel.d.ts +2 -0
  514. package/dist/components/IconWithTooltip/accessibleLabel.js +33 -0
  515. package/dist/components/IconWithTooltip/accessibleLabel.js.map +1 -0
  516. package/dist/components/IconWithTooltip/index.d.ts +2 -0
  517. package/dist/components/IconWithTooltip/index.js +2 -0
  518. package/dist/components/ImageWithFallback/ImageWithFallback.d.ts +11 -0
  519. package/dist/components/ImageWithFallback/ImageWithFallback2.js +28 -0
  520. package/dist/components/ImageWithFallback/ImageWithFallback2.js.map +1 -0
  521. package/dist/components/ImageWithFallback/index.d.ts +2 -0
  522. package/dist/components/ImageWithFallback/index.js +2 -0
  523. package/dist/components/ListBanner/ListBanner.d.ts +17 -0
  524. package/dist/components/ListBanner/ListBanner2.js +27 -0
  525. package/dist/components/ListBanner/ListBanner2.js.map +1 -0
  526. package/dist/components/ListBanner/index.d.ts +2 -0
  527. package/dist/components/ListBanner/index.js +2 -0
  528. package/dist/components/Modal/Modal.d.ts +65 -0
  529. package/dist/components/Modal/Modal2.js +226 -0
  530. package/dist/components/Modal/Modal2.js.map +1 -0
  531. package/dist/components/Modal/index.d.ts +15 -0
  532. package/dist/components/Modal/index.js +4 -0
  533. package/dist/components/Modal/modalStack.d.ts +64 -0
  534. package/dist/components/Modal/modalStack.js +81 -0
  535. package/dist/components/Modal/modalStack.js.map +1 -0
  536. package/dist/components/NotificationItem/NotificationItem.d.ts +14 -0
  537. package/dist/components/NotificationItem/NotificationItem2.js +40 -0
  538. package/dist/components/NotificationItem/NotificationItem2.js.map +1 -0
  539. package/dist/components/NotificationItem/index.d.ts +2 -0
  540. package/dist/components/NotificationItem/index.js +2 -0
  541. package/dist/components/NotificationStack/NotificationStack.d.ts +56 -0
  542. package/dist/components/NotificationStack/NotificationStack.messages.d.ts +6 -0
  543. package/dist/components/NotificationStack/NotificationStack.messages.js +10 -0
  544. package/dist/components/NotificationStack/NotificationStack.messages.js.map +1 -0
  545. package/dist/components/NotificationStack/NotificationStack2.js +154 -0
  546. package/dist/components/NotificationStack/NotificationStack2.js.map +1 -0
  547. package/dist/components/NotificationStack/index.d.ts +2 -0
  548. package/dist/components/NotificationStack/index.js +2 -0
  549. package/dist/components/OverlayScrollbar/OverlayScrollbar.d.ts +13 -0
  550. package/dist/components/OverlayScrollbar/OverlayScrollbar2.js +69 -0
  551. package/dist/components/OverlayScrollbar/OverlayScrollbar2.js.map +1 -0
  552. package/dist/components/OverlayScrollbar/index.d.ts +2 -0
  553. package/dist/components/OverlayScrollbar/index.js +2 -0
  554. package/dist/components/PageHeader/PageHeader.d.ts +24 -8
  555. package/dist/components/PageHeader/PageHeader.messages.d.ts +6 -0
  556. package/dist/components/PageHeader/PageHeader.messages.js +10 -0
  557. package/dist/components/PageHeader/PageHeader.messages.js.map +1 -0
  558. package/dist/components/PageHeader/PageHeader2.js +57 -30
  559. package/dist/components/PageHeader/PageHeader2.js.map +1 -1
  560. package/dist/components/PageLayout/PageLayout2.js +2 -2
  561. package/dist/components/PageLayout/PageLayout2.js.map +1 -1
  562. package/dist/components/PagedSelector/PagedSelector.d.ts +107 -0
  563. package/dist/components/PagedSelector/PagedSelector.messages.d.ts +30 -0
  564. package/dist/components/PagedSelector/PagedSelector.messages.js +36 -0
  565. package/dist/components/PagedSelector/PagedSelector.messages.js.map +1 -0
  566. package/dist/components/PagedSelector/PagedSelector2.js +220 -0
  567. package/dist/components/PagedSelector/PagedSelector2.js.map +1 -0
  568. package/dist/components/PagedSelector/PanelSearchInput.d.ts +22 -0
  569. package/dist/components/PagedSelector/PanelSearchInput.js +95 -0
  570. package/dist/components/PagedSelector/PanelSearchInput.js.map +1 -0
  571. package/dist/components/PagedSelector/index.d.ts +2 -0
  572. package/dist/components/PagedSelector/index.js +2 -0
  573. package/dist/components/ProgressWithLabel/ProgressWithLabel.d.ts +26 -0
  574. package/dist/components/ProgressWithLabel/ProgressWithLabel2.js +44 -0
  575. package/dist/components/ProgressWithLabel/ProgressWithLabel2.js.map +1 -0
  576. package/dist/components/ProgressWithLabel/index.d.ts +2 -0
  577. package/dist/components/ProgressWithLabel/index.js +2 -0
  578. package/dist/components/SelectionLabel/SelectionLabel.d.ts +23 -0
  579. package/dist/components/SelectionLabel/SelectionLabel.js +29 -0
  580. package/dist/components/SelectionLabel/SelectionLabel.js.map +1 -0
  581. package/dist/components/SelectionLabel/SelectionLabel.messages.d.ts +10 -0
  582. package/dist/components/SelectionLabel/SelectionLabel.messages.js +16 -0
  583. package/dist/components/SelectionLabel/SelectionLabel.messages.js.map +1 -0
  584. package/dist/components/SelectionLabel/index.d.ts +2 -0
  585. package/dist/components/SelectionLabel/index.js +2 -0
  586. package/dist/components/Skeleton/Skeleton.messages.d.ts +18 -0
  587. package/dist/components/Skeleton/Skeleton.messages.js +24 -0
  588. package/dist/components/Skeleton/Skeleton.messages.js.map +1 -0
  589. package/dist/components/Skeleton/SkeletonCard.d.ts +4 -9
  590. package/dist/components/Skeleton/SkeletonCard2.js +53 -53
  591. package/dist/components/Skeleton/SkeletonCard2.js.map +1 -1
  592. package/dist/components/Skeleton/SkeletonChart.d.ts +5 -11
  593. package/dist/components/Skeleton/SkeletonChart2.js +51 -45
  594. package/dist/components/Skeleton/SkeletonChart2.js.map +1 -1
  595. package/dist/components/Skeleton/SkeletonRow.d.ts +5 -10
  596. package/dist/components/Skeleton/SkeletonRow2.js +35 -34
  597. package/dist/components/Skeleton/SkeletonRow2.js.map +1 -1
  598. package/dist/components/Skeleton/SkeletonShape.d.ts +10 -0
  599. package/dist/components/Skeleton/SkeletonShape2.js +23 -0
  600. package/dist/components/Skeleton/SkeletonShape2.js.map +1 -0
  601. package/dist/components/Skeleton/SkeletonText.d.ts +4 -9
  602. package/dist/components/Skeleton/SkeletonText2.js +22 -17
  603. package/dist/components/Skeleton/SkeletonText2.js.map +1 -1
  604. package/dist/components/Skeleton/index.d.ts +3 -5
  605. package/dist/components/Skeleton/index.js +4 -5
  606. package/dist/components/SmoothHeight/SmoothHeight2.js +2 -2
  607. package/dist/components/SmoothHeight/SmoothHeight2.js.map +1 -1
  608. package/dist/components/StatCard/StatCard.d.ts +28 -16
  609. package/dist/components/StatCard/StatCard2.js +96 -89
  610. package/dist/components/StatCard/StatCard2.js.map +1 -1
  611. package/dist/components/StatCard/index.d.ts +1 -1
  612. package/dist/components/Statistic/Statistic.d.ts +30 -0
  613. package/dist/components/Statistic/Statistic.messages.d.ts +6 -0
  614. package/dist/components/Statistic/Statistic.messages.js +10 -0
  615. package/dist/components/Statistic/Statistic.messages.js.map +1 -0
  616. package/dist/components/Statistic/Statistic2.js +75 -0
  617. package/dist/components/Statistic/Statistic2.js.map +1 -0
  618. package/dist/components/Statistic/index.d.ts +2 -0
  619. package/dist/components/Statistic/index.js +2 -0
  620. package/dist/components/StepNumberInput/NumberStepper.d.ts +29 -0
  621. package/dist/components/StepNumberInput/NumberStepper.messages.d.ts +10 -0
  622. package/dist/components/StepNumberInput/NumberStepper.messages.js +16 -0
  623. package/dist/components/StepNumberInput/NumberStepper.messages.js.map +1 -0
  624. package/dist/components/StepNumberInput/NumberStepper2.js +50 -0
  625. package/dist/components/StepNumberInput/NumberStepper2.js.map +1 -0
  626. package/dist/components/StepNumberInput/StepNumberInput.d.ts +33 -0
  627. package/dist/components/StepNumberInput/StepNumberInput.js +48 -0
  628. package/dist/components/StepNumberInput/StepNumberInput.js.map +1 -0
  629. package/dist/components/StepNumberInput/index.d.ts +4 -0
  630. package/dist/components/StepNumberInput/index.js +3 -0
  631. package/dist/components/TextHighlighter/TextHighlighter.d.ts +14 -0
  632. package/dist/components/TextHighlighter/TextHighlighter2.js +29 -0
  633. package/dist/components/TextHighlighter/TextHighlighter2.js.map +1 -0
  634. package/dist/components/TextHighlighter/index.d.ts +2 -0
  635. package/dist/components/TextHighlighter/index.js +2 -0
  636. package/dist/components/TokenList/TokenList.d.ts +18 -0
  637. package/dist/components/TokenList/TokenList2.js +55 -0
  638. package/dist/components/TokenList/TokenList2.js.map +1 -0
  639. package/dist/components/TokenList/index.d.ts +2 -0
  640. package/dist/components/TokenList/index.js +2 -0
  641. package/dist/components/TokenRow/TokenRow.d.ts +27 -0
  642. package/dist/components/TokenRow/TokenRow.messages.d.ts +6 -0
  643. package/dist/components/TokenRow/TokenRow.messages.js +10 -0
  644. package/dist/components/TokenRow/TokenRow.messages.js.map +1 -0
  645. package/dist/components/TokenRow/TokenRow2.js +29 -0
  646. package/dist/components/TokenRow/TokenRow2.js.map +1 -0
  647. package/dist/components/TokenRow/index.d.ts +2 -0
  648. package/dist/components/TokenRow/index.js +2 -0
  649. package/dist/components/UncontrolledInput/UncontrolledInput.d.ts +29 -0
  650. package/dist/components/UncontrolledInput/UncontrolledInput.js +49 -0
  651. package/dist/components/UncontrolledInput/UncontrolledInput.js.map +1 -0
  652. package/dist/components/UncontrolledInput/UncontrolledInput.messages.d.ts +6 -0
  653. package/dist/components/UncontrolledInput/UncontrolledInput.messages.js +10 -0
  654. package/dist/components/UncontrolledInput/UncontrolledInput.messages.js.map +1 -0
  655. package/dist/components/UncontrolledInput/index.d.ts +2 -0
  656. package/dist/components/UncontrolledInput/index.js +2 -0
  657. package/dist/components/UnitGrid/UnitGrid.d.ts +56 -0
  658. package/dist/components/UnitGrid/UnitGrid.geometry.d.ts +102 -0
  659. package/dist/components/UnitGrid/UnitGrid.geometry.js +172 -0
  660. package/dist/components/UnitGrid/UnitGrid.geometry.js.map +1 -0
  661. package/dist/components/UnitGrid/UnitGrid.messages.d.ts +14 -0
  662. package/dist/components/UnitGrid/UnitGrid.messages.js +20 -0
  663. package/dist/components/UnitGrid/UnitGrid.messages.js.map +1 -0
  664. package/dist/components/UnitGrid/UnitGrid2.js +393 -0
  665. package/dist/components/UnitGrid/UnitGrid2.js.map +1 -0
  666. package/dist/components/UnitGrid/UnitGridSkeleton.d.ts +9 -0
  667. package/dist/components/UnitGrid/UnitGridSkeleton.js +73 -0
  668. package/dist/components/UnitGrid/UnitGridSkeleton.js.map +1 -0
  669. package/dist/components/UnitGrid/index.d.ts +4 -0
  670. package/dist/components/UnitGrid/index.js +3 -0
  671. package/dist/forks/ComplexSelector/ComplexSelector.d.ts +144 -0
  672. package/dist/forks/ComplexSelector/ComplexSelector.js +157 -0
  673. package/dist/forks/ComplexSelector/ComplexSelector.js.map +1 -0
  674. package/dist/forks/ComplexSelector/ComplexSelector.styles.d.ts +125 -0
  675. package/dist/forks/ComplexSelector/ComplexSelector.styles.js +129 -0
  676. package/dist/forks/ComplexSelector/ComplexSelector.styles.js.map +1 -0
  677. package/dist/forks/ComplexSelector/index.d.ts +7 -0
  678. package/dist/forks/ComplexSelector/index.js +2 -0
  679. package/dist/forks/Drawer/Drawer.d.ts +98 -0
  680. package/dist/forks/Drawer/Drawer.js +94 -0
  681. package/dist/forks/Drawer/Drawer.js.map +1 -0
  682. package/dist/forks/Drawer/Drawer.styles.d.ts +99 -0
  683. package/dist/forks/Drawer/Drawer.styles.js +94 -0
  684. package/dist/forks/Drawer/Drawer.styles.js.map +1 -0
  685. package/dist/forks/Drawer/index.d.ts +6 -0
  686. package/dist/forks/Drawer/index.js +2 -0
  687. package/dist/forks/Drawer/useDrawerDialogPresence.d.ts +19 -0
  688. package/dist/forks/Drawer/useDrawerDialogPresence.js +62 -0
  689. package/dist/forks/Drawer/useDrawerDialogPresence.js.map +1 -0
  690. package/dist/forks/Tour/Tour.d.ts +58 -0
  691. package/dist/forks/Tour/Tour.js +55 -0
  692. package/dist/forks/Tour/Tour.js.map +1 -0
  693. package/dist/forks/Tour/TourContext.d.ts +37 -0
  694. package/dist/forks/Tour/TourContext.js +8 -0
  695. package/dist/forks/Tour/TourContext.js.map +1 -0
  696. package/dist/forks/Tour/TourStep.d.ts +43 -0
  697. package/dist/forks/Tour/TourStep.js +134 -0
  698. package/dist/forks/Tour/TourStep.js.map +1 -0
  699. package/dist/forks/Tour/TourStep.styles.d.ts +23 -0
  700. package/dist/forks/Tour/TourStep.styles.js +28 -0
  701. package/dist/forks/Tour/TourStep.styles.js.map +1 -0
  702. package/dist/forks/Tour/index.d.ts +11 -0
  703. package/dist/forks/Tour/index.js +4 -0
  704. package/dist/forks/Tour/useTour.d.ts +26 -0
  705. package/dist/forks/Tour/useTour.js +20 -0
  706. package/dist/forks/Tour/useTour.js.map +1 -0
  707. package/dist/forks/compiled.d.ts +5 -0
  708. package/dist/forks/compiled.js +8 -0
  709. package/dist/forks/compiled.js.map +1 -0
  710. package/dist/i18n/catalog.d.ts +12 -0
  711. package/dist/i18n/catalog.js +46 -0
  712. package/dist/i18n/catalog.js.map +1 -0
  713. package/dist/i18n/common.messages.d.ts +31 -0
  714. package/dist/i18n/common.messages.js +32 -0
  715. package/dist/i18n/common.messages.js.map +1 -0
  716. package/dist/i18n/index.d.ts +21 -0
  717. package/dist/i18n/index.js +3 -0
  718. package/dist/i18n/locales/de-DE.js +331 -0
  719. package/dist/i18n/locales/de-DE.js.map +1 -0
  720. package/dist/i18n/locales/el-GR.js +331 -0
  721. package/dist/i18n/locales/el-GR.js.map +1 -0
  722. package/dist/i18n/locales/es-ES.js +331 -0
  723. package/dist/i18n/locales/es-ES.js.map +1 -0
  724. package/dist/i18n/locales/fi-FI.js +331 -0
  725. package/dist/i18n/locales/fi-FI.js.map +1 -0
  726. package/dist/i18n/locales/fr-FR.js +331 -0
  727. package/dist/i18n/locales/fr-FR.js.map +1 -0
  728. package/dist/i18n/locales/id-ID.js +331 -0
  729. package/dist/i18n/locales/id-ID.js.map +1 -0
  730. package/dist/i18n/locales/it-IT.js +331 -0
  731. package/dist/i18n/locales/it-IT.js.map +1 -0
  732. package/dist/i18n/locales/ja-JP.js +351 -0
  733. package/dist/i18n/locales/ja-JP.js.map +1 -0
  734. package/dist/i18n/locales/ko-KR.js +351 -0
  735. package/dist/i18n/locales/ko-KR.js.map +1 -0
  736. package/dist/i18n/locales/mn-MN.js +327 -0
  737. package/dist/i18n/locales/mn-MN.js.map +1 -0
  738. package/dist/i18n/locales/ms-MY.js +331 -0
  739. package/dist/i18n/locales/ms-MY.js.map +1 -0
  740. package/dist/i18n/locales/pl-PL.js +331 -0
  741. package/dist/i18n/locales/pl-PL.js.map +1 -0
  742. package/dist/i18n/locales/pt-BR.js +331 -0
  743. package/dist/i18n/locales/pt-BR.js.map +1 -0
  744. package/dist/i18n/locales/pt-PT.js +331 -0
  745. package/dist/i18n/locales/pt-PT.js.map +1 -0
  746. package/dist/i18n/locales/ru-RU.js +331 -0
  747. package/dist/i18n/locales/ru-RU.js.map +1 -0
  748. package/dist/i18n/locales/th-TH.js +331 -0
  749. package/dist/i18n/locales/th-TH.js.map +1 -0
  750. package/dist/i18n/locales/tr-TR.js +331 -0
  751. package/dist/i18n/locales/tr-TR.js.map +1 -0
  752. package/dist/i18n/locales/vi-VN.js +331 -0
  753. package/dist/i18n/locales/vi-VN.js.map +1 -0
  754. package/dist/i18n/locales/zh-CN.js +331 -0
  755. package/dist/i18n/locales/zh-CN.js.map +1 -0
  756. package/dist/i18n/locales/zh-TW.js +331 -0
  757. package/dist/i18n/locales/zh-TW.js.map +1 -0
  758. package/dist/i18n/messages.d.ts +13 -0
  759. package/dist/i18n/messages.js +63 -0
  760. package/dist/i18n/messages.js.map +1 -0
  761. package/dist/i18n/translateWithNodes.d.ts +3 -0
  762. package/dist/i18n/translateWithNodes.js +14 -0
  763. package/dist/i18n/translateWithNodes.js.map +1 -0
  764. package/dist/i18n/useUicTranslator.d.ts +5 -0
  765. package/dist/i18n/useUicTranslator.js +38 -0
  766. package/dist/i18n/useUicTranslator.js.map +1 -0
  767. package/dist/index.d.ts +101 -27
  768. package/dist/index.js +63 -23
  769. package/dist/instance.d.ts +31 -0
  770. package/dist/instance.js +33 -0
  771. package/dist/instance.js.map +1 -0
  772. package/dist/legacy-tokens.css +177 -0
  773. package/dist/locales/af-ZA.json +954 -0
  774. package/dist/locales/ar-SA.json +994 -0
  775. package/dist/locales/ca-ES.json +970 -0
  776. package/dist/locales/cs-CZ.json +986 -0
  777. package/dist/locales/da-DK.json +962 -0
  778. package/dist/locales/de-DE.json +962 -0
  779. package/dist/locales/el-GR.json +986 -0
  780. package/dist/locales/en.json +1482 -0
  781. package/dist/locales/es-ES.json +974 -0
  782. package/dist/locales/fi-FI.json +986 -0
  783. package/dist/locales/fr-FR.json +950 -0
  784. package/dist/locales/he-IL.json +986 -0
  785. package/dist/locales/hu-HU.json +986 -0
  786. package/dist/locales/it-IT.json +974 -0
  787. package/dist/locales/ja-JP.json +994 -0
  788. package/dist/locales/ko-KR.json +986 -0
  789. package/dist/locales/nl-NL.json +950 -0
  790. package/dist/locales/no-NO.json +974 -0
  791. package/dist/locales/pl-PL.json +978 -0
  792. package/dist/locales/pseudo.json +1112 -0
  793. package/dist/locales/pt-BR.json +978 -0
  794. package/dist/locales/pt-PT.json +978 -0
  795. package/dist/locales/ro-RO.json +978 -0
  796. package/dist/locales/ru-RU.json +986 -0
  797. package/dist/locales/sr-SP.json +986 -0
  798. package/dist/locales/sv-SE.json +982 -0
  799. package/dist/locales/tr-TR.json +986 -0
  800. package/dist/locales/uk-UA.json +986 -0
  801. package/dist/locales/vi-VN.json +982 -0
  802. package/dist/locales/zh-CN.json +994 -0
  803. package/dist/locales/zh-TW.json +994 -0
  804. package/dist/styles/base.css +29 -2
  805. package/dist/styles/themes/orange-dark.css +4 -0
  806. package/dist/styles/themes/orange-light.css +4 -0
  807. package/dist/theme/lablup/built/lablup.d.ts +13 -0
  808. package/dist/theme/lablup/built/lablup.js +567 -0
  809. package/dist/theme/lablup/built/lablup.variants.d.ts +16 -0
  810. package/dist/theme/lablup/built/theme.css +716 -0
  811. package/dist/theme/lablup/index.d.ts +9 -0
  812. package/dist/theme/lablup/index.js +2 -0
  813. package/dist/theme/lablup/lablupTheme.d.ts +10 -0
  814. package/dist/theme/lablup/lablupTheme.js +21 -0
  815. package/dist/theme/lablup/lablupTheme.js.map +1 -0
  816. package/dist/ui-common-locales/de-DE.json +326 -0
  817. package/dist/ui-common-locales/el-GR.json +326 -0
  818. package/dist/ui-common-locales/en.json +346 -0
  819. package/dist/ui-common-locales/es-ES.json +326 -0
  820. package/dist/ui-common-locales/fi-FI.json +326 -0
  821. package/dist/ui-common-locales/fr-FR.json +326 -0
  822. package/dist/ui-common-locales/id-ID.json +326 -0
  823. package/dist/ui-common-locales/it-IT.json +326 -0
  824. package/dist/ui-common-locales/ja-JP.json +346 -0
  825. package/dist/ui-common-locales/ko-KR.json +346 -0
  826. package/dist/ui-common-locales/mn-MN.json +322 -0
  827. package/dist/ui-common-locales/ms-MY.json +326 -0
  828. package/dist/ui-common-locales/pl-PL.json +326 -0
  829. package/dist/ui-common-locales/pt-BR.json +326 -0
  830. package/dist/ui-common-locales/pt-PT.json +326 -0
  831. package/dist/ui-common-locales/ru-RU.json +326 -0
  832. package/dist/ui-common-locales/th-TH.json +326 -0
  833. package/dist/ui-common-locales/tr-TR.json +326 -0
  834. package/dist/ui-common-locales/vi-VN.json +326 -0
  835. package/dist/ui-common-locales/zh-CN.json +326 -0
  836. package/dist/ui-common-locales/zh-TW.json +326 -0
  837. package/dist/ui-common.css +51 -0
  838. package/exports.customs.json +62 -0
  839. package/exports.exclude.json +47 -0
  840. package/package.json +565 -21
  841. package/dist/assets/components/Badge/Badge.css +0 -1
  842. package/dist/assets/components/BaseCard/BaseCard.css +0 -1
  843. package/dist/assets/components/Button/Button.css +0 -1
  844. package/dist/assets/components/DataTable/DataTable.css +0 -1
  845. package/dist/assets/components/Drawer/Drawer.css +0 -1
  846. package/dist/assets/components/EmptyState/EmptyState.css +0 -1
  847. package/dist/assets/components/ProgressBar/ProgressBar.css +0 -1
  848. package/dist/assets/components/Skeleton/Skeleton.css +0 -1
  849. package/dist/assets/components/StatusTag/StatusTag.css +0 -1
  850. package/dist/assets/components/Tabs/Tabs.css +0 -1
  851. package/dist/assets/components/Tooltip/Tooltip.css +0 -1
  852. package/dist/components/Badge/Badge.d.ts +0 -7
  853. package/dist/components/Badge/Badge2.js +0 -20
  854. package/dist/components/Badge/Badge2.js.map +0 -1
  855. package/dist/components/Badge/index.d.ts +0 -2
  856. package/dist/components/Badge/index.js +0 -2
  857. package/dist/components/BaseCard/BaseCard.d.ts +0 -57
  858. package/dist/components/BaseCard/BaseCard2.js +0 -37
  859. package/dist/components/BaseCard/BaseCard2.js.map +0 -1
  860. package/dist/components/BaseCard/index.d.ts +0 -2
  861. package/dist/components/BaseCard/index.js +0 -2
  862. package/dist/components/Button/Button.d.ts +0 -54
  863. package/dist/components/Button/Button2.js +0 -75
  864. package/dist/components/Button/Button2.js.map +0 -1
  865. package/dist/components/Button/index.d.ts +0 -5
  866. package/dist/components/Button/index.js +0 -2
  867. package/dist/components/DataTable/DataTable.d.ts +0 -144
  868. package/dist/components/DataTable/DataTable2.js +0 -244
  869. package/dist/components/DataTable/DataTable2.js.map +0 -1
  870. package/dist/components/DataTable/index.d.ts +0 -2
  871. package/dist/components/DataTable/index.js +0 -2
  872. package/dist/components/Drawer/Drawer.d.ts +0 -25
  873. package/dist/components/Drawer/Drawer2.js +0 -107
  874. package/dist/components/Drawer/Drawer2.js.map +0 -1
  875. package/dist/components/Drawer/index.d.ts +0 -2
  876. package/dist/components/Drawer/index.js +0 -2
  877. package/dist/components/EmptyState/EmptyState.d.ts +0 -52
  878. package/dist/components/EmptyState/EmptyState.example.d.ts +0 -8
  879. package/dist/components/EmptyState/EmptyState2.js +0 -62
  880. package/dist/components/EmptyState/EmptyState2.js.map +0 -1
  881. package/dist/components/EmptyState/index.d.ts +0 -10
  882. package/dist/components/EmptyState/index.js +0 -2
  883. package/dist/components/ProgressBar/ProgressBar.d.ts +0 -22
  884. package/dist/components/ProgressBar/ProgressBar2.js +0 -37
  885. package/dist/components/ProgressBar/ProgressBar2.js.map +0 -1
  886. package/dist/components/ProgressBar/index.d.ts +0 -2
  887. package/dist/components/ProgressBar/index.js +0 -2
  888. package/dist/components/Skeleton/Skeleton.d.ts +0 -25
  889. package/dist/components/Skeleton/Skeleton2.js +0 -27
  890. package/dist/components/Skeleton/Skeleton2.js.map +0 -1
  891. package/dist/components/StatusTag/StatusTag.d.ts +0 -38
  892. package/dist/components/StatusTag/StatusTag2.js +0 -45
  893. package/dist/components/StatusTag/StatusTag2.js.map +0 -1
  894. package/dist/components/StatusTag/index.d.ts +0 -2
  895. package/dist/components/StatusTag/index.js +0 -2
  896. package/dist/components/Tabs/Tabs.d.ts +0 -94
  897. package/dist/components/Tabs/Tabs2.js +0 -412
  898. package/dist/components/Tabs/Tabs2.js.map +0 -1
  899. package/dist/components/Tabs/index.d.ts +0 -2
  900. package/dist/components/Tabs/index.js +0 -2
  901. package/dist/components/Tooltip/Tooltip.d.ts +0 -16
  902. package/dist/components/Tooltip/Tooltip2.js +0 -68
  903. package/dist/components/Tooltip/Tooltip2.js.map +0 -1
  904. package/dist/components/Tooltip/index.d.ts +0 -2
  905. package/dist/components/Tooltip/index.js +0 -2
  906. package/dist/hooks/index.js +0 -2
  907. package/dist/icons/AlertCircleIcon.d.ts +0 -11
  908. package/dist/icons/AlertCircleIcon.js +0 -26
  909. package/dist/icons/AlertCircleIcon.js.map +0 -1
@@ -0,0 +1,98 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseProps } from '@astryxdesign/core';
3
+ export interface DrawerProps extends BaseProps<HTMLDialogElement> {
4
+ /** Ref forwarded to the root <dialog> element */
5
+ ref?: React.Ref<HTMLDialogElement>;
6
+ /**
7
+ * Whether the drawer is open. Fully controlled — pair with `onOpenChange`.
8
+ */
9
+ isOpen: boolean;
10
+ /**
11
+ * Called when the drawer requests an open-state change. Escape, scrim
12
+ * click, and the built-in close button call it with `false`. The caller owns
13
+ * the open state. When sibling drawers are open, Escape only closes the top
14
+ * (last-opened) drawer.
15
+ */
16
+ onOpenChange: (isOpen: boolean) => void;
17
+ /**
18
+ * Which edge the drawer slides from.
19
+ * - `'end'` — inline-end edge (right in LTR) — the inspector convention
20
+ * - `'start'` — inline-start edge (left in LTR)
21
+ * @default 'end'
22
+ */
23
+ side?: "start" | "end";
24
+ /**
25
+ * Desktop width budget. A number is pixels; a string is any CSS length
26
+ * (`'50%'`, `'32rem'`). Below the mobile breakpoint (640px), this
27
+ * remains the maximum while the drawer preserves a 56px reveal of the page
28
+ * behind — see `isFullWidthOnMobile`.
29
+ * @default 400
30
+ */
31
+ width?: number | string;
32
+ /**
33
+ * Whether the drawer covers the full viewport width on mobile
34
+ * (below 640px) instead of preserving the default 56px reveal of the page
35
+ * behind. The reveal makes the drawer read as an overlay rather than a
36
+ * navigation.
37
+ * @default false
38
+ */
39
+ isFullWidthOnMobile?: boolean;
40
+ /**
41
+ * Accessible label for the drawer (required — the drawer has no
42
+ * built-in heading to derive a name from).
43
+ */
44
+ label: string;
45
+ /**
46
+ * Whether to render a modal scrim behind the drawer.
47
+ * - `true` (default) — `showModal()`: top layer, focus trap, body scroll
48
+ * lock, click-outside-to-close.
49
+ * - `false` — `show()`: non-modal overlay; the page behind stays
50
+ * interactive. Escape still closes it (ui-common: wherever focus is, as
51
+ * the top-most layer).
52
+ * @default true
53
+ */
54
+ hasScrim?: boolean;
55
+ /**
56
+ * Whether to render the built-in close button in the top-trailing
57
+ * corner. Enabled by default for both modal and non-modal drawers so every
58
+ * overlay has an obvious dismissal affordance.
59
+ * @default true
60
+ */
61
+ hasCloseButton?: boolean;
62
+ /**
63
+ * Drawer content. Rendered inside a full-height scrollable area.
64
+ * Focus the element with `data-autofocus` on open, if present.
65
+ */
66
+ children: ReactNode;
67
+ /**
68
+ * Test ID for the root element.
69
+ */
70
+ "data-testid"?: string;
71
+ }
72
+ /**
73
+ * An overlay panel for inspectors and detail views.
74
+ *
75
+ * Slides in from the logical start or end edge and floats above the page
76
+ * using the native `<dialog>` element: modal with a scrim by default, or a
77
+ * non-modal overlay with `hasScrim={false}` that leaves the page behind
78
+ * interactive. `width` is the desktop budget; below 640px the panel preserves
79
+ * a 56px page reveal without exceeding that budget (or fills the viewport
80
+ * with `isFullWidthOnMobile`). Escape
81
+ * closes the top-most open drawer; focus returns to the element that
82
+ * opened it.
83
+ *
84
+ * @example
85
+ * ```
86
+ * const [selected, setSelected] = useState(null);
87
+ * <Drawer
88
+ * isOpen={selected != null}
89
+ * onOpenChange={isOpen => !isOpen && setSelected(null)}
90
+ * label={`Details: ${selected?.name}`}>
91
+ * <HostDetails host={selected} />
92
+ * </Drawer>
93
+ * ```
94
+ */
95
+ export declare function Drawer({ isOpen, onOpenChange, side, width, isFullWidthOnMobile, label, hasScrim, hasCloseButton, children, xstyle, className, style, onClick: onClickProp, onKeyDown: onKeyDownProp, ref, ...props }: DrawerProps): import("react").JSX.Element;
96
+ export declare namespace Drawer {
97
+ var displayName: string;
98
+ }
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ import { ModalPortalContext as e } from "../../components/Modal/modalStack.js";
3
+ import { compiledStyles as t } from "../compiled.js";
4
+ import { dynamicStyles as n, styles as r } from "./Drawer.styles.js";
5
+ import { useDrawerDialogPresence as i } from "./useDrawerDialogPresence.js";
6
+ import { useCallback as a, useEffect as o, useId as ee, useRef as s, useState as c } from "react";
7
+ import { overlayPaddingReset as te } from "@astryxdesign/core/Layout";
8
+ import { useScrollLock as ne } from "@astryxdesign/core/hooks";
9
+ import { LayerDepthProvider as l, useLayerDismissal as u } from "@astryxdesign/core/Layer";
10
+ import { composeEventHandlers as d, mergeProps as f, mergeRefs as p, themeProps as m } from "@astryxdesign/core/utils";
11
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
+ import { Icon as _ } from "@astryxdesign/core/Icon";
13
+ import { IconButton as v } from "@astryxdesign/core/IconButton";
14
+ import * as y from "@stylexjs/stylex";
15
+ //#region src/forks/Drawer/Drawer.tsx
16
+ var b = 1e3, x = [], S = 0;
17
+ function re(e, t) {
18
+ return x.push({
19
+ id: e,
20
+ close: t
21
+ }), S += 1, b + S - 1;
22
+ }
23
+ function C(e) {
24
+ let t = x.findIndex((t) => t.id === e);
25
+ t !== -1 && x.splice(t, 1), x.length === 0 && (S = 0);
26
+ }
27
+ var w = 56, T = "100dvw", E = t(r), D = n, O = "x1iyjqo2 x2lwn1j xh8yej3 x1odjw0f x6ikm8r xish69e xx69xxh x1a148e8 x1a2a7pz", k = "x10l6tqk xctzyg x72tfeb x78zum5 xzye2dw x1vjfegm";
28
+ function A({ isOpen: t, onOpenChange: n, side: r = "end", width: x = 400, isFullWidthOnMobile: S = !1, label: A, hasScrim: j = !0, hasCloseButton: M = !0, children: N, xstyle: P, className: F, style: I, onClick: L, onKeyDown: R, ref: ie, ...z }) {
29
+ let B = s(null), V = ee(), H = s(n);
30
+ o(() => {
31
+ H.current = n;
32
+ }, [n]);
33
+ let [U, W] = c(b), [G, K] = c(t);
34
+ t && !G && K(!0), i({
35
+ dialogRef: B,
36
+ isOpen: t,
37
+ isModal: j,
38
+ setIsRendered: K
39
+ });
40
+ let [q, J] = c(null);
41
+ o(() => {
42
+ J(t && j ? B.current : null);
43
+ }, [t, j]), o(() => {
44
+ if (!t) return;
45
+ let e = re(V, () => H.current(!1));
46
+ return W(e), () => C(V);
47
+ }, [t, V]), ne(t && j);
48
+ let { shouldDismissOnCloseRequest: Y } = u({
49
+ isActive: t,
50
+ escapeBehavior: "close",
51
+ onDismiss: () => H.current(!1)
52
+ }), ae = a((e) => {
53
+ e.preventDefault(), Y() && n(!1);
54
+ }, [n, Y]), oe = a((e) => {
55
+ e.target === e.currentTarget && j && n(!1);
56
+ }, [j, n]), X = typeof x == "number" ? `${x}px` : x, se = S ? T : `min(${X}, calc(100dvw - ${w}px))`, Z = s(r);
57
+ t && (Z.current = r);
58
+ let Q = t ? r : Z.current, ce = Q === "start" ? E.start : E.end, le = Q === "start" ? E.startOpen : E.endOpen, { open: ue, ...$ } = z;
59
+ return /* @__PURE__ */ g("dialog", {
60
+ ref: p(ie, B),
61
+ ...f(m("drawer", { side: Q }), y.props(E.dialog, te.reset, ce, D.inlineSize(X, se), G && E.rendered, t && le, j ? E.scrim : D.stackZ(U), j && t && E.scrimOpen, P), F, I),
62
+ ...$,
63
+ "aria-label": A,
64
+ "aria-modal": $["aria-modal"] ?? (j ? "true" : void 0),
65
+ onClick: d(L, oe),
66
+ onKeyDown: R,
67
+ onCancel: ae,
68
+ children: [/* @__PURE__ */ h("div", {
69
+ tabIndex: -1,
70
+ className: O,
71
+ children: /* @__PURE__ */ h(l, { children: /* @__PURE__ */ h(e, {
72
+ value: q,
73
+ children: N
74
+ }) })
75
+ }), M && /* @__PURE__ */ h("div", {
76
+ className: k,
77
+ children: /* @__PURE__ */ h(v, {
78
+ icon: /* @__PURE__ */ h(_, {
79
+ icon: "close",
80
+ size: "sm",
81
+ color: "inherit"
82
+ }),
83
+ label: "Close",
84
+ variant: "ghost",
85
+ onClick: () => n(!1)
86
+ })
87
+ })]
88
+ });
89
+ }
90
+ A.displayName = "Drawer";
91
+ //#endregion
92
+ export { A as Drawer };
93
+
94
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","names":[],"sources":["../../../src/forks/Drawer/Drawer.tsx"],"sourcesContent":["// Copyright (c) Meta Platforms, Inc. and affiliates.\n// Modifications copyright (c) Lablup Inc.\n//\n// Forked from @astryxdesign/lab 0.6.2-canary.c9fb1ad, src/Drawer/Drawer.tsx\n// (MIT; see NOTICE). Provenance and the drift guard: src/forks/provenance.json.\n\n\"use client\";\n\n/**\n * Drawer, ui-common's copy of Astryx lab's, with three changes (not upstream):\n *\n * - **Escape goes through core's layer-dismissal stack.** Lab's drawer runs\n * its own element-level Escape handler, which claims the press before the\n * stack's document listener sees it, so an Escape in a popover, selector or\n * modal opened inside the drawer closed the drawer too (or, for a portalled\n * modal, neither). The drawer now registers with `useLayerDismissal` the way\n * core's `Dialog` does and wraps its content in `LayerDepthProvider`: one\n * press closes exactly the top-most layer, nested drawers close top-first,\n * an IME Escape closes nothing, and the native `cancel` answers only while\n * this drawer is on top. A non-modal drawer therefore closes on Escape\n * wherever focus is, as core's non-modal popovers do, not only while focus\n * is inside it.\n * - **`aria-modal` passes through.** A scrimless drawer is non-modal, but a\n * consumer that restores modality by hand (its own mask and focus trap) can\n * now say so; the default is unchanged.\n * - **ui-common's `Modal` opens above it.** A scrimmed drawer is a modal\n * `<dialog>`, which makes everything outside it inert, so a `Modal`\n * portalled to the body sat behind the drawer, unreachable. The drawer\n * provides its dialog through `ModalPortalContext` while it is open and\n * modal, and a `Modal` inside renders there, in the top layer\n * (modalStack.ts). Core's `Dialog` needs none of this: it is top layer\n * itself, and ui-common's `Modal` is not.\n *\n * Everything else is upstream's. Its style namespaces are Astryx's compiled\n * output (src/forks/compiled.ts). The LIFO drawer registry is module-level,\n * so this copy stacks with other drawers from this copy only; lab's own\n * `Drawer` is not exported by ui-common. Escape no longer consults it: it\n * only assigns non-modal z-indexes.\n *\n * Delete this fork, and its exports.exclude.json entry, once lab ships the\n * first two and `Modal` no longer needs the third\n * (CONTRIBUTING, \"Forks of Astryx components\").\n */\n\n/*\n * Upstream's file notes, kept:\n *\n * Overlay panel for inspectors and detail views — the \"click a table row,\n * see its details\" pattern. Slides in from the inline start or end edge and\n * floats above the page content: unlike a docked panel it never reflows the\n * layout underneath, it overlays it (with or without a scrim).\n *\n * Inline axis only (start/end). Block-axis sheets are BottomSheet's job;\n * a drawer is always a full-height side panel.\n *\n * Sizing is viewport-aware: `width` is the desktop budget, and below\n * the mobile breakpoint it preserves a 56px reveal of the page behind, capped\n * by the requested width (or fills the viewport with `isFullWidthOnMobile`).\n *\n * Uses the native `<dialog>` element (same precedent as Dialog/MobileNav):\n * - `showModal()` when `hasScrim` (default) — top-layer rendering, focus\n * trapping, `::backdrop`, no z-index management.\n * - `show()` when `hasScrim={false}` — non-modal overlay; the page behind\n * stays interactive (e.g. master-detail inspectors).\n *\n * Entry animation uses `@starting-style`; exit slides out before\n * `dialog.close()` releases the top layer and restores focus to the element\n * that opened the drawer. React owns `display` for both legs rather than a\n * discrete `display` transition, so the panel stops painting in the same\n * commit as `close()`.\n *\n * Sibling drawers coordinate through a module-level LIFO registry: Escape\n * closes only the top (last-opened) drawer, and non-modal drawers stack\n * last-opened-on-top via registry-assigned z-indexes.\n */\n\nimport { useCallback, useEffect, useId, useRef, useState, type ReactNode } from \"react\";\nimport * as stylex from \"@stylexjs/stylex\";\nimport type { StyleXStyles } from \"@stylexjs/stylex\";\nimport type { BaseProps } from \"@astryxdesign/core\";\nimport { Icon } from \"@astryxdesign/core/Icon\";\nimport { IconButton } from \"@astryxdesign/core/IconButton\";\nimport { LayerDepthProvider, useLayerDismissal } from \"@astryxdesign/core/Layer\";\nimport { useScrollLock } from \"@astryxdesign/core/hooks\";\nimport {\n composeEventHandlers,\n mergeProps,\n mergeRefs,\n themeProps,\n} from \"@astryxdesign/core/utils\";\nimport { overlayPaddingReset } from \"@astryxdesign/core/Layout\";\n\nimport { compiledStyles } from \"../compiled\";\nimport * as compiled from \"./Drawer.styles\";\nimport { ModalPortalContext } from \"../../components/Modal/modalStack\";\nimport { useDrawerDialogPresence } from \"./useDrawerDialogPresence\";\n\n// =============================================================================\n// LIFO stacking registry (internal)\n// =============================================================================\n\n// Module-level registry of currently open drawers, in open order (last entry\n// is the top of the stack). SSR-safe: only mutated inside effects.\n// ui-common: Escape no longer consults it (core's layer stack orders that);\n// non-modal (show()) drawers get incrementing z-indexes so the\n// last-opened one paints on top; modal drawers rely on the native top\n// layer's chronological stacking instead.\ntype DrawerRegistryEntry = { id: string; close: () => void };\n\n// Without the top layer (hasScrim={false} uses show(), not showModal())\n// the panel needs explicit stacking. No z-index token exists in the theme;\n// 1000 matches the app-level drawer convention.\nconst NON_MODAL_BASE_Z = 1000;\n\nconst openDrawerStack: DrawerRegistryEntry[] = [];\nlet registrationCounter = 0;\n\nfunction registerDrawer(id: string, close: () => void): number {\n openDrawerStack.push({ id, close });\n registrationCounter += 1;\n return NON_MODAL_BASE_Z + registrationCounter - 1;\n}\n\nfunction unregisterDrawer(id: string): void {\n const index = openDrawerStack.findIndex((entry) => entry.id === id);\n if (index !== -1) {\n openDrawerStack.splice(index, 1);\n }\n if (openDrawerStack.length === 0) {\n registrationCounter = 0;\n }\n}\n\n// =============================================================================\n// Styles\n// =============================================================================\n\n// Material's established mobile drawer pattern leaves a 56dp reveal. Using\n// the same value in CSS pixels gives the overlay a stable visual relationship\n// to the page behind while the requested width remains an upper bound.\nconst MOBILE_PAGE_REVEAL = 56;\nconst MOBILE_WIDTH_FULL = \"100dvw\";\n\n// @astryxdesign/lab dist/Drawer/Drawer.js `styles` and `dynamicStyles`.\nconst styles = compiledStyles(compiled.styles);\nconst dynamicStyles = compiled.dynamicStyles as {\n inlineSize: (desktopWidth: string, mobileWidth: string) => StyleXStyles;\n stackZ: (z: number) => StyleXStyles;\n};\n\n// Upstream's `content` and `controls` styles, which its compiler folded into\n// these class lists (dist/Drawer/Drawer.js).\nconst CONTENT_CLASS_NAME =\n \"x1iyjqo2 x2lwn1j xh8yej3 x1odjw0f x6ikm8r xish69e xx69xxh x1a148e8 x1a2a7pz\";\nconst CONTROLS_CLASS_NAME = \"x10l6tqk xctzyg x72tfeb x78zum5 xzye2dw x1vjfegm\";\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface DrawerProps extends BaseProps<HTMLDialogElement> {\n /** Ref forwarded to the root <dialog> element */\n ref?: React.Ref<HTMLDialogElement>;\n\n /**\n * Whether the drawer is open. Fully controlled — pair with `onOpenChange`.\n */\n isOpen: boolean;\n\n /**\n * Called when the drawer requests an open-state change. Escape, scrim\n * click, and the built-in close button call it with `false`. The caller owns\n * the open state. When sibling drawers are open, Escape only closes the top\n * (last-opened) drawer.\n */\n onOpenChange: (isOpen: boolean) => void;\n\n /**\n * Which edge the drawer slides from.\n * - `'end'` — inline-end edge (right in LTR) — the inspector convention\n * - `'start'` — inline-start edge (left in LTR)\n * @default 'end'\n */\n side?: \"start\" | \"end\";\n\n /**\n * Desktop width budget. A number is pixels; a string is any CSS length\n * (`'50%'`, `'32rem'`). Below the mobile breakpoint (640px), this\n * remains the maximum while the drawer preserves a 56px reveal of the page\n * behind — see `isFullWidthOnMobile`.\n * @default 400\n */\n width?: number | string;\n\n /**\n * Whether the drawer covers the full viewport width on mobile\n * (below 640px) instead of preserving the default 56px reveal of the page\n * behind. The reveal makes the drawer read as an overlay rather than a\n * navigation.\n * @default false\n */\n isFullWidthOnMobile?: boolean;\n\n /**\n * Accessible label for the drawer (required — the drawer has no\n * built-in heading to derive a name from).\n */\n label: string;\n\n /**\n * Whether to render a modal scrim behind the drawer.\n * - `true` (default) — `showModal()`: top layer, focus trap, body scroll\n * lock, click-outside-to-close.\n * - `false` — `show()`: non-modal overlay; the page behind stays\n * interactive. Escape still closes it (ui-common: wherever focus is, as\n * the top-most layer).\n * @default true\n */\n hasScrim?: boolean;\n\n /**\n * Whether to render the built-in close button in the top-trailing\n * corner. Enabled by default for both modal and non-modal drawers so every\n * overlay has an obvious dismissal affordance.\n * @default true\n */\n hasCloseButton?: boolean;\n\n /**\n * Drawer content. Rendered inside a full-height scrollable area.\n * Focus the element with `data-autofocus` on open, if present.\n */\n children: ReactNode;\n\n /**\n * Test ID for the root element.\n */\n \"data-testid\"?: string;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * An overlay panel for inspectors and detail views.\n *\n * Slides in from the logical start or end edge and floats above the page\n * using the native `<dialog>` element: modal with a scrim by default, or a\n * non-modal overlay with `hasScrim={false}` that leaves the page behind\n * interactive. `width` is the desktop budget; below 640px the panel preserves\n * a 56px page reveal without exceeding that budget (or fills the viewport\n * with `isFullWidthOnMobile`). Escape\n * closes the top-most open drawer; focus returns to the element that\n * opened it.\n *\n * @example\n * ```\n * const [selected, setSelected] = useState(null);\n * <Drawer\n * isOpen={selected != null}\n * onOpenChange={isOpen => !isOpen && setSelected(null)}\n * label={`Details: ${selected?.name}`}>\n * <HostDetails host={selected} />\n * </Drawer>\n * ```\n */\nexport function Drawer({\n isOpen,\n onOpenChange,\n side = \"end\",\n width = 400,\n isFullWidthOnMobile = false,\n label,\n hasScrim = true,\n hasCloseButton = true,\n children,\n xstyle,\n className,\n style,\n onClick: onClickProp,\n onKeyDown: onKeyDownProp,\n ref,\n ...props\n}: DrawerProps) {\n const dialogRef = useRef<HTMLDialogElement>(null);\n // Registry identity + latest onOpenChange (stable across re-renders so the\n // registration effect doesn't churn on every onOpenChange identity change).\n const drawerId = useId();\n const onOpenChangeRef = useRef(onOpenChange);\n useEffect(() => {\n onOpenChangeRef.current = onOpenChange;\n }, [onOpenChange]);\n // z-index assigned by the registry on open (non-modal stacking only).\n const [stackZ, setStackZ] = useState(NON_MODAL_BASE_Z);\n // Whether the panel paints: true while open and for the whole slide-out.\n const [isRendered, setIsRendered] = useState(isOpen);\n\n // Adjusted during render, not in an effect: the panel has to be rendered in\n // the same commit that targets the open transform, or @starting-style has\n // nothing to animate from.\n if (isOpen && !isRendered) {\n setIsRendered(true);\n }\n\n useDrawerDialogPresence({\n dialogRef,\n isOpen,\n isModal: hasScrim,\n setIsRendered,\n });\n\n // ui-common: the dialog a Modal inside renders into, set only once\n // showModal() has run (the effect above), so the Modal's popover enters the\n // top layer after the dialog and paints above it.\n const [modalHost, setModalHost] = useState<HTMLDialogElement | null>(null);\n useEffect(() => {\n setModalHost(isOpen && hasScrim ? dialogRef.current : null);\n }, [isOpen, hasScrim]);\n\n // LIFO registry membership: register on open, unregister on close or\n // unmount. The returned z-index stacks non-modal siblings in open order.\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n const z = registerDrawer(drawerId, () => onOpenChangeRef.current(false));\n setStackZ(z);\n return () => unregisterDrawer(drawerId);\n }, [isOpen, drawerId]);\n\n // Lock body scroll while a modal drawer is open (iOS Safari workaround).\n useScrollLock(isOpen && hasScrim);\n\n // ui-common: Escape goes through core's shared layer-dismissal stack, as in\n // core's Dialog. The stack owns the one Escape listener and hands each press\n // to the top-most layer, so a popover or modal opened inside this drawer\n // closes first, and nested drawers peel off top-first.\n const { shouldDismissOnCloseRequest } = useLayerDismissal({\n isActive: isOpen,\n escapeBehavior: \"close\",\n onDismiss: () => onOpenChangeRef.current(false),\n });\n\n // Native cancel event (a close request the stack never saw a press for) —\n // prevent the browser from closing the dialog directly, then answer it by\n // the stack's rules: only the top-most layer, never mid-composition.\n const handleCancel = useCallback(\n (event: React.SyntheticEvent<HTMLDialogElement>) => {\n event.preventDefault();\n if (shouldDismissOnCloseRequest()) {\n onOpenChange(false);\n }\n },\n [onOpenChange, shouldDismissOnCloseRequest],\n );\n\n // Clicks on the ::backdrop target the <dialog> element itself; clicks on\n // drawer content always target a child (the content area fills the panel).\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDialogElement>) => {\n if (event.target === event.currentTarget && hasScrim) {\n onOpenChange(false);\n }\n },\n [hasScrim, onOpenChange],\n );\n\n const widthValue = typeof width === \"number\" ? `${width}px` : width;\n const mobileWidth = isFullWidthOnMobile\n ? MOBILE_WIDTH_FULL\n : `min(${widthValue}, calc(100dvw - ${MOBILE_PAGE_REVEAL}px))`;\n\n // The side the panel is ANCHORED to, which is the side it must slide back\n // out to. Latched at open, because a consumer commonly derives `side` from\n // the same state that drives `isOpen` (`side={selected?.side ?? 'end'}`):\n // that state clears on close, so the live prop flips mid-exit and the panel\n // teleports to the other edge and slides out the wrong way. Children stay\n // mounted for the exit for the same reason; so does the anchor.\n const exitSideRef = useRef(side);\n if (isOpen) {\n exitSideRef.current = side;\n }\n const anchoredSide = isOpen ? side : exitSideRef.current;\n\n const sideStyle = anchoredSide === \"start\" ? styles.start : styles.end;\n const sideOpenStyle = anchoredSide === \"start\" ? styles.startOpen : styles.endOpen;\n\n // Filter out native `open` to prevent InvalidStateError when passed\n const { open: _open, ...safeProps } = props as Record<string, unknown>;\n\n return (\n <dialog\n ref={mergeRefs(ref, dialogRef)}\n {...mergeProps(\n themeProps(\"drawer\", { side: anchoredSide }),\n stylex.props(\n styles.dialog,\n overlayPaddingReset.reset,\n sideStyle,\n dynamicStyles.inlineSize(widthValue, mobileWidth),\n isRendered && styles.rendered,\n isOpen && sideOpenStyle,\n hasScrim ? styles.scrim : dynamicStyles.stackZ(stackZ),\n hasScrim && isOpen && styles.scrimOpen,\n xstyle,\n ),\n className,\n style,\n )}\n {...safeProps}\n aria-label={label}\n // ui-common: scrimless by itself is non-modal, but a consumer that\n // restores the modality by hand (a portal supplying its own mask and\n // focus trap) must be able to say so.\n aria-modal={\n (safeProps[\"aria-modal\"] as React.AriaAttributes[\"aria-modal\"]) ??\n (hasScrim ? \"true\" : undefined)\n }\n onClick={composeEventHandlers(onClickProp, handleClick)}\n onKeyDown={onKeyDownProp}\n onCancel={handleCancel}\n >\n {/* Scrollable content area — tabIndex so the dialog's focusing steps\n land on the panel body rather than the first button inside. */}\n <div tabIndex={-1} className={CONTENT_CLASS_NAME}>\n <LayerDepthProvider>\n <ModalPortalContext value={modalHost}>{children}</ModalPortalContext>\n </LayerDepthProvider>\n </div>\n {hasCloseButton && (\n <div className={CONTROLS_CLASS_NAME}>\n <IconButton\n icon={<Icon icon=\"close\" size=\"sm\" color=\"inherit\" />}\n label=\"Close\"\n variant=\"ghost\"\n onClick={() => onOpenChange(false)}\n />\n </div>\n )}\n </dialog>\n );\n}\n\nDrawer.displayName = \"Drawer\";\n"],"mappings":";;;;;;;;;;;;;;;AAgHA,IAAM,IAAmB,KAEnB,IAAyC,CAAC,GAC5C,IAAsB;AAE1B,SAAS,GAAe,GAAY,GAA2B;CAG7D,OAFA,EAAgB,KAAK;EAAE;EAAI;CAAM,CAAC,GAClC,KAAuB,GAChB,IAAmB,IAAsB;AAClD;AAEA,SAAS,EAAiB,GAAkB;CAC1C,IAAM,IAAQ,EAAgB,WAAW,MAAU,EAAM,OAAO,CAAE;CAIlE,AAHI,MAAU,MACZ,EAAgB,OAAO,GAAO,CAAC,GAE7B,EAAgB,WAAW,MAC7B,IAAsB;AAE1B;AASA,IAAM,IAAqB,IACrB,IAAoB,UAGpB,IAAS,EAAe,CAAe,GACvC,IAAgB,GAOhB,IACJ,+EACI,IAAsB;AAiH5B,SAAgB,EAAO,EACrB,WACA,iBACA,UAAO,OACP,WAAQ,KACR,yBAAsB,IACtB,UACA,cAAW,IACX,oBAAiB,IACjB,aACA,WACA,cACA,UACA,SAAS,GACT,WAAW,GACX,SACA,GAAG,KACW;CACd,IAAM,IAAY,EAA0B,IAAI,GAG1C,IAAW,GAAM,GACjB,IAAkB,EAAO,CAAY;CAC3C,QAAgB;EACd,EAAgB,UAAU;CAC5B,GAAG,CAAC,CAAY,CAAC;CAEjB,IAAM,CAAC,GAAQ,KAAa,EAAS,CAAgB,GAE/C,CAAC,GAAY,KAAiB,EAAS,CAAM;CASnD,AAJI,KAAU,CAAC,KACb,EAAc,EAAI,GAGpB,EAAwB;EACtB;EACA;EACA,SAAS;EACT;CACF,CAAC;CAKD,IAAM,CAAC,GAAW,KAAgB,EAAmC,IAAI;CAiBzE,AAhBA,QAAgB;EACd,EAAa,KAAU,IAAW,EAAU,UAAU,IAAI;CAC5D,GAAG,CAAC,GAAQ,CAAQ,CAAC,GAIrB,QAAgB;EACd,IAAI,CAAC,GACH;EAEF,IAAM,IAAI,GAAe,SAAgB,EAAgB,QAAQ,EAAK,CAAC;EAEvE,OADA,EAAU,CAAC,SACE,EAAiB,CAAQ;CACxC,GAAG,CAAC,GAAQ,CAAQ,CAAC,GAGrB,GAAc,KAAU,CAAQ;CAMhC,IAAM,EAAE,mCAAgC,EAAkB;EACxD,UAAU;EACV,gBAAgB;EAChB,iBAAiB,EAAgB,QAAQ,EAAK;CAChD,CAAC,GAKK,KAAe,GAClB,MAAmD;EAElD,AADA,EAAM,eAAe,GACjB,EAA4B,KAC9B,EAAa,EAAK;CAEtB,GACA,CAAC,GAAc,CAA2B,CAC5C,GAIM,KAAc,GACjB,MAA+C;EAC9C,AAAI,EAAM,WAAW,EAAM,iBAAiB,KAC1C,EAAa,EAAK;CAEtB,GACA,CAAC,GAAU,CAAY,CACzB,GAEM,IAAa,OAAO,KAAU,WAAW,GAAG,EAAM,MAAM,GACxD,KAAc,IAChB,IACA,OAAO,EAAW,kBAAkB,EAAmB,OAQrD,IAAc,EAAO,CAAI;CAC/B,AAAI,MACF,EAAY,UAAU;CAExB,IAAM,IAAe,IAAS,IAAO,EAAY,SAE3C,KAAY,MAAiB,UAAU,EAAO,QAAQ,EAAO,KAC7D,KAAgB,MAAiB,UAAU,EAAO,YAAY,EAAO,SAGrE,EAAE,MAAM,IAAO,GAAG,MAAc;CAEtC,OACE,kBAAC,UAAD;EACE,KAAK,EAAU,IAAK,CAAS;EAC7B,GAAI,EACF,EAAW,UAAU,EAAE,MAAM,EAAa,CAAC,GAC3C,EAAO,MACL,EAAO,QACP,GAAoB,OACpB,IACA,EAAc,WAAW,GAAY,EAAW,GAChD,KAAc,EAAO,UACrB,KAAU,IACV,IAAW,EAAO,QAAQ,EAAc,OAAO,CAAM,GACrD,KAAY,KAAU,EAAO,WAC7B,CACF,GACA,GACA,CACF;EACA,GAAI;EACJ,cAAY;EAIZ,cACG,EAAU,kBACV,IAAW,SAAS,KAAA;EAEvB,SAAS,EAAqB,GAAa,EAAW;EACtD,WAAW;EACX,UAAU;EA7BZ,UAAA,CAiCE,kBAAC,OAAD;GAAK,UAAU;GAAI,WAAW;GAC5B,UAAA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IAAoB,OAAO;IAAY;GAA6B,CAAA,EAClD,CAAA;EACjB,CAAA,GACJ,KACC,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACE,MAAM,kBAAC,GAAD;KAAM,MAAK;KAAQ,MAAK;KAAK,OAAM;IAAW,CAAA;IACpD,OAAM;IACN,SAAQ;IACR,eAAe,EAAa,EAAK;GAClC,CAAA;EACE,CAAA,CAED;;AAEZ;AAEA,EAAO,cAAc"}
@@ -0,0 +1,99 @@
1
+ export declare const styles: {
2
+ dialog: {
3
+ kVAEAm: string;
4
+ kogj98: string;
5
+ kmVPX3: string;
6
+ kaIpWk: string;
7
+ ks0D6T: string;
8
+ kskxy: string;
9
+ kB7OPa: string;
10
+ kXwgrk: string;
11
+ kWkggS: string;
12
+ kGVxlE: string;
13
+ kVQacm: string;
14
+ kZeWKH: string;
15
+ kI3sdo: string;
16
+ k87sOh: string;
17
+ krVfgx: string;
18
+ kZKoxP: string;
19
+ k1xSpc: string;
20
+ k1ekBW: string;
21
+ kIyJzY: string;
22
+ kAMwcw: string;
23
+ k6CgDc: string;
24
+ $$css: boolean;
25
+ };
26
+ rendered: {
27
+ k1xSpc: string;
28
+ $$css: boolean;
29
+ };
30
+ end: {
31
+ kt4wiu: string;
32
+ kLqNvP: string;
33
+ k2ei4v: string;
34
+ kVhnKS: string;
35
+ kGJrpR: string;
36
+ k3aq6I: string;
37
+ $$css: boolean;
38
+ };
39
+ endOpen: {
40
+ k3aq6I: string;
41
+ $$css: boolean;
42
+ };
43
+ start: {
44
+ kLqNvP: string;
45
+ kt4wiu: string;
46
+ ke9TFa: string;
47
+ k8ry5P: string;
48
+ kBCPoo: string;
49
+ k3aq6I: string;
50
+ $$css: boolean;
51
+ };
52
+ startOpen: {
53
+ k3aq6I: string;
54
+ $$css: boolean;
55
+ };
56
+ scrim: {
57
+ kGyWv1: string;
58
+ kba3nw: string;
59
+ k5sjJv: string;
60
+ kND0Po: string;
61
+ k9an0g: string;
62
+ kb4ib: string;
63
+ kA5Tbj: string;
64
+ $$css: boolean;
65
+ };
66
+ scrimOpen: {
67
+ k5sjJv: string;
68
+ $$css: boolean;
69
+ };
70
+ };
71
+ export declare const _temp: {
72
+ ks0D6T: string;
73
+ $$css: boolean;
74
+ };
75
+ export declare const dynamicStyles: {
76
+ inlineSize: (desktopWidth: any, mobileWidth: any) => ({
77
+ ks0D6T: string;
78
+ $$css: boolean;
79
+ } | {
80
+ kzqmXN: any;
81
+ $$css: boolean;
82
+ "--x-1xmrurk"?: undefined;
83
+ "--x-fqzwsx"?: undefined;
84
+ } | {
85
+ "--x-1xmrurk": any;
86
+ "--x-fqzwsx": any;
87
+ kzqmXN?: undefined;
88
+ $$css?: undefined;
89
+ })[];
90
+ stackZ: (z: any) => ({
91
+ kY2c9j: any;
92
+ $$css: boolean;
93
+ "--x-zIndex"?: undefined;
94
+ } | {
95
+ "--x-zIndex": any;
96
+ kY2c9j?: undefined;
97
+ $$css?: undefined;
98
+ })[];
99
+ };
@@ -0,0 +1,94 @@
1
+ //#region src/forks/Drawer/Drawer.styles.ts
2
+ var e = {
3
+ dialog: {
4
+ kVAEAm: "xixxii4",
5
+ kogj98: "x1ghz6dp",
6
+ kmVPX3: "x1717udv",
7
+ kaIpWk: "x2u8bby",
8
+ ks0D6T: "x1x1rfll",
9
+ kskxy: "x7ab17h",
10
+ kB7OPa: "x9f619",
11
+ kXwgrk: "xdt5ytf",
12
+ kWkggS: "x10xzikg",
13
+ kGVxlE: "x1kcpxr7",
14
+ kVQacm: "xb3r6kr",
15
+ kZeWKH: "xish69e",
16
+ kI3sdo: "x1a2a7pz",
17
+ k87sOh: "x13vifvy",
18
+ krVfgx: "x1ey2m1c",
19
+ kZKoxP: "xtdtrs8",
20
+ k1xSpc: "x1s85apg",
21
+ k1ekBW: "x11xpdln",
22
+ kIyJzY: "x80gvsz",
23
+ kAMwcw: "xlr8y92",
24
+ k6CgDc: "xzg1mie",
25
+ $$css: !0
26
+ },
27
+ rendered: {
28
+ k1xSpc: "x78zum5",
29
+ $$css: !0
30
+ },
31
+ end: {
32
+ kt4wiu: "xtijo5x",
33
+ kLqNvP: "xhi6v0a",
34
+ k2ei4v: "xgbv0en",
35
+ kVhnKS: "x1t7ytsu",
36
+ kGJrpR: "x1j92z86",
37
+ k3aq6I: "xumwmo6 x1df3fe5",
38
+ $$css: !0
39
+ },
40
+ endOpen: {
41
+ k3aq6I: "xbryuvx x1yqmsfc x1lymnkk",
42
+ $$css: !0
43
+ },
44
+ start: {
45
+ kLqNvP: "x1o0tod",
46
+ kt4wiu: "x1woyocn",
47
+ ke9TFa: "xw8tdv1",
48
+ k8ry5P: "x18b5jzi",
49
+ kBCPoo: "x1gejf6u",
50
+ k3aq6I: "x5i6ehr xttggg",
51
+ $$css: !0
52
+ },
53
+ startOpen: {
54
+ k3aq6I: "xbryuvx x6mt36l x14gflnl",
55
+ $$css: !0
56
+ },
57
+ scrim: {
58
+ kGyWv1: "xnixb3f",
59
+ kba3nw: "x1abwkk1",
60
+ k5sjJv: "xph5o2a",
61
+ kND0Po: "x167zut7",
62
+ k9an0g: "xft5bk6",
63
+ kb4ib: "x15h3t91",
64
+ kA5Tbj: "x1viac0w",
65
+ $$css: !0
66
+ },
67
+ scrimOpen: {
68
+ k5sjJv: "xb3n6bw xxiuuzi",
69
+ $$css: !0
70
+ }
71
+ }, t = {
72
+ ks0D6T: "xlbgzzq",
73
+ $$css: !0
74
+ }, n = {
75
+ inlineSize: (e, n) => [
76
+ t,
77
+ {
78
+ kzqmXN: (e == null ? e : "x11ymkkh ") + (n == null ? n : "xci7e5a"),
79
+ $$css: !0
80
+ },
81
+ {
82
+ "--x-1xmrurk": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(e),
83
+ "--x-fqzwsx": ((e) => typeof e == "number" ? e + "px" : e ?? void 0)(n)
84
+ }
85
+ ],
86
+ stackZ: (e) => [{
87
+ kY2c9j: e == null ? e : "xr3buco",
88
+ $$css: !0
89
+ }, { "--x-zIndex": e ?? void 0 }]
90
+ };
91
+ //#endregion
92
+ export { t as _temp, n as dynamicStyles, e as styles };
93
+
94
+ //# sourceMappingURL=Drawer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.styles.js","names":[],"sources":["../../../src/forks/Drawer/Drawer.styles.ts"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\n// @generated by scripts/sync-forks.mjs. Do not edit.\n//\n// Compiled StyleX from @astryxdesign/lab 0.6.2-canary.c9fb1ad, reused by the\n// Drawer fork so it renders with upstream's own class names\n// (src/forks/compiled.ts). Copyright (c) Meta Platforms, Inc. and\n// affiliates; MIT, see NOTICE.\n\n// dist/Drawer/Drawer.js\nexport const styles = {\n dialog: {\n kVAEAm: \"xixxii4\",\n kogj98: \"x1ghz6dp\",\n kmVPX3: \"x1717udv\",\n kaIpWk: \"x2u8bby\",\n ks0D6T: \"x1x1rfll\",\n kskxy: \"x7ab17h\",\n kB7OPa: \"x9f619\",\n kXwgrk: \"xdt5ytf\",\n kWkggS: \"x10xzikg\",\n kGVxlE: \"x1kcpxr7\",\n kVQacm: \"xb3r6kr\",\n kZeWKH: \"xish69e\",\n kI3sdo: \"x1a2a7pz\",\n k87sOh: \"x13vifvy\",\n krVfgx: \"x1ey2m1c\",\n kZKoxP: \"xtdtrs8\",\n k1xSpc: \"x1s85apg\",\n k1ekBW: \"x11xpdln\",\n kIyJzY: \"x80gvsz\",\n kAMwcw: \"xlr8y92\",\n k6CgDc: \"xzg1mie\",\n $$css: true,\n },\n rendered: {\n k1xSpc: \"x78zum5\",\n $$css: true,\n },\n end: {\n kt4wiu: \"xtijo5x\",\n kLqNvP: \"xhi6v0a\",\n k2ei4v: \"xgbv0en\",\n kVhnKS: \"x1t7ytsu\",\n kGJrpR: \"x1j92z86\",\n k3aq6I: \"xumwmo6 x1df3fe5\",\n $$css: true,\n },\n endOpen: {\n k3aq6I: \"xbryuvx x1yqmsfc x1lymnkk\",\n $$css: true,\n },\n start: {\n kLqNvP: \"x1o0tod\",\n kt4wiu: \"x1woyocn\",\n ke9TFa: \"xw8tdv1\",\n k8ry5P: \"x18b5jzi\",\n kBCPoo: \"x1gejf6u\",\n k3aq6I: \"x5i6ehr xttggg\",\n $$css: true,\n },\n startOpen: {\n k3aq6I: \"xbryuvx x6mt36l x14gflnl\",\n $$css: true,\n },\n scrim: {\n kGyWv1: \"xnixb3f\",\n kba3nw: \"x1abwkk1\",\n k5sjJv: \"xph5o2a\",\n kND0Po: \"x167zut7\",\n k9an0g: \"xft5bk6\",\n kb4ib: \"x15h3t91\",\n kA5Tbj: \"x1viac0w\",\n $$css: true,\n },\n scrimOpen: {\n k5sjJv: \"xb3n6bw xxiuuzi\",\n $$css: true,\n },\n};\nexport const _temp = {\n ks0D6T: \"xlbgzzq\",\n $$css: true,\n};\nexport const dynamicStyles = {\n inlineSize: (desktopWidth, mobileWidth) => [\n _temp,\n {\n kzqmXN:\n (desktopWidth != null ? \"x11ymkkh \" : desktopWidth) +\n (mobileWidth != null ? \"xci7e5a\" : mobileWidth),\n $$css: true,\n },\n {\n \"--x-1xmrurk\": ((val) =>\n typeof val === \"number\" ? val + \"px\" : val != null ? val : undefined)(\n desktopWidth,\n ),\n \"--x-fqzwsx\": ((val) =>\n typeof val === \"number\" ? val + \"px\" : val != null ? val : undefined)(\n mobileWidth,\n ),\n },\n ],\n stackZ: (z) => [\n {\n kY2c9j: z != null ? \"xr3buco\" : z,\n $$css: true,\n },\n {\n \"--x-zIndex\": z != null ? z : undefined,\n },\n ],\n};\n"],"mappings":";AAUA,IAAa,IAAS;CACpB,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;AACF,GACa,IAAQ;CACnB,QAAQ;CACR,OAAO;AACT,GACa,IAAgB;CAC3B,aAAa,GAAc,MAAgB;EACzC;EACA;GACE,SACG,KAAgB,OAAqB,IAAd,gBACvB,KAAe,OAAmB,IAAZ;GACzB,OAAO;EACT;EACA;GACE,iBAAiB,MACf,OAAO,KAAQ,WAAW,IAAM,OAAO,KAAoB,KAAA,EAAA,CAC3D,CACF;GACA,gBAAgB,MACd,OAAO,KAAQ,WAAW,IAAM,OAAO,KAAoB,KAAA,EAAA,CAC3D,CACF;EACF;CACF;CACA,SAAS,MAAM,CACb;EACE,QAAQ,KAAK,OAAmB,IAAZ;EACpB,OAAO;CACT,GACA,EACE,cAAc,KAAgB,KAAA,EAChC,CACF;AACF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * ui-common's copy of Astryx lab's Drawer, exported from
3
+ * `@lablup/ui-common/lab` in place of lab's (exports.exclude.json).
4
+ */
5
+ export { Drawer } from './Drawer';
6
+ export type { DrawerProps } from './Drawer';
@@ -0,0 +1,2 @@
1
+ import { Drawer as e } from "./Drawer.js";
2
+ export { e as Drawer };
@@ -0,0 +1,19 @@
1
+ import { Dispatch, RefObject, SetStateAction } from 'react';
2
+ type UseDrawerDialogPresenceOptions = {
3
+ dialogRef: RefObject<HTMLDialogElement | null>;
4
+ isOpen: boolean;
5
+ isModal: boolean;
6
+ setIsRendered: Dispatch<SetStateAction<boolean>>;
7
+ };
8
+ /**
9
+ * Coordinates the native dialog and React-rendered presence for Drawer.
10
+ *
11
+ * Opening captures the trigger, opens the native dialog, and honours the
12
+ * component's `data-autofocus` contract. Closing waits for the actual
13
+ * transform transition (with a computed-duration backstop), then closes the
14
+ * native dialog and synchronously hides the panel before the browser can paint
15
+ * it outside the top layer. Unmount cleanup closes a dialog left open by React
16
+ * Activity or a removed subtree.
17
+ */
18
+ export declare function useDrawerDialogPresence({ dialogRef, isOpen, isModal, setIsRendered, }: UseDrawerDialogPresenceOptions): void;
19
+ export {};
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import { useEffect as e, useRef as t } from "react";
3
+ import { flushSync as n } from "react-dom";
4
+ //#region src/forks/Drawer/useDrawerDialogPresence.ts
5
+ var r = 50, i = 250;
6
+ function a({ dialogRef: r, isOpen: i, isModal: a, setIsRendered: s }) {
7
+ let c = t(null);
8
+ e(() => {
9
+ let e = r.current;
10
+ if (e) {
11
+ if (i) {
12
+ e.open || (c.current = document.activeElement, a ? e.showModal() : e.show(), e.querySelector("[data-autofocus]")?.focus());
13
+ return;
14
+ }
15
+ if (e.open) return o(e, () => {
16
+ e.close(), n(() => {
17
+ s(!1);
18
+ }), c.current?.focus(), c.current = null;
19
+ });
20
+ }
21
+ }, [
22
+ r,
23
+ a,
24
+ i,
25
+ s
26
+ ]), e(() => {
27
+ let e = r.current;
28
+ return () => {
29
+ e?.open && e.close();
30
+ };
31
+ }, [r]);
32
+ }
33
+ function o(e, t) {
34
+ let n = !1, a = null, o = () => {
35
+ n || (n = !0, a != null && clearTimeout(a), e.removeEventListener("transitionend", c), e.removeEventListener("transitioncancel", c), t());
36
+ }, c = (t) => {
37
+ t.target === e && t.propertyName === "transform" && o();
38
+ };
39
+ e.addEventListener("transitionend", c), e.addEventListener("transitioncancel", c);
40
+ let l = s(e);
41
+ return a = setTimeout(o, (l ?? i) + r), () => {
42
+ n = !0, a != null && clearTimeout(a), e.removeEventListener("transitionend", c), e.removeEventListener("transitioncancel", c);
43
+ };
44
+ }
45
+ function s(e) {
46
+ let t = window.getComputedStyle(e), n = t.transitionProperty.split(",").map((e) => e.trim()), r = c(t.transitionDuration), i = c(t.transitionDelay);
47
+ return n.length === 0 || r.length === 0 || i.length === 0 || r.includes(null) || i.includes(null) ? null : n.reduce((e, t, n) => {
48
+ if (t !== "transform" && t !== "all") return e;
49
+ let a = r[n % r.length], o = i[n % i.length];
50
+ return Math.max(e, (a ?? 0) + (o ?? 0));
51
+ }, 0);
52
+ }
53
+ function c(e) {
54
+ return e.split(",").map((e) => {
55
+ let t = e.trim(), n = Number.parseFloat(t);
56
+ return Number.isFinite(n) ? t.endsWith("ms") ? n : t.endsWith("s") ? n * 1e3 : null : null;
57
+ });
58
+ }
59
+ //#endregion
60
+ export { a as useDrawerDialogPresence };
61
+
62
+ //# sourceMappingURL=useDrawerDialogPresence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrawerDialogPresence.js","names":[],"sources":["../../../src/forks/Drawer/useDrawerDialogPresence.ts"],"sourcesContent":["// Copyright (c) Meta Platforms, Inc. and affiliates.\n//\n// Forked from @astryxdesign/lab 0.6.2-canary.c9fb1ad, src/Drawer/useDrawerDialogPresence.ts\n// (MIT; see NOTICE). Unchanged: forked with Drawer, which uses it.\n// Provenance and the drift guard: src/forks/provenance.json.\n\n\"use client\";\n\n/**\n * @file useDrawerDialogPresence.ts\n * @input Controlled open state, modal mode, dialog ref, and rendered-state setter\n * @output Coordinates native dialog presence, exit timing, focus restoration, and unmount cleanup\n * @position Drawer-internal hook; consumed only by Drawer.tsx\n *\n * The drawer has two independent notions of presence:\n * - React's rendered state keeps the panel visible for its CSS exit.\n * - The native <dialog> `open` state keeps it in the top layer.\n *\n * Their close ordering is a browser-visible invariant: the panel must finish\n * its exit, then `dialog.close()` and the React hide must happen in the same\n * task. If the hide lands a frame later, a transformed ancestor becomes the\n * containing block for the now-non-top-layer `position: fixed` panel and it\n * paints back inside the page for one frame.\n *\n * SYNC: When modified, update:\n * - /packages/lab/src/Drawer/Drawer.test.tsx\n * - /.github/scripts/modal-close-visibility.js\n */\n\nimport {\n useEffect,\n useRef,\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from \"react\";\nimport { flushSync } from \"react-dom\";\n\n/** Slack past the computed transition before the backstop gives up waiting. */\nconst EXIT_BACKSTOP_BUFFER_MS = 50;\n\n/**\n * Hold used when the transition duration cannot be read — an unresolved\n * `var()` outside a real browser. Picking a fixed number would otherwise make\n * an assumption about the consumer's theme.\n */\nconst EXIT_FALLBACK_MS = 250;\n\ntype UseDrawerDialogPresenceOptions = {\n dialogRef: RefObject<HTMLDialogElement | null>;\n isOpen: boolean;\n isModal: boolean;\n setIsRendered: Dispatch<SetStateAction<boolean>>;\n};\n\n/**\n * Coordinates the native dialog and React-rendered presence for Drawer.\n *\n * Opening captures the trigger, opens the native dialog, and honours the\n * component's `data-autofocus` contract. Closing waits for the actual\n * transform transition (with a computed-duration backstop), then closes the\n * native dialog and synchronously hides the panel before the browser can paint\n * it outside the top layer. Unmount cleanup closes a dialog left open by React\n * Activity or a removed subtree.\n */\nexport function useDrawerDialogPresence({\n dialogRef,\n isOpen,\n isModal,\n setIsRendered,\n}: UseDrawerDialogPresenceOptions): void {\n // Element focused when the drawer opened — restored on close.\n const triggerElementRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) {\n return;\n }\n\n if (isOpen) {\n if (!dialog.open) {\n triggerElementRef.current = document.activeElement as HTMLElement | null;\n if (isModal) {\n dialog.showModal();\n } else {\n dialog.show();\n }\n // React's autoFocus calls .focus() during commit, before the dialog is\n // shown, so it silently fails — honour data-autofocus instead (same\n // contract as Dialog).\n dialog.querySelector<HTMLElement>(\"[data-autofocus]\")?.focus();\n }\n return;\n }\n\n if (!dialog.open) {\n return;\n }\n\n return waitForDrawerExit(dialog, () => {\n dialog.close();\n // flushSync, not a plain setState: React's default scheduling can land\n // the commit after the next paint, and that one frame is exactly the\n // bug — the panel paints outside the top layer. Both happen in this\n // task, so the browser never gets to paint between them.\n flushSync(() => {\n setIsRendered(false);\n });\n // Return focus after close(): a modal dialog makes the rest of the\n // document inert, so focusing the trigger before close() silently fails.\n triggerElementRef.current?.focus();\n triggerElementRef.current = null;\n });\n }, [dialogRef, isModal, isOpen, setIsRendered]);\n\n // Close the native dialog on unmount if it is still open. When the drawer is\n // mounted inside an <Activity> that flips to mode=\"hidden\", React runs effect\n // cleanups (with stale isOpen) instead of re-running the effect with\n // isOpen=false. Leaving `open` set would skip showModal() on the next open.\n // This is deliberately separate from the open/close effect: putting it in\n // that cleanup would cut off every delayed slide-out.\n useEffect(() => {\n const dialog = dialogRef.current;\n return () => {\n if (dialog?.open) {\n dialog.close();\n }\n };\n }, [dialogRef]);\n}\n\n/**\n * Wait for the panel's transform transition, with a computed-duration\n * backstop. Mirrors BottomSheetPanel.waitForTransition: the native event is\n * authoritative, and the timeout only prevents a lost event from stranding an\n * open dialog.\n */\nfunction waitForDrawerExit(\n element: HTMLDialogElement,\n complete: () => void,\n): () => void {\n let done = false;\n let timer: ReturnType<typeof setTimeout> | null = null;\n\n const finish = () => {\n if (done) {\n return;\n }\n done = true;\n if (timer != null) {\n clearTimeout(timer);\n }\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n element.removeEventListener(\"transitioncancel\", handleTransitionEnd);\n complete();\n };\n\n const handleTransitionEnd = (event: TransitionEvent) => {\n if (event.target === element && event.propertyName === \"transform\") {\n finish();\n }\n };\n\n element.addEventListener(\"transitionend\", handleTransitionEnd);\n element.addEventListener(\"transitioncancel\", handleTransitionEnd);\n\n const transitionMs = readTransformTransitionMs(element);\n timer = setTimeout(\n finish,\n (transitionMs ?? EXIT_FALLBACK_MS) + EXIT_BACKSTOP_BUFFER_MS,\n );\n\n return () => {\n done = true;\n if (timer != null) {\n clearTimeout(timer);\n }\n element.removeEventListener(\"transitionend\", handleTransitionEnd);\n element.removeEventListener(\"transitioncancel\", handleTransitionEnd);\n };\n}\n\n/** Read the transform transition's duration + delay from computed CSS. */\nfunction readTransformTransitionMs(element: HTMLElement): number | null {\n const computed = window.getComputedStyle(element);\n const properties = computed.transitionProperty\n .split(\",\")\n .map((value) => value.trim());\n const durations = parseTimes(computed.transitionDuration);\n const delays = parseTimes(computed.transitionDelay);\n\n if (\n properties.length === 0 ||\n durations.length === 0 ||\n delays.length === 0 ||\n durations.includes(null) ||\n delays.includes(null)\n ) {\n return null;\n }\n\n return properties.reduce((longest, property, index) => {\n if (property !== \"transform\" && property !== \"all\") {\n return longest;\n }\n const duration = durations[index % durations.length];\n const delay = delays[index % delays.length];\n return Math.max(longest, (duration ?? 0) + (delay ?? 0));\n }, 0);\n}\n\nfunction parseTimes(value: string): Array<number | null> {\n return value.split(\",\").map((part) => {\n const trimmed = part.trim();\n const time = Number.parseFloat(trimmed);\n if (!Number.isFinite(time)) {\n return null;\n }\n if (trimmed.endsWith(\"ms\")) {\n return time;\n }\n return trimmed.endsWith(\"s\") ? time * 1000 : null;\n });\n}\n"],"mappings":";;;;AAuCA,IAAM,IAA0B,IAO1B,IAAmB;AAmBzB,SAAgB,EAAwB,EACtC,cACA,WACA,YACA,oBACuC;CAEvC,IAAM,IAAoB,EAA2B,IAAI;CAkDzD,AAhDA,QAAgB;EACd,IAAM,IAAS,EAAU;EACpB,OAIL;OAAI,GAAQ;IACV,AAAK,EAAO,SACV,EAAkB,UAAU,SAAS,eACjC,IACF,EAAO,UAAU,IAEjB,EAAO,KAAK,GAKd,EAAO,cAA2B,kBAAkB,CAAC,EAAE,MAAM;IAE/D;GACF;GAEK,MAAO,MAIZ,OAAO,EAAkB,SAAc;IAYrC,AAXA,EAAO,MAAM,GAKb,QAAgB;KACd,EAAc,EAAK;IACrB,CAAC,GAGD,EAAkB,SAAS,MAAM,GACjC,EAAkB,UAAU;GAC9B,CAAC;EAnBD;CAoBF,GAAG;EAAC;EAAW;EAAS;EAAQ;CAAa,CAAC,GAQ9C,QAAgB;EACd,IAAM,IAAS,EAAU;EACzB,aAAa;GACX,AAAI,GAAQ,QACV,EAAO,MAAM;EAEjB;CACF,GAAG,CAAC,CAAS,CAAC;AAChB;AAQA,SAAS,EACP,GACA,GACY;CACZ,IAAI,IAAO,IACP,IAA8C,MAE5C,UAAe;EACf,MAGJ,IAAO,IACH,KAAS,QACX,aAAa,CAAK,GAEpB,EAAQ,oBAAoB,iBAAiB,CAAmB,GAChE,EAAQ,oBAAoB,oBAAoB,CAAmB,GACnE,EAAS;CACX,GAEM,KAAuB,MAA2B;EACtD,AAAI,EAAM,WAAW,KAAW,EAAM,iBAAiB,eACrD,EAAO;CAEX;CAGA,AADA,EAAQ,iBAAiB,iBAAiB,CAAmB,GAC7D,EAAQ,iBAAiB,oBAAoB,CAAmB;CAEhE,IAAM,IAAe,EAA0B,CAAO;CAMtD,OALA,IAAQ,WACN,IACC,KAAgB,KAAoB,CACvC,SAEa;EAMX,AALA,IAAO,IACH,KAAS,QACX,aAAa,CAAK,GAEpB,EAAQ,oBAAoB,iBAAiB,CAAmB,GAChE,EAAQ,oBAAoB,oBAAoB,CAAmB;CACrE;AACF;AAGA,SAAS,EAA0B,GAAqC;CACtE,IAAM,IAAW,OAAO,iBAAiB,CAAO,GAC1C,IAAa,EAAS,mBACzB,MAAM,GAAG,CAAC,CACV,KAAK,MAAU,EAAM,KAAK,CAAC,GACxB,IAAY,EAAW,EAAS,kBAAkB,GAClD,IAAS,EAAW,EAAS,eAAe;CAYlD,OATE,EAAW,WAAW,KACtB,EAAU,WAAW,KACrB,EAAO,WAAW,KAClB,EAAU,SAAS,IAAI,KACvB,EAAO,SAAS,IAAI,IAEb,OAGF,EAAW,QAAQ,GAAS,GAAU,MAAU;EACrD,IAAI,MAAa,eAAe,MAAa,OAC3C,OAAO;EAET,IAAM,IAAW,EAAU,IAAQ,EAAU,SACvC,IAAQ,EAAO,IAAQ,EAAO;EACpC,OAAO,KAAK,IAAI,IAAU,KAAY,MAAM,KAAS,EAAE;CACzD,GAAG,CAAC;AACN;AAEA,SAAS,EAAW,GAAqC;CACvD,OAAO,EAAM,MAAM,GAAG,CAAC,CAAC,KAAK,MAAS;EACpC,IAAM,IAAU,EAAK,KAAK,GACpB,IAAO,OAAO,WAAW,CAAO;EAOtC,OANK,OAAO,SAAS,CAAI,IAGrB,EAAQ,SAAS,IAAI,IAChB,IAEF,EAAQ,SAAS,GAAG,IAAI,IAAO,MAAO,OALpC;CAMX,CAAC;AACH"}
@@ -0,0 +1,58 @@
1
+ import { ReactNode } from 'react';
2
+ import { TourDismissSource } from './TourContext';
3
+ export interface TourProps {
4
+ /**
5
+ * Whether the tour is running. When false, nothing renders and step state
6
+ * resets — the tour restarts from the first step next time it becomes active.
7
+ * (Controlled: the consumer owns "has this user seen the tour?".)
8
+ */
9
+ isActive: boolean;
10
+ /**
11
+ * The tour's steps — `<TourStep>` elements. Step order is taken from their
12
+ * order here; only the active step renders its callout.
13
+ */
14
+ children?: ReactNode;
15
+ /**
16
+ * Called when the tour is dismissed, with the reason. Fires for every exit,
17
+ * including completing the last step (`source === 'complete'`). The consumer
18
+ * flips `isActive` to false in response, and can branch on the source to tell
19
+ * a successful finish apart from an early skip/backdrop/escape.
20
+ */
21
+ onDismiss: (source: TourDismissSource) => void;
22
+ /**
23
+ * Dim the page around the active step's target (a spotlight cutout — the
24
+ * target stays lit, everything else darkens). Use for modal-style steps that
25
+ * demand focus; leave off for a lightweight coachmark that only rings the
26
+ * target.
27
+ * @default false
28
+ */
29
+ hasBackdrop?: boolean;
30
+ /**
31
+ * Show the step count ("2 of 5") in each step.
32
+ * @default false
33
+ */
34
+ isStepCountShown?: boolean;
35
+ }
36
+ /**
37
+ * Controller for a guided product tour. Renders no chrome; coordinates the
38
+ * active step among its `<TourStep>` children.
39
+ *
40
+ * @example
41
+ * ```
42
+ * const [isActive, setIsActive] = useState(true);
43
+ * const saveRef = useRef(null);
44
+ * const shareRef = useRef(null);
45
+ * <Tour isActive={isActive} hasBackdrop isStepCountShown onDismiss={() => setIsActive(false)}>
46
+ * <TourStep targetRef={saveRef} heading="Save your work">
47
+ * Changes save automatically to the cloud.
48
+ * </TourStep>
49
+ * <TourStep targetRef={shareRef} heading="Share it">
50
+ * Invite teammates from here.
51
+ * </TourStep>
52
+ * </Tour>
53
+ * ```
54
+ */
55
+ export declare function Tour({ isActive, children, onDismiss, hasBackdrop, isStepCountShown, }: TourProps): import("react").JSX.Element;
56
+ export declare namespace Tour {
57
+ var displayName: string;
58
+ }