@neo4j-ndl/react 4.16.7 → 4.16.9

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 (109) hide show
  1. package/lib/cjs/color-picker/ColorPicker.js +3 -1
  2. package/lib/cjs/color-picker/ColorPicker.js.map +1 -1
  3. package/lib/cjs/color-picker/stories/color-picker-dialog.story.js +40 -0
  4. package/lib/cjs/color-picker/stories/color-picker-dialog.story.js.map +1 -0
  5. package/lib/cjs/color-picker/stories/color-picker-popover.story.js +32 -0
  6. package/lib/cjs/color-picker/stories/color-picker-popover.story.js.map +1 -0
  7. package/lib/cjs/color-picker/stories/index.js +9 -1
  8. package/lib/cjs/color-picker/stories/index.js.map +1 -1
  9. package/lib/cjs/popover/use-popover.js +1 -1
  10. package/lib/cjs/popover/use-popover.js.map +1 -1
  11. package/lib/cjs/select/Select.js +2 -0
  12. package/lib/cjs/select/Select.js.map +1 -1
  13. package/lib/esm/color-picker/ColorPicker.js +3 -1
  14. package/lib/esm/color-picker/ColorPicker.js.map +1 -1
  15. package/lib/esm/color-picker/stories/color-picker-dialog.story.js +38 -0
  16. package/lib/esm/color-picker/stories/color-picker-dialog.story.js.map +1 -0
  17. package/lib/esm/color-picker/stories/color-picker-popover.story.js +30 -0
  18. package/lib/esm/color-picker/stories/color-picker-popover.story.js.map +1 -0
  19. package/lib/esm/color-picker/stories/index.js +6 -0
  20. package/lib/esm/color-picker/stories/index.js.map +1 -1
  21. package/lib/esm/popover/use-popover.js +1 -1
  22. package/lib/esm/popover/use-popover.js.map +1 -1
  23. package/lib/esm/select/Select.js +2 -0
  24. package/lib/esm/select/Select.js.map +1 -1
  25. package/lib/types/color-picker/ColorPicker.d.ts +4 -0
  26. package/lib/types/color-picker/ColorPicker.d.ts.map +1 -1
  27. package/lib/types/color-picker/stories/color-picker-dialog.story.d.ts +24 -0
  28. package/lib/types/color-picker/stories/color-picker-dialog.story.d.ts.map +1 -0
  29. package/lib/types/color-picker/stories/color-picker-popover.story.d.ts +24 -0
  30. package/lib/types/color-picker/stories/color-picker-popover.story.d.ts.map +1 -0
  31. package/lib/types/color-picker/stories/index.d.ts +4 -0
  32. package/lib/types/color-picker/stories/index.d.ts.map +1 -1
  33. package/lib/types/select/Select.d.ts.map +1 -1
  34. package/package.json +5 -2
  35. package/skills/ndl-react/SKILL.md +152 -0
  36. package/skills/ndl-react/components/accordion.md +386 -0
  37. package/skills/ndl-react/components/ai/code-preview.md +128 -0
  38. package/skills/ndl-react/components/ai/file-tag.md +90 -0
  39. package/skills/ndl-react/components/ai/image-tag.md +91 -0
  40. package/skills/ndl-react/components/ai/more-files.md +73 -0
  41. package/skills/ndl-react/components/ai/presence.md +54 -0
  42. package/skills/ndl-react/components/ai/preview.md +498 -0
  43. package/skills/ndl-react/components/ai/prompt.md +362 -0
  44. package/skills/ndl-react/components/ai/reasoning.md +95 -0
  45. package/skills/ndl-react/components/ai/response.md +1109 -0
  46. package/skills/ndl-react/components/ai/suggestion.md +84 -0
  47. package/skills/ndl-react/components/ai/thinking.md +43 -0
  48. package/skills/ndl-react/components/ai/tool-call.md +43 -0
  49. package/skills/ndl-react/components/ai/user-bubble.md +187 -0
  50. package/skills/ndl-react/components/avatar.md +169 -0
  51. package/skills/ndl-react/components/banner.md +225 -0
  52. package/skills/ndl-react/components/box.md +39 -0
  53. package/skills/ndl-react/components/breadcrumbs.md +245 -0
  54. package/skills/ndl-react/components/checkbox.md +269 -0
  55. package/skills/ndl-react/components/clean-icon-button.md +294 -0
  56. package/skills/ndl-react/components/clipboard-button.md +154 -0
  57. package/skills/ndl-react/components/code-block.md +276 -0
  58. package/skills/ndl-react/components/code.md +68 -0
  59. package/skills/ndl-react/components/color-picker.md +131 -0
  60. package/skills/ndl-react/components/conditional-wrap.md +46 -0
  61. package/skills/ndl-react/components/data-grid.md +3121 -0
  62. package/skills/ndl-react/components/date-picker.md +652 -0
  63. package/skills/ndl-react/components/dialog.md +485 -0
  64. package/skills/ndl-react/components/dismissible-tag.md +136 -0
  65. package/skills/ndl-react/components/divider.md +96 -0
  66. package/skills/ndl-react/components/drawer.md +543 -0
  67. package/skills/ndl-react/components/dropdown-button.md +161 -0
  68. package/skills/ndl-react/components/dropzone.md +371 -0
  69. package/skills/ndl-react/components/filled-button.md +26 -0
  70. package/skills/ndl-react/components/flex.md +82 -0
  71. package/skills/ndl-react/components/graph-label.md +167 -0
  72. package/skills/ndl-react/components/icon-button-array.md +187 -0
  73. package/skills/ndl-react/components/icon-button.md +193 -0
  74. package/skills/ndl-react/components/inline-edit.md +209 -0
  75. package/skills/ndl-react/components/kbd.md +63 -0
  76. package/skills/ndl-react/components/loading-bar.md +43 -0
  77. package/skills/ndl-react/components/loading-spinner.md +57 -0
  78. package/skills/ndl-react/components/logo.md +57 -0
  79. package/skills/ndl-react/components/menu.md +993 -0
  80. package/skills/ndl-react/components/modal.md +27 -0
  81. package/skills/ndl-react/components/next/tree-view.md +966 -0
  82. package/skills/ndl-react/components/outlined-button.md +26 -0
  83. package/skills/ndl-react/components/popover.md +283 -0
  84. package/skills/ndl-react/components/progress-bar.md +70 -0
  85. package/skills/ndl-react/components/radio.md +150 -0
  86. package/skills/ndl-react/components/read-only-tag.md +96 -0
  87. package/skills/ndl-react/components/segmented-control.md +200 -0
  88. package/skills/ndl-react/components/select-icon-button.md +183 -0
  89. package/skills/ndl-react/components/select.md +530 -0
  90. package/skills/ndl-react/components/selectable-tag.md +203 -0
  91. package/skills/ndl-react/components/side-navigation.md +652 -0
  92. package/skills/ndl-react/components/skeleton.md +274 -0
  93. package/skills/ndl-react/components/slider.md +308 -0
  94. package/skills/ndl-react/components/spotlight.md +796 -0
  95. package/skills/ndl-react/components/status-indicator.md +57 -0
  96. package/skills/ndl-react/components/status-label.md +132 -0
  97. package/skills/ndl-react/components/switch.md +167 -0
  98. package/skills/ndl-react/components/tabs.md +433 -0
  99. package/skills/ndl-react/components/tag.md +91 -0
  100. package/skills/ndl-react/components/text-area.md +178 -0
  101. package/skills/ndl-react/components/text-button.md +25 -0
  102. package/skills/ndl-react/components/text-input.md +475 -0
  103. package/skills/ndl-react/components/text-link.md +119 -0
  104. package/skills/ndl-react/components/time-picker.md +137 -0
  105. package/skills/ndl-react/components/timezone-picker.md +496 -0
  106. package/skills/ndl-react/components/tooltip.md +478 -0
  107. package/skills/ndl-react/components/tree-view.md +545 -0
  108. package/skills/ndl-react/components/typography.md +72 -0
  109. package/skills/ndl-react/components/wizard.md +152 -0
@@ -0,0 +1,203 @@
1
+ # SelectableTag
2
+
3
+ Import: `import { SelectableTag } from '@neo4j-ndl/react'`
4
+
5
+ ## Props
6
+
7
+ ### SelectableTag
8
+
9
+ | Prop | Type | Required | Default | Description |
10
+ |------|------|----------|---------|-------------|
11
+ | `badgeCount` | `number` | | | Number displayed in a badge after the content |
12
+ | `children` | `ReactNode` | | | The content of the tag |
13
+ | `isDisabled` | `boolean` | | `false` | Whether the tag is disabled |
14
+ | `isSelected` | `boolean` | ✅ | | Whether the tag is selected |
15
+ | `leadingVisual` | `ReactNode` | | | Icon to display before the content |
16
+ | `onClick` | `MouseEventHandler<HTMLButtonElement>` | ✅ | | Callback fired when the tag is clicked |
17
+ | `ref` | `Ref<HTMLButtonElement>` | | | A ref to apply to the root element. |
18
+ | `size` | `'large' \| 'medium' \| 'small' \| 'x-small'` | | `medium` | Size of the tag |
19
+
20
+ ## Examples
21
+
22
+ ### Default
23
+
24
+ ```tsx
25
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
26
+
27
+ import { SelectableTag } from '@neo4j-ndl/react';
28
+ import { useState } from 'react';
29
+
30
+ const Component = () => {
31
+ const [isSelected, setIsSelected] = useState(false);
32
+
33
+ return (
34
+ <SelectableTag
35
+ isSelected={isSelected}
36
+ onClick={() => setIsSelected(!isSelected)}
37
+ >
38
+ Selectable Tag
39
+ </SelectableTag>
40
+ );
41
+ };
42
+
43
+ export default Component;
44
+ ```
45
+
46
+ ### Disabled
47
+
48
+ ```tsx
49
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
50
+
51
+ import { SelectableTag } from '@neo4j-ndl/react';
52
+
53
+ const Component = () => {
54
+ return (
55
+ <div className="n-flex n-gap-token-8 n-items-center">
56
+ <SelectableTag isSelected={false} isDisabled onClick={() => null}>
57
+ Disabled unselected tag
58
+ </SelectableTag>
59
+ <SelectableTag isSelected={true} isDisabled onClick={() => null}>
60
+ Disabled selected tag
61
+ </SelectableTag>
62
+ </div>
63
+ );
64
+ };
65
+
66
+ export default Component;
67
+ ```
68
+
69
+ ### Sizes
70
+
71
+ ```tsx
72
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
73
+
74
+ import { SelectableTag } from '@neo4j-ndl/react';
75
+ import { useState } from 'react';
76
+
77
+ const Component = () => {
78
+ const [selected, setSelected] = useState<Record<string, boolean>>({});
79
+
80
+ return (
81
+ <div className="n-flex n-flex-row n-gap-token-8">
82
+ <SelectableTag
83
+ size="x-small"
84
+ isSelected={selected['x-small'] ?? false}
85
+ onClick={() =>
86
+ setSelected((s) => ({ ...s, ['x-small']: !s['x-small'] }))
87
+ }
88
+ >
89
+ X-Small
90
+ </SelectableTag>
91
+ <SelectableTag
92
+ size="small"
93
+ isSelected={selected['small'] ?? false}
94
+ onClick={() => setSelected((s) => ({ ...s, ['small']: !s['small'] }))}
95
+ >
96
+ Small
97
+ </SelectableTag>
98
+ <SelectableTag
99
+ size="medium"
100
+ isSelected={selected['medium'] ?? false}
101
+ onClick={() => setSelected((s) => ({ ...s, ['medium']: !s['medium'] }))}
102
+ >
103
+ Medium
104
+ </SelectableTag>
105
+ <SelectableTag
106
+ size="large"
107
+ isSelected={selected['large'] ?? false}
108
+ onClick={() => setSelected((s) => ({ ...s, ['large']: !s['large'] }))}
109
+ >
110
+ Large
111
+ </SelectableTag>
112
+ </div>
113
+ );
114
+ };
115
+
116
+ export default Component;
117
+ ```
118
+
119
+ ### Truncation
120
+
121
+ ```tsx
122
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
123
+
124
+ import { SelectableTag, Tooltip } from '@neo4j-ndl/react';
125
+ import { useState } from 'react';
126
+
127
+ const label =
128
+ 'This is a very very very long tag label that should be truncated';
129
+
130
+ const Component = () => {
131
+ const [isSelected, setIsSelected] = useState(false);
132
+
133
+ return (
134
+ <div style={{ maxWidth: 200 }}>
135
+ <Tooltip type="simple">
136
+ <Tooltip.Trigger hasButtonWrapper>
137
+ <SelectableTag
138
+ isSelected={isSelected}
139
+ onClick={() => setIsSelected(!isSelected)}
140
+ badgeCount={8}
141
+ >
142
+ {label}
143
+ </SelectableTag>
144
+ </Tooltip.Trigger>
145
+ <Tooltip.Content>{label}</Tooltip.Content>
146
+ </Tooltip>
147
+ </div>
148
+ );
149
+ };
150
+
151
+ export default Component;
152
+ ```
153
+
154
+ ### With Badge
155
+
156
+ ```tsx
157
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
158
+
159
+ import { SelectableTag } from '@neo4j-ndl/react';
160
+ import { useState } from 'react';
161
+
162
+ const Component = () => {
163
+ const [isSelected, setIsSelected] = useState(false);
164
+
165
+ return (
166
+ <SelectableTag
167
+ badgeCount={8}
168
+ isSelected={isSelected}
169
+ onClick={() => setIsSelected(!isSelected)}
170
+ >
171
+ Selectable Tag with badge
172
+ </SelectableTag>
173
+ );
174
+ };
175
+
176
+ export default Component;
177
+ ```
178
+
179
+ ### With Leading Icon
180
+
181
+ ```tsx
182
+ import '@neo4j-ndl/base/lib/neo4j-ds-styles.css';
183
+
184
+ import { SelectableTag } from '@neo4j-ndl/react';
185
+ import { DatabasePlusIcon } from '@neo4j-ndl/react/icons';
186
+ import { useState } from 'react';
187
+
188
+ const Component = () => {
189
+ const [isSelected, setIsSelected] = useState(false);
190
+
191
+ return (
192
+ <SelectableTag
193
+ isSelected={isSelected}
194
+ leadingVisual={<DatabasePlusIcon />}
195
+ onClick={() => setIsSelected(!isSelected)}
196
+ >
197
+ Selectable Tag with leading icon
198
+ </SelectableTag>
199
+ );
200
+ };
201
+
202
+ export default Component;
203
+ ```