@neo4j-ndl/react 4.24.2 → 4.25.1

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 (454) hide show
  1. package/lib/cjs/_common/form-control/FormFieldLabel.js +1 -1
  2. package/lib/cjs/_common/form-control/FormFieldLabel.js.map +1 -1
  3. package/lib/cjs/_common/form-control/FormFieldMessage.js +1 -1
  4. package/lib/cjs/_common/form-control/FormFieldMessage.js.map +1 -1
  5. package/lib/cjs/_common/form-control/form-control-types.js +1 -1
  6. package/lib/cjs/_common/form-control/form-control-types.js.map +1 -1
  7. package/lib/cjs/_common/form-control/form-field-group-context.js +32 -0
  8. package/lib/cjs/_common/form-control/form-field-group-context.js.map +1 -0
  9. package/lib/cjs/_common/form-control/index.js +5 -2
  10. package/lib/cjs/_common/form-control/index.js.map +1 -1
  11. package/lib/cjs/_common/form-control/use-form-field.js +1 -1
  12. package/lib/cjs/_common/form-control/use-form-field.js.map +1 -1
  13. package/lib/cjs/_common/form-control/use-inline-field-label.js +1 -1
  14. package/lib/cjs/_common/form-control/use-inline-field-label.js.map +1 -1
  15. package/lib/cjs/_generated/style-rules/color-utils.js +1 -1
  16. package/lib/cjs/_generated/style-rules/numeric-utils.js +1 -1
  17. package/lib/cjs/accordion/accordion-types.js +1 -1
  18. package/lib/cjs/announcement-banner/AnnouncementBanner.js +1 -1
  19. package/lib/cjs/announcement-banner/AnnouncementBanner.js.map +1 -1
  20. package/lib/cjs/announcement-banner/index.js +1 -1
  21. package/lib/cjs/announcement-banner/index.js.map +1 -1
  22. package/lib/cjs/announcement-banner/stories/announcement-banner-closeable.story.js +1 -1
  23. package/lib/cjs/announcement-banner/stories/announcement-banner-closeable.story.js.map +1 -1
  24. package/lib/cjs/announcement-banner/stories/announcement-banner-custom-icons.story.js +1 -1
  25. package/lib/cjs/announcement-banner/stories/announcement-banner-custom-icons.story.js.map +1 -1
  26. package/lib/cjs/announcement-banner/stories/announcement-banner-default.story.js +1 -1
  27. package/lib/cjs/announcement-banner/stories/announcement-banner-default.story.js.map +1 -1
  28. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js +1 -1
  29. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js.map +1 -1
  30. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-urgent.story.js +1 -1
  31. package/lib/cjs/announcement-banner/stories/announcement-banner-injected-urgent.story.js.map +1 -1
  32. package/lib/cjs/announcement-banner/stories/announcement-banner-present-at-page-render.story.js +1 -1
  33. package/lib/cjs/announcement-banner/stories/announcement-banner-present-at-page-render.story.js.map +1 -1
  34. package/lib/cjs/announcement-banner/stories/announcement-banner-variants.story.js +1 -1
  35. package/lib/cjs/announcement-banner/stories/announcement-banner-variants.story.js.map +1 -1
  36. package/lib/cjs/announcement-banner/stories/announcement-banner-with-actions.story.js +1 -1
  37. package/lib/cjs/announcement-banner/stories/announcement-banner-with-actions.story.js.map +1 -1
  38. package/lib/cjs/announcement-banner/stories/announcement-banner-with-page-content.story.js +1 -1
  39. package/lib/cjs/announcement-banner/stories/announcement-banner-with-page-content.story.js.map +1 -1
  40. package/lib/cjs/announcement-banner/stories/index.js +1 -1
  41. package/lib/cjs/announcement-banner/stories/index.js.map +1 -1
  42. package/lib/cjs/box/Box.js +1 -1
  43. package/lib/cjs/checkbox/Checkbox.js +6 -3
  44. package/lib/cjs/checkbox/Checkbox.js.map +1 -1
  45. package/lib/cjs/checkbox-group/CheckboxGroup.js +52 -0
  46. package/lib/cjs/checkbox-group/CheckboxGroup.js.map +1 -0
  47. package/lib/cjs/checkbox-group/index.js +26 -0
  48. package/lib/cjs/checkbox-group/index.js.map +1 -0
  49. package/lib/cjs/checkbox-group/stories/checkbox-group-default.story.js +30 -0
  50. package/lib/cjs/checkbox-group/stories/checkbox-group-default.story.js.map +1 -0
  51. package/lib/cjs/checkbox-group/stories/checkbox-group-disabled.story.js +30 -0
  52. package/lib/cjs/checkbox-group/stories/checkbox-group-disabled.story.js.map +1 -0
  53. package/lib/cjs/checkbox-group/stories/checkbox-group-error.story.js +30 -0
  54. package/lib/cjs/checkbox-group/stories/checkbox-group-error.story.js.map +1 -0
  55. package/lib/cjs/checkbox-group/stories/checkbox-group-optional.story.js +30 -0
  56. package/lib/cjs/checkbox-group/stories/checkbox-group-optional.story.js.map +1 -0
  57. package/lib/cjs/checkbox-group/stories/checkbox-group-required.story.js +30 -0
  58. package/lib/cjs/checkbox-group/stories/checkbox-group-required.story.js.map +1 -0
  59. package/lib/cjs/checkbox-group/stories/checkbox-group-visually-hidden-label.story.js +30 -0
  60. package/lib/cjs/checkbox-group/stories/checkbox-group-visually-hidden-label.story.js.map +1 -0
  61. package/lib/cjs/checkbox-group/stories/index.js +52 -0
  62. package/lib/cjs/checkbox-group/stories/index.js.map +1 -0
  63. package/lib/cjs/clean-icon-button/CleanIconButton.js +1 -1
  64. package/lib/cjs/data-grid/DataGrid.js +1 -1
  65. package/lib/cjs/data-grid/data-grid-context.js +1 -1
  66. package/lib/cjs/data-grid/data-grid-nav/index.js +1 -1
  67. package/lib/cjs/data-grid/helpers/index.js +1 -1
  68. package/lib/cjs/data-grid/stories/staticData.js +1 -1
  69. package/lib/cjs/dismissible-tag/DismissibleTag.js +1 -1
  70. package/lib/cjs/fieldset/Fieldset.js +78 -0
  71. package/lib/cjs/fieldset/Fieldset.js.map +1 -0
  72. package/lib/cjs/fieldset/index.js +26 -0
  73. package/lib/cjs/fieldset/index.js.map +1 -0
  74. package/lib/cjs/fieldset/stories/fieldset-default.story.js +30 -0
  75. package/lib/cjs/fieldset/stories/fieldset-default.story.js.map +1 -0
  76. package/lib/cjs/fieldset/stories/fieldset-disabled.story.js +30 -0
  77. package/lib/cjs/fieldset/stories/fieldset-disabled.story.js.map +1 -0
  78. package/lib/cjs/fieldset/stories/fieldset-error.story.js +30 -0
  79. package/lib/cjs/fieldset/stories/fieldset-error.story.js.map +1 -0
  80. package/lib/cjs/fieldset/stories/fieldset-optional.story.js +30 -0
  81. package/lib/cjs/fieldset/stories/fieldset-optional.story.js.map +1 -0
  82. package/lib/cjs/fieldset/stories/fieldset-required.story.js +30 -0
  83. package/lib/cjs/fieldset/stories/fieldset-required.story.js.map +1 -0
  84. package/lib/cjs/fieldset/stories/fieldset-visually-hidden-label.story.js +30 -0
  85. package/lib/cjs/fieldset/stories/fieldset-visually-hidden-label.story.js.map +1 -0
  86. package/lib/cjs/fieldset/stories/index.js +52 -0
  87. package/lib/cjs/fieldset/stories/index.js.map +1 -0
  88. package/lib/cjs/filled-button/FilledButton.js +1 -1
  89. package/lib/cjs/icon-button/IconButton.js +1 -1
  90. package/lib/cjs/icons/generated/custom/FloppyDiskArrowTopRight.js +1 -1
  91. package/lib/cjs/icons/generated/custom/FloppyDiskArrowTopRight.js.map +1 -1
  92. package/lib/cjs/index.js +8 -2
  93. package/lib/cjs/index.js.map +1 -1
  94. package/lib/cjs/kbd/kbd-utils.js +1 -1
  95. package/lib/cjs/logo/Logo.js +1 -1
  96. package/lib/cjs/outlined-button/OutlinedButton.js +1 -1
  97. package/lib/cjs/radio/Radio.js +16 -3
  98. package/lib/cjs/radio/Radio.js.map +1 -1
  99. package/lib/cjs/radio-group/RadioGroup.js +62 -0
  100. package/lib/cjs/radio-group/RadioGroup.js.map +1 -0
  101. package/lib/cjs/radio-group/index.js +26 -0
  102. package/lib/cjs/radio-group/index.js.map +1 -0
  103. package/lib/cjs/radio-group/stories/index.js +60 -0
  104. package/lib/cjs/radio-group/stories/index.js.map +1 -0
  105. package/lib/cjs/radio-group/stories/radio-group-controlled.story.js +32 -0
  106. package/lib/cjs/radio-group/stories/radio-group-controlled.story.js.map +1 -0
  107. package/lib/cjs/radio-group/stories/radio-group-default.story.js +30 -0
  108. package/lib/cjs/radio-group/stories/radio-group-default.story.js.map +1 -0
  109. package/lib/cjs/radio-group/stories/radio-group-disabled.story.js +30 -0
  110. package/lib/cjs/radio-group/stories/radio-group-disabled.story.js.map +1 -0
  111. package/lib/cjs/radio-group/stories/radio-group-error.story.js +30 -0
  112. package/lib/cjs/radio-group/stories/radio-group-error.story.js.map +1 -0
  113. package/lib/cjs/radio-group/stories/radio-group-horizontal.story.js +30 -0
  114. package/lib/cjs/radio-group/stories/radio-group-horizontal.story.js.map +1 -0
  115. package/lib/cjs/radio-group/stories/radio-group-optional.story.js +30 -0
  116. package/lib/cjs/radio-group/stories/radio-group-optional.story.js.map +1 -0
  117. package/lib/cjs/radio-group/stories/radio-group-required.story.js +30 -0
  118. package/lib/cjs/radio-group/stories/radio-group-required.story.js.map +1 -0
  119. package/lib/cjs/radio-group/stories/radio-group-visually-hidden-label.story.js +30 -0
  120. package/lib/cjs/radio-group/stories/radio-group-visually-hidden-label.story.js.map +1 -0
  121. package/lib/cjs/read-only-tag/ReadOnlyTag.js +1 -1
  122. package/lib/cjs/select/Select.js +10 -7
  123. package/lib/cjs/select/Select.js.map +1 -1
  124. package/lib/cjs/select/stories/index.js +5 -1
  125. package/lib/cjs/select/stories/index.js.map +1 -1
  126. package/lib/cjs/select/stories/select-required.story.js +39 -0
  127. package/lib/cjs/select/stories/select-required.story.js.map +1 -0
  128. package/lib/cjs/select/types.js +1 -1
  129. package/lib/cjs/select/types.js.map +1 -1
  130. package/lib/cjs/spotlight/SpotlightTour.js +1 -1
  131. package/lib/cjs/text-button/TextButton.js +1 -1
  132. package/lib/cjs/tree-view/TreeViewItem.js +1 -1
  133. package/lib/cjs/tree-view/TreeViewTextItem.js +1 -1
  134. package/lib/cjs/tree-view/TreeViewTrail.js +1 -1
  135. package/lib/cjs/tree-view/tree-view-types.js +1 -1
  136. package/lib/cjs/tree-view/tree-view-utils.js +1 -1
  137. package/lib/cjs/typography/Typography.js +1 -1
  138. package/lib/esm/_common/form-control/FormFieldLabel.js +1 -1
  139. package/lib/esm/_common/form-control/FormFieldLabel.js.map +1 -1
  140. package/lib/esm/_common/form-control/FormFieldMessage.js +1 -1
  141. package/lib/esm/_common/form-control/FormFieldMessage.js.map +1 -1
  142. package/lib/esm/_common/form-control/form-control-types.js +1 -1
  143. package/lib/esm/_common/form-control/form-control-types.js.map +1 -1
  144. package/lib/esm/_common/form-control/form-field-group-context.js +28 -0
  145. package/lib/esm/_common/form-control/form-field-group-context.js.map +1 -0
  146. package/lib/esm/_common/form-control/index.js +2 -1
  147. package/lib/esm/_common/form-control/index.js.map +1 -1
  148. package/lib/esm/_common/form-control/use-form-field.js +1 -1
  149. package/lib/esm/_common/form-control/use-form-field.js.map +1 -1
  150. package/lib/esm/_common/form-control/use-inline-field-label.js +1 -1
  151. package/lib/esm/_common/form-control/use-inline-field-label.js.map +1 -1
  152. package/lib/esm/_generated/style-rules/color-utils.js +1 -1
  153. package/lib/esm/_generated/style-rules/numeric-utils.js +1 -1
  154. package/lib/esm/accordion/accordion-types.js +1 -1
  155. package/lib/esm/announcement-banner/AnnouncementBanner.js +1 -1
  156. package/lib/esm/announcement-banner/AnnouncementBanner.js.map +1 -1
  157. package/lib/esm/announcement-banner/index.js +1 -1
  158. package/lib/esm/announcement-banner/index.js.map +1 -1
  159. package/lib/esm/announcement-banner/stories/announcement-banner-closeable.story.js +1 -1
  160. package/lib/esm/announcement-banner/stories/announcement-banner-closeable.story.js.map +1 -1
  161. package/lib/esm/announcement-banner/stories/announcement-banner-custom-icons.story.js +1 -1
  162. package/lib/esm/announcement-banner/stories/announcement-banner-custom-icons.story.js.map +1 -1
  163. package/lib/esm/announcement-banner/stories/announcement-banner-default.story.js +1 -1
  164. package/lib/esm/announcement-banner/stories/announcement-banner-default.story.js.map +1 -1
  165. package/lib/esm/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js +1 -1
  166. package/lib/esm/announcement-banner/stories/announcement-banner-injected-non-urgent.story.js.map +1 -1
  167. package/lib/esm/announcement-banner/stories/announcement-banner-injected-urgent.story.js +1 -1
  168. package/lib/esm/announcement-banner/stories/announcement-banner-injected-urgent.story.js.map +1 -1
  169. package/lib/esm/announcement-banner/stories/announcement-banner-present-at-page-render.story.js +1 -1
  170. package/lib/esm/announcement-banner/stories/announcement-banner-present-at-page-render.story.js.map +1 -1
  171. package/lib/esm/announcement-banner/stories/announcement-banner-variants.story.js +1 -1
  172. package/lib/esm/announcement-banner/stories/announcement-banner-variants.story.js.map +1 -1
  173. package/lib/esm/announcement-banner/stories/announcement-banner-with-actions.story.js +1 -1
  174. package/lib/esm/announcement-banner/stories/announcement-banner-with-actions.story.js.map +1 -1
  175. package/lib/esm/announcement-banner/stories/announcement-banner-with-page-content.story.js +1 -1
  176. package/lib/esm/announcement-banner/stories/announcement-banner-with-page-content.story.js.map +1 -1
  177. package/lib/esm/announcement-banner/stories/index.js +1 -1
  178. package/lib/esm/announcement-banner/stories/index.js.map +1 -1
  179. package/lib/esm/box/Box.js +1 -1
  180. package/lib/esm/checkbox/Checkbox.js +7 -4
  181. package/lib/esm/checkbox/Checkbox.js.map +1 -1
  182. package/lib/esm/checkbox-group/CheckboxGroup.js +49 -0
  183. package/lib/esm/checkbox-group/CheckboxGroup.js.map +1 -0
  184. package/lib/esm/checkbox-group/index.js +22 -0
  185. package/lib/esm/checkbox-group/index.js.map +1 -0
  186. package/lib/esm/checkbox-group/stories/checkbox-group-default.story.js +28 -0
  187. package/lib/esm/checkbox-group/stories/checkbox-group-default.story.js.map +1 -0
  188. package/lib/esm/checkbox-group/stories/checkbox-group-disabled.story.js +28 -0
  189. package/lib/esm/checkbox-group/stories/checkbox-group-disabled.story.js.map +1 -0
  190. package/lib/esm/checkbox-group/stories/checkbox-group-error.story.js +28 -0
  191. package/lib/esm/checkbox-group/stories/checkbox-group-error.story.js.map +1 -0
  192. package/lib/esm/checkbox-group/stories/checkbox-group-optional.story.js +28 -0
  193. package/lib/esm/checkbox-group/stories/checkbox-group-optional.story.js.map +1 -0
  194. package/lib/esm/checkbox-group/stories/checkbox-group-required.story.js +28 -0
  195. package/lib/esm/checkbox-group/stories/checkbox-group-required.story.js.map +1 -0
  196. package/lib/esm/checkbox-group/stories/checkbox-group-visually-hidden-label.story.js +28 -0
  197. package/lib/esm/checkbox-group/stories/checkbox-group-visually-hidden-label.story.js.map +1 -0
  198. package/lib/esm/checkbox-group/stories/index.js +40 -0
  199. package/lib/esm/checkbox-group/stories/index.js.map +1 -0
  200. package/lib/esm/clean-icon-button/CleanIconButton.js +1 -1
  201. package/lib/esm/data-grid/DataGrid.js +1 -1
  202. package/lib/esm/data-grid/data-grid-context.js +1 -1
  203. package/lib/esm/data-grid/data-grid-nav/index.js +1 -1
  204. package/lib/esm/data-grid/helpers/index.js +1 -1
  205. package/lib/esm/data-grid/stories/staticData.js +1 -1
  206. package/lib/esm/dismissible-tag/DismissibleTag.js +1 -1
  207. package/lib/esm/fieldset/Fieldset.js +71 -0
  208. package/lib/esm/fieldset/Fieldset.js.map +1 -0
  209. package/lib/esm/fieldset/index.js +22 -0
  210. package/lib/esm/fieldset/index.js.map +1 -0
  211. package/lib/esm/fieldset/stories/fieldset-default.story.js +28 -0
  212. package/lib/esm/fieldset/stories/fieldset-default.story.js.map +1 -0
  213. package/lib/esm/fieldset/stories/fieldset-disabled.story.js +28 -0
  214. package/lib/esm/fieldset/stories/fieldset-disabled.story.js.map +1 -0
  215. package/lib/esm/fieldset/stories/fieldset-error.story.js +28 -0
  216. package/lib/esm/fieldset/stories/fieldset-error.story.js.map +1 -0
  217. package/lib/esm/fieldset/stories/fieldset-optional.story.js +28 -0
  218. package/lib/esm/fieldset/stories/fieldset-optional.story.js.map +1 -0
  219. package/lib/esm/fieldset/stories/fieldset-required.story.js +28 -0
  220. package/lib/esm/fieldset/stories/fieldset-required.story.js.map +1 -0
  221. package/lib/esm/fieldset/stories/fieldset-visually-hidden-label.story.js +28 -0
  222. package/lib/esm/fieldset/stories/fieldset-visually-hidden-label.story.js.map +1 -0
  223. package/lib/esm/fieldset/stories/index.js +40 -0
  224. package/lib/esm/fieldset/stories/index.js.map +1 -0
  225. package/lib/esm/filled-button/FilledButton.js +1 -1
  226. package/lib/esm/icon-button/IconButton.js +1 -1
  227. package/lib/esm/icons/generated/custom/FloppyDiskArrowTopRight.js +1 -1
  228. package/lib/esm/icons/generated/custom/FloppyDiskArrowTopRight.js.map +1 -1
  229. package/lib/esm/index.js +3 -0
  230. package/lib/esm/index.js.map +1 -1
  231. package/lib/esm/kbd/kbd-utils.js +1 -1
  232. package/lib/esm/logo/Logo.js +1 -1
  233. package/lib/esm/outlined-button/OutlinedButton.js +1 -1
  234. package/lib/esm/radio/Radio.js +17 -4
  235. package/lib/esm/radio/Radio.js.map +1 -1
  236. package/lib/esm/radio-group/RadioGroup.js +59 -0
  237. package/lib/esm/radio-group/RadioGroup.js.map +1 -0
  238. package/lib/esm/radio-group/index.js +22 -0
  239. package/lib/esm/radio-group/index.js.map +1 -0
  240. package/lib/esm/radio-group/stories/index.js +46 -0
  241. package/lib/esm/radio-group/stories/index.js.map +1 -0
  242. package/lib/esm/radio-group/stories/radio-group-controlled.story.js +30 -0
  243. package/lib/esm/radio-group/stories/radio-group-controlled.story.js.map +1 -0
  244. package/lib/esm/radio-group/stories/radio-group-default.story.js +28 -0
  245. package/lib/esm/radio-group/stories/radio-group-default.story.js.map +1 -0
  246. package/lib/esm/radio-group/stories/radio-group-disabled.story.js +28 -0
  247. package/lib/esm/radio-group/stories/radio-group-disabled.story.js.map +1 -0
  248. package/lib/esm/radio-group/stories/radio-group-error.story.js +28 -0
  249. package/lib/esm/radio-group/stories/radio-group-error.story.js.map +1 -0
  250. package/lib/esm/radio-group/stories/radio-group-horizontal.story.js +28 -0
  251. package/lib/esm/radio-group/stories/radio-group-horizontal.story.js.map +1 -0
  252. package/lib/esm/radio-group/stories/radio-group-optional.story.js +28 -0
  253. package/lib/esm/radio-group/stories/radio-group-optional.story.js.map +1 -0
  254. package/lib/esm/radio-group/stories/radio-group-required.story.js +28 -0
  255. package/lib/esm/radio-group/stories/radio-group-required.story.js.map +1 -0
  256. package/lib/esm/radio-group/stories/radio-group-visually-hidden-label.story.js +28 -0
  257. package/lib/esm/radio-group/stories/radio-group-visually-hidden-label.story.js.map +1 -0
  258. package/lib/esm/read-only-tag/ReadOnlyTag.js +1 -1
  259. package/lib/esm/select/Select.js +10 -7
  260. package/lib/esm/select/Select.js.map +1 -1
  261. package/lib/esm/select/stories/index.js +3 -0
  262. package/lib/esm/select/stories/index.js.map +1 -1
  263. package/lib/esm/select/stories/select-required.story.js +37 -0
  264. package/lib/esm/select/stories/select-required.story.js.map +1 -0
  265. package/lib/esm/select/types.js +1 -1
  266. package/lib/esm/select/types.js.map +1 -1
  267. package/lib/esm/spotlight/SpotlightTour.js +1 -1
  268. package/lib/esm/text-button/TextButton.js +1 -1
  269. package/lib/esm/tree-view/TreeViewItem.js +1 -1
  270. package/lib/esm/tree-view/TreeViewTextItem.js +1 -1
  271. package/lib/esm/tree-view/TreeViewTrail.js +1 -1
  272. package/lib/esm/tree-view/tree-view-types.js +1 -1
  273. package/lib/esm/tree-view/tree-view-utils.js +1 -1
  274. package/lib/esm/typography/Typography.js +1 -1
  275. package/lib/types/_common/ButtonSpinner.d.ts +1 -1
  276. package/lib/types/_common/TruncatedTextWithTooltip.d.ts +1 -1
  277. package/lib/types/_common/form-control/FormFieldLabel.d.ts +1 -1
  278. package/lib/types/_common/form-control/FormFieldMessage.d.ts +1 -1
  279. package/lib/types/_common/form-control/form-control-types.d.ts +1 -1
  280. package/lib/types/_common/form-control/form-field-group-context.d.ts +36 -0
  281. package/lib/types/_common/form-control/form-field-group-context.d.ts.map +1 -0
  282. package/lib/types/_common/form-control/index.d.ts +2 -1
  283. package/lib/types/_common/form-control/index.d.ts.map +1 -1
  284. package/lib/types/_common/form-control/use-form-field.d.ts +1 -1
  285. package/lib/types/_common/form-control/use-inline-field-label.d.ts +1 -1
  286. package/lib/types/_common/utils.d.ts +1 -1
  287. package/lib/types/_generated/style-rules/date-utils.d.ts +1 -1
  288. package/lib/types/_generated/style-rules/range-utils.d.ts +1 -1
  289. package/lib/types/accordion/Accordion.d.ts +1 -1
  290. package/lib/types/accordion/accordion-context.d.ts +1 -1
  291. package/lib/types/ai/response/stories/response-all-components.story.d.ts +1 -1
  292. package/lib/types/ai/response/stories/response-code-examples.story.d.ts +1 -1
  293. package/lib/types/ai/response/stories/response-full-example.story.d.ts +1 -1
  294. package/lib/types/ai/response/stories/response-headings.story.d.ts +1 -1
  295. package/lib/types/ai/response/stories/response-lists.story.d.ts +1 -1
  296. package/lib/types/announcement-banner/AnnouncementBanner.d.ts +1 -1
  297. package/lib/types/announcement-banner/index.d.ts +1 -1
  298. package/lib/types/announcement-banner/stories/announcement-banner-closeable.story.d.ts +1 -1
  299. package/lib/types/announcement-banner/stories/announcement-banner-custom-icons.story.d.ts +1 -1
  300. package/lib/types/announcement-banner/stories/announcement-banner-default.story.d.ts +1 -1
  301. package/lib/types/announcement-banner/stories/announcement-banner-injected-non-urgent.story.d.ts +1 -1
  302. package/lib/types/announcement-banner/stories/announcement-banner-injected-urgent.story.d.ts +1 -1
  303. package/lib/types/announcement-banner/stories/announcement-banner-present-at-page-render.story.d.ts +1 -1
  304. package/lib/types/announcement-banner/stories/announcement-banner-variants.story.d.ts +1 -1
  305. package/lib/types/announcement-banner/stories/announcement-banner-with-actions.story.d.ts +1 -1
  306. package/lib/types/announcement-banner/stories/announcement-banner-with-page-content.story.d.ts +1 -1
  307. package/lib/types/announcement-banner/stories/index.d.ts +1 -1
  308. package/lib/types/avatar/Avatar.d.ts +1 -1
  309. package/lib/types/banner/Banner.d.ts +1 -1
  310. package/lib/types/button/ButtonBase.d.ts +1 -1
  311. package/lib/types/checkbox/Checkbox.d.ts.map +1 -1
  312. package/lib/types/checkbox-group/CheckboxGroup.d.ts +40 -0
  313. package/lib/types/checkbox-group/CheckboxGroup.d.ts.map +1 -0
  314. package/lib/types/checkbox-group/index.d.ts +22 -0
  315. package/lib/types/checkbox-group/index.d.ts.map +1 -0
  316. package/lib/types/checkbox-group/stories/checkbox-group-default.story.d.ts +24 -0
  317. package/lib/types/checkbox-group/stories/checkbox-group-default.story.d.ts.map +1 -0
  318. package/lib/types/checkbox-group/stories/checkbox-group-disabled.story.d.ts +24 -0
  319. package/lib/types/checkbox-group/stories/checkbox-group-disabled.story.d.ts.map +1 -0
  320. package/lib/types/checkbox-group/stories/checkbox-group-error.story.d.ts +24 -0
  321. package/lib/types/checkbox-group/stories/checkbox-group-error.story.d.ts.map +1 -0
  322. package/lib/types/checkbox-group/stories/checkbox-group-optional.story.d.ts +24 -0
  323. package/lib/types/checkbox-group/stories/checkbox-group-optional.story.d.ts.map +1 -0
  324. package/lib/types/checkbox-group/stories/checkbox-group-required.story.d.ts +24 -0
  325. package/lib/types/checkbox-group/stories/checkbox-group-required.story.d.ts.map +1 -0
  326. package/lib/types/checkbox-group/stories/checkbox-group-visually-hidden-label.story.d.ts +24 -0
  327. package/lib/types/checkbox-group/stories/checkbox-group-visually-hidden-label.story.d.ts.map +1 -0
  328. package/lib/types/checkbox-group/stories/index.d.ts +33 -0
  329. package/lib/types/checkbox-group/stories/index.d.ts.map +1 -0
  330. package/lib/types/code-block/CodeBlock.d.ts +1 -1
  331. package/lib/types/combobox/use-combobox-popover.d.ts +1 -1
  332. package/lib/types/data-grid/Components.d.ts +1 -1
  333. package/lib/types/data-grid/data-grid-nav/data-grid-nav.d.ts +1 -1
  334. package/lib/types/date-picker/DatePicker.d.ts +1 -1
  335. package/lib/types/dialog/Dialog.d.ts +1 -1
  336. package/lib/types/divider/Divider.d.ts +1 -1
  337. package/lib/types/dropdown-button/DropdownButton.d.ts +1 -1
  338. package/lib/types/dropzone/Dropzone.d.ts +1 -1
  339. package/lib/types/dropzone/stories/dropzone-csv-files.story.d.ts +1 -1
  340. package/lib/types/dropzone/stories/dropzone-custom-extensions.story.d.ts +1 -1
  341. package/lib/types/dropzone/stories/dropzone-default.story.d.ts +1 -1
  342. package/lib/types/dropzone/stories/dropzone-disabled.story.d.ts +1 -1
  343. package/lib/types/dropzone/stories/dropzone-full.story.d.ts +1 -1
  344. package/lib/types/dropzone/stories/dropzone-loading-progress.story.d.ts +1 -1
  345. package/lib/types/fieldset/Fieldset.d.ts +59 -0
  346. package/lib/types/fieldset/Fieldset.d.ts.map +1 -0
  347. package/lib/types/fieldset/index.d.ts +22 -0
  348. package/lib/types/fieldset/index.d.ts.map +1 -0
  349. package/lib/types/fieldset/stories/fieldset-default.story.d.ts +24 -0
  350. package/lib/types/fieldset/stories/fieldset-default.story.d.ts.map +1 -0
  351. package/lib/types/fieldset/stories/fieldset-disabled.story.d.ts +24 -0
  352. package/lib/types/fieldset/stories/fieldset-disabled.story.d.ts.map +1 -0
  353. package/lib/types/fieldset/stories/fieldset-error.story.d.ts +24 -0
  354. package/lib/types/fieldset/stories/fieldset-error.story.d.ts.map +1 -0
  355. package/lib/types/fieldset/stories/fieldset-optional.story.d.ts +24 -0
  356. package/lib/types/fieldset/stories/fieldset-optional.story.d.ts.map +1 -0
  357. package/lib/types/fieldset/stories/fieldset-required.story.d.ts +24 -0
  358. package/lib/types/fieldset/stories/fieldset-required.story.d.ts.map +1 -0
  359. package/lib/types/fieldset/stories/fieldset-visually-hidden-label.story.d.ts +24 -0
  360. package/lib/types/fieldset/stories/fieldset-visually-hidden-label.story.d.ts.map +1 -0
  361. package/lib/types/fieldset/stories/index.d.ts +33 -0
  362. package/lib/types/fieldset/stories/index.d.ts.map +1 -0
  363. package/lib/types/graph-label/GraphLabel.d.ts +1 -1
  364. package/lib/types/graph-label/color.d.ts +1 -1
  365. package/lib/types/hooks/index.d.ts +1 -1
  366. package/lib/types/icon-button-array/IconButtonArray.d.ts +1 -1
  367. package/lib/types/icon-button-base/IconButtonBase.d.ts +1 -1
  368. package/lib/types/icons/generated/custom/FloppyDiskArrowTopRight.d.ts +1 -1
  369. package/lib/types/icons/manual/Neo4JAiColor.d.ts +1 -1
  370. package/lib/types/index.d.ts +3 -0
  371. package/lib/types/index.d.ts.map +1 -1
  372. package/lib/types/inline-edit/InlineEdit.d.ts +1 -1
  373. package/lib/types/kbd/Kbd.d.ts +1 -1
  374. package/lib/types/loading-bar/LoadingBar.d.ts +1 -1
  375. package/lib/types/loading-spinner/LoadingSpinner.d.ts +1 -1
  376. package/lib/types/menu/Menu.d.ts +1 -1
  377. package/lib/types/modal/Modal.d.ts +1 -1
  378. package/lib/types/portal/Portal.d.ts +1 -1
  379. package/lib/types/progress-bar/ProgressBar.d.ts +1 -1
  380. package/lib/types/radio/Radio.d.ts +2 -2
  381. package/lib/types/radio/Radio.d.ts.map +1 -1
  382. package/lib/types/radio-group/RadioGroup.d.ts +50 -0
  383. package/lib/types/radio-group/RadioGroup.d.ts.map +1 -0
  384. package/lib/types/radio-group/index.d.ts +22 -0
  385. package/lib/types/radio-group/index.d.ts.map +1 -0
  386. package/lib/types/radio-group/stories/index.d.ts +37 -0
  387. package/lib/types/radio-group/stories/index.d.ts.map +1 -0
  388. package/lib/types/radio-group/stories/radio-group-controlled.story.d.ts +24 -0
  389. package/lib/types/radio-group/stories/radio-group-controlled.story.d.ts.map +1 -0
  390. package/lib/types/radio-group/stories/radio-group-default.story.d.ts +24 -0
  391. package/lib/types/radio-group/stories/radio-group-default.story.d.ts.map +1 -0
  392. package/lib/types/radio-group/stories/radio-group-disabled.story.d.ts +24 -0
  393. package/lib/types/radio-group/stories/radio-group-disabled.story.d.ts.map +1 -0
  394. package/lib/types/radio-group/stories/radio-group-error.story.d.ts +24 -0
  395. package/lib/types/radio-group/stories/radio-group-error.story.d.ts.map +1 -0
  396. package/lib/types/radio-group/stories/radio-group-horizontal.story.d.ts +24 -0
  397. package/lib/types/radio-group/stories/radio-group-horizontal.story.d.ts.map +1 -0
  398. package/lib/types/radio-group/stories/radio-group-optional.story.d.ts +24 -0
  399. package/lib/types/radio-group/stories/radio-group-optional.story.d.ts.map +1 -0
  400. package/lib/types/radio-group/stories/radio-group-required.story.d.ts +24 -0
  401. package/lib/types/radio-group/stories/radio-group-required.story.d.ts.map +1 -0
  402. package/lib/types/radio-group/stories/radio-group-visually-hidden-label.story.d.ts +24 -0
  403. package/lib/types/radio-group/stories/radio-group-visually-hidden-label.story.d.ts.map +1 -0
  404. package/lib/types/segmented-control/SegmentedControl.d.ts +1 -1
  405. package/lib/types/select/Select.d.ts +2 -2
  406. package/lib/types/select/Select.d.ts.map +1 -1
  407. package/lib/types/select/stories/index.d.ts +2 -0
  408. package/lib/types/select/stories/index.d.ts.map +1 -1
  409. package/lib/types/select/stories/select-required.story.d.ts +24 -0
  410. package/lib/types/select/stories/select-required.story.d.ts.map +1 -0
  411. package/lib/types/select/types.d.ts +10 -0
  412. package/lib/types/select/types.d.ts.map +1 -1
  413. package/lib/types/select-icon-button/SelectIconButton.d.ts +1 -1
  414. package/lib/types/selectable-tag/SelectableTag.d.ts +1 -1
  415. package/lib/types/skeleton/Skeleton.d.ts +1 -1
  416. package/lib/types/slider/Slider.d.ts +1 -1
  417. package/lib/types/slider/stories/slider-custom-step-length.story.d.ts +1 -1
  418. package/lib/types/slider/stories/slider-default.story.d.ts +1 -1
  419. package/lib/types/slider/stories/slider-disabled.story.d.ts +1 -1
  420. package/lib/types/slider/stories/slider-range.story.d.ts +1 -1
  421. package/lib/types/slider/stories/slider-show-steps.story.d.ts +1 -1
  422. package/lib/types/slider/stories/slider-show-values.story.d.ts +1 -1
  423. package/lib/types/slider/stories/slider-single.story.d.ts +1 -1
  424. package/lib/types/spotlight/Spotlight.d.ts +1 -1
  425. package/lib/types/spotlight/SpotlightProvider.d.ts +1 -1
  426. package/lib/types/spotlight/SpotlightTarget.d.ts +1 -1
  427. package/lib/types/status-indicator/StatusIndicator.d.ts +1 -1
  428. package/lib/types/status-label/StatusLabel.d.ts +1 -1
  429. package/lib/types/tabs/Tabs.d.ts +1 -1
  430. package/lib/types/tabs/use-tabs-scroll-overflow.d.ts +1 -1
  431. package/lib/types/tag/Tag.d.ts +1 -1
  432. package/lib/types/tag-base/TagBase.d.ts +1 -1
  433. package/lib/types/text-area/TextArea.d.ts +1 -1
  434. package/lib/types/text-link/TextLink.d.ts +1 -1
  435. package/lib/types/text-overflow/TextOverflow.d.ts +1 -1
  436. package/lib/types/theme/ThemeProvider.d.ts +1 -1
  437. package/lib/types/theme/agnostic.d.ts +1 -1
  438. package/lib/types/time-picker/TimePicker.d.ts +1 -1
  439. package/lib/types/time-picker/time-picker-hooks.d.ts +1 -1
  440. package/lib/types/timezone-picker/TimeZonePicker.d.ts +1 -1
  441. package/lib/types/timezone-picker/timezone-picker-hooks.d.ts +1 -1
  442. package/lib/types/toast/Toast.d.ts +1 -1
  443. package/lib/types/toast/ToastControlled.d.ts +1 -1
  444. package/lib/types/tree-view/TreeItemWrapper.d.ts +1 -1
  445. package/lib/types/tree-view/tree-view-keyboard-helpers.d.ts +1 -1
  446. package/lib/types/typography/stories/typography-anchor.story.d.ts +1 -1
  447. package/lib/types/wizard/Wizard.d.ts +1 -1
  448. package/package.json +17 -2
  449. package/skills/ndl-react/SKILL.md +6 -3
  450. package/skills/ndl-react/components/checkbox-group.md +195 -0
  451. package/skills/ndl-react/components/fieldset.md +235 -0
  452. package/skills/ndl-react/components/radio-group.md +259 -0
  453. package/skills/ndl-react/components/radio.md +1 -1
  454. package/skills/ndl-react/components/select.md +42 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo4j-ndl/react",
3
- "version": "4.24.2",
3
+ "version": "4.25.1",
4
4
  "sideEffects": false,
5
5
  "description": "React implementation of Neo4j Design System",
6
6
  "keywords": [
@@ -62,6 +62,11 @@
62
62
  "require": "./lib/cjs/checkbox/index.js",
63
63
  "import": "./lib/esm/checkbox/index.js"
64
64
  },
65
+ "./checkbox-group": {
66
+ "types": "./lib/types/checkbox-group/index.d.ts",
67
+ "require": "./lib/cjs/checkbox-group/index.js",
68
+ "import": "./lib/esm/checkbox-group/index.js"
69
+ },
65
70
  "./clean-icon-button": {
66
71
  "types": "./lib/types/clean-icon-button/index.d.ts",
67
72
  "require": "./lib/cjs/clean-icon-button/index.js",
@@ -137,6 +142,11 @@
137
142
  "require": "./lib/cjs/dropzone/index.js",
138
143
  "import": "./lib/esm/dropzone/index.js"
139
144
  },
145
+ "./fieldset": {
146
+ "types": "./lib/types/fieldset/index.d.ts",
147
+ "require": "./lib/cjs/fieldset/index.js",
148
+ "import": "./lib/esm/fieldset/index.js"
149
+ },
140
150
  "./filled-button": {
141
151
  "types": "./lib/types/filled-button/index.d.ts",
142
152
  "require": "./lib/cjs/filled-button/index.js",
@@ -227,6 +237,11 @@
227
237
  "require": "./lib/cjs/radio/index.js",
228
238
  "import": "./lib/esm/radio/index.js"
229
239
  },
240
+ "./radio-group": {
241
+ "types": "./lib/types/radio-group/index.d.ts",
242
+ "require": "./lib/cjs/radio-group/index.js",
243
+ "import": "./lib/esm/radio-group/index.js"
244
+ },
230
245
  "./read-only-tag": {
231
246
  "types": "./lib/types/read-only-tag/index.d.ts",
232
247
  "require": "./lib/cjs/read-only-tag/index.js",
@@ -409,7 +424,7 @@
409
424
  "@tanstack/react-table": "8.21.3",
410
425
  "react": ">=19.0.0",
411
426
  "react-dom": ">=19.0.0",
412
- "@neo4j-ndl/base": "^4.23.1"
427
+ "@neo4j-ndl/base": "^4.23.2"
413
428
  },
414
429
  "dependencies": {
415
430
  "@dnd-kit/core": "6.3.1",
@@ -2,7 +2,7 @@
2
2
  name: ndl-react
3
3
  metadata:
4
4
  package: '@neo4j-ndl/react'
5
- version: '4.24.2'
5
+ version: '4.25.1'
6
6
  description: >-
7
7
  Build and edit UI with the Neo4j Needle React design system
8
8
  (@neo4j-ndl/react). Use when adding, composing, or modifying Needle components
@@ -15,7 +15,7 @@ description: >-
15
15
 
16
16
  # Neo4j Needle (@neo4j-ndl/react)
17
17
 
18
- > 📌 Shipped with `@neo4j-ndl/react` v4.24.2. Once installed into your repo (e.g. via
18
+ > 📌 Shipped with `@neo4j-ndl/react` v4.25.1. Once installed into your repo (e.g. via
19
19
  > `npx skills add`) this folder is detached from the package — the installed
20
20
  > package (TypeScript types in `node_modules/@neo4j-ndl/react`) is the source of
21
21
  > truth.
@@ -140,6 +140,7 @@ Import from `@neo4j-ndl/react`.
140
140
  | `Box` | [components/box.md](components/box.md) | | 1 |
141
141
  | `Breadcrumbs` | [components/breadcrumbs.md](components/breadcrumbs.md) | ✅ | 4 |
142
142
  | `Checkbox` | [components/checkbox.md](components/checkbox.md) | ✅ | 9 |
143
+ | `CheckboxGroup` | [components/checkbox-group.md](components/checkbox-group.md) | ✅ | 6 |
143
144
  | `CleanIconButton` | [components/clean-icon-button.md](components/clean-icon-button.md) | ✅ | 8 |
144
145
  | `ClipboardButton` | [components/clipboard-button.md](components/clipboard-button.md) | | 7 |
145
146
  | `Code` | [components/code.md](components/code.md) | ✅ | 2 |
@@ -155,6 +156,7 @@ Import from `@neo4j-ndl/react`.
155
156
  | `Drawer` | [components/drawer.md](components/drawer.md) | ✅ | 8 |
156
157
  | `DropdownButton` | [components/dropdown-button.md](components/dropdown-button.md) | | 7 |
157
158
  | `Dropzone` | [components/dropzone.md](components/dropzone.md) | | 6 |
159
+ | `Fieldset` | [components/fieldset.md](components/fieldset.md) | ✅ | 6 |
158
160
  | `FilledButton` | [components/filled-button.md](components/filled-button.md) | | 0 |
159
161
  | `Flex` | [components/flex.md](components/flex.md) | | 1 |
160
162
  | `GraphLabel` | [components/graph-label.md](components/graph-label.md) | | 7 |
@@ -171,9 +173,10 @@ Import from `@neo4j-ndl/react`.
171
173
  | `Popover` | [components/popover.md](components/popover.md) | ✅ | 6 |
172
174
  | `ProgressBar` | [components/progress-bar.md](components/progress-bar.md) | ✅ | 3 |
173
175
  | `Radio` | [components/radio.md](components/radio.md) | ✅ | 7 |
176
+ | `RadioGroup` | [components/radio-group.md](components/radio-group.md) | ✅ | 8 |
174
177
  | `ReadOnlyTag` | [components/read-only-tag.md](components/read-only-tag.md) | | 4 |
175
178
  | `SegmentedControl` | [components/segmented-control.md](components/segmented-control.md) | ✅ | 5 |
176
- | `Select` | [components/select.md](components/select.md) | | 13 |
179
+ | `Select` | [components/select.md](components/select.md) | | 14 |
177
180
  | `SelectIconButton` | [components/select-icon-button.md](components/select-icon-button.md) | | 4 |
178
181
  | `SelectableTag` | [components/selectable-tag.md](components/selectable-tag.md) | | 6 |
179
182
  | `SideNavigation` | [components/side-navigation.md](components/side-navigation.md) | | 4 |
@@ -0,0 +1,195 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
3
+ # CheckboxGroup
4
+
5
+ Import: `import { CheckboxGroup } from '@neo4j-ndl/react'`
6
+
7
+ ## Props
8
+
9
+ ### CheckboxGroup
10
+
11
+ | Prop | Type | Required | Default | Description |
12
+ |------|------|----------|---------|-------------|
13
+ | `children` | `ReactNode` | ✅ | | The controls grouped by the fieldset |
14
+ | `errorText` | `ReactNode` | | | Error message displayed below the grouped controls. When provided, it replaces `helpText` |
15
+ | `hasRequiredIndicator` | `boolean` | | | Whether Required or Optional is shown at the end of the legend row |
16
+ | `hasVisuallyHiddenLabel` | `boolean` | | | Whether the legend is clipped out of the layout, leaving it to screen readers only |
17
+ | `helpText` | `ReactNode` | | | Assistive text displayed below the grouped controls |
18
+ | `isDisabled` | `boolean` | | `false` | Whether all native form controls in the fieldset are disabled |
19
+ | `isRequired` | `boolean` | | `false` | Whether the grouped field is required |
20
+ | `label` | `ReactNode` | ✅ | | The accessible label displayed in the fieldset legend |
21
+ | `name` | `string` | | | Shared native name for checkbox form values |
22
+ | `ref` | `Ref<HTMLFieldSetElement>` | | | A ref to apply to the root element. |
23
+
24
+ Checked state remains on each `Checkbox`. Browsers cannot natively validate
25
+ an “at least one” checkbox requirement, so applications should set
26
+ `errorText` after validating a required group.
27
+
28
+ ## Accessibility
29
+
30
+ `CheckboxGroup` renders a native `<fieldset>` and `<legend>`. The legend names
31
+ the group, while every `Checkbox` keeps its own label. A shared `name` can be
32
+ provided when checked values should be submitted under the same form key.
33
+
34
+ Each native checkbox remains a separate Tab stop and Space toggles the focused
35
+ checkbox. `isDisabled` disables the fieldset and every descendant control.
36
+
37
+ Browsers cannot express an “at least one checkbox” constraint with native
38
+ `required`; applying `required` to every checkbox would require every option.
39
+ Use `isRequired` for the group’s required presentation, validate the selected
40
+ values in the application, and provide `errorText` when validation fails.
41
+ “Required” is included in the legend's accessible name.
42
+
43
+ Help and error text are associated with the group through `aria-describedby`;
44
+ individual checkboxes retain only descriptions supplied directly to them. An
45
+ error replaces help text and sets `aria-invalid` on the group and its
46
+ checkboxes.
47
+
48
+ ## Examples
49
+
50
+ ### Default
51
+
52
+ ```tsx
53
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
54
+
55
+ import { Checkbox, CheckboxGroup } from '@neo4j-ndl/react';
56
+
57
+ const Component = () => {
58
+ return (
59
+ <CheckboxGroup
60
+ label="Notification channels"
61
+ name="notification-channel"
62
+ helpText="Choose every channel you want to use."
63
+ >
64
+ <Checkbox label="Email" value="email" isDefaultChecked />
65
+ <Checkbox label="In-app" value="in-app" />
66
+ <Checkbox label="Mobile push" value="push" />
67
+ </CheckboxGroup>
68
+ );
69
+ };
70
+
71
+ export default Component;
72
+ ```
73
+
74
+ ### Disabled
75
+
76
+ ```tsx
77
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
78
+
79
+ import { Checkbox, CheckboxGroup } from '@neo4j-ndl/react';
80
+
81
+ const Component = () => {
82
+ return (
83
+ <CheckboxGroup
84
+ label="Notification channels"
85
+ name="notification-channel-disabled"
86
+ isDisabled
87
+ >
88
+ <Checkbox label="Email" value="email" isDefaultChecked />
89
+ <Checkbox label="In-app" value="in-app" />
90
+ <Checkbox label="Mobile push" value="push" />
91
+ </CheckboxGroup>
92
+ );
93
+ };
94
+
95
+ export default Component;
96
+ ```
97
+
98
+ ### Error
99
+
100
+ ```tsx
101
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
102
+
103
+ import { Checkbox, CheckboxGroup } from '@neo4j-ndl/react';
104
+
105
+ const Component = () => {
106
+ return (
107
+ <CheckboxGroup
108
+ label="Notification channels"
109
+ name="notification-channel-error"
110
+ errorText="Select at least one notification channel."
111
+ >
112
+ <Checkbox label="Email" value="email" isDefaultChecked />
113
+ <Checkbox label="In-app" value="in-app" />
114
+ <Checkbox label="Mobile push" value="push" />
115
+ </CheckboxGroup>
116
+ );
117
+ };
118
+
119
+ export default Component;
120
+ ```
121
+
122
+ ### Optional
123
+
124
+ ```tsx
125
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
126
+
127
+ import { Checkbox, CheckboxGroup } from '@neo4j-ndl/react';
128
+
129
+ const Component = () => {
130
+ return (
131
+ <CheckboxGroup
132
+ label="Notification channels"
133
+ name="notification-channel-optional"
134
+ hasRequiredIndicator
135
+ >
136
+ <Checkbox label="Email" value="email" isDefaultChecked />
137
+ <Checkbox label="In-app" value="in-app" />
138
+ <Checkbox label="Mobile push" value="push" />
139
+ </CheckboxGroup>
140
+ );
141
+ };
142
+
143
+ export default Component;
144
+ ```
145
+
146
+ ### Required
147
+
148
+ ```tsx
149
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
150
+
151
+ import { Checkbox, CheckboxGroup } from '@neo4j-ndl/react';
152
+
153
+ const Component = () => {
154
+ return (
155
+ <CheckboxGroup
156
+ label="Notification channels"
157
+ name="notification-channel-required"
158
+ hasRequiredIndicator
159
+ isRequired
160
+ >
161
+ <Checkbox label="Email" value="email" isDefaultChecked />
162
+ <Checkbox label="In-app" value="in-app" />
163
+ <Checkbox label="Mobile push" value="push" />
164
+ </CheckboxGroup>
165
+ );
166
+ };
167
+
168
+ export default Component;
169
+ ```
170
+
171
+ ### Visually Hidden Label
172
+
173
+ ```tsx
174
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
175
+
176
+ import { Checkbox, CheckboxGroup } from '@neo4j-ndl/react';
177
+
178
+ const Component = () => {
179
+ return (
180
+ <>
181
+ <CheckboxGroup
182
+ label="Notification channels"
183
+ name="notification-channel-hidden"
184
+ hasVisuallyHiddenLabel
185
+ >
186
+ <Checkbox label="Email" value="email" isDefaultChecked />
187
+ <Checkbox label="In-app" value="in-app" />
188
+ <Checkbox label="Mobile push" value="push" />
189
+ </CheckboxGroup>
190
+ </>
191
+ );
192
+ };
193
+
194
+ export default Component;
195
+ ```
@@ -0,0 +1,235 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
3
+ # Fieldset
4
+
5
+ Import: `import { Fieldset } from '@neo4j-ndl/react'`
6
+
7
+ ## Props
8
+
9
+ ### Fieldset
10
+
11
+ | Prop | Type | Required | Default | Description |
12
+ |------|------|----------|---------|-------------|
13
+ | `children` | `ReactNode` | ✅ | | The controls grouped by the fieldset |
14
+ | `errorText` | `ReactNode` | | | Error message displayed below the grouped controls. When provided, it replaces `helpText` |
15
+ | `hasRequiredIndicator` | `boolean` | | `false` | Whether Required or Optional is shown at the end of the legend row |
16
+ | `hasVisuallyHiddenLabel` | `boolean` | | `false` | Whether the legend is clipped out of the layout, leaving it to screen readers only |
17
+ | `helpText` | `ReactNode` | | | Assistive text displayed below the grouped controls |
18
+ | `isDisabled` | `boolean` | | `false` | Whether all native form controls in the fieldset are disabled |
19
+ | `isRequired` | `boolean` | | `false` | Whether the grouped field is required |
20
+ | `label` | `ReactNode` | ✅ | | The accessible label displayed in the fieldset legend |
21
+ | `ref` | `Ref<HTMLFieldSetElement>` | | | A ref to apply to the root element. |
22
+
23
+ Use `RadioGroup` or `CheckboxGroup` when the children are exclusively
24
+ radios or checkboxes and should inherit shared group attributes.
25
+
26
+ ## Accessibility
27
+
28
+ `Fieldset` renders a native `<fieldset>` whose first child is a `<legend>`.
29
+ This gives the grouped controls a shared accessible name while each control
30
+ keeps its own label.
31
+
32
+ Help and error text are associated with the fieldset through
33
+ `aria-describedby`. An error replaces help text, sets `aria-invalid`, and is
34
+ announced by the shared polite live region. `isDisabled` uses the native
35
+ `disabled` attribute, which disables descendant form controls. Because a
36
+ generic fieldset cannot apply native required behavior to arbitrary children,
37
+ `isRequired` adds “Required” to the legend's accessible name; consumers remain
38
+ responsible for validating the controls.
39
+
40
+ Use `hasVisuallyHiddenLabel` only when the same group name is already visible
41
+ elsewhere. The legend remains available to assistive technology.
42
+
43
+ Use `RadioGroup` for one-of-many radio choices and `CheckboxGroup` for related
44
+ checkboxes. Use `Fieldset` directly for mixed or other related form controls.
45
+
46
+ ## Examples
47
+
48
+ ### Default
49
+
50
+ ```tsx
51
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
52
+
53
+ import { Checkbox, Fieldset, TextArea, TextInput } from '@neo4j-ndl/react';
54
+
55
+ const Component = () => {
56
+ return (
57
+ <Fieldset
58
+ label="Team settings"
59
+ helpText="These settings apply to the whole team."
60
+ >
61
+ <TextInput label="Team name" placeholder="Graph Platform" />
62
+ <TextInput
63
+ label="Contact email"
64
+ placeholder="team@example.com"
65
+ htmlAttributes={{ type: 'email' }}
66
+ />
67
+ <TextArea
68
+ label="Team description"
69
+ placeholder="Describe what your team works on"
70
+ />
71
+ <Checkbox label="Allow other members to invite people" />
72
+ </Fieldset>
73
+ );
74
+ };
75
+
76
+ export default Component;
77
+ ```
78
+
79
+ ### Disabled
80
+
81
+ ```tsx
82
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
83
+
84
+ import {
85
+ Checkbox,
86
+ Fieldset,
87
+ Radio,
88
+ Switch,
89
+ TextArea,
90
+ TextInput,
91
+ TimePicker,
92
+ TimeZonePicker,
93
+ } from '@neo4j-ndl/react';
94
+
95
+ const Component = () => {
96
+ return (
97
+ <Fieldset label="Team settings" isDisabled>
98
+ <TextInput label="Team name" placeholder="Graph Platform" />
99
+ <TextInput
100
+ label="Contact email"
101
+ placeholder="team@example.com"
102
+ htmlAttributes={{ type: 'email' }}
103
+ />
104
+ <TextArea
105
+ label="Team description"
106
+ placeholder="Describe what your team works on"
107
+ />
108
+ <Checkbox label="Allow other members to invite people" />
109
+ <Radio label="Use team defaults" />
110
+ <Switch label="Enable team notifications" />
111
+ <TimePicker label="Daily reminder time" />
112
+ <TimeZonePicker label="Team time zone" value="Europe/Stockholm" />
113
+ </Fieldset>
114
+ );
115
+ };
116
+
117
+ export default Component;
118
+ ```
119
+
120
+ ### Error
121
+
122
+ ```tsx
123
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
124
+
125
+ import { Checkbox, Fieldset, TextArea, TextInput } from '@neo4j-ndl/react';
126
+
127
+ const Component = () => {
128
+ return (
129
+ <Fieldset
130
+ label="Team settings"
131
+ errorText="Review the team settings before continuing."
132
+ >
133
+ <TextInput label="Team name" placeholder="Graph Platform" />
134
+ <TextInput
135
+ label="Contact email"
136
+ placeholder="team@example.com"
137
+ htmlAttributes={{ type: 'email' }}
138
+ />
139
+ <TextArea
140
+ label="Team description"
141
+ placeholder="Describe what your team works on"
142
+ />
143
+ <Checkbox label="Allow other members to invite people" />
144
+ </Fieldset>
145
+ );
146
+ };
147
+
148
+ export default Component;
149
+ ```
150
+
151
+ ### Optional
152
+
153
+ ```tsx
154
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
155
+
156
+ import { Checkbox, Fieldset, TextArea, TextInput } from '@neo4j-ndl/react';
157
+
158
+ const Component = () => {
159
+ return (
160
+ <Fieldset label="Team settings" hasRequiredIndicator>
161
+ <TextInput label="Team name" placeholder="Graph Platform" />
162
+ <TextInput
163
+ label="Contact email"
164
+ placeholder="team@example.com"
165
+ htmlAttributes={{ type: 'email' }}
166
+ />
167
+ <TextArea
168
+ label="Team description"
169
+ placeholder="Describe what your team works on"
170
+ />
171
+ <Checkbox label="Allow other members to invite people" />
172
+ </Fieldset>
173
+ );
174
+ };
175
+
176
+ export default Component;
177
+ ```
178
+
179
+ ### Required
180
+
181
+ ```tsx
182
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
183
+
184
+ import { Checkbox, Fieldset, TextArea, TextInput } from '@neo4j-ndl/react';
185
+
186
+ const Component = () => {
187
+ return (
188
+ <Fieldset label="Team settings" hasRequiredIndicator isRequired>
189
+ <TextInput label="Team name" placeholder="Graph Platform" />
190
+ <TextInput
191
+ label="Contact email"
192
+ placeholder="team@example.com"
193
+ htmlAttributes={{ type: 'email' }}
194
+ />
195
+ <TextArea
196
+ label="Team description"
197
+ placeholder="Describe what your team works on"
198
+ />
199
+ <Checkbox label="Allow other members to invite people" />
200
+ </Fieldset>
201
+ );
202
+ };
203
+
204
+ export default Component;
205
+ ```
206
+
207
+ ### Visually Hidden Label
208
+
209
+ ```tsx
210
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
211
+
212
+ import { Checkbox, Fieldset, TextArea, TextInput } from '@neo4j-ndl/react';
213
+
214
+ const Component = () => {
215
+ return (
216
+ <>
217
+ <Fieldset label="Team settings" hasVisuallyHiddenLabel>
218
+ <TextInput label="Team name" placeholder="Graph Platform" />
219
+ <TextInput
220
+ label="Contact email"
221
+ placeholder="team@example.com"
222
+ htmlAttributes={{ type: 'email' }}
223
+ />
224
+ <TextArea
225
+ label="Team description"
226
+ placeholder="Describe what your team works on"
227
+ />
228
+ <Checkbox label="Allow other members to invite people" />
229
+ </Fieldset>
230
+ </>
231
+ );
232
+ };
233
+
234
+ export default Component;
235
+ ```