@neo4j-ndl/react 4.25.8 → 5.0.0-alpha.0.3d763f7

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 (1176) hide show
  1. package/lib/cjs/_generated/style-rules/index.js +5 -11
  2. package/lib/cjs/_generated/style-rules/index.js.map +1 -1
  3. package/lib/cjs/_generated/style-rules/literal-guards.js +50 -0
  4. package/lib/cjs/_generated/style-rules/literal-guards.js.map +1 -0
  5. package/lib/cjs/_generated/style-rules/literal-schemas.js +6 -21
  6. package/lib/cjs/_generated/style-rules/literal-schemas.js.map +1 -1
  7. package/lib/cjs/{text-overflow/index.js → _generated/style-rules/literal-types.js} +9 -6
  8. package/lib/cjs/_generated/style-rules/literal-types.js.map +1 -0
  9. package/lib/cjs/_generated/style-rules/numeric-utils.js.map +1 -1
  10. package/lib/cjs/_generated/style-rules/range-utils.js.map +1 -1
  11. package/lib/cjs/ai/presence/stories/ai-presence-default.story.js +1 -1
  12. package/lib/cjs/ai/presence/stories/ai-presence-default.story.js.map +1 -1
  13. package/lib/cjs/ai/presence/stories/ai-presence-thinking.story.js +1 -1
  14. package/lib/cjs/ai/presence/stories/ai-presence-thinking.story.js.map +1 -1
  15. package/lib/cjs/ai/reasoning/Reasoning.js +1 -1
  16. package/lib/cjs/ai/reasoning/Reasoning.js.map +1 -1
  17. package/lib/cjs/ai/reasoning/stories/reasoning-full.story.js +1 -1
  18. package/lib/cjs/ai/reasoning/stories/reasoning-full.story.js.map +1 -1
  19. package/lib/cjs/ai/response/Response.js +1 -1
  20. package/lib/cjs/ai/response/Response.js.map +1 -1
  21. package/lib/cjs/ai/response/stories/response-full-example.story.js +3 -3
  22. package/lib/cjs/ai/response/stories/response-full-example.story.js.map +1 -1
  23. package/lib/cjs/ai/suggestion/stories/suggestion-sizes.story.js +1 -1
  24. package/lib/cjs/ai/suggestion/stories/suggestion-sizes.story.js.map +1 -1
  25. package/lib/cjs/ai/user-bubble/stories/user-bubble-and-files.story.js +1 -1
  26. package/lib/cjs/ai/user-bubble/stories/user-bubble-and-files.story.js.map +1 -1
  27. package/lib/cjs/announcement-banner/stories/announcement-banner-custom-icons.story.js +1 -1
  28. package/lib/cjs/announcement-banner/stories/announcement-banner-custom-icons.story.js.map +1 -1
  29. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js +1 -1
  30. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js.map +1 -1
  31. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-urgent.story.js +1 -1
  32. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-urgent.story.js.map +1 -1
  33. package/lib/cjs/announcement-banner/stories/announcement-banner-present-at-page-render.story.js +1 -1
  34. package/lib/cjs/announcement-banner/stories/announcement-banner-present-at-page-render.story.js.map +1 -1
  35. package/lib/cjs/announcement-banner/stories/announcement-banner-variants.story.js +1 -1
  36. package/lib/cjs/announcement-banner/stories/announcement-banner-variants.story.js.map +1 -1
  37. package/lib/cjs/announcement-banner/stories/announcement-banner-with-page-content.story.js +1 -1
  38. package/lib/cjs/announcement-banner/stories/announcement-banner-with-page-content.story.js.map +1 -1
  39. package/lib/cjs/avatar/stories/avatar-custom-icon.story.js +1 -1
  40. package/lib/cjs/avatar/stories/avatar-custom-icon.story.js.map +1 -1
  41. package/lib/cjs/avatar/stories/avatar-shapes.story.js +1 -1
  42. package/lib/cjs/avatar/stories/avatar-shapes.story.js.map +1 -1
  43. package/lib/cjs/avatar/stories/avatar-sizes.story.js +1 -1
  44. package/lib/cjs/avatar/stories/avatar-sizes.story.js.map +1 -1
  45. package/lib/cjs/avatar/stories/avatar-statuses.story.js +1 -1
  46. package/lib/cjs/avatar/stories/avatar-statuses.story.js.map +1 -1
  47. package/lib/cjs/avatar/stories/avatar-types.story.js +1 -1
  48. package/lib/cjs/avatar/stories/avatar-types.story.js.map +1 -1
  49. package/lib/cjs/banner/stories/banner-variants.story.js +1 -1
  50. package/lib/cjs/banner/stories/banner-variants.story.js.map +1 -1
  51. package/lib/cjs/banner/stories/banner-with-icons.story.js +1 -1
  52. package/lib/cjs/banner/stories/banner-with-icons.story.js.map +1 -1
  53. package/lib/cjs/breadcrumbs/stories/breadcrumbs-header.story.js +1 -1
  54. package/lib/cjs/breadcrumbs/stories/breadcrumbs-header.story.js.map +1 -1
  55. package/lib/cjs/button/ButtonBase.js +1 -3
  56. package/lib/cjs/button/ButtonBase.js.map +1 -1
  57. package/lib/cjs/button/stories/button-sizes.story.js +1 -1
  58. package/lib/cjs/button/stories/button-sizes.story.js.map +1 -1
  59. package/lib/cjs/button/stories/button-variants.story.js +1 -1
  60. package/lib/cjs/button/stories/button-variants.story.js.map +1 -1
  61. package/lib/cjs/checkbox/stories/checkbox-full.story.js +2 -2
  62. package/lib/cjs/checkbox/stories/checkbox-full.story.js.map +1 -1
  63. package/lib/cjs/clean-icon-button/stories/clean-icon-button-keyboard-display.story.js +1 -1
  64. package/lib/cjs/clean-icon-button/stories/clean-icon-button-keyboard-display.story.js.map +1 -1
  65. package/lib/cjs/clean-icon-button/stories/clean-icon-button-sizes.story.js +1 -1
  66. package/lib/cjs/clean-icon-button/stories/clean-icon-button-sizes.story.js.map +1 -1
  67. package/lib/cjs/clean-icon-button/stories/clean-icon-button-tone.story.js +1 -1
  68. package/lib/cjs/clean-icon-button/stories/clean-icon-button-tone.story.js.map +1 -1
  69. package/lib/cjs/clipboard-button/stories/clipboard-button-sizes.story.js +1 -1
  70. package/lib/cjs/clipboard-button/stories/clipboard-button-sizes.story.js.map +1 -1
  71. package/lib/cjs/code-block/CodeBlock.js +3 -7
  72. package/lib/cjs/code-block/CodeBlock.js.map +1 -1
  73. package/lib/cjs/code-block/stories/code-disabled.story.js +2 -2
  74. package/lib/cjs/code-block/stories/code-disabled.story.js.map +1 -1
  75. package/lib/cjs/code-block/stories/code-full.story.js +2 -2
  76. package/lib/cjs/code-block/stories/code-full.story.js.map +1 -1
  77. package/lib/cjs/code-block/stories/code-languages.story.js +1 -1
  78. package/lib/cjs/code-block/stories/code-languages.story.js.map +1 -1
  79. package/lib/cjs/code-block/stories/code-with-actions.story.js +2 -2
  80. package/lib/cjs/code-block/stories/code-with-actions.story.js.map +1 -1
  81. package/lib/cjs/color-picker/ColorPicker.js +0 -3
  82. package/lib/cjs/color-picker/ColorPicker.js.map +1 -1
  83. package/lib/cjs/color-picker/stories/color-picker-dialog.story.js +1 -1
  84. package/lib/cjs/color-picker/stories/color-picker-dialog.story.js.map +1 -1
  85. package/lib/cjs/color-picker/stories/color-picker-popover.story.js +1 -1
  86. package/lib/cjs/color-picker/stories/color-picker-popover.story.js.map +1 -1
  87. package/lib/cjs/combobox/stories/combobox-action-on-select.story.js +1 -1
  88. package/lib/cjs/combobox/stories/combobox-action-on-select.story.js.map +1 -1
  89. package/lib/cjs/combobox/stories/combobox-actions.story.js +1 -1
  90. package/lib/cjs/combobox/stories/combobox-actions.story.js.map +1 -1
  91. package/lib/cjs/combobox/stories/combobox-async.story.js +2 -2
  92. package/lib/cjs/combobox/stories/combobox-async.story.js.map +1 -1
  93. package/lib/cjs/combobox/stories/combobox-disabled.story.js +1 -1
  94. package/lib/cjs/combobox/stories/combobox-disabled.story.js.map +1 -1
  95. package/lib/cjs/combobox/stories/combobox-fluid.story.js +1 -1
  96. package/lib/cjs/combobox/stories/combobox-fluid.story.js.map +1 -1
  97. package/lib/cjs/combobox/stories/combobox-hidden-label.story.js +1 -1
  98. package/lib/cjs/combobox/stories/combobox-hidden-label.story.js.map +1 -1
  99. package/lib/cjs/combobox/stories/combobox-in-popover-dialog.story.js +1 -1
  100. package/lib/cjs/combobox/stories/combobox-in-popover-dialog.story.js.map +1 -1
  101. package/lib/cjs/combobox/stories/combobox-in-popover.story.js +1 -1
  102. package/lib/cjs/combobox/stories/combobox-in-popover.story.js.map +1 -1
  103. package/lib/cjs/combobox/stories/combobox-native-form.story.js +1 -1
  104. package/lib/cjs/combobox/stories/combobox-native-form.story.js.map +1 -1
  105. package/lib/cjs/combobox/stories/combobox-sizes.story.js +1 -1
  106. package/lib/cjs/combobox/stories/combobox-sizes.story.js.map +1 -1
  107. package/lib/cjs/combobox/stories/combobox-validation.story.js +1 -1
  108. package/lib/cjs/combobox/stories/combobox-validation.story.js.map +1 -1
  109. package/lib/cjs/conditional-wrap/stories/conditional-wrap-default.story.js +1 -1
  110. package/lib/cjs/conditional-wrap/stories/conditional-wrap-default.story.js.map +1 -1
  111. package/lib/cjs/data-grid/stories/datagrid-compact-mode.story.js +1 -1
  112. package/lib/cjs/data-grid/stories/datagrid-compact-mode.story.js.map +1 -1
  113. package/lib/cjs/data-grid/stories/datagrid-component-overriding.story.js +2 -2
  114. package/lib/cjs/data-grid/stories/datagrid-component-overriding.story.js.map +1 -1
  115. package/lib/cjs/data-grid/stories/datagrid-custom-cell-with-style-rules.story.js +1 -1
  116. package/lib/cjs/data-grid/stories/datagrid-custom-cell-with-style-rules.story.js.map +1 -1
  117. package/lib/cjs/data-grid/stories/datagrid-in-dialog.story.js +2 -2
  118. package/lib/cjs/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
  119. package/lib/cjs/data-grid/stories/datagrid-keyboard-navigation.story.js +1 -1
  120. package/lib/cjs/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
  121. package/lib/cjs/data-grid/stories/datagrid-kitchen-sink.story.js +1 -1
  122. package/lib/cjs/data-grid/stories/datagrid-kitchen-sink.story.js.map +1 -1
  123. package/lib/cjs/data-grid/stories/datagrid-percentage-width-columns.story.js +1 -1
  124. package/lib/cjs/data-grid/stories/datagrid-percentage-width-columns.story.js.map +1 -1
  125. package/lib/cjs/data-grid/stories/datagrid-pinned-columns.stories.js +3 -3
  126. package/lib/cjs/data-grid/stories/datagrid-pinned-columns.stories.js.map +1 -1
  127. package/lib/cjs/data-grid/stories/datagrid-placeholder-states.story.js +1 -1
  128. package/lib/cjs/data-grid/stories/datagrid-placeholder-states.story.js.map +1 -1
  129. package/lib/cjs/data-grid/stories/datagrid-resizable-column.story.js +1 -1
  130. package/lib/cjs/data-grid/stories/datagrid-resizable-column.story.js.map +1 -1
  131. package/lib/cjs/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +1 -1
  132. package/lib/cjs/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
  133. package/lib/cjs/data-grid/stories/datagrid-rule-based-styling.story.js +1 -1
  134. package/lib/cjs/data-grid/stories/datagrid-rule-based-styling.story.js.map +1 -1
  135. package/lib/cjs/data-grid/stories/datagrid-search-and-filters.stories.js +5 -5
  136. package/lib/cjs/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
  137. package/lib/cjs/data-grid/stories/datagrid-simple.story.js +1 -1
  138. package/lib/cjs/data-grid/stories/datagrid-simple.story.js.map +1 -1
  139. package/lib/cjs/data-grid/stories/datagrid-single-selectable.story.js +1 -1
  140. package/lib/cjs/data-grid/stories/datagrid-single-selectable.story.js.map +1 -1
  141. package/lib/cjs/data-grid/stories/datagrid-skeleton-loading.story.js +1 -1
  142. package/lib/cjs/data-grid/stories/datagrid-skeleton-loading.story.js.map +1 -1
  143. package/lib/cjs/data-grid/stories/datagrid-sortable.story.js +1 -1
  144. package/lib/cjs/data-grid/stories/datagrid-sortable.story.js.map +1 -1
  145. package/lib/cjs/data-grid/stories/datagrid-using-editable-cells.story.js +2 -2
  146. package/lib/cjs/data-grid/stories/datagrid-using-editable-cells.story.js.map +1 -1
  147. package/lib/cjs/data-grid/stories/datagrid-virtualization.story.js +3 -3
  148. package/lib/cjs/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
  149. package/lib/cjs/data-grid/style-rules/guard.js +47 -0
  150. package/lib/cjs/data-grid/style-rules/guard.js.map +1 -0
  151. package/lib/cjs/data-grid/style-rules/index.js +3 -19
  152. package/lib/cjs/data-grid/style-rules/index.js.map +1 -1
  153. package/lib/cjs/data-grid/style-rules/internal/schemas.js +213 -0
  154. package/lib/cjs/data-grid/style-rules/internal/schemas.js.map +1 -0
  155. package/lib/cjs/data-grid/style-rules/types.js +0 -205
  156. package/lib/cjs/data-grid/style-rules/types.js.map +1 -1
  157. package/lib/cjs/date-picker/DatePicker.js +8 -6
  158. package/lib/cjs/date-picker/DatePicker.js.map +1 -1
  159. package/lib/cjs/date-picker/stories/date-picker-in-dialog.story.js +1 -1
  160. package/lib/cjs/date-picker/stories/date-picker-in-dialog.story.js.map +1 -1
  161. package/lib/cjs/date-picker/stories/date-picker-in-popover-dialog.story.js +1 -1
  162. package/lib/cjs/date-picker/stories/date-picker-in-popover-dialog.story.js.map +1 -1
  163. package/lib/cjs/dialog/Dialog.js +1 -2
  164. package/lib/cjs/dialog/Dialog.js.map +1 -1
  165. package/lib/cjs/dialog/stories/dialog-danger.story.js +1 -1
  166. package/lib/cjs/dialog/stories/dialog-danger.story.js.map +1 -1
  167. package/lib/cjs/dialog/stories/dialog-default.story.js +1 -1
  168. package/lib/cjs/dialog/stories/dialog-default.story.js.map +1 -1
  169. package/lib/cjs/dialog/stories/dialog-image.story.js +1 -1
  170. package/lib/cjs/dialog/stories/dialog-image.story.js.map +1 -1
  171. package/lib/cjs/dialog/stories/dialog-info.story.js +1 -1
  172. package/lib/cjs/dialog/stories/dialog-info.story.js.map +1 -1
  173. package/lib/cjs/dialog/stories/dialog-top-aligned.story.js +2 -2
  174. package/lib/cjs/dialog/stories/dialog-top-aligned.story.js.map +1 -1
  175. package/lib/cjs/dialog/stories/dialog-variants.story.js +1 -1
  176. package/lib/cjs/dialog/stories/dialog-variants.story.js.map +1 -1
  177. package/lib/cjs/dialog/stories/dialog-warning.story.js +1 -1
  178. package/lib/cjs/dialog/stories/dialog-warning.story.js.map +1 -1
  179. package/lib/cjs/dismissible-tag/stories/dismissible-tag-colors.story.js +1 -1
  180. package/lib/cjs/dismissible-tag/stories/dismissible-tag-colors.story.js.map +1 -1
  181. package/lib/cjs/dismissible-tag/stories/dismissible-tag-sizes.story.js +1 -1
  182. package/lib/cjs/dismissible-tag/stories/dismissible-tag-sizes.story.js.map +1 -1
  183. package/lib/cjs/drawer/Drawer.js +7 -6
  184. package/lib/cjs/drawer/Drawer.js.map +1 -1
  185. package/lib/cjs/drawer/stories/drawer-full.story.js +2 -2
  186. package/lib/cjs/drawer/stories/drawer-full.story.js.map +1 -1
  187. package/lib/cjs/drawer/stories/drawer-not-closeable.story.js +2 -2
  188. package/lib/cjs/drawer/stories/drawer-not-closeable.story.js.map +1 -1
  189. package/lib/cjs/drawer/stories/drawer-overlay.story.js +1 -1
  190. package/lib/cjs/drawer/stories/drawer-overlay.story.js.map +1 -1
  191. package/lib/cjs/drawer/stories/drawer-portaled.story.js +2 -2
  192. package/lib/cjs/drawer/stories/drawer-portaled.story.js.map +1 -1
  193. package/lib/cjs/drawer/stories/drawer-push.story.js +2 -2
  194. package/lib/cjs/drawer/stories/drawer-push.story.js.map +1 -1
  195. package/lib/cjs/drawer/stories/drawer-resizable.story.js +2 -2
  196. package/lib/cjs/drawer/stories/drawer-resizable.story.js.map +1 -1
  197. package/lib/cjs/drawer/stories/drawer-right-side.story.js +2 -2
  198. package/lib/cjs/drawer/stories/drawer-right-side.story.js.map +1 -1
  199. package/lib/cjs/drawer/stories/drawer-scrollable.story.js +2 -2
  200. package/lib/cjs/drawer/stories/drawer-scrollable.story.js.map +1 -1
  201. package/lib/cjs/dropzone/stories/dropzone-full.story.js +3 -3
  202. package/lib/cjs/dropzone/stories/dropzone-full.story.js.map +1 -1
  203. package/lib/cjs/flex/stories/flex-default.story.js +1 -1
  204. package/lib/cjs/flex/stories/flex-default.story.js.map +1 -1
  205. package/lib/cjs/graph-label/stories/graph-label-color.story.js +1 -1
  206. package/lib/cjs/graph-label/stories/graph-label-color.story.js.map +1 -1
  207. package/lib/cjs/graph-label/stories/graph-label-sizes.story.js +1 -1
  208. package/lib/cjs/graph-label/stories/graph-label-sizes.story.js.map +1 -1
  209. package/lib/cjs/graph-label/stories/graph-label-types.story.js +1 -1
  210. package/lib/cjs/graph-label/stories/graph-label-types.story.js.map +1 -1
  211. package/lib/cjs/hooks/use-debounce-callback/index.js +6 -6
  212. package/lib/cjs/hooks/use-debounce-callback/index.js.map +1 -1
  213. package/lib/cjs/icon-button/stories/icon-button-sizes.story.js +1 -1
  214. package/lib/cjs/icon-button/stories/icon-button-sizes.story.js.map +1 -1
  215. package/lib/cjs/icon-button/stories/icon-button-tone.story.js +1 -1
  216. package/lib/cjs/icon-button/stories/icon-button-tone.story.js.map +1 -1
  217. package/lib/cjs/icon-button-array/stories/icon-button-array-sizes.story.js +1 -1
  218. package/lib/cjs/icon-button-array/stories/icon-button-array-sizes.story.js.map +1 -1
  219. package/lib/cjs/icon-button-base/IconButtonBase.js +1 -3
  220. package/lib/cjs/icon-button-base/IconButtonBase.js.map +1 -1
  221. package/lib/cjs/icons/generated/custom/index.js +3 -17
  222. package/lib/cjs/icons/generated/custom/index.js.map +1 -1
  223. package/lib/cjs/inline-edit/InlineEdit.js +3 -2
  224. package/lib/cjs/inline-edit/InlineEdit.js.map +1 -1
  225. package/lib/cjs/kbd/Kbd.js +0 -1
  226. package/lib/cjs/kbd/Kbd.js.map +1 -1
  227. package/lib/cjs/loading-spinner/stories/loading-spinner-sizes.story.js +1 -1
  228. package/lib/cjs/loading-spinner/stories/loading-spinner-sizes.story.js.map +1 -1
  229. package/lib/cjs/logo/stories/logo-black.story.js +1 -1
  230. package/lib/cjs/logo/stories/logo-black.story.js.map +1 -1
  231. package/lib/cjs/logo/stories/logo-default.story.js +1 -1
  232. package/lib/cjs/logo/stories/logo-default.story.js.map +1 -1
  233. package/lib/cjs/logo/stories/logo-icon.story.js +1 -1
  234. package/lib/cjs/logo/stories/logo-icon.story.js.map +1 -1
  235. package/lib/cjs/menu/Menu.js +2 -2
  236. package/lib/cjs/menu/Menu.js.map +1 -1
  237. package/lib/cjs/menu/menu-types.js.map +1 -1
  238. package/lib/cjs/menu/stories/menu-custom-items.story.js +1 -1
  239. package/lib/cjs/menu/stories/menu-custom-items.story.js.map +1 -1
  240. package/lib/cjs/menu/stories/menu-in-dialog.story.js +2 -2
  241. package/lib/cjs/menu/stories/menu-in-dialog.story.js.map +1 -1
  242. package/lib/cjs/menu/stories/menu-nested.story.js +1 -1
  243. package/lib/cjs/menu/stories/menu-nested.story.js.map +1 -1
  244. package/lib/cjs/menu/stories/menu-radio-and-normal.story.js +1 -1
  245. package/lib/cjs/menu/stories/menu-radio-and-normal.story.js.map +1 -1
  246. package/lib/cjs/menu/stories/menu-radio-items.story.js +1 -1
  247. package/lib/cjs/menu/stories/menu-radio-items.story.js.map +1 -1
  248. package/lib/cjs/menu/stories/menu-with-icon.story.js +1 -1
  249. package/lib/cjs/menu/stories/menu-with-icon.story.js.map +1 -1
  250. package/lib/cjs/next/tree-view/TreeView.js +3 -3
  251. package/lib/cjs/next/tree-view/TreeView.js.map +1 -1
  252. package/lib/cjs/next/tree-view/stories/tree-view-large.story.js +1 -1
  253. package/lib/cjs/next/tree-view/stories/tree-view-large.story.js.map +1 -1
  254. package/lib/cjs/next/tree-view/stories/tree-view-multiple-replace.story.js +1 -1
  255. package/lib/cjs/next/tree-view/stories/tree-view-multiple-replace.story.js.map +1 -1
  256. package/lib/cjs/next/tree-view/stories/tree-view-root-selection.story.js +1 -1
  257. package/lib/cjs/next/tree-view/stories/tree-view-root-selection.story.js.map +1 -1
  258. package/lib/cjs/next/tree-view/stories/tree-view-tooltip.story.js +1 -1
  259. package/lib/cjs/next/tree-view/stories/tree-view-tooltip.story.js.map +1 -1
  260. package/lib/cjs/next/tree-view/stories/tree-view-trailing.story.js +1 -1
  261. package/lib/cjs/next/tree-view/stories/tree-view-trailing.story.js.map +1 -1
  262. package/lib/cjs/next/tree-view/stories/tree-view-uncontrolled.story.js +1 -1
  263. package/lib/cjs/next/tree-view/stories/tree-view-uncontrolled.story.js.map +1 -1
  264. package/lib/cjs/popover/Popover.js +6 -6
  265. package/lib/cjs/popover/Popover.js.map +1 -1
  266. package/lib/cjs/popover/stories/popover-controlled.story.js +1 -1
  267. package/lib/cjs/popover/stories/popover-controlled.story.js.map +1 -1
  268. package/lib/cjs/popover/stories/popover-custom-offset.story.js +1 -1
  269. package/lib/cjs/popover/stories/popover-custom-offset.story.js.map +1 -1
  270. package/lib/cjs/popover/stories/popover-default.story.js +1 -1
  271. package/lib/cjs/popover/stories/popover-default.story.js.map +1 -1
  272. package/lib/cjs/popover/stories/popover-in-dialog.story.js +1 -1
  273. package/lib/cjs/popover/stories/popover-in-dialog.story.js.map +1 -1
  274. package/lib/cjs/popover/stories/popover-no-button-wrapper.story.js +1 -1
  275. package/lib/cjs/popover/stories/popover-no-button-wrapper.story.js.map +1 -1
  276. package/lib/cjs/popover/stories/popover-separate-anchor.story.js +1 -1
  277. package/lib/cjs/popover/stories/popover-separate-anchor.story.js.map +1 -1
  278. package/lib/cjs/popover/use-popover.js +7 -9
  279. package/lib/cjs/popover/use-popover.js.map +1 -1
  280. package/lib/cjs/progress-bar/stories/progress-bar-sizes.story.js +1 -1
  281. package/lib/cjs/progress-bar/stories/progress-bar-sizes.story.js.map +1 -1
  282. package/lib/cjs/radio/stories/radio-disabled.story.js +1 -1
  283. package/lib/cjs/radio/stories/radio-disabled.story.js.map +1 -1
  284. package/lib/cjs/radio/stories/radio-truncated-label.story.js +1 -1
  285. package/lib/cjs/radio/stories/radio-truncated-label.story.js.map +1 -1
  286. package/lib/cjs/read-only-tag/stories/read-only-tag-colors.story.js +1 -1
  287. package/lib/cjs/read-only-tag/stories/read-only-tag-colors.story.js.map +1 -1
  288. package/lib/cjs/read-only-tag/stories/read-only-tag-sizes.story.js +1 -1
  289. package/lib/cjs/read-only-tag/stories/read-only-tag-sizes.story.js.map +1 -1
  290. package/lib/cjs/segmented-control/stories/segmented-control-sizes.story.js +1 -1
  291. package/lib/cjs/segmented-control/stories/segmented-control-sizes.story.js.map +1 -1
  292. package/lib/cjs/select/stories/select-controlled.story.js +1 -1
  293. package/lib/cjs/select/stories/select-controlled.story.js.map +1 -1
  294. package/lib/cjs/select/stories/select-custom-label.story.js +1 -1
  295. package/lib/cjs/select/stories/select-custom-label.story.js.map +1 -1
  296. package/lib/cjs/select/stories/select-inside-dialog.story.js +1 -1
  297. package/lib/cjs/select/stories/select-inside-dialog.story.js.map +1 -1
  298. package/lib/cjs/select/stories/select-menu-positionings.story.js +1 -1
  299. package/lib/cjs/select/stories/select-menu-positionings.story.js.map +1 -1
  300. package/lib/cjs/select/stories/select-required.story.js +1 -1
  301. package/lib/cjs/select/stories/select-required.story.js.map +1 -1
  302. package/lib/cjs/select/stories/select-sizes.story.js +1 -1
  303. package/lib/cjs/select/stories/select-sizes.story.js.map +1 -1
  304. package/lib/cjs/select-icon-button/stories/select-icon-button-sizes.story.js +1 -1
  305. package/lib/cjs/select-icon-button/stories/select-icon-button-sizes.story.js.map +1 -1
  306. package/lib/cjs/select-icon-button/stories/select-icon-button-states.story.js +1 -1
  307. package/lib/cjs/select-icon-button/stories/select-icon-button-states.story.js.map +1 -1
  308. package/lib/cjs/selectable-tag/stories/selectable-tag-disabled.story.js +1 -1
  309. package/lib/cjs/selectable-tag/stories/selectable-tag-disabled.story.js.map +1 -1
  310. package/lib/cjs/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
  311. package/lib/cjs/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
  312. package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
  313. package/lib/cjs/side-navigation/stories/side-nav-badges.story.js +2 -2
  314. package/lib/cjs/side-navigation/stories/side-nav-badges.story.js.map +1 -1
  315. package/lib/cjs/side-navigation/stories/side-nav-compact.story.js +1 -1
  316. package/lib/cjs/side-navigation/stories/side-nav-compact.story.js.map +1 -1
  317. package/lib/cjs/side-navigation/stories/side-nav-default.story.js +1 -1
  318. package/lib/cjs/side-navigation/stories/side-nav-default.story.js.map +1 -1
  319. package/lib/cjs/side-navigation/stories/side-nav-secondary.story.js +1 -1
  320. package/lib/cjs/side-navigation/stories/side-nav-secondary.story.js.map +1 -1
  321. package/lib/cjs/skeleton/stories/skeleton-circular.story.js +1 -1
  322. package/lib/cjs/skeleton/stories/skeleton-circular.story.js.map +1 -1
  323. package/lib/cjs/skeleton/stories/skeleton-default.story.js +1 -1
  324. package/lib/cjs/skeleton/stories/skeleton-default.story.js.map +1 -1
  325. package/lib/cjs/skeleton/stories/skeleton-full-example.story.js +1 -1
  326. package/lib/cjs/skeleton/stories/skeleton-full-example.story.js.map +1 -1
  327. package/lib/cjs/skeleton/stories/skeleton-inherit-height.story.js +1 -1
  328. package/lib/cjs/skeleton/stories/skeleton-inherit-height.story.js.map +1 -1
  329. package/lib/cjs/skeleton/stories/skeleton-inherit-width.story.js +1 -1
  330. package/lib/cjs/skeleton/stories/skeleton-inherit-width.story.js.map +1 -1
  331. package/lib/cjs/slider/Slider.js +3 -3
  332. package/lib/cjs/slider/Slider.js.map +1 -1
  333. package/lib/cjs/slider/stories/slider-custom-step-length.story.js +1 -1
  334. package/lib/cjs/slider/stories/slider-custom-step-length.story.js.map +1 -1
  335. package/lib/cjs/slider/stories/slider-range.story.js +1 -1
  336. package/lib/cjs/slider/stories/slider-range.story.js.map +1 -1
  337. package/lib/cjs/slider/stories/slider-show-steps.story.js +1 -1
  338. package/lib/cjs/slider/stories/slider-show-steps.story.js.map +1 -1
  339. package/lib/cjs/slider/stories/slider-show-values.story.js +1 -1
  340. package/lib/cjs/slider/stories/slider-show-values.story.js.map +1 -1
  341. package/lib/cjs/slider/stories/slider-single-controlled.story.js +2 -2
  342. package/lib/cjs/slider/stories/slider-single-controlled.story.js.map +1 -1
  343. package/lib/cjs/slider/stories/slider-single.story.js +1 -1
  344. package/lib/cjs/slider/stories/slider-single.story.js.map +1 -1
  345. package/lib/cjs/spotlight/Spotlight.js +3 -3
  346. package/lib/cjs/spotlight/Spotlight.js.map +1 -1
  347. package/lib/cjs/spotlight/SpotlightTarget.js +3 -3
  348. package/lib/cjs/spotlight/SpotlightTarget.js.map +1 -1
  349. package/lib/cjs/spotlight/stories/spotlight-fixed-positioning.story.js +1 -1
  350. package/lib/cjs/spotlight/stories/spotlight-fixed-positioning.story.js.map +1 -1
  351. package/lib/cjs/spotlight/stories/spotlight-in-dialog.story.js +1 -1
  352. package/lib/cjs/spotlight/stories/spotlight-in-dialog.story.js.map +1 -1
  353. package/lib/cjs/spotlight/stories/spotlight-in-side-nav.story.js +1 -1
  354. package/lib/cjs/spotlight/stories/spotlight-in-side-nav.story.js.map +1 -1
  355. package/lib/cjs/spotlight/stories/spotlight-on-tabs.story.js +1 -1
  356. package/lib/cjs/spotlight/stories/spotlight-on-tabs.story.js.map +1 -1
  357. package/lib/cjs/spotlight/stories/spotlight-tour.story.js +1 -1
  358. package/lib/cjs/spotlight/stories/spotlight-tour.story.js.map +1 -1
  359. package/lib/cjs/spotlight/stories/spotlight-with-icon.story.js +1 -1
  360. package/lib/cjs/spotlight/stories/spotlight-with-icon.story.js.map +1 -1
  361. package/lib/cjs/spotlight/stories/spotlight-with-image.story.js +1 -1
  362. package/lib/cjs/spotlight/stories/spotlight-with-image.story.js.map +1 -1
  363. package/lib/cjs/spotlight/stories/spotlight-with-label.story.js +1 -1
  364. package/lib/cjs/spotlight/stories/spotlight-with-label.story.js.map +1 -1
  365. package/lib/cjs/spotlight/stories/spotlight-with-pointer.story.js +1 -1
  366. package/lib/cjs/spotlight/stories/spotlight-with-pointer.story.js.map +1 -1
  367. package/lib/cjs/spotlight/use-spotlight.js +5 -5
  368. package/lib/cjs/spotlight/use-spotlight.js.map +1 -1
  369. package/lib/cjs/status-indicator/stories/status-indicator-variants.story.js +1 -1
  370. package/lib/cjs/status-indicator/stories/status-indicator-variants.story.js.map +1 -1
  371. package/lib/cjs/status-label/stories/status-label-colors.story.js +1 -1
  372. package/lib/cjs/status-label/stories/status-label-colors.story.js.map +1 -1
  373. package/lib/cjs/status-label/stories/status-label-fills.story.js +1 -1
  374. package/lib/cjs/status-label/stories/status-label-fills.story.js.map +1 -1
  375. package/lib/cjs/status-label/stories/status-label-with-icons.story.js +1 -1
  376. package/lib/cjs/status-label/stories/status-label-with-icons.story.js.map +1 -1
  377. package/lib/cjs/tabs/Tabs.js +2 -2
  378. package/lib/cjs/tabs/Tabs.js.map +1 -1
  379. package/lib/cjs/tabs/stories/tabs-badge.story.js +1 -1
  380. package/lib/cjs/tabs/stories/tabs-badge.story.js.map +1 -1
  381. package/lib/cjs/tabs/stories/tabs-default.story.js +1 -1
  382. package/lib/cjs/tabs/stories/tabs-default.story.js.map +1 -1
  383. package/lib/cjs/tabs/stories/tabs-disabled.story.js +1 -1
  384. package/lib/cjs/tabs/stories/tabs-disabled.story.js.map +1 -1
  385. package/lib/cjs/tabs/stories/tabs-fill-variants.story.js +1 -1
  386. package/lib/cjs/tabs/stories/tabs-fill-variants.story.js.map +1 -1
  387. package/lib/cjs/tabs/stories/tabs-overflow.story.js +1 -1
  388. package/lib/cjs/tabs/stories/tabs-overflow.story.js.map +1 -1
  389. package/lib/cjs/tabs/stories/tabs-sizes.story.js +1 -1
  390. package/lib/cjs/tabs/stories/tabs-sizes.story.js.map +1 -1
  391. package/lib/cjs/tabs/stories/tabs-with-icons.story.js +1 -1
  392. package/lib/cjs/tabs/stories/tabs-with-icons.story.js.map +1 -1
  393. package/lib/cjs/tag/stories/tag-sizes.story.js +1 -1
  394. package/lib/cjs/tag/stories/tag-sizes.story.js.map +1 -1
  395. package/lib/cjs/tag/stories/tag-types.story.js +1 -1
  396. package/lib/cjs/tag/stories/tag-types.story.js.map +1 -1
  397. package/lib/cjs/tag-base/stories/tag-variants.story.js +1 -1
  398. package/lib/cjs/tag-base/stories/tag-variants.story.js.map +1 -1
  399. package/lib/cjs/text-area/stories/text-area-sizes.story.js +1 -1
  400. package/lib/cjs/text-area/stories/text-area-sizes.story.js.map +1 -1
  401. package/lib/cjs/text-input/TextInput.js.map +1 -1
  402. package/lib/cjs/text-input/stories/text-input-loading-spinner.story.js +1 -1
  403. package/lib/cjs/text-input/stories/text-input-loading-spinner.story.js.map +1 -1
  404. package/lib/cjs/text-input/stories/text-input-optional.story.js +1 -1
  405. package/lib/cjs/text-input/stories/text-input-optional.story.js.map +1 -1
  406. package/lib/cjs/text-input/stories/text-input-sizes.story.js +1 -1
  407. package/lib/cjs/text-input/stories/text-input-sizes.story.js.map +1 -1
  408. package/lib/cjs/text-link/TextLink.js +2 -6
  409. package/lib/cjs/text-link/TextLink.js.map +1 -1
  410. package/lib/cjs/text-link/stories/index.js +5 -17
  411. package/lib/cjs/text-link/stories/index.js.map +1 -1
  412. package/lib/cjs/text-link/stories/text-link-external.story.js +1 -1
  413. package/lib/cjs/text-link/stories/text-link-external.story.js.map +1 -1
  414. package/lib/cjs/text-link/stories/{text-link-internal-underline.story.js → text-link-internal.story.js} +2 -2
  415. package/lib/cjs/text-link/stories/text-link-internal.story.js.map +1 -0
  416. package/lib/cjs/time-picker/stories/time-picker-in-popover-dialog.story.js +1 -1
  417. package/lib/cjs/time-picker/stories/time-picker-in-popover-dialog.story.js.map +1 -1
  418. package/lib/cjs/timezone-picker/stories/timezone-picker-in-dialog.story.js +1 -1
  419. package/lib/cjs/timezone-picker/stories/timezone-picker-in-dialog.story.js.map +1 -1
  420. package/lib/cjs/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js +1 -1
  421. package/lib/cjs/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js.map +1 -1
  422. package/lib/cjs/toast/stories/toast-action-story.js +1 -1
  423. package/lib/cjs/toast/stories/toast-action-story.js.map +1 -1
  424. package/lib/cjs/toast/stories/toast-closeable-story.js +1 -1
  425. package/lib/cjs/toast/stories/toast-closeable-story.js.map +1 -1
  426. package/lib/cjs/toast/stories/toast-controlled-story.js +1 -1
  427. package/lib/cjs/toast/stories/toast-controlled-story.js.map +1 -1
  428. package/lib/cjs/toast/stories/toast-custom-story.js +1 -1
  429. package/lib/cjs/toast/stories/toast-custom-story.js.map +1 -1
  430. package/lib/cjs/toast/stories/toast-danger-story.js +1 -1
  431. package/lib/cjs/toast/stories/toast-danger-story.js.map +1 -1
  432. package/lib/cjs/toast/stories/toast-neutral-story.js +1 -1
  433. package/lib/cjs/toast/stories/toast-neutral-story.js.map +1 -1
  434. package/lib/cjs/toast/stories/toast-progress-bar.js +1 -1
  435. package/lib/cjs/toast/stories/toast-progress-bar.js.map +1 -1
  436. package/lib/cjs/toast/stories/toast-success-story.js +1 -1
  437. package/lib/cjs/toast/stories/toast-success-story.js.map +1 -1
  438. package/lib/cjs/tooltip/Tooltip.js.map +1 -1
  439. package/lib/cjs/tooltip/stories/tooltip-in-dialog.story.js +1 -1
  440. package/lib/cjs/tooltip/stories/tooltip-in-dialog.story.js.map +1 -1
  441. package/lib/cjs/tooltip/stories/tooltip-placements.story.js +1 -1
  442. package/lib/cjs/tooltip/stories/tooltip-placements.story.js.map +1 -1
  443. package/lib/cjs/tooltip/use-tooltip.js.map +1 -1
  444. package/lib/cjs/tree-view/TreeView.js +3 -0
  445. package/lib/cjs/tree-view/TreeView.js.map +1 -1
  446. package/lib/cjs/tree-view/TreeViewItem.js.map +1 -1
  447. package/lib/cjs/tree-view/stories/treeview-custom.story.js +2 -2
  448. package/lib/cjs/tree-view/stories/treeview-custom.story.js.map +1 -1
  449. package/lib/cjs/tree-view/tree-view-utils.js.map +1 -1
  450. package/lib/cjs/typography/Typography.js +7 -1
  451. package/lib/cjs/typography/Typography.js.map +1 -1
  452. package/lib/esm/_generated/style-rules/index.js +1 -1
  453. package/lib/esm/_generated/style-rules/index.js.map +1 -1
  454. package/lib/esm/_generated/style-rules/literal-guards.js +45 -0
  455. package/lib/esm/_generated/style-rules/literal-guards.js.map +1 -0
  456. package/lib/esm/_generated/style-rules/literal-schemas.js +6 -18
  457. package/lib/esm/_generated/style-rules/literal-schemas.js.map +1 -1
  458. package/lib/esm/{text-overflow/index.js → _generated/style-rules/literal-types.js} +8 -2
  459. package/lib/esm/_generated/style-rules/literal-types.js.map +1 -0
  460. package/lib/esm/_generated/style-rules/numeric-utils.js.map +1 -1
  461. package/lib/esm/_generated/style-rules/range-utils.js.map +1 -1
  462. package/lib/esm/ai/presence/stories/ai-presence-default.story.js +1 -1
  463. package/lib/esm/ai/presence/stories/ai-presence-default.story.js.map +1 -1
  464. package/lib/esm/ai/presence/stories/ai-presence-thinking.story.js +1 -1
  465. package/lib/esm/ai/presence/stories/ai-presence-thinking.story.js.map +1 -1
  466. package/lib/esm/ai/reasoning/Reasoning.js +1 -1
  467. package/lib/esm/ai/reasoning/Reasoning.js.map +1 -1
  468. package/lib/esm/ai/reasoning/stories/reasoning-full.story.js +1 -1
  469. package/lib/esm/ai/reasoning/stories/reasoning-full.story.js.map +1 -1
  470. package/lib/esm/ai/response/Response.js +1 -1
  471. package/lib/esm/ai/response/Response.js.map +1 -1
  472. package/lib/esm/ai/response/stories/response-full-example.story.js +3 -3
  473. package/lib/esm/ai/response/stories/response-full-example.story.js.map +1 -1
  474. package/lib/esm/ai/suggestion/stories/suggestion-sizes.story.js +1 -1
  475. package/lib/esm/ai/suggestion/stories/suggestion-sizes.story.js.map +1 -1
  476. package/lib/esm/ai/user-bubble/stories/user-bubble-and-files.story.js +1 -1
  477. package/lib/esm/ai/user-bubble/stories/user-bubble-and-files.story.js.map +1 -1
  478. package/lib/esm/announcement-banner/stories/announcement-banner-custom-icons.story.js +1 -1
  479. package/lib/esm/announcement-banner/stories/announcement-banner-custom-icons.story.js.map +1 -1
  480. package/lib/esm/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js +1 -1
  481. package/lib/esm/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js.map +1 -1
  482. package/lib/esm/announcement-banner/stories/announcement-banner-injected-urgent.story.js +1 -1
  483. package/lib/esm/announcement-banner/stories/announcement-banner-injected-urgent.story.js.map +1 -1
  484. package/lib/esm/announcement-banner/stories/announcement-banner-present-at-page-render.story.js +1 -1
  485. package/lib/esm/announcement-banner/stories/announcement-banner-present-at-page-render.story.js.map +1 -1
  486. package/lib/esm/announcement-banner/stories/announcement-banner-variants.story.js +1 -1
  487. package/lib/esm/announcement-banner/stories/announcement-banner-variants.story.js.map +1 -1
  488. package/lib/esm/announcement-banner/stories/announcement-banner-with-page-content.story.js +1 -1
  489. package/lib/esm/announcement-banner/stories/announcement-banner-with-page-content.story.js.map +1 -1
  490. package/lib/esm/avatar/stories/avatar-custom-icon.story.js +1 -1
  491. package/lib/esm/avatar/stories/avatar-custom-icon.story.js.map +1 -1
  492. package/lib/esm/avatar/stories/avatar-shapes.story.js +1 -1
  493. package/lib/esm/avatar/stories/avatar-shapes.story.js.map +1 -1
  494. package/lib/esm/avatar/stories/avatar-sizes.story.js +1 -1
  495. package/lib/esm/avatar/stories/avatar-sizes.story.js.map +1 -1
  496. package/lib/esm/avatar/stories/avatar-statuses.story.js +1 -1
  497. package/lib/esm/avatar/stories/avatar-statuses.story.js.map +1 -1
  498. package/lib/esm/avatar/stories/avatar-types.story.js +1 -1
  499. package/lib/esm/avatar/stories/avatar-types.story.js.map +1 -1
  500. package/lib/esm/banner/stories/banner-variants.story.js +1 -1
  501. package/lib/esm/banner/stories/banner-variants.story.js.map +1 -1
  502. package/lib/esm/banner/stories/banner-with-icons.story.js +1 -1
  503. package/lib/esm/banner/stories/banner-with-icons.story.js.map +1 -1
  504. package/lib/esm/breadcrumbs/stories/breadcrumbs-header.story.js +1 -1
  505. package/lib/esm/breadcrumbs/stories/breadcrumbs-header.story.js.map +1 -1
  506. package/lib/esm/button/ButtonBase.js +1 -3
  507. package/lib/esm/button/ButtonBase.js.map +1 -1
  508. package/lib/esm/button/stories/button-sizes.story.js +1 -1
  509. package/lib/esm/button/stories/button-sizes.story.js.map +1 -1
  510. package/lib/esm/button/stories/button-variants.story.js +1 -1
  511. package/lib/esm/button/stories/button-variants.story.js.map +1 -1
  512. package/lib/esm/checkbox/stories/checkbox-full.story.js +2 -2
  513. package/lib/esm/checkbox/stories/checkbox-full.story.js.map +1 -1
  514. package/lib/esm/clean-icon-button/stories/clean-icon-button-keyboard-display.story.js +1 -1
  515. package/lib/esm/clean-icon-button/stories/clean-icon-button-keyboard-display.story.js.map +1 -1
  516. package/lib/esm/clean-icon-button/stories/clean-icon-button-sizes.story.js +1 -1
  517. package/lib/esm/clean-icon-button/stories/clean-icon-button-sizes.story.js.map +1 -1
  518. package/lib/esm/clean-icon-button/stories/clean-icon-button-tone.story.js +1 -1
  519. package/lib/esm/clean-icon-button/stories/clean-icon-button-tone.story.js.map +1 -1
  520. package/lib/esm/clipboard-button/stories/clipboard-button-sizes.story.js +1 -1
  521. package/lib/esm/clipboard-button/stories/clipboard-button-sizes.story.js.map +1 -1
  522. package/lib/esm/code-block/CodeBlock.js +3 -7
  523. package/lib/esm/code-block/CodeBlock.js.map +1 -1
  524. package/lib/esm/code-block/stories/code-disabled.story.js +2 -2
  525. package/lib/esm/code-block/stories/code-disabled.story.js.map +1 -1
  526. package/lib/esm/code-block/stories/code-full.story.js +2 -2
  527. package/lib/esm/code-block/stories/code-full.story.js.map +1 -1
  528. package/lib/esm/code-block/stories/code-languages.story.js +1 -1
  529. package/lib/esm/code-block/stories/code-languages.story.js.map +1 -1
  530. package/lib/esm/code-block/stories/code-with-actions.story.js +2 -2
  531. package/lib/esm/code-block/stories/code-with-actions.story.js.map +1 -1
  532. package/lib/esm/color-picker/ColorPicker.js +0 -3
  533. package/lib/esm/color-picker/ColorPicker.js.map +1 -1
  534. package/lib/esm/color-picker/stories/color-picker-dialog.story.js +1 -1
  535. package/lib/esm/color-picker/stories/color-picker-dialog.story.js.map +1 -1
  536. package/lib/esm/color-picker/stories/color-picker-popover.story.js +1 -1
  537. package/lib/esm/color-picker/stories/color-picker-popover.story.js.map +1 -1
  538. package/lib/esm/combobox/stories/combobox-action-on-select.story.js +1 -1
  539. package/lib/esm/combobox/stories/combobox-action-on-select.story.js.map +1 -1
  540. package/lib/esm/combobox/stories/combobox-actions.story.js +1 -1
  541. package/lib/esm/combobox/stories/combobox-actions.story.js.map +1 -1
  542. package/lib/esm/combobox/stories/combobox-async.story.js +2 -2
  543. package/lib/esm/combobox/stories/combobox-async.story.js.map +1 -1
  544. package/lib/esm/combobox/stories/combobox-disabled.story.js +1 -1
  545. package/lib/esm/combobox/stories/combobox-disabled.story.js.map +1 -1
  546. package/lib/esm/combobox/stories/combobox-fluid.story.js +1 -1
  547. package/lib/esm/combobox/stories/combobox-fluid.story.js.map +1 -1
  548. package/lib/esm/combobox/stories/combobox-hidden-label.story.js +1 -1
  549. package/lib/esm/combobox/stories/combobox-hidden-label.story.js.map +1 -1
  550. package/lib/esm/combobox/stories/combobox-in-popover-dialog.story.js +1 -1
  551. package/lib/esm/combobox/stories/combobox-in-popover-dialog.story.js.map +1 -1
  552. package/lib/esm/combobox/stories/combobox-in-popover.story.js +1 -1
  553. package/lib/esm/combobox/stories/combobox-in-popover.story.js.map +1 -1
  554. package/lib/esm/combobox/stories/combobox-native-form.story.js +1 -1
  555. package/lib/esm/combobox/stories/combobox-native-form.story.js.map +1 -1
  556. package/lib/esm/combobox/stories/combobox-sizes.story.js +1 -1
  557. package/lib/esm/combobox/stories/combobox-sizes.story.js.map +1 -1
  558. package/lib/esm/combobox/stories/combobox-validation.story.js +1 -1
  559. package/lib/esm/combobox/stories/combobox-validation.story.js.map +1 -1
  560. package/lib/esm/conditional-wrap/stories/conditional-wrap-default.story.js +1 -1
  561. package/lib/esm/conditional-wrap/stories/conditional-wrap-default.story.js.map +1 -1
  562. package/lib/esm/data-grid/stories/datagrid-compact-mode.story.js +1 -1
  563. package/lib/esm/data-grid/stories/datagrid-compact-mode.story.js.map +1 -1
  564. package/lib/esm/data-grid/stories/datagrid-component-overriding.story.js +2 -2
  565. package/lib/esm/data-grid/stories/datagrid-component-overriding.story.js.map +1 -1
  566. package/lib/esm/data-grid/stories/datagrid-custom-cell-with-style-rules.story.js +1 -1
  567. package/lib/esm/data-grid/stories/datagrid-custom-cell-with-style-rules.story.js.map +1 -1
  568. package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js +2 -2
  569. package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
  570. package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js +1 -1
  571. package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
  572. package/lib/esm/data-grid/stories/datagrid-kitchen-sink.story.js +1 -1
  573. package/lib/esm/data-grid/stories/datagrid-kitchen-sink.story.js.map +1 -1
  574. package/lib/esm/data-grid/stories/datagrid-percentage-width-columns.story.js +1 -1
  575. package/lib/esm/data-grid/stories/datagrid-percentage-width-columns.story.js.map +1 -1
  576. package/lib/esm/data-grid/stories/datagrid-pinned-columns.stories.js +3 -3
  577. package/lib/esm/data-grid/stories/datagrid-pinned-columns.stories.js.map +1 -1
  578. package/lib/esm/data-grid/stories/datagrid-placeholder-states.story.js +1 -1
  579. package/lib/esm/data-grid/stories/datagrid-placeholder-states.story.js.map +1 -1
  580. package/lib/esm/data-grid/stories/datagrid-resizable-column.story.js +1 -1
  581. package/lib/esm/data-grid/stories/datagrid-resizable-column.story.js.map +1 -1
  582. package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +1 -1
  583. package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
  584. package/lib/esm/data-grid/stories/datagrid-rule-based-styling.story.js +1 -1
  585. package/lib/esm/data-grid/stories/datagrid-rule-based-styling.story.js.map +1 -1
  586. package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js +5 -5
  587. package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
  588. package/lib/esm/data-grid/stories/datagrid-simple.story.js +1 -1
  589. package/lib/esm/data-grid/stories/datagrid-simple.story.js.map +1 -1
  590. package/lib/esm/data-grid/stories/datagrid-single-selectable.story.js +1 -1
  591. package/lib/esm/data-grid/stories/datagrid-single-selectable.story.js.map +1 -1
  592. package/lib/esm/data-grid/stories/datagrid-skeleton-loading.story.js +1 -1
  593. package/lib/esm/data-grid/stories/datagrid-skeleton-loading.story.js.map +1 -1
  594. package/lib/esm/data-grid/stories/datagrid-sortable.story.js +1 -1
  595. package/lib/esm/data-grid/stories/datagrid-sortable.story.js.map +1 -1
  596. package/lib/esm/data-grid/stories/datagrid-using-editable-cells.story.js +2 -2
  597. package/lib/esm/data-grid/stories/datagrid-using-editable-cells.story.js.map +1 -1
  598. package/lib/esm/data-grid/stories/datagrid-virtualization.story.js +3 -3
  599. package/lib/esm/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
  600. package/lib/esm/data-grid/style-rules/guard.js +43 -0
  601. package/lib/esm/data-grid/style-rules/guard.js.map +1 -0
  602. package/lib/esm/data-grid/style-rules/index.js +1 -3
  603. package/lib/esm/data-grid/style-rules/index.js.map +1 -1
  604. package/lib/esm/data-grid/style-rules/internal/schemas.js +210 -0
  605. package/lib/esm/data-grid/style-rules/internal/schemas.js.map +1 -0
  606. package/lib/esm/data-grid/style-rules/types.js +1 -203
  607. package/lib/esm/data-grid/style-rules/types.js.map +1 -1
  608. package/lib/esm/date-picker/DatePicker.js +8 -6
  609. package/lib/esm/date-picker/DatePicker.js.map +1 -1
  610. package/lib/esm/date-picker/stories/date-picker-in-dialog.story.js +1 -1
  611. package/lib/esm/date-picker/stories/date-picker-in-dialog.story.js.map +1 -1
  612. package/lib/esm/date-picker/stories/date-picker-in-popover-dialog.story.js +1 -1
  613. package/lib/esm/date-picker/stories/date-picker-in-popover-dialog.story.js.map +1 -1
  614. package/lib/esm/dialog/Dialog.js +1 -2
  615. package/lib/esm/dialog/Dialog.js.map +1 -1
  616. package/lib/esm/dialog/stories/dialog-danger.story.js +1 -1
  617. package/lib/esm/dialog/stories/dialog-danger.story.js.map +1 -1
  618. package/lib/esm/dialog/stories/dialog-default.story.js +1 -1
  619. package/lib/esm/dialog/stories/dialog-default.story.js.map +1 -1
  620. package/lib/esm/dialog/stories/dialog-image.story.js +1 -1
  621. package/lib/esm/dialog/stories/dialog-image.story.js.map +1 -1
  622. package/lib/esm/dialog/stories/dialog-info.story.js +1 -1
  623. package/lib/esm/dialog/stories/dialog-info.story.js.map +1 -1
  624. package/lib/esm/dialog/stories/dialog-top-aligned.story.js +2 -2
  625. package/lib/esm/dialog/stories/dialog-top-aligned.story.js.map +1 -1
  626. package/lib/esm/dialog/stories/dialog-variants.story.js +1 -1
  627. package/lib/esm/dialog/stories/dialog-variants.story.js.map +1 -1
  628. package/lib/esm/dialog/stories/dialog-warning.story.js +1 -1
  629. package/lib/esm/dialog/stories/dialog-warning.story.js.map +1 -1
  630. package/lib/esm/dismissible-tag/stories/dismissible-tag-colors.story.js +1 -1
  631. package/lib/esm/dismissible-tag/stories/dismissible-tag-colors.story.js.map +1 -1
  632. package/lib/esm/dismissible-tag/stories/dismissible-tag-sizes.story.js +1 -1
  633. package/lib/esm/dismissible-tag/stories/dismissible-tag-sizes.story.js.map +1 -1
  634. package/lib/esm/drawer/Drawer.js +7 -6
  635. package/lib/esm/drawer/Drawer.js.map +1 -1
  636. package/lib/esm/drawer/stories/drawer-full.story.js +2 -2
  637. package/lib/esm/drawer/stories/drawer-full.story.js.map +1 -1
  638. package/lib/esm/drawer/stories/drawer-not-closeable.story.js +2 -2
  639. package/lib/esm/drawer/stories/drawer-not-closeable.story.js.map +1 -1
  640. package/lib/esm/drawer/stories/drawer-overlay.story.js +1 -1
  641. package/lib/esm/drawer/stories/drawer-overlay.story.js.map +1 -1
  642. package/lib/esm/drawer/stories/drawer-portaled.story.js +2 -2
  643. package/lib/esm/drawer/stories/drawer-portaled.story.js.map +1 -1
  644. package/lib/esm/drawer/stories/drawer-push.story.js +2 -2
  645. package/lib/esm/drawer/stories/drawer-push.story.js.map +1 -1
  646. package/lib/esm/drawer/stories/drawer-resizable.story.js +2 -2
  647. package/lib/esm/drawer/stories/drawer-resizable.story.js.map +1 -1
  648. package/lib/esm/drawer/stories/drawer-right-side.story.js +2 -2
  649. package/lib/esm/drawer/stories/drawer-right-side.story.js.map +1 -1
  650. package/lib/esm/drawer/stories/drawer-scrollable.story.js +2 -2
  651. package/lib/esm/drawer/stories/drawer-scrollable.story.js.map +1 -1
  652. package/lib/esm/dropzone/stories/dropzone-full.story.js +3 -3
  653. package/lib/esm/dropzone/stories/dropzone-full.story.js.map +1 -1
  654. package/lib/esm/flex/stories/flex-default.story.js +1 -1
  655. package/lib/esm/flex/stories/flex-default.story.js.map +1 -1
  656. package/lib/esm/graph-label/stories/graph-label-color.story.js +1 -1
  657. package/lib/esm/graph-label/stories/graph-label-color.story.js.map +1 -1
  658. package/lib/esm/graph-label/stories/graph-label-sizes.story.js +1 -1
  659. package/lib/esm/graph-label/stories/graph-label-sizes.story.js.map +1 -1
  660. package/lib/esm/graph-label/stories/graph-label-types.story.js +1 -1
  661. package/lib/esm/graph-label/stories/graph-label-types.story.js.map +1 -1
  662. package/lib/esm/hooks/use-debounce-callback/index.js +6 -6
  663. package/lib/esm/hooks/use-debounce-callback/index.js.map +1 -1
  664. package/lib/esm/icon-button/stories/icon-button-sizes.story.js +1 -1
  665. package/lib/esm/icon-button/stories/icon-button-sizes.story.js.map +1 -1
  666. package/lib/esm/icon-button/stories/icon-button-tone.story.js +1 -1
  667. package/lib/esm/icon-button/stories/icon-button-tone.story.js.map +1 -1
  668. package/lib/esm/icon-button-array/stories/icon-button-array-sizes.story.js +1 -1
  669. package/lib/esm/icon-button-array/stories/icon-button-array-sizes.story.js.map +1 -1
  670. package/lib/esm/icon-button-base/IconButtonBase.js +1 -3
  671. package/lib/esm/icon-button-base/IconButtonBase.js.map +1 -1
  672. package/lib/esm/icons/generated/custom/index.js +0 -7
  673. package/lib/esm/icons/generated/custom/index.js.map +1 -1
  674. package/lib/esm/inline-edit/InlineEdit.js +3 -2
  675. package/lib/esm/inline-edit/InlineEdit.js.map +1 -1
  676. package/lib/esm/kbd/Kbd.js +0 -1
  677. package/lib/esm/kbd/Kbd.js.map +1 -1
  678. package/lib/esm/loading-spinner/stories/loading-spinner-sizes.story.js +1 -1
  679. package/lib/esm/loading-spinner/stories/loading-spinner-sizes.story.js.map +1 -1
  680. package/lib/esm/logo/stories/logo-black.story.js +1 -1
  681. package/lib/esm/logo/stories/logo-black.story.js.map +1 -1
  682. package/lib/esm/logo/stories/logo-default.story.js +1 -1
  683. package/lib/esm/logo/stories/logo-default.story.js.map +1 -1
  684. package/lib/esm/logo/stories/logo-icon.story.js +1 -1
  685. package/lib/esm/logo/stories/logo-icon.story.js.map +1 -1
  686. package/lib/esm/menu/Menu.js +2 -2
  687. package/lib/esm/menu/Menu.js.map +1 -1
  688. package/lib/esm/menu/menu-types.js.map +1 -1
  689. package/lib/esm/menu/stories/menu-custom-items.story.js +1 -1
  690. package/lib/esm/menu/stories/menu-custom-items.story.js.map +1 -1
  691. package/lib/esm/menu/stories/menu-in-dialog.story.js +2 -2
  692. package/lib/esm/menu/stories/menu-in-dialog.story.js.map +1 -1
  693. package/lib/esm/menu/stories/menu-nested.story.js +1 -1
  694. package/lib/esm/menu/stories/menu-nested.story.js.map +1 -1
  695. package/lib/esm/menu/stories/menu-radio-and-normal.story.js +1 -1
  696. package/lib/esm/menu/stories/menu-radio-and-normal.story.js.map +1 -1
  697. package/lib/esm/menu/stories/menu-radio-items.story.js +1 -1
  698. package/lib/esm/menu/stories/menu-radio-items.story.js.map +1 -1
  699. package/lib/esm/menu/stories/menu-with-icon.story.js +1 -1
  700. package/lib/esm/menu/stories/menu-with-icon.story.js.map +1 -1
  701. package/lib/esm/next/tree-view/TreeView.js +3 -3
  702. package/lib/esm/next/tree-view/TreeView.js.map +1 -1
  703. package/lib/esm/next/tree-view/stories/tree-view-large.story.js +1 -1
  704. package/lib/esm/next/tree-view/stories/tree-view-large.story.js.map +1 -1
  705. package/lib/esm/next/tree-view/stories/tree-view-multiple-replace.story.js +1 -1
  706. package/lib/esm/next/tree-view/stories/tree-view-multiple-replace.story.js.map +1 -1
  707. package/lib/esm/next/tree-view/stories/tree-view-root-selection.story.js +1 -1
  708. package/lib/esm/next/tree-view/stories/tree-view-root-selection.story.js.map +1 -1
  709. package/lib/esm/next/tree-view/stories/tree-view-tooltip.story.js +1 -1
  710. package/lib/esm/next/tree-view/stories/tree-view-tooltip.story.js.map +1 -1
  711. package/lib/esm/next/tree-view/stories/tree-view-trailing.story.js +1 -1
  712. package/lib/esm/next/tree-view/stories/tree-view-trailing.story.js.map +1 -1
  713. package/lib/esm/next/tree-view/stories/tree-view-uncontrolled.story.js +1 -1
  714. package/lib/esm/next/tree-view/stories/tree-view-uncontrolled.story.js.map +1 -1
  715. package/lib/esm/popover/Popover.js +6 -6
  716. package/lib/esm/popover/Popover.js.map +1 -1
  717. package/lib/esm/popover/stories/popover-controlled.story.js +1 -1
  718. package/lib/esm/popover/stories/popover-controlled.story.js.map +1 -1
  719. package/lib/esm/popover/stories/popover-custom-offset.story.js +1 -1
  720. package/lib/esm/popover/stories/popover-custom-offset.story.js.map +1 -1
  721. package/lib/esm/popover/stories/popover-default.story.js +1 -1
  722. package/lib/esm/popover/stories/popover-default.story.js.map +1 -1
  723. package/lib/esm/popover/stories/popover-in-dialog.story.js +1 -1
  724. package/lib/esm/popover/stories/popover-in-dialog.story.js.map +1 -1
  725. package/lib/esm/popover/stories/popover-no-button-wrapper.story.js +1 -1
  726. package/lib/esm/popover/stories/popover-no-button-wrapper.story.js.map +1 -1
  727. package/lib/esm/popover/stories/popover-separate-anchor.story.js +1 -1
  728. package/lib/esm/popover/stories/popover-separate-anchor.story.js.map +1 -1
  729. package/lib/esm/popover/use-popover.js +7 -9
  730. package/lib/esm/popover/use-popover.js.map +1 -1
  731. package/lib/esm/progress-bar/stories/progress-bar-sizes.story.js +1 -1
  732. package/lib/esm/progress-bar/stories/progress-bar-sizes.story.js.map +1 -1
  733. package/lib/esm/radio/stories/radio-disabled.story.js +1 -1
  734. package/lib/esm/radio/stories/radio-disabled.story.js.map +1 -1
  735. package/lib/esm/radio/stories/radio-truncated-label.story.js +1 -1
  736. package/lib/esm/radio/stories/radio-truncated-label.story.js.map +1 -1
  737. package/lib/esm/read-only-tag/stories/read-only-tag-colors.story.js +1 -1
  738. package/lib/esm/read-only-tag/stories/read-only-tag-colors.story.js.map +1 -1
  739. package/lib/esm/read-only-tag/stories/read-only-tag-sizes.story.js +1 -1
  740. package/lib/esm/read-only-tag/stories/read-only-tag-sizes.story.js.map +1 -1
  741. package/lib/esm/segmented-control/stories/segmented-control-sizes.story.js +1 -1
  742. package/lib/esm/segmented-control/stories/segmented-control-sizes.story.js.map +1 -1
  743. package/lib/esm/select/stories/select-controlled.story.js +1 -1
  744. package/lib/esm/select/stories/select-controlled.story.js.map +1 -1
  745. package/lib/esm/select/stories/select-custom-label.story.js +1 -1
  746. package/lib/esm/select/stories/select-custom-label.story.js.map +1 -1
  747. package/lib/esm/select/stories/select-inside-dialog.story.js +1 -1
  748. package/lib/esm/select/stories/select-inside-dialog.story.js.map +1 -1
  749. package/lib/esm/select/stories/select-menu-positionings.story.js +1 -1
  750. package/lib/esm/select/stories/select-menu-positionings.story.js.map +1 -1
  751. package/lib/esm/select/stories/select-required.story.js +1 -1
  752. package/lib/esm/select/stories/select-required.story.js.map +1 -1
  753. package/lib/esm/select/stories/select-sizes.story.js +1 -1
  754. package/lib/esm/select/stories/select-sizes.story.js.map +1 -1
  755. package/lib/esm/select-icon-button/stories/select-icon-button-sizes.story.js +1 -1
  756. package/lib/esm/select-icon-button/stories/select-icon-button-sizes.story.js.map +1 -1
  757. package/lib/esm/select-icon-button/stories/select-icon-button-states.story.js +1 -1
  758. package/lib/esm/select-icon-button/stories/select-icon-button-states.story.js.map +1 -1
  759. package/lib/esm/selectable-tag/stories/selectable-tag-disabled.story.js +1 -1
  760. package/lib/esm/selectable-tag/stories/selectable-tag-disabled.story.js.map +1 -1
  761. package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
  762. package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
  763. package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
  764. package/lib/esm/side-navigation/stories/side-nav-badges.story.js +2 -2
  765. package/lib/esm/side-navigation/stories/side-nav-badges.story.js.map +1 -1
  766. package/lib/esm/side-navigation/stories/side-nav-compact.story.js +1 -1
  767. package/lib/esm/side-navigation/stories/side-nav-compact.story.js.map +1 -1
  768. package/lib/esm/side-navigation/stories/side-nav-default.story.js +1 -1
  769. package/lib/esm/side-navigation/stories/side-nav-default.story.js.map +1 -1
  770. package/lib/esm/side-navigation/stories/side-nav-secondary.story.js +1 -1
  771. package/lib/esm/side-navigation/stories/side-nav-secondary.story.js.map +1 -1
  772. package/lib/esm/skeleton/stories/skeleton-circular.story.js +1 -1
  773. package/lib/esm/skeleton/stories/skeleton-circular.story.js.map +1 -1
  774. package/lib/esm/skeleton/stories/skeleton-default.story.js +1 -1
  775. package/lib/esm/skeleton/stories/skeleton-default.story.js.map +1 -1
  776. package/lib/esm/skeleton/stories/skeleton-full-example.story.js +1 -1
  777. package/lib/esm/skeleton/stories/skeleton-full-example.story.js.map +1 -1
  778. package/lib/esm/skeleton/stories/skeleton-inherit-height.story.js +1 -1
  779. package/lib/esm/skeleton/stories/skeleton-inherit-height.story.js.map +1 -1
  780. package/lib/esm/skeleton/stories/skeleton-inherit-width.story.js +1 -1
  781. package/lib/esm/skeleton/stories/skeleton-inherit-width.story.js.map +1 -1
  782. package/lib/esm/slider/Slider.js +3 -3
  783. package/lib/esm/slider/Slider.js.map +1 -1
  784. package/lib/esm/slider/stories/slider-custom-step-length.story.js +1 -1
  785. package/lib/esm/slider/stories/slider-custom-step-length.story.js.map +1 -1
  786. package/lib/esm/slider/stories/slider-range.story.js +1 -1
  787. package/lib/esm/slider/stories/slider-range.story.js.map +1 -1
  788. package/lib/esm/slider/stories/slider-show-steps.story.js +1 -1
  789. package/lib/esm/slider/stories/slider-show-steps.story.js.map +1 -1
  790. package/lib/esm/slider/stories/slider-show-values.story.js +1 -1
  791. package/lib/esm/slider/stories/slider-show-values.story.js.map +1 -1
  792. package/lib/esm/slider/stories/slider-single-controlled.story.js +2 -2
  793. package/lib/esm/slider/stories/slider-single-controlled.story.js.map +1 -1
  794. package/lib/esm/slider/stories/slider-single.story.js +1 -1
  795. package/lib/esm/slider/stories/slider-single.story.js.map +1 -1
  796. package/lib/esm/spotlight/Spotlight.js +3 -3
  797. package/lib/esm/spotlight/Spotlight.js.map +1 -1
  798. package/lib/esm/spotlight/SpotlightTarget.js +3 -3
  799. package/lib/esm/spotlight/SpotlightTarget.js.map +1 -1
  800. package/lib/esm/spotlight/stories/spotlight-fixed-positioning.story.js +1 -1
  801. package/lib/esm/spotlight/stories/spotlight-fixed-positioning.story.js.map +1 -1
  802. package/lib/esm/spotlight/stories/spotlight-in-dialog.story.js +1 -1
  803. package/lib/esm/spotlight/stories/spotlight-in-dialog.story.js.map +1 -1
  804. package/lib/esm/spotlight/stories/spotlight-in-side-nav.story.js +1 -1
  805. package/lib/esm/spotlight/stories/spotlight-in-side-nav.story.js.map +1 -1
  806. package/lib/esm/spotlight/stories/spotlight-on-tabs.story.js +1 -1
  807. package/lib/esm/spotlight/stories/spotlight-on-tabs.story.js.map +1 -1
  808. package/lib/esm/spotlight/stories/spotlight-tour.story.js +1 -1
  809. package/lib/esm/spotlight/stories/spotlight-tour.story.js.map +1 -1
  810. package/lib/esm/spotlight/stories/spotlight-with-icon.story.js +1 -1
  811. package/lib/esm/spotlight/stories/spotlight-with-icon.story.js.map +1 -1
  812. package/lib/esm/spotlight/stories/spotlight-with-image.story.js +1 -1
  813. package/lib/esm/spotlight/stories/spotlight-with-image.story.js.map +1 -1
  814. package/lib/esm/spotlight/stories/spotlight-with-label.story.js +1 -1
  815. package/lib/esm/spotlight/stories/spotlight-with-label.story.js.map +1 -1
  816. package/lib/esm/spotlight/stories/spotlight-with-pointer.story.js +1 -1
  817. package/lib/esm/spotlight/stories/spotlight-with-pointer.story.js.map +1 -1
  818. package/lib/esm/spotlight/use-spotlight.js +5 -5
  819. package/lib/esm/spotlight/use-spotlight.js.map +1 -1
  820. package/lib/esm/status-indicator/stories/status-indicator-variants.story.js +1 -1
  821. package/lib/esm/status-indicator/stories/status-indicator-variants.story.js.map +1 -1
  822. package/lib/esm/status-label/stories/status-label-colors.story.js +1 -1
  823. package/lib/esm/status-label/stories/status-label-colors.story.js.map +1 -1
  824. package/lib/esm/status-label/stories/status-label-fills.story.js +1 -1
  825. package/lib/esm/status-label/stories/status-label-fills.story.js.map +1 -1
  826. package/lib/esm/status-label/stories/status-label-with-icons.story.js +1 -1
  827. package/lib/esm/status-label/stories/status-label-with-icons.story.js.map +1 -1
  828. package/lib/esm/tabs/Tabs.js +2 -2
  829. package/lib/esm/tabs/Tabs.js.map +1 -1
  830. package/lib/esm/tabs/stories/tabs-badge.story.js +1 -1
  831. package/lib/esm/tabs/stories/tabs-badge.story.js.map +1 -1
  832. package/lib/esm/tabs/stories/tabs-default.story.js +1 -1
  833. package/lib/esm/tabs/stories/tabs-default.story.js.map +1 -1
  834. package/lib/esm/tabs/stories/tabs-disabled.story.js +1 -1
  835. package/lib/esm/tabs/stories/tabs-disabled.story.js.map +1 -1
  836. package/lib/esm/tabs/stories/tabs-fill-variants.story.js +1 -1
  837. package/lib/esm/tabs/stories/tabs-fill-variants.story.js.map +1 -1
  838. package/lib/esm/tabs/stories/tabs-overflow.story.js +1 -1
  839. package/lib/esm/tabs/stories/tabs-overflow.story.js.map +1 -1
  840. package/lib/esm/tabs/stories/tabs-sizes.story.js +1 -1
  841. package/lib/esm/tabs/stories/tabs-sizes.story.js.map +1 -1
  842. package/lib/esm/tabs/stories/tabs-with-icons.story.js +1 -1
  843. package/lib/esm/tabs/stories/tabs-with-icons.story.js.map +1 -1
  844. package/lib/esm/tag/stories/tag-sizes.story.js +1 -1
  845. package/lib/esm/tag/stories/tag-sizes.story.js.map +1 -1
  846. package/lib/esm/tag/stories/tag-types.story.js +1 -1
  847. package/lib/esm/tag/stories/tag-types.story.js.map +1 -1
  848. package/lib/esm/tag-base/stories/tag-variants.story.js +1 -1
  849. package/lib/esm/tag-base/stories/tag-variants.story.js.map +1 -1
  850. package/lib/esm/text-area/stories/text-area-sizes.story.js +1 -1
  851. package/lib/esm/text-area/stories/text-area-sizes.story.js.map +1 -1
  852. package/lib/esm/text-input/TextInput.js.map +1 -1
  853. package/lib/esm/text-input/stories/text-input-loading-spinner.story.js +1 -1
  854. package/lib/esm/text-input/stories/text-input-loading-spinner.story.js.map +1 -1
  855. package/lib/esm/text-input/stories/text-input-optional.story.js +1 -1
  856. package/lib/esm/text-input/stories/text-input-optional.story.js.map +1 -1
  857. package/lib/esm/text-input/stories/text-input-sizes.story.js +1 -1
  858. package/lib/esm/text-input/stories/text-input-sizes.story.js.map +1 -1
  859. package/lib/esm/text-link/TextLink.js +2 -6
  860. package/lib/esm/text-link/TextLink.js.map +1 -1
  861. package/lib/esm/text-link/stories/index.js +3 -12
  862. package/lib/esm/text-link/stories/index.js.map +1 -1
  863. package/lib/esm/text-link/stories/text-link-external.story.js +3 -3
  864. package/lib/esm/text-link/stories/text-link-external.story.js.map +1 -1
  865. package/lib/esm/text-link/stories/{text-link-internal-underline.story.js → text-link-internal.story.js} +2 -2
  866. package/lib/esm/text-link/stories/text-link-internal.story.js.map +1 -0
  867. package/lib/esm/time-picker/stories/time-picker-in-popover-dialog.story.js +1 -1
  868. package/lib/esm/time-picker/stories/time-picker-in-popover-dialog.story.js.map +1 -1
  869. package/lib/esm/timezone-picker/stories/timezone-picker-in-dialog.story.js +1 -1
  870. package/lib/esm/timezone-picker/stories/timezone-picker-in-dialog.story.js.map +1 -1
  871. package/lib/esm/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js +1 -1
  872. package/lib/esm/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js.map +1 -1
  873. package/lib/esm/toast/stories/toast-action-story.js +1 -1
  874. package/lib/esm/toast/stories/toast-action-story.js.map +1 -1
  875. package/lib/esm/toast/stories/toast-closeable-story.js +1 -1
  876. package/lib/esm/toast/stories/toast-closeable-story.js.map +1 -1
  877. package/lib/esm/toast/stories/toast-controlled-story.js +1 -1
  878. package/lib/esm/toast/stories/toast-controlled-story.js.map +1 -1
  879. package/lib/esm/toast/stories/toast-custom-story.js +1 -1
  880. package/lib/esm/toast/stories/toast-custom-story.js.map +1 -1
  881. package/lib/esm/toast/stories/toast-danger-story.js +1 -1
  882. package/lib/esm/toast/stories/toast-danger-story.js.map +1 -1
  883. package/lib/esm/toast/stories/toast-neutral-story.js +1 -1
  884. package/lib/esm/toast/stories/toast-neutral-story.js.map +1 -1
  885. package/lib/esm/toast/stories/toast-progress-bar.js +1 -1
  886. package/lib/esm/toast/stories/toast-progress-bar.js.map +1 -1
  887. package/lib/esm/toast/stories/toast-success-story.js +1 -1
  888. package/lib/esm/toast/stories/toast-success-story.js.map +1 -1
  889. package/lib/esm/tooltip/Tooltip.js.map +1 -1
  890. package/lib/esm/tooltip/stories/tooltip-in-dialog.story.js +1 -1
  891. package/lib/esm/tooltip/stories/tooltip-in-dialog.story.js.map +1 -1
  892. package/lib/esm/tooltip/stories/tooltip-placements.story.js +1 -1
  893. package/lib/esm/tooltip/stories/tooltip-placements.story.js.map +1 -1
  894. package/lib/esm/tooltip/use-tooltip.js.map +1 -1
  895. package/lib/esm/tree-view/TreeView.js +3 -0
  896. package/lib/esm/tree-view/TreeView.js.map +1 -1
  897. package/lib/esm/tree-view/TreeViewItem.js.map +1 -1
  898. package/lib/esm/tree-view/stories/treeview-custom.story.js +2 -2
  899. package/lib/esm/tree-view/stories/treeview-custom.story.js.map +1 -1
  900. package/lib/esm/tree-view/tree-view-utils.js.map +1 -1
  901. package/lib/esm/typography/Typography.js +7 -1
  902. package/lib/esm/typography/Typography.js.map +1 -1
  903. package/lib/types/_generated/style-rules/index.d.ts +2 -2
  904. package/lib/types/_generated/style-rules/index.d.ts.map +1 -1
  905. package/lib/{cjs/text-link/stories/text-link-default.story.js → types/_generated/style-rules/literal-guards.d.ts} +8 -10
  906. package/lib/types/_generated/style-rules/literal-guards.d.ts.map +1 -0
  907. package/lib/types/_generated/style-rules/literal-schemas.d.ts +0 -12
  908. package/lib/types/_generated/style-rules/literal-schemas.d.ts.map +1 -1
  909. package/lib/types/_generated/style-rules/literal-types.d.ts +80 -0
  910. package/lib/types/_generated/style-rules/literal-types.d.ts.map +1 -0
  911. package/lib/types/_generated/style-rules/numeric-utils.d.ts +1 -1
  912. package/lib/types/_generated/style-rules/numeric-utils.d.ts.map +1 -1
  913. package/lib/types/_generated/style-rules/range-utils.d.ts +1 -1
  914. package/lib/types/_generated/style-rules/range-utils.d.ts.map +1 -1
  915. package/lib/types/ai/reasoning/Reasoning.d.ts +1 -10
  916. package/lib/types/ai/reasoning/Reasoning.d.ts.map +1 -1
  917. package/lib/types/ai/reasoning/stories/reasoning-full.story.d.ts.map +1 -1
  918. package/lib/types/button/ButtonBase.d.ts.map +1 -1
  919. package/lib/types/code-block/CodeBlock.d.ts +2 -2
  920. package/lib/types/code-block/CodeBlock.d.ts.map +1 -1
  921. package/lib/types/color-picker/ColorPicker.d.ts.map +1 -1
  922. package/lib/types/data-grid/style-rules/guard.d.ts +43 -0
  923. package/lib/types/data-grid/style-rules/guard.d.ts.map +1 -0
  924. package/lib/types/data-grid/style-rules/index.d.ts +1 -2
  925. package/lib/types/data-grid/style-rules/index.d.ts.map +1 -1
  926. package/lib/types/data-grid/style-rules/internal/schemas.d.ts +321 -0
  927. package/lib/types/data-grid/style-rules/internal/schemas.d.ts.map +1 -0
  928. package/lib/types/data-grid/style-rules/types.d.ts +60 -284
  929. package/lib/types/data-grid/style-rules/types.d.ts.map +1 -1
  930. package/lib/types/date-picker/DatePicker.d.ts.map +1 -1
  931. package/lib/types/dialog/Dialog.d.ts.map +1 -1
  932. package/lib/types/drawer/Drawer.d.ts +7 -13
  933. package/lib/types/drawer/Drawer.d.ts.map +1 -1
  934. package/lib/types/drawer/stories/drawer-overlay.story.d.ts.map +1 -1
  935. package/lib/types/dropzone/stories/dropzone-full.story.d.ts.map +1 -1
  936. package/lib/types/hooks/use-debounce-callback/index.d.ts +2 -2
  937. package/lib/types/hooks/use-debounce-callback/index.d.ts.map +1 -1
  938. package/lib/types/icon-button-base/IconButtonBase.d.ts.map +1 -1
  939. package/lib/types/icons/generated/custom/index.d.ts +0 -7
  940. package/lib/types/icons/generated/custom/index.d.ts.map +1 -1
  941. package/lib/types/inline-edit/InlineEdit.d.ts +6 -1
  942. package/lib/types/inline-edit/InlineEdit.d.ts.map +1 -1
  943. package/lib/types/kbd/Kbd.d.ts +1 -1
  944. package/lib/types/kbd/Kbd.d.ts.map +1 -1
  945. package/lib/types/menu/Menu.d.ts +1 -1
  946. package/lib/types/menu/Menu.d.ts.map +1 -1
  947. package/lib/types/menu/menu-types.d.ts +2 -2
  948. package/lib/types/menu/menu-types.d.ts.map +1 -1
  949. package/lib/types/next/tree-view/TreeView.d.ts +2 -2
  950. package/lib/types/next/tree-view/TreeView.d.ts.map +1 -1
  951. package/lib/types/popover/Popover.d.ts +15 -12
  952. package/lib/types/popover/Popover.d.ts.map +1 -1
  953. package/lib/types/popover/stories/popover-controlled.story.d.ts.map +1 -1
  954. package/lib/types/popover/stories/popover-default.story.d.ts.map +1 -1
  955. package/lib/types/popover/stories/popover-no-button-wrapper.story.d.ts.map +1 -1
  956. package/lib/types/popover/use-popover.d.ts +14 -9
  957. package/lib/types/popover/use-popover.d.ts.map +1 -1
  958. package/lib/types/side-navigation/SideNavigation.d.ts.map +1 -1
  959. package/lib/types/slider/Slider.d.ts +3 -3
  960. package/lib/types/slider/Slider.d.ts.map +1 -1
  961. package/lib/types/spotlight/Spotlight.d.ts +2 -2
  962. package/lib/types/spotlight/Spotlight.d.ts.map +1 -1
  963. package/lib/types/spotlight/SpotlightTarget.d.ts +3 -3
  964. package/lib/types/spotlight/SpotlightTarget.d.ts.map +1 -1
  965. package/lib/types/spotlight/stories/spotlight-tour.story.d.ts.map +1 -1
  966. package/lib/types/spotlight/stories/spotlight-with-image.story.d.ts.map +1 -1
  967. package/lib/types/spotlight/use-spotlight.d.ts +4 -4
  968. package/lib/types/spotlight/use-spotlight.d.ts.map +1 -1
  969. package/lib/types/tabs/Tabs.d.ts +3 -1
  970. package/lib/types/tabs/Tabs.d.ts.map +1 -1
  971. package/lib/types/text-link/TextLink.d.ts +2 -13
  972. package/lib/types/text-link/TextLink.d.ts.map +1 -1
  973. package/lib/types/text-link/stories/index.d.ts +2 -8
  974. package/lib/types/text-link/stories/index.d.ts.map +1 -1
  975. package/lib/types/text-link/stories/text-link-external.story.d.ts.map +1 -1
  976. package/lib/types/{text-overflow/stories/character-limit.story.d.ts → text-link/stories/text-link-internal.story.d.ts} +1 -1
  977. package/lib/types/text-link/stories/text-link-internal.story.d.ts.map +1 -0
  978. package/lib/types/tooltip/Tooltip.d.ts +0 -1
  979. package/lib/types/tooltip/Tooltip.d.ts.map +1 -1
  980. package/lib/types/tooltip/use-tooltip.d.ts.map +1 -1
  981. package/lib/types/tree-view/TreeView.d.ts +3 -0
  982. package/lib/types/tree-view/TreeView.d.ts.map +1 -1
  983. package/lib/types/tree-view/TreeViewItem.d.ts.map +1 -1
  984. package/lib/types/tree-view/tree-view-utils.d.ts.map +1 -1
  985. package/lib/types/typography/Typography.d.ts +6 -0
  986. package/lib/types/typography/Typography.d.ts.map +1 -1
  987. package/package.json +4 -3
  988. package/skills/ndl-react/SKILL.md +21 -19
  989. package/skills/ndl-react/components/ai/presence.md +3 -3
  990. package/skills/ndl-react/components/ai/reasoning.md +2 -6
  991. package/skills/ndl-react/components/ai/response.md +17 -17
  992. package/skills/ndl-react/components/ai/suggestion.md +1 -1
  993. package/skills/ndl-react/components/ai/user-bubble.md +2 -2
  994. package/skills/ndl-react/components/announcement-banner.md +10 -10
  995. package/skills/ndl-react/components/avatar.md +5 -5
  996. package/skills/ndl-react/components/banner.md +2 -2
  997. package/skills/ndl-react/components/breadcrumbs.md +3 -3
  998. package/skills/ndl-react/components/checkbox.md +4 -4
  999. package/skills/ndl-react/components/clean-icon-button.md +17 -17
  1000. package/skills/ndl-react/components/clipboard-button.md +1 -1
  1001. package/skills/ndl-react/components/code-block.md +8 -9
  1002. package/skills/ndl-react/components/color-picker.md +3 -3
  1003. package/skills/ndl-react/components/combobox.md +20 -20
  1004. package/skills/ndl-react/components/conditional-wrap.md +1 -1
  1005. package/skills/ndl-react/components/data-grid.md +28 -28
  1006. package/skills/ndl-react/components/date-picker.md +3 -3
  1007. package/skills/ndl-react/components/dialog.md +9 -9
  1008. package/skills/ndl-react/components/dismissible-tag.md +2 -2
  1009. package/skills/ndl-react/components/drawer.md +39 -37
  1010. package/skills/ndl-react/components/dropzone.md +10 -13
  1011. package/skills/ndl-react/components/flex.md +1 -1
  1012. package/skills/ndl-react/components/graph-label.md +3 -3
  1013. package/skills/ndl-react/components/icon-button-array.md +1 -1
  1014. package/skills/ndl-react/components/icon-button.md +7 -7
  1015. package/skills/ndl-react/components/inline-edit.md +4 -1
  1016. package/skills/ndl-react/components/loading-spinner.md +1 -1
  1017. package/skills/ndl-react/components/logo.md +3 -3
  1018. package/skills/ndl-react/components/menu.md +14 -14
  1019. package/skills/ndl-react/components/next/tree-view.md +18 -18
  1020. package/skills/ndl-react/components/popover.md +15 -21
  1021. package/skills/ndl-react/components/progress-bar.md +1 -1
  1022. package/skills/ndl-react/components/radio.md +2 -2
  1023. package/skills/ndl-react/components/read-only-tag.md +2 -2
  1024. package/skills/ndl-react/components/segmented-control.md +1 -1
  1025. package/skills/ndl-react/components/select-icon-button.md +8 -8
  1026. package/skills/ndl-react/components/select.md +8 -8
  1027. package/skills/ndl-react/components/selectable-tag.md +2 -2
  1028. package/skills/ndl-react/components/side-navigation.md +19 -19
  1029. package/skills/ndl-react/components/skeleton.md +13 -13
  1030. package/skills/ndl-react/components/slider.md +13 -13
  1031. package/skills/ndl-react/components/spotlight.md +43 -27
  1032. package/skills/ndl-react/components/status-indicator.md +6 -6
  1033. package/skills/ndl-react/components/status-label.md +3 -3
  1034. package/skills/ndl-react/components/tabs.md +21 -20
  1035. package/skills/ndl-react/components/tag.md +2 -2
  1036. package/skills/ndl-react/components/text-area.md +1 -1
  1037. package/skills/ndl-react/components/text-input.md +3 -3
  1038. package/skills/ndl-react/components/text-link.md +12 -63
  1039. package/skills/ndl-react/components/time-picker.md +2 -2
  1040. package/skills/ndl-react/components/timezone-picker.md +4 -4
  1041. package/skills/ndl-react/components/tooltip.md +3 -3
  1042. package/skills/ndl-react/components/tree-view.md +6 -4
  1043. package/skills/ndl-react/components/typography.md +4 -0
  1044. package/skills/ndl-react/references/styling.md +56 -48
  1045. package/lib/cjs/icons/generated/custom/AddNode.js +0 -31
  1046. package/lib/cjs/icons/generated/custom/AddNode.js.map +0 -1
  1047. package/lib/cjs/icons/generated/custom/PanelBottom.js +0 -31
  1048. package/lib/cjs/icons/generated/custom/PanelBottom.js.map +0 -1
  1049. package/lib/cjs/icons/generated/custom/PanelLeft.js +0 -31
  1050. package/lib/cjs/icons/generated/custom/PanelLeft.js.map +0 -1
  1051. package/lib/cjs/icons/generated/custom/PanelLeftCollapsed.js +0 -31
  1052. package/lib/cjs/icons/generated/custom/PanelLeftCollapsed.js.map +0 -1
  1053. package/lib/cjs/icons/generated/custom/PanelLeftExpanded.js +0 -31
  1054. package/lib/cjs/icons/generated/custom/PanelLeftExpanded.js.map +0 -1
  1055. package/lib/cjs/icons/generated/custom/PanelRight.js +0 -31
  1056. package/lib/cjs/icons/generated/custom/PanelRight.js.map +0 -1
  1057. package/lib/cjs/icons/generated/custom/ThreePanel.js +0 -31
  1058. package/lib/cjs/icons/generated/custom/ThreePanel.js.map +0 -1
  1059. package/lib/cjs/text-link/stories/text-link-default.story.js.map +0 -1
  1060. package/lib/cjs/text-link/stories/text-link-external-underline.story.js +0 -30
  1061. package/lib/cjs/text-link/stories/text-link-external-underline.story.js.map +0 -1
  1062. package/lib/cjs/text-link/stories/text-link-internal-icon.story.js +0 -30
  1063. package/lib/cjs/text-link/stories/text-link-internal-icon.story.js.map +0 -1
  1064. package/lib/cjs/text-link/stories/text-link-internal-underline.story.js.map +0 -1
  1065. package/lib/cjs/text-overflow/TextOverflow.js +0 -146
  1066. package/lib/cjs/text-overflow/TextOverflow.js.map +0 -1
  1067. package/lib/cjs/text-overflow/constants.js +0 -44
  1068. package/lib/cjs/text-overflow/constants.js.map +0 -1
  1069. package/lib/cjs/text-overflow/index.js.map +0 -1
  1070. package/lib/cjs/text-overflow/stories/character-limit.story.js +0 -32
  1071. package/lib/cjs/text-overflow/stories/character-limit.story.js.map +0 -1
  1072. package/lib/cjs/text-overflow/stories/expand-collapse-buttons.story.js +0 -32
  1073. package/lib/cjs/text-overflow/stories/expand-collapse-buttons.story.js.map +0 -1
  1074. package/lib/cjs/text-overflow/stories/index.js +0 -48
  1075. package/lib/cjs/text-overflow/stories/index.js.map +0 -1
  1076. package/lib/cjs/text-overflow/stories/line-clamp.story.js +0 -32
  1077. package/lib/cjs/text-overflow/stories/line-clamp.story.js.map +0 -1
  1078. package/lib/cjs/text-overflow/stories/mixed-content.story.js +0 -31
  1079. package/lib/cjs/text-overflow/stories/mixed-content.story.js.map +0 -1
  1080. package/lib/cjs/text-overflow/stories/width-based-truncation.story.js +0 -32
  1081. package/lib/cjs/text-overflow/stories/width-based-truncation.story.js.map +0 -1
  1082. package/lib/cjs/text-overflow/text-overflow-utils.js +0 -167
  1083. package/lib/cjs/text-overflow/text-overflow-utils.js.map +0 -1
  1084. package/lib/cjs/text-overflow/use-ellipsis-observer.js +0 -66
  1085. package/lib/cjs/text-overflow/use-ellipsis-observer.js.map +0 -1
  1086. package/lib/cjs/text-overflow/use-truncate-with-button.js +0 -205
  1087. package/lib/cjs/text-overflow/use-truncate-with-button.js.map +0 -1
  1088. package/lib/esm/icons/generated/custom/AddNode.js +0 -29
  1089. package/lib/esm/icons/generated/custom/AddNode.js.map +0 -1
  1090. package/lib/esm/icons/generated/custom/PanelBottom.js +0 -29
  1091. package/lib/esm/icons/generated/custom/PanelBottom.js.map +0 -1
  1092. package/lib/esm/icons/generated/custom/PanelLeft.js +0 -29
  1093. package/lib/esm/icons/generated/custom/PanelLeft.js.map +0 -1
  1094. package/lib/esm/icons/generated/custom/PanelLeftCollapsed.js +0 -29
  1095. package/lib/esm/icons/generated/custom/PanelLeftCollapsed.js.map +0 -1
  1096. package/lib/esm/icons/generated/custom/PanelLeftExpanded.js +0 -29
  1097. package/lib/esm/icons/generated/custom/PanelLeftExpanded.js.map +0 -1
  1098. package/lib/esm/icons/generated/custom/PanelRight.js +0 -29
  1099. package/lib/esm/icons/generated/custom/PanelRight.js.map +0 -1
  1100. package/lib/esm/icons/generated/custom/ThreePanel.js +0 -29
  1101. package/lib/esm/icons/generated/custom/ThreePanel.js.map +0 -1
  1102. package/lib/esm/text-link/stories/text-link-default.story.js +0 -28
  1103. package/lib/esm/text-link/stories/text-link-default.story.js.map +0 -1
  1104. package/lib/esm/text-link/stories/text-link-external-underline.story.js +0 -28
  1105. package/lib/esm/text-link/stories/text-link-external-underline.story.js.map +0 -1
  1106. package/lib/esm/text-link/stories/text-link-internal-icon.story.js +0 -28
  1107. package/lib/esm/text-link/stories/text-link-internal-icon.story.js.map +0 -1
  1108. package/lib/esm/text-link/stories/text-link-internal-underline.story.js.map +0 -1
  1109. package/lib/esm/text-overflow/TextOverflow.js +0 -139
  1110. package/lib/esm/text-overflow/TextOverflow.js.map +0 -1
  1111. package/lib/esm/text-overflow/constants.js +0 -41
  1112. package/lib/esm/text-overflow/constants.js.map +0 -1
  1113. package/lib/esm/text-overflow/index.js.map +0 -1
  1114. package/lib/esm/text-overflow/stories/character-limit.story.js +0 -30
  1115. package/lib/esm/text-overflow/stories/character-limit.story.js.map +0 -1
  1116. package/lib/esm/text-overflow/stories/expand-collapse-buttons.story.js +0 -30
  1117. package/lib/esm/text-overflow/stories/expand-collapse-buttons.story.js.map +0 -1
  1118. package/lib/esm/text-overflow/stories/index.js +0 -37
  1119. package/lib/esm/text-overflow/stories/index.js.map +0 -1
  1120. package/lib/esm/text-overflow/stories/line-clamp.story.js +0 -30
  1121. package/lib/esm/text-overflow/stories/line-clamp.story.js.map +0 -1
  1122. package/lib/esm/text-overflow/stories/mixed-content.story.js +0 -29
  1123. package/lib/esm/text-overflow/stories/mixed-content.story.js.map +0 -1
  1124. package/lib/esm/text-overflow/stories/width-based-truncation.story.js +0 -30
  1125. package/lib/esm/text-overflow/stories/width-based-truncation.story.js.map +0 -1
  1126. package/lib/esm/text-overflow/text-overflow-utils.js +0 -159
  1127. package/lib/esm/text-overflow/text-overflow-utils.js.map +0 -1
  1128. package/lib/esm/text-overflow/use-ellipsis-observer.js +0 -63
  1129. package/lib/esm/text-overflow/use-ellipsis-observer.js.map +0 -1
  1130. package/lib/esm/text-overflow/use-truncate-with-button.js +0 -202
  1131. package/lib/esm/text-overflow/use-truncate-with-button.js.map +0 -1
  1132. package/lib/types/icons/generated/custom/AddNode.d.ts +0 -30
  1133. package/lib/types/icons/generated/custom/AddNode.d.ts.map +0 -1
  1134. package/lib/types/icons/generated/custom/PanelBottom.d.ts +0 -30
  1135. package/lib/types/icons/generated/custom/PanelBottom.d.ts.map +0 -1
  1136. package/lib/types/icons/generated/custom/PanelLeft.d.ts +0 -30
  1137. package/lib/types/icons/generated/custom/PanelLeft.d.ts.map +0 -1
  1138. package/lib/types/icons/generated/custom/PanelLeftCollapsed.d.ts +0 -30
  1139. package/lib/types/icons/generated/custom/PanelLeftCollapsed.d.ts.map +0 -1
  1140. package/lib/types/icons/generated/custom/PanelLeftExpanded.d.ts +0 -30
  1141. package/lib/types/icons/generated/custom/PanelLeftExpanded.d.ts.map +0 -1
  1142. package/lib/types/icons/generated/custom/PanelRight.d.ts +0 -30
  1143. package/lib/types/icons/generated/custom/PanelRight.d.ts.map +0 -1
  1144. package/lib/types/icons/generated/custom/ThreePanel.d.ts +0 -30
  1145. package/lib/types/icons/generated/custom/ThreePanel.d.ts.map +0 -1
  1146. package/lib/types/text-link/stories/text-link-default.story.d.ts +0 -24
  1147. package/lib/types/text-link/stories/text-link-default.story.d.ts.map +0 -1
  1148. package/lib/types/text-link/stories/text-link-external-underline.story.d.ts +0 -24
  1149. package/lib/types/text-link/stories/text-link-external-underline.story.d.ts.map +0 -1
  1150. package/lib/types/text-link/stories/text-link-internal-icon.story.d.ts +0 -24
  1151. package/lib/types/text-link/stories/text-link-internal-icon.story.d.ts.map +0 -1
  1152. package/lib/types/text-link/stories/text-link-internal-underline.story.d.ts +0 -24
  1153. package/lib/types/text-link/stories/text-link-internal-underline.story.d.ts.map +0 -1
  1154. package/lib/types/text-overflow/TextOverflow.d.ts +0 -63
  1155. package/lib/types/text-overflow/TextOverflow.d.ts.map +0 -1
  1156. package/lib/types/text-overflow/constants.d.ts +0 -41
  1157. package/lib/types/text-overflow/constants.d.ts.map +0 -1
  1158. package/lib/types/text-overflow/index.d.ts +0 -22
  1159. package/lib/types/text-overflow/index.d.ts.map +0 -1
  1160. package/lib/types/text-overflow/stories/character-limit.story.d.ts.map +0 -1
  1161. package/lib/types/text-overflow/stories/expand-collapse-buttons.story.d.ts +0 -24
  1162. package/lib/types/text-overflow/stories/expand-collapse-buttons.story.d.ts.map +0 -1
  1163. package/lib/types/text-overflow/stories/index.d.ts +0 -31
  1164. package/lib/types/text-overflow/stories/index.d.ts.map +0 -1
  1165. package/lib/types/text-overflow/stories/line-clamp.story.d.ts +0 -24
  1166. package/lib/types/text-overflow/stories/line-clamp.story.d.ts.map +0 -1
  1167. package/lib/types/text-overflow/stories/mixed-content.story.d.ts +0 -24
  1168. package/lib/types/text-overflow/stories/mixed-content.story.d.ts.map +0 -1
  1169. package/lib/types/text-overflow/stories/width-based-truncation.story.d.ts +0 -24
  1170. package/lib/types/text-overflow/stories/width-based-truncation.story.d.ts.map +0 -1
  1171. package/lib/types/text-overflow/text-overflow-utils.d.ts +0 -35
  1172. package/lib/types/text-overflow/text-overflow-utils.d.ts.map +0 -1
  1173. package/lib/types/text-overflow/use-ellipsis-observer.d.ts +0 -28
  1174. package/lib/types/text-overflow/use-ellipsis-observer.d.ts.map +0 -1
  1175. package/lib/types/text-overflow/use-truncate-with-button.d.ts +0 -45
  1176. package/lib/types/text-overflow/use-truncate-with-button.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"toast-action-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-action-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,oCAAoC,aAEjD,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,EAAE;wBACrB,WAAW,EAAE,QAAQ;wBACrB,QAAQ,EAAE,GAAG,EAAE;4BACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACzB,CAAC;wBACD,mBAAmB,EAAE,IAAI;qBAC1B,CAAC,CAAC;gBACL,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-flex-row n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral('Hello', {\n actionLabel: 'Action',\n onAction: () => {\n console.info('action');\n },\n shouldCloseOnAction: true,\n });\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-action-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-action-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,8BAA8B,aAE3C,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,EAAE;wBACrB,WAAW,EAAE,QAAQ;wBACrB,QAAQ,EAAE,GAAG,EAAE;4BACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACzB,CAAC;wBACD,mBAAmB,EAAE,IAAI;qBAC1B,CAAC,CAAC;gBACL,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"flex flex-row justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral('Hello', {\n actionLabel: 'Action',\n onAction: () => {\n console.info('action');\n },\n shouldCloseOnAction: true,\n });\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
24
24
  require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
25
  const react_1 = require("@neo4j-ndl/react");
26
26
  const Component = () => {
27
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
27
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
28
28
  react_1.toast.neutral('Hello', {
29
29
  isCloseable: true,
30
30
  onClose: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"toast-closeable-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-closeable-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aAEtC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,EAAE;wBACrB,WAAW,EAAE,IAAI;wBACjB,OAAO,EAAE,GAAG,EAAE;4BACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACxB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral('Hello', {\n isCloseable: true,\n onClose: () => {\n console.info('close');\n },\n });\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-closeable-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-closeable-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAElC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,EAAE;wBACrB,WAAW,EAAE,IAAI;wBACjB,OAAO,EAAE,GAAG,EAAE;4BACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACxB,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"flex justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral('Hello', {\n isCloseable: true,\n onClose: () => {\n console.info('close');\n },\n });\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -26,7 +26,7 @@ const react_1 = require("@neo4j-ndl/react");
26
26
  const react_2 = require("react");
27
27
  const Component = () => {
28
28
  const [toasts, setToasts] = (0, react_2.useState)([]);
29
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.ToasterControlled, { toasts: toasts }), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
29
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.ToasterControlled, { toasts: toasts }), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
30
30
  setToasts([
31
31
  ...toasts,
32
32
  {
@@ -1 +1 @@
1
- {"version":3,"file":"toast-controlled-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-controlled-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAmE;AACnE,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAElC,EAAE,CAAC,CAAC;IAEN,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aAEtC,uBAAC,yBAAiB,IAAC,MAAM,EAAE,MAAM,GAAI,EACrC,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,SAAS,CAAC;wBACR,GAAG,MAAM;wBACT;4BACE,EAAE,EAAE,GAAG;4BACP,OAAO,EAAE,GAAG,EAAE;gCACZ,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;4BACxD,CAAC;4BACD,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,SAAS;yBACnB;qBACF,CAAC,CAAC;gBACL,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, ToasterControlled } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [toasts, setToasts] = useState<\n React.ComponentProps<typeof ToasterControlled>['toasts']\n >([]);\n\n return (\n <div className=\"n-flex n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <ToasterControlled toasts={toasts} />\n <FilledButton\n onClick={() => {\n setToasts([\n ...toasts,\n {\n id: '1',\n onClose: () => {\n setToasts(toasts.filter((toast) => toast.id !== '1'));\n },\n text: 'Hi there!',\n variant: 'neutral',\n },\n ]);\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-controlled-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-controlled-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAmE;AACnE,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAElC,EAAE,CAAC,CAAC;IAEN,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAElC,uBAAC,yBAAiB,IAAC,MAAM,EAAE,MAAM,GAAI,EACrC,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,SAAS,CAAC;wBACR,GAAG,MAAM;wBACT;4BACE,EAAE,EAAE,GAAG;4BACP,OAAO,EAAE,GAAG,EAAE;gCACZ,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;4BACxD,CAAC;4BACD,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE,SAAS;yBACnB;qBACF,CAAC,CAAC;gBACL,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, ToasterControlled } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [toasts, setToasts] = useState<\n React.ComponentProps<typeof ToasterControlled>['toasts']\n >([]);\n\n return (\n <div className=\"flex justify-center\">\n {/* Toaster should be at the root of the app */}\n <ToasterControlled toasts={toasts} />\n <FilledButton\n onClick={() => {\n setToasts([\n ...toasts,\n {\n id: '1',\n onClose: () => {\n setToasts(toasts.filter((toast) => toast.id !== '1'));\n },\n text: 'Hi there!',\n variant: 'neutral',\n },\n ]);\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
24
24
  require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
25
  const react_1 = require("@neo4j-ndl/react");
26
26
  const Component = () => {
27
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
27
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
28
28
  react_1.toast.neutral((0, jsx_runtime_1.jsx)("div", { style: { background: 'red' }, children: "Hi there!" }));
29
29
  }, children: "Press to show a Toast" })] }));
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toast-custom-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-custom-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aAEtC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,gCAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,0BAAiB,CAAC,CAAC;gBACpE,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral(<div style={{ background: 'red' }}>Hi there!</div>);\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-custom-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-custom-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAElC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,gCAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,0BAAiB,CAAC,CAAC;gBACpE,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"flex justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral(<div style={{ background: 'red' }}>Hi there!</div>);\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
24
24
  require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
25
  const react_1 = require("@neo4j-ndl/react");
26
26
  const Component = () => {
27
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
27
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
28
28
  react_1.toast.danger('Danger');
29
29
  }, children: "Press to show a Toast" })] }));
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toast-danger-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-danger-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aAEtC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.danger('Danger');\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-danger-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-danger-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAElC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"flex justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.danger('Danger');\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
24
24
  require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
25
  const react_1 = require("@neo4j-ndl/react");
26
26
  const Component = () => {
27
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
27
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
28
28
  react_1.toast.neutral('Hello');
29
29
  }, children: "Press to show a Toast" })] }));
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toast-neutral-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-neutral-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aAEtC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral('Hello');\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-neutral-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-neutral-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAElC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"flex justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.neutral('Hello');\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -27,7 +27,7 @@ const icons_1 = require("@neo4j-ndl/react/icons");
27
27
  const react_2 = require("react");
28
28
  const Component = () => {
29
29
  const [progressBarId, setProgressBarId] = (0, react_2.useState)(null);
30
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center n-gap-4", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
30
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center gap-4", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
31
31
  const id = react_1.toast.progressBar('Hello', {
32
32
  icon: (0, jsx_runtime_1.jsx)(icons_1.CloudArrowDownIconSolid, {}),
33
33
  isCloseable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"toast-progress-bar.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-progress-bar.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgF;AAChF,kDAAiE;AACjE,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAChD,IAAI,CACL,CAAC;IACF,OAAO,CACL,iCAAK,SAAS,EAAC,iCAAiC,aAE9C,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,OAAO,EAAE;wBACpC,IAAI,EAAE,uBAAC,+BAAuB,KAAG;wBACjC,WAAW,EAAE,IAAI;wBACjB,OAAO,EAAE,GAAG,EAAE;4BACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;4BACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACxB,CAAC;wBACD,eAAe,EAAE,KAAK;wBACtB,mBAAmB,EAAE,IAAI;qBAC1B,CAAC,CAAC;oBACH,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,sCAGY,EACf,uBAAC,sBAAc,IACb,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,aAAa,EAAE,CAAC;wBAClB,aAAK,CAAC,sBAAsB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC,oCAGc,IACb,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, OutlinedButton, toast, Toaster } from '@neo4j-ndl/react';\nimport { CloudArrowDownIconSolid } from '@neo4j-ndl/react/icons';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [progressBarId, setProgressBarId] = useState<string | number | null>(\n null,\n );\n return (\n <div className=\"n-flex n-justify-center n-gap-4\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n const id = toast.progressBar('Hello', {\n icon: <CloudArrowDownIconSolid />,\n isCloseable: true,\n onClose: () => {\n setProgressBarId(null);\n console.info('close');\n },\n shouldAutoClose: false,\n shouldCloseOnAction: true,\n });\n setProgressBarId(id);\n }}\n >\n Press to show a Toast\n </FilledButton>\n <OutlinedButton\n onClick={() => {\n if (progressBarId) {\n toast.updateProgressBarValue(progressBarId, 50);\n }\n }}\n >\n Update progress bar\n </OutlinedButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-progress-bar.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-progress-bar.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgF;AAChF,kDAAiE;AACjE,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAChD,IAAI,CACL,CAAC;IACF,OAAO,CACL,iCAAK,SAAS,EAAC,2BAA2B,aAExC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,EAAE,GAAG,aAAK,CAAC,WAAW,CAAC,OAAO,EAAE;wBACpC,IAAI,EAAE,uBAAC,+BAAuB,KAAG;wBACjC,WAAW,EAAE,IAAI;wBACjB,OAAO,EAAE,GAAG,EAAE;4BACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;4BACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACxB,CAAC;wBACD,eAAe,EAAE,KAAK;wBACtB,mBAAmB,EAAE,IAAI;qBAC1B,CAAC,CAAC;oBACH,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC,sCAGY,EACf,uBAAC,sBAAc,IACb,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,aAAa,EAAE,CAAC;wBAClB,aAAK,CAAC,sBAAsB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC,oCAGc,IACb,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, OutlinedButton, toast, Toaster } from '@neo4j-ndl/react';\nimport { CloudArrowDownIconSolid } from '@neo4j-ndl/react/icons';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [progressBarId, setProgressBarId] = useState<string | number | null>(\n null,\n );\n return (\n <div className=\"flex justify-center gap-4\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n const id = toast.progressBar('Hello', {\n icon: <CloudArrowDownIconSolid />,\n isCloseable: true,\n onClose: () => {\n setProgressBarId(null);\n console.info('close');\n },\n shouldAutoClose: false,\n shouldCloseOnAction: true,\n });\n setProgressBarId(id);\n }}\n >\n Press to show a Toast\n </FilledButton>\n <OutlinedButton\n onClick={() => {\n if (progressBarId) {\n toast.updateProgressBarValue(progressBarId, 50);\n }\n }}\n >\n Update progress bar\n </OutlinedButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
24
24
  require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
25
  const react_1 = require("@neo4j-ndl/react");
26
26
  const Component = () => {
27
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
27
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.Toaster, {}), (0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => {
28
28
  react_1.toast.success('Hello');
29
29
  }, children: "Press to show a Toast" })] }));
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"toast-success-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-success-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aAEtC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.success('Hello');\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"toast-success-story.js","sourceRoot":"","sources":["../../../../src/toast/stories/toast-success-story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgE;AAEhE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAElC,uBAAC,eAAO,KAAG,EACX,uBAAC,oBAAY,IACX,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,sCAGY,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, toast, Toaster } from '@neo4j-ndl/react';\n\nconst Component = () => {\n return (\n <div className=\"flex justify-center\">\n {/* Toaster should be at the root of the app */}\n <Toaster />\n <FilledButton\n onClick={() => {\n toast.success('Hello');\n }}\n >\n Press to show a Toast\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/tooltip/Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n type AutoUpdateOptions,\n FloatingFocusManager,\n FloatingPortal,\n type Placement,\n type UseFloatingOptions,\n useMergeRefs,\n} from '@floating-ui/react';\nimport classNames from 'classnames';\nimport React, { useEffect } from 'react';\n\nimport { type CommonProps } from '../_common/types';\nimport { ConditionalWrap } from '../conditional-wrap';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport { useNeedleTheme } from '../theme';\nimport { Typography, type TypographyVariants } from '../typography';\nimport { TooltipContext, useTooltip, useTooltipContext } from './use-tooltip';\n\nexport type TooltipProps = {\n /** Content displayed inside the tooltip. Wraps `Tooltip.Trigger`, `Tooltip.Content`, and optional parts */\n children: React.ReactNode;\n /** Whether the tooltip is disabled */\n isDisabled?: boolean;\n /** Whether the tooltip should be open on first render */\n isInitialOpen?: boolean;\n /** Placement of the tooltip content relative to the trigger */\n placement?: Placement;\n /** Controls the open state . If omitted, the tooltip manages its own state */\n isOpen?: boolean;\n // TODO v5: deprecate this prop\n /**\n * Visual style of the tooltip content. `simple` renders plain text, `rich` renders a composable panel\n * @deprecated rich type will be removed in v5, use simple type instead.\n */\n type: 'simple' | 'rich';\n /** Whether the content is rendered in a portal. */\n isPortaled?: boolean;\n /** Callback fired when the open state changes, if omitted, the tooltip manages its own state using internal hooks */\n onOpenChange?: UseFloatingOptions['onOpenChange'];\n /** Positioning strategy of the tooltip. Defaults to `fixed` when inside a dialog, otherwise `absolute` */\n floatingStrategy?: 'absolute' | 'fixed';\n /** Hover open/close delays in milliseconds */\n hoverDelay?: {\n open: number;\n close: number;\n };\n /** Whether the tooltip should close when the reference element is clicked. Useful when the trigger moves after click. */\n shouldCloseOnReferenceClick?: boolean;\n autoUpdateOptions?: AutoUpdateOptions;\n // TODO v5: align followCursor with the Tippy.js convention: `true` should follow\n // the cursor continuously on both axes, with explicit 'horizontal' / 'vertical'\n // values for single-axis following (instead of deriving the axis from `placement`).\n /**\n * Whether the tooltip should be positioned at the mouse cursor. Only applies to 'simple' tooltips with mouse hover.\n * `true` follows the cursor continuously along one axis derived from `placement` (horizontal for top/bottom, vertical for left/right).\n * `'initial'` opens the tooltip at the cursor's position (both axes) and keeps it there, like the native `title` attribute; `placement` controls which side of that point the tooltip appears on.\n */\n followCursor?: boolean | 'initial';\n};\n\nconst TooltipComponent = ({\n children,\n isDisabled = false,\n type,\n isInitialOpen,\n placement,\n isOpen,\n onOpenChange,\n isPortaled: isPortaledProp,\n floatingStrategy: strategyProp,\n hoverDelay,\n shouldCloseOnReferenceClick,\n autoUpdateOptions,\n followCursor,\n}: TooltipProps) => {\n const isInsideDialog = useIsInsideDialog();\n const strategy = isInsideDialog ? 'fixed' : 'absolute';\n const isPortaled = !isInsideDialog;\n\n const tooltip = useTooltip({\n autoUpdateOptions,\n followCursor,\n hoverDelay,\n isDisabled,\n isInitialOpen,\n // if isDisabled is true tooltip will not open otherwise either controlled or uncontrolled depending on if isOpen is passed\n isOpen: isDisabled === true ? false : isOpen,\n isPortaled: isPortaledProp ?? isPortaled,\n onOpenChange,\n placement,\n shouldCloseOnReferenceClick,\n strategy: strategyProp ?? strategy,\n type,\n });\n\n return (\n <TooltipContext.Provider value={tooltip}>\n {children}\n </TooltipContext.Provider>\n );\n};\n\nTooltipComponent.displayName = 'Tooltip';\n\ntype TooltipTriggerProps = {\n /** Content displayed inside the trigger element */\n children: React.ReactNode;\n /** Whether the trigger element can be any element without an extra button wrapper. The child element will be cloned with the necessary trigger props and merged refs */\n hasButtonWrapper?: boolean;\n};\n\nconst TooltipTrigger = ({\n children,\n hasButtonWrapper = false,\n htmlAttributes,\n className,\n style,\n ref,\n ...restProps\n}: CommonProps<'button', TooltipTriggerProps>) => {\n const context = useTooltipContext();\n\n // Example from floating-ui\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const childrenProps = (children as any).props;\n const mergedRefs = useMergeRefs([\n context.refs.setReference,\n ref,\n childrenProps?.ref,\n ]);\n\n const triggerClasses = classNames(\n {\n 'ndl-closed': !context.isOpen,\n 'ndl-open': context.isOpen,\n },\n 'ndl-tooltip-trigger',\n className,\n );\n\n // `hasButtonWrapper=true` allows the user to pass any element as the anchor\n if (hasButtonWrapper && React.isValidElement(children)) {\n const props: Record<string, unknown> = {\n className: triggerClasses,\n ...htmlAttributes,\n ...childrenProps,\n ref: mergedRefs,\n };\n\n return React.cloneElement(children, context.getReferenceProps(props));\n }\n\n return (\n <button\n type=\"button\"\n className={triggerClasses}\n style={style}\n ref={mergedRefs}\n {...context.getReferenceProps(htmlAttributes)}\n {...restProps}\n >\n {children}\n </button>\n );\n};\n\ntype TooltipContentProps = {\n /** Content displayed inside the tooltip */\n children: React.ReactNode;\n};\n\nconst TooltipContent = ({\n children,\n style,\n htmlAttributes,\n className,\n ref,\n ...restProps\n}: CommonProps<'div', TooltipContentProps>) => {\n const context = useTooltipContext();\n const mergedRef = useMergeRefs([context.refs.setFloating, ref]);\n const { themeClassName } = useNeedleTheme();\n\n const hasHeaderChild = React.useMemo(() => {\n if (context.type !== 'rich') {\n return false;\n }\n const childrenArray = React.Children.toArray(children);\n return childrenArray.some(\n (child) => React.isValidElement(child) && child.type === TooltipHeader,\n );\n }, [children, context.type]);\n\n if (!context.isOpen) {\n return null;\n }\n\n const classes = classNames('ndl-tooltip-content', themeClassName, className, {\n 'ndl-tooltip-content-rich': context.type === 'rich',\n 'ndl-tooltip-content-simple': context.type === 'simple',\n });\n\n if (context.type === 'simple') {\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => <FloatingPortal>{wrapChildren}</FloatingPortal>}\n >\n <div\n ref={mergedRef}\n className={classes}\n style={{\n ...context.floatingStyles,\n ...style,\n }}\n {...restProps}\n {...context.getFloatingProps(htmlAttributes)}\n >\n <Typography variant=\"body-medium\">{children}</Typography>\n </div>\n </ConditionalWrap>\n );\n }\n\n const ariaLabelledBy =\n htmlAttributes?.['aria-labelledby'] ??\n (hasHeaderChild ? context.headerId : undefined);\n\n if (htmlAttributes?.['aria-label'] === undefined && !ariaLabelledBy) {\n console.warn(\n 'The rich Tooltip is missing aria-label and Header. Please add one of them for accessibility.',\n );\n }\n\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => <FloatingPortal>{wrapChildren}</FloatingPortal>}\n >\n <FloatingFocusManager\n context={context.context}\n returnFocus={true}\n modal={false}\n initialFocus={0}\n closeOnFocusOut\n >\n <div\n ref={mergedRef}\n className={classes}\n style={{\n ...context.floatingStyles,\n ...style,\n }}\n {...restProps}\n {...context.getFloatingProps({\n ...htmlAttributes,\n 'aria-labelledby': ariaLabelledBy,\n })}\n >\n {children}\n </div>\n </FloatingFocusManager>\n </ConditionalWrap>\n );\n};\n\ntype TooltipHeaderProps = {\n /** Content displayed inside the header */\n children: React.ReactNode;\n /** @deprecated Use `typographyVariant` instead */\n passThroughProps?: Partial<React.ComponentPropsWithoutRef<typeof Typography>>;\n typographyVariant?: TypographyVariants;\n};\n\nconst TooltipHeader = ({\n children,\n passThroughProps,\n typographyVariant = 'subheading-medium',\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'span', TooltipHeaderProps>) => {\n const context = useTooltipContext();\n\n const classes = classNames('ndl-tooltip-header', className);\n\n useEffect(() => {\n if (Boolean(htmlAttributes?.id) === true) {\n context.setHeaderId?.(htmlAttributes?.id);\n }\n }, [context, htmlAttributes?.id]);\n\n if (!context.isOpen) {\n return null;\n }\n\n return (\n <Typography\n ref={ref}\n variant={typographyVariant}\n className={classes}\n style={style}\n htmlAttributes={{ ...htmlAttributes, id: context.headerId }}\n {...passThroughProps}\n {...restProps}\n >\n {children}\n </Typography>\n );\n};\n\nexport type TooltipBodyProps = {\n /** Content displayed inside the body */\n children: React.ReactNode;\n /** Additional props to pass to the Typography component */\n // TODO v5: Deprecate passThroughProps and use restProps instead\n passThroughProps?: Partial<React.ComponentPropsWithoutRef<typeof Typography>>;\n};\n\nconst TooltipBody = ({\n children,\n className,\n style,\n htmlAttributes,\n passThroughProps,\n ref,\n ...restProps\n}: CommonProps<'span', TooltipBodyProps>) => {\n const context = useTooltipContext();\n\n const classes = classNames('ndl-tooltip-body', className);\n if (!context.isOpen) {\n return null;\n }\n\n return (\n <Typography\n ref={ref}\n variant=\"body-medium\"\n className={classes}\n style={style}\n htmlAttributes={htmlAttributes}\n {...passThroughProps}\n {...restProps}\n >\n {children}\n </Typography>\n );\n};\n\ntype ToolTipActionsProps = {\n /** Content displayed inside the actions container */\n children: React.ReactNode;\n};\n\nconst Actions = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', ToolTipActionsProps>) => {\n const context = useTooltipContext();\n const mergedRefs = useMergeRefs([context.refs.setFloating, ref]);\n\n if (!context.isOpen) {\n return null;\n }\n\n const classes = classNames('ndl-tooltip-actions', className);\n\n return (\n <div\n className={classes}\n ref={mergedRefs}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\nActions.displayName = 'Tooltip.Actions';\n\nconst Tooltip = Object.assign(TooltipComponent, {\n Actions: Actions,\n Body: TooltipBody,\n Content: TooltipContent,\n Header: TooltipHeader,\n Trigger: TooltipTrigger,\n});\n\nexport { Tooltip };\n"]}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/tooltip/Tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n type AutoUpdateOptions,\n FloatingFocusManager,\n FloatingPortal,\n type Placement,\n type UseFloatingOptions,\n useMergeRefs,\n} from '@floating-ui/react';\nimport classNames from 'classnames';\nimport React, { useEffect } from 'react';\n\nimport { type CommonProps } from '../_common/types';\nimport { ConditionalWrap } from '../conditional-wrap';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport { useNeedleTheme } from '../theme';\nimport { Typography, type TypographyVariants } from '../typography';\nimport { TooltipContext, useTooltip, useTooltipContext } from './use-tooltip';\n\nexport type TooltipProps = {\n /** Content displayed inside the tooltip. Wraps `Tooltip.Trigger`, `Tooltip.Content`, and optional parts */\n children: React.ReactNode;\n /** Whether the tooltip is disabled */\n isDisabled?: boolean;\n /** Whether the tooltip should be open on first render */\n isInitialOpen?: boolean;\n /** Placement of the tooltip content relative to the trigger */\n placement?: Placement;\n /** Controls the open state . If omitted, the tooltip manages its own state */\n isOpen?: boolean;\n /**\n * Visual style of the tooltip content. `simple` renders plain text, `rich` renders a composable panel\n */\n type: 'simple' | 'rich';\n /** Whether the content is rendered in a portal. */\n isPortaled?: boolean;\n /** Callback fired when the open state changes, if omitted, the tooltip manages its own state using internal hooks */\n onOpenChange?: UseFloatingOptions['onOpenChange'];\n /** Positioning strategy of the tooltip. Defaults to `fixed` when inside a dialog, otherwise `absolute` */\n floatingStrategy?: 'absolute' | 'fixed';\n /** Hover open/close delays in milliseconds */\n hoverDelay?: {\n open: number;\n close: number;\n };\n /** Whether the tooltip should close when the reference element is clicked. Useful when the trigger moves after click. */\n shouldCloseOnReferenceClick?: boolean;\n autoUpdateOptions?: AutoUpdateOptions;\n /**\n * Whether the tooltip should be positioned at the mouse cursor. Only applies to 'simple' tooltips with mouse hover.\n * `true` follows the cursor continuously along one axis derived from `placement` (horizontal for top/bottom, vertical for left/right).\n * `'initial'` opens the tooltip at the cursor's position (both axes) and keeps it there, like the native `title` attribute; `placement` controls which side of that point the tooltip appears on.\n */\n followCursor?: boolean | 'initial';\n};\n\nconst TooltipComponent = ({\n children,\n isDisabled = false,\n type,\n isInitialOpen,\n placement,\n isOpen,\n onOpenChange,\n isPortaled: isPortaledProp,\n floatingStrategy: strategyProp,\n hoverDelay,\n shouldCloseOnReferenceClick,\n autoUpdateOptions,\n followCursor,\n}: TooltipProps) => {\n const isInsideDialog = useIsInsideDialog();\n const strategy = isInsideDialog ? 'fixed' : 'absolute';\n const isPortaled = !isInsideDialog;\n\n const tooltip = useTooltip({\n autoUpdateOptions,\n followCursor,\n hoverDelay,\n isDisabled,\n isInitialOpen,\n // if isDisabled is true tooltip will not open otherwise either controlled or uncontrolled depending on if isOpen is passed\n isOpen: isDisabled === true ? false : isOpen,\n isPortaled: isPortaledProp ?? isPortaled,\n onOpenChange,\n placement,\n shouldCloseOnReferenceClick,\n strategy: strategyProp ?? strategy,\n type,\n });\n\n return (\n <TooltipContext.Provider value={tooltip}>\n {children}\n </TooltipContext.Provider>\n );\n};\n\nTooltipComponent.displayName = 'Tooltip';\n\ntype TooltipTriggerProps = {\n /** Content displayed inside the trigger element */\n children: React.ReactNode;\n /** Whether the trigger element can be any element without an extra button wrapper. The child element will be cloned with the necessary trigger props and merged refs */\n hasButtonWrapper?: boolean;\n};\n\nconst TooltipTrigger = ({\n children,\n hasButtonWrapper = false,\n htmlAttributes,\n className,\n style,\n ref,\n ...restProps\n}: CommonProps<'button', TooltipTriggerProps>) => {\n const context = useTooltipContext();\n\n // Example from floating-ui\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n const childrenProps = (children as any).props;\n const mergedRefs = useMergeRefs([\n context.refs.setReference,\n ref,\n childrenProps?.ref,\n ]);\n\n const triggerClasses = classNames(\n {\n 'ndl-closed': !context.isOpen,\n 'ndl-open': context.isOpen,\n },\n 'ndl-tooltip-trigger',\n className,\n );\n\n // `hasButtonWrapper=true` allows the user to pass any element as the anchor\n if (hasButtonWrapper && React.isValidElement(children)) {\n const props: Record<string, unknown> = {\n className: triggerClasses,\n ...htmlAttributes,\n ...childrenProps,\n ref: mergedRefs,\n };\n\n return React.cloneElement(children, context.getReferenceProps(props));\n }\n\n return (\n <button\n type=\"button\"\n className={triggerClasses}\n style={style}\n ref={mergedRefs}\n {...context.getReferenceProps(htmlAttributes)}\n {...restProps}\n >\n {children}\n </button>\n );\n};\n\ntype TooltipContentProps = {\n /** Content displayed inside the tooltip */\n children: React.ReactNode;\n};\n\nconst TooltipContent = ({\n children,\n style,\n htmlAttributes,\n className,\n ref,\n ...restProps\n}: CommonProps<'div', TooltipContentProps>) => {\n const context = useTooltipContext();\n const mergedRef = useMergeRefs([context.refs.setFloating, ref]);\n const { themeClassName } = useNeedleTheme();\n\n const hasHeaderChild = React.useMemo(() => {\n if (context.type !== 'rich') {\n return false;\n }\n const childrenArray = React.Children.toArray(children);\n return childrenArray.some(\n (child) => React.isValidElement(child) && child.type === TooltipHeader,\n );\n }, [children, context.type]);\n\n if (!context.isOpen) {\n return null;\n }\n\n const classes = classNames('ndl-tooltip-content', themeClassName, className, {\n 'ndl-tooltip-content-rich': context.type === 'rich',\n 'ndl-tooltip-content-simple': context.type === 'simple',\n });\n\n if (context.type === 'simple') {\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => <FloatingPortal>{wrapChildren}</FloatingPortal>}\n >\n <div\n ref={mergedRef}\n className={classes}\n style={{\n ...context.floatingStyles,\n ...style,\n }}\n {...restProps}\n {...context.getFloatingProps(htmlAttributes)}\n >\n <Typography variant=\"body-medium\">{children}</Typography>\n </div>\n </ConditionalWrap>\n );\n }\n\n const ariaLabelledBy =\n htmlAttributes?.['aria-labelledby'] ??\n (hasHeaderChild ? context.headerId : undefined);\n\n if (htmlAttributes?.['aria-label'] === undefined && !ariaLabelledBy) {\n console.warn(\n 'The rich Tooltip is missing aria-label and Header. Please add one of them for accessibility.',\n );\n }\n\n return (\n <ConditionalWrap\n shouldWrap={context.isPortaled}\n wrap={(wrapChildren) => <FloatingPortal>{wrapChildren}</FloatingPortal>}\n >\n <FloatingFocusManager\n context={context.context}\n returnFocus={true}\n modal={false}\n initialFocus={0}\n closeOnFocusOut\n >\n <div\n ref={mergedRef}\n className={classes}\n style={{\n ...context.floatingStyles,\n ...style,\n }}\n {...restProps}\n {...context.getFloatingProps({\n ...htmlAttributes,\n 'aria-labelledby': ariaLabelledBy,\n })}\n >\n {children}\n </div>\n </FloatingFocusManager>\n </ConditionalWrap>\n );\n};\n\ntype TooltipHeaderProps = {\n /** Content displayed inside the header */\n children: React.ReactNode;\n /** @deprecated Use `typographyVariant` instead */\n passThroughProps?: Partial<React.ComponentPropsWithoutRef<typeof Typography>>;\n typographyVariant?: TypographyVariants;\n};\n\nconst TooltipHeader = ({\n children,\n passThroughProps,\n typographyVariant = 'subheading-medium',\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'span', TooltipHeaderProps>) => {\n const context = useTooltipContext();\n\n const classes = classNames('ndl-tooltip-header', className);\n\n useEffect(() => {\n if (Boolean(htmlAttributes?.id) === true) {\n context.setHeaderId?.(htmlAttributes?.id);\n }\n }, [context, htmlAttributes?.id]);\n\n if (!context.isOpen) {\n return null;\n }\n\n return (\n <Typography\n ref={ref}\n variant={typographyVariant}\n className={classes}\n style={style}\n htmlAttributes={{ ...htmlAttributes, id: context.headerId }}\n {...passThroughProps}\n {...restProps}\n >\n {children}\n </Typography>\n );\n};\n\nexport type TooltipBodyProps = {\n /** Content displayed inside the body */\n children: React.ReactNode;\n /** Additional props to pass to the Typography component */\n passThroughProps?: Partial<React.ComponentPropsWithoutRef<typeof Typography>>;\n};\n\nconst TooltipBody = ({\n children,\n className,\n style,\n htmlAttributes,\n passThroughProps,\n ref,\n ...restProps\n}: CommonProps<'span', TooltipBodyProps>) => {\n const context = useTooltipContext();\n\n const classes = classNames('ndl-tooltip-body', className);\n if (!context.isOpen) {\n return null;\n }\n\n return (\n <Typography\n ref={ref}\n variant=\"body-medium\"\n className={classes}\n style={style}\n htmlAttributes={htmlAttributes}\n {...passThroughProps}\n {...restProps}\n >\n {children}\n </Typography>\n );\n};\n\ntype ToolTipActionsProps = {\n /** Content displayed inside the actions container */\n children: React.ReactNode;\n};\n\nconst Actions = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', ToolTipActionsProps>) => {\n const context = useTooltipContext();\n const mergedRefs = useMergeRefs([context.refs.setFloating, ref]);\n\n if (!context.isOpen) {\n return null;\n }\n\n const classes = classNames('ndl-tooltip-actions', className);\n\n return (\n <div\n className={classes}\n ref={mergedRefs}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\nActions.displayName = 'Tooltip.Actions';\n\nconst Tooltip = Object.assign(TooltipComponent, {\n Actions: Actions,\n Body: TooltipBody,\n Content: TooltipContent,\n Header: TooltipHeader,\n Trigger: TooltipTrigger,\n});\n\nexport { Tooltip };\n"]}
@@ -27,7 +27,7 @@ const react_2 = require("react");
27
27
  const Component = () => {
28
28
  const [isDialogOpen, setDialogOpen] = (0, react_2.useState)(false);
29
29
  const closeDialog = () => setDialogOpen(false);
30
- return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => setDialogOpen(true), children: "Open Dialog" }), (0, jsx_runtime_1.jsxs)(react_1.Dialog, { isOpen: isDialogOpen, onClose: closeDialog, children: [(0, jsx_runtime_1.jsx)(react_1.Dialog.Header, { children: "Header" }), (0, jsx_runtime_1.jsx)(react_1.Dialog.Content, { children: (0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { children: (0, jsx_runtime_1.jsx)(react_1.Typography, { variant: "body-medium", children: "Hover me!" }) }), (0, jsx_runtime_1.jsx)(react_1.Tooltip.Content, { children: "This is a long tooltip!" })] }) })] })] }));
30
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center", children: [(0, jsx_runtime_1.jsx)(react_1.FilledButton, { onClick: () => setDialogOpen(true), children: "Open Dialog" }), (0, jsx_runtime_1.jsxs)(react_1.Dialog, { isOpen: isDialogOpen, onClose: closeDialog, children: [(0, jsx_runtime_1.jsx)(react_1.Dialog.Header, { children: "Header" }), (0, jsx_runtime_1.jsx)(react_1.Dialog.Content, { children: (0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { children: (0, jsx_runtime_1.jsx)(react_1.Typography, { variant: "body-medium", children: "Hover me!" }) }), (0, jsx_runtime_1.jsx)(react_1.Tooltip.Content, { children: "This is a long tooltip!" })] }) })] })] }));
31
31
  };
32
32
  exports.default = Component;
33
33
  //# sourceMappingURL=tooltip-in-dialog.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-in-dialog.story.js","sourceRoot":"","sources":["../../../../src/tooltip/stories/tooltip-in-dialog.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAA6E;AAC7E,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,CACL,iCAAK,SAAS,EAAC,yBAAyB,aACtC,uBAAC,oBAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,4BAEjC,EACf,wBAAC,cAAM,IAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,aAChD,uBAAC,cAAM,CAAC,MAAM,yBAAuB,EACrC,uBAAC,cAAM,CAAC,OAAO,cACb,wBAAC,eAAO,IAAC,IAAI,EAAC,QAAQ,aACpB,uBAAC,eAAO,CAAC,OAAO,cACd,uBAAC,kBAAU,IAAC,OAAO,EAAC,aAAa,0BAAuB,GACxC,EAClB,uBAAC,eAAO,CAAC,OAAO,0CAA0C,IAClD,GACK,IACV,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { Dialog, FilledButton, Tooltip, Typography } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isDialogOpen, setDialogOpen] = useState(false);\n const closeDialog = () => setDialogOpen(false);\n return (\n <div className=\"n-flex n-justify-center\">\n <FilledButton onClick={() => setDialogOpen(true)}>\n Open Dialog\n </FilledButton>\n <Dialog isOpen={isDialogOpen} onClose={closeDialog}>\n <Dialog.Header>Header</Dialog.Header>\n <Dialog.Content>\n <Tooltip type=\"simple\">\n <Tooltip.Trigger>\n <Typography variant=\"body-medium\">Hover me!</Typography>\n </Tooltip.Trigger>\n <Tooltip.Content>This is a long tooltip!</Tooltip.Content>\n </Tooltip>\n </Dialog.Content>\n </Dialog>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"tooltip-in-dialog.story.js","sourceRoot":"","sources":["../../../../src/tooltip/stories/tooltip-in-dialog.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAA6E;AAC7E,iCAAiC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,CACL,iCAAK,SAAS,EAAC,qBAAqB,aAClC,uBAAC,oBAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,4BAEjC,EACf,wBAAC,cAAM,IAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,aAChD,uBAAC,cAAM,CAAC,MAAM,yBAAuB,EACrC,uBAAC,cAAM,CAAC,OAAO,cACb,wBAAC,eAAO,IAAC,IAAI,EAAC,QAAQ,aACpB,uBAAC,eAAO,CAAC,OAAO,cACd,uBAAC,kBAAU,IAAC,OAAO,EAAC,aAAa,0BAAuB,GACxC,EAClB,uBAAC,eAAO,CAAC,OAAO,0CAA0C,IAClD,GACK,IACV,IACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { Dialog, FilledButton, Tooltip, Typography } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isDialogOpen, setDialogOpen] = useState(false);\n const closeDialog = () => setDialogOpen(false);\n return (\n <div className=\"flex justify-center\">\n <FilledButton onClick={() => setDialogOpen(true)}>\n Open Dialog\n </FilledButton>\n <Dialog isOpen={isDialogOpen} onClose={closeDialog}>\n <Dialog.Header>Header</Dialog.Header>\n <Dialog.Content>\n <Tooltip type=\"simple\">\n <Tooltip.Trigger>\n <Typography variant=\"body-medium\">Hover me!</Typography>\n </Tooltip.Trigger>\n <Tooltip.Content>This is a long tooltip!</Tooltip.Content>\n </Tooltip>\n </Dialog.Content>\n </Dialog>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -34,7 +34,7 @@ const Component = () => {
34
34
  { label: 'Bottom Start', placement: 'bottom-start' },
35
35
  { label: 'Bottom End', placement: 'bottom-end' },
36
36
  ];
37
- return ((0, jsx_runtime_1.jsx)("div", { className: "n-grid n-grid-cols-4 n-gap-token-16 n-p-token-16 n-place-items-center", children: placements.map(({ placement, label }) => ((0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", placement: placement, children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { hasButtonWrapper: true, children: (0, jsx_runtime_1.jsx)(react_1.FilledButton, { size: "small", children: label }) }), (0, jsx_runtime_1.jsxs)(react_1.Tooltip.Content, { children: ["Tooltip on ", label.toLowerCase()] })] }, placement))) }));
37
+ return ((0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-4 gap-token-16 p-token-16 place-items-center", children: placements.map(({ placement, label }) => ((0, jsx_runtime_1.jsxs)(react_1.Tooltip, { type: "simple", placement: placement, children: [(0, jsx_runtime_1.jsx)(react_1.Tooltip.Trigger, { hasButtonWrapper: true, children: (0, jsx_runtime_1.jsx)(react_1.FilledButton, { size: "small", children: label }) }), (0, jsx_runtime_1.jsxs)(react_1.Tooltip.Content, { children: ["Tooltip on ", label.toLowerCase()] })] }, placement))) }));
38
38
  };
39
39
  exports.default = Component;
40
40
  //# sourceMappingURL=tooltip-placements.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-placements.story.js","sourceRoot":"","sources":["../../../../src/tooltip/stories/tooltip-placements.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAyD;AAEzD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,UAAU,GAAG;QACjB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAc,EAAE;QAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAiB,EAAE;QACjD,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAe,EAAE;QAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAgB,EAAE;QAC/C,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAoB,EAAE;QACvD,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAkB,EAAE;QACnD,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,cAAuB,EAAE;QAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAqB,EAAE;KAC1D,CAAC;IAEF,OAAO,CACL,gCAAK,SAAS,EAAC,uEAAuE,YACnF,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxC,wBAAC,eAAO,IAAiB,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS,aACzD,uBAAC,eAAO,CAAC,OAAO,IAAC,gBAAgB,kBAC/B,uBAAC,oBAAY,IAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAgB,GACjC,EAClB,wBAAC,eAAO,CAAC,OAAO,8BAAa,KAAK,CAAC,WAAW,EAAE,IAAmB,KAJvD,SAAS,CAKb,CACX,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, Tooltip } from '@neo4j-ndl/react';\n\nconst Component = () => {\n const placements = [\n { label: 'Top', placement: 'top' as const },\n { label: 'Bottom', placement: 'bottom' as const },\n { label: 'Left', placement: 'left' as const },\n { label: 'Right', placement: 'right' as const },\n { label: 'Top Start', placement: 'top-start' as const },\n { label: 'Top End', placement: 'top-end' as const },\n { label: 'Bottom Start', placement: 'bottom-start' as const },\n { label: 'Bottom End', placement: 'bottom-end' as const },\n ];\n\n return (\n <div className=\"n-grid n-grid-cols-4 n-gap-token-16 n-p-token-16 n-place-items-center\">\n {placements.map(({ placement, label }) => (\n <Tooltip key={placement} type=\"simple\" placement={placement}>\n <Tooltip.Trigger hasButtonWrapper>\n <FilledButton size=\"small\">{label}</FilledButton>\n </Tooltip.Trigger>\n <Tooltip.Content>Tooltip on {label.toLowerCase()}</Tooltip.Content>\n </Tooltip>\n ))}\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"tooltip-placements.story.js","sourceRoot":"","sources":["../../../../src/tooltip/stories/tooltip-placements.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAyD;AAEzD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,UAAU,GAAG;QACjB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAc,EAAE;QAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAiB,EAAE;QACjD,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAe,EAAE;QAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAgB,EAAE;QAC/C,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAoB,EAAE;QACvD,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAkB,EAAE;QACnD,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,cAAuB,EAAE;QAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAqB,EAAE;KAC1D,CAAC;IAEF,OAAO,CACL,gCAAK,SAAS,EAAC,6DAA6D,YACzE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxC,wBAAC,eAAO,IAAiB,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS,aACzD,uBAAC,eAAO,CAAC,OAAO,IAAC,gBAAgB,kBAC/B,uBAAC,oBAAY,IAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAgB,GACjC,EAClB,wBAAC,eAAO,CAAC,OAAO,8BAAa,KAAK,CAAC,WAAW,EAAE,IAAmB,KAJvD,SAAS,CAKb,CACX,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { FilledButton, Tooltip } from '@neo4j-ndl/react';\n\nconst Component = () => {\n const placements = [\n { label: 'Top', placement: 'top' as const },\n { label: 'Bottom', placement: 'bottom' as const },\n { label: 'Left', placement: 'left' as const },\n { label: 'Right', placement: 'right' as const },\n { label: 'Top Start', placement: 'top-start' as const },\n { label: 'Top End', placement: 'top-end' as const },\n { label: 'Bottom Start', placement: 'bottom-start' as const },\n { label: 'Bottom End', placement: 'bottom-end' as const },\n ];\n\n return (\n <div className=\"grid grid-cols-4 gap-token-16 p-token-16 place-items-center\">\n {placements.map(({ placement, label }) => (\n <Tooltip key={placement} type=\"simple\" placement={placement}>\n <Tooltip.Trigger hasButtonWrapper>\n <FilledButton size=\"small\">{label}</FilledButton>\n </Tooltip.Trigger>\n <Tooltip.Content>Tooltip on {label.toLowerCase()}</Tooltip.Content>\n </Tooltip>\n ))}\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-tooltip.js","sourceRoot":"","sources":["../../../src/tooltip/use-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n autoUpdate,\n type AutoUpdateOptions,\n type ElementProps,\n flip,\n offset,\n type Placement,\n type ReferenceType,\n safePolygon,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n type UseFloatingOptions,\n type UseFloatingReturn,\n useFocus,\n useHover,\n useInteractions,\n type UseInteractionsReturn,\n useRole,\n} from '@floating-ui/react';\nimport {\n createContext,\n type PointerEvent as ReactPointerEvent,\n useContext,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nexport interface TooltipOptions {\n isInitialOpen?: boolean;\n placement?: Placement;\n isOpen?: boolean;\n onOpenChange?: UseFloatingOptions['onOpenChange'];\n type?: 'simple' | 'rich';\n isPortaled?: boolean;\n strategy?: 'fixed' | 'absolute';\n hoverDelay?: {\n open: number;\n close: number;\n };\n shouldCloseOnReferenceClick?: boolean;\n autoUpdateOptions?: AutoUpdateOptions;\n isDisabled?: boolean;\n // TODO v5: align followCursor with the Tippy.js convention: `true` should follow\n // the cursor continuously on both axes, with explicit 'horizontal' / 'vertical'\n // values for single-axis following (instead of deriving the axis from `placement`).\n /**\n * Whether the tooltip should be positioned at the mouse cursor. Only applies to 'simple' tooltips with mouse hover.\n * `true` follows the cursor continuously along one axis derived from `placement` (horizontal for top/bottom, vertical for left/right).\n * `'initial'` opens the tooltip at the cursor's position (both axes) and keeps it there, like the native `title` attribute; `placement` controls which side of that point the tooltip appears on.\n */\n followCursor?: boolean | 'initial';\n}\n\nexport function useTooltip({\n isInitialOpen = false,\n placement = 'top',\n isOpen: controlledOpen,\n onOpenChange: setControlledOpen,\n type = 'simple',\n isPortaled = true,\n strategy = 'absolute',\n hoverDelay = undefined,\n shouldCloseOnReferenceClick = false,\n autoUpdateOptions,\n isDisabled = false,\n followCursor = false,\n}: TooltipOptions = {}): {\n headerId?: string;\n setHeaderId?: (id: string | undefined) => void;\n isOpen: boolean;\n setOpen: (open: boolean) => void;\n type: 'simple' | 'rich';\n isPortaled: boolean;\n} & UseInteractionsReturn &\n UseFloatingReturn<ReferenceType> {\n const id = useId();\n const [headerId, setHeaderId] = useState<string | undefined>(id);\n const [isUncontrolledOpen, setIsUncontrolledOpen] = useState(isInitialOpen);\n const isOpen = controlledOpen ?? isUncontrolledOpen;\n const setOpen: NonNullable<UseFloatingOptions['onOpenChange']> =\n setControlledOpen ?? setIsUncontrolledOpen;\n\n // For followCursor='initial': the latest pointer position over the trigger,\n // and a snapshot of it frozen at the moment the tooltip opens.\n const pointerPositionRef = useRef<{\n // oxlint-disable-next-line id-length\n x: number;\n // oxlint-disable-next-line id-length\n y: number;\n } | null>(null);\n const [initialCursorPoint, setInitialCursorPoint] = useState<{\n // oxlint-disable-next-line id-length\n x: number;\n // oxlint-disable-next-line id-length\n y: number;\n } | null>(null);\n\n const data = useFloating({\n middleware: [\n offset(5),\n flip({\n crossAxis: placement.includes('-'),\n fallbackAxisSideDirection: 'start',\n padding: 5,\n }),\n shift({ padding: 5 }),\n ],\n onOpenChange(open, event, reason) {\n if (followCursor === 'initial') {\n // Only anchor to the cursor for pointer-driven opens; keyboard focus\n // opens fall back to positioning relative to the trigger element.\n const isPointerDrivenOpen = event !== undefined && 'clientX' in event;\n setInitialCursorPoint(\n open && isPointerDrivenOpen ? pointerPositionRef.current : null,\n );\n }\n setOpen(open, event, reason);\n },\n open: isOpen,\n placement,\n strategy,\n whileElementsMounted(referenceEl, floatingEl, update) {\n const cleanup = autoUpdate(referenceEl, floatingEl, update, {\n ...autoUpdateOptions,\n });\n return cleanup;\n },\n });\n\n const context = data.context;\n\n const hover = useHover(context, {\n delay: hoverDelay,\n enabled: type === 'simple' && !isDisabled,\n handleClose: safePolygon(),\n move: false,\n });\n const click = useClick(context, {\n enabled: type === 'rich' && !isDisabled,\n });\n const focus = useFocus(context, {\n enabled: type === 'simple' && !isDisabled,\n visibleOnly: true,\n });\n const dismiss = useDismiss(context, {\n escapeKey: true,\n outsidePress: true,\n referencePress: shouldCloseOnReferenceClick,\n });\n const role = useRole(context, {\n role: type === 'simple' ? 'tooltip' : 'dialog',\n });\n const followAxis =\n placement.startsWith('left') || placement.startsWith('right') ? 'y' : 'x';\n const isInitialFollowCursor = followCursor === 'initial';\n const clientPoint = useClientPoint(context, {\n // 'initial' anchors to the exact cursor point (both axes); `true` follows\n // continuously along the axis derived from `placement`.\n axis: isInitialFollowCursor ? 'both' : followAxis,\n enabled: followCursor !== false && type === 'simple' && !isDisabled,\n // Explicit coordinates lock the position: useClientPoint stops tracking\n // pointer movement when they are provided.\n ...(isInitialFollowCursor && {\n // oxlint-disable-next-line id-length\n x: initialCursorPoint?.x ?? null,\n // oxlint-disable-next-line id-length\n y: initialCursorPoint?.y ?? null,\n }),\n });\n\n const initialCursorTracking = useMemo<ElementProps>(() => {\n if (!isInitialFollowCursor) {\n return {};\n }\n const capturePointerPosition = (event: ReactPointerEvent) => {\n pointerPositionRef.current = {\n // oxlint-disable-next-line id-length\n x: event.clientX,\n // oxlint-disable-next-line id-length\n y: event.clientY,\n };\n };\n return {\n reference: {\n onPointerEnter: capturePointerPosition,\n onPointerMove: capturePointerPosition,\n },\n };\n }, [isInitialFollowCursor]);\n\n const interactions = useInteractions([\n hover,\n focus,\n dismiss,\n role,\n click,\n clientPoint,\n initialCursorTracking,\n ]);\n\n return useMemo(\n () => ({\n headerId: type === 'rich' ? headerId : undefined,\n isOpen,\n isPortaled,\n setHeaderId: type === 'rich' ? setHeaderId : undefined,\n setOpen,\n type,\n ...interactions,\n ...data,\n }),\n [headerId, isOpen, isPortaled, setOpen, type, interactions, data],\n );\n}\n\ntype ContextType = ReturnType<typeof useTooltip> | null;\n\nexport const TooltipContext = createContext<ContextType>(null);\n\nexport const useTooltipContext = (): ReturnType<typeof useTooltip> => {\n const context = useContext(TooltipContext);\n\n if (context === null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"]}
1
+ {"version":3,"file":"use-tooltip.js","sourceRoot":"","sources":["../../../src/tooltip/use-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n autoUpdate,\n type AutoUpdateOptions,\n type ElementProps,\n flip,\n offset,\n type Placement,\n type ReferenceType,\n safePolygon,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n type UseFloatingOptions,\n type UseFloatingReturn,\n useFocus,\n useHover,\n useInteractions,\n type UseInteractionsReturn,\n useRole,\n} from '@floating-ui/react';\nimport {\n createContext,\n type PointerEvent as ReactPointerEvent,\n useContext,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nexport interface TooltipOptions {\n isInitialOpen?: boolean;\n placement?: Placement;\n isOpen?: boolean;\n onOpenChange?: UseFloatingOptions['onOpenChange'];\n type?: 'simple' | 'rich';\n isPortaled?: boolean;\n strategy?: 'fixed' | 'absolute';\n hoverDelay?: {\n open: number;\n close: number;\n };\n shouldCloseOnReferenceClick?: boolean;\n autoUpdateOptions?: AutoUpdateOptions;\n isDisabled?: boolean;\n /**\n * Whether the tooltip should be positioned at the mouse cursor. Only applies to 'simple' tooltips with mouse hover.\n * `true` follows the cursor continuously along one axis derived from `placement` (horizontal for top/bottom, vertical for left/right).\n * `'initial'` opens the tooltip at the cursor's position (both axes) and keeps it there, like the native `title` attribute; `placement` controls which side of that point the tooltip appears on.\n */\n followCursor?: boolean | 'initial';\n}\n\nexport function useTooltip({\n isInitialOpen = false,\n placement = 'top',\n isOpen: controlledOpen,\n onOpenChange: setControlledOpen,\n type = 'simple',\n isPortaled = true,\n strategy = 'absolute',\n hoverDelay = undefined,\n shouldCloseOnReferenceClick = false,\n autoUpdateOptions,\n isDisabled = false,\n followCursor = false,\n}: TooltipOptions = {}): {\n headerId?: string;\n setHeaderId?: (id: string | undefined) => void;\n isOpen: boolean;\n setOpen: (open: boolean) => void;\n type: 'simple' | 'rich';\n isPortaled: boolean;\n} & UseInteractionsReturn &\n UseFloatingReturn<ReferenceType> {\n const id = useId();\n const [headerId, setHeaderId] = useState<string | undefined>(id);\n const [isUncontrolledOpen, setIsUncontrolledOpen] = useState(isInitialOpen);\n const isOpen = controlledOpen ?? isUncontrolledOpen;\n const setOpen: NonNullable<UseFloatingOptions['onOpenChange']> =\n setControlledOpen ?? setIsUncontrolledOpen;\n\n // For followCursor='initial': the latest pointer position over the trigger,\n // and a snapshot of it frozen at the moment the tooltip opens.\n const pointerPositionRef = useRef<{\n // oxlint-disable-next-line id-length\n x: number;\n // oxlint-disable-next-line id-length\n y: number;\n } | null>(null);\n const [initialCursorPoint, setInitialCursorPoint] = useState<{\n // oxlint-disable-next-line id-length\n x: number;\n // oxlint-disable-next-line id-length\n y: number;\n } | null>(null);\n\n const data = useFloating({\n middleware: [\n offset(5),\n flip({\n crossAxis: placement.includes('-'),\n fallbackAxisSideDirection: 'start',\n padding: 5,\n }),\n shift({ padding: 5 }),\n ],\n onOpenChange(open, event, reason) {\n if (followCursor === 'initial') {\n // Only anchor to the cursor for pointer-driven opens; keyboard focus\n // opens fall back to positioning relative to the trigger element.\n const isPointerDrivenOpen = event !== undefined && 'clientX' in event;\n setInitialCursorPoint(\n open && isPointerDrivenOpen ? pointerPositionRef.current : null,\n );\n }\n setOpen(open, event, reason);\n },\n open: isOpen,\n placement,\n strategy,\n whileElementsMounted(referenceEl, floatingEl, update) {\n const cleanup = autoUpdate(referenceEl, floatingEl, update, {\n ...autoUpdateOptions,\n });\n return cleanup;\n },\n });\n\n const context = data.context;\n\n const hover = useHover(context, {\n delay: hoverDelay,\n enabled: type === 'simple' && !isDisabled,\n handleClose: safePolygon(),\n move: false,\n });\n const click = useClick(context, {\n enabled: type === 'rich' && !isDisabled,\n });\n const focus = useFocus(context, {\n enabled: type === 'simple' && !isDisabled,\n visibleOnly: true,\n });\n const dismiss = useDismiss(context, {\n escapeKey: true,\n outsidePress: true,\n referencePress: shouldCloseOnReferenceClick,\n });\n const role = useRole(context, {\n role: type === 'simple' ? 'tooltip' : 'dialog',\n });\n const followAxis =\n placement.startsWith('left') || placement.startsWith('right') ? 'y' : 'x';\n const isInitialFollowCursor = followCursor === 'initial';\n const clientPoint = useClientPoint(context, {\n // 'initial' anchors to the exact cursor point (both axes); `true` follows\n // continuously along the axis derived from `placement`.\n axis: isInitialFollowCursor ? 'both' : followAxis,\n enabled: followCursor !== false && type === 'simple' && !isDisabled,\n // Explicit coordinates lock the position: useClientPoint stops tracking\n // pointer movement when they are provided.\n ...(isInitialFollowCursor && {\n // oxlint-disable-next-line id-length\n x: initialCursorPoint?.x ?? null,\n // oxlint-disable-next-line id-length\n y: initialCursorPoint?.y ?? null,\n }),\n });\n\n const initialCursorTracking = useMemo<ElementProps>(() => {\n if (!isInitialFollowCursor) {\n return {};\n }\n const capturePointerPosition = (event: ReactPointerEvent) => {\n pointerPositionRef.current = {\n // oxlint-disable-next-line id-length\n x: event.clientX,\n // oxlint-disable-next-line id-length\n y: event.clientY,\n };\n };\n return {\n reference: {\n onPointerEnter: capturePointerPosition,\n onPointerMove: capturePointerPosition,\n },\n };\n }, [isInitialFollowCursor]);\n\n const interactions = useInteractions([\n hover,\n focus,\n dismiss,\n role,\n click,\n clientPoint,\n initialCursorTracking,\n ]);\n\n return useMemo(\n () => ({\n headerId: type === 'rich' ? headerId : undefined,\n isOpen,\n isPortaled,\n setHeaderId: type === 'rich' ? setHeaderId : undefined,\n setOpen,\n type,\n ...interactions,\n ...data,\n }),\n [headerId, isOpen, isPortaled, setOpen, type, interactions, data],\n );\n}\n\ntype ContextType = ReturnType<typeof useTooltip> | null;\n\nexport const TooltipContext = createContext<ContextType>(null);\n\nexport const useTooltipContext = (): ReturnType<typeof useTooltip> => {\n const context = useContext(TooltipContext);\n\n if (context === null) {\n throw new Error('Tooltip components must be wrapped in <Tooltip />');\n }\n\n return context;\n};\n"]}
@@ -335,5 +335,8 @@ const TreeViewComponents = {
335
335
  TreeItemWrapper: TreeItemWrapper_1.TreeItemWrapper,
336
336
  TreeViewTextItem: TreeViewTextItem_1.TreeViewTextItem,
337
337
  };
338
+ /**
339
+ * @deprecated Use `TreeView` from `@neo4j-ndl/react/next` instead. This component is no longer maintained.
340
+ */
338
341
  exports.TreeView = Object.assign(TreeViewComponent, TreeViewComponents);
339
342
  //# sourceMappingURL=TreeView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../../src/tree-view/TreeView.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n type Announcements,\n closestCenter,\n defaultDropAnimation,\n DndContext,\n type DragEndEvent,\n type DragMoveEvent,\n type DragOverEvent,\n DragOverlay,\n type DragStartEvent,\n type DropAnimation,\n KeyboardSensor,\n MeasuringStrategy,\n PointerSensor,\n type UniqueIdentifier,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport type React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { type HtmlAttributes } from '../_common/types';\nimport { sortableTreeKeyboardCoordinates } from './tree-view-keyboard-coordinates';\nimport {\n type FlattenedTreeItem,\n type ItemChangedReason,\n type TreeItem,\n type TreeItemComponent,\n} from './tree-view-types';\nimport {\n buildTree,\n flattenTree,\n getProjection,\n removeChildrenOf,\n type SensorContext,\n transformToString,\n} from './tree-view-utils';\nimport { TreeItemWrapper } from './TreeItemWrapper';\nimport { SortableTreeViewItem } from './TreeViewItem';\nimport { TreeViewTextItem } from './TreeViewTextItem';\n\nconst indentationWidth = 20;\nconst ACTIVE_PLACEHOLDER_ID = 'ndl-active-tree-item';\n\nconst dropAnimationConfig: DropAnimation = {\n easing: 'ease-out',\n keyframes({ transform }) {\n return [\n {\n opacity: 1,\n transform: transformToString(transform.initial),\n },\n {\n opacity: 0,\n transform: transformToString({\n ...transform.final,\n // oxlint-disable-next-line id-length\n y: transform.final.y + 5,\n // oxlint-disable-next-line id-length\n x: transform.final.x + 5,\n }),\n },\n ];\n },\n sideEffects({ active }) {\n active.node.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: defaultDropAnimation.duration,\n easing: defaultDropAnimation.easing,\n });\n },\n};\n\nexport interface TreeViewProps<\n T extends Record<string, unknown>,\n E extends HTMLElement,\n> extends React.HTMLAttributes<HTMLOListElement> {\n /** The items to be displayed in the tree view */\n items: TreeItem<T>[];\n /** A function that is called when the items in the tree view change */\n onItemsChanged: (\n newItems: TreeItem<T>[],\n itemChangedReason: ItemChangedReason<T>,\n ) => void;\n /** The component to use for the tree items, if not provided the default component will be used */\n TreeItemComponent?: TreeItemComponent<T, E>;\n /** HTML attributes */\n htmlAttributes?: HtmlAttributes<'ol'>;\n}\n\nconst TreeViewComponent = function TreeView<\n T extends Record<string, unknown>,\n E extends HTMLElement,\n>({\n items,\n TreeItemComponent,\n onItemsChanged,\n htmlAttributes,\n ...restProps\n}: TreeViewProps<T, E>) {\n const flattenItems = useMemo(() => flattenTree(items), [items]);\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n const [overId, setOverId] = useState<UniqueIdentifier | null>(null);\n const [focusedRowId, setFocusedRowId] = useState<UniqueIdentifier | null>(\n null,\n );\n\n const [currentPosition, setCurrentPosition] = useState<{\n parentId: UniqueIdentifier | null;\n overId: UniqueIdentifier;\n } | null>(null);\n const [offsetLeft, setOffsetLeft] = useState(0);\n\n /* ------------------------------ Setup of Data ------------------------------ */\n\n const flattenedAndRemovedCollapsedItems = useMemo(() => {\n const collapsedItemsIds = flattenItems\n .filter((item) => item.canHaveSubItems && item.isCollapsed)\n .map((item) => item.id);\n\n return removeChildrenOf(\n [...flattenItems],\n activeId !== null ? [activeId, ...collapsedItemsIds] : collapsedItemsIds,\n );\n }, [activeId, flattenItems]);\n\n const activeItem = useMemo(\n () => (activeId ? flattenItems.find(({ id }) => id === activeId) : null),\n [activeId, flattenItems],\n );\n\n const flattenedAndRemovedCollapsedItemsWithActive = useMemo(() => {\n const collapsedItems = flattenItems.reduce<UniqueIdentifier[]>(\n (acc, item) => {\n if (item.canHaveSubItems && item.isCollapsed) {\n return [...acc, item.id];\n }\n return acc;\n },\n [],\n );\n\n const ItemsWithCollapsedRemoved = removeChildrenOf(\n flattenItems,\n activeId ? [activeId, ...collapsedItems] : collapsedItems,\n );\n const newArray: FlattenedTreeItem<T>[] = [];\n for (const item of ItemsWithCollapsedRemoved) {\n newArray.push(item);\n if (item.id === activeId) {\n newArray.push({\n ...item,\n id: ACTIVE_PLACEHOLDER_ID,\n });\n }\n }\n\n return newArray;\n }, [flattenItems, activeId]);\n\n if (activeItem?.canHaveSubItems && !activeItem?.isCollapsed) {\n flattenedAndRemovedCollapsedItems.push({\n ...activeItem,\n id: ACTIVE_PLACEHOLDER_ID,\n });\n }\n\n const sensorContext: SensorContext<T> = useRef({\n items: flattenedAndRemovedCollapsedItemsWithActive,\n offset: offsetLeft,\n });\n\n const coordinateGetter = useMemo(() => {\n sensorContext.current.items = flattenedAndRemovedCollapsedItemsWithActive;\n sensorContext.current.offset = offsetLeft;\n\n return sortableTreeKeyboardCoordinates<T>(\n sensorContext,\n true,\n indentationWidth,\n );\n }, [flattenedAndRemovedCollapsedItemsWithActive, offsetLeft]);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: coordinateGetter,\n }),\n );\n\n const projected = useMemo(\n () =>\n activeId && overId\n ? getProjection(\n flattenedAndRemovedCollapsedItemsWithActive,\n activeId,\n overId,\n offsetLeft,\n indentationWidth,\n )\n : null,\n [activeId, overId, flattenedAndRemovedCollapsedItemsWithActive, offsetLeft],\n );\n\n const hasSelectableItems = useMemo(\n () => flattenItems.some((item) => item.isSelected !== undefined),\n [flattenItems],\n );\n\n const itemAriaData = useMemo(() => {\n const visibleItems = flattenedAndRemovedCollapsedItemsWithActive.filter(\n (item) => item.id !== ACTIVE_PLACEHOLDER_ID,\n );\n\n return visibleItems.reduce<\n Record<UniqueIdentifier, { posInSet: number; setSize: number }>\n >((acc, item) => {\n const siblings = visibleItems.filter(\n (sibling) => sibling.parentId === item.parentId,\n );\n\n acc[item.id] = {\n posInSet: siblings.findIndex((sibling) => sibling.id === item.id) + 1,\n setSize: siblings.length,\n };\n\n return acc;\n }, {});\n }, [flattenedAndRemovedCollapsedItemsWithActive]);\n\n /* ------------------------------ Handlers ------------------------------ */\n function handleDragStart({ active }: DragStartEvent) {\n const activeId = active.id;\n setActiveId(activeId);\n setOverId(activeId);\n\n const activeItem = flattenItems.find(({ id }) => id === activeId);\n if (activeItem) {\n setCurrentPosition({\n overId: activeId,\n parentId: activeItem.parentId,\n });\n }\n\n document.body.style.setProperty('cursor', 'grabbing');\n }\n\n function handleDragMove({ delta }: DragMoveEvent) {\n setOffsetLeft(delta.x);\n }\n\n function handleDragOver({ over }: DragOverEvent) {\n setOverId(over?.id ?? null);\n }\n\n function resetState() {\n setOverId(null);\n setActiveId(null);\n setOffsetLeft(0);\n setCurrentPosition(null);\n\n document.body.style.setProperty('cursor', '');\n }\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event;\n resetState();\n let overIndex = flattenItems.findIndex((item) => item.id === over?.id);\n\n if (over?.id === ACTIVE_PLACEHOLDER_ID) {\n overIndex = flattenItems.findIndex((item) => item.id === active.id);\n }\n if (projected && over) {\n const { depth, parentId } = projected;\n const clonedItems: FlattenedTreeItem<T>[] = [...flattenItems];\n\n const parentIndex = clonedItems.findIndex(\n (item) => item.id === parentId,\n );\n const activeIndex = clonedItems.findIndex(({ id }) => id === active.id);\n const activeTreeItem = clonedItems[activeIndex];\n\n clonedItems[activeIndex] = { ...activeTreeItem, depth, parentId };\n const parentItem = clonedItems[parentIndex];\n if (parentItem && parentItem.canHaveSubItems) {\n clonedItems[parentIndex] = { ...parentItem, isCollapsed: false };\n }\n const newItems = buildTree(\n arrayMove(clonedItems, activeIndex, overIndex),\n );\n\n onItemsChanged(newItems, {\n item: activeTreeItem,\n reason: 'dropped',\n });\n }\n },\n [flattenItems, onItemsChanged, projected],\n );\n\n function handleToggleCollapse(id: UniqueIdentifier) {\n const item = flattenItems.find((item) => item.id === id);\n if (!item || item.canHaveSubItems !== true) {\n return;\n }\n\n onItemsChanged(\n buildTree(\n flattenItems.map((item) => {\n if (item.id === id && item.canHaveSubItems === true) {\n return { ...item, isCollapsed: !item.isCollapsed };\n }\n return item;\n }),\n ),\n {\n item,\n reason: item.isCollapsed ? 'expanded' : 'collapsed',\n },\n );\n }\n\n function handleDragCancel() {\n resetState();\n }\n\n /* ------------------------------ Keyboard functions ------------------------------ */\n const getMovementAnnouncement = (\n eventName: string,\n activeId: UniqueIdentifier,\n overId?: UniqueIdentifier,\n ) => {\n if (overId && projected) {\n if (eventName !== 'onDragEnd') {\n if (\n currentPosition &&\n projected.parentId === currentPosition.parentId &&\n overId === currentPosition.overId\n ) {\n return;\n } else {\n setCurrentPosition({\n overId,\n parentId: projected.parentId,\n });\n }\n }\n\n const clonedItems: FlattenedTreeItem<T>[] = [\n ...flattenedAndRemovedCollapsedItemsWithActive,\n ];\n const overIndex = clonedItems.findIndex(({ id }) => id === overId);\n const activeIndex = clonedItems.findIndex(({ id }) => id === activeId);\n const sortedItems = arrayMove(clonedItems, activeIndex, overIndex);\n\n const previousItem = sortedItems[overIndex - 1];\n\n let announcement;\n const movedVerb = eventName === 'onDragEnd' ? 'dropped' : 'moved';\n const nestedVerb = eventName === 'onDragEnd' ? 'dropped' : 'nested';\n\n if (!previousItem) {\n const nextItem = sortedItems[overIndex + 1];\n announcement = `${activeId} was ${movedVerb} before ${nextItem.id}.`;\n } else {\n if (projected.depth > previousItem.depth) {\n announcement = `${activeId} was ${nestedVerb} under ${previousItem.id}.`;\n } else {\n let previousSibling: FlattenedTreeItem<T> | undefined = previousItem;\n while (previousSibling && projected.depth < previousSibling.depth) {\n const parentId: UniqueIdentifier | null = previousSibling.parentId;\n previousSibling = sortedItems.find(({ id }) => id === parentId);\n }\n\n if (previousSibling) {\n announcement = `${activeId} was ${movedVerb} after ${previousSibling.id}.`;\n }\n }\n }\n\n return announcement;\n }\n\n return;\n };\n\n const announcements: Announcements = {\n onDragCancel({ active }) {\n return `Moving was cancelled. ${active.id} was dropped in its original position.`;\n },\n onDragEnd({ active, over }) {\n return getMovementAnnouncement('onDragEnd', active.id, over?.id);\n },\n onDragMove({ active, over }) {\n return getMovementAnnouncement('onDragMove', active.id, over?.id);\n },\n onDragOver({ active, over }) {\n return getMovementAnnouncement('onDragOver', active.id, over?.id);\n },\n onDragStart({ active }) {\n return `Picked up ${active.id}.`;\n },\n };\n /* ------------------------------ Visual ------------------------------ */\n function getTrailList() {\n const trails: Record<\n UniqueIdentifier,\n ('none' | 'straight' | 'straight-curved' | 'curved')[]\n > = {};\n // Loop through the items in reverse\n [...flattenedAndRemovedCollapsedItemsWithActive]\n .reverse()\n .forEach((item, itemIndex, reversedList) => {\n const trailList: (\n | 'none'\n | 'straight'\n | 'straight-curved'\n | 'curved'\n )[] = [];\n const nextItem = reversedList[itemIndex - 1];\n // Loop through the depth of the item\n\n for (let trailDepth = 0; trailDepth < item.depth; trailDepth++) {\n // Not closest to the item so should be straight or none\n if (trailDepth < item.depth - 1) {\n if (nextItem === undefined) {\n trailList.push('none');\n continue;\n } else if (trails[nextItem?.id][trailDepth] === 'none') {\n trailList.push('none');\n continue;\n } else if (nextItem && nextItem.depth <= trailDepth) {\n trailList.push('none');\n continue;\n }\n trailList.push('straight');\n } else {\n if (\n (nextItem && trails[nextItem?.id][trailDepth] === 'none') ||\n nextItem === undefined ||\n nextItem.depth <= trailDepth\n ) {\n trailList.push('curved');\n } else {\n trailList.push('straight-curved');\n }\n }\n }\n trails[item.id] = trailList;\n });\n return trails;\n }\n\n const measuring = {\n droppable: {\n strategy: MeasuringStrategy.Always,\n },\n };\n\n const trails = getTrailList();\n const rowIdWithFocus =\n focusedRowId ?? flattenedAndRemovedCollapsedItemsWithActive[0]?.id;\n return (\n <DndContext\n accessibility={{ announcements }}\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n onDragMove={handleDragMove}\n onDragOver={handleDragOver}\n onDragCancel={handleDragCancel}\n measuring={measuring}\n >\n <SortableContext\n items={flattenedAndRemovedCollapsedItemsWithActive.map(\n (item) => item.id,\n )}\n strategy={verticalListSortingStrategy}\n >\n <ol\n className=\"ndl-tree-view-list\"\n role=\"tree\"\n aria-multiselectable={hasSelectableItems ? true : undefined}\n {...restProps}\n {...htmlAttributes}\n >\n {flattenedAndRemovedCollapsedItemsWithActive.map((item) => (\n <SortableTreeViewItem<T, E>\n key={item.id}\n depth={\n item.id === activeId && projected ? projected.depth : item.depth\n }\n indentationWidth={indentationWidth}\n item={item}\n isLast={false}\n parent={\n flattenItems.find(\n (flatItem) => flatItem.id === item.parentId,\n ) ?? null\n }\n id={item.id}\n trails={trails[item.id]}\n keepGhostInPlace={item.id === ACTIVE_PLACEHOLDER_ID}\n TreeItemComponent={\n TreeItemComponent === undefined\n ? (TreeViewTextItem as TreeItemComponent<T, E>)\n : TreeItemComponent\n }\n onCollapse={() => handleToggleCollapse(item.id)}\n onItemsChanged={(newItems, itemChangedReason) =>\n onItemsChanged(buildTree(newItems), itemChangedReason)\n }\n items={flattenItems}\n ariaLevel={\n item.id === ACTIVE_PLACEHOLDER_ID ? undefined : item.depth + 1\n }\n ariaPosInSet={\n item.id === ACTIVE_PLACEHOLDER_ID\n ? undefined\n : itemAriaData[item.id]?.posInSet\n }\n ariaSetSize={\n item.id === ACTIVE_PLACEHOLDER_ID\n ? undefined\n : itemAriaData[item.id]?.setSize\n }\n tabIndex={item.id === rowIdWithFocus ? 0 : -1}\n onFocus={() => setFocusedRowId(item.id)}\n shouldDisableSorting={item.isSortable === false}\n />\n ))}\n </ol>\n {/* Portal is used to show the item the user drags */}\n {createPortal(\n <DragOverlay dropAnimation={dropAnimationConfig}></DragOverlay>,\n document.body,\n )}\n </SortableContext>\n </DndContext>\n );\n};\n\nconst TreeViewComponents = {\n SortableTreeViewItem,\n TreeItemWrapper,\n TreeViewTextItem,\n};\n\nexport const TreeView = Object.assign(TreeViewComponent, TreeViewComponents);\n"]}
1
+ {"version":3,"file":"TreeView.js","sourceRoot":"","sources":["../../../src/tree-view/TreeView.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport {\n type Announcements,\n closestCenter,\n defaultDropAnimation,\n DndContext,\n type DragEndEvent,\n type DragMoveEvent,\n type DragOverEvent,\n DragOverlay,\n type DragStartEvent,\n type DropAnimation,\n KeyboardSensor,\n MeasuringStrategy,\n PointerSensor,\n type UniqueIdentifier,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable';\nimport type React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { type HtmlAttributes } from '../_common/types';\nimport { sortableTreeKeyboardCoordinates } from './tree-view-keyboard-coordinates';\nimport {\n type FlattenedTreeItem,\n type ItemChangedReason,\n type TreeItem,\n type TreeItemComponent,\n} from './tree-view-types';\nimport {\n buildTree,\n flattenTree,\n getProjection,\n removeChildrenOf,\n type SensorContext,\n transformToString,\n} from './tree-view-utils';\nimport { TreeItemWrapper } from './TreeItemWrapper';\nimport { SortableTreeViewItem } from './TreeViewItem';\nimport { TreeViewTextItem } from './TreeViewTextItem';\n\nconst indentationWidth = 20;\nconst ACTIVE_PLACEHOLDER_ID = 'ndl-active-tree-item';\n\nconst dropAnimationConfig: DropAnimation = {\n easing: 'ease-out',\n keyframes({ transform }) {\n return [\n {\n opacity: 1,\n transform: transformToString(transform.initial),\n },\n {\n opacity: 0,\n transform: transformToString({\n ...transform.final,\n // oxlint-disable-next-line id-length\n y: transform.final.y + 5,\n // oxlint-disable-next-line id-length\n x: transform.final.x + 5,\n }),\n },\n ];\n },\n sideEffects({ active }) {\n active.node.animate([{ opacity: 0 }, { opacity: 1 }], {\n duration: defaultDropAnimation.duration,\n easing: defaultDropAnimation.easing,\n });\n },\n};\n\nexport interface TreeViewProps<\n T extends Record<string, unknown>,\n E extends HTMLElement,\n> extends React.HTMLAttributes<HTMLOListElement> {\n /** The items to be displayed in the tree view */\n items: TreeItem<T>[];\n /** A function that is called when the items in the tree view change */\n onItemsChanged: (\n newItems: TreeItem<T>[],\n itemChangedReason: ItemChangedReason<T>,\n ) => void;\n /** The component to use for the tree items, if not provided the default component will be used */\n TreeItemComponent?: TreeItemComponent<T, E>;\n /** HTML attributes */\n htmlAttributes?: HtmlAttributes<'ol'>;\n}\n\nconst TreeViewComponent = function TreeView<\n T extends Record<string, unknown>,\n E extends HTMLElement,\n>({\n items,\n TreeItemComponent,\n onItemsChanged,\n htmlAttributes,\n ...restProps\n}: TreeViewProps<T, E>) {\n const flattenItems = useMemo(() => flattenTree(items), [items]);\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n const [overId, setOverId] = useState<UniqueIdentifier | null>(null);\n const [focusedRowId, setFocusedRowId] = useState<UniqueIdentifier | null>(\n null,\n );\n\n const [currentPosition, setCurrentPosition] = useState<{\n parentId: UniqueIdentifier | null;\n overId: UniqueIdentifier;\n } | null>(null);\n const [offsetLeft, setOffsetLeft] = useState(0);\n\n /* ------------------------------ Setup of Data ------------------------------ */\n\n const flattenedAndRemovedCollapsedItems = useMemo(() => {\n const collapsedItemsIds = flattenItems\n .filter((item) => item.canHaveSubItems && item.isCollapsed)\n .map((item) => item.id);\n\n return removeChildrenOf(\n [...flattenItems],\n activeId !== null ? [activeId, ...collapsedItemsIds] : collapsedItemsIds,\n );\n }, [activeId, flattenItems]);\n\n const activeItem = useMemo(\n () => (activeId ? flattenItems.find(({ id }) => id === activeId) : null),\n [activeId, flattenItems],\n );\n\n const flattenedAndRemovedCollapsedItemsWithActive = useMemo(() => {\n const collapsedItems = flattenItems.reduce<UniqueIdentifier[]>(\n (acc, item) => {\n if (item.canHaveSubItems && item.isCollapsed) {\n return [...acc, item.id];\n }\n return acc;\n },\n [],\n );\n\n const ItemsWithCollapsedRemoved = removeChildrenOf(\n flattenItems,\n activeId ? [activeId, ...collapsedItems] : collapsedItems,\n );\n const newArray: FlattenedTreeItem<T>[] = [];\n for (const item of ItemsWithCollapsedRemoved) {\n newArray.push(item);\n if (item.id === activeId) {\n newArray.push({\n ...item,\n id: ACTIVE_PLACEHOLDER_ID,\n });\n }\n }\n\n return newArray;\n }, [flattenItems, activeId]);\n\n if (activeItem?.canHaveSubItems && !activeItem?.isCollapsed) {\n flattenedAndRemovedCollapsedItems.push({\n ...activeItem,\n id: ACTIVE_PLACEHOLDER_ID,\n });\n }\n\n const sensorContext: SensorContext<T> = useRef({\n items: flattenedAndRemovedCollapsedItemsWithActive,\n offset: offsetLeft,\n });\n\n const coordinateGetter = useMemo(() => {\n sensorContext.current.items = flattenedAndRemovedCollapsedItemsWithActive;\n sensorContext.current.offset = offsetLeft;\n\n return sortableTreeKeyboardCoordinates<T>(\n sensorContext,\n true,\n indentationWidth,\n );\n }, [flattenedAndRemovedCollapsedItemsWithActive, offsetLeft]);\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: coordinateGetter,\n }),\n );\n\n const projected = useMemo(\n () =>\n activeId && overId\n ? getProjection(\n flattenedAndRemovedCollapsedItemsWithActive,\n activeId,\n overId,\n offsetLeft,\n indentationWidth,\n )\n : null,\n [activeId, overId, flattenedAndRemovedCollapsedItemsWithActive, offsetLeft],\n );\n\n const hasSelectableItems = useMemo(\n () => flattenItems.some((item) => item.isSelected !== undefined),\n [flattenItems],\n );\n\n const itemAriaData = useMemo(() => {\n const visibleItems = flattenedAndRemovedCollapsedItemsWithActive.filter(\n (item) => item.id !== ACTIVE_PLACEHOLDER_ID,\n );\n\n return visibleItems.reduce<\n Record<UniqueIdentifier, { posInSet: number; setSize: number }>\n >((acc, item) => {\n const siblings = visibleItems.filter(\n (sibling) => sibling.parentId === item.parentId,\n );\n\n acc[item.id] = {\n posInSet: siblings.findIndex((sibling) => sibling.id === item.id) + 1,\n setSize: siblings.length,\n };\n\n return acc;\n }, {});\n }, [flattenedAndRemovedCollapsedItemsWithActive]);\n\n /* ------------------------------ Handlers ------------------------------ */\n function handleDragStart({ active }: DragStartEvent) {\n const activeId = active.id;\n setActiveId(activeId);\n setOverId(activeId);\n\n const activeItem = flattenItems.find(({ id }) => id === activeId);\n if (activeItem) {\n setCurrentPosition({\n overId: activeId,\n parentId: activeItem.parentId,\n });\n }\n\n document.body.style.setProperty('cursor', 'grabbing');\n }\n\n function handleDragMove({ delta }: DragMoveEvent) {\n setOffsetLeft(delta.x);\n }\n\n function handleDragOver({ over }: DragOverEvent) {\n setOverId(over?.id ?? null);\n }\n\n function resetState() {\n setOverId(null);\n setActiveId(null);\n setOffsetLeft(0);\n setCurrentPosition(null);\n\n document.body.style.setProperty('cursor', '');\n }\n\n const handleDragEnd = useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event;\n resetState();\n let overIndex = flattenItems.findIndex((item) => item.id === over?.id);\n\n if (over?.id === ACTIVE_PLACEHOLDER_ID) {\n overIndex = flattenItems.findIndex((item) => item.id === active.id);\n }\n if (projected && over) {\n const { depth, parentId } = projected;\n const clonedItems: FlattenedTreeItem<T>[] = [...flattenItems];\n\n const parentIndex = clonedItems.findIndex(\n (item) => item.id === parentId,\n );\n const activeIndex = clonedItems.findIndex(({ id }) => id === active.id);\n const activeTreeItem = clonedItems[activeIndex];\n\n clonedItems[activeIndex] = { ...activeTreeItem, depth, parentId };\n const parentItem = clonedItems[parentIndex];\n if (parentItem && parentItem.canHaveSubItems) {\n clonedItems[parentIndex] = { ...parentItem, isCollapsed: false };\n }\n const newItems = buildTree(\n arrayMove(clonedItems, activeIndex, overIndex),\n );\n\n onItemsChanged(newItems, {\n item: activeTreeItem,\n reason: 'dropped',\n });\n }\n },\n [flattenItems, onItemsChanged, projected],\n );\n\n function handleToggleCollapse(id: UniqueIdentifier) {\n const item = flattenItems.find((item) => item.id === id);\n if (!item || item.canHaveSubItems !== true) {\n return;\n }\n\n onItemsChanged(\n buildTree(\n flattenItems.map((item) => {\n if (item.id === id && item.canHaveSubItems === true) {\n return { ...item, isCollapsed: !item.isCollapsed };\n }\n return item;\n }),\n ),\n {\n item,\n reason: item.isCollapsed ? 'expanded' : 'collapsed',\n },\n );\n }\n\n function handleDragCancel() {\n resetState();\n }\n\n /* ------------------------------ Keyboard functions ------------------------------ */\n const getMovementAnnouncement = (\n eventName: string,\n activeId: UniqueIdentifier,\n overId?: UniqueIdentifier,\n ) => {\n if (overId && projected) {\n if (eventName !== 'onDragEnd') {\n if (\n currentPosition &&\n projected.parentId === currentPosition.parentId &&\n overId === currentPosition.overId\n ) {\n return;\n } else {\n setCurrentPosition({\n overId,\n parentId: projected.parentId,\n });\n }\n }\n\n const clonedItems: FlattenedTreeItem<T>[] = [\n ...flattenedAndRemovedCollapsedItemsWithActive,\n ];\n const overIndex = clonedItems.findIndex(({ id }) => id === overId);\n const activeIndex = clonedItems.findIndex(({ id }) => id === activeId);\n const sortedItems = arrayMove(clonedItems, activeIndex, overIndex);\n\n const previousItem = sortedItems[overIndex - 1];\n\n let announcement;\n const movedVerb = eventName === 'onDragEnd' ? 'dropped' : 'moved';\n const nestedVerb = eventName === 'onDragEnd' ? 'dropped' : 'nested';\n\n if (!previousItem) {\n const nextItem = sortedItems[overIndex + 1];\n announcement = `${activeId} was ${movedVerb} before ${nextItem.id}.`;\n } else {\n if (projected.depth > previousItem.depth) {\n announcement = `${activeId} was ${nestedVerb} under ${previousItem.id}.`;\n } else {\n let previousSibling: FlattenedTreeItem<T> | undefined = previousItem;\n while (previousSibling && projected.depth < previousSibling.depth) {\n const parentId: UniqueIdentifier | null = previousSibling.parentId;\n previousSibling = sortedItems.find(({ id }) => id === parentId);\n }\n\n if (previousSibling) {\n announcement = `${activeId} was ${movedVerb} after ${previousSibling.id}.`;\n }\n }\n }\n\n return announcement;\n }\n\n return;\n };\n\n const announcements: Announcements = {\n onDragCancel({ active }) {\n return `Moving was cancelled. ${active.id} was dropped in its original position.`;\n },\n onDragEnd({ active, over }) {\n return getMovementAnnouncement('onDragEnd', active.id, over?.id);\n },\n onDragMove({ active, over }) {\n return getMovementAnnouncement('onDragMove', active.id, over?.id);\n },\n onDragOver({ active, over }) {\n return getMovementAnnouncement('onDragOver', active.id, over?.id);\n },\n onDragStart({ active }) {\n return `Picked up ${active.id}.`;\n },\n };\n /* ------------------------------ Visual ------------------------------ */\n function getTrailList() {\n const trails: Record<\n UniqueIdentifier,\n ('none' | 'straight' | 'straight-curved' | 'curved')[]\n > = {};\n // Loop through the items in reverse\n [...flattenedAndRemovedCollapsedItemsWithActive]\n .reverse()\n .forEach((item, itemIndex, reversedList) => {\n const trailList: (\n | 'none'\n | 'straight'\n | 'straight-curved'\n | 'curved'\n )[] = [];\n const nextItem = reversedList[itemIndex - 1];\n // Loop through the depth of the item\n\n for (let trailDepth = 0; trailDepth < item.depth; trailDepth++) {\n // Not closest to the item so should be straight or none\n if (trailDepth < item.depth - 1) {\n if (nextItem === undefined) {\n trailList.push('none');\n continue;\n } else if (trails[nextItem?.id][trailDepth] === 'none') {\n trailList.push('none');\n continue;\n } else if (nextItem && nextItem.depth <= trailDepth) {\n trailList.push('none');\n continue;\n }\n trailList.push('straight');\n } else {\n if (\n (nextItem && trails[nextItem?.id][trailDepth] === 'none') ||\n nextItem === undefined ||\n nextItem.depth <= trailDepth\n ) {\n trailList.push('curved');\n } else {\n trailList.push('straight-curved');\n }\n }\n }\n trails[item.id] = trailList;\n });\n return trails;\n }\n\n const measuring = {\n droppable: {\n strategy: MeasuringStrategy.Always,\n },\n };\n\n const trails = getTrailList();\n const rowIdWithFocus =\n focusedRowId ?? flattenedAndRemovedCollapsedItemsWithActive[0]?.id;\n return (\n <DndContext\n accessibility={{ announcements }}\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n onDragMove={handleDragMove}\n onDragOver={handleDragOver}\n onDragCancel={handleDragCancel}\n measuring={measuring}\n >\n <SortableContext\n items={flattenedAndRemovedCollapsedItemsWithActive.map(\n (item) => item.id,\n )}\n strategy={verticalListSortingStrategy}\n >\n <ol\n className=\"ndl-tree-view-list\"\n role=\"tree\"\n aria-multiselectable={hasSelectableItems ? true : undefined}\n {...restProps}\n {...htmlAttributes}\n >\n {flattenedAndRemovedCollapsedItemsWithActive.map((item) => (\n <SortableTreeViewItem<T, E>\n key={item.id}\n depth={\n item.id === activeId && projected ? projected.depth : item.depth\n }\n indentationWidth={indentationWidth}\n item={item}\n isLast={false}\n parent={\n flattenItems.find(\n (flatItem) => flatItem.id === item.parentId,\n ) ?? null\n }\n id={item.id}\n trails={trails[item.id]}\n keepGhostInPlace={item.id === ACTIVE_PLACEHOLDER_ID}\n TreeItemComponent={\n TreeItemComponent === undefined\n ? (TreeViewTextItem as TreeItemComponent<T, E>)\n : TreeItemComponent\n }\n onCollapse={() => handleToggleCollapse(item.id)}\n onItemsChanged={(newItems, itemChangedReason) =>\n onItemsChanged(buildTree(newItems), itemChangedReason)\n }\n items={flattenItems}\n ariaLevel={\n item.id === ACTIVE_PLACEHOLDER_ID ? undefined : item.depth + 1\n }\n ariaPosInSet={\n item.id === ACTIVE_PLACEHOLDER_ID\n ? undefined\n : itemAriaData[item.id]?.posInSet\n }\n ariaSetSize={\n item.id === ACTIVE_PLACEHOLDER_ID\n ? undefined\n : itemAriaData[item.id]?.setSize\n }\n tabIndex={item.id === rowIdWithFocus ? 0 : -1}\n onFocus={() => setFocusedRowId(item.id)}\n shouldDisableSorting={item.isSortable === false}\n />\n ))}\n </ol>\n {/* Portal is used to show the item the user drags */}\n {createPortal(\n <DragOverlay dropAnimation={dropAnimationConfig}></DragOverlay>,\n document.body,\n )}\n </SortableContext>\n </DndContext>\n );\n};\n\nconst TreeViewComponents = {\n SortableTreeViewItem,\n TreeItemWrapper,\n TreeViewTextItem,\n};\n\n/**\n * @deprecated Use `TreeView` from `@neo4j-ndl/react/next` instead. This component is no longer maintained.\n */\nexport const TreeView = Object.assign(TreeViewComponent, TreeViewComponents);\n"]}