@neo4j-ndl/react 4.25.10 → 5.0.0-alpha.0.b2b2481

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 (1181) 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/switch/stories/switch-disabled.story.js +1 -1
  378. package/lib/cjs/switch/stories/switch-disabled.story.js.map +1 -1
  379. package/lib/cjs/tabs/Tabs.js +2 -2
  380. package/lib/cjs/tabs/Tabs.js.map +1 -1
  381. package/lib/cjs/tabs/stories/tabs-badge.story.js +1 -1
  382. package/lib/cjs/tabs/stories/tabs-badge.story.js.map +1 -1
  383. package/lib/cjs/tabs/stories/tabs-default.story.js +1 -1
  384. package/lib/cjs/tabs/stories/tabs-default.story.js.map +1 -1
  385. package/lib/cjs/tabs/stories/tabs-disabled.story.js +1 -1
  386. package/lib/cjs/tabs/stories/tabs-disabled.story.js.map +1 -1
  387. package/lib/cjs/tabs/stories/tabs-fill-variants.story.js +1 -1
  388. package/lib/cjs/tabs/stories/tabs-fill-variants.story.js.map +1 -1
  389. package/lib/cjs/tabs/stories/tabs-overflow.story.js +1 -1
  390. package/lib/cjs/tabs/stories/tabs-overflow.story.js.map +1 -1
  391. package/lib/cjs/tabs/stories/tabs-sizes.story.js +1 -1
  392. package/lib/cjs/tabs/stories/tabs-sizes.story.js.map +1 -1
  393. package/lib/cjs/tabs/stories/tabs-with-icons.story.js +1 -1
  394. package/lib/cjs/tabs/stories/tabs-with-icons.story.js.map +1 -1
  395. package/lib/cjs/tag/stories/tag-sizes.story.js +1 -1
  396. package/lib/cjs/tag/stories/tag-sizes.story.js.map +1 -1
  397. package/lib/cjs/tag/stories/tag-types.story.js +1 -1
  398. package/lib/cjs/tag/stories/tag-types.story.js.map +1 -1
  399. package/lib/cjs/tag-base/stories/tag-variants.story.js +1 -1
  400. package/lib/cjs/tag-base/stories/tag-variants.story.js.map +1 -1
  401. package/lib/cjs/text-area/stories/text-area-sizes.story.js +1 -1
  402. package/lib/cjs/text-area/stories/text-area-sizes.story.js.map +1 -1
  403. package/lib/cjs/text-input/TextInput.js.map +1 -1
  404. package/lib/cjs/text-input/stories/text-input-loading-spinner.story.js +1 -1
  405. package/lib/cjs/text-input/stories/text-input-loading-spinner.story.js.map +1 -1
  406. package/lib/cjs/text-input/stories/text-input-optional.story.js +1 -1
  407. package/lib/cjs/text-input/stories/text-input-optional.story.js.map +1 -1
  408. package/lib/cjs/text-input/stories/text-input-sizes.story.js +1 -1
  409. package/lib/cjs/text-input/stories/text-input-sizes.story.js.map +1 -1
  410. package/lib/cjs/text-link/TextLink.js +2 -6
  411. package/lib/cjs/text-link/TextLink.js.map +1 -1
  412. package/lib/cjs/text-link/stories/index.js +5 -17
  413. package/lib/cjs/text-link/stories/index.js.map +1 -1
  414. package/lib/cjs/text-link/stories/text-link-external.story.js +1 -1
  415. package/lib/cjs/text-link/stories/text-link-external.story.js.map +1 -1
  416. package/lib/cjs/text-link/stories/{text-link-internal-underline.story.js → text-link-internal.story.js} +2 -2
  417. package/lib/cjs/text-link/stories/text-link-internal.story.js.map +1 -0
  418. package/lib/cjs/time-picker/stories/time-picker-in-popover-dialog.story.js +1 -1
  419. package/lib/cjs/time-picker/stories/time-picker-in-popover-dialog.story.js.map +1 -1
  420. package/lib/cjs/timezone-picker/stories/timezone-picker-in-dialog.story.js +1 -1
  421. package/lib/cjs/timezone-picker/stories/timezone-picker-in-dialog.story.js.map +1 -1
  422. package/lib/cjs/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js +1 -1
  423. package/lib/cjs/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js.map +1 -1
  424. package/lib/cjs/toast/stories/toast-action-story.js +1 -1
  425. package/lib/cjs/toast/stories/toast-action-story.js.map +1 -1
  426. package/lib/cjs/toast/stories/toast-closeable-story.js +1 -1
  427. package/lib/cjs/toast/stories/toast-closeable-story.js.map +1 -1
  428. package/lib/cjs/toast/stories/toast-controlled-story.js +1 -1
  429. package/lib/cjs/toast/stories/toast-controlled-story.js.map +1 -1
  430. package/lib/cjs/toast/stories/toast-custom-story.js +1 -1
  431. package/lib/cjs/toast/stories/toast-custom-story.js.map +1 -1
  432. package/lib/cjs/toast/stories/toast-danger-story.js +1 -1
  433. package/lib/cjs/toast/stories/toast-danger-story.js.map +1 -1
  434. package/lib/cjs/toast/stories/toast-neutral-story.js +1 -1
  435. package/lib/cjs/toast/stories/toast-neutral-story.js.map +1 -1
  436. package/lib/cjs/toast/stories/toast-progress-bar.js +1 -1
  437. package/lib/cjs/toast/stories/toast-progress-bar.js.map +1 -1
  438. package/lib/cjs/toast/stories/toast-success-story.js +1 -1
  439. package/lib/cjs/toast/stories/toast-success-story.js.map +1 -1
  440. package/lib/cjs/tooltip/Tooltip.js.map +1 -1
  441. package/lib/cjs/tooltip/stories/tooltip-in-dialog.story.js +1 -1
  442. package/lib/cjs/tooltip/stories/tooltip-in-dialog.story.js.map +1 -1
  443. package/lib/cjs/tooltip/stories/tooltip-placements.story.js +1 -1
  444. package/lib/cjs/tooltip/stories/tooltip-placements.story.js.map +1 -1
  445. package/lib/cjs/tooltip/use-tooltip.js.map +1 -1
  446. package/lib/cjs/tree-view/TreeView.js +3 -0
  447. package/lib/cjs/tree-view/TreeView.js.map +1 -1
  448. package/lib/cjs/tree-view/TreeViewItem.js.map +1 -1
  449. package/lib/cjs/tree-view/stories/treeview-custom.story.js +2 -2
  450. package/lib/cjs/tree-view/stories/treeview-custom.story.js.map +1 -1
  451. package/lib/cjs/tree-view/tree-view-utils.js.map +1 -1
  452. package/lib/cjs/typography/Typography.js +7 -1
  453. package/lib/cjs/typography/Typography.js.map +1 -1
  454. package/lib/esm/_generated/style-rules/index.js +1 -1
  455. package/lib/esm/_generated/style-rules/index.js.map +1 -1
  456. package/lib/esm/_generated/style-rules/literal-guards.js +45 -0
  457. package/lib/esm/_generated/style-rules/literal-guards.js.map +1 -0
  458. package/lib/esm/_generated/style-rules/literal-schemas.js +6 -18
  459. package/lib/esm/_generated/style-rules/literal-schemas.js.map +1 -1
  460. package/lib/esm/{text-overflow/index.js → _generated/style-rules/literal-types.js} +8 -2
  461. package/lib/esm/_generated/style-rules/literal-types.js.map +1 -0
  462. package/lib/esm/_generated/style-rules/numeric-utils.js.map +1 -1
  463. package/lib/esm/_generated/style-rules/range-utils.js.map +1 -1
  464. package/lib/esm/ai/presence/stories/ai-presence-default.story.js +1 -1
  465. package/lib/esm/ai/presence/stories/ai-presence-default.story.js.map +1 -1
  466. package/lib/esm/ai/presence/stories/ai-presence-thinking.story.js +1 -1
  467. package/lib/esm/ai/presence/stories/ai-presence-thinking.story.js.map +1 -1
  468. package/lib/esm/ai/reasoning/Reasoning.js +1 -1
  469. package/lib/esm/ai/reasoning/Reasoning.js.map +1 -1
  470. package/lib/esm/ai/reasoning/stories/reasoning-full.story.js +1 -1
  471. package/lib/esm/ai/reasoning/stories/reasoning-full.story.js.map +1 -1
  472. package/lib/esm/ai/response/Response.js +1 -1
  473. package/lib/esm/ai/response/Response.js.map +1 -1
  474. package/lib/esm/ai/response/stories/response-full-example.story.js +3 -3
  475. package/lib/esm/ai/response/stories/response-full-example.story.js.map +1 -1
  476. package/lib/esm/ai/suggestion/stories/suggestion-sizes.story.js +1 -1
  477. package/lib/esm/ai/suggestion/stories/suggestion-sizes.story.js.map +1 -1
  478. package/lib/esm/ai/user-bubble/stories/user-bubble-and-files.story.js +1 -1
  479. package/lib/esm/ai/user-bubble/stories/user-bubble-and-files.story.js.map +1 -1
  480. package/lib/esm/announcement-banner/stories/announcement-banner-custom-icons.story.js +1 -1
  481. package/lib/esm/announcement-banner/stories/announcement-banner-custom-icons.story.js.map +1 -1
  482. package/lib/esm/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js +1 -1
  483. package/lib/esm/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js.map +1 -1
  484. package/lib/esm/announcement-banner/stories/announcement-banner-injected-urgent.story.js +1 -1
  485. package/lib/esm/announcement-banner/stories/announcement-banner-injected-urgent.story.js.map +1 -1
  486. package/lib/esm/announcement-banner/stories/announcement-banner-present-at-page-render.story.js +1 -1
  487. package/lib/esm/announcement-banner/stories/announcement-banner-present-at-page-render.story.js.map +1 -1
  488. package/lib/esm/announcement-banner/stories/announcement-banner-variants.story.js +1 -1
  489. package/lib/esm/announcement-banner/stories/announcement-banner-variants.story.js.map +1 -1
  490. package/lib/esm/announcement-banner/stories/announcement-banner-with-page-content.story.js +1 -1
  491. package/lib/esm/announcement-banner/stories/announcement-banner-with-page-content.story.js.map +1 -1
  492. package/lib/esm/avatar/stories/avatar-custom-icon.story.js +1 -1
  493. package/lib/esm/avatar/stories/avatar-custom-icon.story.js.map +1 -1
  494. package/lib/esm/avatar/stories/avatar-shapes.story.js +1 -1
  495. package/lib/esm/avatar/stories/avatar-shapes.story.js.map +1 -1
  496. package/lib/esm/avatar/stories/avatar-sizes.story.js +1 -1
  497. package/lib/esm/avatar/stories/avatar-sizes.story.js.map +1 -1
  498. package/lib/esm/avatar/stories/avatar-statuses.story.js +1 -1
  499. package/lib/esm/avatar/stories/avatar-statuses.story.js.map +1 -1
  500. package/lib/esm/avatar/stories/avatar-types.story.js +1 -1
  501. package/lib/esm/avatar/stories/avatar-types.story.js.map +1 -1
  502. package/lib/esm/banner/stories/banner-variants.story.js +1 -1
  503. package/lib/esm/banner/stories/banner-variants.story.js.map +1 -1
  504. package/lib/esm/banner/stories/banner-with-icons.story.js +1 -1
  505. package/lib/esm/banner/stories/banner-with-icons.story.js.map +1 -1
  506. package/lib/esm/breadcrumbs/stories/breadcrumbs-header.story.js +1 -1
  507. package/lib/esm/breadcrumbs/stories/breadcrumbs-header.story.js.map +1 -1
  508. package/lib/esm/button/ButtonBase.js +1 -3
  509. package/lib/esm/button/ButtonBase.js.map +1 -1
  510. package/lib/esm/button/stories/button-sizes.story.js +1 -1
  511. package/lib/esm/button/stories/button-sizes.story.js.map +1 -1
  512. package/lib/esm/button/stories/button-variants.story.js +1 -1
  513. package/lib/esm/button/stories/button-variants.story.js.map +1 -1
  514. package/lib/esm/checkbox/stories/checkbox-full.story.js +2 -2
  515. package/lib/esm/checkbox/stories/checkbox-full.story.js.map +1 -1
  516. package/lib/esm/clean-icon-button/stories/clean-icon-button-keyboard-display.story.js +1 -1
  517. package/lib/esm/clean-icon-button/stories/clean-icon-button-keyboard-display.story.js.map +1 -1
  518. package/lib/esm/clean-icon-button/stories/clean-icon-button-sizes.story.js +1 -1
  519. package/lib/esm/clean-icon-button/stories/clean-icon-button-sizes.story.js.map +1 -1
  520. package/lib/esm/clean-icon-button/stories/clean-icon-button-tone.story.js +1 -1
  521. package/lib/esm/clean-icon-button/stories/clean-icon-button-tone.story.js.map +1 -1
  522. package/lib/esm/clipboard-button/stories/clipboard-button-sizes.story.js +1 -1
  523. package/lib/esm/clipboard-button/stories/clipboard-button-sizes.story.js.map +1 -1
  524. package/lib/esm/code-block/CodeBlock.js +3 -7
  525. package/lib/esm/code-block/CodeBlock.js.map +1 -1
  526. package/lib/esm/code-block/stories/code-disabled.story.js +2 -2
  527. package/lib/esm/code-block/stories/code-disabled.story.js.map +1 -1
  528. package/lib/esm/code-block/stories/code-full.story.js +2 -2
  529. package/lib/esm/code-block/stories/code-full.story.js.map +1 -1
  530. package/lib/esm/code-block/stories/code-languages.story.js +1 -1
  531. package/lib/esm/code-block/stories/code-languages.story.js.map +1 -1
  532. package/lib/esm/code-block/stories/code-with-actions.story.js +2 -2
  533. package/lib/esm/code-block/stories/code-with-actions.story.js.map +1 -1
  534. package/lib/esm/color-picker/ColorPicker.js +0 -3
  535. package/lib/esm/color-picker/ColorPicker.js.map +1 -1
  536. package/lib/esm/color-picker/stories/color-picker-dialog.story.js +1 -1
  537. package/lib/esm/color-picker/stories/color-picker-dialog.story.js.map +1 -1
  538. package/lib/esm/color-picker/stories/color-picker-popover.story.js +1 -1
  539. package/lib/esm/color-picker/stories/color-picker-popover.story.js.map +1 -1
  540. package/lib/esm/combobox/stories/combobox-action-on-select.story.js +1 -1
  541. package/lib/esm/combobox/stories/combobox-action-on-select.story.js.map +1 -1
  542. package/lib/esm/combobox/stories/combobox-actions.story.js +1 -1
  543. package/lib/esm/combobox/stories/combobox-actions.story.js.map +1 -1
  544. package/lib/esm/combobox/stories/combobox-async.story.js +2 -2
  545. package/lib/esm/combobox/stories/combobox-async.story.js.map +1 -1
  546. package/lib/esm/combobox/stories/combobox-disabled.story.js +1 -1
  547. package/lib/esm/combobox/stories/combobox-disabled.story.js.map +1 -1
  548. package/lib/esm/combobox/stories/combobox-fluid.story.js +1 -1
  549. package/lib/esm/combobox/stories/combobox-fluid.story.js.map +1 -1
  550. package/lib/esm/combobox/stories/combobox-hidden-label.story.js +1 -1
  551. package/lib/esm/combobox/stories/combobox-hidden-label.story.js.map +1 -1
  552. package/lib/esm/combobox/stories/combobox-in-popover-dialog.story.js +1 -1
  553. package/lib/esm/combobox/stories/combobox-in-popover-dialog.story.js.map +1 -1
  554. package/lib/esm/combobox/stories/combobox-in-popover.story.js +1 -1
  555. package/lib/esm/combobox/stories/combobox-in-popover.story.js.map +1 -1
  556. package/lib/esm/combobox/stories/combobox-native-form.story.js +1 -1
  557. package/lib/esm/combobox/stories/combobox-native-form.story.js.map +1 -1
  558. package/lib/esm/combobox/stories/combobox-sizes.story.js +1 -1
  559. package/lib/esm/combobox/stories/combobox-sizes.story.js.map +1 -1
  560. package/lib/esm/combobox/stories/combobox-validation.story.js +1 -1
  561. package/lib/esm/combobox/stories/combobox-validation.story.js.map +1 -1
  562. package/lib/esm/conditional-wrap/stories/conditional-wrap-default.story.js +1 -1
  563. package/lib/esm/conditional-wrap/stories/conditional-wrap-default.story.js.map +1 -1
  564. package/lib/esm/data-grid/stories/datagrid-compact-mode.story.js +1 -1
  565. package/lib/esm/data-grid/stories/datagrid-compact-mode.story.js.map +1 -1
  566. package/lib/esm/data-grid/stories/datagrid-component-overriding.story.js +2 -2
  567. package/lib/esm/data-grid/stories/datagrid-component-overriding.story.js.map +1 -1
  568. package/lib/esm/data-grid/stories/datagrid-custom-cell-with-style-rules.story.js +1 -1
  569. package/lib/esm/data-grid/stories/datagrid-custom-cell-with-style-rules.story.js.map +1 -1
  570. package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js +2 -2
  571. package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
  572. package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js +1 -1
  573. package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
  574. package/lib/esm/data-grid/stories/datagrid-kitchen-sink.story.js +1 -1
  575. package/lib/esm/data-grid/stories/datagrid-kitchen-sink.story.js.map +1 -1
  576. package/lib/esm/data-grid/stories/datagrid-percentage-width-columns.story.js +1 -1
  577. package/lib/esm/data-grid/stories/datagrid-percentage-width-columns.story.js.map +1 -1
  578. package/lib/esm/data-grid/stories/datagrid-pinned-columns.stories.js +3 -3
  579. package/lib/esm/data-grid/stories/datagrid-pinned-columns.stories.js.map +1 -1
  580. package/lib/esm/data-grid/stories/datagrid-placeholder-states.story.js +1 -1
  581. package/lib/esm/data-grid/stories/datagrid-placeholder-states.story.js.map +1 -1
  582. package/lib/esm/data-grid/stories/datagrid-resizable-column.story.js +1 -1
  583. package/lib/esm/data-grid/stories/datagrid-resizable-column.story.js.map +1 -1
  584. package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +1 -1
  585. package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
  586. package/lib/esm/data-grid/stories/datagrid-rule-based-styling.story.js +1 -1
  587. package/lib/esm/data-grid/stories/datagrid-rule-based-styling.story.js.map +1 -1
  588. package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js +5 -5
  589. package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
  590. package/lib/esm/data-grid/stories/datagrid-simple.story.js +1 -1
  591. package/lib/esm/data-grid/stories/datagrid-simple.story.js.map +1 -1
  592. package/lib/esm/data-grid/stories/datagrid-single-selectable.story.js +1 -1
  593. package/lib/esm/data-grid/stories/datagrid-single-selectable.story.js.map +1 -1
  594. package/lib/esm/data-grid/stories/datagrid-skeleton-loading.story.js +1 -1
  595. package/lib/esm/data-grid/stories/datagrid-skeleton-loading.story.js.map +1 -1
  596. package/lib/esm/data-grid/stories/datagrid-sortable.story.js +1 -1
  597. package/lib/esm/data-grid/stories/datagrid-sortable.story.js.map +1 -1
  598. package/lib/esm/data-grid/stories/datagrid-using-editable-cells.story.js +2 -2
  599. package/lib/esm/data-grid/stories/datagrid-using-editable-cells.story.js.map +1 -1
  600. package/lib/esm/data-grid/stories/datagrid-virtualization.story.js +3 -3
  601. package/lib/esm/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
  602. package/lib/esm/data-grid/style-rules/guard.js +43 -0
  603. package/lib/esm/data-grid/style-rules/guard.js.map +1 -0
  604. package/lib/esm/data-grid/style-rules/index.js +1 -3
  605. package/lib/esm/data-grid/style-rules/index.js.map +1 -1
  606. package/lib/esm/data-grid/style-rules/internal/schemas.js +210 -0
  607. package/lib/esm/data-grid/style-rules/internal/schemas.js.map +1 -0
  608. package/lib/esm/data-grid/style-rules/types.js +1 -203
  609. package/lib/esm/data-grid/style-rules/types.js.map +1 -1
  610. package/lib/esm/date-picker/DatePicker.js +8 -6
  611. package/lib/esm/date-picker/DatePicker.js.map +1 -1
  612. package/lib/esm/date-picker/stories/date-picker-in-dialog.story.js +1 -1
  613. package/lib/esm/date-picker/stories/date-picker-in-dialog.story.js.map +1 -1
  614. package/lib/esm/date-picker/stories/date-picker-in-popover-dialog.story.js +1 -1
  615. package/lib/esm/date-picker/stories/date-picker-in-popover-dialog.story.js.map +1 -1
  616. package/lib/esm/dialog/Dialog.js +1 -2
  617. package/lib/esm/dialog/Dialog.js.map +1 -1
  618. package/lib/esm/dialog/stories/dialog-danger.story.js +1 -1
  619. package/lib/esm/dialog/stories/dialog-danger.story.js.map +1 -1
  620. package/lib/esm/dialog/stories/dialog-default.story.js +1 -1
  621. package/lib/esm/dialog/stories/dialog-default.story.js.map +1 -1
  622. package/lib/esm/dialog/stories/dialog-image.story.js +1 -1
  623. package/lib/esm/dialog/stories/dialog-image.story.js.map +1 -1
  624. package/lib/esm/dialog/stories/dialog-info.story.js +1 -1
  625. package/lib/esm/dialog/stories/dialog-info.story.js.map +1 -1
  626. package/lib/esm/dialog/stories/dialog-top-aligned.story.js +2 -2
  627. package/lib/esm/dialog/stories/dialog-top-aligned.story.js.map +1 -1
  628. package/lib/esm/dialog/stories/dialog-variants.story.js +1 -1
  629. package/lib/esm/dialog/stories/dialog-variants.story.js.map +1 -1
  630. package/lib/esm/dialog/stories/dialog-warning.story.js +1 -1
  631. package/lib/esm/dialog/stories/dialog-warning.story.js.map +1 -1
  632. package/lib/esm/dismissible-tag/stories/dismissible-tag-colors.story.js +1 -1
  633. package/lib/esm/dismissible-tag/stories/dismissible-tag-colors.story.js.map +1 -1
  634. package/lib/esm/dismissible-tag/stories/dismissible-tag-sizes.story.js +1 -1
  635. package/lib/esm/dismissible-tag/stories/dismissible-tag-sizes.story.js.map +1 -1
  636. package/lib/esm/drawer/Drawer.js +7 -6
  637. package/lib/esm/drawer/Drawer.js.map +1 -1
  638. package/lib/esm/drawer/stories/drawer-full.story.js +2 -2
  639. package/lib/esm/drawer/stories/drawer-full.story.js.map +1 -1
  640. package/lib/esm/drawer/stories/drawer-not-closeable.story.js +2 -2
  641. package/lib/esm/drawer/stories/drawer-not-closeable.story.js.map +1 -1
  642. package/lib/esm/drawer/stories/drawer-overlay.story.js +1 -1
  643. package/lib/esm/drawer/stories/drawer-overlay.story.js.map +1 -1
  644. package/lib/esm/drawer/stories/drawer-portaled.story.js +2 -2
  645. package/lib/esm/drawer/stories/drawer-portaled.story.js.map +1 -1
  646. package/lib/esm/drawer/stories/drawer-push.story.js +2 -2
  647. package/lib/esm/drawer/stories/drawer-push.story.js.map +1 -1
  648. package/lib/esm/drawer/stories/drawer-resizable.story.js +2 -2
  649. package/lib/esm/drawer/stories/drawer-resizable.story.js.map +1 -1
  650. package/lib/esm/drawer/stories/drawer-right-side.story.js +2 -2
  651. package/lib/esm/drawer/stories/drawer-right-side.story.js.map +1 -1
  652. package/lib/esm/drawer/stories/drawer-scrollable.story.js +2 -2
  653. package/lib/esm/drawer/stories/drawer-scrollable.story.js.map +1 -1
  654. package/lib/esm/dropzone/stories/dropzone-full.story.js +3 -3
  655. package/lib/esm/dropzone/stories/dropzone-full.story.js.map +1 -1
  656. package/lib/esm/flex/stories/flex-default.story.js +1 -1
  657. package/lib/esm/flex/stories/flex-default.story.js.map +1 -1
  658. package/lib/esm/graph-label/stories/graph-label-color.story.js +1 -1
  659. package/lib/esm/graph-label/stories/graph-label-color.story.js.map +1 -1
  660. package/lib/esm/graph-label/stories/graph-label-sizes.story.js +1 -1
  661. package/lib/esm/graph-label/stories/graph-label-sizes.story.js.map +1 -1
  662. package/lib/esm/graph-label/stories/graph-label-types.story.js +1 -1
  663. package/lib/esm/graph-label/stories/graph-label-types.story.js.map +1 -1
  664. package/lib/esm/hooks/use-debounce-callback/index.js +6 -6
  665. package/lib/esm/hooks/use-debounce-callback/index.js.map +1 -1
  666. package/lib/esm/icon-button/stories/icon-button-sizes.story.js +1 -1
  667. package/lib/esm/icon-button/stories/icon-button-sizes.story.js.map +1 -1
  668. package/lib/esm/icon-button/stories/icon-button-tone.story.js +1 -1
  669. package/lib/esm/icon-button/stories/icon-button-tone.story.js.map +1 -1
  670. package/lib/esm/icon-button-array/stories/icon-button-array-sizes.story.js +1 -1
  671. package/lib/esm/icon-button-array/stories/icon-button-array-sizes.story.js.map +1 -1
  672. package/lib/esm/icon-button-base/IconButtonBase.js +1 -3
  673. package/lib/esm/icon-button-base/IconButtonBase.js.map +1 -1
  674. package/lib/esm/icons/generated/custom/index.js +0 -7
  675. package/lib/esm/icons/generated/custom/index.js.map +1 -1
  676. package/lib/esm/inline-edit/InlineEdit.js +3 -2
  677. package/lib/esm/inline-edit/InlineEdit.js.map +1 -1
  678. package/lib/esm/kbd/Kbd.js +0 -1
  679. package/lib/esm/kbd/Kbd.js.map +1 -1
  680. package/lib/esm/loading-spinner/stories/loading-spinner-sizes.story.js +1 -1
  681. package/lib/esm/loading-spinner/stories/loading-spinner-sizes.story.js.map +1 -1
  682. package/lib/esm/logo/stories/logo-black.story.js +1 -1
  683. package/lib/esm/logo/stories/logo-black.story.js.map +1 -1
  684. package/lib/esm/logo/stories/logo-default.story.js +1 -1
  685. package/lib/esm/logo/stories/logo-default.story.js.map +1 -1
  686. package/lib/esm/logo/stories/logo-icon.story.js +1 -1
  687. package/lib/esm/logo/stories/logo-icon.story.js.map +1 -1
  688. package/lib/esm/menu/Menu.js +2 -2
  689. package/lib/esm/menu/Menu.js.map +1 -1
  690. package/lib/esm/menu/menu-types.js.map +1 -1
  691. package/lib/esm/menu/stories/menu-custom-items.story.js +1 -1
  692. package/lib/esm/menu/stories/menu-custom-items.story.js.map +1 -1
  693. package/lib/esm/menu/stories/menu-in-dialog.story.js +2 -2
  694. package/lib/esm/menu/stories/menu-in-dialog.story.js.map +1 -1
  695. package/lib/esm/menu/stories/menu-nested.story.js +1 -1
  696. package/lib/esm/menu/stories/menu-nested.story.js.map +1 -1
  697. package/lib/esm/menu/stories/menu-radio-and-normal.story.js +1 -1
  698. package/lib/esm/menu/stories/menu-radio-and-normal.story.js.map +1 -1
  699. package/lib/esm/menu/stories/menu-radio-items.story.js +1 -1
  700. package/lib/esm/menu/stories/menu-radio-items.story.js.map +1 -1
  701. package/lib/esm/menu/stories/menu-with-icon.story.js +1 -1
  702. package/lib/esm/menu/stories/menu-with-icon.story.js.map +1 -1
  703. package/lib/esm/next/tree-view/TreeView.js +3 -3
  704. package/lib/esm/next/tree-view/TreeView.js.map +1 -1
  705. package/lib/esm/next/tree-view/stories/tree-view-large.story.js +1 -1
  706. package/lib/esm/next/tree-view/stories/tree-view-large.story.js.map +1 -1
  707. package/lib/esm/next/tree-view/stories/tree-view-multiple-replace.story.js +1 -1
  708. package/lib/esm/next/tree-view/stories/tree-view-multiple-replace.story.js.map +1 -1
  709. package/lib/esm/next/tree-view/stories/tree-view-root-selection.story.js +1 -1
  710. package/lib/esm/next/tree-view/stories/tree-view-root-selection.story.js.map +1 -1
  711. package/lib/esm/next/tree-view/stories/tree-view-tooltip.story.js +1 -1
  712. package/lib/esm/next/tree-view/stories/tree-view-tooltip.story.js.map +1 -1
  713. package/lib/esm/next/tree-view/stories/tree-view-trailing.story.js +1 -1
  714. package/lib/esm/next/tree-view/stories/tree-view-trailing.story.js.map +1 -1
  715. package/lib/esm/next/tree-view/stories/tree-view-uncontrolled.story.js +1 -1
  716. package/lib/esm/next/tree-view/stories/tree-view-uncontrolled.story.js.map +1 -1
  717. package/lib/esm/popover/Popover.js +6 -6
  718. package/lib/esm/popover/Popover.js.map +1 -1
  719. package/lib/esm/popover/stories/popover-controlled.story.js +1 -1
  720. package/lib/esm/popover/stories/popover-controlled.story.js.map +1 -1
  721. package/lib/esm/popover/stories/popover-custom-offset.story.js +1 -1
  722. package/lib/esm/popover/stories/popover-custom-offset.story.js.map +1 -1
  723. package/lib/esm/popover/stories/popover-default.story.js +1 -1
  724. package/lib/esm/popover/stories/popover-default.story.js.map +1 -1
  725. package/lib/esm/popover/stories/popover-in-dialog.story.js +1 -1
  726. package/lib/esm/popover/stories/popover-in-dialog.story.js.map +1 -1
  727. package/lib/esm/popover/stories/popover-no-button-wrapper.story.js +1 -1
  728. package/lib/esm/popover/stories/popover-no-button-wrapper.story.js.map +1 -1
  729. package/lib/esm/popover/stories/popover-separate-anchor.story.js +1 -1
  730. package/lib/esm/popover/stories/popover-separate-anchor.story.js.map +1 -1
  731. package/lib/esm/popover/use-popover.js +7 -9
  732. package/lib/esm/popover/use-popover.js.map +1 -1
  733. package/lib/esm/progress-bar/stories/progress-bar-sizes.story.js +1 -1
  734. package/lib/esm/progress-bar/stories/progress-bar-sizes.story.js.map +1 -1
  735. package/lib/esm/radio/stories/radio-disabled.story.js +1 -1
  736. package/lib/esm/radio/stories/radio-disabled.story.js.map +1 -1
  737. package/lib/esm/radio/stories/radio-truncated-label.story.js +1 -1
  738. package/lib/esm/radio/stories/radio-truncated-label.story.js.map +1 -1
  739. package/lib/esm/read-only-tag/stories/read-only-tag-colors.story.js +1 -1
  740. package/lib/esm/read-only-tag/stories/read-only-tag-colors.story.js.map +1 -1
  741. package/lib/esm/read-only-tag/stories/read-only-tag-sizes.story.js +1 -1
  742. package/lib/esm/read-only-tag/stories/read-only-tag-sizes.story.js.map +1 -1
  743. package/lib/esm/segmented-control/stories/segmented-control-sizes.story.js +1 -1
  744. package/lib/esm/segmented-control/stories/segmented-control-sizes.story.js.map +1 -1
  745. package/lib/esm/select/stories/select-controlled.story.js +1 -1
  746. package/lib/esm/select/stories/select-controlled.story.js.map +1 -1
  747. package/lib/esm/select/stories/select-custom-label.story.js +1 -1
  748. package/lib/esm/select/stories/select-custom-label.story.js.map +1 -1
  749. package/lib/esm/select/stories/select-inside-dialog.story.js +1 -1
  750. package/lib/esm/select/stories/select-inside-dialog.story.js.map +1 -1
  751. package/lib/esm/select/stories/select-menu-positionings.story.js +1 -1
  752. package/lib/esm/select/stories/select-menu-positionings.story.js.map +1 -1
  753. package/lib/esm/select/stories/select-required.story.js +1 -1
  754. package/lib/esm/select/stories/select-required.story.js.map +1 -1
  755. package/lib/esm/select/stories/select-sizes.story.js +1 -1
  756. package/lib/esm/select/stories/select-sizes.story.js.map +1 -1
  757. package/lib/esm/select-icon-button/stories/select-icon-button-sizes.story.js +1 -1
  758. package/lib/esm/select-icon-button/stories/select-icon-button-sizes.story.js.map +1 -1
  759. package/lib/esm/select-icon-button/stories/select-icon-button-states.story.js +1 -1
  760. package/lib/esm/select-icon-button/stories/select-icon-button-states.story.js.map +1 -1
  761. package/lib/esm/selectable-tag/stories/selectable-tag-disabled.story.js +1 -1
  762. package/lib/esm/selectable-tag/stories/selectable-tag-disabled.story.js.map +1 -1
  763. package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
  764. package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
  765. package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
  766. package/lib/esm/side-navigation/stories/side-nav-badges.story.js +2 -2
  767. package/lib/esm/side-navigation/stories/side-nav-badges.story.js.map +1 -1
  768. package/lib/esm/side-navigation/stories/side-nav-compact.story.js +1 -1
  769. package/lib/esm/side-navigation/stories/side-nav-compact.story.js.map +1 -1
  770. package/lib/esm/side-navigation/stories/side-nav-default.story.js +1 -1
  771. package/lib/esm/side-navigation/stories/side-nav-default.story.js.map +1 -1
  772. package/lib/esm/side-navigation/stories/side-nav-secondary.story.js +1 -1
  773. package/lib/esm/side-navigation/stories/side-nav-secondary.story.js.map +1 -1
  774. package/lib/esm/skeleton/stories/skeleton-circular.story.js +1 -1
  775. package/lib/esm/skeleton/stories/skeleton-circular.story.js.map +1 -1
  776. package/lib/esm/skeleton/stories/skeleton-default.story.js +1 -1
  777. package/lib/esm/skeleton/stories/skeleton-default.story.js.map +1 -1
  778. package/lib/esm/skeleton/stories/skeleton-full-example.story.js +1 -1
  779. package/lib/esm/skeleton/stories/skeleton-full-example.story.js.map +1 -1
  780. package/lib/esm/skeleton/stories/skeleton-inherit-height.story.js +1 -1
  781. package/lib/esm/skeleton/stories/skeleton-inherit-height.story.js.map +1 -1
  782. package/lib/esm/skeleton/stories/skeleton-inherit-width.story.js +1 -1
  783. package/lib/esm/skeleton/stories/skeleton-inherit-width.story.js.map +1 -1
  784. package/lib/esm/slider/Slider.js +3 -3
  785. package/lib/esm/slider/Slider.js.map +1 -1
  786. package/lib/esm/slider/stories/slider-custom-step-length.story.js +1 -1
  787. package/lib/esm/slider/stories/slider-custom-step-length.story.js.map +1 -1
  788. package/lib/esm/slider/stories/slider-range.story.js +1 -1
  789. package/lib/esm/slider/stories/slider-range.story.js.map +1 -1
  790. package/lib/esm/slider/stories/slider-show-steps.story.js +1 -1
  791. package/lib/esm/slider/stories/slider-show-steps.story.js.map +1 -1
  792. package/lib/esm/slider/stories/slider-show-values.story.js +1 -1
  793. package/lib/esm/slider/stories/slider-show-values.story.js.map +1 -1
  794. package/lib/esm/slider/stories/slider-single-controlled.story.js +2 -2
  795. package/lib/esm/slider/stories/slider-single-controlled.story.js.map +1 -1
  796. package/lib/esm/slider/stories/slider-single.story.js +1 -1
  797. package/lib/esm/slider/stories/slider-single.story.js.map +1 -1
  798. package/lib/esm/spotlight/Spotlight.js +3 -3
  799. package/lib/esm/spotlight/Spotlight.js.map +1 -1
  800. package/lib/esm/spotlight/SpotlightTarget.js +3 -3
  801. package/lib/esm/spotlight/SpotlightTarget.js.map +1 -1
  802. package/lib/esm/spotlight/stories/spotlight-fixed-positioning.story.js +1 -1
  803. package/lib/esm/spotlight/stories/spotlight-fixed-positioning.story.js.map +1 -1
  804. package/lib/esm/spotlight/stories/spotlight-in-dialog.story.js +1 -1
  805. package/lib/esm/spotlight/stories/spotlight-in-dialog.story.js.map +1 -1
  806. package/lib/esm/spotlight/stories/spotlight-in-side-nav.story.js +1 -1
  807. package/lib/esm/spotlight/stories/spotlight-in-side-nav.story.js.map +1 -1
  808. package/lib/esm/spotlight/stories/spotlight-on-tabs.story.js +1 -1
  809. package/lib/esm/spotlight/stories/spotlight-on-tabs.story.js.map +1 -1
  810. package/lib/esm/spotlight/stories/spotlight-tour.story.js +1 -1
  811. package/lib/esm/spotlight/stories/spotlight-tour.story.js.map +1 -1
  812. package/lib/esm/spotlight/stories/spotlight-with-icon.story.js +1 -1
  813. package/lib/esm/spotlight/stories/spotlight-with-icon.story.js.map +1 -1
  814. package/lib/esm/spotlight/stories/spotlight-with-image.story.js +1 -1
  815. package/lib/esm/spotlight/stories/spotlight-with-image.story.js.map +1 -1
  816. package/lib/esm/spotlight/stories/spotlight-with-label.story.js +1 -1
  817. package/lib/esm/spotlight/stories/spotlight-with-label.story.js.map +1 -1
  818. package/lib/esm/spotlight/stories/spotlight-with-pointer.story.js +1 -1
  819. package/lib/esm/spotlight/stories/spotlight-with-pointer.story.js.map +1 -1
  820. package/lib/esm/spotlight/use-spotlight.js +5 -5
  821. package/lib/esm/spotlight/use-spotlight.js.map +1 -1
  822. package/lib/esm/status-indicator/stories/status-indicator-variants.story.js +1 -1
  823. package/lib/esm/status-indicator/stories/status-indicator-variants.story.js.map +1 -1
  824. package/lib/esm/status-label/stories/status-label-colors.story.js +1 -1
  825. package/lib/esm/status-label/stories/status-label-colors.story.js.map +1 -1
  826. package/lib/esm/status-label/stories/status-label-fills.story.js +1 -1
  827. package/lib/esm/status-label/stories/status-label-fills.story.js.map +1 -1
  828. package/lib/esm/status-label/stories/status-label-with-icons.story.js +1 -1
  829. package/lib/esm/status-label/stories/status-label-with-icons.story.js.map +1 -1
  830. package/lib/esm/switch/stories/switch-disabled.story.js +1 -1
  831. package/lib/esm/switch/stories/switch-disabled.story.js.map +1 -1
  832. package/lib/esm/tabs/Tabs.js +2 -2
  833. package/lib/esm/tabs/Tabs.js.map +1 -1
  834. package/lib/esm/tabs/stories/tabs-badge.story.js +1 -1
  835. package/lib/esm/tabs/stories/tabs-badge.story.js.map +1 -1
  836. package/lib/esm/tabs/stories/tabs-default.story.js +1 -1
  837. package/lib/esm/tabs/stories/tabs-default.story.js.map +1 -1
  838. package/lib/esm/tabs/stories/tabs-disabled.story.js +1 -1
  839. package/lib/esm/tabs/stories/tabs-disabled.story.js.map +1 -1
  840. package/lib/esm/tabs/stories/tabs-fill-variants.story.js +1 -1
  841. package/lib/esm/tabs/stories/tabs-fill-variants.story.js.map +1 -1
  842. package/lib/esm/tabs/stories/tabs-overflow.story.js +1 -1
  843. package/lib/esm/tabs/stories/tabs-overflow.story.js.map +1 -1
  844. package/lib/esm/tabs/stories/tabs-sizes.story.js +1 -1
  845. package/lib/esm/tabs/stories/tabs-sizes.story.js.map +1 -1
  846. package/lib/esm/tabs/stories/tabs-with-icons.story.js +1 -1
  847. package/lib/esm/tabs/stories/tabs-with-icons.story.js.map +1 -1
  848. package/lib/esm/tag/stories/tag-sizes.story.js +1 -1
  849. package/lib/esm/tag/stories/tag-sizes.story.js.map +1 -1
  850. package/lib/esm/tag/stories/tag-types.story.js +1 -1
  851. package/lib/esm/tag/stories/tag-types.story.js.map +1 -1
  852. package/lib/esm/tag-base/stories/tag-variants.story.js +1 -1
  853. package/lib/esm/tag-base/stories/tag-variants.story.js.map +1 -1
  854. package/lib/esm/text-area/stories/text-area-sizes.story.js +1 -1
  855. package/lib/esm/text-area/stories/text-area-sizes.story.js.map +1 -1
  856. package/lib/esm/text-input/TextInput.js.map +1 -1
  857. package/lib/esm/text-input/stories/text-input-loading-spinner.story.js +1 -1
  858. package/lib/esm/text-input/stories/text-input-loading-spinner.story.js.map +1 -1
  859. package/lib/esm/text-input/stories/text-input-optional.story.js +1 -1
  860. package/lib/esm/text-input/stories/text-input-optional.story.js.map +1 -1
  861. package/lib/esm/text-input/stories/text-input-sizes.story.js +1 -1
  862. package/lib/esm/text-input/stories/text-input-sizes.story.js.map +1 -1
  863. package/lib/esm/text-link/TextLink.js +2 -6
  864. package/lib/esm/text-link/TextLink.js.map +1 -1
  865. package/lib/esm/text-link/stories/index.js +3 -12
  866. package/lib/esm/text-link/stories/index.js.map +1 -1
  867. package/lib/esm/text-link/stories/text-link-external.story.js +3 -3
  868. package/lib/esm/text-link/stories/text-link-external.story.js.map +1 -1
  869. package/lib/esm/text-link/stories/{text-link-internal-underline.story.js → text-link-internal.story.js} +2 -2
  870. package/lib/esm/text-link/stories/text-link-internal.story.js.map +1 -0
  871. package/lib/esm/time-picker/stories/time-picker-in-popover-dialog.story.js +1 -1
  872. package/lib/esm/time-picker/stories/time-picker-in-popover-dialog.story.js.map +1 -1
  873. package/lib/esm/timezone-picker/stories/timezone-picker-in-dialog.story.js +1 -1
  874. package/lib/esm/timezone-picker/stories/timezone-picker-in-dialog.story.js.map +1 -1
  875. package/lib/esm/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js +1 -1
  876. package/lib/esm/timezone-picker/stories/timezone-picker-in-popover-dialog.story.js.map +1 -1
  877. package/lib/esm/toast/stories/toast-action-story.js +1 -1
  878. package/lib/esm/toast/stories/toast-action-story.js.map +1 -1
  879. package/lib/esm/toast/stories/toast-closeable-story.js +1 -1
  880. package/lib/esm/toast/stories/toast-closeable-story.js.map +1 -1
  881. package/lib/esm/toast/stories/toast-controlled-story.js +1 -1
  882. package/lib/esm/toast/stories/toast-controlled-story.js.map +1 -1
  883. package/lib/esm/toast/stories/toast-custom-story.js +1 -1
  884. package/lib/esm/toast/stories/toast-custom-story.js.map +1 -1
  885. package/lib/esm/toast/stories/toast-danger-story.js +1 -1
  886. package/lib/esm/toast/stories/toast-danger-story.js.map +1 -1
  887. package/lib/esm/toast/stories/toast-neutral-story.js +1 -1
  888. package/lib/esm/toast/stories/toast-neutral-story.js.map +1 -1
  889. package/lib/esm/toast/stories/toast-progress-bar.js +1 -1
  890. package/lib/esm/toast/stories/toast-progress-bar.js.map +1 -1
  891. package/lib/esm/toast/stories/toast-success-story.js +1 -1
  892. package/lib/esm/toast/stories/toast-success-story.js.map +1 -1
  893. package/lib/esm/tooltip/Tooltip.js.map +1 -1
  894. package/lib/esm/tooltip/stories/tooltip-in-dialog.story.js +1 -1
  895. package/lib/esm/tooltip/stories/tooltip-in-dialog.story.js.map +1 -1
  896. package/lib/esm/tooltip/stories/tooltip-placements.story.js +1 -1
  897. package/lib/esm/tooltip/stories/tooltip-placements.story.js.map +1 -1
  898. package/lib/esm/tooltip/use-tooltip.js.map +1 -1
  899. package/lib/esm/tree-view/TreeView.js +3 -0
  900. package/lib/esm/tree-view/TreeView.js.map +1 -1
  901. package/lib/esm/tree-view/TreeViewItem.js.map +1 -1
  902. package/lib/esm/tree-view/stories/treeview-custom.story.js +2 -2
  903. package/lib/esm/tree-view/stories/treeview-custom.story.js.map +1 -1
  904. package/lib/esm/tree-view/tree-view-utils.js.map +1 -1
  905. package/lib/esm/typography/Typography.js +7 -1
  906. package/lib/esm/typography/Typography.js.map +1 -1
  907. package/lib/types/_generated/style-rules/index.d.ts +2 -2
  908. package/lib/types/_generated/style-rules/index.d.ts.map +1 -1
  909. package/lib/{cjs/text-link/stories/text-link-default.story.js → types/_generated/style-rules/literal-guards.d.ts} +8 -10
  910. package/lib/types/_generated/style-rules/literal-guards.d.ts.map +1 -0
  911. package/lib/types/_generated/style-rules/literal-schemas.d.ts +0 -12
  912. package/lib/types/_generated/style-rules/literal-schemas.d.ts.map +1 -1
  913. package/lib/types/_generated/style-rules/literal-types.d.ts +80 -0
  914. package/lib/types/_generated/style-rules/literal-types.d.ts.map +1 -0
  915. package/lib/types/_generated/style-rules/numeric-utils.d.ts +1 -1
  916. package/lib/types/_generated/style-rules/numeric-utils.d.ts.map +1 -1
  917. package/lib/types/_generated/style-rules/range-utils.d.ts +1 -1
  918. package/lib/types/_generated/style-rules/range-utils.d.ts.map +1 -1
  919. package/lib/types/ai/reasoning/Reasoning.d.ts +1 -10
  920. package/lib/types/ai/reasoning/Reasoning.d.ts.map +1 -1
  921. package/lib/types/ai/reasoning/stories/reasoning-full.story.d.ts.map +1 -1
  922. package/lib/types/button/ButtonBase.d.ts.map +1 -1
  923. package/lib/types/code-block/CodeBlock.d.ts +2 -2
  924. package/lib/types/code-block/CodeBlock.d.ts.map +1 -1
  925. package/lib/types/color-picker/ColorPicker.d.ts.map +1 -1
  926. package/lib/types/data-grid/style-rules/guard.d.ts +43 -0
  927. package/lib/types/data-grid/style-rules/guard.d.ts.map +1 -0
  928. package/lib/types/data-grid/style-rules/index.d.ts +1 -2
  929. package/lib/types/data-grid/style-rules/index.d.ts.map +1 -1
  930. package/lib/types/data-grid/style-rules/internal/schemas.d.ts +321 -0
  931. package/lib/types/data-grid/style-rules/internal/schemas.d.ts.map +1 -0
  932. package/lib/types/data-grid/style-rules/types.d.ts +60 -284
  933. package/lib/types/data-grid/style-rules/types.d.ts.map +1 -1
  934. package/lib/types/date-picker/DatePicker.d.ts.map +1 -1
  935. package/lib/types/dialog/Dialog.d.ts.map +1 -1
  936. package/lib/types/drawer/Drawer.d.ts +7 -13
  937. package/lib/types/drawer/Drawer.d.ts.map +1 -1
  938. package/lib/types/drawer/stories/drawer-overlay.story.d.ts.map +1 -1
  939. package/lib/types/dropzone/stories/dropzone-full.story.d.ts.map +1 -1
  940. package/lib/types/hooks/use-debounce-callback/index.d.ts +2 -2
  941. package/lib/types/hooks/use-debounce-callback/index.d.ts.map +1 -1
  942. package/lib/types/icon-button-base/IconButtonBase.d.ts.map +1 -1
  943. package/lib/types/icons/generated/custom/index.d.ts +0 -7
  944. package/lib/types/icons/generated/custom/index.d.ts.map +1 -1
  945. package/lib/types/inline-edit/InlineEdit.d.ts +6 -1
  946. package/lib/types/inline-edit/InlineEdit.d.ts.map +1 -1
  947. package/lib/types/kbd/Kbd.d.ts +1 -1
  948. package/lib/types/kbd/Kbd.d.ts.map +1 -1
  949. package/lib/types/menu/Menu.d.ts +1 -1
  950. package/lib/types/menu/Menu.d.ts.map +1 -1
  951. package/lib/types/menu/menu-types.d.ts +2 -2
  952. package/lib/types/menu/menu-types.d.ts.map +1 -1
  953. package/lib/types/next/tree-view/TreeView.d.ts +2 -2
  954. package/lib/types/next/tree-view/TreeView.d.ts.map +1 -1
  955. package/lib/types/popover/Popover.d.ts +15 -12
  956. package/lib/types/popover/Popover.d.ts.map +1 -1
  957. package/lib/types/popover/stories/popover-controlled.story.d.ts.map +1 -1
  958. package/lib/types/popover/stories/popover-default.story.d.ts.map +1 -1
  959. package/lib/types/popover/stories/popover-no-button-wrapper.story.d.ts.map +1 -1
  960. package/lib/types/popover/use-popover.d.ts +14 -9
  961. package/lib/types/popover/use-popover.d.ts.map +1 -1
  962. package/lib/types/side-navigation/SideNavigation.d.ts.map +1 -1
  963. package/lib/types/slider/Slider.d.ts +3 -3
  964. package/lib/types/slider/Slider.d.ts.map +1 -1
  965. package/lib/types/spotlight/Spotlight.d.ts +2 -2
  966. package/lib/types/spotlight/Spotlight.d.ts.map +1 -1
  967. package/lib/types/spotlight/SpotlightTarget.d.ts +3 -3
  968. package/lib/types/spotlight/SpotlightTarget.d.ts.map +1 -1
  969. package/lib/types/spotlight/stories/spotlight-tour.story.d.ts.map +1 -1
  970. package/lib/types/spotlight/stories/spotlight-with-image.story.d.ts.map +1 -1
  971. package/lib/types/spotlight/use-spotlight.d.ts +4 -4
  972. package/lib/types/spotlight/use-spotlight.d.ts.map +1 -1
  973. package/lib/types/tabs/Tabs.d.ts +3 -1
  974. package/lib/types/tabs/Tabs.d.ts.map +1 -1
  975. package/lib/types/text-link/TextLink.d.ts +2 -13
  976. package/lib/types/text-link/TextLink.d.ts.map +1 -1
  977. package/lib/types/text-link/stories/index.d.ts +2 -8
  978. package/lib/types/text-link/stories/index.d.ts.map +1 -1
  979. package/lib/types/text-link/stories/text-link-external.story.d.ts.map +1 -1
  980. package/lib/types/{text-overflow/stories/character-limit.story.d.ts → text-link/stories/text-link-internal.story.d.ts} +1 -1
  981. package/lib/types/text-link/stories/text-link-internal.story.d.ts.map +1 -0
  982. package/lib/types/tooltip/Tooltip.d.ts +0 -1
  983. package/lib/types/tooltip/Tooltip.d.ts.map +1 -1
  984. package/lib/types/tooltip/use-tooltip.d.ts.map +1 -1
  985. package/lib/types/tree-view/TreeView.d.ts +3 -0
  986. package/lib/types/tree-view/TreeView.d.ts.map +1 -1
  987. package/lib/types/tree-view/TreeViewItem.d.ts.map +1 -1
  988. package/lib/types/tree-view/tree-view-utils.d.ts.map +1 -1
  989. package/lib/types/typography/Typography.d.ts +6 -0
  990. package/lib/types/typography/Typography.d.ts.map +1 -1
  991. package/package.json +6 -4
  992. package/skills/ndl-react/SKILL.md +22 -20
  993. package/skills/ndl-react/components/ai/presence.md +3 -3
  994. package/skills/ndl-react/components/ai/reasoning.md +2 -6
  995. package/skills/ndl-react/components/ai/response.md +17 -17
  996. package/skills/ndl-react/components/ai/suggestion.md +1 -1
  997. package/skills/ndl-react/components/ai/user-bubble.md +2 -2
  998. package/skills/ndl-react/components/announcement-banner.md +10 -10
  999. package/skills/ndl-react/components/avatar.md +5 -5
  1000. package/skills/ndl-react/components/banner.md +2 -2
  1001. package/skills/ndl-react/components/breadcrumbs.md +3 -3
  1002. package/skills/ndl-react/components/checkbox.md +5 -5
  1003. package/skills/ndl-react/components/clean-icon-button.md +9 -103
  1004. package/skills/ndl-react/components/clipboard-button.md +1 -1
  1005. package/skills/ndl-react/components/code-block.md +8 -9
  1006. package/skills/ndl-react/components/color-picker.md +3 -3
  1007. package/skills/ndl-react/components/combobox.md +20 -20
  1008. package/skills/ndl-react/components/conditional-wrap.md +1 -1
  1009. package/skills/ndl-react/components/data-grid.md +28 -28
  1010. package/skills/ndl-react/components/date-picker.md +3 -3
  1011. package/skills/ndl-react/components/dialog.md +9 -9
  1012. package/skills/ndl-react/components/dismissible-tag.md +2 -2
  1013. package/skills/ndl-react/components/drawer.md +39 -37
  1014. package/skills/ndl-react/components/dropzone.md +10 -13
  1015. package/skills/ndl-react/components/flex.md +1 -1
  1016. package/skills/ndl-react/components/graph-label.md +3 -3
  1017. package/skills/ndl-react/components/icon-button-array.md +1 -1
  1018. package/skills/ndl-react/components/icon-button.md +7 -7
  1019. package/skills/ndl-react/components/inline-edit.md +4 -1
  1020. package/skills/ndl-react/components/loading-spinner.md +1 -1
  1021. package/skills/ndl-react/components/logo.md +3 -3
  1022. package/skills/ndl-react/components/menu.md +14 -14
  1023. package/skills/ndl-react/components/next/tree-view.md +18 -18
  1024. package/skills/ndl-react/components/popover.md +15 -21
  1025. package/skills/ndl-react/components/progress-bar.md +1 -1
  1026. package/skills/ndl-react/components/radio.md +2 -2
  1027. package/skills/ndl-react/components/read-only-tag.md +2 -2
  1028. package/skills/ndl-react/components/segmented-control.md +1 -1
  1029. package/skills/ndl-react/components/select-icon-button.md +8 -8
  1030. package/skills/ndl-react/components/select.md +8 -8
  1031. package/skills/ndl-react/components/selectable-tag.md +2 -2
  1032. package/skills/ndl-react/components/side-navigation.md +19 -19
  1033. package/skills/ndl-react/components/skeleton.md +13 -13
  1034. package/skills/ndl-react/components/slider.md +13 -13
  1035. package/skills/ndl-react/components/spotlight.md +43 -27
  1036. package/skills/ndl-react/components/status-indicator.md +6 -6
  1037. package/skills/ndl-react/components/status-label.md +3 -3
  1038. package/skills/ndl-react/components/switch.md +1 -1
  1039. package/skills/ndl-react/components/tabs.md +21 -20
  1040. package/skills/ndl-react/components/tag.md +2 -2
  1041. package/skills/ndl-react/components/text-area.md +1 -1
  1042. package/skills/ndl-react/components/text-input.md +3 -3
  1043. package/skills/ndl-react/components/text-link.md +12 -63
  1044. package/skills/ndl-react/components/time-picker.md +2 -2
  1045. package/skills/ndl-react/components/timezone-picker.md +4 -4
  1046. package/skills/ndl-react/components/tooltip.md +3 -3
  1047. package/skills/ndl-react/components/tree-view.md +6 -4
  1048. package/skills/ndl-react/components/typography.md +4 -0
  1049. package/skills/ndl-react/references/styling.md +56 -48
  1050. package/lib/cjs/icons/generated/custom/AddNode.js +0 -31
  1051. package/lib/cjs/icons/generated/custom/AddNode.js.map +0 -1
  1052. package/lib/cjs/icons/generated/custom/PanelBottom.js +0 -31
  1053. package/lib/cjs/icons/generated/custom/PanelBottom.js.map +0 -1
  1054. package/lib/cjs/icons/generated/custom/PanelLeft.js +0 -31
  1055. package/lib/cjs/icons/generated/custom/PanelLeft.js.map +0 -1
  1056. package/lib/cjs/icons/generated/custom/PanelLeftCollapsed.js +0 -31
  1057. package/lib/cjs/icons/generated/custom/PanelLeftCollapsed.js.map +0 -1
  1058. package/lib/cjs/icons/generated/custom/PanelLeftExpanded.js +0 -31
  1059. package/lib/cjs/icons/generated/custom/PanelLeftExpanded.js.map +0 -1
  1060. package/lib/cjs/icons/generated/custom/PanelRight.js +0 -31
  1061. package/lib/cjs/icons/generated/custom/PanelRight.js.map +0 -1
  1062. package/lib/cjs/icons/generated/custom/ThreePanel.js +0 -31
  1063. package/lib/cjs/icons/generated/custom/ThreePanel.js.map +0 -1
  1064. package/lib/cjs/text-link/stories/text-link-default.story.js.map +0 -1
  1065. package/lib/cjs/text-link/stories/text-link-external-underline.story.js +0 -30
  1066. package/lib/cjs/text-link/stories/text-link-external-underline.story.js.map +0 -1
  1067. package/lib/cjs/text-link/stories/text-link-internal-icon.story.js +0 -30
  1068. package/lib/cjs/text-link/stories/text-link-internal-icon.story.js.map +0 -1
  1069. package/lib/cjs/text-link/stories/text-link-internal-underline.story.js.map +0 -1
  1070. package/lib/cjs/text-overflow/TextOverflow.js +0 -146
  1071. package/lib/cjs/text-overflow/TextOverflow.js.map +0 -1
  1072. package/lib/cjs/text-overflow/constants.js +0 -44
  1073. package/lib/cjs/text-overflow/constants.js.map +0 -1
  1074. package/lib/cjs/text-overflow/index.js.map +0 -1
  1075. package/lib/cjs/text-overflow/stories/character-limit.story.js +0 -32
  1076. package/lib/cjs/text-overflow/stories/character-limit.story.js.map +0 -1
  1077. package/lib/cjs/text-overflow/stories/expand-collapse-buttons.story.js +0 -32
  1078. package/lib/cjs/text-overflow/stories/expand-collapse-buttons.story.js.map +0 -1
  1079. package/lib/cjs/text-overflow/stories/index.js +0 -48
  1080. package/lib/cjs/text-overflow/stories/index.js.map +0 -1
  1081. package/lib/cjs/text-overflow/stories/line-clamp.story.js +0 -32
  1082. package/lib/cjs/text-overflow/stories/line-clamp.story.js.map +0 -1
  1083. package/lib/cjs/text-overflow/stories/mixed-content.story.js +0 -31
  1084. package/lib/cjs/text-overflow/stories/mixed-content.story.js.map +0 -1
  1085. package/lib/cjs/text-overflow/stories/width-based-truncation.story.js +0 -32
  1086. package/lib/cjs/text-overflow/stories/width-based-truncation.story.js.map +0 -1
  1087. package/lib/cjs/text-overflow/text-overflow-utils.js +0 -167
  1088. package/lib/cjs/text-overflow/text-overflow-utils.js.map +0 -1
  1089. package/lib/cjs/text-overflow/use-ellipsis-observer.js +0 -66
  1090. package/lib/cjs/text-overflow/use-ellipsis-observer.js.map +0 -1
  1091. package/lib/cjs/text-overflow/use-truncate-with-button.js +0 -205
  1092. package/lib/cjs/text-overflow/use-truncate-with-button.js.map +0 -1
  1093. package/lib/esm/icons/generated/custom/AddNode.js +0 -29
  1094. package/lib/esm/icons/generated/custom/AddNode.js.map +0 -1
  1095. package/lib/esm/icons/generated/custom/PanelBottom.js +0 -29
  1096. package/lib/esm/icons/generated/custom/PanelBottom.js.map +0 -1
  1097. package/lib/esm/icons/generated/custom/PanelLeft.js +0 -29
  1098. package/lib/esm/icons/generated/custom/PanelLeft.js.map +0 -1
  1099. package/lib/esm/icons/generated/custom/PanelLeftCollapsed.js +0 -29
  1100. package/lib/esm/icons/generated/custom/PanelLeftCollapsed.js.map +0 -1
  1101. package/lib/esm/icons/generated/custom/PanelLeftExpanded.js +0 -29
  1102. package/lib/esm/icons/generated/custom/PanelLeftExpanded.js.map +0 -1
  1103. package/lib/esm/icons/generated/custom/PanelRight.js +0 -29
  1104. package/lib/esm/icons/generated/custom/PanelRight.js.map +0 -1
  1105. package/lib/esm/icons/generated/custom/ThreePanel.js +0 -29
  1106. package/lib/esm/icons/generated/custom/ThreePanel.js.map +0 -1
  1107. package/lib/esm/text-link/stories/text-link-default.story.js +0 -28
  1108. package/lib/esm/text-link/stories/text-link-default.story.js.map +0 -1
  1109. package/lib/esm/text-link/stories/text-link-external-underline.story.js +0 -28
  1110. package/lib/esm/text-link/stories/text-link-external-underline.story.js.map +0 -1
  1111. package/lib/esm/text-link/stories/text-link-internal-icon.story.js +0 -28
  1112. package/lib/esm/text-link/stories/text-link-internal-icon.story.js.map +0 -1
  1113. package/lib/esm/text-link/stories/text-link-internal-underline.story.js.map +0 -1
  1114. package/lib/esm/text-overflow/TextOverflow.js +0 -139
  1115. package/lib/esm/text-overflow/TextOverflow.js.map +0 -1
  1116. package/lib/esm/text-overflow/constants.js +0 -41
  1117. package/lib/esm/text-overflow/constants.js.map +0 -1
  1118. package/lib/esm/text-overflow/index.js.map +0 -1
  1119. package/lib/esm/text-overflow/stories/character-limit.story.js +0 -30
  1120. package/lib/esm/text-overflow/stories/character-limit.story.js.map +0 -1
  1121. package/lib/esm/text-overflow/stories/expand-collapse-buttons.story.js +0 -30
  1122. package/lib/esm/text-overflow/stories/expand-collapse-buttons.story.js.map +0 -1
  1123. package/lib/esm/text-overflow/stories/index.js +0 -37
  1124. package/lib/esm/text-overflow/stories/index.js.map +0 -1
  1125. package/lib/esm/text-overflow/stories/line-clamp.story.js +0 -30
  1126. package/lib/esm/text-overflow/stories/line-clamp.story.js.map +0 -1
  1127. package/lib/esm/text-overflow/stories/mixed-content.story.js +0 -29
  1128. package/lib/esm/text-overflow/stories/mixed-content.story.js.map +0 -1
  1129. package/lib/esm/text-overflow/stories/width-based-truncation.story.js +0 -30
  1130. package/lib/esm/text-overflow/stories/width-based-truncation.story.js.map +0 -1
  1131. package/lib/esm/text-overflow/text-overflow-utils.js +0 -159
  1132. package/lib/esm/text-overflow/text-overflow-utils.js.map +0 -1
  1133. package/lib/esm/text-overflow/use-ellipsis-observer.js +0 -63
  1134. package/lib/esm/text-overflow/use-ellipsis-observer.js.map +0 -1
  1135. package/lib/esm/text-overflow/use-truncate-with-button.js +0 -202
  1136. package/lib/esm/text-overflow/use-truncate-with-button.js.map +0 -1
  1137. package/lib/types/icons/generated/custom/AddNode.d.ts +0 -30
  1138. package/lib/types/icons/generated/custom/AddNode.d.ts.map +0 -1
  1139. package/lib/types/icons/generated/custom/PanelBottom.d.ts +0 -30
  1140. package/lib/types/icons/generated/custom/PanelBottom.d.ts.map +0 -1
  1141. package/lib/types/icons/generated/custom/PanelLeft.d.ts +0 -30
  1142. package/lib/types/icons/generated/custom/PanelLeft.d.ts.map +0 -1
  1143. package/lib/types/icons/generated/custom/PanelLeftCollapsed.d.ts +0 -30
  1144. package/lib/types/icons/generated/custom/PanelLeftCollapsed.d.ts.map +0 -1
  1145. package/lib/types/icons/generated/custom/PanelLeftExpanded.d.ts +0 -30
  1146. package/lib/types/icons/generated/custom/PanelLeftExpanded.d.ts.map +0 -1
  1147. package/lib/types/icons/generated/custom/PanelRight.d.ts +0 -30
  1148. package/lib/types/icons/generated/custom/PanelRight.d.ts.map +0 -1
  1149. package/lib/types/icons/generated/custom/ThreePanel.d.ts +0 -30
  1150. package/lib/types/icons/generated/custom/ThreePanel.d.ts.map +0 -1
  1151. package/lib/types/text-link/stories/text-link-default.story.d.ts +0 -24
  1152. package/lib/types/text-link/stories/text-link-default.story.d.ts.map +0 -1
  1153. package/lib/types/text-link/stories/text-link-external-underline.story.d.ts +0 -24
  1154. package/lib/types/text-link/stories/text-link-external-underline.story.d.ts.map +0 -1
  1155. package/lib/types/text-link/stories/text-link-internal-icon.story.d.ts +0 -24
  1156. package/lib/types/text-link/stories/text-link-internal-icon.story.d.ts.map +0 -1
  1157. package/lib/types/text-link/stories/text-link-internal-underline.story.d.ts +0 -24
  1158. package/lib/types/text-link/stories/text-link-internal-underline.story.d.ts.map +0 -1
  1159. package/lib/types/text-overflow/TextOverflow.d.ts +0 -63
  1160. package/lib/types/text-overflow/TextOverflow.d.ts.map +0 -1
  1161. package/lib/types/text-overflow/constants.d.ts +0 -41
  1162. package/lib/types/text-overflow/constants.d.ts.map +0 -1
  1163. package/lib/types/text-overflow/index.d.ts +0 -22
  1164. package/lib/types/text-overflow/index.d.ts.map +0 -1
  1165. package/lib/types/text-overflow/stories/character-limit.story.d.ts.map +0 -1
  1166. package/lib/types/text-overflow/stories/expand-collapse-buttons.story.d.ts +0 -24
  1167. package/lib/types/text-overflow/stories/expand-collapse-buttons.story.d.ts.map +0 -1
  1168. package/lib/types/text-overflow/stories/index.d.ts +0 -31
  1169. package/lib/types/text-overflow/stories/index.d.ts.map +0 -1
  1170. package/lib/types/text-overflow/stories/line-clamp.story.d.ts +0 -24
  1171. package/lib/types/text-overflow/stories/line-clamp.story.d.ts.map +0 -1
  1172. package/lib/types/text-overflow/stories/mixed-content.story.d.ts +0 -24
  1173. package/lib/types/text-overflow/stories/mixed-content.story.d.ts.map +0 -1
  1174. package/lib/types/text-overflow/stories/width-based-truncation.story.d.ts +0 -24
  1175. package/lib/types/text-overflow/stories/width-based-truncation.story.d.ts.map +0 -1
  1176. package/lib/types/text-overflow/text-overflow-utils.d.ts +0 -35
  1177. package/lib/types/text-overflow/text-overflow-utils.d.ts.map +0 -1
  1178. package/lib/types/text-overflow/use-ellipsis-observer.d.ts +0 -28
  1179. package/lib/types/text-overflow/use-ellipsis-observer.d.ts.map +0 -1
  1180. package/lib/types/text-overflow/use-truncate-with-button.d.ts +0 -45
  1181. package/lib/types/text-overflow/use-truncate-with-button.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"range-utils.js","sourceRoot":"","sources":["../../../../src/_generated/style-rules/range-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAqB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;YAC7B,OAAO,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC","sourcesContent":["/*\n * AUTO-GENERATED FILE — DO NOT EDIT.\n * Source of truth: packages/style-rules/src/\n * Regenerate with `pnpm generate:shared` (runs automatically at build/dev/install).\n */\n\n/*!\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 {\n parseDateString,\n parseLocalDateString,\n parseTimeString,\n} from './date-utils';\nimport type { RangeLiteral } from './literal-schemas';\nimport { type NumericValue, resolveNumericLiteral } from './numeric-utils';\n\n/** Resolves a range literal to the numeric representation used for interpolation. */\nexport function resolveRangeLiteral(value: RangeLiteral): NumericValue | null {\n if (typeof value === 'object' && value !== null) {\n if ('datetime' in value) {\n return parseDateString(value.datetime);\n }\n if ('localdatetime' in value) {\n return parseLocalDateString(value.localdatetime);\n }\n if ('time' in value) {\n return parseTimeString(value.time);\n }\n }\n return resolveNumericLiteral(value);\n}\n"]}
1
+ {"version":3,"file":"range-utils.js","sourceRoot":"","sources":["../../../../src/_generated/style-rules/range-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAqB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;YAC7B,OAAO,oBAAoB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC","sourcesContent":["/*\n * AUTO-GENERATED FILE — DO NOT EDIT.\n * Source of truth: packages/style-rules/src/\n * Regenerate with `pnpm generate:shared` (runs automatically at build/dev/install).\n */\n\n/*!\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 {\n parseDateString,\n parseLocalDateString,\n parseTimeString,\n} from './date-utils';\nimport type { RangeLiteral } from './literal-types';\nimport { type NumericValue, resolveNumericLiteral } from './numeric-utils';\n\n/** Resolves a range literal to the numeric representation used for interpolation. */\nexport function resolveRangeLiteral(value: RangeLiteral): NumericValue | null {\n if (typeof value === 'object' && value !== null) {\n if ('datetime' in value) {\n return parseDateString(value.datetime);\n }\n if ('localdatetime' in value) {\n return parseLocalDateString(value.localdatetime);\n }\n if ('time' in value) {\n return parseTimeString(value.time);\n }\n }\n return resolveNumericLiteral(value);\n}\n"]}
@@ -25,7 +25,7 @@ import { Presence } from '@neo4j-ndl/react/ai';
25
25
  import { useState } from 'react';
26
26
  const Component = () => {
27
27
  const [isThinking, setIsThinking] = useState(false);
28
- return (_jsxs("div", { className: "n-flex n-gap-token-8", children: [_jsx(Presence, { className: "n-size-token-32", isThinking: isThinking }), _jsx(FilledButton, { onClick: () => setIsThinking(!isThinking), children: "Toggle Thinking" })] }));
28
+ return (_jsxs("div", { className: "flex gap-token-8", children: [_jsx(Presence, { className: "size-token-32", isThinking: isThinking }), _jsx(FilledButton, { onClick: () => setIsThinking(!isThinking), children: "Toggle Thinking" })] }));
29
29
  };
30
30
  export default Component;
31
31
  //# sourceMappingURL=ai-presence-default.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-presence-default.story.js","sourceRoot":"","sources":["../../../../../src/ai/presence/stories/ai-presence-default.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,QAAQ,IAAC,SAAS,EAAC,iBAAiB,EAAC,UAAU,EAAE,UAAU,GAAI,EAChE,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,gCAExC,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 } from '@neo4j-ndl/react';\nimport { Presence } from '@neo4j-ndl/react/ai';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isThinking, setIsThinking] = useState(false);\n\n return (\n <div className=\"n-flex n-gap-token-8\">\n <Presence className=\"n-size-token-32\" isThinking={isThinking} />\n <FilledButton onClick={() => setIsThinking(!isThinking)}>\n Toggle Thinking\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"ai-presence-default.story.js","sourceRoot":"","sources":["../../../../../src/ai/presence/stories/ai-presence-default.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,KAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,EAAC,UAAU,EAAE,UAAU,GAAI,EAC9D,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,gCAExC,IACX,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 } from '@neo4j-ndl/react';\nimport { Presence } from '@neo4j-ndl/react/ai';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isThinking, setIsThinking] = useState(false);\n\n return (\n <div className=\"flex gap-token-8\">\n <Presence className=\"size-token-32\" isThinking={isThinking} />\n <FilledButton onClick={() => setIsThinking(!isThinking)}>\n Toggle Thinking\n </FilledButton>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -23,7 +23,7 @@ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
23
23
  import { Presence } from '@neo4j-ndl/react/ai';
24
24
  // TODO: consider this story when happo is ready
25
25
  const Component = () => {
26
- return _jsx(Presence, { isThinking: true, className: "n-size-token-32" });
26
+ return _jsx(Presence, { isThinking: true, className: "size-token-32" });
27
27
  };
28
28
  export default Component;
29
29
  //# sourceMappingURL=ai-presence-thinking.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-presence-thinking.story.js","sourceRoot":"","sources":["../../../../../src/ai/presence/stories/ai-presence-thinking.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,gDAAgD;AAChD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,KAAC,QAAQ,IAAC,UAAU,QAAC,SAAS,EAAC,iBAAiB,GAAG,CAAC;AAC7D,CAAC,CAAC;AAEF,eAAe,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 { Presence } from '@neo4j-ndl/react/ai';\n\n// TODO: consider this story when happo is ready\nconst Component = () => {\n return <Presence isThinking className=\"n-size-token-32\" />;\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"ai-presence-thinking.story.js","sourceRoot":"","sources":["../../../../../src/ai/presence/stories/ai-presence-thinking.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,gDAAgD;AAChD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,KAAC,QAAQ,IAAC,UAAU,QAAC,SAAS,EAAC,eAAe,GAAG,CAAC;AAC3D,CAAC,CAAC;AAEF,eAAe,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 { Presence } from '@neo4j-ndl/react/ai';\n\n// TODO: consider this story when happo is ready\nconst Component = () => {\n return <Presence isThinking className=\"size-token-32\" />;\n};\n\nexport default Component;\n"]}
@@ -70,7 +70,7 @@ const ReasoningComponent = (_a) => {
70
70
  }), inert: !shouldShowChildren, "aria-hidden": !shouldShowChildren, "aria-labelledby": buttonId, role: "region", id: panelId, children: _jsx("div", { className: "ndl-ai-reasoning-content-inner", children: _jsx("div", { className: "ndl-ai-reasoning-content-inner-2", children: children }) }) })] })));
71
71
  };
72
72
  const Section = (_a) => {
73
- var { heading, leadingVisual, children, className, style, htmlAttributes, ref, isExpanded: _isExpanded, isDefaultExpanded: _isDefaultExpanded, onExpandChange: _onExpandChange } = _a, restProps = __rest(_a, ["heading", "leadingVisual", "children", "className", "style", "htmlAttributes", "ref", "isExpanded", "isDefaultExpanded", "onExpandChange"]);
73
+ var { heading, leadingVisual, children, className, style, htmlAttributes, ref } = _a, restProps = __rest(_a, ["heading", "leadingVisual", "children", "className", "style", "htmlAttributes", "ref"]);
74
74
  const classes = classNames('ndl-ai-reasoning-section', className);
75
75
  return (_jsxs("div", Object.assign({ ref: ref, className: classes, style: style }, restProps, htmlAttributes, { children: [_jsxs("div", { className: "ndl-ai-reasoning-section-header", children: [_jsx("div", { className: "ndl-ai-reasoning-section-leading", children: leadingVisual }), _jsx(Typography, { variant: "subheading-small", children: heading })] }), _jsxs("div", { className: "ndl-ai-reasoning-section-content", children: [_jsx("div", { className: "ndl-ai-reasoning-section-content-line-container", children: _jsx("div", { className: "ndl-ai-reasoning-section-content-line" }) }), _jsx("div", { className: "ndl-ai-reasoning-section-content-children", children: children })] })] })));
76
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Reasoning.js","sourceRoot":"","sources":["../../../../src/ai/reasoning/Reasoning.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 */\n\nimport { Typography } from '@neo4j-ndl/react';\nimport classNames from 'classnames';\nimport { useId, useState } from 'react';\n\nimport { type CommonProps } from '../../_common/types';\nimport { ChevronDownIconOutline } from '../../icons/generated/heroIcons/ChevronDownIconOutline';\nimport { Presence } from '../presence';\nimport { formatThinkingDuration } from '../thinking/thinking-duration-formatter';\n\ntype ReasoningProps = {\n /** What should be displayed inside the reasoning component. */\n children?: React.ReactNode;\n /** Whether the AI is thinking */\n isThinking?: boolean;\n /** The duration of the thinking in milliseconds */\n thinkingMs?: number;\n /** The current action the AI is performing */\n currentAction?: string;\n};\n\n/**\n * The component is used to display the reasoning state of an LLM.\n * It has an accordion like behavior to show the reasoning steps.\n *\n * @alpha - Changes to this component may be breaking.\n */\nconst ReasoningComponent = ({\n isThinking = true,\n thinkingMs = 1000,\n currentAction = 'Thinking',\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', ReasoningProps>) => {\n const classes = classNames('ndl-ai-reasoning', className);\n const [isExpanded, setIsExpanded] = useState(false);\n const shouldShowChildren = isExpanded && isThinking === false;\n const buttonId = useId();\n const panelId = useId();\n\n const { value: thinkingDuration, unit } = formatThinkingDuration(thinkingMs);\n\n return (\n <div\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n <Typography\n variant=\"label\"\n className={classNames('ndl-ai-reasoning-header', {\n 'ndl-expanded': isExpanded,\n })}\n {...(!isThinking\n ? {\n as: 'button',\n htmlAttributes: {\n 'aria-controls': panelId,\n 'aria-expanded': isExpanded,\n id: buttonId,\n onClick: () => setIsExpanded(!isExpanded),\n type: 'button',\n },\n }\n : { as: 'div', htmlAttributes: { id: buttonId } })}\n >\n {isThinking === true ? (\n <>\n <Presence\n isThinking={isThinking}\n className=\"ndl-ai-reasoning-presence\"\n />\n <span className=\"ndl-ai-reasoning-header-text\">\n {currentAction}...\n </span>\n </>\n ) : (\n <>\n <span>\n Thought for {thinkingDuration} {unit}\n </span>\n <ChevronDownIconOutline\n className={classNames('ndl-ai-reasoning-chevron', {\n 'ndl-expanded': isExpanded,\n })}\n />\n </>\n )}\n </Typography>\n <div\n className={classNames('ndl-ai-reasoning-content', {\n 'ndl-expanded': shouldShowChildren,\n })}\n inert={!shouldShowChildren}\n aria-hidden={!shouldShowChildren}\n aria-labelledby={buttonId}\n role=\"region\"\n id={panelId}\n >\n <div className=\"ndl-ai-reasoning-content-inner\">\n <div className=\"ndl-ai-reasoning-content-inner-2\">{children}</div>\n </div>\n </div>\n </div>\n );\n};\n\ntype SectionProps = {\n /** The heading of the section */\n heading?: React.ReactNode;\n /** The children of the section */\n children?: React.ReactNode;\n /** The visual leading the section */\n leadingVisual?: React.ReactNode;\n // TODO v5: remove this prop\n /** Whether the section is expanded.\n * @deprecated - Does nothing, will be removed in v5 */\n isExpanded?: boolean;\n // TODO v5: remove this prop\n /** The default value of the section is expanded.\n * @deprecated - Does nothing, will be removed in v5 */\n isDefaultExpanded?: boolean;\n // TODO v5: remove this prop\n /** Callback function triggered when the section is expanded.\n * @deprecated - Does nothing, will be removed in v5 */\n onExpandChange?: (isExpanded: boolean) => void;\n};\n\nconst Section = ({\n heading,\n leadingVisual,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n isExpanded: _isExpanded,\n isDefaultExpanded: _isDefaultExpanded,\n onExpandChange: _onExpandChange,\n ...restProps\n}: CommonProps<'div', SectionProps>) => {\n const classes = classNames('ndl-ai-reasoning-section', className);\n\n return (\n <div\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n <div className=\"ndl-ai-reasoning-section-header\">\n <div className=\"ndl-ai-reasoning-section-leading\">{leadingVisual}</div>\n <Typography variant=\"subheading-small\">{heading}</Typography>\n </div>\n <div className=\"ndl-ai-reasoning-section-content\">\n <div className=\"ndl-ai-reasoning-section-content-line-container\">\n <div className=\"ndl-ai-reasoning-section-content-line\" />\n </div>\n <div className=\"ndl-ai-reasoning-section-content-children\">\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nconst Footer = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-ai-reasoning-footer', className);\n return (\n <Typography\n as=\"div\"\n variant=\"body-small\"\n className={classes}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </Typography>\n );\n};\n\nconst Reasoning = Object.assign(ReasoningComponent, {\n Footer,\n Section,\n});\n\nexport { Reasoning };\n"]}
1
+ {"version":3,"file":"Reasoning.js","sourceRoot":"","sources":["../../../../src/ai/reasoning/Reasoning.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 */\n\nimport { Typography } from '@neo4j-ndl/react';\nimport classNames from 'classnames';\nimport { useId, useState } from 'react';\n\nimport { type CommonProps } from '../../_common/types';\nimport { ChevronDownIconOutline } from '../../icons/generated/heroIcons/ChevronDownIconOutline';\nimport { Presence } from '../presence';\nimport { formatThinkingDuration } from '../thinking/thinking-duration-formatter';\n\ntype ReasoningProps = {\n /** What should be displayed inside the reasoning component. */\n children?: React.ReactNode;\n /** Whether the AI is thinking */\n isThinking?: boolean;\n /** The duration of the thinking in milliseconds */\n thinkingMs?: number;\n /** The current action the AI is performing */\n currentAction?: string;\n};\n\n/**\n * The component is used to display the reasoning state of an LLM.\n * It has an accordion like behavior to show the reasoning steps.\n *\n * @alpha - Changes to this component may be breaking.\n */\nconst ReasoningComponent = ({\n isThinking = true,\n thinkingMs = 1000,\n currentAction = 'Thinking',\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', ReasoningProps>) => {\n const classes = classNames('ndl-ai-reasoning', className);\n const [isExpanded, setIsExpanded] = useState(false);\n const shouldShowChildren = isExpanded && isThinking === false;\n const buttonId = useId();\n const panelId = useId();\n\n const { value: thinkingDuration, unit } = formatThinkingDuration(thinkingMs);\n\n return (\n <div\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n <Typography\n variant=\"label\"\n className={classNames('ndl-ai-reasoning-header', {\n 'ndl-expanded': isExpanded,\n })}\n {...(!isThinking\n ? {\n as: 'button',\n htmlAttributes: {\n 'aria-controls': panelId,\n 'aria-expanded': isExpanded,\n id: buttonId,\n onClick: () => setIsExpanded(!isExpanded),\n type: 'button',\n },\n }\n : { as: 'div', htmlAttributes: { id: buttonId } })}\n >\n {isThinking === true ? (\n <>\n <Presence\n isThinking={isThinking}\n className=\"ndl-ai-reasoning-presence\"\n />\n <span className=\"ndl-ai-reasoning-header-text\">\n {currentAction}...\n </span>\n </>\n ) : (\n <>\n <span>\n Thought for {thinkingDuration} {unit}\n </span>\n <ChevronDownIconOutline\n className={classNames('ndl-ai-reasoning-chevron', {\n 'ndl-expanded': isExpanded,\n })}\n />\n </>\n )}\n </Typography>\n <div\n className={classNames('ndl-ai-reasoning-content', {\n 'ndl-expanded': shouldShowChildren,\n })}\n inert={!shouldShowChildren}\n aria-hidden={!shouldShowChildren}\n aria-labelledby={buttonId}\n role=\"region\"\n id={panelId}\n >\n <div className=\"ndl-ai-reasoning-content-inner\">\n <div className=\"ndl-ai-reasoning-content-inner-2\">{children}</div>\n </div>\n </div>\n </div>\n );\n};\n\ntype SectionProps = {\n /** The heading of the section */\n heading?: React.ReactNode;\n /** The children of the section */\n children?: React.ReactNode;\n /** The visual leading the section */\n leadingVisual?: React.ReactNode;\n};\n\nconst Section = ({\n heading,\n leadingVisual,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', SectionProps>) => {\n const classes = classNames('ndl-ai-reasoning-section', className);\n\n return (\n <div\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n <div className=\"ndl-ai-reasoning-section-header\">\n <div className=\"ndl-ai-reasoning-section-leading\">{leadingVisual}</div>\n <Typography variant=\"subheading-small\">{heading}</Typography>\n </div>\n <div className=\"ndl-ai-reasoning-section-content\">\n <div className=\"ndl-ai-reasoning-section-content-line-container\">\n <div className=\"ndl-ai-reasoning-section-content-line\" />\n </div>\n <div className=\"ndl-ai-reasoning-section-content-children\">\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nconst Footer = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-ai-reasoning-footer', className);\n return (\n <Typography\n as=\"div\"\n variant=\"body-small\"\n className={classes}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </Typography>\n );\n};\n\nconst Reasoning = Object.assign(ReasoningComponent, {\n Footer,\n Section,\n});\n\nexport { Reasoning };\n"]}
@@ -26,7 +26,7 @@ import { InformationCircleIconOutline, PencilSquareIconOutline, WrenchIconOutlin
26
26
  import { useState } from 'react';
27
27
  const Component = () => {
28
28
  const [isThinking, setThinking] = useState(true);
29
- return (_jsxs("div", { className: "n-flex n-flex-col n-gap-token-12", children: [_jsx(FilledButton, { onClick: () => setThinking(!isThinking), children: isThinking ? 'Stop Thinking' : 'Start Thinking' }), _jsxs(Reasoning, { isThinking: isThinking, thinkingMs: 1400, currentAction: "Creating an action plan", children: [_jsx(Reasoning.Section, { leadingVisual: _jsx(PencilSquareIconOutline, {}), heading: "Creating an action plan", isDefaultExpanded: true, children: "Step 1 content" }), _jsx(Reasoning.Section, { leadingVisual: _jsx(WrenchIconOutline, {}), heading: "Applying agent tools", children: "Step 2 content" }), _jsxs(Reasoning.Footer, { children: ["Footer information", _jsxs(Tooltip, { type: "simple", children: [_jsx(Tooltip.Trigger, { htmlAttributes: { 'aria-label': 'Info about things like tokens' }, children: _jsx(InformationCircleIconOutline, { className: "n-size-token-16" }) }), _jsx(Tooltip.Content, { children: "Info about things like tokens" })] })] })] })] }));
29
+ return (_jsxs("div", { className: "flex flex-col gap-token-12", children: [_jsx(FilledButton, { onClick: () => setThinking(!isThinking), children: isThinking ? 'Stop Thinking' : 'Start Thinking' }), _jsxs(Reasoning, { isThinking: isThinking, thinkingMs: 1400, currentAction: "Creating an action plan", children: [_jsx(Reasoning.Section, { leadingVisual: _jsx(PencilSquareIconOutline, {}), heading: "Creating an action plan", children: "Step 1 content" }), _jsx(Reasoning.Section, { leadingVisual: _jsx(WrenchIconOutline, {}), heading: "Applying agent tools", children: "Step 2 content" }), _jsxs(Reasoning.Footer, { children: ["Footer information", _jsxs(Tooltip, { type: "simple", children: [_jsx(Tooltip.Trigger, { htmlAttributes: { 'aria-label': 'Info about things like tokens' }, children: _jsx(InformationCircleIconOutline, { className: "size-token-16" }) }), _jsx(Tooltip.Content, { children: "Info about things like tokens" })] })] })] })] }));
30
30
  };
31
31
  export default Component;
32
32
  //# sourceMappingURL=reasoning-full.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reasoning-full.story.js","sourceRoot":"","sources":["../../../../../src/ai/reasoning/stories/reasoning-full.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAC/C,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,YAClD,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,GACnC,EACf,MAAC,SAAS,IACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,EAChB,aAAa,EAAC,yBAAyB,aAEvC,KAAC,SAAS,CAAC,OAAO,IAChB,aAAa,EAAE,KAAC,uBAAuB,KAAG,EAC1C,OAAO,EAAC,yBAAyB,EACjC,iBAAiB,EAAE,IAAI,+BAGL,EACpB,KAAC,SAAS,CAAC,OAAO,IAChB,aAAa,EAAE,KAAC,iBAAiB,KAAG,EACpC,OAAO,EAAC,sBAAsB,+BAGZ,EACpB,MAAC,SAAS,CAAC,MAAM,qCAEf,MAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,aACpB,KAAC,OAAO,CAAC,OAAO,IACd,cAAc,EAAE,EAAE,YAAY,EAAE,+BAA+B,EAAE,YAEjE,KAAC,4BAA4B,IAAC,SAAS,EAAC,iBAAiB,GAAG,GAC5C,EAClB,KAAC,OAAO,CAAC,OAAO,gDAAgD,IACxD,IACO,IACT,IACR,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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';\nimport { Reasoning } from '@neo4j-ndl/react/ai';\nimport {\n InformationCircleIconOutline,\n PencilSquareIconOutline,\n WrenchIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isThinking, setThinking] = useState(true);\n\n return (\n <div className=\"n-flex n-flex-col n-gap-token-12\">\n <FilledButton onClick={() => setThinking(!isThinking)}>\n {isThinking ? 'Stop Thinking' : 'Start Thinking'}\n </FilledButton>\n <Reasoning\n isThinking={isThinking}\n thinkingMs={1400}\n currentAction=\"Creating an action plan\"\n >\n <Reasoning.Section\n leadingVisual={<PencilSquareIconOutline />}\n heading=\"Creating an action plan\"\n isDefaultExpanded={true}\n >\n Step 1 content\n </Reasoning.Section>\n <Reasoning.Section\n leadingVisual={<WrenchIconOutline />}\n heading=\"Applying agent tools\"\n >\n Step 2 content\n </Reasoning.Section>\n <Reasoning.Footer>\n Footer information\n <Tooltip type=\"simple\">\n <Tooltip.Trigger\n htmlAttributes={{ 'aria-label': 'Info about things like tokens' }}\n >\n <InformationCircleIconOutline className=\"n-size-token-16\" />\n </Tooltip.Trigger>\n <Tooltip.Content>Info about things like tokens</Tooltip.Content>\n </Tooltip>\n </Reasoning.Footer>\n </Reasoning>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"reasoning-full.story.js","sourceRoot":"","sources":["../../../../../src/ai/reasoning/stories/reasoning-full.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,YAClD,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,GACnC,EACf,MAAC,SAAS,IACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,EAChB,aAAa,EAAC,yBAAyB,aAEvC,KAAC,SAAS,CAAC,OAAO,IAChB,aAAa,EAAE,KAAC,uBAAuB,KAAG,EAC1C,OAAO,EAAC,yBAAyB,+BAGf,EACpB,KAAC,SAAS,CAAC,OAAO,IAChB,aAAa,EAAE,KAAC,iBAAiB,KAAG,EACpC,OAAO,EAAC,sBAAsB,+BAGZ,EACpB,MAAC,SAAS,CAAC,MAAM,qCAEf,MAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,aACpB,KAAC,OAAO,CAAC,OAAO,IACd,cAAc,EAAE,EAAE,YAAY,EAAE,+BAA+B,EAAE,YAEjE,KAAC,4BAA4B,IAAC,SAAS,EAAC,eAAe,GAAG,GAC1C,EAClB,KAAC,OAAO,CAAC,OAAO,gDAAgD,IACxD,IACO,IACT,IACR,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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';\nimport { Reasoning } from '@neo4j-ndl/react/ai';\nimport {\n InformationCircleIconOutline,\n PencilSquareIconOutline,\n WrenchIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isThinking, setThinking] = useState(true);\n\n return (\n <div className=\"flex flex-col gap-token-12\">\n <FilledButton onClick={() => setThinking(!isThinking)}>\n {isThinking ? 'Stop Thinking' : 'Start Thinking'}\n </FilledButton>\n <Reasoning\n isThinking={isThinking}\n thinkingMs={1400}\n currentAction=\"Creating an action plan\"\n >\n <Reasoning.Section\n leadingVisual={<PencilSquareIconOutline />}\n heading=\"Creating an action plan\"\n >\n Step 1 content\n </Reasoning.Section>\n <Reasoning.Section\n leadingVisual={<WrenchIconOutline />}\n heading=\"Applying agent tools\"\n >\n Step 2 content\n </Reasoning.Section>\n <Reasoning.Footer>\n Footer information\n <Tooltip type=\"simple\">\n <Tooltip.Trigger\n htmlAttributes={{ 'aria-label': 'Info about things like tokens' }}\n >\n <InformationCircleIconOutline className=\"size-token-16\" />\n </Tooltip.Trigger>\n <Tooltip.Content>Info about things like tokens</Tooltip.Content>\n </Tooltip>\n </Reasoning.Footer>\n </Reasoning>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -123,7 +123,7 @@ const Response = memo((_a) => {
123
123
  if ((href === null || href === void 0 ? void 0 : href.startsWith(STREAMDOWN_PLACEHOLDER_PROTOCOL)) === true) {
124
124
  return _jsx("span", { className: className, children: children });
125
125
  }
126
- return (_jsx(TextLink, { type: "internal-underline", className: className, href: href, htmlAttributes: props, children: children }));
126
+ return (_jsx(TextLink, { type: "internal", className: className, href: href, htmlAttributes: props, children: children }));
127
127
  },
128
128
  // oxlint-disable-next-line no-unused-vars
129
129
  h1: (_a) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../../src/ai/response/Response.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 */\n\n// oxlint-disable sort-keys\nimport { Code, TextLink, Typography } from '@neo4j-ndl/react';\nimport classNames from 'classnames';\nimport { memo, useMemo, useRef } from 'react';\nimport { defaultRehypePlugins, Streamdown } from 'streamdown';\n\nimport { type CommonProps } from '../../_common/types';\nimport { type LanguageProp, Languages } from '../../code-block/code-languages';\nimport { CodePreview } from '../code-preview';\n\nconst STREAMDOWN_PLACEHOLDER_PROTOCOL = 'streamdown:';\n\nconst CLOBBER_PREFIX = 'user-content-';\nconst CLOBBERABLE_PROPERTIES = [\n 'id',\n 'name',\n 'ariaDescribedBy',\n 'ariaLabelledBy',\n];\n\ntype HastNode = {\n type: string;\n properties?: Record<string, unknown>;\n children?: HastNode[];\n};\n\nconst prefixClobberValue = (value: unknown) =>\n typeof value === 'string' && !value.startsWith(CLOBBER_PREFIX)\n ? `${CLOBBER_PREFIX}${value}`\n : value;\n\nconst prefixClobberableProperties = (node: HastNode) => {\n if (node.type === 'element' && node.properties !== undefined) {\n for (const key of CLOBBERABLE_PROPERTIES) {\n const value = node.properties[key];\n if (value === undefined || value === null) {\n continue;\n }\n node.properties[key] = Array.isArray(value)\n ? value.map(prefixClobberValue)\n : prefixClobberValue(value);\n }\n }\n node.children?.forEach(prefixClobberableProperties);\n};\n\n/**\n * Streamdown 2 sanitizes with an empty `clobberPrefix`, which lets ids and\n * names from model output collide with the host document (DOM clobbering).\n * Prefixing after sanitization keeps already prefixed footnote ids intact.\n */\nconst rehypePrefixClobberableProperties = () => prefixClobberableProperties;\n\nconst rehypePlugins = [\n ...Object.values(defaultRehypePlugins),\n rehypePrefixClobberableProperties,\n];\n\ntype ResponseProps = {\n /** The response from the AI */\n children: string;\n /** Whether the response is animating */\n isAnimating?: React.ComponentProps<typeof Streamdown>['isAnimating'];\n};\n\n/**\n * The component is used to display the response from an LLM.\n * It handles markdown rendering and streaming.\n *\n * @alpha - Changes to this component may be breaking.\n */\nconst Response = memo(\n ({\n className,\n children,\n isAnimating = false,\n ref,\n style,\n htmlAttributes,\n ...restProps\n }: CommonProps<'div', ResponseProps>) => {\n // Use a ref to store the current markdown content so we can check for unclosed fences\n // without recreating the components object on every render\n const childrenRef = useRef(children);\n childrenRef.current = children;\n\n const components: React.ComponentProps<typeof Streamdown>['components'] =\n useMemo(\n () => ({\n // oxlint-disable-next-line no-unused-vars\n ol: ({ node, children, className, ref: _ref, ...props }) => (\n <ol className={className} {...props}>\n {children}\n </ol>\n ),\n // oxlint-disable-next-line no-unused-vars\n ul: ({ node, children, className, ref: _ref, ...props }) => (\n <ul className={classNames(className)} {...props}>\n {children}\n </ul>\n ),\n // oxlint-disable-next-line no-unused-vars\n li: ({ node, children, className, ref: _ref, ...props }) => (\n <li className={className} {...props}>\n {children}\n </li>\n ),\n // oxlint-disable-next-line no-unused-vars\n hr: ({ node, className, ref: _ref, ...props }) => (\n <hr className={classNames(className)} {...props} />\n ),\n // oxlint-disable-next-line no-unused-vars\n strong: ({\n node: _node,\n children,\n className,\n style,\n ref: _ref,\n ...props\n }) => (\n <Typography\n as=\"strong\"\n variant=\"body-medium\"\n className={className}\n style={{ ...style, fontWeight: 'bold' }}\n {...props}\n >\n {children}\n </Typography>\n ),\n // oxlint-disable-next-line no-unused-vars\n em: ({ node, children, className, style, ref: _ref, ...props }) => (\n <Typography\n as=\"em\"\n variant=\"body-medium\"\n className={className}\n style={{ ...style, fontStyle: 'italic' }}\n {...props}\n >\n {children}\n </Typography>\n ),\n // oxlint-disable-next-line no-unused-vars, id-length\n a: ({ node: _node, children, className, href, ...props }) => {\n // Streamdown marks links whose URL is still streaming with a placeholder href\n if (href?.startsWith(STREAMDOWN_PLACEHOLDER_PROTOCOL) === true) {\n return <span className={className}>{children}</span>;\n }\n return (\n <TextLink\n type=\"internal-underline\"\n className={className}\n href={href}\n htmlAttributes={props}\n >\n {children}\n </TextLink>\n );\n },\n // oxlint-disable-next-line no-unused-vars\n h1: ({ node, children, className, ...props }) => (\n <h1 className={className} {...props}>\n {children}\n </h1>\n ),\n // oxlint-disable-next-line no-unused-vars\n h2: ({ node, children, className, ...props }) => (\n <h2 className={className} {...props}>\n {children}\n </h2>\n ),\n // oxlint-disable-next-line no-unused-vars\n h3: ({ node, children, className, ...props }) => (\n <h3 className={className} {...props}>\n {children}\n </h3>\n ),\n // oxlint-disable-next-line no-unused-vars\n h4: ({ node, children, className, ...props }) => (\n <h4 className={className} {...props}>\n {children}\n </h4>\n ),\n // oxlint-disable-next-line no-unused-vars\n h5: ({ node, children, className, ...props }) => (\n <h5 className={className} {...props}>\n {children}\n </h5>\n ),\n // oxlint-disable-next-line no-unused-vars\n h6: ({ node, children, className, ...props }) => (\n <h6 className={className} {...props}>\n {children}\n </h6>\n ),\n // oxlint-disable-next-line no-unused-vars\n table: ({ node, children, className, ref: _ref, ...props }) => (\n <div className=\"ndl-ai-response-table-wrapper\">\n <table className={className} {...props}>\n {children}\n </table>\n </div>\n ),\n // oxlint-disable-next-line no-unused-vars\n thead: ({ node, children, className, ref: _ref, ...props }) => (\n <thead className={className} {...props}>\n {children}\n </thead>\n ),\n // oxlint-disable-next-line no-unused-vars\n tbody: ({ node, children, className, ref: _ref, ...props }) => (\n <tbody className={className} {...props}>\n {children}\n </tbody>\n ),\n // oxlint-disable-next-line no-unused-vars\n tr: ({ node, children, className, ref: _ref, ...props }) => (\n <tr className={className} {...props}>\n {children}\n </tr>\n ),\n // oxlint-disable-next-line no-unused-vars\n th: ({ node, children, className, ref: _ref, ...props }) => (\n <th className={className} {...props}>\n {children}\n </th>\n ),\n // oxlint-disable-next-line no-unused-vars\n td: ({ node, children, className, ref: _ref, ...props }) => (\n <td className={className} {...props}>\n {children}\n </td>\n ),\n // oxlint-disable-next-line no-unused-vars\n sup: ({ node, children, className, ref: _ref, ...props }) => (\n <sup className={className} {...props}>\n {children}\n </sup>\n ),\n // oxlint-disable-next-line no-unused-vars\n sub: ({ node, children, className, ref: _ref, ...props }) => (\n <sub className={className} {...props}>\n {children}\n </sub>\n ),\n // oxlint-disable-next-line no-unused-vars\n blockquote: ({ node, children, className, ref: _ref, ...props }) => (\n <blockquote className={classNames(className)} {...props}>\n {children}\n </blockquote>\n ),\n code: ({ node, className, children: codeChildren, ...props }) => {\n const isInline =\n node?.position?.start.line === node?.position?.end.line;\n\n const nodeClassNamesRaw = node?.properties?.className;\n const nodeClassNamesArray: string[] = [];\n\n if (typeof nodeClassNamesRaw === 'string') {\n nodeClassNamesArray.push.apply(\n nodeClassNamesArray,\n nodeClassNamesRaw.split(' '),\n );\n } else if (Array.isArray(nodeClassNamesRaw)) {\n nodeClassNamesArray.push.apply(\n nodeClassNamesArray,\n nodeClassNamesRaw as string[],\n );\n }\n\n let language: LanguageProp | 'text' = 'text';\n const rawLanguage = nodeClassNamesArray.find((string: string) =>\n string.startsWith('language-'),\n );\n if (rawLanguage !== undefined) {\n language =\n (rawLanguage.replace('language-', '') as LanguageProp) ??\n 'text';\n }\n language = (Languages as readonly string[]).includes(language)\n ? (language as LanguageProp)\n : 'text';\n if (isInline) {\n return (\n <Code\n isRunnable={false}\n className={className}\n htmlAttributes={props}\n >\n {codeChildren}\n </Code>\n );\n }\n if (typeof codeChildren === 'string') {\n // Check if code fences are balanced in the markdown\n // If there are an odd number of fences, it means there's an unclosed code block\n const fenceMatches = childrenRef.current.match(/```/g);\n const fenceCount = fenceMatches ? fenceMatches.length : 0;\n const hasUnclosedFence = fenceCount % 2 !== 0;\n\n // Show loading state when there's an unclosed fence (code block is streaming)\n const isCodeBlockLoading = hasUnclosedFence;\n return (\n <CodePreview\n key={props.key}\n code={codeChildren}\n isLoading={isCodeBlockLoading}\n language={language}\n className={className}\n htmlAttributes={{\n ...props,\n }}\n />\n );\n } else {\n return <code className={className}>{codeChildren}</code>;\n }\n },\n // oxlint-disable-next-line no-unused-vars\n pre: ({ node, className, children, ref: _ref, ...props }) => {\n return (\n <pre className={className} {...props}>\n {children}\n </pre>\n );\n },\n // oxlint-disable-next-line no-unused-vars, id-length\n p: ({ node: _node, children, className, ref: _ref, ...props }) => (\n <Typography\n as=\"p\"\n variant=\"body-medium\"\n className={classNames(className)}\n {...props}\n >\n {children}\n </Typography>\n ),\n // oxlint-disable-next-line no-unused-vars\n img: ({ node, className, src, alt, ref: _ref, ...props }) => {\n if (\n typeof src === 'string' &&\n src.startsWith(STREAMDOWN_PLACEHOLDER_PROTOCOL)\n ) {\n return null;\n }\n return (\n <img\n className={classNames(className)}\n src={src}\n alt={alt}\n {...props}\n />\n );\n },\n }),\n [],\n );\n\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-ai-response', className)}\n {...restProps}\n {...htmlAttributes}\n >\n <Streamdown\n isAnimating={isAnimating}\n parseIncompleteMarkdown={isAnimating}\n components={components}\n rehypePlugins={rehypePlugins}\n >\n {children}\n </Streamdown>\n </div>\n );\n },\n (prevProps, nextProps) => prevProps.children === nextProps.children,\n);\n\nResponse.displayName = 'Response';\n\nexport { Response };\n"]}
1
+ {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../../src/ai/response/Response.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 */\n\n// oxlint-disable sort-keys\nimport { Code, TextLink, Typography } from '@neo4j-ndl/react';\nimport classNames from 'classnames';\nimport { memo, useMemo, useRef } from 'react';\nimport { defaultRehypePlugins, Streamdown } from 'streamdown';\n\nimport { type CommonProps } from '../../_common/types';\nimport { type LanguageProp, Languages } from '../../code-block/code-languages';\nimport { CodePreview } from '../code-preview';\n\nconst STREAMDOWN_PLACEHOLDER_PROTOCOL = 'streamdown:';\n\nconst CLOBBER_PREFIX = 'user-content-';\nconst CLOBBERABLE_PROPERTIES = [\n 'id',\n 'name',\n 'ariaDescribedBy',\n 'ariaLabelledBy',\n];\n\ntype HastNode = {\n type: string;\n properties?: Record<string, unknown>;\n children?: HastNode[];\n};\n\nconst prefixClobberValue = (value: unknown) =>\n typeof value === 'string' && !value.startsWith(CLOBBER_PREFIX)\n ? `${CLOBBER_PREFIX}${value}`\n : value;\n\nconst prefixClobberableProperties = (node: HastNode) => {\n if (node.type === 'element' && node.properties !== undefined) {\n for (const key of CLOBBERABLE_PROPERTIES) {\n const value = node.properties[key];\n if (value === undefined || value === null) {\n continue;\n }\n node.properties[key] = Array.isArray(value)\n ? value.map(prefixClobberValue)\n : prefixClobberValue(value);\n }\n }\n node.children?.forEach(prefixClobberableProperties);\n};\n\n/**\n * Streamdown 2 sanitizes with an empty `clobberPrefix`, which lets ids and\n * names from model output collide with the host document (DOM clobbering).\n * Prefixing after sanitization keeps already prefixed footnote ids intact.\n */\nconst rehypePrefixClobberableProperties = () => prefixClobberableProperties;\n\nconst rehypePlugins = [\n ...Object.values(defaultRehypePlugins),\n rehypePrefixClobberableProperties,\n];\n\ntype ResponseProps = {\n /** The response from the AI */\n children: string;\n /** Whether the response is animating */\n isAnimating?: React.ComponentProps<typeof Streamdown>['isAnimating'];\n};\n\n/**\n * The component is used to display the response from an LLM.\n * It handles markdown rendering and streaming.\n *\n * @alpha - Changes to this component may be breaking.\n */\nconst Response = memo(\n ({\n className,\n children,\n isAnimating = false,\n ref,\n style,\n htmlAttributes,\n ...restProps\n }: CommonProps<'div', ResponseProps>) => {\n // Use a ref to store the current markdown content so we can check for unclosed fences\n // without recreating the components object on every render\n const childrenRef = useRef(children);\n childrenRef.current = children;\n\n const components: React.ComponentProps<typeof Streamdown>['components'] =\n useMemo(\n () => ({\n // oxlint-disable-next-line no-unused-vars\n ol: ({ node, children, className, ref: _ref, ...props }) => (\n <ol className={className} {...props}>\n {children}\n </ol>\n ),\n // oxlint-disable-next-line no-unused-vars\n ul: ({ node, children, className, ref: _ref, ...props }) => (\n <ul className={classNames(className)} {...props}>\n {children}\n </ul>\n ),\n // oxlint-disable-next-line no-unused-vars\n li: ({ node, children, className, ref: _ref, ...props }) => (\n <li className={className} {...props}>\n {children}\n </li>\n ),\n // oxlint-disable-next-line no-unused-vars\n hr: ({ node, className, ref: _ref, ...props }) => (\n <hr className={classNames(className)} {...props} />\n ),\n // oxlint-disable-next-line no-unused-vars\n strong: ({\n node: _node,\n children,\n className,\n style,\n ref: _ref,\n ...props\n }) => (\n <Typography\n as=\"strong\"\n variant=\"body-medium\"\n className={className}\n style={{ ...style, fontWeight: 'bold' }}\n {...props}\n >\n {children}\n </Typography>\n ),\n // oxlint-disable-next-line no-unused-vars\n em: ({ node, children, className, style, ref: _ref, ...props }) => (\n <Typography\n as=\"em\"\n variant=\"body-medium\"\n className={className}\n style={{ ...style, fontStyle: 'italic' }}\n {...props}\n >\n {children}\n </Typography>\n ),\n // oxlint-disable-next-line no-unused-vars, id-length\n a: ({ node: _node, children, className, href, ...props }) => {\n // Streamdown marks links whose URL is still streaming with a placeholder href\n if (href?.startsWith(STREAMDOWN_PLACEHOLDER_PROTOCOL) === true) {\n return <span className={className}>{children}</span>;\n }\n return (\n <TextLink\n type=\"internal\"\n className={className}\n href={href}\n htmlAttributes={props}\n >\n {children}\n </TextLink>\n );\n },\n // oxlint-disable-next-line no-unused-vars\n h1: ({ node, children, className, ...props }) => (\n <h1 className={className} {...props}>\n {children}\n </h1>\n ),\n // oxlint-disable-next-line no-unused-vars\n h2: ({ node, children, className, ...props }) => (\n <h2 className={className} {...props}>\n {children}\n </h2>\n ),\n // oxlint-disable-next-line no-unused-vars\n h3: ({ node, children, className, ...props }) => (\n <h3 className={className} {...props}>\n {children}\n </h3>\n ),\n // oxlint-disable-next-line no-unused-vars\n h4: ({ node, children, className, ...props }) => (\n <h4 className={className} {...props}>\n {children}\n </h4>\n ),\n // oxlint-disable-next-line no-unused-vars\n h5: ({ node, children, className, ...props }) => (\n <h5 className={className} {...props}>\n {children}\n </h5>\n ),\n // oxlint-disable-next-line no-unused-vars\n h6: ({ node, children, className, ...props }) => (\n <h6 className={className} {...props}>\n {children}\n </h6>\n ),\n // oxlint-disable-next-line no-unused-vars\n table: ({ node, children, className, ref: _ref, ...props }) => (\n <div className=\"ndl-ai-response-table-wrapper\">\n <table className={className} {...props}>\n {children}\n </table>\n </div>\n ),\n // oxlint-disable-next-line no-unused-vars\n thead: ({ node, children, className, ref: _ref, ...props }) => (\n <thead className={className} {...props}>\n {children}\n </thead>\n ),\n // oxlint-disable-next-line no-unused-vars\n tbody: ({ node, children, className, ref: _ref, ...props }) => (\n <tbody className={className} {...props}>\n {children}\n </tbody>\n ),\n // oxlint-disable-next-line no-unused-vars\n tr: ({ node, children, className, ref: _ref, ...props }) => (\n <tr className={className} {...props}>\n {children}\n </tr>\n ),\n // oxlint-disable-next-line no-unused-vars\n th: ({ node, children, className, ref: _ref, ...props }) => (\n <th className={className} {...props}>\n {children}\n </th>\n ),\n // oxlint-disable-next-line no-unused-vars\n td: ({ node, children, className, ref: _ref, ...props }) => (\n <td className={className} {...props}>\n {children}\n </td>\n ),\n // oxlint-disable-next-line no-unused-vars\n sup: ({ node, children, className, ref: _ref, ...props }) => (\n <sup className={className} {...props}>\n {children}\n </sup>\n ),\n // oxlint-disable-next-line no-unused-vars\n sub: ({ node, children, className, ref: _ref, ...props }) => (\n <sub className={className} {...props}>\n {children}\n </sub>\n ),\n // oxlint-disable-next-line no-unused-vars\n blockquote: ({ node, children, className, ref: _ref, ...props }) => (\n <blockquote className={classNames(className)} {...props}>\n {children}\n </blockquote>\n ),\n code: ({ node, className, children: codeChildren, ...props }) => {\n const isInline =\n node?.position?.start.line === node?.position?.end.line;\n\n const nodeClassNamesRaw = node?.properties?.className;\n const nodeClassNamesArray: string[] = [];\n\n if (typeof nodeClassNamesRaw === 'string') {\n nodeClassNamesArray.push.apply(\n nodeClassNamesArray,\n nodeClassNamesRaw.split(' '),\n );\n } else if (Array.isArray(nodeClassNamesRaw)) {\n nodeClassNamesArray.push.apply(\n nodeClassNamesArray,\n nodeClassNamesRaw as string[],\n );\n }\n\n let language: LanguageProp | 'text' = 'text';\n const rawLanguage = nodeClassNamesArray.find((string: string) =>\n string.startsWith('language-'),\n );\n if (rawLanguage !== undefined) {\n language =\n (rawLanguage.replace('language-', '') as LanguageProp) ??\n 'text';\n }\n language = (Languages as readonly string[]).includes(language)\n ? (language as LanguageProp)\n : 'text';\n if (isInline) {\n return (\n <Code\n isRunnable={false}\n className={className}\n htmlAttributes={props}\n >\n {codeChildren}\n </Code>\n );\n }\n if (typeof codeChildren === 'string') {\n // Check if code fences are balanced in the markdown\n // If there are an odd number of fences, it means there's an unclosed code block\n const fenceMatches = childrenRef.current.match(/```/g);\n const fenceCount = fenceMatches ? fenceMatches.length : 0;\n const hasUnclosedFence = fenceCount % 2 !== 0;\n\n // Show loading state when there's an unclosed fence (code block is streaming)\n const isCodeBlockLoading = hasUnclosedFence;\n return (\n <CodePreview\n key={props.key}\n code={codeChildren}\n isLoading={isCodeBlockLoading}\n language={language}\n className={className}\n htmlAttributes={{\n ...props,\n }}\n />\n );\n } else {\n return <code className={className}>{codeChildren}</code>;\n }\n },\n // oxlint-disable-next-line no-unused-vars\n pre: ({ node, className, children, ref: _ref, ...props }) => {\n return (\n <pre className={className} {...props}>\n {children}\n </pre>\n );\n },\n // oxlint-disable-next-line no-unused-vars, id-length\n p: ({ node: _node, children, className, ref: _ref, ...props }) => (\n <Typography\n as=\"p\"\n variant=\"body-medium\"\n className={classNames(className)}\n {...props}\n >\n {children}\n </Typography>\n ),\n // oxlint-disable-next-line no-unused-vars\n img: ({ node, className, src, alt, ref: _ref, ...props }) => {\n if (\n typeof src === 'string' &&\n src.startsWith(STREAMDOWN_PLACEHOLDER_PROTOCOL)\n ) {\n return null;\n }\n return (\n <img\n className={classNames(className)}\n src={src}\n alt={alt}\n {...props}\n />\n );\n },\n }),\n [],\n );\n\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-ai-response', className)}\n {...restProps}\n {...htmlAttributes}\n >\n <Streamdown\n isAnimating={isAnimating}\n parseIncompleteMarkdown={isAnimating}\n components={components}\n rehypePlugins={rehypePlugins}\n >\n {children}\n </Streamdown>\n </div>\n );\n },\n (prevProps, nextProps) => prevProps.children === nextProps.children,\n);\n\nResponse.displayName = 'Response';\n\nexport { Response };\n"]}
@@ -139,7 +139,7 @@ export const Component = () => {
139
139
  }, 50);
140
140
  }, 2000);
141
141
  };
142
- return (_jsx("section", { className: "n-h-screen", children: _jsxs("div", { className: "n-w-[440px] n-h-full n-flex n-flex-col n-bg-neutral-bg-weak", children: [_jsx("div", { className: "n-flex n-flex-row n-border-b n-border-neutral-border-weak n-p-3", children: _jsxs("div", { className: "n-ml-auto", children: [_jsx(CleanIconButton, { description: "settings", tooltipProps: {}, children: _jsx(Cog6ToothIconOutline, {}) }), _jsx(CleanIconButton, { description: "close", children: _jsx(XMarkIconOutline, {}) })] }) }), _jsx("div", { className: "n-p-4 n-flex n-flex-col n-grow n-overflow-y-auto", children: messages.length === 0 ? (_jsx("div", { className: "n-flex n-flex-col ", children: _jsxs("div", { className: "n-flex n-flex-col n-gap-12", children: [_jsx(Typography, { variant: "display", children: "Hi [User], how can I help you today?" }), _jsxs("div", { className: "n-flex n-flex-col n-gap-4", children: [_jsx(Typography, { variant: "body-medium", children: "Suggestions" }), _jsx(Suggestion, { isPrimary: true, onClick: () => {
142
+ return (_jsx("section", { className: "h-screen", children: _jsxs("div", { className: "w-[440px] h-full flex flex-col bg-neutral-bg-weak", children: [_jsx("div", { className: "flex flex-row border-b border-neutral-border-weak p-3", children: _jsxs("div", { className: "ml-auto", children: [_jsx(CleanIconButton, { description: "settings", tooltipProps: {}, children: _jsx(Cog6ToothIconOutline, {}) }), _jsx(CleanIconButton, { description: "close", children: _jsx(XMarkIconOutline, {}) })] }) }), _jsx("div", { className: "p-4 flex flex-col grow overflow-y-auto", children: messages.length === 0 ? (_jsx("div", { className: "flex flex-col ", children: _jsxs("div", { className: "flex flex-col gap-12", children: [_jsx(Typography, { variant: "display", children: "Hi [User], how can I help you today?" }), _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(Typography, { variant: "body-medium", children: "Suggestions" }), _jsx(Suggestion, { isPrimary: true, onClick: () => {
143
143
  handleSend('I want to import data');
144
144
  }, children: "I want to import data" }), _jsx(Suggestion, { onClick: () => {
145
145
  handleSend('Create an AI agent');
@@ -147,10 +147,10 @@ export const Component = () => {
147
147
  handleSend('Invite project members');
148
148
  }, children: "Invite project members" }), _jsx(Suggestion, { onClick: () => {
149
149
  handleSend('Generate a report');
150
- }, children: "Generate a report" })] }), _jsxs(Typography, { variant: "body-medium", children: ["You can also drag and drop files here, or", ' ', _jsx(TextLink, { as: "button", type: "internal-underline", children: "browse" }), ". Supports CVG, MOV, PDF"] })] }) })) : (_jsxs("div", { className: "n-flex n-flex-col n-gap-4 n-pb-4", children: [messages.map((msg, idx) => (_jsx("div", { className: `n-flex ${msg.role === 'user' ? 'n-justify-end' : 'n-justify-start'}`, children: msg.role === 'user' ? (_jsx("div", { className: "n-max-w-[85%]", children: _jsx(UserBubble, { avatarProps: {
150
+ }, children: "Generate a report" })] }), _jsxs(Typography, { variant: "body-medium", children: ["You can also drag and drop files here, or", ' ', _jsx(TextLink, { as: "button", type: "internal", children: "browse" }), ". Supports CVG, MOV, PDF"] })] }) })) : (_jsxs("div", { className: "flex flex-col gap-4 pb-4", children: [messages.map((msg, idx) => (_jsx("div", { className: `flex ${msg.role === 'user' ? 'justify-end' : 'justify-start'}`, children: msg.role === 'user' ? (_jsx("div", { className: "max-w-[85%]", children: _jsx(UserBubble, { avatarProps: {
151
151
  name: 'NM',
152
152
  type: 'letters',
153
- }, children: msg.content }) })) : (_jsxs("div", { className: "n-w-full n-flex n-flex-col n-gap-2", children: [msg.thinkingTime !== undefined && (_jsx(Thinking, { isThinking: false, thinkingMs: msg.thinkingTime })), _jsxs("div", { className: "n-flex n-flex-col n-gap-2", children: [_jsx(Response, { children: msg.content }), msg.isDone === true && (_jsxs("div", { className: "n-flex n-flex-row n-gap-1.5", children: [_jsx(CleanIconButton, { size: "small", description: "Dislike", children: _jsx(HandThumbDownIconOutline, {}) }), _jsx(CleanIconButton, { size: "small", description: "Re-run", children: _jsx(ArrowPathIconOutline, {}) }), _jsx(CleanIconButton, { size: "small", description: "Copy", children: _jsx(Square2StackIconOutline, {}) })] }))] })] })) }, idx))), isThinking && _jsx(Thinking, { isThinking: true }), _jsx("div", { ref: messagesEndRef })] })) }), _jsx("div", { className: "n-px-4 n-pt-4 n-pb-1 n-mt-auto", children: _jsx(Prompt, { value: prompt, onChange: (event) => setPrompt(event.target.value), onSubmitPrompt: () => handleSend(), onCancelPrompt: handleCancel, isRunningPrompt: isThinking || isStreaming, isSubmitDisabled: prompt.length === 0 && !(isThinking || isStreaming), bottomContent: _jsx(CleanIconButton, { description: "Add files", size: "small", children: _jsx(PlusIconOutline, {}) }) }) })] }) }));
153
+ }, children: msg.content }) })) : (_jsxs("div", { className: "w-full flex flex-col gap-2", children: [msg.thinkingTime !== undefined && (_jsx(Thinking, { isThinking: false, thinkingMs: msg.thinkingTime })), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Response, { children: msg.content }), msg.isDone === true && (_jsxs("div", { className: "flex flex-row gap-1.5", children: [_jsx(CleanIconButton, { size: "small", description: "Dislike", children: _jsx(HandThumbDownIconOutline, {}) }), _jsx(CleanIconButton, { size: "small", description: "Re-run", children: _jsx(ArrowPathIconOutline, {}) }), _jsx(CleanIconButton, { size: "small", description: "Copy", children: _jsx(Square2StackIconOutline, {}) })] }))] })] })) }, idx))), isThinking && _jsx(Thinking, { isThinking: true }), _jsx("div", { ref: messagesEndRef })] })) }), _jsx("div", { className: "px-4 pt-4 pb-1 mt-auto", children: _jsx(Prompt, { value: prompt, onChange: (event) => setPrompt(event.target.value), onSubmitPrompt: () => handleSend(), onCancelPrompt: handleCancel, isRunningPrompt: isThinking || isStreaming, isSubmitDisabled: prompt.length === 0 && !(isThinking || isStreaming), bottomContent: _jsx(CleanIconButton, { description: "Add files", size: "small", children: _jsx(PlusIconOutline, {}) }) }) })] }) }));
154
154
  };
155
155
  export default Component;
156
156
  //# sourceMappingURL=response-full-example.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-full-example.story.js","sourceRoot":"","sources":["../../../../../src/ai/response/stories/response-full-example.story.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 { CleanIconButton, TextLink, Typography } from '@neo4j-ndl/react';\nimport {\n Prompt,\n Response,\n Suggestion,\n Thinking,\n UserBubble,\n} from '@neo4j-ndl/react/ai';\nimport {\n ArrowPathIconOutline,\n Cog6ToothIconOutline,\n HandThumbDownIconOutline,\n PlusIconOutline,\n Square2StackIconOutline,\n XMarkIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { useEffect, useRef, useState } from 'react';\n\nconst FAKE_RESPONSES = [\n `Here is a simple response with some **bold text** and *italics*.`,\n `Here is a list of items:\n- Item 1\n- Item 2\n- Item 3`,\n `Here is a code block example:\n\n\\`\\`\\`typescript\nconst greeting = \"Hello World\";\nconsole.log(greeting);\n\\`\\`\\`\n`,\n `# Heading 1\n## Heading 2\n### Heading 3\n\nSome text under headings.`,\n `You can also use tables:\n\n| Header 1 | Header 2 |\n|Data 1|Data 2|\n|Data 3|Data 4|\n`,\n];\n\nexport const Component = () => {\n const [messages, setMessages] = useState<\n {\n role: 'user' | 'assistant';\n content: string;\n thinkingTime?: number;\n isDone?: boolean;\n }[]\n >([]);\n const [prompt, setPrompt] = useState('');\n const [isThinking, setIsThinking] = useState(false);\n const [isStreaming, setIsStreaming] = useState(false);\n const [responseIndex, setResponseIndex] = useState(0);\n const messagesEndRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n\n const scrollToBottom = () => {\n messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n };\n\n useEffect(() => {\n scrollToBottom();\n }, [messages, isThinking]);\n\n const handleCancel = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n setIsThinking(false);\n setIsStreaming(false);\n\n // Mark the last message as done if stopped\n setMessages((prev) => {\n const newMessages = [...prev];\n const lastMessage = newMessages[newMessages.length - 1];\n if (lastMessage?.role === 'assistant') {\n lastMessage.isDone = true;\n }\n return newMessages;\n });\n };\n\n const handleSend = (overridePrompt?: string) => {\n const textToSend = overridePrompt || prompt;\n\n if (!textToSend.trim()) {\n return;\n }\n\n setMessages((prev) => [...prev, { content: textToSend, role: 'user' }]);\n setPrompt('');\n setIsThinking(true);\n const startTime = Date.now();\n\n // Simulate network delay (thinking time)\n timeoutRef.current = setTimeout(() => {\n const endTime = Date.now();\n const thinkingTime = endTime - startTime;\n setIsThinking(false);\n setIsStreaming(true);\n\n const responseText = FAKE_RESPONSES[responseIndex];\n setResponseIndex((prev) => (prev + 1) % FAKE_RESPONSES.length);\n\n let currentText = '';\n setMessages((prev) => [\n ...prev,\n { content: '', isDone: false, role: 'assistant', thinkingTime },\n ]);\n\n // Simulate streaming\n intervalRef.current = setInterval(() => {\n if (currentText.length < responseText.length) {\n // Add a few characters at a time to simulate chunks\n // Ensure we don't split newlines incorrectly if that's an issue,\n // but simple slicing should be fine as long as the source has \\n.\n const chunk = responseText.slice(\n currentText.length,\n currentText.length + 2,\n );\n currentText += chunk;\n\n setMessages((prev) => {\n const newMessages = [...prev];\n const lastMessage = newMessages[newMessages.length - 1];\n if (lastMessage.role === 'assistant') {\n lastMessage.content = currentText;\n }\n return newMessages;\n });\n } else {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n setIsStreaming(false);\n setMessages((prev) => {\n const newMessages = [...prev];\n const lastMessage = newMessages[newMessages.length - 1];\n if (lastMessage.role === 'assistant') {\n lastMessage.isDone = true;\n }\n return newMessages;\n });\n }\n }, 50);\n }, 2000);\n };\n\n return (\n <section className=\"n-h-screen\">\n <div className=\"n-w-[440px] n-h-full n-flex n-flex-col n-bg-neutral-bg-weak\">\n <div className=\"n-flex n-flex-row n-border-b n-border-neutral-border-weak n-p-3\">\n <div className=\"n-ml-auto\">\n <CleanIconButton description=\"settings\" tooltipProps={{}}>\n <Cog6ToothIconOutline />\n </CleanIconButton>\n <CleanIconButton description=\"close\">\n <XMarkIconOutline />\n </CleanIconButton>\n </div>\n </div>\n <div className=\"n-p-4 n-flex n-flex-col n-grow n-overflow-y-auto\">\n {messages.length === 0 ? (\n <div className=\"n-flex n-flex-col \">\n <div className=\"n-flex n-flex-col n-gap-12\">\n <Typography variant=\"display\">\n Hi [User], how can I help you today?\n </Typography>\n <div className=\"n-flex n-flex-col n-gap-4\">\n <Typography variant=\"body-medium\">Suggestions</Typography>\n <Suggestion\n isPrimary\n onClick={() => {\n handleSend('I want to import data');\n }}\n >\n I want to import data\n </Suggestion>\n <Suggestion\n onClick={() => {\n handleSend('Create an AI agent');\n }}\n >\n Create an AI agent\n </Suggestion>\n <Suggestion\n onClick={() => {\n handleSend('Invite project members');\n }}\n >\n Invite project members\n </Suggestion>\n <Suggestion\n onClick={() => {\n handleSend('Generate a report');\n }}\n >\n Generate a report\n </Suggestion>\n </div>\n <Typography variant=\"body-medium\">\n You can also drag and drop files here, or{' '}\n <TextLink as=\"button\" type=\"internal-underline\">\n browse\n </TextLink>\n . Supports CVG, MOV, PDF\n </Typography>\n </div>\n </div>\n ) : (\n <div className=\"n-flex n-flex-col n-gap-4 n-pb-4\">\n {messages.map((msg, idx) => (\n <div\n key={idx}\n className={`n-flex ${\n msg.role === 'user' ? 'n-justify-end' : 'n-justify-start'\n }`}\n >\n {msg.role === 'user' ? (\n <div className=\"n-max-w-[85%]\">\n <UserBubble\n avatarProps={{\n name: 'NM',\n type: 'letters',\n }}\n >\n {msg.content}\n </UserBubble>\n </div>\n ) : (\n <div className=\"n-w-full n-flex n-flex-col n-gap-2\">\n {msg.thinkingTime !== undefined && (\n <Thinking\n isThinking={false}\n thinkingMs={msg.thinkingTime}\n />\n )}\n <div className=\"n-flex n-flex-col n-gap-2\">\n <Response>{msg.content}</Response>\n\n {msg.isDone === true && (\n <div className=\"n-flex n-flex-row n-gap-1.5\">\n <CleanIconButton size=\"small\" description=\"Dislike\">\n <HandThumbDownIconOutline />\n </CleanIconButton>\n <CleanIconButton size=\"small\" description=\"Re-run\">\n <ArrowPathIconOutline />\n </CleanIconButton>\n <CleanIconButton size=\"small\" description=\"Copy\">\n <Square2StackIconOutline />\n </CleanIconButton>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n ))}\n {isThinking && <Thinking isThinking={true} />}\n <div ref={messagesEndRef} />\n </div>\n )}\n </div>\n <div className=\"n-px-4 n-pt-4 n-pb-1 n-mt-auto\">\n <Prompt\n value={prompt}\n onChange={(event) => setPrompt(event.target.value)}\n onSubmitPrompt={() => handleSend()}\n onCancelPrompt={handleCancel}\n isRunningPrompt={isThinking || isStreaming}\n isSubmitDisabled={\n prompt.length === 0 && !(isThinking || isStreaming)\n }\n bottomContent={\n <CleanIconButton description=\"Add files\" size=\"small\">\n <PlusIconOutline />\n </CleanIconButton>\n }\n />\n </div>\n </div>\n </section>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"response-full-example.story.js","sourceRoot":"","sources":["../../../../../src/ai/response/stories/response-full-example.story.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 { CleanIconButton, TextLink, Typography } from '@neo4j-ndl/react';\nimport {\n Prompt,\n Response,\n Suggestion,\n Thinking,\n UserBubble,\n} from '@neo4j-ndl/react/ai';\nimport {\n ArrowPathIconOutline,\n Cog6ToothIconOutline,\n HandThumbDownIconOutline,\n PlusIconOutline,\n Square2StackIconOutline,\n XMarkIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { useEffect, useRef, useState } from 'react';\n\nconst FAKE_RESPONSES = [\n `Here is a simple response with some **bold text** and *italics*.`,\n `Here is a list of items:\n- Item 1\n- Item 2\n- Item 3`,\n `Here is a code block example:\n\n\\`\\`\\`typescript\nconst greeting = \"Hello World\";\nconsole.log(greeting);\n\\`\\`\\`\n`,\n `# Heading 1\n## Heading 2\n### Heading 3\n\nSome text under headings.`,\n `You can also use tables:\n\n| Header 1 | Header 2 |\n|Data 1|Data 2|\n|Data 3|Data 4|\n`,\n];\n\nexport const Component = () => {\n const [messages, setMessages] = useState<\n {\n role: 'user' | 'assistant';\n content: string;\n thinkingTime?: number;\n isDone?: boolean;\n }[]\n >([]);\n const [prompt, setPrompt] = useState('');\n const [isThinking, setIsThinking] = useState(false);\n const [isStreaming, setIsStreaming] = useState(false);\n const [responseIndex, setResponseIndex] = useState(0);\n const messagesEndRef = useRef<HTMLDivElement>(null);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n\n const scrollToBottom = () => {\n messagesEndRef.current?.scrollIntoView({ behavior: 'smooth' });\n };\n\n useEffect(() => {\n scrollToBottom();\n }, [messages, isThinking]);\n\n const handleCancel = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n setIsThinking(false);\n setIsStreaming(false);\n\n // Mark the last message as done if stopped\n setMessages((prev) => {\n const newMessages = [...prev];\n const lastMessage = newMessages[newMessages.length - 1];\n if (lastMessage?.role === 'assistant') {\n lastMessage.isDone = true;\n }\n return newMessages;\n });\n };\n\n const handleSend = (overridePrompt?: string) => {\n const textToSend = overridePrompt || prompt;\n\n if (!textToSend.trim()) {\n return;\n }\n\n setMessages((prev) => [...prev, { content: textToSend, role: 'user' }]);\n setPrompt('');\n setIsThinking(true);\n const startTime = Date.now();\n\n // Simulate network delay (thinking time)\n timeoutRef.current = setTimeout(() => {\n const endTime = Date.now();\n const thinkingTime = endTime - startTime;\n setIsThinking(false);\n setIsStreaming(true);\n\n const responseText = FAKE_RESPONSES[responseIndex];\n setResponseIndex((prev) => (prev + 1) % FAKE_RESPONSES.length);\n\n let currentText = '';\n setMessages((prev) => [\n ...prev,\n { content: '', isDone: false, role: 'assistant', thinkingTime },\n ]);\n\n // Simulate streaming\n intervalRef.current = setInterval(() => {\n if (currentText.length < responseText.length) {\n // Add a few characters at a time to simulate chunks\n // Ensure we don't split newlines incorrectly if that's an issue,\n // but simple slicing should be fine as long as the source has \\n.\n const chunk = responseText.slice(\n currentText.length,\n currentText.length + 2,\n );\n currentText += chunk;\n\n setMessages((prev) => {\n const newMessages = [...prev];\n const lastMessage = newMessages[newMessages.length - 1];\n if (lastMessage.role === 'assistant') {\n lastMessage.content = currentText;\n }\n return newMessages;\n });\n } else {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n setIsStreaming(false);\n setMessages((prev) => {\n const newMessages = [...prev];\n const lastMessage = newMessages[newMessages.length - 1];\n if (lastMessage.role === 'assistant') {\n lastMessage.isDone = true;\n }\n return newMessages;\n });\n }\n }, 50);\n }, 2000);\n };\n\n return (\n <section className=\"h-screen\">\n <div className=\"w-[440px] h-full flex flex-col bg-neutral-bg-weak\">\n <div className=\"flex flex-row border-b border-neutral-border-weak p-3\">\n <div className=\"ml-auto\">\n <CleanIconButton description=\"settings\" tooltipProps={{}}>\n <Cog6ToothIconOutline />\n </CleanIconButton>\n <CleanIconButton description=\"close\">\n <XMarkIconOutline />\n </CleanIconButton>\n </div>\n </div>\n <div className=\"p-4 flex flex-col grow overflow-y-auto\">\n {messages.length === 0 ? (\n <div className=\"flex flex-col \">\n <div className=\"flex flex-col gap-12\">\n <Typography variant=\"display\">\n Hi [User], how can I help you today?\n </Typography>\n <div className=\"flex flex-col gap-4\">\n <Typography variant=\"body-medium\">Suggestions</Typography>\n <Suggestion\n isPrimary\n onClick={() => {\n handleSend('I want to import data');\n }}\n >\n I want to import data\n </Suggestion>\n <Suggestion\n onClick={() => {\n handleSend('Create an AI agent');\n }}\n >\n Create an AI agent\n </Suggestion>\n <Suggestion\n onClick={() => {\n handleSend('Invite project members');\n }}\n >\n Invite project members\n </Suggestion>\n <Suggestion\n onClick={() => {\n handleSend('Generate a report');\n }}\n >\n Generate a report\n </Suggestion>\n </div>\n <Typography variant=\"body-medium\">\n You can also drag and drop files here, or{' '}\n <TextLink as=\"button\" type=\"internal\">\n browse\n </TextLink>\n . Supports CVG, MOV, PDF\n </Typography>\n </div>\n </div>\n ) : (\n <div className=\"flex flex-col gap-4 pb-4\">\n {messages.map((msg, idx) => (\n <div\n key={idx}\n className={`flex ${\n msg.role === 'user' ? 'justify-end' : 'justify-start'\n }`}\n >\n {msg.role === 'user' ? (\n <div className=\"max-w-[85%]\">\n <UserBubble\n avatarProps={{\n name: 'NM',\n type: 'letters',\n }}\n >\n {msg.content}\n </UserBubble>\n </div>\n ) : (\n <div className=\"w-full flex flex-col gap-2\">\n {msg.thinkingTime !== undefined && (\n <Thinking\n isThinking={false}\n thinkingMs={msg.thinkingTime}\n />\n )}\n <div className=\"flex flex-col gap-2\">\n <Response>{msg.content}</Response>\n\n {msg.isDone === true && (\n <div className=\"flex flex-row gap-1.5\">\n <CleanIconButton size=\"small\" description=\"Dislike\">\n <HandThumbDownIconOutline />\n </CleanIconButton>\n <CleanIconButton size=\"small\" description=\"Re-run\">\n <ArrowPathIconOutline />\n </CleanIconButton>\n <CleanIconButton size=\"small\" description=\"Copy\">\n <Square2StackIconOutline />\n </CleanIconButton>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n ))}\n {isThinking && <Thinking isThinking={true} />}\n <div ref={messagesEndRef} />\n </div>\n )}\n </div>\n <div className=\"px-4 pt-4 pb-1 mt-auto\">\n <Prompt\n value={prompt}\n onChange={(event) => setPrompt(event.target.value)}\n onSubmitPrompt={() => handleSend()}\n onCancelPrompt={handleCancel}\n isRunningPrompt={isThinking || isStreaming}\n isSubmitDisabled={\n prompt.length === 0 && !(isThinking || isStreaming)\n }\n bottomContent={\n <CleanIconButton description=\"Add files\" size=\"small\">\n <PlusIconOutline />\n </CleanIconButton>\n }\n />\n </div>\n </div>\n </section>\n );\n};\n\nexport default Component;\n"]}
@@ -22,7 +22,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
22
  import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
23
23
  import { Suggestion } from '@neo4j-ndl/react/ai';
24
24
  const Component = () => {
25
- return (_jsxs("div", { className: "n-flex n-flex-row n-gap-token-8", children: [_jsx(Suggestion, { size: "small", children: "This is a small suggestion" }), _jsx(Suggestion, { size: "large", children: "This is a large suggestion" })] }));
25
+ return (_jsxs("div", { className: "flex flex-row gap-token-8", children: [_jsx(Suggestion, { size: "small", children: "This is a small suggestion" }), _jsx(Suggestion, { size: "large", children: "This is a large suggestion" })] }));
26
26
  };
27
27
  export default Component;
28
28
  //# sourceMappingURL=suggestion-sizes.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion-sizes.story.js","sourceRoot":"","sources":["../../../../../src/ai/suggestion/stories/suggestion-sizes.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,iCAAiC,aAC9C,KAAC,UAAU,IAAC,IAAI,EAAC,OAAO,2CAAwC,EAChE,KAAC,UAAU,IAAC,IAAI,EAAC,OAAO,2CAAwC,IAC5D,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 { Suggestion } from '@neo4j-ndl/react/ai';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-flex-row n-gap-token-8\">\n <Suggestion size=\"small\">This is a small suggestion</Suggestion>\n <Suggestion size=\"large\">This is a large suggestion</Suggestion>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"suggestion-sizes.story.js","sourceRoot":"","sources":["../../../../../src/ai/suggestion/stories/suggestion-sizes.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,UAAU,IAAC,IAAI,EAAC,OAAO,2CAAwC,EAChE,KAAC,UAAU,IAAC,IAAI,EAAC,OAAO,2CAAwC,IAC5D,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 { Suggestion } from '@neo4j-ndl/react/ai';\n\nconst Component = () => {\n return (\n <div className=\"flex flex-row gap-token-8\">\n <Suggestion size=\"small\">This is a small suggestion</Suggestion>\n <Suggestion size=\"large\">This is a large suggestion</Suggestion>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -27,7 +27,7 @@ import { useRef, useState } from 'react';
27
27
  const Component = () => {
28
28
  const [isMenuOpen, setIsMenuOpen] = useState(false);
29
29
  const anchorRef = useRef(null);
30
- return (_jsx("div", { className: "n-flex n-flex-coln-gap-token-64 n-w-full n-justify-end", children: _jsxs("div", { className: "n-flex n-flex-col n-gap-token-8 n-items-end", children: [_jsx(MoreFiles, { count: 3, isActive: isMenuOpen, onClick: () => setIsMenuOpen(!isMenuOpen), ref: anchorRef }), _jsxs(Menu, { isOpen: isMenuOpen, anchorRef: anchorRef, onClose: () => setIsMenuOpen(false), children: [_jsx(Menu.Item, { leadingVisual: _jsx(DocumentIconOutline, {}), title: "Gardening tips", description: "PDF", onClick: () => alert('Gardening tips') }), _jsx(Menu.Item, { leadingVisual: _jsx(TableCellsIconOutline, {}), title: "TvSeries", description: "CSV", onClick: () => alert('TvSeries') }), _jsx(Menu.Item, { leadingVisual: _jsx(PhotoIconOutline, {}), title: "Family photo", description: "JPG", onClick: () => alert('Family photo') })] }), _jsx(ImageTag, { src: "https://plus.unsplash.com/premium_photo-1676496046182-356a6a0ed002?q=80&w=2952&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", alt: "Landscape image", fileName: "Landscape image", fileType: "jpg" }), _jsx(FileTag, { icon: _jsx(TableCellsIconOutline, {}), fileName: "MoviesDecade", fileType: "csv" }), _jsx(FileTag, { icon: _jsx(DocumentIconOutline, {}), fileName: "Science Fiction Bestsellers", fileType: "pdf" }), _jsx(UserBubble, { avatarProps: {
30
+ return (_jsx("div", { className: "flex flex-coln-gap-token-64 w-full justify-end", children: _jsxs("div", { className: "flex flex-col gap-token-8 items-end", children: [_jsx(MoreFiles, { count: 3, isActive: isMenuOpen, onClick: () => setIsMenuOpen(!isMenuOpen), ref: anchorRef }), _jsxs(Menu, { isOpen: isMenuOpen, anchorRef: anchorRef, onClose: () => setIsMenuOpen(false), children: [_jsx(Menu.Item, { leadingVisual: _jsx(DocumentIconOutline, {}), title: "Gardening tips", description: "PDF", onClick: () => alert('Gardening tips') }), _jsx(Menu.Item, { leadingVisual: _jsx(TableCellsIconOutline, {}), title: "TvSeries", description: "CSV", onClick: () => alert('TvSeries') }), _jsx(Menu.Item, { leadingVisual: _jsx(PhotoIconOutline, {}), title: "Family photo", description: "JPG", onClick: () => alert('Family photo') })] }), _jsx(ImageTag, { src: "https://plus.unsplash.com/premium_photo-1676496046182-356a6a0ed002?q=80&w=2952&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D", alt: "Landscape image", fileName: "Landscape image", fileType: "jpg" }), _jsx(FileTag, { icon: _jsx(TableCellsIconOutline, {}), fileName: "MoviesDecade", fileType: "csv" }), _jsx(FileTag, { icon: _jsx(DocumentIconOutline, {}), fileName: "Science Fiction Bestsellers", fileType: "pdf" }), _jsx(UserBubble, { avatarProps: {
31
31
  name: 'KM',
32
32
  source: 'https://media.istockphoto.com/id/1334716681/photo/a-smiling-man.jpg?s=612x612&w=0&k=20&c=U6rkSDpQMzkcJEqx2hAa63fNLIhqnZb31Xuc_QSi648=',
33
33
  type: 'image',
@@ -1 +1 @@
1
- {"version":3,"file":"user-bubble-and-files.story.js","sourceRoot":"","sources":["../../../../../src/ai/user-bubble/stories/user-bubble-and-files.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAEzD,OAAO,CACL,cAAK,SAAS,EAAC,wDAAwD,YACrE,eAAK,SAAS,EAAC,6CAA6C,aAC1D,KAAC,SAAS,IACR,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,EACzC,GAAG,EAAE,SAAS,GACd,EACF,MAAC,IAAI,IACH,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAEnC,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,KAAC,mBAAmB,KAAG,EACtC,KAAK,EAAC,gBAAgB,EACtB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,GACtC,EACF,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,KAAC,qBAAqB,KAAG,EACxC,KAAK,EAAC,UAAU,EAChB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAChC,EACF,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,KAAC,gBAAgB,KAAG,EACnC,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GACpC,IACG,EACP,KAAC,QAAQ,IACP,GAAG,EAAC,8KAA8K,EAClL,GAAG,EAAC,iBAAiB,EACrB,QAAQ,EAAC,iBAAiB,EAC1B,QAAQ,EAAC,KAAK,GACd,EACF,KAAC,OAAO,IACN,IAAI,EAAE,KAAC,qBAAqB,KAAG,EAC/B,QAAQ,EAAC,cAAc,EACvB,QAAQ,EAAC,KAAK,GACd,EACF,KAAC,OAAO,IACN,IAAI,EAAE,KAAC,mBAAmB,KAAG,EAC7B,QAAQ,EAAC,6BAA6B,EACtC,QAAQ,EAAC,KAAK,GACd,EACF,KAAC,UAAU,IACT,WAAW,EAAE;wBACX,IAAI,EAAE,IAAI;wBACV,MAAM,EACJ,uIAAuI;wBACzI,IAAI,EAAE,OAAO;qBACd,8DAGU,IACT,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 { Menu } from '@neo4j-ndl/react';\nimport { FileTag, ImageTag, MoreFiles, UserBubble } from '@neo4j-ndl/react/ai';\nimport {\n DocumentIconOutline,\n PhotoIconOutline,\n TableCellsIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { useRef, useState } from 'react';\n\nconst Component = () => {\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const anchorRef = useRef<HTMLButtonElement | null>(null);\n\n return (\n <div className=\"n-flex n-flex-coln-gap-token-64 n-w-full n-justify-end\">\n <div className=\"n-flex n-flex-col n-gap-token-8 n-items-end\">\n <MoreFiles\n count={3}\n isActive={isMenuOpen}\n onClick={() => setIsMenuOpen(!isMenuOpen)}\n ref={anchorRef}\n />\n <Menu\n isOpen={isMenuOpen}\n anchorRef={anchorRef}\n onClose={() => setIsMenuOpen(false)}\n >\n <Menu.Item\n leadingVisual={<DocumentIconOutline />}\n title=\"Gardening tips\"\n description=\"PDF\"\n onClick={() => alert('Gardening tips')}\n />\n <Menu.Item\n leadingVisual={<TableCellsIconOutline />}\n title=\"TvSeries\"\n description=\"CSV\"\n onClick={() => alert('TvSeries')}\n />\n <Menu.Item\n leadingVisual={<PhotoIconOutline />}\n title=\"Family photo\"\n description=\"JPG\"\n onClick={() => alert('Family photo')}\n />\n </Menu>\n <ImageTag\n src=\"https://plus.unsplash.com/premium_photo-1676496046182-356a6a0ed002?q=80&w=2952&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\"\n alt=\"Landscape image\"\n fileName=\"Landscape image\"\n fileType=\"jpg\"\n />\n <FileTag\n icon={<TableCellsIconOutline />}\n fileName=\"MoviesDecade\"\n fileType=\"csv\"\n />\n <FileTag\n icon={<DocumentIconOutline />}\n fileName=\"Science Fiction Bestsellers\"\n fileType=\"pdf\"\n />\n <UserBubble\n avatarProps={{\n name: 'KM',\n source:\n 'https://media.istockphoto.com/id/1334716681/photo/a-smiling-man.jpg?s=612x612&w=0&k=20&c=U6rkSDpQMzkcJEqx2hAa63fNLIhqnZb31Xuc_QSi648=',\n type: 'image',\n }}\n >\n Can you analyse my data and tell me about...?\n </UserBubble>\n </div>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"user-bubble-and-files.story.js","sourceRoot":"","sources":["../../../../../src/ai/user-bubble/stories/user-bubble-and-files.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAEzD,OAAO,CACL,cAAK,SAAS,EAAC,gDAAgD,YAC7D,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,SAAS,IACR,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,EACzC,GAAG,EAAE,SAAS,GACd,EACF,MAAC,IAAI,IACH,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAEnC,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,KAAC,mBAAmB,KAAG,EACtC,KAAK,EAAC,gBAAgB,EACtB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,GACtC,EACF,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,KAAC,qBAAqB,KAAG,EACxC,KAAK,EAAC,UAAU,EAChB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAChC,EACF,KAAC,IAAI,CAAC,IAAI,IACR,aAAa,EAAE,KAAC,gBAAgB,KAAG,EACnC,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GACpC,IACG,EACP,KAAC,QAAQ,IACP,GAAG,EAAC,8KAA8K,EAClL,GAAG,EAAC,iBAAiB,EACrB,QAAQ,EAAC,iBAAiB,EAC1B,QAAQ,EAAC,KAAK,GACd,EACF,KAAC,OAAO,IACN,IAAI,EAAE,KAAC,qBAAqB,KAAG,EAC/B,QAAQ,EAAC,cAAc,EACvB,QAAQ,EAAC,KAAK,GACd,EACF,KAAC,OAAO,IACN,IAAI,EAAE,KAAC,mBAAmB,KAAG,EAC7B,QAAQ,EAAC,6BAA6B,EACtC,QAAQ,EAAC,KAAK,GACd,EACF,KAAC,UAAU,IACT,WAAW,EAAE;wBACX,IAAI,EAAE,IAAI;wBACV,MAAM,EACJ,uIAAuI;wBACzI,IAAI,EAAE,OAAO;qBACd,8DAGU,IACT,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 { Menu } from '@neo4j-ndl/react';\nimport { FileTag, ImageTag, MoreFiles, UserBubble } from '@neo4j-ndl/react/ai';\nimport {\n DocumentIconOutline,\n PhotoIconOutline,\n TableCellsIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { useRef, useState } from 'react';\n\nconst Component = () => {\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const anchorRef = useRef<HTMLButtonElement | null>(null);\n\n return (\n <div className=\"flex flex-coln-gap-token-64 w-full justify-end\">\n <div className=\"flex flex-col gap-token-8 items-end\">\n <MoreFiles\n count={3}\n isActive={isMenuOpen}\n onClick={() => setIsMenuOpen(!isMenuOpen)}\n ref={anchorRef}\n />\n <Menu\n isOpen={isMenuOpen}\n anchorRef={anchorRef}\n onClose={() => setIsMenuOpen(false)}\n >\n <Menu.Item\n leadingVisual={<DocumentIconOutline />}\n title=\"Gardening tips\"\n description=\"PDF\"\n onClick={() => alert('Gardening tips')}\n />\n <Menu.Item\n leadingVisual={<TableCellsIconOutline />}\n title=\"TvSeries\"\n description=\"CSV\"\n onClick={() => alert('TvSeries')}\n />\n <Menu.Item\n leadingVisual={<PhotoIconOutline />}\n title=\"Family photo\"\n description=\"JPG\"\n onClick={() => alert('Family photo')}\n />\n </Menu>\n <ImageTag\n src=\"https://plus.unsplash.com/premium_photo-1676496046182-356a6a0ed002?q=80&w=2952&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\"\n alt=\"Landscape image\"\n fileName=\"Landscape image\"\n fileType=\"jpg\"\n />\n <FileTag\n icon={<TableCellsIconOutline />}\n fileName=\"MoviesDecade\"\n fileType=\"csv\"\n />\n <FileTag\n icon={<DocumentIconOutline />}\n fileName=\"Science Fiction Bestsellers\"\n fileType=\"pdf\"\n />\n <UserBubble\n avatarProps={{\n name: 'KM',\n source:\n 'https://media.istockphoto.com/id/1334716681/photo/a-smiling-man.jpg?s=612x612&w=0&k=20&c=U6rkSDpQMzkcJEqx2hAa63fNLIhqnZb31Xuc_QSi648=',\n type: 'image',\n }}\n >\n Can you analyse my data and tell me about...?\n </UserBubble>\n </div>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -23,7 +23,7 @@ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
23
23
  import { AnnouncementBanner } from '@neo4j-ndl/react';
24
24
  import { GiftIconSolid, RocketLaunchIconSolid } from '@neo4j-ndl/react/icons';
25
25
  const Component = () => {
26
- return (_jsxs("div", { className: "n-flex n-flex-col n-gap-token-8 n-w-full", children: [_jsx(AnnouncementBanner, { variant: "discovery", hasIcon: true, children: _jsx(AnnouncementBanner.Header, { children: "Discovery with the default Sparkles icon" }) }), _jsx(AnnouncementBanner, { variant: "discovery", hasIcon: true, icon: _jsx(GiftIconSolid, {}), children: _jsx(AnnouncementBanner.Header, { children: "Discovery with a custom gift icon" }) }), _jsx(AnnouncementBanner, { variant: "neutral", hasIcon: true, children: _jsx(AnnouncementBanner.Header, { children: "Neutral with the default Bolt icon" }) }), _jsx(AnnouncementBanner, { variant: "neutral", hasIcon: true, icon: _jsx(RocketLaunchIconSolid, {}), children: _jsx(AnnouncementBanner.Header, { children: "Neutral with a custom rocket icon" }) })] }));
26
+ return (_jsxs("div", { className: "flex flex-col gap-token-8 w-full", children: [_jsx(AnnouncementBanner, { variant: "discovery", hasIcon: true, children: _jsx(AnnouncementBanner.Header, { children: "Discovery with the default Sparkles icon" }) }), _jsx(AnnouncementBanner, { variant: "discovery", hasIcon: true, icon: _jsx(GiftIconSolid, {}), children: _jsx(AnnouncementBanner.Header, { children: "Discovery with a custom gift icon" }) }), _jsx(AnnouncementBanner, { variant: "neutral", hasIcon: true, children: _jsx(AnnouncementBanner.Header, { children: "Neutral with the default Bolt icon" }) }), _jsx(AnnouncementBanner, { variant: "neutral", hasIcon: true, icon: _jsx(RocketLaunchIconSolid, {}), children: _jsx(AnnouncementBanner.Header, { children: "Neutral with a custom rocket icon" }) })] }));
27
27
  };
28
28
  export default Component;
29
29
  //# sourceMappingURL=announcement-banner-custom-icons.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"announcement-banner-custom-icons.story.js","sourceRoot":"","sources":["../../../../src/announcement-banner/stories/announcement-banner-custom-icons.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,0CAA0C,aACvD,KAAC,kBAAkB,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,YACnD,KAAC,kBAAkB,CAAC,MAAM,2DAEE,GACT,EACrB,KAAC,kBAAkB,IACjB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,KAAC,aAAa,KAAG,YAEvB,KAAC,kBAAkB,CAAC,MAAM,oDAEE,GACT,EACrB,KAAC,kBAAkB,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,YACjD,KAAC,kBAAkB,CAAC,MAAM,qDAEE,GACT,EACrB,KAAC,kBAAkB,IACjB,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,KAAC,qBAAqB,KAAG,YAE/B,KAAC,kBAAkB,CAAC,MAAM,oDAEE,GACT,IACjB,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 { AnnouncementBanner } from '@neo4j-ndl/react';\nimport { GiftIconSolid, RocketLaunchIconSolid } from '@neo4j-ndl/react/icons';\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-flex-col n-gap-token-8 n-w-full\">\n <AnnouncementBanner variant=\"discovery\" hasIcon={true}>\n <AnnouncementBanner.Header>\n Discovery with the default Sparkles icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n <AnnouncementBanner\n variant=\"discovery\"\n hasIcon={true}\n icon={<GiftIconSolid />}\n >\n <AnnouncementBanner.Header>\n Discovery with a custom gift icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n <AnnouncementBanner variant=\"neutral\" hasIcon={true}>\n <AnnouncementBanner.Header>\n Neutral with the default Bolt icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n <AnnouncementBanner\n variant=\"neutral\"\n hasIcon={true}\n icon={<RocketLaunchIconSolid />}\n >\n <AnnouncementBanner.Header>\n Neutral with a custom rocket icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"announcement-banner-custom-icons.story.js","sourceRoot":"","sources":["../../../../src/announcement-banner/stories/announcement-banner-custom-icons.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAC/C,KAAC,kBAAkB,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,YACnD,KAAC,kBAAkB,CAAC,MAAM,2DAEE,GACT,EACrB,KAAC,kBAAkB,IACjB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,KAAC,aAAa,KAAG,YAEvB,KAAC,kBAAkB,CAAC,MAAM,oDAEE,GACT,EACrB,KAAC,kBAAkB,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,YACjD,KAAC,kBAAkB,CAAC,MAAM,qDAEE,GACT,EACrB,KAAC,kBAAkB,IACjB,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,KAAC,qBAAqB,KAAG,YAE/B,KAAC,kBAAkB,CAAC,MAAM,oDAEE,GACT,IACjB,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 { AnnouncementBanner } from '@neo4j-ndl/react';\nimport { GiftIconSolid, RocketLaunchIconSolid } from '@neo4j-ndl/react/icons';\n\nconst Component = () => {\n return (\n <div className=\"flex flex-col gap-token-8 w-full\">\n <AnnouncementBanner variant=\"discovery\" hasIcon={true}>\n <AnnouncementBanner.Header>\n Discovery with the default Sparkles icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n <AnnouncementBanner\n variant=\"discovery\"\n hasIcon={true}\n icon={<GiftIconSolid />}\n >\n <AnnouncementBanner.Header>\n Discovery with a custom gift icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n <AnnouncementBanner variant=\"neutral\" hasIcon={true}>\n <AnnouncementBanner.Header>\n Neutral with the default Bolt icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n <AnnouncementBanner\n variant=\"neutral\"\n hasIcon={true}\n icon={<RocketLaunchIconSolid />}\n >\n <AnnouncementBanner.Header>\n Neutral with a custom rocket icon\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ import { AnnouncementBanner, OutlinedButton, Typography, } from '@neo4j-ndl/reac
24
24
  import { useState } from 'react';
25
25
  const Component = () => {
26
26
  const [isVisible, setIsVisible] = useState(false);
27
- return (_jsxs("div", { className: "n-flex n-flex-col n-w-full", children: [isVisible && (_jsx(AnnouncementBanner, { variant: "discovery", hasIcon: true, liveRegion: "status", isCloseable: true, onClose: () => setIsVisible(false), children: _jsx(AnnouncementBanner.Header, { children: "New Aura features are available for your organization." }) })), _jsxs("div", { className: "n-flex n-flex-col n-gap-token-16 n-p-token-24 n-bg-neutral-bg-default", children: [_jsx(OutlinedButton, { onClick: () => setIsVisible((visible) => !visible), children: isVisible ? 'Hide announcement' : 'Show announcement' }), _jsxs(Typography, { variant: "body-medium", children: ["The page is already loaded. Toggle the announcement in to simulate a later campaign or poll. ", _jsx("code", { children: "liveRegion=\"status\"" }), ' ', "announces politely without interrupting."] })] })] }));
27
+ return (_jsxs("div", { className: "flex flex-col w-full", children: [isVisible && (_jsx(AnnouncementBanner, { variant: "discovery", hasIcon: true, liveRegion: "status", isCloseable: true, onClose: () => setIsVisible(false), children: _jsx(AnnouncementBanner.Header, { children: "New Aura features are available for your organization." }) })), _jsxs("div", { className: "flex flex-col gap-token-16 p-token-24 bg-neutral-bg-default", children: [_jsx(OutlinedButton, { onClick: () => setIsVisible((visible) => !visible), children: isVisible ? 'Hide announcement' : 'Show announcement' }), _jsxs(Typography, { variant: "body-medium", children: ["The page is already loaded. Toggle the announcement in to simulate a later campaign or poll. ", _jsx("code", { children: "liveRegion=\"status\"" }), ' ', "announces politely without interrupting."] })] })] }));
28
28
  };
29
29
  export default Component;
30
30
  //# sourceMappingURL=announcement-banner-injected-non-urgent.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"announcement-banner-injected-non-urgent.story.js","sourceRoot":"","sources":["../../../../src/announcement-banner/stories/announcement-banner-injected-non-urgent.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,CACL,eAAK,SAAS,EAAC,4BAA4B,aACxC,SAAS,IAAI,CACZ,KAAC,kBAAkB,IACjB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,IAAI,EACb,UAAU,EAAC,QAAQ,EACnB,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,YAElC,KAAC,kBAAkB,CAAC,MAAM,yEAEE,GACT,CACtB,EACD,eAAK,SAAS,EAAC,uEAAuE,aACpF,KAAC,cAAc,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAC/D,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,GACvC,EACjB,MAAC,UAAU,IAAC,OAAO,EAAC,aAAa,8GAEP,mDAA0C,EAAC,GAAG,gDAE3D,IACT,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 {\n AnnouncementBanner,\n OutlinedButton,\n Typography,\n} from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isVisible, setIsVisible] = useState(false);\n\n return (\n <div className=\"n-flex n-flex-col n-w-full\">\n {isVisible && (\n <AnnouncementBanner\n variant=\"discovery\"\n hasIcon={true}\n liveRegion=\"status\"\n isCloseable={true}\n onClose={() => setIsVisible(false)}\n >\n <AnnouncementBanner.Header>\n New Aura features are available for your organization.\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n )}\n <div className=\"n-flex n-flex-col n-gap-token-16 n-p-token-24 n-bg-neutral-bg-default\">\n <OutlinedButton onClick={() => setIsVisible((visible) => !visible)}>\n {isVisible ? 'Hide announcement' : 'Show announcement'}\n </OutlinedButton>\n <Typography variant=\"body-medium\">\n The page is already loaded. Toggle the announcement in to simulate a\n later campaign or poll. <code>liveRegion=&quot;status&quot;</code>{' '}\n announces politely without interrupting.\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"announcement-banner-injected-non-urgent.story.js","sourceRoot":"","sources":["../../../../src/announcement-banner/stories/announcement-banner-injected-non-urgent.story.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,yCAAyC,CAAC;AAEjD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aAClC,SAAS,IAAI,CACZ,KAAC,kBAAkB,IACjB,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,IAAI,EACb,UAAU,EAAC,QAAQ,EACnB,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,YAElC,KAAC,kBAAkB,CAAC,MAAM,yEAEE,GACT,CACtB,EACD,eAAK,SAAS,EAAC,6DAA6D,aAC1E,KAAC,cAAc,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAC/D,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,GACvC,EACjB,MAAC,UAAU,IAAC,OAAO,EAAC,aAAa,8GAEP,mDAA0C,EAAC,GAAG,gDAE3D,IACT,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,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 {\n AnnouncementBanner,\n OutlinedButton,\n Typography,\n} from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [isVisible, setIsVisible] = useState(false);\n\n return (\n <div className=\"flex flex-col w-full\">\n {isVisible && (\n <AnnouncementBanner\n variant=\"discovery\"\n hasIcon={true}\n liveRegion=\"status\"\n isCloseable={true}\n onClose={() => setIsVisible(false)}\n >\n <AnnouncementBanner.Header>\n New Aura features are available for your organization.\n </AnnouncementBanner.Header>\n </AnnouncementBanner>\n )}\n <div className=\"flex flex-col gap-token-16 p-token-24 bg-neutral-bg-default\">\n <OutlinedButton onClick={() => setIsVisible((visible) => !visible)}>\n {isVisible ? 'Hide announcement' : 'Show announcement'}\n </OutlinedButton>\n <Typography variant=\"body-medium\">\n The page is already loaded. Toggle the announcement in to simulate a\n later campaign or poll. <code>liveRegion=&quot;status&quot;</code>{' '}\n announces politely without interrupting.\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -24,7 +24,7 @@ import { AnnouncementBanner, OutlinedButton, Typography, } from '@neo4j-ndl/reac
24
24
  import { useState } from 'react';
25
25
  const Component = () => {
26
26
  const [isVisible, setIsVisible] = useState(false);
27
- return (_jsxs("div", { className: "n-flex n-flex-col n-w-full", children: [isVisible && (_jsx(AnnouncementBanner, { variant: "danger", hasIcon: true, liveRegion: "alert", children: _jsx(AnnouncementBanner.Header, { children: "Error: connection to the database was lost. Reconnecting\u2026" }) })), _jsxs("div", { className: "n-flex n-flex-col n-gap-token-16 n-p-token-24 n-bg-neutral-bg-default", children: [_jsx(OutlinedButton, { onClick: () => setIsVisible((visible) => !visible), children: isVisible ? 'Hide announcement' : 'Show announcement' }), _jsxs(Typography, { variant: "body-medium", children: ["The page is already loaded. Toggle the announcement in to simulate a connection loss or session expiry.", ' ', _jsx("code", { children: "liveRegion=\"alert\"" }), " interrupts the screen reader because the message is time-sensitive."] })] })] }));
27
+ return (_jsxs("div", { className: "flex flex-col w-full", children: [isVisible && (_jsx(AnnouncementBanner, { variant: "danger", hasIcon: true, liveRegion: "alert", children: _jsx(AnnouncementBanner.Header, { children: "Error: connection to the database was lost. Reconnecting\u2026" }) })), _jsxs("div", { className: "flex flex-col gap-token-16 p-token-24 bg-neutral-bg-default", children: [_jsx(OutlinedButton, { onClick: () => setIsVisible((visible) => !visible), children: isVisible ? 'Hide announcement' : 'Show announcement' }), _jsxs(Typography, { variant: "body-medium", children: ["The page is already loaded. Toggle the announcement in to simulate a connection loss or session expiry.", ' ', _jsx("code", { children: "liveRegion=\"alert\"" }), " interrupts the screen reader because the message is time-sensitive."] })] })] }));
28
28
  };
29
29
  export default Component;
30
30
  //# sourceMappingURL=announcement-banner-injected-urgent.story.js.map