@neo4j-ndl/react 4.22.0 → 4.23.3

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 (197) hide show
  1. package/lib/cjs/_common/form-control/FormFieldLabel.js +52 -0
  2. package/lib/cjs/_common/form-control/FormFieldLabel.js.map +1 -0
  3. package/lib/cjs/_common/form-control/FormFieldMessage.js +72 -0
  4. package/lib/cjs/_common/form-control/FormFieldMessage.js.map +1 -0
  5. package/lib/cjs/_common/form-control/form-control-types.js +23 -0
  6. package/lib/cjs/_common/form-control/form-control-types.js.map +1 -0
  7. package/lib/cjs/_common/form-control/index.js +39 -0
  8. package/lib/cjs/_common/form-control/index.js.map +1 -0
  9. package/lib/cjs/_common/form-control/use-form-field.js +76 -0
  10. package/lib/cjs/_common/form-control/use-form-field.js.map +1 -0
  11. package/lib/cjs/_common/form-control/use-inline-field-label.js +76 -0
  12. package/lib/cjs/_common/form-control/use-inline-field-label.js.map +1 -0
  13. package/lib/cjs/checkbox/Checkbox.js +9 -21
  14. package/lib/cjs/checkbox/Checkbox.js.map +1 -1
  15. package/lib/cjs/combobox/Combobox.js +75 -53
  16. package/lib/cjs/combobox/Combobox.js.map +1 -1
  17. package/lib/cjs/combobox/combobox-types.js.map +1 -1
  18. package/lib/cjs/date-picker/DatePicker.js.map +1 -1
  19. package/lib/cjs/icons/generated/custom/FloppyDiskArrowTopRight.js +30 -0
  20. package/lib/cjs/icons/generated/custom/FloppyDiskArrowTopRight.js.map +1 -0
  21. package/lib/cjs/icons/generated/custom/OpenQueryTab.js +1 -0
  22. package/lib/cjs/icons/generated/custom/OpenQueryTab.js.map +1 -1
  23. package/lib/cjs/icons/generated/custom/index.js +5 -3
  24. package/lib/cjs/icons/generated/custom/index.js.map +1 -1
  25. package/lib/cjs/next/tree-view/TreeView.js +16 -1
  26. package/lib/cjs/next/tree-view/TreeView.js.map +1 -1
  27. package/lib/cjs/radio/Radio.js +12 -22
  28. package/lib/cjs/radio/Radio.js.map +1 -1
  29. package/lib/cjs/select/Select.js +14 -5
  30. package/lib/cjs/select/Select.js.map +1 -1
  31. package/lib/cjs/select/types.js.map +1 -1
  32. package/lib/cjs/switch/Switch.js +9 -21
  33. package/lib/cjs/switch/Switch.js.map +1 -1
  34. package/lib/cjs/text-area/TextArea.js +8 -21
  35. package/lib/cjs/text-area/TextArea.js.map +1 -1
  36. package/lib/cjs/text-input/TextInput.js +15 -38
  37. package/lib/cjs/text-input/TextInput.js.map +1 -1
  38. package/lib/cjs/text-input/stories/text-input-sizes.story.js +1 -1
  39. package/lib/cjs/text-input/stories/text-input-sizes.story.js.map +1 -1
  40. package/lib/cjs/time-picker/TimePicker.js +13 -7
  41. package/lib/cjs/time-picker/TimePicker.js.map +1 -1
  42. package/lib/cjs/timezone-picker/TimeZonePicker.js +13 -7
  43. package/lib/cjs/timezone-picker/TimeZonePicker.js.map +1 -1
  44. package/lib/esm/_common/form-control/FormFieldLabel.js +45 -0
  45. package/lib/esm/_common/form-control/FormFieldLabel.js.map +1 -0
  46. package/lib/esm/_common/form-control/FormFieldMessage.js +65 -0
  47. package/lib/esm/_common/form-control/FormFieldMessage.js.map +1 -0
  48. package/lib/esm/_common/form-control/form-control-types.js +22 -0
  49. package/lib/esm/_common/form-control/form-control-types.js.map +1 -0
  50. package/lib/esm/_common/form-control/index.js +32 -0
  51. package/lib/esm/_common/form-control/index.js.map +1 -0
  52. package/lib/esm/_common/form-control/use-form-field.js +72 -0
  53. package/lib/esm/_common/form-control/use-form-field.js.map +1 -0
  54. package/lib/esm/_common/form-control/use-inline-field-label.js +69 -0
  55. package/lib/esm/_common/form-control/use-inline-field-label.js.map +1 -0
  56. package/lib/esm/checkbox/Checkbox.js +10 -22
  57. package/lib/esm/checkbox/Checkbox.js.map +1 -1
  58. package/lib/esm/combobox/Combobox.js +76 -54
  59. package/lib/esm/combobox/Combobox.js.map +1 -1
  60. package/lib/esm/combobox/combobox-types.js.map +1 -1
  61. package/lib/esm/date-picker/DatePicker.js.map +1 -1
  62. package/lib/esm/icons/generated/custom/FloppyDiskArrowTopRight.js +28 -0
  63. package/lib/esm/icons/generated/custom/FloppyDiskArrowTopRight.js.map +1 -0
  64. package/lib/esm/icons/generated/custom/OpenQueryTab.js +1 -0
  65. package/lib/esm/icons/generated/custom/OpenQueryTab.js.map +1 -1
  66. package/lib/esm/icons/generated/custom/index.js +1 -0
  67. package/lib/esm/icons/generated/custom/index.js.map +1 -1
  68. package/lib/esm/next/tree-view/TreeView.js +16 -1
  69. package/lib/esm/next/tree-view/TreeView.js.map +1 -1
  70. package/lib/esm/radio/Radio.js +12 -22
  71. package/lib/esm/radio/Radio.js.map +1 -1
  72. package/lib/esm/select/Select.js +14 -5
  73. package/lib/esm/select/Select.js.map +1 -1
  74. package/lib/esm/select/types.js.map +1 -1
  75. package/lib/esm/switch/Switch.js +10 -22
  76. package/lib/esm/switch/Switch.js.map +1 -1
  77. package/lib/esm/text-area/TextArea.js +9 -22
  78. package/lib/esm/text-area/TextArea.js.map +1 -1
  79. package/lib/esm/text-input/TextInput.js +15 -38
  80. package/lib/esm/text-input/TextInput.js.map +1 -1
  81. package/lib/esm/text-input/stories/text-input-sizes.story.js +1 -1
  82. package/lib/esm/text-input/stories/text-input-sizes.story.js.map +1 -1
  83. package/lib/esm/time-picker/TimePicker.js +13 -7
  84. package/lib/esm/time-picker/TimePicker.js.map +1 -1
  85. package/lib/esm/timezone-picker/TimeZonePicker.js +13 -7
  86. package/lib/esm/timezone-picker/TimeZonePicker.js.map +1 -1
  87. package/lib/types/_common/form-control/FormFieldLabel.d.ts +58 -0
  88. package/lib/types/_common/form-control/FormFieldLabel.d.ts.map +1 -0
  89. package/lib/types/_common/form-control/FormFieldMessage.d.ts +46 -0
  90. package/lib/types/_common/form-control/FormFieldMessage.d.ts.map +1 -0
  91. package/lib/types/_common/form-control/form-control-types.d.ts +92 -0
  92. package/lib/types/_common/form-control/form-control-types.d.ts.map +1 -0
  93. package/lib/types/_common/form-control/index.d.ts +33 -0
  94. package/lib/types/_common/form-control/index.d.ts.map +1 -0
  95. package/lib/types/_common/form-control/use-form-field.d.ts +53 -0
  96. package/lib/types/_common/form-control/use-form-field.d.ts.map +1 -0
  97. package/lib/types/_common/form-control/use-inline-field-label.d.ts +69 -0
  98. package/lib/types/_common/form-control/use-inline-field-label.d.ts.map +1 -0
  99. package/lib/types/checkbox/Checkbox.d.ts.map +1 -1
  100. package/lib/types/combobox/Combobox.d.ts.map +1 -1
  101. package/lib/types/combobox/combobox-types.d.ts +6 -5
  102. package/lib/types/combobox/combobox-types.d.ts.map +1 -1
  103. package/lib/types/icons/generated/custom/FloppyDiskArrowTopRight.d.ts +29 -0
  104. package/lib/types/icons/generated/custom/FloppyDiskArrowTopRight.d.ts.map +1 -0
  105. package/lib/types/icons/generated/custom/OpenQueryTab.d.ts +1 -0
  106. package/lib/types/icons/generated/custom/OpenQueryTab.d.ts.map +1 -1
  107. package/lib/types/icons/generated/custom/index.d.ts +1 -0
  108. package/lib/types/icons/generated/custom/index.d.ts.map +1 -1
  109. package/lib/types/next/tree-view/TreeView.d.ts.map +1 -1
  110. package/lib/types/radio/Radio.d.ts.map +1 -1
  111. package/lib/types/select/Select.d.ts.map +1 -1
  112. package/lib/types/select/types.d.ts.map +1 -1
  113. package/lib/types/switch/Switch.d.ts.map +1 -1
  114. package/lib/types/text-area/TextArea.d.ts.map +1 -1
  115. package/lib/types/text-input/TextInput.d.ts.map +1 -1
  116. package/lib/types/text-input/stories/text-input-sizes.story.d.ts.map +1 -1
  117. package/lib/types/time-picker/TimePicker.d.ts +3 -1
  118. package/lib/types/time-picker/TimePicker.d.ts.map +1 -1
  119. package/lib/types/timezone-picker/TimeZonePicker.d.ts +4 -1
  120. package/lib/types/timezone-picker/TimeZonePicker.d.ts.map +1 -1
  121. package/package.json +3 -3
  122. package/skills/ndl-react/SKILL.md +7 -2
  123. package/skills/ndl-react/components/accordion.md +2 -0
  124. package/skills/ndl-react/components/ai/code-preview.md +4 -0
  125. package/skills/ndl-react/components/ai/file-tag.md +2 -0
  126. package/skills/ndl-react/components/ai/image-tag.md +2 -0
  127. package/skills/ndl-react/components/ai/more-files.md +2 -0
  128. package/skills/ndl-react/components/ai/presence.md +2 -0
  129. package/skills/ndl-react/components/ai/preview.md +2 -0
  130. package/skills/ndl-react/components/ai/prompt.md +2 -0
  131. package/skills/ndl-react/components/ai/reasoning.md +2 -0
  132. package/skills/ndl-react/components/ai/response.md +2 -0
  133. package/skills/ndl-react/components/ai/suggestion.md +2 -0
  134. package/skills/ndl-react/components/ai/thinking.md +2 -0
  135. package/skills/ndl-react/components/ai/tool-call.md +2 -0
  136. package/skills/ndl-react/components/ai/user-bubble.md +2 -0
  137. package/skills/ndl-react/components/avatar.md +2 -0
  138. package/skills/ndl-react/components/banner.md +2 -0
  139. package/skills/ndl-react/components/box.md +2 -0
  140. package/skills/ndl-react/components/breadcrumbs.md +2 -0
  141. package/skills/ndl-react/components/checkbox.md +2 -0
  142. package/skills/ndl-react/components/clean-icon-button.md +2 -0
  143. package/skills/ndl-react/components/clipboard-button.md +2 -0
  144. package/skills/ndl-react/components/code-block.md +2 -0
  145. package/skills/ndl-react/components/code.md +2 -0
  146. package/skills/ndl-react/components/color-picker.md +34 -32
  147. package/skills/ndl-react/components/combobox.md +5 -3
  148. package/skills/ndl-react/components/conditional-wrap.md +2 -0
  149. package/skills/ndl-react/components/data-grid.md +2 -0
  150. package/skills/ndl-react/components/date-picker.md +2 -0
  151. package/skills/ndl-react/components/dialog.md +2 -0
  152. package/skills/ndl-react/components/dismissible-tag.md +2 -0
  153. package/skills/ndl-react/components/divider.md +2 -0
  154. package/skills/ndl-react/components/drawer.md +2 -0
  155. package/skills/ndl-react/components/dropdown-button.md +2 -0
  156. package/skills/ndl-react/components/dropzone.md +7 -5
  157. package/skills/ndl-react/components/filled-button.md +2 -0
  158. package/skills/ndl-react/components/flex.md +2 -0
  159. package/skills/ndl-react/components/graph-label.md +2 -0
  160. package/skills/ndl-react/components/icon-button-array.md +2 -0
  161. package/skills/ndl-react/components/icon-button.md +2 -0
  162. package/skills/ndl-react/components/inline-edit.md +2 -0
  163. package/skills/ndl-react/components/kbd.md +2 -0
  164. package/skills/ndl-react/components/loading-bar.md +2 -0
  165. package/skills/ndl-react/components/loading-spinner.md +2 -0
  166. package/skills/ndl-react/components/logo.md +2 -0
  167. package/skills/ndl-react/components/menu.md +2 -0
  168. package/skills/ndl-react/components/modal.md +2 -0
  169. package/skills/ndl-react/components/next/tree-view.md +90 -2
  170. package/skills/ndl-react/components/outlined-button.md +2 -0
  171. package/skills/ndl-react/components/popover.md +2 -0
  172. package/skills/ndl-react/components/progress-bar.md +2 -0
  173. package/skills/ndl-react/components/radio.md +2 -0
  174. package/skills/ndl-react/components/read-only-tag.md +2 -0
  175. package/skills/ndl-react/components/segmented-control.md +2 -0
  176. package/skills/ndl-react/components/select-icon-button.md +2 -0
  177. package/skills/ndl-react/components/select.md +4 -0
  178. package/skills/ndl-react/components/selectable-tag.md +2 -0
  179. package/skills/ndl-react/components/side-navigation.md +2 -0
  180. package/skills/ndl-react/components/skeleton.md +2 -0
  181. package/skills/ndl-react/components/slider.md +2 -0
  182. package/skills/ndl-react/components/spotlight.md +2 -0
  183. package/skills/ndl-react/components/status-indicator.md +2 -0
  184. package/skills/ndl-react/components/status-label.md +2 -0
  185. package/skills/ndl-react/components/switch.md +2 -0
  186. package/skills/ndl-react/components/tabs.md +2 -0
  187. package/skills/ndl-react/components/tag.md +4 -0
  188. package/skills/ndl-react/components/text-area.md +2 -0
  189. package/skills/ndl-react/components/text-button.md +2 -0
  190. package/skills/ndl-react/components/text-input.md +8 -0
  191. package/skills/ndl-react/components/text-link.md +2 -0
  192. package/skills/ndl-react/components/time-picker.md +3 -0
  193. package/skills/ndl-react/components/timezone-picker.md +3 -0
  194. package/skills/ndl-react/components/tooltip.md +2 -0
  195. package/skills/ndl-react/components/tree-view.md +2 -0
  196. package/skills/ndl-react/components/typography.md +2 -0
  197. package/skills/ndl-react/components/wizard.md +2 -0
@@ -1,5 +1,8 @@
1
1
  ---
2
2
  name: ndl-react
3
+ metadata:
4
+ package: '@neo4j-ndl/react'
5
+ version: '4.23.3'
3
6
  description: >-
4
7
  Build and edit UI with the Neo4j Needle React design system
5
8
  (@neo4j-ndl/react). Use when adding, composing, or modifying Needle components
@@ -8,9 +11,11 @@ description: >-
8
11
  Claude, etc.).
9
12
  ---
10
13
 
14
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
15
+
11
16
  # Neo4j Needle (@neo4j-ndl/react)
12
17
 
13
- > 📌 Shipped with `@neo4j-ndl/react`. Once installed into your repo (e.g. via
18
+ > 📌 Shipped with `@neo4j-ndl/react` v4.23.3. Once installed into your repo (e.g. via
14
19
  > `npx skills add`) this folder is detached from the package — the installed
15
20
  > package (TypeScript types in `node_modules/@neo4j-ndl/react`) is the source of
16
21
  > truth.
@@ -198,7 +203,7 @@ Next-generation components, imported from the `@neo4j-ndl/react/next` subpath. A
198
203
 
199
204
  | Component | Docs | Accessibility | Examples |
200
205
  |-----------|------|---------------|----------|
201
- | `TreeView` | [components/next/tree-view.md](components/next/tree-view.md) | ✅ | 10 |
206
+ | `TreeView` | [components/next/tree-view.md](components/next/tree-view.md) | ✅ | 11 |
202
207
 
203
208
  ## AI components
204
209
 
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Accordion
2
4
 
3
5
  Import: `import { Accordion } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # CodePreview
2
4
 
3
5
  Import: `import { CodePreview } from '@neo4j-ndl/react/ai'`
@@ -6,6 +8,8 @@ Import: `import { CodePreview } from '@neo4j-ndl/react/ai'`
6
8
 
7
9
  ### CodePreview
8
10
 
11
+ **Deprecated** - Use `<Preview />` with `<Preview.Code />` instead.
12
+
9
13
  | Prop | Type | Required | Default | Description |
10
14
  |------|------|----------|---------|-------------|
11
15
  | `code` | `string` | ✅ | | The code content to display |
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # FileTag
2
4
 
3
5
  Import: `import { FileTag } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # ImageTag
2
4
 
3
5
  Import: `import { ImageTag } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # MoreFilesComponent
2
4
 
3
5
  Import: `import { MoreFilesComponent } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Presence
2
4
 
3
5
  Import: `import { Presence } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Preview
2
4
 
3
5
  Import: `import { Preview } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Prompt
2
4
 
3
5
  Import: `import { Prompt } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Reasoning
2
4
 
3
5
  Import: `import { Reasoning } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Response
2
4
 
3
5
  Import: `import { Response } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Suggestion
2
4
 
3
5
  Import: `import { Suggestion } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Thinking
2
4
 
3
5
  Import: `import { Thinking } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # ToolCall
2
4
 
3
5
  Import: `import { ToolCall } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # UserBubbleComponent
2
4
 
3
5
  Import: `import { UserBubbleComponent } from '@neo4j-ndl/react/ai'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Avatar
2
4
 
3
5
  Import: `import { Avatar } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Banner
2
4
 
3
5
  Import: `import { Banner } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Box
2
4
 
3
5
  Import: `import { Box } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Breadcrumbs
2
4
 
3
5
  Import: `import { Breadcrumbs } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Checkbox
2
4
 
3
5
  Import: `import { Checkbox } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # CleanIconButton
2
4
 
3
5
  Import: `import { CleanIconButton } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # ClipboardButton
2
4
 
3
5
  Import: `import { ClipboardButton } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # CodeBlock
2
4
 
3
5
  Import: `import { CodeBlock } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Code
2
4
 
3
5
  Import: `import { Code } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # ColorPicker
2
4
 
3
5
  Import: `import { ColorPicker } from '@neo4j-ndl/react'`
@@ -36,10 +38,10 @@ import { ColorPicker } from '../ColorPicker';
36
38
 
37
39
  const Component = () => {
38
40
  const [color, setColor] = useState({
39
- a: 1,
40
- b: 0,
41
- g: 0,
42
- r: 0,
41
+ a: 1, // oxlint-disable-line id-length
42
+ b: 0, // oxlint-disable-line id-length
43
+ g: 0, // oxlint-disable-line id-length
44
+ r: 0, // oxlint-disable-line id-length
43
45
  });
44
46
 
45
47
  return (
@@ -62,10 +64,10 @@ import { ColorPicker } from '../ColorPicker';
62
64
 
63
65
  const Component = () => {
64
66
  const [color, setColor] = useState({
65
- a: 1,
66
- b: 0,
67
- g: 0,
68
- r: 0,
67
+ a: 1, // oxlint-disable-line id-length
68
+ b: 0, // oxlint-disable-line id-length
69
+ g: 0, // oxlint-disable-line id-length
70
+ r: 0, // oxlint-disable-line id-length
69
71
  });
70
72
 
71
73
  return (
@@ -74,28 +76,28 @@ const Component = () => {
74
76
  onChange={(newColor) => setColor(newColor.rgb)}
75
77
  swatches={[
76
78
  {
77
- a: 1,
78
- b: 0,
79
- g: 0,
80
- r: 0,
79
+ a: 1, // oxlint-disable-line id-length
80
+ b: 0, // oxlint-disable-line id-length
81
+ g: 0, // oxlint-disable-line id-length
82
+ r: 0, // oxlint-disable-line id-length
81
83
  },
82
84
  {
83
- a: 1,
84
- b: 255,
85
- g: 0,
86
- r: 0,
85
+ a: 1, // oxlint-disable-line id-length
86
+ b: 255, // oxlint-disable-line id-length
87
+ g: 0, // oxlint-disable-line id-length
88
+ r: 0, // oxlint-disable-line id-length
87
89
  },
88
90
  {
89
- a: 1,
90
- b: 0,
91
- g: 255,
92
- r: 0,
91
+ a: 1, // oxlint-disable-line id-length
92
+ b: 0, // oxlint-disable-line id-length
93
+ g: 255, // oxlint-disable-line id-length
94
+ r: 0, // oxlint-disable-line id-length
93
95
  },
94
96
  {
95
- a: 1,
96
- b: 0,
97
- g: 0,
98
- r: 255,
97
+ a: 1, // oxlint-disable-line id-length
98
+ b: 0, // oxlint-disable-line id-length
99
+ g: 0, // oxlint-disable-line id-length
100
+ r: 255, // oxlint-disable-line id-length
99
101
  },
100
102
  ]}
101
103
  />
@@ -119,10 +121,10 @@ const Component = () => {
119
121
  const handleClose = () => setIsOpen(false);
120
122
 
121
123
  const [color, setColor] = useState({
122
- a: 1,
123
- b: 0,
124
- g: 0,
125
- r: 0,
124
+ a: 1, // oxlint-disable-line id-length
125
+ b: 0, // oxlint-disable-line id-length
126
+ g: 0, // oxlint-disable-line id-length
127
+ r: 0, // oxlint-disable-line id-length
126
128
  });
127
129
 
128
130
  return (
@@ -190,10 +192,10 @@ import { ColorPicker } from '../ColorPicker';
190
192
 
191
193
  const Component = () => {
192
194
  const [color, setColor] = useState({
193
- a: 1,
194
- b: 0,
195
- g: 0,
196
- r: 0,
195
+ a: 1, // oxlint-disable-line id-length
196
+ b: 0, // oxlint-disable-line id-length
197
+ g: 0, // oxlint-disable-line id-length
198
+ r: 0, // oxlint-disable-line id-length
197
199
  });
198
200
 
199
201
  return (
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Combobox
2
4
 
3
5
  Import: `import { Combobox } from '@neo4j-ndl/react'`
@@ -19,7 +21,7 @@ Import: `import { Combobox } from '@neo4j-ndl/react'`
19
21
  | `floatingStrategy` | `'absolute' \| 'fixed'` | | | Positioning strategy used by Floating UI. |
20
22
  | `formatCreateLabel` | `((searchValue: string) => ReactNode)` | | `` (searchValue: string) => `Create "${searchValue}"` `` | Text of the create row. Defaults to `Create "<search value>"`. |
21
23
  | `formId` | `string` | | | Id of the form the combobox belongs to when it is outside that form. |
22
- | `hasRequiredIndicator` | `boolean` | | `false` | Whether Required or Optional is shown at the end of the label row. |
24
+ | `hasRequiredIndicator` | `boolean` | | `false` | Whether Required or Optional is shown at the end of the label row, based on the `isRequired` prop |
23
25
  | `hasVisuallyHiddenLabel` | `boolean` | | `false` | Whether the label is clipped out of the layout, leaving it to screen readers only. |
24
26
  | `helpText` | `ReactNode` | | | Assistive text below the control. Replaced by `errorText` while there is an error. |
25
27
  | `isClean` | `boolean` | | `false` | Whether the control hugs its content without a background or resting outline. |
@@ -46,7 +48,7 @@ Import: `import { Combobox } from '@neo4j-ndl/react'`
46
48
  | `placeholder` | `string` | | `Select...` | Text shown in the trigger while nothing is selected. |
47
49
  | `portalTarget` | `HTMLElement \| null` | | | Portal target element. Defaults to `document.body`. |
48
50
  | `ref` | `Ref<HTMLDivElement>` | | | A ref to apply to the root element. |
49
- | `renderTrigger` | `((triggerProps: ComboboxTriggerProps, state: ComboboxTriggerState<TOption>) => ReactNode)` | | | Replaces the built-in trigger. Spread `triggerProps` onto the focusable element that should open the panel; the panel is anchored to it. The root element then lays out as `display: contents`, so the trigger is placed by whatever contains the combobox, and `isFluid`, `isClean`, `size`, `className` and `style` no longer shape it. |
51
+ | `renderTrigger` | `((triggerProps: ComboboxTriggerProps, state: ComboboxTriggerState<TOption>) => ReactNode)` | | | Replaces the built-in trigger. Spread `triggerProps` onto the focusable element that should open the panel; the panel is anchored to it. No root element is rendered, so the trigger is a direct child of whatever contains the combobox. `isFluid`, `isClean`, `size`, `className`, `style`, `htmlAttributes` and `ref` are ignored; use `triggerRef` to reach the trigger element. |
50
52
  | `searchPlaceholder` | `string` | | `Search` | Placeholder for the search input, which also names it. |
51
53
  | `searchValue` | `string` | | | The search value in controlled mode. |
52
54
  | `size` | `'large' \| 'medium' \| 'small'` | | `medium` | Size of the combobox control. |
@@ -99,7 +101,7 @@ The trigger is the form control, so it carries all of the validation ARIA.
99
101
  | `isRequired` | `aria-required="true"` |
100
102
 
101
103
  - An error replaces the help text, so only one message is ever rendered and only that one is described. Do not put the error in `helpText` as well.
102
- - The message container is a polite live region that is always in the document, so a validation error is announced when it appears.
104
+ - The message container is an atomic, polite live region that is always in the document, so a validation error is announced in full when it appears. It stays polite so validation on blur or on change never interrupts the screen reader.
103
105
  - `hasRequiredIndicator` adds Required or Optional at the end of the label row without changing the accessible name; requiredness is exposed through `aria-required` alone.
104
106
  - Without `name`, `isRequired` only marks the trigger with `aria-required`; validation belongs to the form around it.
105
107
  - With `name`, `isRequired` also enables native constraint validation. If submission is attempted without a selection, the hidden native control prevents submission, moves focus to the visible trigger, and puts the browser validation message in the existing error live region. An explicit `errorText` takes precedence over that message.
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # ConditionalWrap
2
4
 
3
5
  Import: `import { ConditionalWrap } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # DataGrid
2
4
 
3
5
  Import: `import { DataGrid } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # DatePicker
2
4
 
3
5
  Import: `import { DatePicker } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Dialog
2
4
 
3
5
  Import: `import { Dialog } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # DismissibleTag
2
4
 
3
5
  Import: `import { DismissibleTag } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Divider
2
4
 
3
5
  Import: `import { Divider } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Drawer
2
4
 
3
5
  Import: `import { Drawer } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # DropdownButton
2
4
 
3
5
  Import: `import { DropdownButton } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Dropzone
2
4
 
3
5
  Import: `import { Dropzone } from '@neo4j-ndl/react'`
@@ -157,11 +159,11 @@ import {
157
159
 
158
160
  // Configuration constants
159
161
  const CONFIG = {
160
- MAX_FILES: 3,
162
+ ACCEPTED_EXTENSIONS: ['.txt', '.json'] as string[],
161
163
  MAX_FILE_SIZE: 5 * 1024 * 1024, // 5MB
164
+ MAX_FILES: 3,
162
165
  PROGRESS_INCREMENT: 5,
163
166
  UPDATE_INTERVAL: 100,
164
- ACCEPTED_EXTENSIONS: ['.txt', '.json'] as string[],
165
167
  } as const;
166
168
 
167
169
  enum UploadState {
@@ -198,9 +200,9 @@ const Component = () => {
198
200
  const simulateUpload = useCallback((files: File[]) => {
199
201
  setUploadData((prev) => ({
200
202
  ...prev,
201
- state: UploadState.Uploading,
202
203
  files,
203
204
  progress: 0,
205
+ state: UploadState.Uploading,
204
206
  }));
205
207
 
206
208
  const interval = setInterval(() => {
@@ -244,7 +246,7 @@ const Component = () => {
244
246
  (file) =>
245
247
  `${file.file.name}: ${file.errors.map((error) => error.message).join(', ')}`,
246
248
  );
247
- setUploadData((prev) => ({ ...prev, state: UploadState.Error, errors }));
249
+ setUploadData((prev) => ({ ...prev, errors, state: UploadState.Error }));
248
250
  },
249
251
  [],
250
252
  );
@@ -253,8 +255,8 @@ const Component = () => {
253
255
  console.error('Dropzone error:', error);
254
256
  setUploadData((prev) => ({
255
257
  ...prev,
256
- state: UploadState.Error,
257
258
  errors: [error.message],
259
+ state: UploadState.Error,
258
260
  }));
259
261
  }, []);
260
262
 
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # FilledButton
2
4
 
3
5
  Import: `import { FilledButton } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Flex
2
4
 
3
5
  Import: `import { Flex } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # GraphLabel
2
4
 
3
5
  Import: `import { GraphLabel } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # IconButtonArrayComponent
2
4
 
3
5
  Import: `import { IconButtonArrayComponent } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # IconButton
2
4
 
3
5
  Import: `import { IconButton } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # InlineEdit
2
4
 
3
5
  Import: `import { InlineEdit } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Kbd
2
4
 
3
5
  Import: `import { Kbd } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # LoadingBar
2
4
 
3
5
  Import: `import { LoadingBar } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # LoadingSpinner
2
4
 
3
5
  Import: `import { LoadingSpinner } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Logo
2
4
 
3
5
  Import: `import { Logo } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Menu
2
4
 
3
5
  Import: `import { Menu } from '@neo4j-ndl/react'`
@@ -1,3 +1,5 @@
1
+ [//]: # (This file is auto-generated by the docs:generate-skills script, do not edit it manually)
2
+
1
3
  # Modal
2
4
 
3
5
  Import: `import { Modal } from '@neo4j-ndl/react'`