@neo4j-ndl/react 4.20.1 → 4.21.1-alpha.b78fc61

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 (494) hide show
  1. package/lib/cjs/_common/export-stories-utils.js +1 -1
  2. package/lib/cjs/_common/export-stories-utils.js.map +1 -1
  3. package/lib/cjs/_common/utils.js +3 -3
  4. package/lib/cjs/_common/utils.js.map +1 -1
  5. package/lib/cjs/_generated/style-rules/color-utils.js +3 -0
  6. package/lib/cjs/_generated/style-rules/color-utils.js.map +1 -1
  7. package/lib/cjs/_generated/style-rules/date-utils.js +14 -13
  8. package/lib/cjs/_generated/style-rules/date-utils.js.map +1 -1
  9. package/lib/cjs/_generated/style-rules/literal-schemas.js +5 -3
  10. package/lib/cjs/_generated/style-rules/literal-schemas.js.map +1 -1
  11. package/lib/cjs/ai/code-preview/CodePreview.js +1 -1
  12. package/lib/cjs/ai/code-preview/CodePreview.js.map +1 -1
  13. package/lib/cjs/ai/file-tag/FileTag.js.map +1 -1
  14. package/lib/cjs/ai/image-tag/ImageTag.js.map +1 -1
  15. package/lib/cjs/ai/prompt/Prompt.js +10 -10
  16. package/lib/cjs/ai/prompt/Prompt.js.map +1 -1
  17. package/lib/cjs/ai/prompt/stories/prompt-advanced.story.js +1 -1
  18. package/lib/cjs/ai/prompt/stories/prompt-advanced.story.js.map +1 -1
  19. package/lib/cjs/ai/prompt/stories/prompt-context.story.js +1 -1
  20. package/lib/cjs/ai/prompt/stories/prompt-context.story.js.map +1 -1
  21. package/lib/cjs/ai/prompt/stories/prompt-default.story.js +1 -1
  22. package/lib/cjs/ai/prompt/stories/prompt-default.story.js.map +1 -1
  23. package/lib/cjs/ai/prompt/stories/prompt-header.story.js +1 -1
  24. package/lib/cjs/ai/prompt/stories/prompt-header.story.js.map +1 -1
  25. package/lib/cjs/ai/reasoning/Reasoning.js +1 -1
  26. package/lib/cjs/ai/reasoning/Reasoning.js.map +1 -1
  27. package/lib/cjs/ai/response/Response.js +4 -4
  28. package/lib/cjs/ai/response/Response.js.map +1 -1
  29. package/lib/cjs/ai/response/stories/response-full-example.story.js +1 -1
  30. package/lib/cjs/ai/response/stories/response-full-example.story.js.map +1 -1
  31. package/lib/cjs/ai/suggestion/Suggestion.js.map +1 -1
  32. package/lib/cjs/ai/thinking/thinking-duration-formatter.js +5 -5
  33. package/lib/cjs/ai/thinking/thinking-duration-formatter.js.map +1 -1
  34. package/lib/cjs/banner/Banner.js +2 -2
  35. package/lib/cjs/banner/Banner.js.map +1 -1
  36. package/lib/cjs/button/ButtonBase.js +4 -4
  37. package/lib/cjs/button/ButtonBase.js.map +1 -1
  38. package/lib/cjs/clean-icon-button/stories/clean-icon-button-sizes.story.js +1 -1
  39. package/lib/cjs/clean-icon-button/stories/clean-icon-button-sizes.story.js.map +1 -1
  40. package/lib/cjs/clean-icon-button/stories/clean-icon-button-tone.story.js +1 -1
  41. package/lib/cjs/clean-icon-button/stories/clean-icon-button-tone.story.js.map +1 -1
  42. package/lib/cjs/code/Code.js +3 -3
  43. package/lib/cjs/code/Code.js.map +1 -1
  44. package/lib/cjs/code-block/CodeBlock.js +2 -2
  45. package/lib/cjs/code-block/CodeBlock.js.map +1 -1
  46. package/lib/cjs/color-picker/ColorPicker.js +22 -22
  47. package/lib/cjs/color-picker/ColorPicker.js.map +1 -1
  48. package/lib/cjs/color-picker/stories/color-picker-custom-swatches.story.js +20 -20
  49. package/lib/cjs/color-picker/stories/color-picker-custom-swatches.story.js.map +1 -1
  50. package/lib/cjs/color-picker/stories/color-picker-default.story.js +4 -4
  51. package/lib/cjs/color-picker/stories/color-picker-default.story.js.map +1 -1
  52. package/lib/cjs/color-picker/stories/color-picker-dialog.story.js +4 -4
  53. package/lib/cjs/color-picker/stories/color-picker-dialog.story.js.map +1 -1
  54. package/lib/cjs/color-picker/stories/color-picker-without-eyedropper.story.js +4 -4
  55. package/lib/cjs/color-picker/stories/color-picker-without-eyedropper.story.js.map +1 -1
  56. package/lib/cjs/combobox/stories/combobox-large-data-set.story.js +1 -1
  57. package/lib/cjs/combobox/stories/combobox-large-data-set.story.js.map +1 -1
  58. package/lib/cjs/data-grid/Components.js +20 -20
  59. package/lib/cjs/data-grid/Components.js.map +1 -1
  60. package/lib/cjs/data-grid/DataGrid.js +3 -3
  61. package/lib/cjs/data-grid/DataGrid.js.map +1 -1
  62. package/lib/cjs/data-grid/data-grid-nav/data-grid-nav.js +55 -54
  63. package/lib/cjs/data-grid/data-grid-nav/data-grid-nav.js.map +1 -1
  64. package/lib/cjs/data-grid/data-grid-nav/helpers.js +1 -1
  65. package/lib/cjs/data-grid/data-grid-nav/helpers.js.map +1 -1
  66. package/lib/cjs/data-grid/data-grid-nav/index.js +2 -2
  67. package/lib/cjs/data-grid/data-grid-nav/index.js.map +1 -1
  68. package/lib/cjs/data-grid/helpers/index.js +42 -40
  69. package/lib/cjs/data-grid/helpers/index.js.map +1 -1
  70. package/lib/cjs/data-grid/stories/datagrid-in-dialog.story.js +10 -7
  71. package/lib/cjs/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
  72. package/lib/cjs/data-grid/stories/datagrid-keyboard-navigation.story.js +10 -7
  73. package/lib/cjs/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
  74. package/lib/cjs/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +5 -5
  75. package/lib/cjs/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
  76. package/lib/cjs/data-grid/stories/datagrid-search-and-filters.stories.js +1 -1
  77. package/lib/cjs/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
  78. package/lib/cjs/data-grid/stories/datagrid-virtualization.story.js +5 -5
  79. package/lib/cjs/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
  80. package/lib/cjs/data-grid/style-rules/evaluate.js +23 -23
  81. package/lib/cjs/data-grid/style-rules/evaluate.js.map +1 -1
  82. package/lib/cjs/data-grid/style-rules/types.js +1 -1
  83. package/lib/cjs/data-grid/style-rules/types.js.map +1 -1
  84. package/lib/cjs/date-picker/stories/date-picker-with-timezone-both-mode.story.js +1 -1
  85. package/lib/cjs/date-picker/stories/date-picker-with-timezone-both-mode.story.js.map +1 -1
  86. package/lib/cjs/dialog/Dialog.js +5 -5
  87. package/lib/cjs/dialog/Dialog.js.map +1 -1
  88. package/lib/cjs/dialog/dialog-types.js.map +1 -1
  89. package/lib/cjs/drawer/Drawer.js +5 -5
  90. package/lib/cjs/drawer/Drawer.js.map +1 -1
  91. package/lib/cjs/dropdown-button/DropdownButton.js +4 -4
  92. package/lib/cjs/dropdown-button/DropdownButton.js.map +1 -1
  93. package/lib/cjs/dropzone/stories/dropzone-full.story.js +7 -7
  94. package/lib/cjs/dropzone/stories/dropzone-full.story.js.map +1 -1
  95. package/lib/cjs/flex/stories/flex-default.story.js +1 -1
  96. package/lib/cjs/flex/stories/flex-default.story.js.map +1 -1
  97. package/lib/cjs/hooks/index.js +3 -3
  98. package/lib/cjs/hooks/index.js.map +1 -1
  99. package/lib/cjs/icon-button/stories/icon-button-sizes.story.js +1 -1
  100. package/lib/cjs/icon-button/stories/icon-button-sizes.story.js.map +1 -1
  101. package/lib/cjs/icon-button/stories/icon-button-tone.story.js +1 -1
  102. package/lib/cjs/icon-button/stories/icon-button-tone.story.js.map +1 -1
  103. package/lib/cjs/icon-button-base/IconButtonBase.js +4 -4
  104. package/lib/cjs/icon-button-base/IconButtonBase.js.map +1 -1
  105. package/lib/cjs/icons/generated/custom/ScatterPlot.js +30 -0
  106. package/lib/cjs/icons/generated/custom/ScatterPlot.js.map +1 -0
  107. package/lib/cjs/icons/generated/custom/index.js +4 -2
  108. package/lib/cjs/icons/generated/custom/index.js.map +1 -1
  109. package/lib/cjs/inline-edit/InlineEdit.js +8 -8
  110. package/lib/cjs/inline-edit/InlineEdit.js.map +1 -1
  111. package/lib/cjs/kbd/kbd-utils.js +2 -2
  112. package/lib/cjs/kbd/kbd-utils.js.map +1 -1
  113. package/lib/cjs/modal/Modal.js +6 -6
  114. package/lib/cjs/modal/Modal.js.map +1 -1
  115. package/lib/cjs/next/tree-view/TreeView.js +23 -23
  116. package/lib/cjs/next/tree-view/TreeView.js.map +1 -1
  117. package/lib/cjs/next/tree-view/stories/tree-view-lazy.story.js +1 -1
  118. package/lib/cjs/next/tree-view/stories/tree-view-lazy.story.js.map +1 -1
  119. package/lib/cjs/next/tree-view/stories/tree-view-multi.story.js +6 -6
  120. package/lib/cjs/next/tree-view/stories/tree-view-multi.story.js.map +1 -1
  121. package/lib/cjs/popover/Popover.js.map +1 -1
  122. package/lib/cjs/popover/stories/popover-custom-offset.story.js +3 -3
  123. package/lib/cjs/popover/stories/popover-custom-offset.story.js.map +1 -1
  124. package/lib/cjs/popover/use-popover.js +2 -0
  125. package/lib/cjs/popover/use-popover.js.map +1 -1
  126. package/lib/cjs/radio/stories/radio-custom-label.story.js +1 -1
  127. package/lib/cjs/radio/stories/radio-custom-label.story.js.map +1 -1
  128. package/lib/cjs/segmented-control/SegmentedControl.js.map +1 -1
  129. package/lib/cjs/select/Overrides.js +30 -30
  130. package/lib/cjs/select/Overrides.js.map +1 -1
  131. package/lib/cjs/select-icon-button/SelectIconButton.js +4 -4
  132. package/lib/cjs/select-icon-button/SelectIconButton.js.map +1 -1
  133. package/lib/cjs/select-icon-button/stories/select-icon-button-sizes.story.js +1 -1
  134. package/lib/cjs/select-icon-button/stories/select-icon-button-sizes.story.js.map +1 -1
  135. package/lib/cjs/select-icon-button/stories/select-icon-button-states.story.js +1 -1
  136. package/lib/cjs/select-icon-button/stories/select-icon-button-states.story.js.map +1 -1
  137. package/lib/cjs/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
  138. package/lib/cjs/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
  139. package/lib/cjs/side-navigation/SideNavigation.js +10 -10
  140. package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
  141. package/lib/cjs/slider/Slider.js +1 -1
  142. package/lib/cjs/slider/Slider.js.map +1 -1
  143. package/lib/cjs/slider/stories/slider-single-controlled.story.js +2 -2
  144. package/lib/cjs/slider/stories/slider-single-controlled.story.js.map +1 -1
  145. package/lib/cjs/spotlight/Spotlight.js +6 -6
  146. package/lib/cjs/spotlight/Spotlight.js.map +1 -1
  147. package/lib/cjs/spotlight/SpotlightProvider.js +6 -6
  148. package/lib/cjs/spotlight/SpotlightProvider.js.map +1 -1
  149. package/lib/cjs/spotlight/SpotlightTarget.js +18 -16
  150. package/lib/cjs/spotlight/SpotlightTarget.js.map +1 -1
  151. package/lib/cjs/status-indicator/StatusIndicator.js +4 -2
  152. package/lib/cjs/status-indicator/StatusIndicator.js.map +1 -1
  153. package/lib/cjs/status-indicator/stories/status-indicator-variants.story.js +1 -1
  154. package/lib/cjs/status-indicator/stories/status-indicator-variants.story.js.map +1 -1
  155. package/lib/cjs/tabs/Tabs.js +3 -3
  156. package/lib/cjs/tabs/Tabs.js.map +1 -1
  157. package/lib/cjs/tabs/stories/tabs-fill-variants.story.js +1 -1
  158. package/lib/cjs/tabs/stories/tabs-fill-variants.story.js.map +1 -1
  159. package/lib/cjs/tabs/stories/tabs-sizes.story.js +1 -1
  160. package/lib/cjs/tabs/stories/tabs-sizes.story.js.map +1 -1
  161. package/lib/cjs/tabs/use-tabs-scroll-overflow.js +2 -2
  162. package/lib/cjs/tabs/use-tabs-scroll-overflow.js.map +1 -1
  163. package/lib/cjs/text-input/stories/text-input-full.story.js +1 -1
  164. package/lib/cjs/text-input/stories/text-input-full.story.js.map +1 -1
  165. package/lib/cjs/text-input/stories/text-input-with-icons.story.js +1 -1
  166. package/lib/cjs/text-input/stories/text-input-with-icons.story.js.map +1 -1
  167. package/lib/cjs/theme/agnostic.js +4 -4
  168. package/lib/cjs/theme/agnostic.js.map +1 -1
  169. package/lib/cjs/time-picker/TimePicker.js +24 -24
  170. package/lib/cjs/time-picker/TimePicker.js.map +1 -1
  171. package/lib/cjs/time-picker/generate-time-options.js +3 -3
  172. package/lib/cjs/time-picker/generate-time-options.js.map +1 -1
  173. package/lib/cjs/timezone-picker/TimeZonePicker.js +44 -44
  174. package/lib/cjs/timezone-picker/TimeZonePicker.js.map +1 -1
  175. package/lib/cjs/timezone-picker/generate-timezone-options.js +5 -5
  176. package/lib/cjs/timezone-picker/generate-timezone-options.js.map +1 -1
  177. package/lib/cjs/toast/ToastControlled.js +1 -1
  178. package/lib/cjs/toast/ToastControlled.js.map +1 -1
  179. package/lib/cjs/tooltip/use-tooltip.js +8 -1
  180. package/lib/cjs/tooltip/use-tooltip.js.map +1 -1
  181. package/lib/cjs/tree-view/TreeItemWrapper.js +8 -8
  182. package/lib/cjs/tree-view/TreeItemWrapper.js.map +1 -1
  183. package/lib/cjs/tree-view/TreeView.js +6 -2
  184. package/lib/cjs/tree-view/TreeView.js.map +1 -1
  185. package/lib/cjs/tree-view/TreeViewTextItem.js +17 -17
  186. package/lib/cjs/tree-view/TreeViewTextItem.js.map +1 -1
  187. package/lib/cjs/tree-view/tree-view-keyboard-coordinates.js +2 -0
  188. package/lib/cjs/tree-view/tree-view-keyboard-coordinates.js.map +1 -1
  189. package/lib/cjs/tree-view/tree-view-utils.js +12 -12
  190. package/lib/cjs/tree-view/tree-view-utils.js.map +1 -1
  191. package/lib/cjs/typography/Typography.js.map +1 -1
  192. package/lib/esm/_common/export-stories-utils.js +1 -1
  193. package/lib/esm/_common/export-stories-utils.js.map +1 -1
  194. package/lib/esm/_common/utils.js +3 -3
  195. package/lib/esm/_common/utils.js.map +1 -1
  196. package/lib/esm/_generated/style-rules/color-utils.js +3 -0
  197. package/lib/esm/_generated/style-rules/color-utils.js.map +1 -1
  198. package/lib/esm/_generated/style-rules/date-utils.js +14 -13
  199. package/lib/esm/_generated/style-rules/date-utils.js.map +1 -1
  200. package/lib/esm/_generated/style-rules/literal-schemas.js +5 -3
  201. package/lib/esm/_generated/style-rules/literal-schemas.js.map +1 -1
  202. package/lib/esm/ai/code-preview/CodePreview.js +1 -1
  203. package/lib/esm/ai/code-preview/CodePreview.js.map +1 -1
  204. package/lib/esm/ai/file-tag/FileTag.js.map +1 -1
  205. package/lib/esm/ai/image-tag/ImageTag.js.map +1 -1
  206. package/lib/esm/ai/prompt/Prompt.js +10 -10
  207. package/lib/esm/ai/prompt/Prompt.js.map +1 -1
  208. package/lib/esm/ai/prompt/stories/prompt-advanced.story.js +1 -1
  209. package/lib/esm/ai/prompt/stories/prompt-advanced.story.js.map +1 -1
  210. package/lib/esm/ai/prompt/stories/prompt-context.story.js +1 -1
  211. package/lib/esm/ai/prompt/stories/prompt-context.story.js.map +1 -1
  212. package/lib/esm/ai/prompt/stories/prompt-default.story.js +1 -1
  213. package/lib/esm/ai/prompt/stories/prompt-default.story.js.map +1 -1
  214. package/lib/esm/ai/prompt/stories/prompt-header.story.js +1 -1
  215. package/lib/esm/ai/prompt/stories/prompt-header.story.js.map +1 -1
  216. package/lib/esm/ai/reasoning/Reasoning.js +1 -1
  217. package/lib/esm/ai/reasoning/Reasoning.js.map +1 -1
  218. package/lib/esm/ai/response/Response.js +4 -4
  219. package/lib/esm/ai/response/Response.js.map +1 -1
  220. package/lib/esm/ai/response/stories/response-full-example.story.js +1 -1
  221. package/lib/esm/ai/response/stories/response-full-example.story.js.map +1 -1
  222. package/lib/esm/ai/suggestion/Suggestion.js.map +1 -1
  223. package/lib/esm/ai/thinking/thinking-duration-formatter.js +5 -5
  224. package/lib/esm/ai/thinking/thinking-duration-formatter.js.map +1 -1
  225. package/lib/esm/banner/Banner.js +2 -2
  226. package/lib/esm/banner/Banner.js.map +1 -1
  227. package/lib/esm/button/ButtonBase.js +4 -4
  228. package/lib/esm/button/ButtonBase.js.map +1 -1
  229. package/lib/esm/clean-icon-button/stories/clean-icon-button-sizes.story.js +1 -1
  230. package/lib/esm/clean-icon-button/stories/clean-icon-button-sizes.story.js.map +1 -1
  231. package/lib/esm/clean-icon-button/stories/clean-icon-button-tone.story.js +1 -1
  232. package/lib/esm/clean-icon-button/stories/clean-icon-button-tone.story.js.map +1 -1
  233. package/lib/esm/code/Code.js +3 -3
  234. package/lib/esm/code/Code.js.map +1 -1
  235. package/lib/esm/code-block/CodeBlock.js +2 -2
  236. package/lib/esm/code-block/CodeBlock.js.map +1 -1
  237. package/lib/esm/color-picker/ColorPicker.js +22 -22
  238. package/lib/esm/color-picker/ColorPicker.js.map +1 -1
  239. package/lib/esm/color-picker/stories/color-picker-custom-swatches.story.js +20 -20
  240. package/lib/esm/color-picker/stories/color-picker-custom-swatches.story.js.map +1 -1
  241. package/lib/esm/color-picker/stories/color-picker-default.story.js +4 -4
  242. package/lib/esm/color-picker/stories/color-picker-default.story.js.map +1 -1
  243. package/lib/esm/color-picker/stories/color-picker-dialog.story.js +4 -4
  244. package/lib/esm/color-picker/stories/color-picker-dialog.story.js.map +1 -1
  245. package/lib/esm/color-picker/stories/color-picker-without-eyedropper.story.js +4 -4
  246. package/lib/esm/color-picker/stories/color-picker-without-eyedropper.story.js.map +1 -1
  247. package/lib/esm/combobox/stories/combobox-large-data-set.story.js +1 -1
  248. package/lib/esm/combobox/stories/combobox-large-data-set.story.js.map +1 -1
  249. package/lib/esm/data-grid/Components.js +20 -20
  250. package/lib/esm/data-grid/Components.js.map +1 -1
  251. package/lib/esm/data-grid/DataGrid.js +3 -3
  252. package/lib/esm/data-grid/DataGrid.js.map +1 -1
  253. package/lib/esm/data-grid/data-grid-nav/data-grid-nav.js +55 -54
  254. package/lib/esm/data-grid/data-grid-nav/data-grid-nav.js.map +1 -1
  255. package/lib/esm/data-grid/data-grid-nav/helpers.js +1 -1
  256. package/lib/esm/data-grid/data-grid-nav/helpers.js.map +1 -1
  257. package/lib/esm/data-grid/data-grid-nav/index.js +2 -2
  258. package/lib/esm/data-grid/data-grid-nav/index.js.map +1 -1
  259. package/lib/esm/data-grid/helpers/index.js +42 -40
  260. package/lib/esm/data-grid/helpers/index.js.map +1 -1
  261. package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js +10 -7
  262. package/lib/esm/data-grid/stories/datagrid-in-dialog.story.js.map +1 -1
  263. package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js +10 -7
  264. package/lib/esm/data-grid/stories/datagrid-keyboard-navigation.story.js.map +1 -1
  265. package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js +5 -5
  266. package/lib/esm/data-grid/stories/datagrid-rule-based-styling-datetime.story.js.map +1 -1
  267. package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js +1 -1
  268. package/lib/esm/data-grid/stories/datagrid-search-and-filters.stories.js.map +1 -1
  269. package/lib/esm/data-grid/stories/datagrid-virtualization.story.js +5 -5
  270. package/lib/esm/data-grid/stories/datagrid-virtualization.story.js.map +1 -1
  271. package/lib/esm/data-grid/style-rules/evaluate.js +23 -23
  272. package/lib/esm/data-grid/style-rules/evaluate.js.map +1 -1
  273. package/lib/esm/data-grid/style-rules/types.js +1 -1
  274. package/lib/esm/data-grid/style-rules/types.js.map +1 -1
  275. package/lib/esm/date-picker/stories/date-picker-with-timezone-both-mode.story.js +1 -1
  276. package/lib/esm/date-picker/stories/date-picker-with-timezone-both-mode.story.js.map +1 -1
  277. package/lib/esm/dialog/Dialog.js +5 -5
  278. package/lib/esm/dialog/Dialog.js.map +1 -1
  279. package/lib/esm/dialog/dialog-types.js.map +1 -1
  280. package/lib/esm/drawer/Drawer.js +5 -5
  281. package/lib/esm/drawer/Drawer.js.map +1 -1
  282. package/lib/esm/dropdown-button/DropdownButton.js +4 -4
  283. package/lib/esm/dropdown-button/DropdownButton.js.map +1 -1
  284. package/lib/esm/dropzone/stories/dropzone-full.story.js +7 -7
  285. package/lib/esm/dropzone/stories/dropzone-full.story.js.map +1 -1
  286. package/lib/esm/flex/stories/flex-default.story.js +1 -1
  287. package/lib/esm/flex/stories/flex-default.story.js.map +1 -1
  288. package/lib/esm/hooks/index.js +3 -3
  289. package/lib/esm/hooks/index.js.map +1 -1
  290. package/lib/esm/icon-button/stories/icon-button-sizes.story.js +1 -1
  291. package/lib/esm/icon-button/stories/icon-button-sizes.story.js.map +1 -1
  292. package/lib/esm/icon-button/stories/icon-button-tone.story.js +1 -1
  293. package/lib/esm/icon-button/stories/icon-button-tone.story.js.map +1 -1
  294. package/lib/esm/icon-button-base/IconButtonBase.js +4 -4
  295. package/lib/esm/icon-button-base/IconButtonBase.js.map +1 -1
  296. package/lib/esm/icons/generated/custom/ScatterPlot.js +28 -0
  297. package/lib/esm/icons/generated/custom/ScatterPlot.js.map +1 -0
  298. package/lib/esm/icons/generated/custom/index.js +1 -0
  299. package/lib/esm/icons/generated/custom/index.js.map +1 -1
  300. package/lib/esm/inline-edit/InlineEdit.js +8 -8
  301. package/lib/esm/inline-edit/InlineEdit.js.map +1 -1
  302. package/lib/esm/kbd/kbd-utils.js +2 -2
  303. package/lib/esm/kbd/kbd-utils.js.map +1 -1
  304. package/lib/esm/modal/Modal.js +6 -6
  305. package/lib/esm/modal/Modal.js.map +1 -1
  306. package/lib/esm/next/tree-view/TreeView.js +23 -23
  307. package/lib/esm/next/tree-view/TreeView.js.map +1 -1
  308. package/lib/esm/next/tree-view/stories/tree-view-lazy.story.js +1 -1
  309. package/lib/esm/next/tree-view/stories/tree-view-lazy.story.js.map +1 -1
  310. package/lib/esm/next/tree-view/stories/tree-view-multi.story.js +6 -6
  311. package/lib/esm/next/tree-view/stories/tree-view-multi.story.js.map +1 -1
  312. package/lib/esm/popover/Popover.js.map +1 -1
  313. package/lib/esm/popover/stories/popover-custom-offset.story.js +3 -3
  314. package/lib/esm/popover/stories/popover-custom-offset.story.js.map +1 -1
  315. package/lib/esm/popover/use-popover.js +2 -0
  316. package/lib/esm/popover/use-popover.js.map +1 -1
  317. package/lib/esm/radio/stories/radio-custom-label.story.js +1 -1
  318. package/lib/esm/radio/stories/radio-custom-label.story.js.map +1 -1
  319. package/lib/esm/segmented-control/SegmentedControl.js.map +1 -1
  320. package/lib/esm/select/Overrides.js +30 -30
  321. package/lib/esm/select/Overrides.js.map +1 -1
  322. package/lib/esm/select-icon-button/SelectIconButton.js +4 -4
  323. package/lib/esm/select-icon-button/SelectIconButton.js.map +1 -1
  324. package/lib/esm/select-icon-button/stories/select-icon-button-sizes.story.js +1 -1
  325. package/lib/esm/select-icon-button/stories/select-icon-button-sizes.story.js.map +1 -1
  326. package/lib/esm/select-icon-button/stories/select-icon-button-states.story.js +1 -1
  327. package/lib/esm/select-icon-button/stories/select-icon-button-states.story.js.map +1 -1
  328. package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js +1 -1
  329. package/lib/esm/selectable-tag/stories/selectable-tag-sizes.story.js.map +1 -1
  330. package/lib/esm/side-navigation/SideNavigation.js +10 -10
  331. package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
  332. package/lib/esm/slider/Slider.js +1 -1
  333. package/lib/esm/slider/Slider.js.map +1 -1
  334. package/lib/esm/slider/stories/slider-single-controlled.story.js +2 -2
  335. package/lib/esm/slider/stories/slider-single-controlled.story.js.map +1 -1
  336. package/lib/esm/spotlight/Spotlight.js +6 -6
  337. package/lib/esm/spotlight/Spotlight.js.map +1 -1
  338. package/lib/esm/spotlight/SpotlightProvider.js +6 -6
  339. package/lib/esm/spotlight/SpotlightProvider.js.map +1 -1
  340. package/lib/esm/spotlight/SpotlightTarget.js +18 -16
  341. package/lib/esm/spotlight/SpotlightTarget.js.map +1 -1
  342. package/lib/esm/status-indicator/StatusIndicator.js +4 -2
  343. package/lib/esm/status-indicator/StatusIndicator.js.map +1 -1
  344. package/lib/esm/status-indicator/stories/status-indicator-variants.story.js +1 -1
  345. package/lib/esm/status-indicator/stories/status-indicator-variants.story.js.map +1 -1
  346. package/lib/esm/tabs/Tabs.js +3 -3
  347. package/lib/esm/tabs/Tabs.js.map +1 -1
  348. package/lib/esm/tabs/stories/tabs-fill-variants.story.js +1 -1
  349. package/lib/esm/tabs/stories/tabs-fill-variants.story.js.map +1 -1
  350. package/lib/esm/tabs/stories/tabs-sizes.story.js +1 -1
  351. package/lib/esm/tabs/stories/tabs-sizes.story.js.map +1 -1
  352. package/lib/esm/tabs/use-tabs-scroll-overflow.js +2 -2
  353. package/lib/esm/tabs/use-tabs-scroll-overflow.js.map +1 -1
  354. package/lib/esm/text-input/stories/text-input-full.story.js +1 -1
  355. package/lib/esm/text-input/stories/text-input-full.story.js.map +1 -1
  356. package/lib/esm/text-input/stories/text-input-with-icons.story.js +1 -1
  357. package/lib/esm/text-input/stories/text-input-with-icons.story.js.map +1 -1
  358. package/lib/esm/theme/agnostic.js +3 -3
  359. package/lib/esm/theme/agnostic.js.map +1 -1
  360. package/lib/esm/time-picker/TimePicker.js +24 -24
  361. package/lib/esm/time-picker/TimePicker.js.map +1 -1
  362. package/lib/esm/time-picker/generate-time-options.js +3 -3
  363. package/lib/esm/time-picker/generate-time-options.js.map +1 -1
  364. package/lib/esm/timezone-picker/TimeZonePicker.js +44 -44
  365. package/lib/esm/timezone-picker/TimeZonePicker.js.map +1 -1
  366. package/lib/esm/timezone-picker/generate-timezone-options.js +5 -5
  367. package/lib/esm/timezone-picker/generate-timezone-options.js.map +1 -1
  368. package/lib/esm/toast/ToastControlled.js +1 -1
  369. package/lib/esm/toast/ToastControlled.js.map +1 -1
  370. package/lib/esm/tooltip/use-tooltip.js +8 -1
  371. package/lib/esm/tooltip/use-tooltip.js.map +1 -1
  372. package/lib/esm/tree-view/TreeItemWrapper.js +8 -8
  373. package/lib/esm/tree-view/TreeItemWrapper.js.map +1 -1
  374. package/lib/esm/tree-view/TreeView.js +6 -2
  375. package/lib/esm/tree-view/TreeView.js.map +1 -1
  376. package/lib/esm/tree-view/TreeViewTextItem.js +17 -17
  377. package/lib/esm/tree-view/TreeViewTextItem.js.map +1 -1
  378. package/lib/esm/tree-view/tree-view-keyboard-coordinates.js +2 -0
  379. package/lib/esm/tree-view/tree-view-keyboard-coordinates.js.map +1 -1
  380. package/lib/esm/tree-view/tree-view-utils.js +12 -12
  381. package/lib/esm/tree-view/tree-view-utils.js.map +1 -1
  382. package/lib/esm/typography/Typography.js.map +1 -1
  383. package/lib/types/_common/export-stories-utils.d.ts +1 -1
  384. package/lib/types/_common/utils.d.ts +3 -3
  385. package/lib/types/_generated/style-rules/color-utils.d.ts.map +1 -1
  386. package/lib/types/_generated/style-rules/date-utils.d.ts +3 -3
  387. package/lib/types/_generated/style-rules/date-utils.d.ts.map +1 -1
  388. package/lib/types/_generated/style-rules/literal-schemas.d.ts.map +1 -1
  389. package/lib/types/ai/code-preview/CodePreview.d.ts +1 -1
  390. package/lib/types/ai/file-tag/FileTag.d.ts +1 -1
  391. package/lib/types/ai/file-tag/FileTag.d.ts.map +1 -1
  392. package/lib/types/ai/image-tag/ImageTag.d.ts +1 -1
  393. package/lib/types/ai/image-tag/ImageTag.d.ts.map +1 -1
  394. package/lib/types/ai/prompt/Prompt.d.ts +3 -3
  395. package/lib/types/ai/prompt/Prompt.d.ts.map +1 -1
  396. package/lib/types/ai/suggestion/Suggestion.d.ts +1 -1
  397. package/lib/types/ai/suggestion/Suggestion.d.ts.map +1 -1
  398. package/lib/types/ai/thinking/thinking-duration-formatter.d.ts +5 -5
  399. package/lib/types/banner/Banner.d.ts +1 -1
  400. package/lib/types/banner/Banner.d.ts.map +1 -1
  401. package/lib/types/button/ButtonBase.d.ts +2 -2
  402. package/lib/types/button/ButtonBase.d.ts.map +1 -1
  403. package/lib/types/code/Code.d.ts +1 -1
  404. package/lib/types/code/Code.d.ts.map +1 -1
  405. package/lib/types/data-grid/Components.d.ts +2 -2
  406. package/lib/types/data-grid/Components.d.ts.map +1 -1
  407. package/lib/types/data-grid/DataGrid.d.ts +2 -2
  408. package/lib/types/data-grid/data-grid-nav/data-grid-nav.d.ts +4 -4
  409. package/lib/types/data-grid/data-grid-nav/data-grid-nav.d.ts.map +1 -1
  410. package/lib/types/data-grid/data-grid-nav/helpers.d.ts +1 -1
  411. package/lib/types/data-grid/data-grid-nav/index.d.ts +1 -1
  412. package/lib/types/data-grid/data-grid-nav/index.d.ts.map +1 -1
  413. package/lib/types/data-grid/helpers/index.d.ts +5 -5
  414. package/lib/types/data-grid/helpers/index.d.ts.map +1 -1
  415. package/lib/types/data-grid/stories/datagrid-in-dialog.story.d.ts.map +1 -1
  416. package/lib/types/data-grid/stories/datagrid-keyboard-navigation.story.d.ts.map +1 -1
  417. package/lib/types/data-grid/stories/datagrid-pinned-columns.stories.d.ts +2 -2
  418. package/lib/types/data-grid/stories/datagrid-search-and-filters.stories.d.ts +2 -2
  419. package/lib/types/data-grid/stories/datagrid-virtualization.story.d.ts.map +1 -1
  420. package/lib/types/data-grid/style-rules/evaluate.d.ts +1 -1
  421. package/lib/types/dialog/Dialog.d.ts.map +1 -1
  422. package/lib/types/dialog/dialog-types.d.ts +1 -1
  423. package/lib/types/dialog/dialog-types.d.ts.map +1 -1
  424. package/lib/types/drawer/Drawer.d.ts +1 -1
  425. package/lib/types/drawer/Drawer.d.ts.map +1 -1
  426. package/lib/types/dropdown-button/DropdownButton.d.ts +1 -1
  427. package/lib/types/dropdown-button/DropdownButton.d.ts.map +1 -1
  428. package/lib/types/hooks/index.d.ts +3 -3
  429. package/lib/types/icon-button-base/IconButtonBase.d.ts +1 -1
  430. package/lib/types/icon-button-base/IconButtonBase.d.ts.map +1 -1
  431. package/lib/types/icons/generated/custom/ScatterPlot.d.ts +29 -0
  432. package/lib/types/icons/generated/custom/ScatterPlot.d.ts.map +1 -0
  433. package/lib/types/icons/generated/custom/index.d.ts +1 -0
  434. package/lib/types/icons/generated/custom/index.d.ts.map +1 -1
  435. package/lib/types/modal/Modal.d.ts +1 -1
  436. package/lib/types/modal/Modal.d.ts.map +1 -1
  437. package/lib/types/popover/Popover.d.ts.map +1 -1
  438. package/lib/types/popover/use-popover.d.ts.map +1 -1
  439. package/lib/types/segmented-control/SegmentedControl.d.ts +1 -1
  440. package/lib/types/segmented-control/SegmentedControl.d.ts.map +1 -1
  441. package/lib/types/select/Overrides.d.ts.map +1 -1
  442. package/lib/types/select-icon-button/SelectIconButton.d.ts +1 -1
  443. package/lib/types/select-icon-button/SelectIconButton.d.ts.map +1 -1
  444. package/lib/types/selectable-tag/stories/selectable-tag-sizes.story.d.ts.map +1 -1
  445. package/lib/types/spotlight/SpotlightProvider.d.ts.map +1 -1
  446. package/lib/types/spotlight/SpotlightTarget.d.ts +4 -3
  447. package/lib/types/spotlight/SpotlightTarget.d.ts.map +1 -1
  448. package/lib/types/status-indicator/StatusIndicator.d.ts.map +1 -1
  449. package/lib/types/tabs/Tabs.d.ts +1 -1
  450. package/lib/types/tabs/Tabs.d.ts.map +1 -1
  451. package/lib/types/theme/agnostic.d.ts +2 -2
  452. package/lib/types/theme/agnostic.d.ts.map +1 -1
  453. package/lib/types/tooltip/use-tooltip.d.ts.map +1 -1
  454. package/lib/types/tree-view/TreeView.d.ts.map +1 -1
  455. package/lib/types/tree-view/TreeViewTextItem.d.ts.map +1 -1
  456. package/lib/types/tree-view/tree-view-keyboard-coordinates.d.ts.map +1 -1
  457. package/lib/types/tree-view/tree-view-utils.d.ts +12 -12
  458. package/lib/types/tree-view/tree-view-utils.d.ts.map +1 -1
  459. package/lib/types/typography/Typography.d.ts +6 -1
  460. package/lib/types/typography/Typography.d.ts.map +1 -1
  461. package/package.json +7 -4
  462. package/skills/ndl-react/components/ai/file-tag.md +1 -1
  463. package/skills/ndl-react/components/ai/image-tag.md +1 -1
  464. package/skills/ndl-react/components/ai/prompt.md +10 -10
  465. package/skills/ndl-react/components/ai/response.md +1 -1
  466. package/skills/ndl-react/components/ai/suggestion.md +1 -1
  467. package/skills/ndl-react/components/banner.md +1 -1
  468. package/skills/ndl-react/components/clean-icon-button.md +6 -6
  469. package/skills/ndl-react/components/code.md +1 -1
  470. package/skills/ndl-react/components/color-picker.md +32 -32
  471. package/skills/ndl-react/components/combobox.md +1 -1
  472. package/skills/ndl-react/components/data-grid.md +35 -28
  473. package/skills/ndl-react/components/date-picker.md +1 -1
  474. package/skills/ndl-react/components/dialog.md +1 -1
  475. package/skills/ndl-react/components/drawer.md +1 -1
  476. package/skills/ndl-react/components/dropdown-button.md +1 -1
  477. package/skills/ndl-react/components/dropzone.md +7 -7
  478. package/skills/ndl-react/components/filled-button.md +2 -2
  479. package/skills/ndl-react/components/flex.md +2 -2
  480. package/skills/ndl-react/components/icon-button.md +6 -6
  481. package/skills/ndl-react/components/modal.md +1 -1
  482. package/skills/ndl-react/components/next/tree-view.md +8 -8
  483. package/skills/ndl-react/components/outlined-button.md +2 -2
  484. package/skills/ndl-react/components/popover.md +3 -3
  485. package/skills/ndl-react/components/radio.md +1 -1
  486. package/skills/ndl-react/components/segmented-control.md +1 -1
  487. package/skills/ndl-react/components/select-icon-button.md +7 -7
  488. package/skills/ndl-react/components/selectable-tag.md +10 -4
  489. package/skills/ndl-react/components/slider.md +2 -2
  490. package/skills/ndl-react/components/status-indicator.md +5 -5
  491. package/skills/ndl-react/components/tabs.md +5 -5
  492. package/skills/ndl-react/components/text-button.md +2 -2
  493. package/skills/ndl-react/components/text-input.md +2 -2
  494. package/skills/ndl-react/components/typography.md +1 -1
@@ -36,10 +36,10 @@ import { ColorPicker } from '../ColorPicker';
36
36
 
37
37
  const Component = () => {
38
38
  const [color, setColor] = useState({
39
- a: 1,
40
- b: 0,
41
- g: 0,
42
- r: 0,
39
+ a: 1, // oxlint-disable-line id-length
40
+ b: 0, // oxlint-disable-line id-length
41
+ g: 0, // oxlint-disable-line id-length
42
+ r: 0, // oxlint-disable-line id-length
43
43
  });
44
44
 
45
45
  return (
@@ -62,10 +62,10 @@ import { ColorPicker } from '../ColorPicker';
62
62
 
63
63
  const Component = () => {
64
64
  const [color, setColor] = useState({
65
- a: 1,
66
- b: 0,
67
- g: 0,
68
- r: 0,
65
+ a: 1, // oxlint-disable-line id-length
66
+ b: 0, // oxlint-disable-line id-length
67
+ g: 0, // oxlint-disable-line id-length
68
+ r: 0, // oxlint-disable-line id-length
69
69
  });
70
70
 
71
71
  return (
@@ -74,28 +74,28 @@ const Component = () => {
74
74
  onChange={(newColor) => setColor(newColor.rgb)}
75
75
  swatches={[
76
76
  {
77
- a: 1,
78
- b: 0,
79
- g: 0,
80
- r: 0,
77
+ a: 1, // oxlint-disable-line id-length
78
+ b: 0, // oxlint-disable-line id-length
79
+ g: 0, // oxlint-disable-line id-length
80
+ r: 0, // oxlint-disable-line id-length
81
81
  },
82
82
  {
83
- a: 1,
84
- b: 255,
85
- g: 0,
86
- r: 0,
83
+ a: 1, // oxlint-disable-line id-length
84
+ b: 255, // oxlint-disable-line id-length
85
+ g: 0, // oxlint-disable-line id-length
86
+ r: 0, // oxlint-disable-line id-length
87
87
  },
88
88
  {
89
- a: 1,
90
- b: 0,
91
- g: 255,
92
- r: 0,
89
+ a: 1, // oxlint-disable-line id-length
90
+ b: 0, // oxlint-disable-line id-length
91
+ g: 255, // oxlint-disable-line id-length
92
+ r: 0, // oxlint-disable-line id-length
93
93
  },
94
94
  {
95
- a: 1,
96
- b: 0,
97
- g: 0,
98
- r: 255,
95
+ a: 1, // oxlint-disable-line id-length
96
+ b: 0, // oxlint-disable-line id-length
97
+ g: 0, // oxlint-disable-line id-length
98
+ r: 255, // oxlint-disable-line id-length
99
99
  },
100
100
  ]}
101
101
  />
@@ -119,10 +119,10 @@ const Component = () => {
119
119
  const handleClose = () => setIsOpen(false);
120
120
 
121
121
  const [color, setColor] = useState({
122
- a: 1,
123
- b: 0,
124
- g: 0,
125
- r: 0,
122
+ a: 1, // oxlint-disable-line id-length
123
+ b: 0, // oxlint-disable-line id-length
124
+ g: 0, // oxlint-disable-line id-length
125
+ r: 0, // oxlint-disable-line id-length
126
126
  });
127
127
 
128
128
  return (
@@ -190,10 +190,10 @@ import { ColorPicker } from '../ColorPicker';
190
190
 
191
191
  const Component = () => {
192
192
  const [color, setColor] = useState({
193
- a: 1,
194
- b: 0,
195
- g: 0,
196
- r: 0,
193
+ a: 1, // oxlint-disable-line id-length
194
+ b: 0, // oxlint-disable-line id-length
195
+ g: 0, // oxlint-disable-line id-length
196
+ r: 0, // oxlint-disable-line id-length
197
197
  });
198
198
 
199
199
  return (
@@ -1142,7 +1142,7 @@ type Option = {
1142
1142
  value: string;
1143
1143
  };
1144
1144
 
1145
- const options: Option[] = Array.from({ length: 10000 }, (_, index) => ({
1145
+ const options: Option[] = Array.from({ length: 10000 }, (_unused, index) => ({
1146
1146
  label: `Node ${index + 1}`,
1147
1147
  value: `node-${index + 1}`,
1148
1148
  }));
@@ -162,7 +162,7 @@ _No props documented._
162
162
  |------|------|----------|---------|-------------|
163
163
  | `action` | `'next' \| 'previous'` | ✅ | | |
164
164
  | `children` | `ReactNode` | | | |
165
- | `onClick` | `(e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` | | | |
165
+ | `onClick` | `(event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` | | | |
166
166
  | `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
167
167
 
168
168
  ### DataGrid.PaginationNumericButton
@@ -172,7 +172,7 @@ _No props documented._
172
172
  | `children` | `ReactNode` | | | |
173
173
  | `currentIndex` | `string \| number` | ✅ | | |
174
174
  | `isSelected` | `boolean` | ✅ | | |
175
- | `onClick` | `(e: MouseEvent<HTMLButtonElement, MouseEvent>) => void` | | | |
175
+ | `onClick` | `(event: MouseEvent<HTMLButtonElement, MouseEvent>) => void` | | | |
176
176
  | `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
177
177
 
178
178
  ### DataGrid.ResizingBar
@@ -737,7 +737,10 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
737
737
  ) => ({
738
738
  cell: ({ row }) => {
739
739
  const options = ['Edit', 'Delete', 'View'];
740
- const dropdownOptions = options.map((o) => ({ label: o, value: o }));
740
+ const dropdownOptions = options.map((option) => ({
741
+ label: option,
742
+ value: option,
743
+ }));
741
744
  // eslint-disable-next-line react-hooks/rules-of-hooks
742
745
  const [selected, setSelected] = useState(dropdownOptions[0]);
743
746
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -754,16 +757,16 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
754
757
  selectProps={{
755
758
  menuPortalTarget: portalTarget,
756
759
  menuPosition: 'fixed',
757
- onChange: (e) => {
758
- if (!e) {
760
+ onChange: (event) => {
761
+ if (!event) {
759
762
  return;
760
763
  }
761
- setSelected(e);
764
+ setSelected(event);
762
765
  },
763
- onKeyDown: (e) => {
766
+ onKeyDown: (event) => {
764
767
  // Stop propagation of arrow down to the table, to avoid moving to the next item in the cell
765
- if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {
766
- e.stopPropagation();
768
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
769
+ event.stopPropagation();
767
770
  }
768
771
  },
769
772
  onMenuClose: () => {
@@ -1042,7 +1045,10 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
1042
1045
  ) => ({
1043
1046
  cell: ({ row }) => {
1044
1047
  const options = ['Edit', 'Delete', 'View'];
1045
- const dropdownOptions = options.map((o) => ({ label: o, value: o }));
1048
+ const dropdownOptions = options.map((option) => ({
1049
+ label: option,
1050
+ value: option,
1051
+ }));
1046
1052
  // eslint-disable-next-line react-hooks/rules-of-hooks
1047
1053
  const [selected, setSelected] = useState(dropdownOptions[0]);
1048
1054
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -1069,16 +1075,16 @@ const actionsColumn: (tableNav: DataGridNav) => ColumnDef<TestDataFormat> = (
1069
1075
  type="select"
1070
1076
  selectProps={{
1071
1077
  menuPortalTarget: portalTarget,
1072
- onChange: (e) => {
1073
- if (!e) {
1078
+ onChange: (event) => {
1079
+ if (!event) {
1074
1080
  return;
1075
1081
  }
1076
- setSelected(e);
1082
+ setSelected(event);
1077
1083
  },
1078
- onKeyDown: (e) => {
1084
+ onKeyDown: (event) => {
1079
1085
  // Stop propagation of arrow down to the table, to avoid moving to the next item in the cell
1080
- if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {
1081
- e.stopPropagation();
1086
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
1087
+ event.stopPropagation();
1082
1088
  }
1083
1089
  },
1084
1090
  onMenuClose: () => {
@@ -1917,11 +1923,11 @@ type EventRow = {
1917
1923
  event: string;
1918
1924
  /**
1919
1925
  * JS Date coerced from the event's local ISO string. Natively converted to
1920
- * Unix ms by the engine and compared against { datetime: "..." } literals.
1926
+ * Unix ms by the engine and compared against `{ datetime: "..." }` literals.
1921
1927
  */
1922
1928
  scheduledDate: Date;
1923
1929
  /**
1924
- * UTC milliseconds since midnight. Compared against { time: "..." } literals
1930
+ * UTC milliseconds since midnight. Compared against `{ time: "..." }` literals
1925
1931
  * that are defined in Stockholm / CEST (+02:00) time — the engine normalises
1926
1932
  * both sides to UTC before comparing.
1927
1933
  */
@@ -2024,8 +2030,8 @@ const data: EventRow[] = [
2024
2030
  * 2026-07-15T00:00:00[Europe/Stockholm] = 2026-07-14T22:00:00Z
2025
2031
  *
2026
2032
  * Business hours (Stockholm):
2027
- * { time: '09:00:00+02:00' } resolves to 07:00 UTC (25 200 000 ms)
2028
- * { time: '17:00:00+02:00' } resolves to 15:00 UTC (54 000 000 ms)
2033
+ * `{ time: '09:00:00+02:00' }` resolves to 07:00 UTC (25 200 000 ms)
2034
+ * `{ time: '17:00:00+02:00' }` resolves to 15:00 UTC (54 000 000 ms)
2029
2035
  */
2030
2036
  const styleRules: DataGridStyleRule[] = [
2031
2037
  // Near-future date cells use temporal literals directly as gradient
@@ -2170,13 +2176,13 @@ const Component = () => {
2170
2176
  columnHelper.accessor('scheduledTimeMs', {
2171
2177
  cell: (info) => {
2172
2178
  const ms = info.getValue();
2173
- const h = Math.floor(ms / 3_600_000)
2179
+ const hours = Math.floor(ms / 3_600_000)
2174
2180
  .toString()
2175
2181
  .padStart(2, '0');
2176
- const m = Math.floor((ms % 3_600_000) / 60_000)
2182
+ const minutes = Math.floor((ms % 3_600_000) / 60_000)
2177
2183
  .toString()
2178
2184
  .padStart(2, '0');
2179
- return `${h}:${m} UTC`;
2185
+ return `${hours}:${minutes} UTC`;
2180
2186
  },
2181
2187
  header: () => 'Time (UTC)',
2182
2188
  minSize: 110,
@@ -3047,10 +3053,10 @@ type TestDataFormat = {
3047
3053
 
3048
3054
  const TABLE_DEMO_DATA: TestDataFormat[] = Array.from(
3049
3055
  { length: 1000 },
3050
- (_, i) => ({
3056
+ (_unused, index) => ({
3051
3057
  age: Math.floor(Math.random() * 100),
3052
- cypherCommand: `MATCH (n) RETURN n LIMIT ${i + 1}`,
3053
- name: `Person ${i + 1}`,
3058
+ cypherCommand: `MATCH (n) RETURN n LIMIT ${index + 1}`,
3059
+ name: `Person ${index + 1}`,
3054
3060
  }),
3055
3061
  );
3056
3062
 
@@ -3110,8 +3116,9 @@ const BodyCurryingFunction =
3110
3116
  );
3111
3117
  };
3112
3118
 
3113
- /** Repeats array `n` times */
3114
- const repeat = (arr: unknown[], n: number) => Array(n).fill(arr).flat();
3119
+ /** Repeats array `repeatCount` times */
3120
+ const repeat = (arr: unknown[], repeatCount: number) =>
3121
+ Array(repeatCount).fill(arr).flat();
3115
3122
 
3116
3123
  const columnHelper = createColumnHelper<TestDataFormat>();
3117
3124
 
@@ -689,7 +689,7 @@ export const DatePickerWithTimeZoneBothMode = () => {
689
689
  padding: '16px',
690
690
  }}
691
691
  >
692
- <Typography variant="label">Selected Values:</Typography>
692
+ <Typography variant="title-4">Selected Values:</Typography>
693
693
  <Typography variant="body-small">
694
694
  <strong>Date: </strong>
695
695
  {selectedDate?.toISOString() ?? 'None'}
@@ -12,7 +12,7 @@ Import: `import { Dialog } from '@neo4j-ndl/react'`
12
12
  | `container` | `Element` | | | The container where the modal will be rendered. |
13
13
  | `hasDisabledCloseButton` | `boolean` | | `false` | Whether to disable the close button in the top-right corner. |
14
14
  | `isOpen` | `boolean` | ✅ | | Controls whether the dialog is open or closed. |
15
- | `onClose` | `((e: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>, reason?: DialogCloseReason) => void)` | | | Callback function called when the dialog is closed. |
15
+ | `onClose` | `((event: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>, reason?: DialogCloseReason) => void)` | | | Callback function called when the dialog is closed. |
16
16
  | `ref` | `Ref<HTMLDivElement>` | | | A ref to apply to the root element. |
17
17
  | `rootProps` | `HtmlAttributes<"div">` | | | Forwards the props to the modal container's wrapper - use with caution |
18
18
  | `size` | `'large' \| 'medium' \| 'small' \| 'unset'` | | | Sets the size(max-width) of the Modal, use 'unset' for custom sizing. |
@@ -19,7 +19,7 @@ Import: `import { Drawer } from '@neo4j-ndl/react'`
19
19
  | `isPortaled` | `boolean` | | `false` | Whether to portal the content. Only applies when type is "overlay". Type "modal" is always portaled. |
20
20
  | `isResizeable` | `boolean` | | `false` | Enables horizontal resizing of the drawer, by default it is not resizable. |
21
21
  | `onExpandedChange` | `((expanded: boolean) => void)` | | | Callback fired when the drawer's expanded state changes (close button, Escape, click outside, or programmatic change). |
22
- | `portalProps` | `FloatingPortalProps` | | `{}` | Props to pass to the portal from @floating-ui /react FloatingPortal Only applies when type is "overlay" and isPortaled is true, or if type is "modal". @see https://floating-ui.com/docs/floatingportal |
22
+ | `portalProps` | `FloatingPortalProps` | | `{}` | Props to pass to the portal from `@floating-ui/react` FloatingPortal Only applies when type is "overlay" and isPortaled is true, or if type is "modal". @see https://floating-ui.com/docs/floatingportal |
23
23
  | `position` | `'left' \| 'right'` | | `left` | Position where the drawer appears on screen. By default, it appears from the left. |
24
24
  | `ref` | `any` | | | A ref to apply to the root element. |
25
25
  | `resizeableProps` | `ResizableProps` | | | To use this prop the isResizeable prop must be set to true. For overriding the third party library props: https://github.com/bokuweb/re-resizable The property enable has default values set for bottom, bottomLeft etc based on the position prop. |
@@ -16,7 +16,7 @@ Import: `import { DropdownButton } from '@neo4j-ndl/react'`
16
16
  | `isOpen` | `boolean` | | `false` | If the dropdown is activated |
17
17
  | `leadingElement` | `ReactNode` | | | Element that is shown before the button content |
18
18
  | `loadingMessage` | `string` | | `Loading` | Accessible message for screen readers when the button is in a loading state |
19
- | `onClick` | `((e: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Callback function to be called when the button is clicked |
19
+ | `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Callback function to be called when the button is clicked |
20
20
  | `ref` | `any` | | | A ref to apply to the root element. |
21
21
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
22
22
 
@@ -157,11 +157,11 @@ import {
157
157
 
158
158
  // Configuration constants
159
159
  const CONFIG = {
160
- MAX_FILES: 3,
160
+ ACCEPTED_EXTENSIONS: ['.txt', '.json'] as string[],
161
161
  MAX_FILE_SIZE: 5 * 1024 * 1024, // 5MB
162
+ MAX_FILES: 3,
162
163
  PROGRESS_INCREMENT: 5,
163
164
  UPDATE_INTERVAL: 100,
164
- ACCEPTED_EXTENSIONS: ['.txt', '.json'] as string[],
165
165
  } as const;
166
166
 
167
167
  enum UploadState {
@@ -198,9 +198,9 @@ const Component = () => {
198
198
  const simulateUpload = useCallback((files: File[]) => {
199
199
  setUploadData((prev) => ({
200
200
  ...prev,
201
- state: UploadState.Uploading,
202
201
  files,
203
202
  progress: 0,
203
+ state: UploadState.Uploading,
204
204
  }));
205
205
 
206
206
  const interval = setInterval(() => {
@@ -242,9 +242,9 @@ const Component = () => {
242
242
  (rejectedFiles: FileRejection[]) => {
243
243
  const errors = rejectedFiles.map(
244
244
  (file) =>
245
- `${file.file.name}: ${file.errors.map((e) => e.message).join(', ')}`,
245
+ `${file.file.name}: ${file.errors.map((error) => error.message).join(', ')}`,
246
246
  );
247
- setUploadData((prev) => ({ ...prev, state: UploadState.Error, errors }));
247
+ setUploadData((prev) => ({ ...prev, errors, state: UploadState.Error }));
248
248
  },
249
249
  [],
250
250
  );
@@ -253,8 +253,8 @@ const Component = () => {
253
253
  console.error('Dropzone error:', error);
254
254
  setUploadData((prev) => ({
255
255
  ...prev,
256
- state: UploadState.Error,
257
256
  errors: [error.message],
257
+ state: UploadState.Error,
258
258
  }));
259
259
  }, []);
260
260
 
@@ -296,7 +296,7 @@ const Component = () => {
296
296
  {errors.map((message, index) => (
297
297
  <Typography
298
298
  key={index}
299
- variant="label"
299
+ variant="title-4"
300
300
  className="n-text-danger-text n-font-semibold"
301
301
  htmlAttributes={{ role: 'alert' }}
302
302
  >
@@ -17,8 +17,8 @@ Import: `import { FilledButton } from '@neo4j-ndl/react'`
17
17
  | `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
18
18
  | `leadingVisual` | `ReactNode` | | | Icon to display before the button content |
19
19
  | `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
20
- | `onClick` | `((e: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
21
- | `onKeyDown` | `((e: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
20
+ | `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
21
+ | `onKeyDown` | `((event: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
22
22
  | `ref` | `any` | | | A ref to apply to the root element. |
23
23
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
24
24
  | `target` | `HTMLAttributeAnchorTarget` | | | The target window for the link. Only applies when `as="a"`. Not present or required for other element types. |
@@ -67,9 +67,9 @@ const component = () => (
67
67
  padding: tokens.space['12'],
68
68
  }}
69
69
  >
70
- {Array.from({ length: 3 }).map((_, i) => (
70
+ {Array.from({ length: 3 }).map((_unused, index) => (
71
71
  <Box
72
- key={`box-${i}`}
72
+ key={`box-${index}`}
73
73
  borderRadius="xl"
74
74
  style={{ height: '80px', minWidth: '240px' }}
75
75
  className="n-bg-primary-bg-weak n-border n-border-primary-border-strong"
@@ -17,7 +17,7 @@ Import: `import { IconButton } from '@neo4j-ndl/react'`
17
17
  | `isFloating` | `boolean` | | `false` | If the button is in floating state |
18
18
  | `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
19
19
  | `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
20
- | `onClick` | `((e: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Click handler |
20
+ | `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Click handler |
21
21
  | `ref` | `any` | | | A ref to apply to the root element. |
22
22
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
23
23
  | `tooltipProps` | `TooltipObjectProps` | | | Props for the tooltip component. |
@@ -141,19 +141,19 @@ const Component = () => {
141
141
  <IconButton description="Search" size="small">
142
142
  <MagnifyingGlassIconOutline />
143
143
  </IconButton>
144
- <Typography variant="label"> Small</Typography>
144
+ <Typography variant="title-4"> Small</Typography>
145
145
  </div>
146
146
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
147
147
  <IconButton description="Search" size="medium">
148
148
  <MagnifyingGlassIconOutline />
149
149
  </IconButton>
150
- <Typography variant="label"> Medium</Typography>
150
+ <Typography variant="title-4"> Medium</Typography>
151
151
  </div>
152
152
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
153
153
  <IconButton description="Search" size="large">
154
154
  <MagnifyingGlassIconOutline />
155
155
  </IconButton>
156
- <Typography variant="label"> Large</Typography>
156
+ <Typography variant="title-4"> Large</Typography>
157
157
  </div>
158
158
  </div>
159
159
  );
@@ -177,13 +177,13 @@ const Component = () => {
177
177
  <IconButton description="Search" variant="neutral">
178
178
  <MagnifyingGlassIconOutline />
179
179
  </IconButton>
180
- <Typography variant="label">Default</Typography>
180
+ <Typography variant="title-4">Default</Typography>
181
181
  </div>
182
182
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
183
183
  <IconButton description="Search" variant="danger">
184
184
  <MagnifyingGlassIconOutline />
185
185
  </IconButton>
186
- <Typography variant="label">Danger</Typography>
186
+ <Typography variant="title-4">Danger</Typography>
187
187
  </div>
188
188
  </div>
189
189
  );
@@ -11,7 +11,7 @@ Import: `import { Modal } from '@neo4j-ndl/react'`
11
11
  | `children` | `ReactNode` | ✅ | | Content to render inside the Modal. |
12
12
  | `container` | `Element` | | | The container where the modal will be rendered. |
13
13
  | `isOpen` | `boolean` | ✅ | | Whether the Modal is open. |
14
- | `onClose` | `((e: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>, reason?: ModalCloseReason) => void)` | | | Callback function called when the modal is closed. |
14
+ | `onClose` | `((event: MouseEvent<HTMLElement, MouseEvent> \| KeyboardEvent<HTMLElement>, reason?: ModalCloseReason) => void)` | | | Callback function called when the modal is closed. |
15
15
  | `ref` | `Ref<HTMLDivElement>` | | | A ref to apply to the root element. |
16
16
  | `rootProps` | `HtmlAttributes<"div">` | | | Forwards the props to the modal container's wrapper - use with caution |
17
17
  | `size` | `'large' \| 'medium' \| 'small' \| 'unset'` | | `medium` | Sets the size(max-width) of the Modal, use 'unset' for custom sizing. |
@@ -396,8 +396,8 @@ function useTreeState() {
396
396
  clearTimeout(timers.current[id]);
397
397
  }
398
398
  timers.current[id] = setTimeout(() => {
399
- setNodeStates((p) => ({
400
- ...p,
399
+ setNodeStates((prev) => ({
400
+ ...prev,
401
401
  [id]: { hasLoaded: true, isExpanded: true, isLoading: false },
402
402
  }));
403
403
  delete timers.current[id];
@@ -500,11 +500,11 @@ function getParentChecked(
500
500
  checked: CheckedState,
501
501
  childKeys: readonly string[],
502
502
  ): { isChecked: boolean; isIndeterminate: boolean } {
503
- const enabledKeys = childKeys.filter((k) => !DISABLED_KEYS.has(k));
503
+ const enabledKeys = childKeys.filter((key) => !DISABLED_KEYS.has(key));
504
504
  if (enabledKeys.length === 0) {
505
505
  return { isChecked: false, isIndeterminate: false };
506
506
  }
507
- const checkedCount = enabledKeys.filter((k) => checked[k]).length;
507
+ const checkedCount = enabledKeys.filter((key) => checked[key]).length;
508
508
  if (checkedCount === 0) {
509
509
  return { isChecked: false, isIndeterminate: false };
510
510
  }
@@ -527,12 +527,12 @@ const Component = () => {
527
527
 
528
528
  const toggleParent = useCallback(
529
529
  (childKeys: readonly string[]) => {
530
- const enabledKeys = childKeys.filter((k) => !DISABLED_KEYS.has(k));
531
- const isAllChecked = enabledKeys.every((k) => checked[k]);
530
+ const enabledKeys = childKeys.filter((key) => !DISABLED_KEYS.has(key));
531
+ const isAllChecked = enabledKeys.every((key) => checked[key]);
532
532
  setChecked((prev) => {
533
533
  const next = { ...prev };
534
- for (const k of enabledKeys) {
535
- next[k] = !isAllChecked;
534
+ for (const key of enabledKeys) {
535
+ next[key] = !isAllChecked;
536
536
  }
537
537
  return next;
538
538
  });
@@ -17,8 +17,8 @@ Import: `import { OutlinedButton } from '@neo4j-ndl/react'`
17
17
  | `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
18
18
  | `leadingVisual` | `ReactNode` | | | Icon to display before the button content |
19
19
  | `loadingMessage` | `string` | | | Accessible message for screen readers when the button is in a loading state |
20
- | `onClick` | `((e: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
21
- | `onKeyDown` | `((e: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
20
+ | `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | onClick callback |
21
+ | `onKeyDown` | `((event: KeyboardEvent<HTMLButtonElement>) => void)` | | | onKeyDown callback |
22
22
  | `ref` | `any` | | | A ref to apply to the root element. |
23
23
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
24
24
  | `target` | `HTMLAttributeAnchorTarget` | | | The target window for the link. Only applies when `as="a"`. Not present or required for other element types. |
@@ -176,9 +176,9 @@ const Component = () => {
176
176
  label="Example positions"
177
177
  selectProps={{
178
178
  defaultValue: offsetOptions[0],
179
- onChange: (e) => {
180
- if (e) {
181
- setSelectedPosition(e.value);
179
+ onChange: (option) => {
180
+ if (option) {
181
+ setSelectedPosition(option.value);
182
182
  }
183
183
  },
184
184
  options: offsetOptions,
@@ -75,7 +75,7 @@ import { Radio, Typography } from '@neo4j-ndl/react';
75
75
  const Component = () => {
76
76
  return (
77
77
  <Radio
78
- label={<Typography variant="label">Custom label</Typography>}
78
+ label={<Typography variant="title-4">Custom label</Typography>}
79
79
  ariaLabel="example aria label"
80
80
  />
81
81
  );
@@ -12,7 +12,7 @@ Import: `import { SegmentedControl } from '@neo4j-ndl/react'`
12
12
  | `children` | `ReactNode` | ✅ | | The children component of the segmented control |
13
13
  | `hasOnlyIcons` | `boolean` | | `false` | If segmented control items will include only icons (makes controls rectangular) |
14
14
  | `isFloating` | `boolean` | | `false` | Whether the segmented control has a box shadow applied |
15
- | `onChange` | `(e: T) => void \| ((e: SetStateAction<T>) => void)` | ✅ | | The callback function triggered when the segmented control value changes |
15
+ | `onChange` | `(event: T) => void \| ((event: SetStateAction<T>) => void)` | ✅ | | The callback function triggered when the segmented control value changes |
16
16
  | `ref` | `any` | | | A ref to apply to the root element. |
17
17
  | `selected` | `SegmentedControlID` | ✅ | | The currently selected option |
18
18
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of the segmented control |
@@ -14,7 +14,7 @@ Import: `import { SelectIconButton } from '@neo4j-ndl/react'`
14
14
  | `isLoading` | `boolean` | | `false` | If the button is doing something Async, it will display a loading spinner |
15
15
  | `isOpen` | `boolean` | | `false` | If the button is opened |
16
16
  | `loadingMessage` | `string` | | `Loading` | Accessible message for screen readers when the button is in a loading state |
17
- | `onClick` | `((e: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Callback function to be called when the button is clicked |
17
+ | `onClick` | `((event: MouseEvent<HTMLButtonElement, MouseEvent>) => void)` | | | Callback function to be called when the button is clicked |
18
18
  | `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
19
19
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of button |
20
20
  | `tooltipProps` | `TooltipObjectProps` | | | Props for the tooltip component. |
@@ -55,19 +55,19 @@ const Component = () => {
55
55
  <SelectIconButton description="Select" size="small" isOpen={false}>
56
56
  <SelectIcon />
57
57
  </SelectIconButton>
58
- <Typography variant="label"> Small</Typography>
58
+ <Typography variant="title-4"> Small</Typography>
59
59
  </div>
60
60
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
61
61
  <SelectIconButton description="Select" size="medium" isOpen={false}>
62
62
  <SelectIcon />
63
63
  </SelectIconButton>
64
- <Typography variant="label"> Medium</Typography>
64
+ <Typography variant="title-4"> Medium</Typography>
65
65
  </div>
66
66
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
67
67
  <SelectIconButton description="Select" size="large" isOpen={false}>
68
68
  <SelectIcon />
69
69
  </SelectIconButton>
70
- <Typography variant="label"> Large</Typography>
70
+ <Typography variant="title-4"> Large</Typography>
71
71
  </div>
72
72
  </div>
73
73
  );
@@ -96,13 +96,13 @@ const Component = () => {
96
96
  >
97
97
  <SelectIcon />
98
98
  </SelectIconButton>
99
- <Typography variant="label"> Disabled</Typography>
99
+ <Typography variant="title-4"> Disabled</Typography>
100
100
  </div>
101
101
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
102
102
  <SelectIconButton description="Select" size="small" isOpen={true}>
103
103
  <SelectIcon />
104
104
  </SelectIconButton>
105
- <Typography variant="label"> Active</Typography>
105
+ <Typography variant="title-4"> Active</Typography>
106
106
  </div>
107
107
  <div className="n-flex n-flex-row n-gap-token-16 n-items-center">
108
108
  <SelectIconButton
@@ -114,7 +114,7 @@ const Component = () => {
114
114
  >
115
115
  <SelectIcon />
116
116
  </SelectIconButton>
117
- <Typography variant="label"> Loading</Typography>
117
+ <Typography variant="title-4"> Loading</Typography>
118
118
  </div>
119
119
  </div>
120
120
  );
@@ -83,7 +83,7 @@ const Component = () => {
83
83
  size="x-small"
84
84
  isSelected={selected['x-small'] ?? false}
85
85
  onClick={() =>
86
- setSelected((s) => ({ ...s, ['x-small']: !s['x-small'] }))
86
+ setSelected((prev) => ({ ...prev, ['x-small']: !prev['x-small'] }))
87
87
  }
88
88
  >
89
89
  X-Small
@@ -91,21 +91,27 @@ const Component = () => {
91
91
  <SelectableTag
92
92
  size="small"
93
93
  isSelected={selected['small'] ?? false}
94
- onClick={() => setSelected((s) => ({ ...s, ['small']: !s['small'] }))}
94
+ onClick={() =>
95
+ setSelected((prev) => ({ ...prev, ['small']: !prev['small'] }))
96
+ }
95
97
  >
96
98
  Small
97
99
  </SelectableTag>
98
100
  <SelectableTag
99
101
  size="medium"
100
102
  isSelected={selected['medium'] ?? false}
101
- onClick={() => setSelected((s) => ({ ...s, ['medium']: !s['medium'] }))}
103
+ onClick={() =>
104
+ setSelected((prev) => ({ ...prev, ['medium']: !prev['medium'] }))
105
+ }
102
106
  >
103
107
  Medium
104
108
  </SelectableTag>
105
109
  <SelectableTag
106
110
  size="large"
107
111
  isSelected={selected['large'] ?? false}
108
- onClick={() => setSelected((s) => ({ ...s, ['large']: !s['large'] }))}
112
+ onClick={() =>
113
+ setSelected((prev) => ({ ...prev, ['large']: !prev['large'] }))
114
+ }
109
115
  >
110
116
  Large
111
117
  </SelectableTag>