@bioturing/components 0.15.5 → 0.17.0

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 (144) hide show
  1. package/dist/components/Badge/component.js +9 -17
  2. package/dist/components/Badge/component.js.map +1 -1
  3. package/dist/components/Breadcrumb/component.js +4 -3
  4. package/dist/components/Breadcrumb/component.js.map +1 -1
  5. package/dist/components/Button/component.js +30 -3
  6. package/dist/components/Button/component.js.map +1 -1
  7. package/dist/components/Button/style.css +1 -1
  8. package/dist/components/CodeBlock/component.js +7 -6
  9. package/dist/components/CodeBlock/component.js.map +1 -1
  10. package/dist/components/CodeBlock/style.css +1 -1
  11. package/dist/components/Collapse/component.js +11 -10
  12. package/dist/components/Collapse/component.js.map +1 -1
  13. package/dist/components/ColorSelect/component.js +138 -0
  14. package/dist/components/ColorSelect/component.js.map +1 -0
  15. package/dist/components/ColorSelect/style.css +1 -0
  16. package/dist/components/DSRoot/component.js +8 -7
  17. package/dist/components/DSRoot/component.js.map +1 -1
  18. package/dist/components/DSRoot/context.js +5 -4
  19. package/dist/components/DSRoot/context.js.map +1 -1
  20. package/dist/components/DragDrop/context.js +18 -0
  21. package/dist/components/DragDrop/context.js.map +1 -0
  22. package/dist/components/DragDrop/draggable.js +64 -0
  23. package/dist/components/DragDrop/draggable.js.map +1 -0
  24. package/dist/components/DragDrop/droppable.js +48 -0
  25. package/dist/components/DragDrop/droppable.js.map +1 -0
  26. package/dist/components/DragDrop/hooks.js +139 -0
  27. package/dist/components/DragDrop/hooks.js.map +1 -0
  28. package/dist/components/DragDrop/index.js +45 -0
  29. package/dist/components/DragDrop/index.js.map +1 -0
  30. package/dist/components/DragDrop/style.css +1 -0
  31. package/dist/components/DropdownMenu/component.js +1 -0
  32. package/dist/components/DropdownMenu/component.js.map +1 -1
  33. package/dist/components/Field/component.js +13 -12
  34. package/dist/components/Field/component.js.map +1 -1
  35. package/dist/components/Form/component.js +4 -3
  36. package/dist/components/Form/component.js.map +1 -1
  37. package/dist/components/Form/item.js +1 -0
  38. package/dist/components/Form/item.js.map +1 -1
  39. package/dist/components/IconButton/component.js +55 -43
  40. package/dist/components/IconButton/component.js.map +1 -1
  41. package/dist/components/IconButton/style.css +1 -1
  42. package/dist/components/Modal/Modal.js +1 -0
  43. package/dist/components/Modal/Modal.js.map +1 -1
  44. package/dist/components/Modal/ModalProvider.js +1 -0
  45. package/dist/components/Modal/ModalProvider.js.map +1 -1
  46. package/dist/components/Modal/index.js +11 -10
  47. package/dist/components/Modal/index.js.map +1 -1
  48. package/dist/components/Nav/context.js +7 -0
  49. package/dist/components/Nav/context.js.map +1 -0
  50. package/dist/components/Nav/group.js +16 -0
  51. package/dist/components/Nav/group.js.map +1 -0
  52. package/dist/components/Nav/heading.js +16 -0
  53. package/dist/components/Nav/heading.js.map +1 -0
  54. package/dist/components/Nav/index.js +13 -0
  55. package/dist/components/Nav/index.js.map +1 -0
  56. package/dist/components/Nav/item.js +36 -0
  57. package/dist/components/Nav/item.js.map +1 -0
  58. package/dist/components/Nav/style.css +1 -0
  59. package/dist/components/Popover/component.js +6 -5
  60. package/dist/components/Popover/component.js.map +1 -1
  61. package/dist/components/PopupPanel/component.js +100 -99
  62. package/dist/components/PopupPanel/component.js.map +1 -1
  63. package/dist/components/ScrollArea/component.js +10 -9
  64. package/dist/components/ScrollArea/component.js.map +1 -1
  65. package/dist/components/Slider/component.js +9 -8
  66. package/dist/components/Slider/component.js.map +1 -1
  67. package/dist/components/Splitter/component.js +12 -11
  68. package/dist/components/Splitter/component.js.map +1 -1
  69. package/dist/components/Stack/Stack.js +40 -34
  70. package/dist/components/Stack/Stack.js.map +1 -1
  71. package/dist/components/Stack/StackChild.js +62 -54
  72. package/dist/components/Stack/StackChild.js.map +1 -1
  73. package/dist/components/Stack/style.css +1 -1
  74. package/dist/components/Table/component.js +54 -50
  75. package/dist/components/Table/component.js.map +1 -1
  76. package/dist/components/Table/style.css +1 -1
  77. package/dist/components/Tag/component.js +60 -24
  78. package/dist/components/Tag/component.js.map +1 -1
  79. package/dist/components/Tag/style.css +1 -1
  80. package/dist/components/ThemeProvider/component.js +27 -26
  81. package/dist/components/ThemeProvider/component.js.map +1 -1
  82. package/dist/components/ThemeProvider/style.css +1 -1
  83. package/dist/components/Toast/component.js +24 -29
  84. package/dist/components/Toast/component.js.map +1 -1
  85. package/dist/components/Toast/function.js +5 -4
  86. package/dist/components/Toast/function.js.map +1 -1
  87. package/dist/components/Tooltip/component.js +4 -21
  88. package/dist/components/Tooltip/component.js.map +1 -1
  89. package/dist/components/Tour/component.js +5 -4
  90. package/dist/components/Tour/component.js.map +1 -1
  91. package/dist/components/Transition/component.js +45 -32
  92. package/dist/components/Transition/component.js.map +1 -1
  93. package/dist/components/Tree/components.js +9 -8
  94. package/dist/components/Tree/components.js.map +1 -1
  95. package/dist/components/Tree/helpers.js +1 -0
  96. package/dist/components/Tree/helpers.js.map +1 -1
  97. package/dist/components/Tree/useTreeCommon.js +12 -11
  98. package/dist/components/Tree/useTreeCommon.js.map +1 -1
  99. package/dist/components/Truncate/component.js +1 -0
  100. package/dist/components/Truncate/component.js.map +1 -1
  101. package/dist/components/Upload/component.js +13 -11
  102. package/dist/components/Upload/component.js.map +1 -1
  103. package/dist/components/Upload/dragger.js +3 -2
  104. package/dist/components/Upload/dragger.js.map +1 -1
  105. package/dist/components/Upload/hooks.js +3 -2
  106. package/dist/components/Upload/hooks.js.map +1 -1
  107. package/dist/components/Upload/style.css +1 -0
  108. package/dist/components/VerticalCollapsiblePanel/component.js +39 -36
  109. package/dist/components/VerticalCollapsiblePanel/component.js.map +1 -1
  110. package/dist/components/hooks/antd.js +4 -3
  111. package/dist/components/hooks/antd.js.map +1 -1
  112. package/dist/components/hooks/base-ui.js +34 -28
  113. package/dist/components/hooks/base-ui.js.map +1 -1
  114. package/dist/components/hooks/useCharts.js +19 -17
  115. package/dist/components/hooks/useCharts.js.map +1 -1
  116. package/dist/components/hooks/useControlledState.js +17 -9
  117. package/dist/components/hooks/useControlledState.js.map +1 -1
  118. package/dist/components/utils/WithAntdTokens.js +14 -13
  119. package/dist/components/utils/WithAntdTokens.js.map +1 -1
  120. package/dist/components/utils/antdUtils.js +1 -0
  121. package/dist/components/utils/antdUtils.js.map +1 -1
  122. package/dist/components/utils/colors.js +5 -0
  123. package/dist/components/utils/colors.js.map +1 -0
  124. package/dist/index.d.ts +819 -65
  125. package/dist/index.js +191 -159
  126. package/dist/index.js.map +1 -1
  127. package/dist/metadata.js +124 -92
  128. package/dist/metadata.js.map +1 -1
  129. package/dist/tailwind.css +1 -1
  130. package/dist/tokens/and-theme/tokens.js +13 -7
  131. package/dist/tokens/and-theme/tokens.js.map +1 -1
  132. package/dist/tokens/charts/{tokens.js → palettes/cloudscape.js} +22 -12
  133. package/dist/tokens/charts/palettes/cloudscape.js.map +1 -0
  134. package/dist/tokens/charts/palettes/colorbrewer.js +1525 -0
  135. package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -0
  136. package/dist/tokens/charts/palettes/index.js +61 -0
  137. package/dist/tokens/charts/palettes/index.js.map +1 -0
  138. package/dist/tokens/charts/palettes/tableau.js +112 -0
  139. package/dist/tokens/charts/palettes/tableau.js.map +1 -0
  140. package/dist/tokens/utils.js.map +1 -1
  141. package/package.json +7 -7
  142. package/dist/tokens/charts/index.js +0 -18
  143. package/dist/tokens/charts/index.js.map +0 -1
  144. package/dist/tokens/charts/tokens.js.map +0 -1
package/dist/metadata.js CHANGED
@@ -1,12 +1,26 @@
1
1
  const i = {
2
+ DragDrop: {
3
+ name: "DragDrop",
4
+ link: "/drag-drop",
5
+ base: "custom",
6
+ refinements: [
7
+ "Custom implementation for drag and drop functionality",
8
+ "Type-safe with TypeScript generics",
9
+ "Supports custom styling and rendering",
10
+ "Provides Draggable and Droppable subcomponents",
11
+ "Handles drag events with proper context management"
12
+ ],
13
+ category: "Data Entry",
14
+ description: "A component for creating drag and drop interfaces with customizable draggable items and drop zones."
15
+ },
2
16
  Badge: {
3
17
  name: "Badge",
4
18
  link: "/badge",
5
19
  base: "antd",
6
20
  refinements: [
7
- "Applies a BioTuring Design System specific CSS class 'ds-badge'.",
21
+ "Applies a BioTuring Design System specific CSS class `ds-badge`.",
8
22
  "Applies Ant Design's CSS variable class name to ensure proper theming context.",
9
- "Sets 'display: inline-flex;' on the 'ds-badge' class via './style.css' for consistent layout."
23
+ "Sets `display: inline-flex;` on the `ds-badge` class via `./style.css` for consistent layout."
10
24
  ],
11
25
  category: "Data Display",
12
26
  originalDocUrl: "https://ant.design/components/badge",
@@ -17,10 +31,10 @@ const i = {
17
31
  link: "/breadcrumb",
18
32
  base: "antd",
19
33
  refinements: [
20
- "Employs a custom 'useItemRender' hook to allow icons (from 'item.icon') to be rendered alongside the title within each breadcrumb link.",
21
- "Introduces a 'noWrap' boolean prop for responsive behavior: when true, breadcrumb items attempt to stay on a single line, with text overflow and ellipsis applied to truncatable items.",
22
- "Applies BioTuring Design System specific styling via './style.css' for layout (flexbox-based), item spacing, icon integration, and responsive truncation.",
23
- "Exports styled 'Breadcrumb.Item' and 'Breadcrumb.Separator' sub-components."
34
+ "Employs a custom `useItemRender` hook to allow icons (from `item.icon`) to be rendered alongside the title within each breadcrumb link.",
35
+ "Introduces a `noWrap` boolean prop for responsive behavior: when true, breadcrumb items attempt to stay on a single line, with text overflow and ellipsis applied to truncatable items.",
36
+ "Applies BioTuring Design System specific styling via `./style.css` for layout (flexbox-based), item spacing, icon integration, and responsive truncation.",
37
+ "Exports styled `Breadcrumb.Item` and `Breadcrumb.Separator` sub-components."
24
38
  ],
25
39
  category: "Navigation",
26
40
  originalDocUrl: "https://ant.design/components/breadcrumb",
@@ -49,7 +63,7 @@ const i = {
49
63
  link: "/code-block",
50
64
  base: "custom",
51
65
  refinements: [
52
- "Custom implementation for syntax highlighting using prism-react-renderer"
66
+ "Custom implementation for syntax highlighting using `prism-react-renderer`"
53
67
  ],
54
68
  category: "Data Display",
55
69
  packages: ["prism-react-renderer"],
@@ -80,21 +94,34 @@ const i = {
80
94
  originalDocUrl: "https://base-ui.com/react/components/menu",
81
95
  description: "A menu that appears when a user interacts with a button or other control."
82
96
  },
97
+ Nav: {
98
+ name: "Nav",
99
+ link: "/nav",
100
+ base: "custom",
101
+ refinements: [
102
+ "Supports icon and label via a render prop pattern",
103
+ "Manages hover state to reveal label when collapsed",
104
+ "Supports active and collapsed/expanded (currentPanel) states",
105
+ "Uses component-level CSS imports and custom transition classes"
106
+ ],
107
+ category: "Navigation",
108
+ description: "A navigation item with icon and label, supporting active highlighting and hover reveal."
109
+ },
83
110
  Empty: {
84
111
  name: "Empty",
85
112
  link: "/empty",
86
113
  base: "antd",
87
114
  refinements: [
88
- "Replaces the default Ant Design illustration with a custom SVG icon ('EmptyIcon') defined within the component.",
89
- "Introduces a 'size' prop ('small', 'medium', 'large', default 'medium') that controls the font-size of the custom 'EmptyIcon'.",
90
- "Applies specific font-sizes for the icon based on the 'size' prop (small: 2rem, medium: 3rem, large: 4rem) via 'style.css'.",
91
- "The 'small' size icon also has its color set to 'var(--ds-color-base-solid)'.",
92
- "Adjusts the Ant Design Empty image container height to 'auto' via 'style.css'.",
93
- "Applies BioTuring Design System specific styling and CSS classes (e.g., 'ds-empty', 'ds-empty-icon')."
115
+ "Replaces the default Ant Design illustration with a custom SVG icon (`EmptyIcon`) defined within the component.",
116
+ "Introduces a `size` prop (`small`, `medium`, `large`, default `medium`) that controls the font-size of the custom `EmptyIcon`.",
117
+ "Applies specific font-sizes for the icon based on the `size` prop (small: 2rem, medium: 3rem, large: 4rem) via `style.css`.",
118
+ "The `small` size icon also has its color set to `var(--ds-color-base-solid)`.",
119
+ "Adjusts the Ant Design Empty image container height to `auto` via `style.css`.",
120
+ "Applies BioTuring Design System specific styling and CSS classes (e.g., `ds-empty`, `ds-empty-icon`)."
94
121
  ],
95
122
  category: "Data Display",
96
123
  originalDocUrl: "https://ant.design/components/empty",
97
- description: "A placeholder for when there is no data to display."
124
+ description: "Displays a placeholder when content is empty or unavailable."
98
125
  },
99
126
  Field: {
100
127
  name: "Field",
@@ -149,37 +176,32 @@ const i = {
149
176
  link: "/modal",
150
177
  base: "antd",
151
178
  refinements: [
152
- "Added predefined sizes: 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'fullscreen'",
153
- "Introduced a general 'loading' state prop for the modal content",
154
- "Added 'hideOkButton' and 'hideCancelButton' props for straightforward visibility control of footer buttons",
155
- "Added 'contentPadding' prop for direct control over modal body padding",
156
- "Enhanced header customization with 'afterTitle', 'beforeCloseButton', and 'afterCloseButton' slots for additional elements or actions",
157
- "Implemented 'defaultFixedHeaderFooter' behavior: header and footer become fixed when content overflows (controlled by internal overflow detection)",
158
- "Changed 'centered' prop to default to 'true'",
159
- "Introduced 'type' prop ('default', 'info', 'success', 'error', 'warning') influencing default behaviors like size",
160
- "Added 'background' prop ('elevated', 'container') for explicit control over modal background style, with size-dependent defaults",
161
- "Uses a custom 'X' icon from '@bioturing/assets' as the default close button icon",
162
- "Provides 'bodyScrollable' prop (defaults to true) to manage content scroll behavior within the modal body"
179
+ "Added predefined sizes: `xsmall`, `small`, `medium`, `large`, `xlarge`, `xxlarge`, `fullscreen`",
180
+ "Introduced a general `loading` state prop for the modal content",
181
+ "Added `hideOkButton` and `hideCancelButton` props for straightforward visibility control of footer buttons",
182
+ "Added `contentPadding` prop for direct control over modal body padding",
183
+ "Enhanced header customization with `afterTitle`, `beforeCloseButton`, and `afterCloseButton` slots for additional elements or actions",
184
+ "Implemented `defaultFixedHeaderFooter` behavior: header and footer become fixed when content overflows (controlled by internal overflow detection)",
185
+ "Changed `centered` prop to default to `true`",
186
+ "Introduced `type` prop (`default`, `info`, `success`, `error`, `warning`) influencing default behaviors like size",
187
+ "Added `background` prop (`elevated`, `container`) for explicit control over modal background style, with size-dependent defaults",
188
+ "Uses a custom `X` icon from `@bioturing/assets` as the default close button icon",
189
+ "Provides `bodyScrollable` prop (defaults to true) to manage content scroll behavior within the modal body"
163
190
  ],
164
191
  category: "Overlay",
165
192
  originalDocUrl: "https://ant.design/components/modal",
166
- description: "A dialog box/popup window that is displayed on top of the current page."
193
+ description: "A modal dialog that appears in front of the app content to provide critical information or ask for a decision."
167
194
  },
168
195
  Popover: {
169
196
  name: "Popover",
170
197
  link: "/popover",
171
198
  base: "antd",
172
199
  // Retains AntD as 'base' because it aims for API compatibility
173
- refinements: [
174
- "Refactored to use @base-ui-components/react/popover internally",
175
- "Maintains Ant Design API compatibility",
176
- "Custom prop mapping for placement and trigger to align with Base UI Popover",
177
- "Combined title and content props into a single node for Base UI Popover's content area"
178
- ],
200
+ refinements: [],
179
201
  category: "Overlay",
180
202
  originalDocUrl: "https://ant.design/components/popover",
181
203
  // Original AntD doc for API reference
182
- description: "A small overlay that appears when a user interacts with an element, displaying additional information or actions."
204
+ description: "A floating card popped by clicking or hovering that displays additional information."
183
205
  },
184
206
  PopupPanel: {
185
207
  name: "PopupPanel",
@@ -209,23 +231,23 @@ const i = {
209
231
  link: "/scroll-area",
210
232
  base: "base-ui",
211
233
  refinements: [
212
- "Wraps '@base-ui-components/react/ScrollArea' to integrate with the BioTuring Design System.",
213
- "Provides consistent 'classNames' prop pattern for styling different parts (viewport, scrollbar, thumb).",
214
- "Applies specific BioTuring Design System CSS classes (e.g., 'ds-scroll-area', 'ds-scroll-area-viewport', 'ds-scroll-area-scrollbar', 'ds-scroll-area-thumb') to Base UI component parts.",
215
- "Provides extensive custom styling via './style.css' for the root, viewport (including 'focus-visible' styles), scrollbar (opacity transitions on hover/scroll, orientation-based dimensions), and thumb (custom border-radius, background, and border colors using design tokens)."
234
+ "Wraps `@base-ui-components/react/ScrollArea` to integrate with the BioTuring Design System.",
235
+ "Provides consistent `classNames` prop pattern for styling different parts (viewport, scrollbar, thumb).",
236
+ "Applies specific BioTuring Design System CSS classes (e.g., `ds-scroll-area`, `ds-scroll-area-viewport`, `ds-scroll-area-scrollbar`, `ds-scroll-area-thumb`) to Base UI component parts.",
237
+ "Provides extensive custom styling via `./style.css` for the root, viewport (including `focus-visible` styles), scrollbar (opacity transitions on hover/scroll, orientation-based dimensions), and thumb (custom border-radius, background, and border colors using design tokens)."
216
238
  ],
217
239
  category: "Layout",
218
240
  packages: ["@base-ui-components/react"],
219
241
  originalDocUrl: "https://base-ui.com/react/components/scroll-area",
220
- description: "Provides a customizable scrollable container for content that exceeds its bounds."
242
+ description: "A scrollable container with custom scrollbars that blend with the design system."
221
243
  },
222
244
  Segmented: {
223
245
  name: "Segmented",
224
246
  link: "/segmented",
225
247
  base: "antd",
226
248
  refinements: [
227
- "Structured as a typed 'forwardRef' wrapper around the Ant Design Segmented component for type safety and consistency.",
228
- "Applies custom styles via './style.css' to ensure proper alignment and sizing of item labels and icons within the segmented control (e.g., flex centering for labels and icons, default icon size)."
249
+ "Structured as a typed `forwardRef` wrapper around the Ant Design Segmented component for type safety and consistency.",
250
+ "Applies custom styles via `./style.css` to ensure proper alignment and sizing of item labels and icons within the segmented control (e.g., flex centering for labels and icons, default icon size)."
229
251
  ],
230
252
  category: "Data Entry",
231
253
  originalDocUrl: "https://ant.design/components/segmented",
@@ -236,24 +258,24 @@ const i = {
236
258
  link: "/select",
237
259
  base: "antd",
238
260
  refinements: [
239
- "Introduced 'enhancePositioner' prop: Utilizes '@floating-ui/react' for robust dropdown positioning, allowing it to break out of overflow containers and intelligently place itself.",
240
- "Added 'popupSize' prop (works with 'enhancePositioner'): Controls the dropdown width with predefined sizes (e.g., 'small', 'medium', 'large'), pixel values, or 'fit-content'.",
241
- "Replaced default suffix icon with a custom 'CaretDown' icon from '@bioturing/assets'.",
242
- "Customized multiple selection mode: Uses Ant Design 'Checkbox' components for indicating selected items in the dropdown.",
243
- "Applied specific BioTuring Design System styling and CSS classes, including enhanced popup styles when 'enhancePositioner' is active."
261
+ "Introduced `enhancePositioner` prop: Utilizes `@floating-ui/react` for robust dropdown positioning, allowing it to break out of overflow containers and intelligently place itself.",
262
+ "Added `popupSize` prop (works with `enhancePositioner`): Controls the dropdown width with predefined sizes (e.g., `small`, `medium`, `large`), pixel values, or `fit-content`.",
263
+ "Replaced default suffix icon with a custom `CaretDown` icon from `@bioturing/assets`.",
264
+ "Customized multiple selection mode: Uses Ant Design `Checkbox` components for indicating selected items in the dropdown.",
265
+ "Applied specific BioTuring Design System styling and CSS classes, including enhanced popup styles when `enhancePositioner` is active."
244
266
  ],
245
267
  category: "Data Entry",
246
268
  packages: ["@floating-ui/react", "rc-select"],
247
269
  originalDocUrl: "https://ant.design/components/select",
248
- description: "Allows users to select one or more options from a dropdown list."
270
+ description: "A dropdown selection component for selecting values from a list of options."
249
271
  },
250
272
  Slider: {
251
273
  name: "Slider",
252
274
  link: "/slider",
253
275
  base: "antd",
254
276
  refinements: [
255
- "Applies a BioTuring Design System specific CSS class 'ds-slider'.",
256
- "Modifies the default behavior of the slider's tooltip by setting 'tooltip.arrow' to 'false' by default (Ant Design's default is true)."
277
+ "Applies a BioTuring Design System specific CSS class `ds-slider`.",
278
+ "Modifies the default behavior of the slider's tooltip by setting `tooltip.arrow` to `false` by default (Ant Design's default is true)."
257
279
  ],
258
280
  category: "Data Entry",
259
281
  originalDocUrl: "https://ant.design/components/slider",
@@ -297,44 +319,54 @@ const i = {
297
319
  link: "/switch",
298
320
  base: "antd",
299
321
  refinements: [
300
- "Structured as a typed 'forwardRef' wrapper around Ant Design's Switch component.",
301
- "Applies custom CSS to ensure 'checkedChildren' and 'unCheckedChildren' (e.g., icons, text) are properly centered within the switch handle."
322
+ "Structured as a typed `forwardRef` wrapper around Ant Design's Switch component.",
323
+ "Applies custom CSS to ensure `checkedChildren` and `unCheckedChildren` (e.g., icons, text) are properly centered within the switch handle."
302
324
  ],
303
325
  category: "Data Entry",
304
326
  originalDocUrl: "https://ant.design/components/switch",
305
- description: "A toggle control that allows users to switch between two states, typically on or off."
327
+ description: "A toggle switch for changing between two states, typically on or off."
306
328
  },
307
329
  Table: {
308
330
  name: "Table",
309
331
  link: "/table",
310
332
  base: "antd",
311
333
  refinements: [
312
- "Replaces default sort icons with custom 'CaretUp' and 'CaretDown' icons from '@bioturing/assets'. Displays both when inactive, and a filled version of the active one.",
313
- "Replaces default filter icon with a custom 'Funnel' icon (filled) from '@bioturing/assets'.",
314
- "Overrides 'locale.emptyText' to use the BioTuring 'Empty' component.",
315
- "Adds an 'emptyDescription' prop to customize the message displayed by the 'Empty' component when the table is empty.",
316
- "Uses a custom CSS-based loading indicator ('spin-loader') when the 'loading' prop is active.",
317
- "Defaults 'scroll.x' to 'fit-content' to optimize horizontal scrolling behavior.",
318
- "Applies BioTuring Design System specific styling via './style.css' for overall table appearance, including headers, rows, borders, and hover effects."
334
+ "Applies BioTuring Design System specific styling via `./style.css`.",
335
+ "Enhances the default Ant Design Table with additional features."
319
336
  ],
320
337
  category: "Data Display",
321
- packages: ["rc-table"],
322
338
  originalDocUrl: "https://ant.design/components/table",
323
- description: "Displays data in a structured, tabular format."
339
+ description: "A table displays rows of data, supporting features like sorting, filtering, and pagination."
324
340
  },
325
341
  Tag: {
326
342
  name: "Tag",
327
343
  link: "/tag",
328
344
  base: "antd",
329
345
  refinements: [
330
- "Defaults to using the 'X' icon (bold) from '@bioturing/assets' as the 'closeIcon' if the tag is 'closable' and no custom icon is provided.",
331
- "Introduces an 'active' boolean prop (defaults to false).",
332
- "When 'active={true}', applies specific styling (background, border, text color using '--ds-color-primary' tokens) via a 'data-active' attribute and 'style.css'.",
333
- "Applies BioTuring Design System specific styling via './style.css', including base styles for alignment and consistent close icon coloring ('--ds-color-icon')."
346
+ "Defaults to using the `X` icon (bold) from `@bioturing/assets` as the `closeIcon` if the tag is `closable` and no custom icon is provided.",
347
+ "Introduces an `active` boolean prop (defaults to false).",
348
+ "When `active={true}`, applies specific styling (background, border, text color using `--ds-color-primary` tokens) via a `data-active` attribute and `style.css`.",
349
+ "Applies BioTuring Design System specific styling via `./style.css`, including base styles for alignment and consistent close icon coloring (`--ds-color-icon`).",
350
+ "Introduces a `size` prop with options `small`, `medium`, and `large` to control tag dimensions."
334
351
  ],
335
352
  category: "Data Display",
336
353
  originalDocUrl: "https://ant.design/components/tag",
337
- description: "Used for marking or categorizing items with small labels."
354
+ description: "Small UI elements for categorization, filtering, or highlighting items."
355
+ },
356
+ ColorSelect: {
357
+ name: "ColorSelect",
358
+ link: "/color-select",
359
+ base: "antd",
360
+ refinements: [
361
+ "Combines Ant Design `ColorPicker` with a `Select`-like input for color selection.",
362
+ "Supports preset colors via the `presetColors` prop and freeform hex input.",
363
+ "Displays selected colors as closable `Tag`s with color swatches.",
364
+ "Provides controlled/uncontrolled APIs (`value`/`defaultValue`, `open`/`defaultOpen`).",
365
+ "Emits a `toast` notification on invalid color entries.",
366
+ "Uses `Stack` for layout and `style.css` for BioTuring styling."
367
+ ],
368
+ category: "Data Entry",
369
+ description: "A combined color picker and selector allowing preset and custom color selection with tag display."
338
370
  },
339
371
  ThemeProvider: {
340
372
  name: "ThemeProvider",
@@ -365,38 +397,38 @@ const i = {
365
397
  link: "/tooltip",
366
398
  base: "antd",
367
399
  refinements: [
368
- "Defaults the 'arrow' prop to 'false', hiding the tooltip arrow by default (Ant Design's default shows an arrow).",
369
- "Applies a BioTuring Design System specific CSS class 'ds-tooltip'.",
370
- "Custom CSS sets 'min-height: auto;' for the inner content, allowing tooltips to be shorter than Ant Design's default minimum height."
400
+ "Defaults the `arrow` prop to `false`, hiding the tooltip arrow by default (Ant Design's default shows an arrow).",
401
+ "Applies a BioTuring Design System specific CSS class `ds-tooltip`.",
402
+ "Custom CSS sets `min-height: auto;` for the inner content, allowing tooltips to be shorter than Ant Design's default minimum height."
371
403
  ],
372
404
  category: "Overlay",
373
405
  originalDocUrl: "https://ant.design/components/tooltip",
374
- description: "A small pop-up that displays information when a user hovers over or focuses on an element."
406
+ description: "A simple text popup tip that appears when a user hovers over an element."
375
407
  },
376
408
  Tour: {
377
409
  name: "Tour",
378
410
  link: "/tour",
379
411
  base: "antd",
380
412
  refinements: [
381
- "Provides a custom default rendering for step indicators ('indicatorsRender') if none is supplied. This includes a 'current / total' text and visual dots for steps.",
382
- "Applies BioTuring Design System specific CSS classes (e.g., 'ds-tour') for extensive styling.",
413
+ "Provides a custom default rendering for step indicators (`indicatorsRender`) if none is supplied. This includes a `current / total` text and visual dots for steps.",
414
+ "Applies BioTuring Design System specific CSS classes (e.g., `ds-tour`) for extensive styling.",
383
415
  "Customizes typography for title, description, and indicator text using design system tokens.",
384
416
  "Adjusts layout and spacing for header, footer, and content within the tour description (paragraphs, lists, icons).",
385
417
  "Includes specific styling for the appearance of the custom default indicators (wrapper, summary text, active/inactive dots)."
386
418
  ],
387
419
  category: "Feedback",
388
420
  originalDocUrl: "https://ant.design/components/tour",
389
- description: "Guides users through new features or UI elements in a step-by-step manner."
421
+ description: "A guided tour interface that leads users through specific features of an application."
390
422
  },
391
423
  Transition: {
392
424
  name: "Transition",
393
425
  link: "/transition",
394
426
  base: "base-ui",
395
427
  refinements: [
396
- "Wraps Base UI utilities (e.g., 'useTransitionStatus', 'useRender') and custom hooks (e.g., 'useAnimationsFinished') to manage element enter/leave transitions.",
397
- "Accepts 'starting' and 'ending' props, which can be CSS class strings (for Tailwind) or style objects, to define transition states.",
398
- "Dynamically applies 'starting'/'ending' styles and sets 'data-starting'/'data-ending' attributes on the child element based on transition phase.",
399
- "Manages mounting/unmounting of children post-animation, with a 'keepMounted' option, using a custom 'useAnimationsFinished' hook.",
428
+ "Wraps Base UI utilities (e.g., `useTransitionStatus`, `useRender`) and custom hooks (e.g., `useAnimationsFinished`) to manage element enter/leave transitions.",
429
+ "Accepts `starting` and `ending` props, which can be CSS class strings (for Tailwind) or style objects, to define transition states.",
430
+ "Dynamically applies `starting`/`ending` styles and sets `data-starting`/`data-ending` attributes on the child element based on transition phase.",
431
+ "Manages mounting/unmounting of children post-animation, with a `keepMounted` option, using a custom `useAnimationsFinished` hook.",
400
432
  "Provides a declarative API for CSS-based transitions."
401
433
  ],
402
434
  category: "Utility",
@@ -452,13 +484,13 @@ const i = {
452
484
  link: "/upload",
453
485
  base: "antd",
454
486
  refinements: [
455
- "Defaults to a custom 'itemRender' function that utilizes a bespoke 'UploadItem' component for the file list.",
456
- "'UploadItem' component features: file type icon, middle-truncated file name (using Truncate component), progress bar with status mapping, and a remove button.",
457
- "Added 'showRemoveButton' prop (defaults to true) on the 'Upload' component to control visibility of the remove action in 'UploadItem'.",
458
- "'UploadItem' includes a slot for 'extraActions' allowing additional custom controls per file.",
459
- "Provides a default 'Button' with 'CloudArrowUp' icon and 'Upload Files' text if no children are passed to 'Upload'.",
460
- "Includes 'Upload.Dragger' for drag-and-drop functionality, styled for the design system.",
461
- "Exports 'Upload.Item' (the UploadItem component) for potential direct use.",
487
+ "Defaults to a custom `itemRender` function that utilizes a bespoke `UploadItem` component for the file list.",
488
+ "`UploadItem` component features: file type icon, middle-truncated file name (using Truncate component), progress bar with status mapping, and a remove button.",
489
+ "Added `showRemoveButton` prop (defaults to true) on the `Upload` component to control visibility of the remove action in `UploadItem`.",
490
+ "`UploadItem` includes a slot for `extraActions` allowing additional custom controls per file.",
491
+ "Provides a default `Button` with `CloudArrowUp` icon and 'Upload Files' text if no children are passed to `Upload`.",
492
+ "Includes `Upload.Dragger` for drag-and-drop functionality, styled for the design system.",
493
+ "Exports `Upload.Item` (the UploadItem component) for potential direct use.",
462
494
  "Applies BioTuring Design System specific styling and CSS classes."
463
495
  ],
464
496
  category: "Data Entry",
@@ -470,15 +502,15 @@ const i = {
470
502
  link: "/vertical-collapsible-panel",
471
503
  base: "base-ui",
472
504
  refinements: [
473
- "Built upon '@base-ui-components/react' Collapsible components ('Collapsible.Root', 'Collapsible.Panel').",
474
- "Manages open/closed state with a custom 'useControlledState' hook for controlled/uncontrolled behavior.",
475
- "Features custom expand/collapse trigger icons ('MinusCircle', 'PlusCircle' from '@bioturing/assets') via IconButton.",
476
- "Automatically truncates string titles using the 'Truncate' component.",
477
- "Provides 'afterTitle' and 'actions' slots in the header for additional UI elements, visible when open.",
478
- "Integrates the BioTuring 'Transition' component for smooth open/close animations of the panel body, managed with 'useAnimationsFinished' hook.",
479
- "Offers a 'contentPadding' prop (default '16px') for customizable body padding via CSS variable '--ds-content-padding'.",
480
- "Extensive custom CSS for layout, typography, and a unique feature: header text displays vertically ('writing-mode: vertical-rl') when collapsed.",
481
- "Supports 'keepMounted' prop and applies Ant Design CSS variables for theming."
505
+ "Built upon `@base-ui-components/react` Collapsible components (`Collapsible.Root`, `Collapsible.Panel`).",
506
+ "Manages open/closed state with a custom `useControlledState` hook for controlled/uncontrolled behavior.",
507
+ "Features custom expand/collapse trigger icons (`MinusCircle`, `PlusCircle` from `@bioturing/assets`) via IconButton.",
508
+ "Automatically truncates string titles using the `Truncate` component.",
509
+ "Provides `afterTitle` and `actions` slots in the header for additional UI elements, visible when open.",
510
+ "Integrates the BioTuring `Transition` component for smooth open/close animations of the panel body, managed with `useAnimationsFinished` hook.",
511
+ "Offers a `contentPadding` prop (default `16px`) for customizable body padding via CSS variable `--ds-content-padding`.",
512
+ "Extensive custom CSS for layout, typography, and a unique feature: header text displays vertically (`writing-mode: vertical-rl`) when collapsed.",
513
+ "Supports `keepMounted` prop and applies Ant Design CSS variables for theming."
482
514
  ],
483
515
  category: "Layout",
484
516
  packages: ["@base-ui-components/react"],
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sources":["../src/metadata.ts"],"sourcesContent":["/**\n * Component metadata for the BioTuring Design System\n * This file provides information about all components including:\n * - name: Component name\n * - link: Documentation link\n * - base: What the component is based on (antd, base-ui, or custom)\n * - refinements: Whether the component has been refined beyond its base\n * - category: Component category for organization\n * - packages: Additional packages used by the component\n */\n\nexport type ComponentMetadata = {\n name: string;\n link: string;\n base: \"antd\" | \"base-ui\" | \"custom\";\n refinements: string[]; // Renamed from 'customized'\n category: ComponentCategory;\n packages?: string[];\n originalDocUrl?: string;\n description?: string;\n};\n\nexport type ComponentCategory =\n | \"Actions\"\n | \"General\"\n | \"Layout\"\n | \"Navigation\"\n | \"Data Entry\"\n | \"Data Display\"\n | \"Feedback\"\n | \"Overlay\"\n | \"Utility\";\n\nexport const componentMetadata = {\n Badge: {\n name: \"Badge\",\n link: \"/badge\",\n base: \"antd\",\n refinements: [\n \"Applies a BioTuring Design System specific CSS class 'ds-badge'.\",\n \"Applies Ant Design's CSS variable class name to ensure proper theming context.\",\n \"Sets 'display: inline-flex;' on the 'ds-badge' class via './style.css' for consistent layout.\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/badge\",\n description:\n \"Used for highlighting new or unread items, or to display a status.\",\n },\n Breadcrumb: {\n name: \"Breadcrumb\",\n link: \"/breadcrumb\",\n base: \"antd\",\n refinements: [\n \"Employs a custom 'useItemRender' hook to allow icons (from 'item.icon') to be rendered alongside the title within each breadcrumb link.\",\n \"Introduces a 'noWrap' boolean prop for responsive behavior: when true, breadcrumb items attempt to stay on a single line, with text overflow and ellipsis applied to truncatable items.\",\n \"Applies BioTuring Design System specific styling via './style.css' for layout (flexbox-based), item spacing, icon integration, and responsive truncation.\",\n \"Exports styled 'Breadcrumb.Item' and 'Breadcrumb.Separator' sub-components.\",\n ],\n category: \"Navigation\",\n originalDocUrl: \"https://ant.design/components/breadcrumb\",\n description:\n \"Displays the path of the current page, allowing for easy navigation back to previous levels.\",\n },\n Button: {\n name: \"Button\",\n link: \"/button\",\n base: \"antd\",\n refinements: [],\n category: \"Actions\",\n originalDocUrl: \"https://ant.design/components/button\",\n description: \"A clickable element used to trigger an action.\",\n },\n Checkbox: {\n name: \"Checkbox\",\n link: \"/checkbox\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/checkbox\",\n description: \"Allows users to select one or more options from a set.\",\n },\n CodeBlock: {\n name: \"CodeBlock\",\n link: \"/code-block\",\n base: \"custom\",\n refinements: [\n \"Custom implementation for syntax highlighting using prism-react-renderer\",\n ],\n category: \"Data Display\",\n packages: [\"prism-react-renderer\"],\n description: \"Displays blocks of code with syntax highlighting.\",\n },\n Collapse: {\n name: \"Collapse\",\n link: \"/collapse\",\n base: \"antd\",\n refinements: [],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/collapse\",\n description: \"A content area that can be expanded or collapsed.\",\n },\n DropdownMenu: {\n name: \"DropdownMenu\",\n link: \"/dropdown-menu\",\n base: \"base-ui\",\n refinements: [\n \"Built with Base UI Menu components\",\n \"Provides a customizable dropdown menu experience\",\n ],\n category: \"Navigation\",\n packages: [\n \"@base-ui-components/react/menu\",\n \"@base-ui-components/react/utils\",\n ],\n originalDocUrl: \"https://base-ui.com/react/components/menu\",\n description:\n \"A menu that appears when a user interacts with a button or other control.\",\n },\n Empty: {\n name: \"Empty\",\n link: \"/empty\",\n base: \"antd\",\n refinements: [\n \"Replaces the default Ant Design illustration with a custom SVG icon ('EmptyIcon') defined within the component.\",\n \"Introduces a 'size' prop ('small', 'medium', 'large', default 'medium') that controls the font-size of the custom 'EmptyIcon'.\",\n \"Applies specific font-sizes for the icon based on the 'size' prop (small: 2rem, medium: 3rem, large: 4rem) via 'style.css'.\",\n \"The 'small' size icon also has its color set to 'var(--ds-color-base-solid)'.\",\n \"Adjusts the Ant Design Empty image container height to 'auto' via 'style.css'.\",\n \"Applies BioTuring Design System specific styling and CSS classes (e.g., 'ds-empty', 'ds-empty-icon').\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/empty\",\n description: \"A placeholder for when there is no data to display.\",\n },\n Field: {\n name: \"Field\",\n link: \"/field\",\n base: \"custom\",\n refinements: [\n \"Custom component for form fields, providing layout and validation display\",\n ],\n category: \"Data Entry\",\n description:\n \"A custom component to structure form inputs with labels, help text, and validation messages.\",\n },\n Form: {\n name: \"Form\",\n link: \"/form\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/form\",\n description:\n \"Provides structure for data input, including layout, validation, and submission capabilities.\",\n },\n IconButton: {\n name: \"Icon Button\",\n link: \"/icon-button\",\n base: \"custom\",\n refinements: [\n \"Custom button component focused on displaying an icon\",\n \"Provides consistent styling for icon-only buttons\",\n ],\n category: \"Actions\",\n description:\n \"A button that primarily displays an icon, used for compact actions.\",\n },\n Input: {\n name: \"Input\",\n link: \"/input\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/input\",\n description: \"A basic text input field for user data entry.\",\n },\n Message: {\n name: \"Message\",\n link: \"/message\",\n base: \"antd\",\n refinements: [],\n category: \"Feedback\",\n originalDocUrl: \"https://ant.design/components/message\",\n description:\n \"The Message component provides feedback in response to user operations. Unlike notification, messages are simpler and typically auto-dismiss after a short duration.\",\n },\n Modal: {\n name: \"Modal\",\n link: \"/modal\",\n base: \"antd\",\n refinements: [\n \"Added predefined sizes: 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'fullscreen'\",\n \"Introduced a general 'loading' state prop for the modal content\",\n \"Added 'hideOkButton' and 'hideCancelButton' props for straightforward visibility control of footer buttons\",\n \"Added 'contentPadding' prop for direct control over modal body padding\",\n \"Enhanced header customization with 'afterTitle', 'beforeCloseButton', and 'afterCloseButton' slots for additional elements or actions\",\n \"Implemented 'defaultFixedHeaderFooter' behavior: header and footer become fixed when content overflows (controlled by internal overflow detection)\",\n \"Changed 'centered' prop to default to 'true'\",\n \"Introduced 'type' prop ('default', 'info', 'success', 'error', 'warning') influencing default behaviors like size\",\n \"Added 'background' prop ('elevated', 'container') for explicit control over modal background style, with size-dependent defaults\",\n \"Uses a custom 'X' icon from '@bioturing/assets' as the default close button icon\",\n \"Provides 'bodyScrollable' prop (defaults to true) to manage content scroll behavior within the modal body\",\n ],\n category: \"Overlay\",\n originalDocUrl: \"https://ant.design/components/modal\",\n description:\n \"A dialog box/popup window that is displayed on top of the current page.\",\n },\n Popover: {\n name: \"Popover\",\n link: \"/popover\",\n base: \"antd\", // Retains AntD as 'base' because it aims for API compatibility\n refinements: [\n \"Refactored to use @base-ui-components/react/popover internally\",\n \"Maintains Ant Design API compatibility\",\n \"Custom prop mapping for placement and trigger to align with Base UI Popover\",\n \"Combined title and content props into a single node for Base UI Popover's content area\",\n ],\n category: \"Overlay\",\n originalDocUrl: \"https://ant.design/components/popover\", // Original AntD doc for API reference\n description:\n \"A small overlay that appears when a user interacts with an element, displaying additional information or actions.\",\n },\n PopupPanel: {\n name: \"PopupPanel\",\n link: \"/popup-panel\",\n base: \"base-ui\",\n refinements: [\n \"Built with Base UI Popover\",\n \"Resizable panel functionality\",\n \"Custom styling and behavior for panel-like popups\",\n ],\n category: \"Overlay\",\n packages: [\"react-use-resizable\", \"@base-ui-components/react/popover\"],\n originalDocUrl: \"https://base-ui.com/react/components/popover\",\n description:\n \"A specialized panel that pops up, often resizable, for displaying rich content or tools.\",\n },\n Radio: {\n name: \"Radio\",\n link: \"/radio\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/radio\",\n description: \"Allows users to select a single option from a set.\",\n },\n ScrollArea: {\n name: \"ScrollArea\",\n link: \"/scroll-area\",\n base: \"base-ui\",\n refinements: [\n \"Wraps '@base-ui-components/react/ScrollArea' to integrate with the BioTuring Design System.\",\n \"Provides consistent 'classNames' prop pattern for styling different parts (viewport, scrollbar, thumb).\",\n \"Applies specific BioTuring Design System CSS classes (e.g., 'ds-scroll-area', 'ds-scroll-area-viewport', 'ds-scroll-area-scrollbar', 'ds-scroll-area-thumb') to Base UI component parts.\",\n \"Provides extensive custom styling via './style.css' for the root, viewport (including 'focus-visible' styles), scrollbar (opacity transitions on hover/scroll, orientation-based dimensions), and thumb (custom border-radius, background, and border colors using design tokens).\",\n ],\n category: \"Layout\",\n packages: [\"@base-ui-components/react\"],\n originalDocUrl: \"https://base-ui.com/react/components/scroll-area\",\n description:\n \"Provides a customizable scrollable container for content that exceeds its bounds.\",\n },\n Segmented: {\n name: \"Segmented\",\n link: \"/segmented\",\n base: \"antd\",\n refinements: [\n \"Structured as a typed 'forwardRef' wrapper around the Ant Design Segmented component for type safety and consistency.\",\n \"Applies custom styles via './style.css' to ensure proper alignment and sizing of item labels and icons within the segmented control (e.g., flex centering for labels and icons, default icon size).\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/segmented\",\n description:\n \"A set of buttons that allows users to switch between different views or options.\",\n },\n Select: {\n name: \"Select\",\n link: \"/select\",\n base: \"antd\",\n refinements: [\n \"Introduced 'enhancePositioner' prop: Utilizes '@floating-ui/react' for robust dropdown positioning, allowing it to break out of overflow containers and intelligently place itself.\",\n \"Added 'popupSize' prop (works with 'enhancePositioner'): Controls the dropdown width with predefined sizes (e.g., 'small', 'medium', 'large'), pixel values, or 'fit-content'.\",\n \"Replaced default suffix icon with a custom 'CaretDown' icon from '@bioturing/assets'.\",\n \"Customized multiple selection mode: Uses Ant Design 'Checkbox' components for indicating selected items in the dropdown.\",\n \"Applied specific BioTuring Design System styling and CSS classes, including enhanced popup styles when 'enhancePositioner' is active.\",\n ],\n category: \"Data Entry\",\n packages: [\"@floating-ui/react\", \"rc-select\"],\n originalDocUrl: \"https://ant.design/components/select\",\n description:\n \"Allows users to select one or more options from a dropdown list.\",\n },\n Slider: {\n name: \"Slider\",\n link: \"/slider\",\n base: \"antd\",\n refinements: [\n \"Applies a BioTuring Design System specific CSS class 'ds-slider'.\",\n \"Modifies the default behavior of the slider's tooltip by setting 'tooltip.arrow' to 'false' by default (Ant Design's default is true).\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/slider\",\n description:\n \"Allows users to select a value from a continuous or discrete range.\",\n },\n Spin: {\n name: \"Spin\",\n link: \"/spin\",\n base: \"antd\",\n refinements: [],\n category: \"Feedback\",\n originalDocUrl: \"https://ant.design/components/spin\",\n description: \"Indicates a loading state.\",\n },\n Splitter: {\n name: \"Splitter\",\n link: \"/splitter\",\n base: \"antd\", // Assuming it's styled like AntD or uses AntD primitives\n refinements: [\n \"Custom component for creating resizable layouts, inspired by Ant Design styling\",\n ],\n category: \"Layout\",\n // originalDocUrl: \"https://ant.design/components/layout\", // AntD Layout could be a loose reference, but no direct 'Splitter' component.\n description:\n \"Splitter is used to divide and resize multiple elements in a container.\",\n },\n Stack: {\n name: \"Stack\",\n link: \"/stack\",\n base: \"custom\",\n refinements: [\n \"Custom component for creating horizontal or vertical layouts with consistent spacing\",\n \"Uses CSS classes for alignment and justification\",\n \"Provides StackChild component with useRender hook for flexible item control\",\n ],\n category: \"Layout\",\n description: \"A flexible layout component for arranging items in a row or column with consistent spacing.\",\n },\n Switch: {\n name: \"Switch\",\n link: \"/switch\",\n base: \"antd\",\n refinements: [\n \"Structured as a typed 'forwardRef' wrapper around Ant Design's Switch component.\",\n \"Applies custom CSS to ensure 'checkedChildren' and 'unCheckedChildren' (e.g., icons, text) are properly centered within the switch handle.\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/switch\",\n description:\n \"A toggle control that allows users to switch between two states, typically on or off.\",\n },\n Table: {\n name: \"Table\",\n link: \"/table\",\n base: \"antd\",\n refinements: [\n \"Replaces default sort icons with custom 'CaretUp' and 'CaretDown' icons from '@bioturing/assets'. Displays both when inactive, and a filled version of the active one.\",\n \"Replaces default filter icon with a custom 'Funnel' icon (filled) from '@bioturing/assets'.\",\n \"Overrides 'locale.emptyText' to use the BioTuring 'Empty' component.\",\n \"Adds an 'emptyDescription' prop to customize the message displayed by the 'Empty' component when the table is empty.\",\n \"Uses a custom CSS-based loading indicator ('spin-loader') when the 'loading' prop is active.\",\n \"Defaults 'scroll.x' to 'fit-content' to optimize horizontal scrolling behavior.\",\n \"Applies BioTuring Design System specific styling via './style.css' for overall table appearance, including headers, rows, borders, and hover effects.\",\n ],\n category: \"Data Display\",\n packages: [\"rc-table\"],\n originalDocUrl: \"https://ant.design/components/table\",\n description: \"Displays data in a structured, tabular format.\",\n },\n Tag: {\n name: \"Tag\",\n link: \"/tag\",\n base: \"antd\",\n refinements: [\n \"Defaults to using the 'X' icon (bold) from '@bioturing/assets' as the 'closeIcon' if the tag is 'closable' and no custom icon is provided.\",\n \"Introduces an 'active' boolean prop (defaults to false).\",\n \"When 'active={true}', applies specific styling (background, border, text color using '--ds-color-primary' tokens) via a 'data-active' attribute and 'style.css'.\",\n \"Applies BioTuring Design System specific styling via './style.css', including base styles for alignment and consistent close icon coloring ('--ds-color-icon').\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/tag\",\n description: \"Used for marking or categorizing items with small labels.\",\n },\n ThemeProvider: {\n name: \"ThemeProvider\",\n link: \"/theme-provider\",\n base: \"custom\",\n refinements: [\n \"Custom utility for managing application-wide themes\",\n \"Provides context for styling consistency\",\n ],\n category: \"Utility\",\n description:\n \"A utility component for providing theme context to its children, enabling consistent styling across the application.\",\n },\n Toast: {\n name: \"Toast\",\n link: \"/toast\",\n base: \"base-ui\",\n refinements: [\n \"Built with Base UI Toast components\",\n \"Customizable appearance and behavior for notifications\",\n ],\n category: \"Feedback\",\n packages: [\"@base-ui-components/react\"],\n originalDocUrl: \"https://base-ui.com/react/components/toast\",\n description:\n \"Displays brief, auto-expiring messages to provide feedback or alerts, similar to notifications but often less intrusive.\",\n },\n Tooltip: {\n name: \"Tooltip\",\n link: \"/tooltip\",\n base: \"antd\",\n refinements: [\n \"Defaults the 'arrow' prop to 'false', hiding the tooltip arrow by default (Ant Design's default shows an arrow).\",\n \"Applies a BioTuring Design System specific CSS class 'ds-tooltip'.\",\n \"Custom CSS sets 'min-height: auto;' for the inner content, allowing tooltips to be shorter than Ant Design's default minimum height.\",\n ],\n category: \"Overlay\",\n originalDocUrl: \"https://ant.design/components/tooltip\",\n description:\n \"A small pop-up that displays information when a user hovers over or focuses on an element.\",\n },\n Tour: {\n name: \"Tour\",\n link: \"/tour\",\n base: \"antd\",\n refinements: [\n \"Provides a custom default rendering for step indicators ('indicatorsRender') if none is supplied. This includes a 'current / total' text and visual dots for steps.\",\n \"Applies BioTuring Design System specific CSS classes (e.g., 'ds-tour') for extensive styling.\",\n \"Customizes typography for title, description, and indicator text using design system tokens.\",\n \"Adjusts layout and spacing for header, footer, and content within the tour description (paragraphs, lists, icons).\",\n \"Includes specific styling for the appearance of the custom default indicators (wrapper, summary text, active/inactive dots).\",\n ],\n category: \"Feedback\",\n originalDocUrl: \"https://ant.design/components/tour\",\n description:\n \"Guides users through new features or UI elements in a step-by-step manner.\",\n },\n Transition: {\n name: \"Transition\",\n link: \"/transition\",\n base: \"base-ui\",\n refinements: [\n \"Wraps Base UI utilities (e.g., 'useTransitionStatus', 'useRender') and custom hooks (e.g., 'useAnimationsFinished') to manage element enter/leave transitions.\",\n \"Accepts 'starting' and 'ending' props, which can be CSS class strings (for Tailwind) or style objects, to define transition states.\",\n \"Dynamically applies 'starting'/'ending' styles and sets 'data-starting'/'data-ending' attributes on the child element based on transition phase.\",\n \"Manages mounting/unmounting of children post-animation, with a 'keepMounted' option, using a custom 'useAnimationsFinished' hook.\",\n \"Provides a declarative API for CSS-based transitions.\",\n ],\n category: \"Utility\",\n packages: [\n \"@base-ui-components/react/use-render\",\n \"@base-ui-components/react/merge-props\",\n \"@base-ui-components/react/utils\",\n ],\n originalDocUrl: \"https://base-ui.com/react/components\", // General Base UI components link as specific utility pages might vary\n description:\n \"Provides utilities for applying CSS transitions and animations to components.\",\n },\n Typography: {\n name: \"Typography\",\n link: \"/typography\",\n base: \"antd\",\n refinements: [\n \"Extends Ant Design Typography with custom styles or additional text utilities\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/typography\",\n description:\n \"Typography is a component that provides a set of tools for working with text, including text alignment, font size, and font weight.\",\n },\n Tree: {\n name: \"Tree\",\n link: \"/tree\",\n base: \"antd\",\n refinements: [\n \"Utilizes rc-tree for core functionality\",\n \"Enhanced features like custom node rendering, drag-and-drop, or advanced filtering\",\n ],\n category: \"Data Display\",\n packages: [\"rc-tree\"],\n originalDocUrl: \"https://ant.design/components/tree\",\n description:\n \"A hierarchical list structure component that presents nested data clearly.\",\n },\n Truncate: {\n name: \"Truncate\",\n link: \"/truncate\",\n base: \"custom\",\n refinements: [\n \"Custom implementation for text truncation\",\n \"Supports middle and end truncation\",\n \"Configurable ellipsis and tooltip on hover\",\n \"Multi-line truncation with configurable number of lines\",\n \"Auto-height truncation that adapts to parent container size\",\n ],\n category: \"Data Display\",\n description:\n \"The Truncate component helps manage text overflow by truncating text elegantly and displaying an ellipsis. It supports truncation at the middle or end of the text.\",\n },\n Upload: {\n name: \"Upload\",\n link: \"/upload\",\n base: \"antd\",\n refinements: [\n \"Defaults to a custom 'itemRender' function that utilizes a bespoke 'UploadItem' component for the file list.\",\n \"'UploadItem' component features: file type icon, middle-truncated file name (using Truncate component), progress bar with status mapping, and a remove button.\",\n \"Added 'showRemoveButton' prop (defaults to true) on the 'Upload' component to control visibility of the remove action in 'UploadItem'.\",\n \"'UploadItem' includes a slot for 'extraActions' allowing additional custom controls per file.\",\n \"Provides a default 'Button' with 'CloudArrowUp' icon and 'Upload Files' text if no children are passed to 'Upload'.\",\n \"Includes 'Upload.Dragger' for drag-and-drop functionality, styled for the design system.\",\n \"Exports 'Upload.Item' (the UploadItem component) for potential direct use.\",\n \"Applies BioTuring Design System specific styling and CSS classes.\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/upload\",\n description: \"Allows users to select and upload files.\",\n },\n VerticalCollapsiblePanel: {\n name: \"Vertical Collapsible Panel\",\n link: \"/vertical-collapsible-panel\",\n base: \"base-ui\",\n refinements: [\n \"Built upon '@base-ui-components/react' Collapsible components ('Collapsible.Root', 'Collapsible.Panel').\",\n \"Manages open/closed state with a custom 'useControlledState' hook for controlled/uncontrolled behavior.\",\n \"Features custom expand/collapse trigger icons ('MinusCircle', 'PlusCircle' from '@bioturing/assets') via IconButton.\",\n \"Automatically truncates string titles using the 'Truncate' component.\",\n \"Provides 'afterTitle' and 'actions' slots in the header for additional UI elements, visible when open.\",\n \"Integrates the BioTuring 'Transition' component for smooth open/close animations of the panel body, managed with 'useAnimationsFinished' hook.\",\n \"Offers a 'contentPadding' prop (default '16px') for customizable body padding via CSS variable '--ds-content-padding'.\",\n \"Extensive custom CSS for layout, typography, and a unique feature: header text displays vertically ('writing-mode: vertical-rl') when collapsed.\",\n \"Supports 'keepMounted' prop and applies Ant Design CSS variables for theming.\",\n ],\n category: \"Layout\",\n packages: [\"@base-ui-components/react\"],\n originalDocUrl:\n \"https://base-ui.com/react/components/vertical-collapsible-panel\", // Assuming this kebab-case name for Base UI docs\n description:\n \"A panel that can be collapsed or expanded vertically, often used in sidebars or for sectioning content.\",\n },\n} satisfies Record<string, ComponentMetadata>;\n\n/**\n * Get all components by category\n */\nexport const getComponentsByCategory = (): Record<\n ComponentCategory,\n ComponentMetadata[]\n> => {\n const categories: Record<ComponentCategory, ComponentMetadata[]> = {\n Actions: [],\n General: [],\n Layout: [],\n Navigation: [],\n \"Data Entry\": [],\n \"Data Display\": [],\n Feedback: [],\n Overlay: [],\n Utility: [],\n };\n\n Object.values(componentMetadata).forEach((component) => {\n categories[component.category].push(component);\n });\n\n // Sort components alphabetically within each category\n Object.keys(categories).forEach((category) => {\n categories[category as ComponentCategory].sort((a, b) =>\n a.name.localeCompare(b.name)\n );\n });\n\n return categories;\n};\n"],"names":["componentMetadata","getComponentsByCategory","categories","component","category","a","b"],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sources":["../src/metadata.ts"],"sourcesContent":["/**\n * Component metadata for the BioTuring Design System\n * This file provides information about all components including:\n * - name: Component name\n * - link: Documentation link\n * - base: What the component is based on (antd, base-ui, or custom)\n * - refinements: Whether the component has been refined beyond its base\n * - category: Component category for organization\n * - packages: Additional packages used by the component\n */\n\nexport type ComponentMetadata = {\n name: string;\n link: string;\n base: \"antd\" | \"base-ui\" | \"custom\";\n refinements: string[]; // Renamed from 'customized'\n category: ComponentCategory;\n packages?: string[];\n originalDocUrl?: string;\n description?: string;\n};\n\nexport type ComponentCategory =\n | \"Actions\"\n | \"General\"\n | \"Layout\"\n | \"Navigation\"\n | \"Data Entry\"\n | \"Data Display\"\n | \"Feedback\"\n | \"Overlay\"\n | \"Utility\";\n\nexport const componentMetadata = {\n DragDrop: {\n name: \"DragDrop\",\n link: \"/drag-drop\",\n base: \"custom\",\n refinements: [\n \"Custom implementation for drag and drop functionality\",\n \"Type-safe with TypeScript generics\",\n \"Supports custom styling and rendering\",\n \"Provides Draggable and Droppable subcomponents\",\n \"Handles drag events with proper context management\",\n ],\n category: \"Data Entry\",\n description:\n \"A component for creating drag and drop interfaces with customizable draggable items and drop zones.\",\n },\n Badge: {\n name: \"Badge\",\n link: \"/badge\",\n base: \"antd\",\n refinements: [\n \"Applies a BioTuring Design System specific CSS class `ds-badge`.\",\n \"Applies Ant Design's CSS variable class name to ensure proper theming context.\",\n \"Sets `display: inline-flex;` on the `ds-badge` class via `./style.css` for consistent layout.\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/badge\",\n description:\n \"Used for highlighting new or unread items, or to display a status.\",\n },\n Breadcrumb: {\n name: \"Breadcrumb\",\n link: \"/breadcrumb\",\n base: \"antd\",\n refinements: [\n \"Employs a custom `useItemRender` hook to allow icons (from `item.icon`) to be rendered alongside the title within each breadcrumb link.\",\n \"Introduces a `noWrap` boolean prop for responsive behavior: when true, breadcrumb items attempt to stay on a single line, with text overflow and ellipsis applied to truncatable items.\",\n \"Applies BioTuring Design System specific styling via `./style.css` for layout (flexbox-based), item spacing, icon integration, and responsive truncation.\",\n \"Exports styled `Breadcrumb.Item` and `Breadcrumb.Separator` sub-components.\",\n ],\n category: \"Navigation\",\n originalDocUrl: \"https://ant.design/components/breadcrumb\",\n description:\n \"Displays the path of the current page, allowing for easy navigation back to previous levels.\",\n },\n Button: {\n name: \"Button\",\n link: \"/button\",\n base: \"antd\",\n refinements: [],\n category: \"Actions\",\n originalDocUrl: \"https://ant.design/components/button\",\n description: \"A clickable element used to trigger an action.\",\n },\n Checkbox: {\n name: \"Checkbox\",\n link: \"/checkbox\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/checkbox\",\n description: \"Allows users to select one or more options from a set.\",\n },\n CodeBlock: {\n name: \"CodeBlock\",\n link: \"/code-block\",\n base: \"custom\",\n refinements: [\n \"Custom implementation for syntax highlighting using `prism-react-renderer`\",\n ],\n category: \"Data Display\",\n packages: [\"prism-react-renderer\"],\n description: \"Displays blocks of code with syntax highlighting.\",\n },\n Collapse: {\n name: \"Collapse\",\n link: \"/collapse\",\n base: \"antd\",\n refinements: [],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/collapse\",\n description: \"A content area that can be expanded or collapsed.\",\n },\n DropdownMenu: {\n name: \"DropdownMenu\",\n link: \"/dropdown-menu\",\n base: \"base-ui\",\n refinements: [\n \"Built with Base UI Menu components\",\n \"Provides a customizable dropdown menu experience\",\n ],\n category: \"Navigation\",\n packages: [\n \"@base-ui-components/react/menu\",\n \"@base-ui-components/react/utils\",\n ],\n originalDocUrl: \"https://base-ui.com/react/components/menu\",\n description:\n \"A menu that appears when a user interacts with a button or other control.\",\n },\n Nav: {\n name: \"Nav\",\n link: \"/nav\",\n base: \"custom\",\n refinements: [\n \"Supports icon and label via a render prop pattern\",\n \"Manages hover state to reveal label when collapsed\",\n \"Supports active and collapsed/expanded (currentPanel) states\",\n \"Uses component-level CSS imports and custom transition classes\",\n ],\n category: \"Navigation\",\n description:\n \"A navigation item with icon and label, supporting active highlighting and hover reveal.\",\n },\n Empty: {\n name: \"Empty\",\n link: \"/empty\",\n base: \"antd\",\n refinements: [\n \"Replaces the default Ant Design illustration with a custom SVG icon (`EmptyIcon`) defined within the component.\",\n \"Introduces a `size` prop (`small`, `medium`, `large`, default `medium`) that controls the font-size of the custom `EmptyIcon`.\",\n \"Applies specific font-sizes for the icon based on the `size` prop (small: 2rem, medium: 3rem, large: 4rem) via `style.css`.\",\n \"The `small` size icon also has its color set to `var(--ds-color-base-solid)`.\",\n \"Adjusts the Ant Design Empty image container height to `auto` via `style.css`.\",\n \"Applies BioTuring Design System specific styling and CSS classes (e.g., `ds-empty`, `ds-empty-icon`).\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/empty\",\n description: \"Displays a placeholder when content is empty or unavailable.\",\n },\n Field: {\n name: \"Field\",\n link: \"/field\",\n base: \"custom\",\n refinements: [\n \"Custom component for form fields, providing layout and validation display\",\n ],\n category: \"Data Entry\",\n description:\n \"A custom component to structure form inputs with labels, help text, and validation messages.\",\n },\n Form: {\n name: \"Form\",\n link: \"/form\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/form\",\n description:\n \"Provides structure for data input, including layout, validation, and submission capabilities.\",\n },\n IconButton: {\n name: \"Icon Button\",\n link: \"/icon-button\",\n base: \"custom\",\n refinements: [\n \"Custom button component focused on displaying an icon\",\n \"Provides consistent styling for icon-only buttons\",\n ],\n category: \"Actions\",\n description:\n \"A button that primarily displays an icon, used for compact actions.\",\n },\n Input: {\n name: \"Input\",\n link: \"/input\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/input\",\n description: \"A basic text input field for user data entry.\",\n },\n Message: {\n name: \"Message\",\n link: \"/message\",\n base: \"antd\",\n refinements: [],\n category: \"Feedback\",\n originalDocUrl: \"https://ant.design/components/message\",\n description:\n \"The Message component provides feedback in response to user operations. Unlike notification, messages are simpler and typically auto-dismiss after a short duration.\",\n },\n Modal: {\n name: \"Modal\",\n link: \"/modal\",\n base: \"antd\",\n refinements: [\n \"Added predefined sizes: `xsmall`, `small`, `medium`, `large`, `xlarge`, `xxlarge`, `fullscreen`\",\n \"Introduced a general `loading` state prop for the modal content\",\n \"Added `hideOkButton` and `hideCancelButton` props for straightforward visibility control of footer buttons\",\n \"Added `contentPadding` prop for direct control over modal body padding\",\n \"Enhanced header customization with `afterTitle`, `beforeCloseButton`, and `afterCloseButton` slots for additional elements or actions\",\n \"Implemented `defaultFixedHeaderFooter` behavior: header and footer become fixed when content overflows (controlled by internal overflow detection)\",\n \"Changed `centered` prop to default to `true`\",\n \"Introduced `type` prop (`default`, `info`, `success`, `error`, `warning`) influencing default behaviors like size\",\n \"Added `background` prop (`elevated`, `container`) for explicit control over modal background style, with size-dependent defaults\",\n \"Uses a custom `X` icon from `@bioturing/assets` as the default close button icon\",\n \"Provides `bodyScrollable` prop (defaults to true) to manage content scroll behavior within the modal body\",\n ],\n category: \"Overlay\",\n originalDocUrl: \"https://ant.design/components/modal\",\n description:\n \"A modal dialog that appears in front of the app content to provide critical information or ask for a decision.\",\n },\n Popover: {\n name: \"Popover\",\n link: \"/popover\",\n base: \"antd\", // Retains AntD as 'base' because it aims for API compatibility\n refinements: [],\n category: \"Overlay\",\n originalDocUrl: \"https://ant.design/components/popover\", // Original AntD doc for API reference\n description:\n \"A floating card popped by clicking or hovering that displays additional information.\",\n },\n PopupPanel: {\n name: \"PopupPanel\",\n link: \"/popup-panel\",\n base: \"base-ui\",\n refinements: [\n \"Built with Base UI Popover\",\n \"Resizable panel functionality\",\n \"Custom styling and behavior for panel-like popups\",\n ],\n category: \"Overlay\",\n packages: [\"react-use-resizable\", \"@base-ui-components/react/popover\"],\n originalDocUrl: \"https://base-ui.com/react/components/popover\",\n description:\n \"A specialized panel that pops up, often resizable, for displaying rich content or tools.\",\n },\n Radio: {\n name: \"Radio\",\n link: \"/radio\",\n base: \"antd\",\n refinements: [],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/radio\",\n description: \"Allows users to select a single option from a set.\",\n },\n ScrollArea: {\n name: \"ScrollArea\",\n link: \"/scroll-area\",\n base: \"base-ui\",\n refinements: [\n \"Wraps `@base-ui-components/react/ScrollArea` to integrate with the BioTuring Design System.\",\n \"Provides consistent `classNames` prop pattern for styling different parts (viewport, scrollbar, thumb).\",\n \"Applies specific BioTuring Design System CSS classes (e.g., `ds-scroll-area`, `ds-scroll-area-viewport`, `ds-scroll-area-scrollbar`, `ds-scroll-area-thumb`) to Base UI component parts.\",\n \"Provides extensive custom styling via `./style.css` for the root, viewport (including `focus-visible` styles), scrollbar (opacity transitions on hover/scroll, orientation-based dimensions), and thumb (custom border-radius, background, and border colors using design tokens).\",\n ],\n category: \"Layout\",\n packages: [\"@base-ui-components/react\"],\n originalDocUrl: \"https://base-ui.com/react/components/scroll-area\",\n description:\n \"A scrollable container with custom scrollbars that blend with the design system.\",\n },\n Segmented: {\n name: \"Segmented\",\n link: \"/segmented\",\n base: \"antd\",\n refinements: [\n \"Structured as a typed `forwardRef` wrapper around the Ant Design Segmented component for type safety and consistency.\",\n \"Applies custom styles via `./style.css` to ensure proper alignment and sizing of item labels and icons within the segmented control (e.g., flex centering for labels and icons, default icon size).\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/segmented\",\n description:\n \"A set of buttons that allows users to switch between different views or options.\",\n },\n Select: {\n name: \"Select\",\n link: \"/select\",\n base: \"antd\",\n refinements: [\n \"Introduced `enhancePositioner` prop: Utilizes `@floating-ui/react` for robust dropdown positioning, allowing it to break out of overflow containers and intelligently place itself.\",\n \"Added `popupSize` prop (works with `enhancePositioner`): Controls the dropdown width with predefined sizes (e.g., `small`, `medium`, `large`), pixel values, or `fit-content`.\",\n \"Replaced default suffix icon with a custom `CaretDown` icon from `@bioturing/assets`.\",\n \"Customized multiple selection mode: Uses Ant Design `Checkbox` components for indicating selected items in the dropdown.\",\n \"Applied specific BioTuring Design System styling and CSS classes, including enhanced popup styles when `enhancePositioner` is active.\",\n ],\n category: \"Data Entry\",\n packages: [\"@floating-ui/react\", \"rc-select\"],\n originalDocUrl: \"https://ant.design/components/select\",\n description:\n \"A dropdown selection component for selecting values from a list of options.\",\n },\n Slider: {\n name: \"Slider\",\n link: \"/slider\",\n base: \"antd\",\n refinements: [\n \"Applies a BioTuring Design System specific CSS class `ds-slider`.\",\n \"Modifies the default behavior of the slider's tooltip by setting `tooltip.arrow` to `false` by default (Ant Design's default is true).\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/slider\",\n description:\n \"Allows users to select a value from a continuous or discrete range.\",\n },\n Spin: {\n name: \"Spin\",\n link: \"/spin\",\n base: \"antd\",\n refinements: [],\n category: \"Feedback\",\n originalDocUrl: \"https://ant.design/components/spin\",\n description: \"Indicates a loading state.\",\n },\n Splitter: {\n name: \"Splitter\",\n link: \"/splitter\",\n base: \"antd\", // Assuming it's styled like AntD or uses AntD primitives\n refinements: [\n \"Custom component for creating resizable layouts, inspired by Ant Design styling\",\n ],\n category: \"Layout\",\n // originalDocUrl: \"https://ant.design/components/layout\", // AntD Layout could be a loose reference, but no direct 'Splitter' component.\n description:\n \"Splitter is used to divide and resize multiple elements in a container.\",\n },\n Stack: {\n name: \"Stack\",\n link: \"/stack\",\n base: \"custom\",\n refinements: [\n \"Custom component for creating horizontal or vertical layouts with consistent spacing\",\n \"Uses CSS classes for alignment and justification\",\n \"Provides StackChild component with useRender hook for flexible item control\",\n ],\n category: \"Layout\",\n description:\n \"A flexible layout component for arranging items in a row or column with consistent spacing.\",\n },\n Switch: {\n name: \"Switch\",\n link: \"/switch\",\n base: \"antd\",\n refinements: [\n \"Structured as a typed `forwardRef` wrapper around Ant Design's Switch component.\",\n \"Applies custom CSS to ensure `checkedChildren` and `unCheckedChildren` (e.g., icons, text) are properly centered within the switch handle.\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/switch\",\n description:\n \"A toggle switch for changing between two states, typically on or off.\",\n },\n Table: {\n name: \"Table\",\n link: \"/table\",\n base: \"antd\",\n refinements: [\n \"Applies BioTuring Design System specific styling via `./style.css`.\",\n \"Enhances the default Ant Design Table with additional features.\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/table\",\n description:\n \"A table displays rows of data, supporting features like sorting, filtering, and pagination.\",\n },\n Tag: {\n name: \"Tag\",\n link: \"/tag\",\n base: \"antd\",\n refinements: [\n \"Defaults to using the `X` icon (bold) from `@bioturing/assets` as the `closeIcon` if the tag is `closable` and no custom icon is provided.\",\n \"Introduces an `active` boolean prop (defaults to false).\",\n \"When `active={true}`, applies specific styling (background, border, text color using `--ds-color-primary` tokens) via a `data-active` attribute and `style.css`.\",\n \"Applies BioTuring Design System specific styling via `./style.css`, including base styles for alignment and consistent close icon coloring (`--ds-color-icon`).\",\n \"Introduces a `size` prop with options `small`, `medium`, and `large` to control tag dimensions.\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/tag\",\n description:\n \"Small UI elements for categorization, filtering, or highlighting items.\",\n },\n ColorSelect: {\n name: \"ColorSelect\",\n link: \"/color-select\",\n base: \"antd\",\n refinements: [\n \"Combines Ant Design `ColorPicker` with a `Select`-like input for color selection.\",\n \"Supports preset colors via the `presetColors` prop and freeform hex input.\",\n \"Displays selected colors as closable `Tag`s with color swatches.\",\n \"Provides controlled/uncontrolled APIs (`value`/`defaultValue`, `open`/`defaultOpen`).\",\n \"Emits a `toast` notification on invalid color entries.\",\n \"Uses `Stack` for layout and `style.css` for BioTuring styling.\",\n ],\n category: \"Data Entry\",\n description:\n \"A combined color picker and selector allowing preset and custom color selection with tag display.\",\n },\n ThemeProvider: {\n name: \"ThemeProvider\",\n link: \"/theme-provider\",\n base: \"custom\",\n refinements: [\n \"Custom utility for managing application-wide themes\",\n \"Provides context for styling consistency\",\n ],\n category: \"Utility\",\n description:\n \"A utility component for providing theme context to its children, enabling consistent styling across the application.\",\n },\n Toast: {\n name: \"Toast\",\n link: \"/toast\",\n base: \"base-ui\",\n refinements: [\n \"Built with Base UI Toast components\",\n \"Customizable appearance and behavior for notifications\",\n ],\n category: \"Feedback\",\n packages: [\"@base-ui-components/react\"],\n originalDocUrl: \"https://base-ui.com/react/components/toast\",\n description:\n \"Displays brief, auto-expiring messages to provide feedback or alerts, similar to notifications but often less intrusive.\",\n },\n Tooltip: {\n name: \"Tooltip\",\n link: \"/tooltip\",\n base: \"antd\",\n refinements: [\n \"Defaults the `arrow` prop to `false`, hiding the tooltip arrow by default (Ant Design's default shows an arrow).\",\n \"Applies a BioTuring Design System specific CSS class `ds-tooltip`.\",\n \"Custom CSS sets `min-height: auto;` for the inner content, allowing tooltips to be shorter than Ant Design's default minimum height.\",\n ],\n category: \"Overlay\",\n originalDocUrl: \"https://ant.design/components/tooltip\",\n description:\n \"A simple text popup tip that appears when a user hovers over an element.\",\n },\n Tour: {\n name: \"Tour\",\n link: \"/tour\",\n base: \"antd\",\n refinements: [\n \"Provides a custom default rendering for step indicators (`indicatorsRender`) if none is supplied. This includes a `current / total` text and visual dots for steps.\",\n \"Applies BioTuring Design System specific CSS classes (e.g., `ds-tour`) for extensive styling.\",\n \"Customizes typography for title, description, and indicator text using design system tokens.\",\n \"Adjusts layout and spacing for header, footer, and content within the tour description (paragraphs, lists, icons).\",\n \"Includes specific styling for the appearance of the custom default indicators (wrapper, summary text, active/inactive dots).\",\n ],\n category: \"Feedback\",\n originalDocUrl: \"https://ant.design/components/tour\",\n description:\n \"A guided tour interface that leads users through specific features of an application.\",\n },\n Transition: {\n name: \"Transition\",\n link: \"/transition\",\n base: \"base-ui\",\n refinements: [\n \"Wraps Base UI utilities (e.g., `useTransitionStatus`, `useRender`) and custom hooks (e.g., `useAnimationsFinished`) to manage element enter/leave transitions.\",\n \"Accepts `starting` and `ending` props, which can be CSS class strings (for Tailwind) or style objects, to define transition states.\",\n \"Dynamically applies `starting`/`ending` styles and sets `data-starting`/`data-ending` attributes on the child element based on transition phase.\",\n \"Manages mounting/unmounting of children post-animation, with a `keepMounted` option, using a custom `useAnimationsFinished` hook.\",\n \"Provides a declarative API for CSS-based transitions.\",\n ],\n category: \"Utility\",\n packages: [\n \"@base-ui-components/react/use-render\",\n \"@base-ui-components/react/merge-props\",\n \"@base-ui-components/react/utils\",\n ],\n originalDocUrl: \"https://base-ui.com/react/components\", // General Base UI components link as specific utility pages might vary\n description:\n \"Provides utilities for applying CSS transitions and animations to components.\",\n },\n Typography: {\n name: \"Typography\",\n link: \"/typography\",\n base: \"antd\",\n refinements: [\n \"Extends Ant Design Typography with custom styles or additional text utilities\",\n ],\n category: \"Data Display\",\n originalDocUrl: \"https://ant.design/components/typography\",\n description:\n \"Typography is a component that provides a set of tools for working with text, including text alignment, font size, and font weight.\",\n },\n Tree: {\n name: \"Tree\",\n link: \"/tree\",\n base: \"antd\",\n refinements: [\n \"Utilizes rc-tree for core functionality\",\n \"Enhanced features like custom node rendering, drag-and-drop, or advanced filtering\",\n ],\n category: \"Data Display\",\n packages: [\"rc-tree\"],\n originalDocUrl: \"https://ant.design/components/tree\",\n description:\n \"A hierarchical list structure component that presents nested data clearly.\",\n },\n Truncate: {\n name: \"Truncate\",\n link: \"/truncate\",\n base: \"custom\",\n refinements: [\n \"Custom implementation for text truncation\",\n \"Supports middle and end truncation\",\n \"Configurable ellipsis and tooltip on hover\",\n \"Multi-line truncation with configurable number of lines\",\n \"Auto-height truncation that adapts to parent container size\",\n ],\n category: \"Data Display\",\n description:\n \"The Truncate component helps manage text overflow by truncating text elegantly and displaying an ellipsis. It supports truncation at the middle or end of the text.\",\n },\n Upload: {\n name: \"Upload\",\n link: \"/upload\",\n base: \"antd\",\n refinements: [\n \"Defaults to a custom `itemRender` function that utilizes a bespoke `UploadItem` component for the file list.\",\n \"`UploadItem` component features: file type icon, middle-truncated file name (using Truncate component), progress bar with status mapping, and a remove button.\",\n \"Added `showRemoveButton` prop (defaults to true) on the `Upload` component to control visibility of the remove action in `UploadItem`.\",\n \"`UploadItem` includes a slot for `extraActions` allowing additional custom controls per file.\",\n \"Provides a default `Button` with `CloudArrowUp` icon and 'Upload Files' text if no children are passed to `Upload`.\",\n \"Includes `Upload.Dragger` for drag-and-drop functionality, styled for the design system.\",\n \"Exports `Upload.Item` (the UploadItem component) for potential direct use.\",\n \"Applies BioTuring Design System specific styling and CSS classes.\",\n ],\n category: \"Data Entry\",\n originalDocUrl: \"https://ant.design/components/upload\",\n description: \"Allows users to select and upload files.\",\n },\n VerticalCollapsiblePanel: {\n name: \"Vertical Collapsible Panel\",\n link: \"/vertical-collapsible-panel\",\n base: \"base-ui\",\n refinements: [\n \"Built upon `@base-ui-components/react` Collapsible components (`Collapsible.Root`, `Collapsible.Panel`).\",\n \"Manages open/closed state with a custom `useControlledState` hook for controlled/uncontrolled behavior.\",\n \"Features custom expand/collapse trigger icons (`MinusCircle`, `PlusCircle` from `@bioturing/assets`) via IconButton.\",\n \"Automatically truncates string titles using the `Truncate` component.\",\n \"Provides `afterTitle` and `actions` slots in the header for additional UI elements, visible when open.\",\n \"Integrates the BioTuring `Transition` component for smooth open/close animations of the panel body, managed with `useAnimationsFinished` hook.\",\n \"Offers a `contentPadding` prop (default `16px`) for customizable body padding via CSS variable `--ds-content-padding`.\",\n \"Extensive custom CSS for layout, typography, and a unique feature: header text displays vertically (`writing-mode: vertical-rl`) when collapsed.\",\n \"Supports `keepMounted` prop and applies Ant Design CSS variables for theming.\",\n ],\n category: \"Layout\",\n packages: [\"@base-ui-components/react\"],\n originalDocUrl:\n \"https://base-ui.com/react/components/vertical-collapsible-panel\", // Assuming this kebab-case name for Base UI docs\n description:\n \"A panel that can be collapsed or expanded vertically, often used in sidebars or for sectioning content.\",\n },\n} satisfies Record<string, ComponentMetadata>;\n\n/**\n * Get all components by category\n */\nexport const getComponentsByCategory = (): Record<\n ComponentCategory,\n ComponentMetadata[]\n> => {\n const categories: Record<ComponentCategory, ComponentMetadata[]> = {\n Actions: [],\n General: [],\n Layout: [],\n Navigation: [],\n \"Data Entry\": [],\n \"Data Display\": [],\n Feedback: [],\n Overlay: [],\n Utility: [],\n };\n\n Object.values(componentMetadata).forEach((component) => {\n categories[component.category].push(component);\n });\n\n // Sort components alphabetically within each category\n Object.keys(categories).forEach((category) => {\n categories[category as ComponentCategory].sort((a, b) =>\n a.name.localeCompare(b.name)\n );\n });\n\n return categories;\n};\n"],"names":["componentMetadata","getComponentsByCategory","categories","component","category","a","b"],"mappings":"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"}