@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
@@ -97,18 +97,21 @@ const customStyles = () => {
97
97
  */
98
98
  const Select = (_a) => {
99
99
  var _b, _c, _d;
100
- var { as, label, helpText, errorText, isFluid = true, size = 'medium', type = 'select', ariaLabel, selectProps = {}, isClean = false, isDisabled, htmlAttributes, className, style, ref } = _a, restProps = __rest(_a, ["as", "label", "helpText", "errorText", "isFluid", "size", "type", "ariaLabel", "selectProps", "isClean", "isDisabled", "htmlAttributes", "className", "style", "ref"]);
100
+ var { as, label, helpText, errorText, isFluid = true, size = 'medium', type = 'select', ariaLabel, selectProps = {}, isClean = false, isDisabled, isRequired = false, hasRequiredIndicator = false, htmlAttributes, className, style, ref } = _a, restProps = __rest(_a, ["as", "label", "helpText", "errorText", "isFluid", "size", "type", "ariaLabel", "selectProps", "isClean", "isDisabled", "isRequired", "hasRequiredIndicator", "htmlAttributes", "className", "style", "ref"]);
101
101
  const isInsideDialog = (0, dialog_context_1.useIsInsideDialog)();
102
102
  const menuPosition = isInsideDialog ? 'fixed' : 'absolute';
103
103
  const identifier = (0, react_1.useId)();
104
+ // `selectProps.required` predates `isRequired`, so either one keeps the
105
+ // indicator and the native validation in sync.
106
+ const isFieldRequired = isRequired || Boolean(selectProps.required);
104
107
  // The shared form field resolves the ids and which message is displayed -
105
- // an error always replaces the help text. Select has no required support;
106
- // it is deprecated in favor of Combobox, which has isRequired and
107
- // hasRequiredIndicator.
108
+ // an error always replaces the help text.
108
109
  const { field } = (0, form_control_1.useFormField)({
109
110
  controlId: identifier,
110
111
  errorText,
112
+ hasRequiredIndicator,
111
113
  helpText,
114
+ isRequired: isFieldRequired,
112
115
  label,
113
116
  });
114
117
  const helpTextId = field.helpTextId;
@@ -154,14 +157,14 @@ const Select = (_a) => {
154
157
  let SelectElement;
155
158
  switch (type) {
156
159
  case 'async': {
157
- SelectElement = ((0, jsx_runtime_1.jsx)(async_1.default, Object.assign({ name: identifier, inputId: identifier, isDisabled: Boolean(isDisabled) || selectProps.isDisabled, menuPlacement: "auto", "aria-label": ariaLabel, "aria-invalid": Boolean(errorText) }, selectProps, { onKeyDown: handleKeyDown, onMenuOpen: handleMenuOpen, onMenuClose: handleMenuClose, menuPosition: (_b = selectProps.menuPosition) !== null && _b !== void 0 ? _b : menuPosition, hideSelectedOptions: false, closeMenuOnSelect: Boolean(selectProps.isMulti) === false, styles: Object.assign(Object.assign({}, StyleOverrides), selectProps.styles), components: Object.assign(Object.assign({}, ComponentOverrides), selectProps.components) })));
160
+ SelectElement = ((0, jsx_runtime_1.jsx)(async_1.default, Object.assign({ name: identifier, inputId: identifier, isDisabled: Boolean(isDisabled) || selectProps.isDisabled, menuPlacement: "auto", "aria-label": ariaLabel, "aria-invalid": Boolean(errorText) }, selectProps, { required: isFieldRequired, onKeyDown: handleKeyDown, onMenuOpen: handleMenuOpen, onMenuClose: handleMenuClose, menuPosition: (_b = selectProps.menuPosition) !== null && _b !== void 0 ? _b : menuPosition, hideSelectedOptions: false, closeMenuOnSelect: Boolean(selectProps.isMulti) === false, styles: Object.assign(Object.assign({}, StyleOverrides), selectProps.styles), components: Object.assign(Object.assign({}, ComponentOverrides), selectProps.components) })));
158
161
  break;
159
162
  }
160
163
  case 'creatable':
161
- SelectElement = ((0, jsx_runtime_1.jsx)(creatable_1.default, Object.assign({ name: identifier, inputId: identifier, isDisabled: Boolean(isDisabled) || selectProps.isDisabled, menuPlacement: "auto" }, selectProps, { "aria-label": ariaLabel, "aria-invalid": Boolean(errorText), onKeyDown: handleKeyDown, onMenuOpen: handleMenuOpen, onMenuClose: handleMenuClose, menuPosition: (_c = selectProps.menuPosition) !== null && _c !== void 0 ? _c : menuPosition, hideSelectedOptions: false, closeMenuOnSelect: Boolean(selectProps.isMulti) === false, styles: Object.assign(Object.assign({}, StyleOverrides), selectProps.styles), components: Object.assign(Object.assign({}, ComponentOverrides), selectProps.components) })));
164
+ SelectElement = ((0, jsx_runtime_1.jsx)(creatable_1.default, Object.assign({ name: identifier, inputId: identifier, isDisabled: Boolean(isDisabled) || selectProps.isDisabled, menuPlacement: "auto" }, selectProps, { "aria-label": ariaLabel, "aria-invalid": Boolean(errorText), required: isFieldRequired, onKeyDown: handleKeyDown, onMenuOpen: handleMenuOpen, onMenuClose: handleMenuClose, menuPosition: (_c = selectProps.menuPosition) !== null && _c !== void 0 ? _c : menuPosition, hideSelectedOptions: false, closeMenuOnSelect: Boolean(selectProps.isMulti) === false, styles: Object.assign(Object.assign({}, StyleOverrides), selectProps.styles), components: Object.assign(Object.assign({}, ComponentOverrides), selectProps.components) })));
162
165
  break;
163
166
  default:
164
- SelectElement = ((0, jsx_runtime_1.jsx)(react_select_1.default, Object.assign({ name: identifier, inputId: identifier, isDisabled: Boolean(isDisabled) || selectProps.isDisabled, menuPlacement: "auto" }, selectProps, { "aria-label": ariaLabel, "aria-invalid": Boolean(errorText), onKeyDown: handleKeyDown, onMenuOpen: handleMenuOpen, onMenuClose: handleMenuClose, menuPosition: (_d = selectProps.menuPosition) !== null && _d !== void 0 ? _d : menuPosition, hideSelectedOptions: false, closeMenuOnSelect: Boolean(selectProps.isMulti) === false, styles: Object.assign(Object.assign({}, StyleOverrides), selectProps.styles), components: Object.assign(Object.assign({}, ComponentOverrides), selectProps.components) })));
167
+ SelectElement = ((0, jsx_runtime_1.jsx)(react_select_1.default, Object.assign({ name: identifier, inputId: identifier, isDisabled: Boolean(isDisabled) || selectProps.isDisabled, menuPlacement: "auto" }, selectProps, { "aria-label": ariaLabel, "aria-invalid": Boolean(errorText), required: isFieldRequired, onKeyDown: handleKeyDown, onMenuOpen: handleMenuOpen, onMenuClose: handleMenuClose, menuPosition: (_d = selectProps.menuPosition) !== null && _d !== void 0 ? _d : menuPosition, hideSelectedOptions: false, closeMenuOnSelect: Boolean(selectProps.isMulti) === false, styles: Object.assign(Object.assign({}, StyleOverrides), selectProps.styles), components: Object.assign(Object.assign({}, ComponentOverrides), selectProps.components) })));
165
168
  }
166
169
  const classes = (0, classnames_1.default)('ndl-select', className, {
167
170
  'ndl-creatable': type === 'creatable',
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/select/Select.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { tokens } from '@neo4j-ndl/base';\nimport classNames from 'classnames';\nimport type React from 'react';\nimport { useEffect, useId, useMemo, useState } from 'react';\nimport ReactSelect, { type GroupBase } from 'react-select';\nimport AsyncSelect from 'react-select/async';\n/** Different types of select components */\nimport Creatable from 'react-select/creatable';\n\nimport {\n FormFieldLabel,\n FormFieldMessage,\n useFormField,\n} from '../_common/form-control';\nimport { type PolymorphicCommonProps } from '../_common/types';\nimport { needleWarningMessage } from '../_common/utils';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport {\n CustomClearIndication,\n CustomControl,\n CustomIndicatorsContainer,\n CustomInput,\n CustomMenu,\n CustomMenuList,\n CustomMenuPortal,\n CustomMultiValue,\n CustomOption,\n CustomPlaceholder,\n CustomSingleValue,\n CustomValueContainer,\n DropdownIndicatorCurrying,\n} from './Overrides';\nimport { type SelectOverrideCustomProps, type SelectProps } from './types';\n\n/**\n *\n *\n * Helpers\n *\n *\n */\n\nconst overrideComponents = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>(\n props: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>,\n) =>\n ({\n ClearIndicator: CustomClearIndication(props),\n Control: CustomControl(props),\n DropdownIndicator: DropdownIndicatorCurrying(props),\n IndicatorSeparator: null,\n IndicatorsContainer: CustomIndicatorsContainer(props),\n Input: CustomInput(props),\n Menu: CustomMenu(props),\n MenuList: CustomMenuList(props),\n MenuPortal: CustomMenuPortal(props),\n MultiValue: CustomMultiValue(props),\n Option: CustomOption(props),\n Placeholder: CustomPlaceholder(props),\n SingleValue: CustomSingleValue(props),\n ValueContainer: CustomValueContainer(props),\n }) as SelectProps<\n OptionType,\n IsMulti,\n GroupType\n >['selectProps']['components'];\n\nconst customStyles = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>() => {\n return {\n clearIndicator: () => ({}),\n control: () => ({}),\n dropdownIndicator: () => ({}),\n indicatorsContainer: () => ({}),\n input: () => ({}),\n menu: (provided) => ({\n bottom: provided.bottom,\n top: provided.top,\n }),\n menuList: (provided) => ({\n maxHeight: provided.maxHeight,\n minHeight: provided.minHeight,\n }),\n menuPortal: (provided) => ({\n ...provided,\n zIndex: tokens.zIndex.popover,\n }),\n option: () => ({}),\n placeholder: () => ({}),\n singleValue: () => ({}),\n valueContainer: (provided) => ({\n ...provided,\n padding: '0',\n }),\n } as SelectProps<OptionType, IsMulti, GroupType>['selectProps']['styles'];\n};\n\n/**\n * @deprecated Use `Combobox` instead. This component will be removed in a future release.\n */\nexport const Select = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n T extends React.ElementType = 'div',\n>({\n as,\n label,\n helpText,\n errorText,\n isFluid = true,\n size = 'medium',\n type = 'select',\n ariaLabel,\n selectProps = {},\n isClean = false,\n isDisabled,\n htmlAttributes,\n className,\n style,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, SelectProps<OptionType, IsMulti, GroupType>>) => {\n const isInsideDialog = useIsInsideDialog();\n const menuPosition = isInsideDialog ? 'fixed' : 'absolute';\n const identifier = useId();\n // The shared form field resolves the ids and which message is displayed -\n // an error always replaces the help text. Select has no required support;\n // it is deprecated in favor of Combobox, which has isRequired and\n // hasRequiredIndicator.\n const { field } = useFormField({\n controlId: identifier,\n errorText,\n helpText,\n label,\n });\n const helpTextId = field.helpTextId;\n const errorTextId = field.errorTextId;\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const handleMenuOpen = () => {\n setIsMenuOpen(true);\n if (selectProps.onMenuOpen) {\n selectProps.onMenuOpen();\n }\n };\n\n const handleMenuClose = () => {\n setIsMenuOpen(false);\n if (selectProps.onMenuClose) {\n selectProps.onMenuClose();\n }\n };\n\n // Handle Escape and Enter key to prevent it from bubbling up to dialog\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (\n (event.key === 'Escape' && isMenuOpen) ||\n (event.key === 'Enter' && isMenuOpen)\n ) {\n event.stopPropagation();\n }\n\n if (selectProps.onKeyDown) {\n selectProps.onKeyDown(event);\n }\n };\n\n const Component: React.ElementType = as ?? 'div';\n\n const ComponentOverrides = useMemo(\n () =>\n overrideComponents<OptionType, IsMulti, GroupType>({\n errorText,\n errorTextId,\n helpText,\n helpTextId,\n isClean,\n size,\n }),\n [errorText, errorTextId, helpText, helpTextId, size, isClean],\n );\n\n const StyleOverrides = useMemo(\n () => customStyles<OptionType, IsMulti, GroupType>(),\n [],\n );\n\n useEffect(() => {\n if (label === undefined && ariaLabel === undefined) {\n needleWarningMessage(\n 'A Select needs to have a label or an aria label to be accessible. link: https://dequeuniversity.com/rules/axe/4.2/label?application=axeAPI',\n );\n }\n }, [label, ariaLabel]);\n\n let SelectElement: React.JSX.Element;\n switch (type) {\n case 'async': {\n SelectElement = (\n <AsyncSelect\n name={identifier}\n inputId={identifier}\n isDisabled={Boolean(isDisabled) || selectProps.isDisabled}\n menuPlacement=\"auto\"\n aria-label={ariaLabel}\n aria-invalid={Boolean(errorText)}\n {...selectProps}\n onKeyDown={handleKeyDown}\n onMenuOpen={handleMenuOpen}\n onMenuClose={handleMenuClose}\n menuPosition={selectProps.menuPosition ?? menuPosition}\n hideSelectedOptions={false}\n closeMenuOnSelect={Boolean(selectProps.isMulti) === false}\n styles={{ ...StyleOverrides, ...selectProps.styles }}\n components={{ ...ComponentOverrides, ...selectProps.components }}\n />\n );\n break;\n }\n case 'creatable':\n SelectElement = (\n <Creatable\n name={identifier}\n inputId={identifier}\n isDisabled={Boolean(isDisabled) || selectProps.isDisabled}\n menuPlacement=\"auto\"\n {...selectProps}\n aria-label={ariaLabel}\n aria-invalid={Boolean(errorText)}\n onKeyDown={handleKeyDown}\n onMenuOpen={handleMenuOpen}\n onMenuClose={handleMenuClose}\n menuPosition={selectProps.menuPosition ?? menuPosition}\n hideSelectedOptions={false}\n closeMenuOnSelect={Boolean(selectProps.isMulti) === false}\n styles={{ ...StyleOverrides, ...selectProps.styles }}\n components={{ ...ComponentOverrides, ...selectProps.components }}\n />\n );\n break;\n default:\n SelectElement = (\n <ReactSelect\n name={identifier}\n inputId={identifier}\n isDisabled={Boolean(isDisabled) || selectProps.isDisabled}\n menuPlacement=\"auto\"\n {...selectProps}\n aria-label={ariaLabel}\n aria-invalid={Boolean(errorText)}\n onKeyDown={handleKeyDown}\n onMenuOpen={handleMenuOpen}\n onMenuClose={handleMenuClose}\n menuPosition={selectProps.menuPosition ?? menuPosition}\n hideSelectedOptions={false}\n closeMenuOnSelect={Boolean(selectProps.isMulti) === false}\n styles={{ ...StyleOverrides, ...selectProps.styles }}\n components={{ ...ComponentOverrides, ...selectProps.components }}\n />\n );\n }\n\n const classes = classNames('ndl-select', className, {\n 'ndl-creatable': type === 'creatable',\n 'ndl-disabled': selectProps.isDisabled,\n 'ndl-fluid': isFluid,\n 'ndl-has-error': Boolean(errorText),\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-multi': selectProps.isMulti,\n 'ndl-small': size === 'small',\n });\n\n return (\n <Component\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {Boolean(label) && <FormFieldLabel field={field} size={size} />}\n {SelectElement}\n <FormFieldMessage field={field} size={size} />\n </Component>\n );\n};\n"]}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/select/Select.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { tokens } from '@neo4j-ndl/base';\nimport classNames from 'classnames';\nimport type React from 'react';\nimport { useEffect, useId, useMemo, useState } from 'react';\nimport ReactSelect, { type GroupBase } from 'react-select';\nimport AsyncSelect from 'react-select/async';\n/** Different types of select components */\nimport Creatable from 'react-select/creatable';\n\nimport {\n FormFieldLabel,\n FormFieldMessage,\n useFormField,\n} from '../_common/form-control';\nimport { type PolymorphicCommonProps } from '../_common/types';\nimport { needleWarningMessage } from '../_common/utils';\nimport { useIsInsideDialog } from '../dialog/dialog-context';\nimport {\n CustomClearIndication,\n CustomControl,\n CustomIndicatorsContainer,\n CustomInput,\n CustomMenu,\n CustomMenuList,\n CustomMenuPortal,\n CustomMultiValue,\n CustomOption,\n CustomPlaceholder,\n CustomSingleValue,\n CustomValueContainer,\n DropdownIndicatorCurrying,\n} from './Overrides';\nimport { type SelectOverrideCustomProps, type SelectProps } from './types';\n\n/**\n *\n *\n * Helpers\n *\n *\n */\n\nconst overrideComponents = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>(\n props: SelectOverrideCustomProps<OptionType, IsMulti, GroupType>,\n) =>\n ({\n ClearIndicator: CustomClearIndication(props),\n Control: CustomControl(props),\n DropdownIndicator: DropdownIndicatorCurrying(props),\n IndicatorSeparator: null,\n IndicatorsContainer: CustomIndicatorsContainer(props),\n Input: CustomInput(props),\n Menu: CustomMenu(props),\n MenuList: CustomMenuList(props),\n MenuPortal: CustomMenuPortal(props),\n MultiValue: CustomMultiValue(props),\n Option: CustomOption(props),\n Placeholder: CustomPlaceholder(props),\n SingleValue: CustomSingleValue(props),\n ValueContainer: CustomValueContainer(props),\n }) as SelectProps<\n OptionType,\n IsMulti,\n GroupType\n >['selectProps']['components'];\n\nconst customStyles = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n>() => {\n return {\n clearIndicator: () => ({}),\n control: () => ({}),\n dropdownIndicator: () => ({}),\n indicatorsContainer: () => ({}),\n input: () => ({}),\n menu: (provided) => ({\n bottom: provided.bottom,\n top: provided.top,\n }),\n menuList: (provided) => ({\n maxHeight: provided.maxHeight,\n minHeight: provided.minHeight,\n }),\n menuPortal: (provided) => ({\n ...provided,\n zIndex: tokens.zIndex.popover,\n }),\n option: () => ({}),\n placeholder: () => ({}),\n singleValue: () => ({}),\n valueContainer: (provided) => ({\n ...provided,\n padding: '0',\n }),\n } as SelectProps<OptionType, IsMulti, GroupType>['selectProps']['styles'];\n};\n\n/**\n * @deprecated Use `Combobox` instead. This component will be removed in a future release.\n */\nexport const Select = <\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n T extends React.ElementType = 'div',\n>({\n as,\n label,\n helpText,\n errorText,\n isFluid = true,\n size = 'medium',\n type = 'select',\n ariaLabel,\n selectProps = {},\n isClean = false,\n isDisabled,\n isRequired = false,\n hasRequiredIndicator = false,\n htmlAttributes,\n className,\n style,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, SelectProps<OptionType, IsMulti, GroupType>>) => {\n const isInsideDialog = useIsInsideDialog();\n const menuPosition = isInsideDialog ? 'fixed' : 'absolute';\n const identifier = useId();\n // `selectProps.required` predates `isRequired`, so either one keeps the\n // indicator and the native validation in sync.\n const isFieldRequired = isRequired || Boolean(selectProps.required);\n // The shared form field resolves the ids and which message is displayed -\n // an error always replaces the help text.\n const { field } = useFormField({\n controlId: identifier,\n errorText,\n hasRequiredIndicator,\n helpText,\n isRequired: isFieldRequired,\n label,\n });\n const helpTextId = field.helpTextId;\n const errorTextId = field.errorTextId;\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const handleMenuOpen = () => {\n setIsMenuOpen(true);\n if (selectProps.onMenuOpen) {\n selectProps.onMenuOpen();\n }\n };\n\n const handleMenuClose = () => {\n setIsMenuOpen(false);\n if (selectProps.onMenuClose) {\n selectProps.onMenuClose();\n }\n };\n\n // Handle Escape and Enter key to prevent it from bubbling up to dialog\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (\n (event.key === 'Escape' && isMenuOpen) ||\n (event.key === 'Enter' && isMenuOpen)\n ) {\n event.stopPropagation();\n }\n\n if (selectProps.onKeyDown) {\n selectProps.onKeyDown(event);\n }\n };\n\n const Component: React.ElementType = as ?? 'div';\n\n const ComponentOverrides = useMemo(\n () =>\n overrideComponents<OptionType, IsMulti, GroupType>({\n errorText,\n errorTextId,\n helpText,\n helpTextId,\n isClean,\n size,\n }),\n [errorText, errorTextId, helpText, helpTextId, size, isClean],\n );\n\n const StyleOverrides = useMemo(\n () => customStyles<OptionType, IsMulti, GroupType>(),\n [],\n );\n\n useEffect(() => {\n if (label === undefined && ariaLabel === undefined) {\n needleWarningMessage(\n 'A Select needs to have a label or an aria label to be accessible. link: https://dequeuniversity.com/rules/axe/4.2/label?application=axeAPI',\n );\n }\n }, [label, ariaLabel]);\n\n let SelectElement: React.JSX.Element;\n switch (type) {\n case 'async': {\n SelectElement = (\n <AsyncSelect\n name={identifier}\n inputId={identifier}\n isDisabled={Boolean(isDisabled) || selectProps.isDisabled}\n menuPlacement=\"auto\"\n aria-label={ariaLabel}\n aria-invalid={Boolean(errorText)}\n {...selectProps}\n required={isFieldRequired}\n onKeyDown={handleKeyDown}\n onMenuOpen={handleMenuOpen}\n onMenuClose={handleMenuClose}\n menuPosition={selectProps.menuPosition ?? menuPosition}\n hideSelectedOptions={false}\n closeMenuOnSelect={Boolean(selectProps.isMulti) === false}\n styles={{ ...StyleOverrides, ...selectProps.styles }}\n components={{ ...ComponentOverrides, ...selectProps.components }}\n />\n );\n break;\n }\n case 'creatable':\n SelectElement = (\n <Creatable\n name={identifier}\n inputId={identifier}\n isDisabled={Boolean(isDisabled) || selectProps.isDisabled}\n menuPlacement=\"auto\"\n {...selectProps}\n aria-label={ariaLabel}\n aria-invalid={Boolean(errorText)}\n required={isFieldRequired}\n onKeyDown={handleKeyDown}\n onMenuOpen={handleMenuOpen}\n onMenuClose={handleMenuClose}\n menuPosition={selectProps.menuPosition ?? menuPosition}\n hideSelectedOptions={false}\n closeMenuOnSelect={Boolean(selectProps.isMulti) === false}\n styles={{ ...StyleOverrides, ...selectProps.styles }}\n components={{ ...ComponentOverrides, ...selectProps.components }}\n />\n );\n break;\n default:\n SelectElement = (\n <ReactSelect\n name={identifier}\n inputId={identifier}\n isDisabled={Boolean(isDisabled) || selectProps.isDisabled}\n menuPlacement=\"auto\"\n {...selectProps}\n aria-label={ariaLabel}\n aria-invalid={Boolean(errorText)}\n required={isFieldRequired}\n onKeyDown={handleKeyDown}\n onMenuOpen={handleMenuOpen}\n onMenuClose={handleMenuClose}\n menuPosition={selectProps.menuPosition ?? menuPosition}\n hideSelectedOptions={false}\n closeMenuOnSelect={Boolean(selectProps.isMulti) === false}\n styles={{ ...StyleOverrides, ...selectProps.styles }}\n components={{ ...ComponentOverrides, ...selectProps.components }}\n />\n );\n }\n\n const classes = classNames('ndl-select', className, {\n 'ndl-creatable': type === 'creatable',\n 'ndl-disabled': selectProps.isDisabled,\n 'ndl-fluid': isFluid,\n 'ndl-has-error': Boolean(errorText),\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-multi': selectProps.isMulti,\n 'ndl-small': size === 'small',\n });\n\n return (\n <Component\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {Boolean(label) && <FormFieldLabel field={field} size={size} />}\n {SelectElement}\n <FormFieldMessage field={field} size={size} />\n </Component>\n );\n};\n"]}
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.SelectEmptySource = exports.SelectControlledSource = exports.SelectAsyncSource = exports.SelectMenuPositioningsSource = exports.SelectSizesSource = exports.SelectCleanSource = exports.SelectDisabledSource = exports.SelectInsideDialogSource = exports.SelectCustomLabelSource = exports.SelectMultiSource = exports.SelectCreatableSource = exports.SelectErrorStateSource = exports.SelectDefaultSource = exports.SelectEmpty = exports.SelectControlled = exports.SelectAsync = exports.SelectMenuPositionings = exports.SelectSizes = exports.SelectClean = exports.SelectDisabled = exports.SelectInsideDialog = exports.SelectCustomLabel = exports.SelectMulti = exports.SelectCreatable = exports.SelectErrorState = exports.SelectDefault = void 0;
26
+ exports.SelectRequiredSource = exports.SelectEmptySource = exports.SelectControlledSource = exports.SelectAsyncSource = exports.SelectMenuPositioningsSource = exports.SelectSizesSource = exports.SelectCleanSource = exports.SelectDisabledSource = exports.SelectInsideDialogSource = exports.SelectCustomLabelSource = exports.SelectMultiSource = exports.SelectCreatableSource = exports.SelectErrorStateSource = exports.SelectDefaultSource = exports.SelectRequired = exports.SelectEmpty = exports.SelectControlled = exports.SelectAsync = exports.SelectMenuPositionings = exports.SelectSizes = exports.SelectClean = exports.SelectDisabled = exports.SelectInsideDialog = exports.SelectCustomLabel = exports.SelectMulti = exports.SelectCreatable = exports.SelectErrorState = exports.SelectDefault = void 0;
27
27
  var select_default_story_1 = require("./select-default.story");
28
28
  Object.defineProperty(exports, "SelectDefault", { enumerable: true, get: function () { return __importDefault(select_default_story_1).default; } });
29
29
  var select_error_state_story_1 = require("./select-error-state.story");
@@ -50,6 +50,8 @@ var select_controlled_story_1 = require("./select-controlled.story");
50
50
  Object.defineProperty(exports, "SelectControlled", { enumerable: true, get: function () { return __importDefault(select_controlled_story_1).default; } });
51
51
  var select_empty_story_1 = require("./select-empty.story");
52
52
  Object.defineProperty(exports, "SelectEmpty", { enumerable: true, get: function () { return __importDefault(select_empty_story_1).default; } });
53
+ var select_required_story_1 = require("./select-required.story");
54
+ Object.defineProperty(exports, "SelectRequired", { enumerable: true, get: function () { return __importDefault(select_required_story_1).default; } });
53
55
  const export_stories_utils_1 = require("../../_common/export-stories-utils");
54
56
  const select_async_story_raw_1 = __importDefault(require("./select-async.story?raw"));
55
57
  const select_clean_story_raw_1 = __importDefault(require("./select-clean.story?raw"));
@@ -63,6 +65,7 @@ const select_error_state_story_raw_1 = __importDefault(require("./select-error-s
63
65
  const select_inside_dialog_story_raw_1 = __importDefault(require("./select-inside-dialog.story?raw"));
64
66
  const select_menu_positionings_story_raw_1 = __importDefault(require("./select-menu-positionings.story?raw"));
65
67
  const select_multi_story_raw_1 = __importDefault(require("./select-multi.story?raw"));
68
+ const select_required_story_raw_1 = __importDefault(require("./select-required.story?raw"));
66
69
  const select_sizes_story_raw_1 = __importDefault(require("./select-sizes.story?raw"));
67
70
  exports.SelectDefaultSource = (0, export_stories_utils_1.removeLicenseHeader)(select_default_story_raw_1.default);
68
71
  exports.SelectErrorStateSource = (0, export_stories_utils_1.removeLicenseHeader)(select_error_state_story_raw_1.default);
@@ -77,4 +80,5 @@ exports.SelectMenuPositioningsSource = (0, export_stories_utils_1.removeLicenseH
77
80
  exports.SelectAsyncSource = (0, export_stories_utils_1.removeLicenseHeader)(select_async_story_raw_1.default);
78
81
  exports.SelectControlledSource = (0, export_stories_utils_1.removeLicenseHeader)(select_controlled_story_raw_1.default);
79
82
  exports.SelectEmptySource = (0, export_stories_utils_1.removeLicenseHeader)(select_empty_story_raw_1.default);
83
+ exports.SelectRequiredSource = (0, export_stories_utils_1.removeLicenseHeader)(select_required_story_raw_1.default);
80
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/select/stories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;AAEH,+DAAkE;AAAzD,sIAAA,OAAO,OAAiB;AACjC,uEAAyE;AAAhE,6IAAA,OAAO,OAAoB;AACpC,mEAAsE;AAA7D,0IAAA,OAAO,OAAmB;AACnC,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,yEAA2E;AAAlE,+IAAA,OAAO,OAAqB;AACrC,2EAA6E;AAApE,iJAAA,OAAO,OAAsB;AACtC,iEAAoE;AAA3D,wIAAA,OAAO,OAAkB;AAClC,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,mFAAqF;AAA5E,yJAAA,OAAO,OAA0B;AAC1C,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,qEAAwE;AAA/D,4IAAA,OAAO,OAAoB;AACpC,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAE/B,6EAAyE;AACzE,sFAA4D;AAC5D,sFAA4D;AAC5D,gGAAsE;AACtE,8FAAoE;AACpE,oGAAyE;AACzE,0FAAgE;AAChE,4FAAkE;AAClE,sFAA4D;AAC5D,kGAAuE;AACvE,sGAA2E;AAC3E,8GAAmF;AACnF,sFAA4D;AAC5D,sFAA4D;AAE/C,QAAA,mBAAmB,GAAG,IAAA,0CAAmB,EAAC,kCAAsB,CAAC,CAAC;AAClE,QAAA,sBAAsB,GAAG,IAAA,0CAAmB,EACvD,sCAAyB,CAC1B,CAAC;AACW,QAAA,qBAAqB,GAAG,IAAA,0CAAmB,EACtD,oCAAwB,CACzB,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,uBAAuB,GAAG,IAAA,0CAAmB,EACxD,uCAA0B,CAC3B,CAAC;AACW,QAAA,wBAAwB,GAAG,IAAA,0CAAmB,EACzD,wCAA2B,CAC5B,CAAC;AACW,QAAA,oBAAoB,GAAG,IAAA,0CAAmB,EACrD,mCAAuB,CACxB,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,4BAA4B,GAAG,IAAA,0CAAmB,EAC7D,4CAA+B,CAChC,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,sBAAsB,GAAG,IAAA,0CAAmB,EACvD,qCAAyB,CAC1B,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as SelectDefault } from './select-default.story';\nexport { default as SelectErrorState } from './select-error-state.story';\nexport { default as SelectCreatable } from './select-creatable.story';\nexport { default as SelectMulti } from './select-multi.story';\nexport { default as SelectCustomLabel } from './select-custom-label.story';\nexport { default as SelectInsideDialog } from './select-inside-dialog.story';\nexport { default as SelectDisabled } from './select-disabled.story';\nexport { default as SelectClean } from './select-clean.story';\nexport { default as SelectSizes } from './select-sizes.story';\nexport { default as SelectMenuPositionings } from './select-menu-positionings.story';\nexport { default as SelectAsync } from './select-async.story';\nexport { default as SelectControlled } from './select-controlled.story';\nexport { default as SelectEmpty } from './select-empty.story';\n\nimport { removeLicenseHeader } from '../../_common/export-stories-utils';\nimport SelectAsyncSourceRaw from './select-async.story?raw';\nimport SelectCleanSourceRaw from './select-clean.story?raw';\nimport SelectControlledSourceRaw from './select-controlled.story?raw';\nimport SelectCreatableSourceRaw from './select-creatable.story?raw';\nimport SelectCustomLabelSourceRaw from './select-custom-label.story?raw';\nimport SelectDefaultSourceRaw from './select-default.story?raw';\nimport SelectDisabledSourceRaw from './select-disabled.story?raw';\nimport SelectEmptySourceRaw from './select-empty.story?raw';\nimport SelectErrorStateSourceRaw from './select-error-state.story?raw';\nimport SelectInsideDialogSourceRaw from './select-inside-dialog.story?raw';\nimport SelectMenuPositioningsSourceRaw from './select-menu-positionings.story?raw';\nimport SelectMultiSourceRaw from './select-multi.story?raw';\nimport SelectSizesSourceRaw from './select-sizes.story?raw';\n\nexport const SelectDefaultSource = removeLicenseHeader(SelectDefaultSourceRaw);\nexport const SelectErrorStateSource = removeLicenseHeader(\n SelectErrorStateSourceRaw,\n);\nexport const SelectCreatableSource = removeLicenseHeader(\n SelectCreatableSourceRaw,\n);\nexport const SelectMultiSource = removeLicenseHeader(SelectMultiSourceRaw);\nexport const SelectCustomLabelSource = removeLicenseHeader(\n SelectCustomLabelSourceRaw,\n);\nexport const SelectInsideDialogSource = removeLicenseHeader(\n SelectInsideDialogSourceRaw,\n);\nexport const SelectDisabledSource = removeLicenseHeader(\n SelectDisabledSourceRaw,\n);\nexport const SelectCleanSource = removeLicenseHeader(SelectCleanSourceRaw);\nexport const SelectSizesSource = removeLicenseHeader(SelectSizesSourceRaw);\nexport const SelectMenuPositioningsSource = removeLicenseHeader(\n SelectMenuPositioningsSourceRaw,\n);\nexport const SelectAsyncSource = removeLicenseHeader(SelectAsyncSourceRaw);\nexport const SelectControlledSource = removeLicenseHeader(\n SelectControlledSourceRaw,\n);\nexport const SelectEmptySource = removeLicenseHeader(SelectEmptySourceRaw);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/select/stories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;AAEH,+DAAkE;AAAzD,sIAAA,OAAO,OAAiB;AACjC,uEAAyE;AAAhE,6IAAA,OAAO,OAAoB;AACpC,mEAAsE;AAA7D,0IAAA,OAAO,OAAmB;AACnC,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,yEAA2E;AAAlE,+IAAA,OAAO,OAAqB;AACrC,2EAA6E;AAApE,iJAAA,OAAO,OAAsB;AACtC,iEAAoE;AAA3D,wIAAA,OAAO,OAAkB;AAClC,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,mFAAqF;AAA5E,yJAAA,OAAO,OAA0B;AAC1C,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,qEAAwE;AAA/D,4IAAA,OAAO,OAAoB;AACpC,2DAA8D;AAArD,kIAAA,OAAO,OAAe;AAC/B,iEAAoE;AAA3D,wIAAA,OAAO,OAAkB;AAElC,6EAAyE;AACzE,sFAA4D;AAC5D,sFAA4D;AAC5D,gGAAsE;AACtE,8FAAoE;AACpE,oGAAyE;AACzE,0FAAgE;AAChE,4FAAkE;AAClE,sFAA4D;AAC5D,kGAAuE;AACvE,sGAA2E;AAC3E,8GAAmF;AACnF,sFAA4D;AAC5D,4FAAkE;AAClE,sFAA4D;AAE/C,QAAA,mBAAmB,GAAG,IAAA,0CAAmB,EAAC,kCAAsB,CAAC,CAAC;AAClE,QAAA,sBAAsB,GAAG,IAAA,0CAAmB,EACvD,sCAAyB,CAC1B,CAAC;AACW,QAAA,qBAAqB,GAAG,IAAA,0CAAmB,EACtD,oCAAwB,CACzB,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,uBAAuB,GAAG,IAAA,0CAAmB,EACxD,uCAA0B,CAC3B,CAAC;AACW,QAAA,wBAAwB,GAAG,IAAA,0CAAmB,EACzD,wCAA2B,CAC5B,CAAC;AACW,QAAA,oBAAoB,GAAG,IAAA,0CAAmB,EACrD,mCAAuB,CACxB,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,4BAA4B,GAAG,IAAA,0CAAmB,EAC7D,4CAA+B,CAChC,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,sBAAsB,GAAG,IAAA,0CAAmB,EACvD,qCAAyB,CAC1B,CAAC;AACW,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,gCAAoB,CAAC,CAAC;AAC9D,QAAA,oBAAoB,GAAG,IAAA,0CAAmB,EACrD,mCAAuB,CACxB,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as SelectDefault } from './select-default.story';\nexport { default as SelectErrorState } from './select-error-state.story';\nexport { default as SelectCreatable } from './select-creatable.story';\nexport { default as SelectMulti } from './select-multi.story';\nexport { default as SelectCustomLabel } from './select-custom-label.story';\nexport { default as SelectInsideDialog } from './select-inside-dialog.story';\nexport { default as SelectDisabled } from './select-disabled.story';\nexport { default as SelectClean } from './select-clean.story';\nexport { default as SelectSizes } from './select-sizes.story';\nexport { default as SelectMenuPositionings } from './select-menu-positionings.story';\nexport { default as SelectAsync } from './select-async.story';\nexport { default as SelectControlled } from './select-controlled.story';\nexport { default as SelectEmpty } from './select-empty.story';\nexport { default as SelectRequired } from './select-required.story';\n\nimport { removeLicenseHeader } from '../../_common/export-stories-utils';\nimport SelectAsyncSourceRaw from './select-async.story?raw';\nimport SelectCleanSourceRaw from './select-clean.story?raw';\nimport SelectControlledSourceRaw from './select-controlled.story?raw';\nimport SelectCreatableSourceRaw from './select-creatable.story?raw';\nimport SelectCustomLabelSourceRaw from './select-custom-label.story?raw';\nimport SelectDefaultSourceRaw from './select-default.story?raw';\nimport SelectDisabledSourceRaw from './select-disabled.story?raw';\nimport SelectEmptySourceRaw from './select-empty.story?raw';\nimport SelectErrorStateSourceRaw from './select-error-state.story?raw';\nimport SelectInsideDialogSourceRaw from './select-inside-dialog.story?raw';\nimport SelectMenuPositioningsSourceRaw from './select-menu-positionings.story?raw';\nimport SelectMultiSourceRaw from './select-multi.story?raw';\nimport SelectRequiredSourceRaw from './select-required.story?raw';\nimport SelectSizesSourceRaw from './select-sizes.story?raw';\n\nexport const SelectDefaultSource = removeLicenseHeader(SelectDefaultSourceRaw);\nexport const SelectErrorStateSource = removeLicenseHeader(\n SelectErrorStateSourceRaw,\n);\nexport const SelectCreatableSource = removeLicenseHeader(\n SelectCreatableSourceRaw,\n);\nexport const SelectMultiSource = removeLicenseHeader(SelectMultiSourceRaw);\nexport const SelectCustomLabelSource = removeLicenseHeader(\n SelectCustomLabelSourceRaw,\n);\nexport const SelectInsideDialogSource = removeLicenseHeader(\n SelectInsideDialogSourceRaw,\n);\nexport const SelectDisabledSource = removeLicenseHeader(\n SelectDisabledSourceRaw,\n);\nexport const SelectCleanSource = removeLicenseHeader(SelectCleanSourceRaw);\nexport const SelectSizesSource = removeLicenseHeader(SelectSizesSourceRaw);\nexport const SelectMenuPositioningsSource = removeLicenseHeader(\n SelectMenuPositioningsSourceRaw,\n);\nexport const SelectAsyncSource = removeLicenseHeader(SelectAsyncSourceRaw);\nexport const SelectControlledSource = removeLicenseHeader(\n SelectControlledSourceRaw,\n);\nexport const SelectEmptySource = removeLicenseHeader(SelectEmptySourceRaw);\nexport const SelectRequiredSource = removeLicenseHeader(\n SelectRequiredSourceRaw,\n);\n"]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /*!
5
+ *
6
+ * Copyright (c) "Neo4j"
7
+ * Neo4j Sweden AB [http://neo4j.com]
8
+ *
9
+ * This file is part of Neo4j.
10
+ *
11
+ * Neo4j is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
+ const react_1 = require("@neo4j-ndl/react");
26
+ const EXAMPLE_OPTIONS = [
27
+ { label: 'Neo4j', value: 'neo4j' },
28
+ { label: 'Needle 🪡', value: 'needle' },
29
+ { label: 'Graph Databases', value: 'graph-database' },
30
+ ];
31
+ const Component = () => {
32
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "n-flex n-flex-col n-gap-token-16", children: [(0, jsx_runtime_1.jsx)(react_1.Select, { label: "Required", type: "select", isRequired: true, hasRequiredIndicator: true, selectProps: {
33
+ options: EXAMPLE_OPTIONS,
34
+ } }), (0, jsx_runtime_1.jsx)(react_1.Select, { label: "Optional", type: "select", hasRequiredIndicator: true, selectProps: {
35
+ options: EXAMPLE_OPTIONS,
36
+ } })] }));
37
+ };
38
+ exports.default = Component;
39
+ //# sourceMappingURL=select-required.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-required.story.js","sourceRoot":"","sources":["../../../../src/select/stories/select-required.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAA0C;AAE1C,MAAM,eAAe,GAAG;IACtB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;IACvC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;CACtD,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CACL,iCAAK,SAAS,EAAC,kCAAkC,aAC/C,uBAAC,cAAM,IACL,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,QAAQ,EACb,UAAU,QACV,oBAAoB,QACpB,WAAW,EAAE;oBACX,OAAO,EAAE,eAAe;iBACzB,GACD,EACF,uBAAC,cAAM,IACL,KAAK,EAAC,UAAU,EAChB,IAAI,EAAC,QAAQ,EACb,oBAAoB,QACpB,WAAW,EAAE;oBACX,OAAO,EAAE,eAAe;iBACzB,GACD,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { Select } from '@neo4j-ndl/react';\n\nconst EXAMPLE_OPTIONS = [\n { label: 'Neo4j', value: 'neo4j' },\n { label: 'Needle 🪡', value: 'needle' },\n { label: 'Graph Databases', value: 'graph-database' },\n];\n\nconst Component = () => {\n return (\n <div className=\"n-flex n-flex-col n-gap-token-16\">\n <Select\n label=\"Required\"\n type=\"select\"\n isRequired\n hasRequiredIndicator\n selectProps={{\n options: EXAMPLE_OPTIONS,\n }}\n />\n <Select\n label=\"Optional\"\n type=\"select\"\n hasRequiredIndicator\n selectProps={{\n options: EXAMPLE_OPTIONS,\n }}\n />\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/select/types.tsx"],"names":[],"mappings":"","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { type ReactNode } from 'react';\nimport { type GroupBase, type Props } from 'react-select';\nimport { type AsyncProps } from 'react-select/async';\nimport { type CreatableProps } from 'react-select/creatable';\n\nexport type SelectCommonProps = {\n /** Error message, if it exists the select will be in error state */\n errorText?: string | ReactNode;\n /** Help text of the select component */\n helpText?: string | ReactNode;\n /** Size of the component */\n size?: 'small' | 'medium' | 'large';\n /** Whether the select component is fluid */\n isFluid?: boolean;\n /** Whether the select component is clean. If true, the select component will have a transparent background, no border and be hug the width of the content. */\n isClean?: boolean;\n /** Whether the select component is disabled */\n isDisabled?: boolean;\n /** Additional class name */\n className?: string;\n /** Additional style */\n style?: React.CSSProperties;\n} & (\n | {\n // Deprecated, so this keeps its aria label union even though naming a\n // control is spelled differently on every form component. Combobox, its\n // replacement, requires the label and clips it with\n // `hasVisuallyHiddenLabel` instead.\n /** Label of the select component. If not provided, please provide an ariaLabel. */\n label?: undefined;\n /** Aria label of the select component */\n ariaLabel: string;\n }\n | {\n label: React.ReactNode;\n ariaLabel?: string;\n }\n);\n\ntype ReactSelectProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = {\n /** Type of the select component */\n type: 'select';\n /** Props of the select component, based of React Select props */\n selectProps: Props<OptionType, IsMulti, GroupType>;\n} & SelectCommonProps;\n\ntype ReactSelectAsyncProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = {\n /** Type of the select component */\n type: 'async';\n /** Props of the select component, based of React Select props */\n selectProps: AsyncProps<OptionType, IsMulti, GroupType>;\n} & SelectCommonProps;\n\ntype ReactSelectCreatableProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = {\n /** Type of the select component */\n type: 'creatable';\n /** Props of the select component, based of React Select props */\n selectProps: CreatableProps<OptionType, IsMulti, GroupType>;\n} & SelectCommonProps;\n\n/**\n * We will provide a wrapper to the three distinct select components\n * the library provides:\n * 1. Select (the most simple component)\n * 2. Creatable (for creating new values in our options)\n * 3. Async for fetching while typing, useful for cases that we avoid storing things\n * in browser\n */\n/**\n * @remarks\n * The `type` prop is used to specify the type of select component to render, which will be passed to the underlying React Select component.\n *\n * @remarks\n * The `selectProps` prop is dynamically typed based on the `type` prop and can be one of the following: `StateManagerProps`, `CreatableProps`, `AsyncProps`. All select variants will have the `SelectProps` base type from React Select. For more information on the available props, see the [React Select documentation](https://react-select.com/props).\n */\nexport type SelectProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> =\n | ReactSelectProps<OptionType, IsMulti, GroupType>\n | ReactSelectCreatableProps<OptionType, IsMulti, GroupType>\n | ReactSelectAsyncProps<OptionType, IsMulti, GroupType>;\n\nexport type SelectOverrideCustomProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = Pick<\n SelectProps<OptionType, IsMulti, GroupType>,\n 'size' | 'errorText' | 'helpText' | 'isClean'\n> & {\n errorTextId?: string;\n helpTextId?: string;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/select/types.tsx"],"names":[],"mappings":"","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { type ReactNode } from 'react';\nimport { type GroupBase, type Props } from 'react-select';\nimport { type AsyncProps } from 'react-select/async';\nimport { type CreatableProps } from 'react-select/creatable';\n\nexport type SelectCommonProps = {\n /** Error message, if it exists the select will be in error state */\n errorText?: string | ReactNode;\n /** Help text of the select component */\n helpText?: string | ReactNode;\n /** Size of the component */\n size?: 'small' | 'medium' | 'large';\n /** Whether the select component is fluid */\n isFluid?: boolean;\n /** Whether the select component is clean. If true, the select component will have a transparent background, no border and be hug the width of the content. */\n isClean?: boolean;\n /** Whether the select component is disabled */\n isDisabled?: boolean;\n /**\n * Whether a value is required. Sets `aria-required` and enables native form validation.\n * @default false\n */\n isRequired?: boolean;\n /**\n * Whether Required or Optional is shown at the end of the label row, based on the `isRequired` prop\n * @default false\n */\n hasRequiredIndicator?: boolean;\n /** Additional class name */\n className?: string;\n /** Additional style */\n style?: React.CSSProperties;\n} & (\n | {\n // Deprecated, so this keeps its aria label union even though naming a\n // control is spelled differently on every form component. Combobox, its\n // replacement, requires the label and clips it with\n // `hasVisuallyHiddenLabel` instead.\n /** Label of the select component. If not provided, please provide an ariaLabel. */\n label?: undefined;\n /** Aria label of the select component */\n ariaLabel: string;\n }\n | {\n label: React.ReactNode;\n ariaLabel?: string;\n }\n);\n\ntype ReactSelectProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = {\n /** Type of the select component */\n type: 'select';\n /** Props of the select component, based of React Select props */\n selectProps: Props<OptionType, IsMulti, GroupType>;\n} & SelectCommonProps;\n\ntype ReactSelectAsyncProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = {\n /** Type of the select component */\n type: 'async';\n /** Props of the select component, based of React Select props */\n selectProps: AsyncProps<OptionType, IsMulti, GroupType>;\n} & SelectCommonProps;\n\ntype ReactSelectCreatableProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = {\n /** Type of the select component */\n type: 'creatable';\n /** Props of the select component, based of React Select props */\n selectProps: CreatableProps<OptionType, IsMulti, GroupType>;\n} & SelectCommonProps;\n\n/**\n * We will provide a wrapper to the three distinct select components\n * the library provides:\n * 1. Select (the most simple component)\n * 2. Creatable (for creating new values in our options)\n * 3. Async for fetching while typing, useful for cases that we avoid storing things\n * in browser\n */\n/**\n * @remarks\n * The `type` prop is used to specify the type of select component to render, which will be passed to the underlying React Select component.\n *\n * @remarks\n * The `selectProps` prop is dynamically typed based on the `type` prop and can be one of the following: `StateManagerProps`, `CreatableProps`, `AsyncProps`. All select variants will have the `SelectProps` base type from React Select. For more information on the available props, see the [React Select documentation](https://react-select.com/props).\n */\nexport type SelectProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> =\n | ReactSelectProps<OptionType, IsMulti, GroupType>\n | ReactSelectCreatableProps<OptionType, IsMulti, GroupType>\n | ReactSelectAsyncProps<OptionType, IsMulti, GroupType>;\n\nexport type SelectOverrideCustomProps<\n OptionType,\n IsMulti extends boolean = false,\n GroupType extends GroupBase<OptionType> = GroupBase<OptionType>,\n> = Pick<\n SelectProps<OptionType, IsMulti, GroupType>,\n 'size' | 'errorText' | 'helpText' | 'isClean'\n> & {\n errorTextId?: string;\n helpTextId?: string;\n};\n"]}
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
2
+ /*!
3
3
  *
4
4
  * Copyright (c) "Neo4j"
5
5
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldLabel.js","sourceRoot":"","sources":["../../../../src/_common/form-control/FormFieldLabel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA+B9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,IAAI,EACJ,WAAW,GAAG,UAAU,EACxB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,IAAI,GACgB,EAAE,EAAE;IACxB,MAAM,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,GACX,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAChE,MAAM,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;IAC9C,MAAM,sBAAsB,GAAG,UAAU,CAAC;QACxC,4BAA4B,EAAE,IAAI,KAAK,OAAO;QAC9C,4BAA4B,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ;KACpE,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CACV,eACE,SAAS,EAAE,UAAU,CACnB,oBAAoB,EACpB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EACjD,SAAS,CACV,aAED,KAAC,UAAU,IACT,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,gBAAgB,EAC1B,cAAc,EACZ,UAAU;oBACR,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE;oBAC5D,CAAC,CAAC,SAAS,YAGd,KAAK,GACK,EACZ,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAC/B,MAAC,OAAO,kBAAC,IAAI,EAAC,QAAQ,IAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,eAC3C,KAAC,OAAO,CAAC,OAAO,oBACV,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,IACzB,SAAS,EAAE,sBAAsB,EACjC,gBAAgB,kBAEhB,cACE,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,gBACF,kBAAkB,iBACjB,sBAAsB,YAElC,KAAC,4BAA4B,KAAG,GAC5B,IACU,EAClB,KAAC,OAAO,CAAC,OAAO,oBAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,cACvC,mBAAmB,IACJ,KACV,CACX,EACA,oBAAoB,IAAI,CACvB,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,0BAA0B,YAC/D,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAC1B,CACd,IACG,CACP,CAAC;IAEF,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,4BAAG,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC;AACrD,CAAC,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport classNames from 'classnames';\nimport type React from 'react';\n\nimport { InformationCircleIconOutline } from '../../icons/generated/heroIcons/InformationCircleIconOutline';\nimport { Tooltip } from '../../tooltip';\nimport { Typography } from '../../typography';\nimport { type TooltipObjectProps } from '../types';\nimport { type FormFieldSize, type FormFieldState } from './form-control-types';\n\ntype FormFieldLabelProps = {\n field: FormFieldState;\n size: FormFieldSize;\n /**\n * How the label is associated with its control. `explicit` renders a\n * `<label>` pointing at the control through `htmlFor`, carrying `labelId`\n * for `aria-labelledby`. `implicit` renders plain text, for components\n * whose control is wrapped by an enclosing `<label>`, where a nested label\n * element would be invalid.\n */\n association?: 'explicit' | 'implicit';\n /**\n * Click handler for an explicit label, for controls that need more than\n * the default `htmlFor` focus forwarding (the Combobox label must move\n * focus without toggling the panel).\n */\n onLabelClick?: React.MouseEventHandler<HTMLLabelElement>;\n /** Text displayed in an information tooltip next to the label */\n moreInformationText?: React.ReactNode;\n /** Props for the Tooltip component used by the information icon */\n tooltipProps?: TooltipObjectProps;\n /** Extra class names for the label row */\n className?: string;\n /** Wraps the rendered row, so a component can put it inside a Skeleton. */\n wrap?: (row: React.ReactNode) => React.ReactNode;\n};\n\n/**\n * The label row of a form field: the label itself, an optional information\n * tooltip, and the Required/Optional indicator. The indicator and the tooltip\n * are separate elements rather than label content, keeping them out of the\n * control's accessible name.\n */\nexport const FormFieldLabel = ({\n field,\n size,\n association = 'explicit',\n onLabelClick,\n moreInformationText,\n tooltipProps,\n className,\n wrap,\n}: FormFieldLabelProps) => {\n const {\n label,\n labelId,\n controlId,\n hasVisuallyHiddenLabel,\n hasRequiredIndicator,\n isRequired,\n } = field;\n const variant = size === 'large' ? 'body-large' : 'body-medium';\n const isExplicit = association === 'explicit';\n const informationIconClasses = classNames({\n 'ndl-information-icon-large': size === 'large',\n 'ndl-information-icon-small': size === 'small' || size === 'medium',\n });\n\n const row = (\n <div\n className={classNames(\n 'ndl-form-label-row',\n { 'ndl-visually-hidden': hasVisuallyHiddenLabel },\n className,\n )}\n >\n <Typography\n as={isExplicit ? 'label' : 'span'}\n variant={variant}\n className=\"ndl-form-label\"\n htmlAttributes={\n isExplicit\n ? { htmlFor: controlId, id: labelId, onClick: onLabelClick }\n : undefined\n }\n >\n {label}\n </Typography>\n {Boolean(moreInformationText) && (\n <Tooltip type=\"simple\" {...tooltipProps?.root}>\n <Tooltip.Trigger\n {...tooltipProps?.trigger}\n className={informationIconClasses}\n hasButtonWrapper\n >\n <div\n tabIndex={0}\n role=\"button\"\n aria-label=\"Information icon\"\n data-testid=\"ndl-information-icon\"\n >\n <InformationCircleIconOutline />\n </div>\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipProps?.content}>\n {moreInformationText}\n </Tooltip.Content>\n </Tooltip>\n )}\n {hasRequiredIndicator && (\n <Typography variant={variant} className=\"ndl-form-label-indicator\">\n {isRequired ? 'Required' : 'Optional'}\n </Typography>\n )}\n </div>\n );\n\n return wrap === undefined ? row : <>{wrap(row)}</>;\n};\n"]}
1
+ {"version":3,"file":"FormFieldLabel.js","sourceRoot":"","sources":["../../../../src/_common/form-control/FormFieldLabel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA+B9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,KAAK,EACL,IAAI,EACJ,WAAW,GAAG,UAAU,EACxB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,IAAI,GACgB,EAAE,EAAE;IACxB,MAAM,EACJ,KAAK,EACL,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,GACX,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAChE,MAAM,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;IAC9C,MAAM,sBAAsB,GAAG,UAAU,CAAC;QACxC,4BAA4B,EAAE,IAAI,KAAK,OAAO;QAC9C,4BAA4B,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ;KACpE,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CACV,eACE,SAAS,EAAE,UAAU,CACnB,oBAAoB,EACpB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,EACjD,SAAS,CACV,aAED,KAAC,UAAU,IACT,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,gBAAgB,EAC1B,cAAc,EACZ,UAAU;oBACR,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE;oBAC5D,CAAC,CAAC,SAAS,YAGd,KAAK,GACK,EACZ,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAC/B,MAAC,OAAO,kBAAC,IAAI,EAAC,QAAQ,IAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,eAC3C,KAAC,OAAO,CAAC,OAAO,oBACV,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,IACzB,SAAS,EAAE,sBAAsB,EACjC,gBAAgB,kBAEhB,cACE,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,gBACF,kBAAkB,iBACjB,sBAAsB,YAElC,KAAC,4BAA4B,KAAG,GAC5B,IACU,EAClB,KAAC,OAAO,CAAC,OAAO,oBAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,cACvC,mBAAmB,IACJ,KACV,CACX,EACA,oBAAoB,IAAI,CACvB,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,0BAA0B,YAC/D,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAC1B,CACd,IACG,CACP,CAAC;IAEF,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,4BAAG,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC;AACrD,CAAC,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport classNames from 'classnames';\nimport type React from 'react';\n\nimport { InformationCircleIconOutline } from '../../icons/generated/heroIcons/InformationCircleIconOutline';\nimport { Tooltip } from '../../tooltip';\nimport { Typography } from '../../typography';\nimport { type TooltipObjectProps } from '../types';\nimport { type FormFieldSize, type FormFieldState } from './form-control-types';\n\ntype FormFieldLabelProps = {\n field: FormFieldState;\n size: FormFieldSize;\n /**\n * How the label is associated with its control. `explicit` renders a\n * `<label>` pointing at the control through `htmlFor`, carrying `labelId`\n * for `aria-labelledby`. `implicit` renders plain text, for components\n * whose control is wrapped by an enclosing `<label>`, where a nested label\n * element would be invalid.\n */\n association?: 'explicit' | 'implicit';\n /**\n * Click handler for an explicit label, for controls that need more than\n * the default `htmlFor` focus forwarding (the Combobox label must move\n * focus without toggling the panel).\n */\n onLabelClick?: React.MouseEventHandler<HTMLLabelElement>;\n /** Text displayed in an information tooltip next to the label */\n moreInformationText?: React.ReactNode;\n /** Props for the Tooltip component used by the information icon */\n tooltipProps?: TooltipObjectProps;\n /** Extra class names for the label row */\n className?: string;\n /** Wraps the rendered row, so a component can put it inside a Skeleton. */\n wrap?: (row: React.ReactNode) => React.ReactNode;\n};\n\n/**\n * The label row of a form field: the label itself, an optional information\n * tooltip, and the Required/Optional indicator. The indicator and the tooltip\n * are separate elements rather than label content, keeping them out of the\n * control's accessible name.\n */\nexport const FormFieldLabel = ({\n field,\n size,\n association = 'explicit',\n onLabelClick,\n moreInformationText,\n tooltipProps,\n className,\n wrap,\n}: FormFieldLabelProps) => {\n const {\n label,\n labelId,\n controlId,\n hasVisuallyHiddenLabel,\n hasRequiredIndicator,\n isRequired,\n } = field;\n const variant = size === 'large' ? 'body-large' : 'body-medium';\n const isExplicit = association === 'explicit';\n const informationIconClasses = classNames({\n 'ndl-information-icon-large': size === 'large',\n 'ndl-information-icon-small': size === 'small' || size === 'medium',\n });\n\n const row = (\n <div\n className={classNames(\n 'ndl-form-label-row',\n { 'ndl-visually-hidden': hasVisuallyHiddenLabel },\n className,\n )}\n >\n <Typography\n as={isExplicit ? 'label' : 'span'}\n variant={variant}\n className=\"ndl-form-label\"\n htmlAttributes={\n isExplicit\n ? { htmlFor: controlId, id: labelId, onClick: onLabelClick }\n : undefined\n }\n >\n {label}\n </Typography>\n {Boolean(moreInformationText) && (\n <Tooltip type=\"simple\" {...tooltipProps?.root}>\n <Tooltip.Trigger\n {...tooltipProps?.trigger}\n className={informationIconClasses}\n hasButtonWrapper\n >\n <div\n tabIndex={0}\n role=\"button\"\n aria-label=\"Information icon\"\n data-testid=\"ndl-information-icon\"\n >\n <InformationCircleIconOutline />\n </div>\n </Tooltip.Trigger>\n <Tooltip.Content {...tooltipProps?.content}>\n {moreInformationText}\n </Tooltip.Content>\n </Tooltip>\n )}\n {hasRequiredIndicator && (\n <Typography variant={variant} className=\"ndl-form-label-indicator\">\n {isRequired ? 'Required' : 'Optional'}\n </Typography>\n )}\n </div>\n );\n\n return wrap === undefined ? row : <>{wrap(row)}</>;\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
2
+ /*!
3
3
  *
4
4
  * Copyright (c) "Neo4j"
5
5
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldMessage.js","sourceRoot":"","sources":["../../../../src/_common/form-control/FormFieldMessage.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4DAA4D,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;;;GAIG;AACH,MAAM,sBAAsB,GAGxB;IACF,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE;IACnE,IAAI,EAAE,EAAE;CACT,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,IAAI,GACkB,EAAE,EAAE;IAC1B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IAChE,MAAM,YAAY,GAChB,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC;IAEhC,MAAM,OAAO,GACX,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,yEAAyE;IACzE,kEAAkE;IAClE,qCAAqC;IACrC,eAAK,SAAS,EAAC,0BAA0B,aACtC,IAAI,KAAK,SAAS,IAAI,CACrB,cAAK,SAAS,EAAC,uBAAuB,iBAAa,MAAM,YACvD,KAAC,IAAI,KAAG,GACJ,CACP,EACD,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,uBAAuB,EACjC,cAAc,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,YAEhC,OAAO,GACG,IACT,CACP,CAAC;IAEJ,OAAO,CACL,cACE,SAAS,EAAE,UAAU,CACnB,kBAAkB,EAClB;YACE,WAAW,EAAE,IAAI,KAAK,OAAO;YAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;YAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;SAC9B,EACD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,EACvB,SAAS,CACV,eACS,QAAQ,iBACN,MAAM,YAEjB,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAC/D,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport classNames from 'classnames';\nimport type React from 'react';\n\nimport { ExclamationCircleIconSolid } from '../../icons/generated/heroIcons/ExclamationCircleIconSolid';\nimport { Typography } from '../../typography';\nimport {\n type FormFieldMessageSeverity,\n type FormFieldSize,\n type FormFieldState,\n} from './form-control-types';\n\ntype FormFieldMessagePresentation = {\n /** Icon rendered before the message text. */\n icon?: React.ComponentType;\n /** Severity modifier class on the message container. */\n className?: string;\n};\n\n/**\n * How each severity presents itself. A future severity (`info`, `warning`) or\n * a new way of presenting a message extends this map rather than reshaping\n * the components that render messages.\n */\nconst presentationBySeverity: Record<\n FormFieldMessageSeverity,\n FormFieldMessagePresentation\n> = {\n error: { className: 'ndl-error', icon: ExclamationCircleIconSolid },\n help: {},\n};\n\ntype FormFieldMessageProps = {\n field: FormFieldState;\n size: FormFieldSize;\n /** Extra class names for the message container */\n className?: string;\n /** Wraps the message content, so a component can put it inside a Skeleton. */\n wrap?: (content: React.ReactNode) => React.ReactNode;\n};\n\n/**\n * The message below a form field: the help text, or the error that replaces\n * it. The container is rendered whether or not there is a message, so the\n * `aria-live` region exists in the document before any text arrives and a\n * validation error is reliably announced. The stylesheet collapses it while\n * it is empty.\n *\n * The region is polite rather than an assertive `role=\"alert\"`, since\n * validation that runs on blur or on change would otherwise interrupt\n * whatever is being read. `aria-atomic` makes the whole message announce as\n * one, matching `role=\"status\"` without presenting plain help text as a\n * status message.\n */\nexport const FormFieldMessage = ({\n field,\n size,\n className,\n wrap,\n}: FormFieldMessageProps) => {\n const { message, messageId, messageSeverity } = field;\n const variant = size === 'large' ? 'body-medium' : 'body-small';\n const presentation =\n messageSeverity === undefined\n ? undefined\n : presentationBySeverity[messageSeverity];\n const Icon = presentation?.icon;\n\n const content =\n messageSeverity === undefined ? null : (\n // The icon and the text share a row of their own, so the container stays\n // a plain block that anything wrapping the content, a Skeleton in\n // particular, can fill the width of.\n <div className=\"ndl-form-message-content\">\n {Icon !== undefined && (\n <div className=\"ndl-form-message-icon\" aria-hidden=\"true\">\n <Icon />\n </div>\n )}\n <Typography\n variant={variant}\n className=\"ndl-form-message-text\"\n htmlAttributes={{ id: messageId }}\n >\n {message}\n </Typography>\n </div>\n );\n\n return (\n <div\n className={classNames(\n 'ndl-form-message',\n {\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n },\n presentation?.className,\n className,\n )}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {content !== null && (wrap === undefined ? content : wrap(content))}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"FormFieldMessage.js","sourceRoot":"","sources":["../../../../src/_common/form-control/FormFieldMessage.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4DAA4D,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C;;;;GAIG;AACH,MAAM,sBAAsB,GAGxB;IACF,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,EAAE;IACnE,IAAI,EAAE,EAAE;CACT,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,IAAI,GACkB,EAAE,EAAE;IAC1B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IAChE,MAAM,YAAY,GAChB,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC;IAEhC,MAAM,OAAO,GACX,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,yEAAyE;IACzE,kEAAkE;IAClE,qCAAqC;IACrC,eAAK,SAAS,EAAC,0BAA0B,aACtC,IAAI,KAAK,SAAS,IAAI,CACrB,cAAK,SAAS,EAAC,uBAAuB,iBAAa,MAAM,YACvD,KAAC,IAAI,KAAG,GACJ,CACP,EACD,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,uBAAuB,EACjC,cAAc,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,YAEhC,OAAO,GACG,IACT,CACP,CAAC;IAEJ,OAAO,CACL,cACE,SAAS,EAAE,UAAU,CACnB,kBAAkB,EAClB;YACE,WAAW,EAAE,IAAI,KAAK,OAAO;YAC7B,YAAY,EAAE,IAAI,KAAK,QAAQ;YAC/B,WAAW,EAAE,IAAI,KAAK,OAAO;SAC9B,EACD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,EACvB,SAAS,CACV,eACS,QAAQ,iBACN,MAAM,YAEjB,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAC/D,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport classNames from 'classnames';\nimport type React from 'react';\n\nimport { ExclamationCircleIconSolid } from '../../icons/generated/heroIcons/ExclamationCircleIconSolid';\nimport { Typography } from '../../typography';\nimport {\n type FormFieldMessageSeverity,\n type FormFieldSize,\n type FormFieldState,\n} from './form-control-types';\n\ntype FormFieldMessagePresentation = {\n /** Icon rendered before the message text. */\n icon?: React.ComponentType;\n /** Severity modifier class on the message container. */\n className?: string;\n};\n\n/**\n * How each severity presents itself. A future severity (`info`, `warning`) or\n * a new way of presenting a message extends this map rather than reshaping\n * the components that render messages.\n */\nconst presentationBySeverity: Record<\n FormFieldMessageSeverity,\n FormFieldMessagePresentation\n> = {\n error: { className: 'ndl-error', icon: ExclamationCircleIconSolid },\n help: {},\n};\n\ntype FormFieldMessageProps = {\n field: FormFieldState;\n size: FormFieldSize;\n /** Extra class names for the message container */\n className?: string;\n /** Wraps the message content, so a component can put it inside a Skeleton. */\n wrap?: (content: React.ReactNode) => React.ReactNode;\n};\n\n/**\n * The message below a form field: the help text, or the error that replaces\n * it. The container is rendered whether or not there is a message, so the\n * `aria-live` region exists in the document before any text arrives and a\n * validation error is reliably announced. The stylesheet collapses it while\n * it is empty.\n *\n * The region is polite rather than an assertive `role=\"alert\"`, since\n * validation that runs on blur or on change would otherwise interrupt\n * whatever is being read. `aria-atomic` makes the whole message announce as\n * one, matching `role=\"status\"` without presenting plain help text as a\n * status message.\n */\nexport const FormFieldMessage = ({\n field,\n size,\n className,\n wrap,\n}: FormFieldMessageProps) => {\n const { message, messageId, messageSeverity } = field;\n const variant = size === 'large' ? 'body-medium' : 'body-small';\n const presentation =\n messageSeverity === undefined\n ? undefined\n : presentationBySeverity[messageSeverity];\n const Icon = presentation?.icon;\n\n const content =\n messageSeverity === undefined ? null : (\n // The icon and the text share a row of their own, so the container stays\n // a plain block that anything wrapping the content, a Skeleton in\n // particular, can fill the width of.\n <div className=\"ndl-form-message-content\">\n {Icon !== undefined && (\n <div className=\"ndl-form-message-icon\" aria-hidden=\"true\">\n <Icon />\n </div>\n )}\n <Typography\n variant={variant}\n className=\"ndl-form-message-text\"\n htmlAttributes={{ id: messageId }}\n >\n {message}\n </Typography>\n </div>\n );\n\n return (\n <div\n className={classNames(\n 'ndl-form-message',\n {\n 'ndl-large': size === 'large',\n 'ndl-medium': size === 'medium',\n 'ndl-small': size === 'small',\n },\n presentation?.className,\n className,\n )}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {content !== null && (wrap === undefined ? content : wrap(content))}\n </div>\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1 +1 @@
1
- {"version":3,"file":"form-control-types.js","sourceRoot":"","sources":["../../../../src/_common/form-control/form-control-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport type React from 'react';\n\n/** Sizes shared by the form field parts, matching the input sizes. */\ntype FormFieldSize = 'small' | 'medium' | 'large';\n\n/**\n * Severity of the message shown below a form control. An error replaces the\n * help text whenever both are provided.\n *\n * Deliberately a union rather than an error boolean: future severities such\n * as `info` and `warning`, or new ways of presenting a message, only extend\n * this union and the severity presentation map in `FormFieldMessage`.\n */\ntype FormFieldMessageSeverity = 'help' | 'error';\n\n/**\n * The field-related props a form input component maps onto the internal form\n * field. Components pick from these internally so wording, types and behavior\n * stay aligned, while their external prop names stay untouched (for example\n * both TextInput's `showRequiredOrOptionalLabel` and TextArea's `isOptional`\n * map onto `hasRequiredIndicator` here).\n */\ntype FormFieldProps = {\n /** The label displayed above the control */\n label?: React.ReactNode;\n\n /** Assistive text displayed below the control */\n helpText?: React.ReactNode;\n\n /** Error message displayed below the control. When provided, it overrides `helpText` and shows an error icon */\n errorText?: React.ReactNode;\n\n /** Whether the control is required */\n isRequired?: boolean;\n\n /** Whether Required or Optional is shown at the end of the label row */\n hasRequiredIndicator?: boolean;\n\n /** Whether the label is clipped out of the layout, leaving it to screen readers only */\n hasVisuallyHiddenLabel?: boolean;\n};\n\n/**\n * The resolved state of a form field: the ids that tie the label and the\n * message to the control, and which message is currently displayed. Built by\n * `useFormField` and consumed by `FormFieldLabel` and `FormFieldMessage`, so\n * a component never wires ids or picks between help and error itself.\n */\ntype FormFieldState = {\n label?: React.ReactNode;\n /** Id of the label element, for `aria-labelledby` on ARIA widgets. */\n labelId: string;\n /** Id of the control, which an explicit label points at with `htmlFor`. */\n controlId: string;\n /** Id the help text renders with, referenced while it is displayed. */\n helpTextId: string;\n /** Id the error text renders with, referenced while it is displayed. */\n errorTextId: string;\n helpText?: React.ReactNode;\n errorText?: React.ReactNode;\n /** The displayed message. The error text while there is one, else the help text. */\n message?: React.ReactNode;\n /** Id of the displayed message; `undefined` while there is no message. */\n messageId?: string;\n /** Severity of the displayed message; `undefined` while there is no message. */\n messageSeverity?: FormFieldMessageSeverity;\n hasError: boolean;\n isRequired: boolean;\n hasRequiredIndicator: boolean;\n hasVisuallyHiddenLabel: boolean;\n};\n\n// These are DOM attribute names, so the boolean naming convention cannot apply.\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * ARIA attributes for the control the field describes. Spread onto the input\n * or the ARIA widget acting as one.\n */\ntype FormFieldControlProps = {\n 'aria-describedby': string | undefined;\n 'aria-invalid': true | undefined;\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport type {\n FormFieldControlProps,\n FormFieldMessageSeverity,\n FormFieldProps,\n FormFieldSize,\n FormFieldState,\n};\n"]}
1
+ {"version":3,"file":"form-control-types.js","sourceRoot":"","sources":["../../../../src/_common/form-control/form-control-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport type React from 'react';\n\n/** Sizes shared by the form field parts, matching the input sizes. */\ntype FormFieldSize = 'small' | 'medium' | 'large';\n\n/**\n * Severity of the message shown below a form control. An error replaces the\n * help text whenever both are provided.\n *\n * Deliberately a union rather than an error boolean: future severities such\n * as `info` and `warning`, or new ways of presenting a message, only extend\n * this union and the severity presentation map in `FormFieldMessage`.\n */\ntype FormFieldMessageSeverity = 'help' | 'error';\n\n/**\n * The field-related props a form input component maps onto the internal form\n * field. Components pick from these internally so wording, types and behavior\n * stay aligned, while their external prop names stay untouched (for example\n * both TextInput's `showRequiredOrOptionalLabel` and TextArea's `isOptional`\n * map onto `hasRequiredIndicator` here).\n */\ntype FormFieldProps = {\n /** The label displayed above the control */\n label?: React.ReactNode;\n\n /** Assistive text displayed below the control */\n helpText?: React.ReactNode;\n\n /** Error message displayed below the control. When provided, it overrides `helpText` and shows an error icon */\n errorText?: React.ReactNode;\n\n /** Whether the control is required */\n isRequired?: boolean;\n\n /** Whether Required or Optional is shown at the end of the label row */\n hasRequiredIndicator?: boolean;\n\n /** Whether the label is clipped out of the layout, leaving it to screen readers only */\n hasVisuallyHiddenLabel?: boolean;\n};\n\n/**\n * The resolved state of a form field: the ids that tie the label and the\n * message to the control, and which message is currently displayed. Built by\n * `useFormField` and consumed by `FormFieldLabel` and `FormFieldMessage`, so\n * a component never wires ids or picks between help and error itself.\n */\ntype FormFieldState = {\n label?: React.ReactNode;\n /** Id of the label element, for `aria-labelledby` on ARIA widgets. */\n labelId: string;\n /** Id of the control, which an explicit label points at with `htmlFor`. */\n controlId: string;\n /** Id the help text renders with, referenced while it is displayed. */\n helpTextId: string;\n /** Id the error text renders with, referenced while it is displayed. */\n errorTextId: string;\n helpText?: React.ReactNode;\n errorText?: React.ReactNode;\n /** The displayed message. The error text while there is one, else the help text. */\n message?: React.ReactNode;\n /** Id of the displayed message; `undefined` while there is no message. */\n messageId?: string;\n /** Severity of the displayed message; `undefined` while there is no message. */\n messageSeverity?: FormFieldMessageSeverity;\n hasError: boolean;\n isRequired: boolean;\n hasRequiredIndicator: boolean;\n hasVisuallyHiddenLabel: boolean;\n};\n\n// These are DOM attribute names, so the boolean naming convention cannot apply.\n/* eslint-disable @typescript-eslint/naming-convention */\n/**\n * ARIA attributes for the control the field describes. Spread onto the input\n * or the ARIA widget acting as one.\n */\ntype FormFieldControlProps = {\n 'aria-describedby': string | undefined;\n 'aria-invalid': true | undefined;\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport type {\n FormFieldControlProps,\n FormFieldMessageSeverity,\n FormFieldProps,\n FormFieldSize,\n FormFieldState,\n};\n"]}
@@ -0,0 +1,28 @@
1
+ /*!
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ import { createContext, useContext } from 'react';
22
+ const FormFieldGroupContext = createContext(null);
23
+ const useFormFieldGroup = (controlType) => {
24
+ const context = useContext(FormFieldGroupContext);
25
+ return (context === null || context === void 0 ? void 0 : context.controlType) === controlType ? context : undefined;
26
+ };
27
+ export { FormFieldGroupContext, useFormFieldGroup, };
28
+ //# sourceMappingURL=form-field-group-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-field-group-context.js","sourceRoot":"","sources":["../../../../src/_common/form-control/form-field-group-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAelD,MAAM,qBAAqB,GAAG,aAAa,CACzC,IAAI,CACL,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,WAAsC,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAElD,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC,CAAC;AAEF,OAAO,EACL,qBAAqB,EAErB,iBAAiB,GAClB,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport type React from 'react';\nimport { createContext, useContext } from 'react';\n\ntype FormFieldGroupControlType = 'checkbox' | 'radio';\n\ntype FormFieldGroupContextValue = {\n controlType: FormFieldGroupControlType;\n name?: string;\n isDisabled: boolean;\n isRequired: boolean;\n hasError: boolean;\n /** Selected radio value when the group is controlled. `null` means no selection. */\n value?: string | null;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n};\n\nconst FormFieldGroupContext = createContext<FormFieldGroupContextValue | null>(\n null,\n);\n\nconst useFormFieldGroup = (controlType: FormFieldGroupControlType) => {\n const context = useContext(FormFieldGroupContext);\n\n return context?.controlType === controlType ? context : undefined;\n};\n\nexport {\n FormFieldGroupContext,\n type FormFieldGroupContextValue,\n useFormFieldGroup,\n};\n"]}
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -27,6 +27,7 @@
27
27
  */
28
28
  export { FormFieldLabel } from './FormFieldLabel';
29
29
  export { FormFieldMessage } from './FormFieldMessage';
30
+ export { FormFieldGroupContext, useFormFieldGroup, } from './form-field-group-context';
30
31
  export { useFormField } from './use-form-field';
31
32
  export { useInlineFieldLabel } from './use-inline-field-label';
32
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/_common/form-control/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/**\n * The internal form control layer (DES-1772): one implementation of the\n * label, the required indicator, the help text and the error message shared\n * by the form input components, plus the ARIA wiring that ties them to the\n * control. Internal only - not exported from the package index - so a future\n * public field API can be built on top without being constrained by it.\n */\n\nexport { FormFieldLabel } from './FormFieldLabel';\nexport { FormFieldMessage } from './FormFieldMessage';\nexport type {\n FormFieldControlProps,\n FormFieldMessageSeverity,\n FormFieldProps,\n FormFieldSize,\n FormFieldState,\n} from './form-control-types';\nexport { useFormField } from './use-form-field';\nexport { useInlineFieldLabel } from './use-inline-field-label';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/_common/form-control/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,qBAAqB,EAErB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/**\n * The internal form control layer (DES-1772): one implementation of the\n * label, the required indicator, the help text and the error message shared\n * by the form input components, plus the ARIA wiring that ties them to the\n * control. Internal only - not exported from the package index - so a future\n * public field API can be built on top without being constrained by it.\n */\n\nexport { FormFieldLabel } from './FormFieldLabel';\nexport { FormFieldMessage } from './FormFieldMessage';\nexport {\n FormFieldGroupContext,\n type FormFieldGroupContextValue,\n useFormFieldGroup,\n} from './form-field-group-context';\nexport type {\n FormFieldControlProps,\n FormFieldMessageSeverity,\n FormFieldProps,\n FormFieldSize,\n FormFieldState,\n} from './form-control-types';\nexport { useFormField } from './use-form-field';\nexport { useInlineFieldLabel } from './use-inline-field-label';\n"]}
@@ -1,4 +1,4 @@
1
- /**
1
+ /*!
2
2
  *
3
3
  * Copyright (c) "Neo4j"
4
4
  * Neo4j Sweden AB [http://neo4j.com]
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-field.js","sourceRoot":"","sources":["../../../../src/_common/form-control/use-form-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAkC9B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,oBAAoB,GAAG,KAAK,EAC5B,sBAAsB,GAAG,KAAK,EAC9B,mBAAmB,GAAG,EAAE,GACJ,EAAsB,EAAE;IAC5C,MAAM,eAAe,GAAG,KAAK,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,eAAe,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,IAAI,QAAQ,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,IAAI,YAAY,CAAC;IACvC,MAAM,WAAW,GAAG,GAAG,IAAI,aAAa,CAAC;IACzC,MAAM,iBAAiB,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,IAAI,UAAU,CAAC;IAEzD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IACnD,MAAM,eAAe,GAAyC,QAAQ;QACpE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,SAAS,GAAG,QAAQ;QACxB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,cAAc,GAAG,CAAC,GAAG,mBAAmB,EAAE,SAAS,CAAC,CAAC,MAAM,CAC/D,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAC1D,CAAC;IAEF,OAAO;QACL,YAAY,EAAE;YACZ,kBAAkB,EAChB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC5C;QACD,KAAK,EAAE;YACL,SAAS,EAAE,iBAAiB;YAC5B,SAAS;YACT,WAAW;YACX,QAAQ;YACR,oBAAoB;YACpB,sBAAsB;YACtB,QAAQ;YACR,UAAU;YACV,UAAU;YACV,KAAK;YACL,OAAO;YACP,OAAO;YACP,SAAS;YACT,eAAe;SAChB;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { useId } from 'react';\n\nimport {\n type FormFieldControlProps,\n type FormFieldMessageSeverity,\n type FormFieldProps,\n type FormFieldState,\n} from './form-control-types';\n\ntype UseFormFieldOptions = FormFieldProps & {\n /**\n * Base for the generated ids, so a component that mints sibling ids of its\n * own (like the Combobox listbox and panel ids) can share one base.\n * Defaults to a generated id.\n */\n baseId?: string;\n /**\n * Overrides the generated control id, for controls that already name their\n * id (the Combobox trigger is `${baseId}-trigger`).\n */\n controlId?: string;\n /**\n * Ids referenced by `aria-describedby` before the message id, skipping\n * falsy entries (such as the TextInput clear/loading hint).\n */\n extraDescribedByIds?: (string | false | undefined)[];\n};\n\ntype UseFormFieldResult = {\n field: FormFieldState;\n /** ARIA attributes to spread onto the control the field describes. */\n controlProps: FormFieldControlProps;\n};\n\n/**\n * Resolves the shared form field state: id generation, which of help and\n * error is displayed - an error always replaces the help text - and the ARIA\n * wiring of the control. The parts are rendered by `FormFieldLabel` and\n * `FormFieldMessage`.\n */\nexport const useFormField = ({\n baseId,\n controlId,\n label,\n helpText,\n errorText,\n isRequired = false,\n hasRequiredIndicator = false,\n hasVisuallyHiddenLabel = false,\n extraDescribedByIds = [],\n}: UseFormFieldOptions): UseFormFieldResult => {\n const generatedBaseId = useId();\n const base = baseId ?? generatedBaseId;\n const labelId = `${base}-label`;\n const helpTextId = `${base}-help-text`;\n const errorTextId = `${base}-error-text`;\n const resolvedControlId = controlId ?? `${base}-control`;\n\n const hasError = Boolean(errorText);\n const hasHelpText = Boolean(helpText) && !hasError;\n const messageSeverity: FormFieldMessageSeverity | undefined = hasError\n ? 'error'\n : hasHelpText\n ? 'help'\n : undefined;\n const message = hasError ? errorText : hasHelpText ? helpText : undefined;\n const messageId = hasError\n ? errorTextId\n : hasHelpText\n ? helpTextId\n : undefined;\n\n const describedByIds = [...extraDescribedByIds, messageId].filter(\n (id): id is string => typeof id === 'string' && id !== '',\n );\n\n return {\n controlProps: {\n 'aria-describedby':\n describedByIds.length > 0 ? describedByIds.join(' ') : undefined,\n 'aria-invalid': hasError ? true : undefined,\n },\n field: {\n controlId: resolvedControlId,\n errorText,\n errorTextId,\n hasError,\n hasRequiredIndicator,\n hasVisuallyHiddenLabel,\n helpText,\n helpTextId,\n isRequired,\n label,\n labelId,\n message,\n messageId,\n messageSeverity,\n },\n };\n};\n"]}
1
+ {"version":3,"file":"use-form-field.js","sourceRoot":"","sources":["../../../../src/_common/form-control/use-form-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAkC9B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,oBAAoB,GAAG,KAAK,EAC5B,sBAAsB,GAAG,KAAK,EAC9B,mBAAmB,GAAG,EAAE,GACJ,EAAsB,EAAE;IAC5C,MAAM,eAAe,GAAG,KAAK,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,eAAe,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,IAAI,QAAQ,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,IAAI,YAAY,CAAC;IACvC,MAAM,WAAW,GAAG,GAAG,IAAI,aAAa,CAAC;IACzC,MAAM,iBAAiB,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,IAAI,UAAU,CAAC;IAEzD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IACnD,MAAM,eAAe,GAAyC,QAAQ;QACpE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,SAAS,GAAG,QAAQ;QACxB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,cAAc,GAAG,CAAC,GAAG,mBAAmB,EAAE,SAAS,CAAC,CAAC,MAAM,CAC/D,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAC1D,CAAC;IAEF,OAAO;QACL,YAAY,EAAE;YACZ,kBAAkB,EAChB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAC5C;QACD,KAAK,EAAE;YACL,SAAS,EAAE,iBAAiB;YAC5B,SAAS;YACT,WAAW;YACX,QAAQ;YACR,oBAAoB;YACpB,sBAAsB;YACtB,QAAQ;YACR,UAAU;YACV,UAAU;YACV,KAAK;YACL,OAAO;YACP,OAAO;YACP,SAAS;YACT,eAAe;SAChB;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { useId } from 'react';\n\nimport {\n type FormFieldControlProps,\n type FormFieldMessageSeverity,\n type FormFieldProps,\n type FormFieldState,\n} from './form-control-types';\n\ntype UseFormFieldOptions = FormFieldProps & {\n /**\n * Base for the generated ids, so a component that mints sibling ids of its\n * own (like the Combobox listbox and panel ids) can share one base.\n * Defaults to a generated id.\n */\n baseId?: string;\n /**\n * Overrides the generated control id, for controls that already name their\n * id (the Combobox trigger is `${baseId}-trigger`).\n */\n controlId?: string;\n /**\n * Ids referenced by `aria-describedby` before the message id, skipping\n * falsy entries (such as the TextInput clear/loading hint).\n */\n extraDescribedByIds?: (string | false | undefined)[];\n};\n\ntype UseFormFieldResult = {\n field: FormFieldState;\n /** ARIA attributes to spread onto the control the field describes. */\n controlProps: FormFieldControlProps;\n};\n\n/**\n * Resolves the shared form field state: id generation, which of help and\n * error is displayed - an error always replaces the help text - and the ARIA\n * wiring of the control. The parts are rendered by `FormFieldLabel` and\n * `FormFieldMessage`.\n */\nexport const useFormField = ({\n baseId,\n controlId,\n label,\n helpText,\n errorText,\n isRequired = false,\n hasRequiredIndicator = false,\n hasVisuallyHiddenLabel = false,\n extraDescribedByIds = [],\n}: UseFormFieldOptions): UseFormFieldResult => {\n const generatedBaseId = useId();\n const base = baseId ?? generatedBaseId;\n const labelId = `${base}-label`;\n const helpTextId = `${base}-help-text`;\n const errorTextId = `${base}-error-text`;\n const resolvedControlId = controlId ?? `${base}-control`;\n\n const hasError = Boolean(errorText);\n const hasHelpText = Boolean(helpText) && !hasError;\n const messageSeverity: FormFieldMessageSeverity | undefined = hasError\n ? 'error'\n : hasHelpText\n ? 'help'\n : undefined;\n const message = hasError ? errorText : hasHelpText ? helpText : undefined;\n const messageId = hasError\n ? errorTextId\n : hasHelpText\n ? helpTextId\n : undefined;\n\n const describedByIds = [...extraDescribedByIds, messageId].filter(\n (id): id is string => typeof id === 'string' && id !== '',\n );\n\n return {\n controlProps: {\n 'aria-describedby':\n describedByIds.length > 0 ? describedByIds.join(' ') : undefined,\n 'aria-invalid': hasError ? true : undefined,\n },\n field: {\n controlId: resolvedControlId,\n errorText,\n errorTextId,\n hasError,\n hasRequiredIndicator,\n hasVisuallyHiddenLabel,\n helpText,\n helpTextId,\n isRequired,\n label,\n labelId,\n message,\n messageId,\n messageSeverity,\n },\n };\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
2
+ /*!
3
3
  *
4
4
  * Copyright (c) "Neo4j"
5
5
  * Neo4j Sweden AB [http://neo4j.com]