@ramme-io/ui 1.1.4 → 1.1.5

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 (67) hide show
  1. package/dist/index.d.ts +1 -63
  2. package/dist/index.es.js +2170 -7
  3. package/dist/index.umd.js +1710 -1710
  4. package/dist/{components → src/components}/ui/Button.d.ts +4 -3
  5. package/dist/src/index.d.ts +64 -0
  6. package/package.json +1 -1
  7. /package/dist/{blocks → src/blocks}/ai/Actions.d.ts +0 -0
  8. /package/dist/{blocks → src/blocks}/ai/ChatFAB.d.ts +0 -0
  9. /package/dist/{blocks → src/blocks}/ai/Conversation.d.ts +0 -0
  10. /package/dist/{blocks → src/blocks}/ai/Loader.d.ts +0 -0
  11. /package/dist/{blocks → src/blocks}/ai/Message.d.ts +0 -0
  12. /package/dist/{blocks → src/blocks}/ai/PromptInput.d.ts +0 -0
  13. /package/dist/{blocks → src/blocks}/iot/DeviceCard.d.ts +0 -0
  14. /package/dist/{component-registry.d.ts → src/component-registry.d.ts} +0 -0
  15. /package/dist/{components → src/components}/data-display/ActivityFeed.d.ts +0 -0
  16. /package/dist/{components → src/components}/data-display/BarChart.d.ts +0 -0
  17. /package/dist/{components → src/components}/data-display/ChartWithTable.d.ts +0 -0
  18. /package/dist/{components → src/components}/data-display/CodeBlock.d.ts +0 -0
  19. /package/dist/{components → src/components}/data-display/DataTable.d.ts +0 -0
  20. /package/dist/{components → src/components}/data-display/LineChart.d.ts +0 -0
  21. /package/dist/{components → src/components}/data-display/PieChart.d.ts +0 -0
  22. /package/dist/{components → src/components}/data-display/StatCard.d.ts +0 -0
  23. /package/dist/{components → src/components}/data-display/StatusBadge.d.ts +0 -0
  24. /package/dist/{components → src/components}/data-display/Table.d.ts +0 -0
  25. /package/dist/{components → src/components}/feedback/Alert.d.ts +0 -0
  26. /package/dist/{components → src/components}/feedback/EmptyState.d.ts +0 -0
  27. /package/dist/{components → src/components}/feedback/TippyTooltip.d.ts +0 -0
  28. /package/dist/{components → src/components}/feedback/Toast.d.ts +0 -0
  29. /package/dist/{components → src/components}/feedback/ToastProvider.d.ts +0 -0
  30. /package/dist/{components → src/components}/forms/ButtonGroup.d.ts +0 -0
  31. /package/dist/{components → src/components}/forms/Checkbox.d.ts +0 -0
  32. /package/dist/{components → src/components}/forms/ComboBox.d.ts +0 -0
  33. /package/dist/{components → src/components}/forms/DatePicker.d.ts +0 -0
  34. /package/dist/{components → src/components}/forms/FileUpload.d.ts +0 -0
  35. /package/dist/{components → src/components}/forms/FormTemplate.d.ts +0 -0
  36. /package/dist/{components → src/components}/forms/Input.d.ts +0 -0
  37. /package/dist/{components → src/components}/forms/MultiSelect.d.ts +0 -0
  38. /package/dist/{components → src/components}/forms/Radio.d.ts +0 -0
  39. /package/dist/{components → src/components}/forms/SearchInput.d.ts +0 -0
  40. /package/dist/{components → src/components}/forms/SegmentedControl.d.ts +0 -0
  41. /package/dist/{components → src/components}/forms/Select.d.ts +0 -0
  42. /package/dist/{components → src/components}/forms/Textarea.d.ts +0 -0
  43. /package/dist/{components → src/components}/forms/ToggleSwitch.d.ts +0 -0
  44. /package/dist/{components → src/components}/layout/Accordion.d.ts +0 -0
  45. /package/dist/{components → src/components}/layout/ActionBar.d.ts +0 -0
  46. /package/dist/{components → src/components}/layout/Card.d.ts +0 -0
  47. /package/dist/{components → src/components}/layout/Drawer.d.ts +0 -0
  48. /package/dist/{components → src/components}/layout/List.d.ts +0 -0
  49. /package/dist/{components → src/components}/layout/Modal.d.ts +0 -0
  50. /package/dist/{components → src/components}/layout/PageHeader.d.ts +0 -0
  51. /package/dist/{components → src/components}/layout/SectionHeader.d.ts +0 -0
  52. /package/dist/{components → src/components}/layout/Sidebar.d.ts +0 -0
  53. /package/dist/{components → src/components}/layout/StorySidebarContent.d.ts +0 -0
  54. /package/dist/{components → src/components}/navigation/Breadcrumbs.d.ts +0 -0
  55. /package/dist/{components → src/components}/navigation/Menu.d.ts +0 -0
  56. /package/dist/{components → src/components}/navigation/Pagination.d.ts +0 -0
  57. /package/dist/{components → src/components}/navigation/Stepper.d.ts +0 -0
  58. /package/dist/{components → src/components}/navigation/Tabs.d.ts +0 -0
  59. /package/dist/{components → src/components}/ui/Avatar.d.ts +0 -0
  60. /package/dist/{components → src/components}/ui/Badge.d.ts +0 -0
  61. /package/dist/{components → src/components}/ui/Icon.d.ts +0 -0
  62. /package/dist/{components → src/components}/ui/icon-loader.d.ts +0 -0
  63. /package/dist/{contexts → src/contexts}/ThemeContext.d.ts +0 -0
  64. /package/dist/{data → src/data}/mockData.d.ts +0 -0
  65. /package/dist/{lib → src/lib}/hooks/useChartTheme.d.ts +0 -0
  66. /package/dist/{lib → src/lib}/hooks/useDataFetch.d.ts +0 -0
  67. /package/dist/{utils → src/utils}/cn.d.ts +0 -0
package/dist/index.es.js CHANGED
@@ -163017,18 +163017,2180 @@ const BW = ({ label: t, to: e, isCurrent: r, className: i, icon: n }) => {
163017
163017
  button: zh,
163018
163018
  Icon: fn,
163019
163019
  icon: fn
163020
- }, FRt = [
163020
+ }, FRt = {
163021
+ components: [
163022
+ {
163023
+ id: "suggestion",
163024
+ name: "Suggestion",
163025
+ version: "1.0.0",
163026
+ description: "A small, pill-shaped button that offers a quick, suggested reply or follow-up question to the user.",
163027
+ tags: [
163028
+ "ui",
163029
+ "ai",
163030
+ "button",
163031
+ "suggestion",
163032
+ "actions"
163033
+ ],
163034
+ category: "ai",
163035
+ props: [
163036
+ {
163037
+ name: "onClick",
163038
+ type: "() => void",
163039
+ description: "Function to call when the suggestion is clicked."
163040
+ }
163041
+ ],
163042
+ importPath: "./blocks/ai/Actions",
163043
+ filePath: "src/blocks/ai/Actions.tsx"
163044
+ },
163045
+ {
163046
+ id: "actions",
163047
+ name: "Actions",
163048
+ version: "1.0.4",
163049
+ description: "A container for displaying a list of suggested, clickable actions that the user can take next.",
163050
+ tags: [
163051
+ "ui",
163052
+ "ai",
163053
+ "layout",
163054
+ "actions",
163055
+ "suggestion"
163056
+ ],
163057
+ category: "ai",
163058
+ props: [],
163059
+ importPath: "./blocks/ai/Actions",
163060
+ filePath: "src/blocks/ai/Actions.tsx"
163061
+ },
163062
+ {
163063
+ id: "chat-fab",
163064
+ name: "ChatFAB",
163065
+ version: "1.0.0",
163066
+ description: "A floating action button (FAB) specifically for opening a chat interface, with a tooltip and icon.",
163067
+ tags: [
163068
+ "ui",
163069
+ "button",
163070
+ "chat",
163071
+ "fab",
163072
+ "ai"
163073
+ ],
163074
+ category: "ui",
163075
+ props: [
163076
+ {
163077
+ name: "onClick",
163078
+ type: "() => void",
163079
+ description: "Function to call when the button is clicked."
163080
+ },
163081
+ {
163082
+ name: "className",
163083
+ type: "string",
163084
+ description: "Optional additional CSS classes for custom styling."
163085
+ },
163086
+ {
163087
+ name: "tooltipContent",
163088
+ type: "string",
163089
+ description: "The text content for the button's tooltip.",
163090
+ default: "'Open AI Assistant'"
163091
+ }
163092
+ ],
163093
+ importPath: "./blocks/ai/ChatFAB",
163094
+ filePath: "src/blocks/ai/ChatFAB.tsx"
163095
+ },
163096
+ {
163097
+ id: "conversation",
163098
+ name: "Conversation",
163099
+ version: "1.0.0",
163100
+ description: "A container component that holds a series of Message components and manages the layout and scrolling of the chat history.",
163101
+ tags: [
163102
+ "ui",
163103
+ "ai",
163104
+ "layout",
163105
+ "chat"
163106
+ ],
163107
+ category: "ai",
163108
+ props: [],
163109
+ importPath: "./blocks/ai/Conversation",
163110
+ filePath: "src/blocks/ai/Conversation.tsx"
163111
+ },
163112
+ {
163113
+ id: "loader",
163114
+ name: "Loader",
163115
+ version: "1.0.0",
163116
+ description: "A visual indicator used within an AI Message to show that a response is being generated.",
163117
+ tags: [
163118
+ "ui",
163119
+ "ai",
163120
+ "feedback",
163121
+ "loading"
163122
+ ],
163123
+ category: "ai",
163124
+ props: [],
163125
+ importPath: "./blocks/ai/Loader",
163126
+ filePath: "src/blocks/ai/Loader.tsx"
163127
+ },
163128
+ {
163129
+ id: "message",
163130
+ name: "Message",
163131
+ version: "1.0.0",
163132
+ description: "Displays a single message in a conversation, including an avatar, author, content, and optional suggestions.",
163133
+ tags: [
163134
+ "ui",
163135
+ "ai",
163136
+ "chat",
163137
+ "display"
163138
+ ],
163139
+ category: "ai",
163140
+ props: [
163141
+ {
163142
+ name: "author",
163143
+ type: "string",
163144
+ description: `"The name of the message author (e.g., 'User' or 'AI Assistant')."`
163145
+ },
163146
+ {
163147
+ name: "content",
163148
+ type: "string",
163149
+ description: "The text content of the message."
163150
+ },
163151
+ {
163152
+ name: "isUser",
163153
+ type: "boolean",
163154
+ description: "If true, styles the message as from the user."
163155
+ },
163156
+ {
163157
+ name: "loading",
163158
+ type: "boolean",
163159
+ description: "If true, displays the Loader component instead of content."
163160
+ },
163161
+ {
163162
+ name: "suggestions",
163163
+ type: "string[]",
163164
+ description: "An array of strings to display as suggested actions."
163165
+ },
163166
+ {
163167
+ name: "onSuggestionClick",
163168
+ type: "(suggestion: string) => void",
163169
+ description: "Callback for when a suggestion is clicked."
163170
+ }
163171
+ ],
163172
+ importPath: "./blocks/ai/Message",
163173
+ filePath: "src/blocks/ai/Message.tsx"
163174
+ },
163175
+ {
163176
+ id: "prompt-input",
163177
+ name: "PromptInput",
163178
+ version: "1.0.0",
163179
+ description: "A specialized input field for users to type and submit prompts, including a send button.",
163180
+ tags: [
163181
+ "ui",
163182
+ "ai",
163183
+ "form",
163184
+ "input",
163185
+ "chat"
163186
+ ],
163187
+ category: "ai",
163188
+ props: [
163189
+ {
163190
+ name: "value",
163191
+ type: "string",
163192
+ description: "The current value of the input field."
163193
+ },
163194
+ {
163195
+ name: "onChange",
163196
+ type: "(e: React.ChangeEvent<HTMLInputElement>) => void",
163197
+ description: "Callback fired when the input value changes."
163198
+ },
163199
+ {
163200
+ name: "onSubmit",
163201
+ type: "(e: React.FormEvent) => void",
163202
+ description: "Callback fired when the form is submitted."
163203
+ },
163204
+ {
163205
+ name: "placeholder",
163206
+ type: "string",
163207
+ description: "Placeholder text for the input field.",
163208
+ default: '"Type your message..."'
163209
+ }
163210
+ ],
163211
+ importPath: "./blocks/ai/PromptInput",
163212
+ filePath: "src/blocks/ai/PromptInput.tsx"
163213
+ },
163214
+ {
163215
+ id: "activity-feed",
163216
+ name: "ActivityFeed",
163217
+ version: "1.0.0",
163218
+ description: "Displays a chronological list of recent activities, typically with a timeline indicator.",
163219
+ tags: [
163220
+ "templates",
163221
+ "patterns",
163222
+ "feed",
163223
+ "timeline",
163224
+ "data-display"
163225
+ ],
163226
+ category: "templates-patterns",
163227
+ props: [
163228
+ {
163229
+ name: "items",
163230
+ type: "ActivityItemData[]",
163231
+ description: "An array of activity items to display in the feed."
163232
+ },
163233
+ {
163234
+ name: "title",
163235
+ type: "string",
163236
+ description: "An optional title for the activity feed card.",
163237
+ default: '"Activity Feed"'
163238
+ },
163239
+ {
163240
+ name: "changelogUrl",
163241
+ type: "string",
163242
+ description: 'An optional URL for a "View changelog" link.'
163243
+ }
163244
+ ],
163245
+ importPath: "./components/data-display/ActivityFeed",
163246
+ filePath: "src/components/data-display/ActivityFeed.tsx"
163247
+ },
163248
+ {
163249
+ id: "bar-chart",
163250
+ name: "BarChart",
163251
+ version: "1.0.0",
163252
+ description: "A theme-aware bar chart component powered by Recharts, for comparing categorical data.",
163253
+ tags: [
163254
+ "charts",
163255
+ "data-visualization",
163256
+ "rechart"
163257
+ ],
163258
+ category: "charts",
163259
+ props: [
163260
+ {
163261
+ name: "data",
163262
+ type: "any[]",
163263
+ description: "The dataset for the chart. Each object in the array represents a category."
163264
+ },
163265
+ {
163266
+ name: "dataKeyX",
163267
+ type: "string",
163268
+ description: "The key from your data objects to be used for the X-axis (e.g., 'name', 'category')."
163269
+ },
163270
+ {
163271
+ name: "barKeys",
163272
+ type: "{ key: string; color: string }[]",
163273
+ description: "An array of objects, each specifying a data key for a bar series and its color (e.g., `[{ key: 'pv', color: '#8884d8' }]`)."
163274
+ },
163275
+ {
163276
+ name: "title",
163277
+ type: "string",
163278
+ description: "An optional title to display above the chart."
163279
+ }
163280
+ ],
163281
+ importPath: "./components/data-display/BarChart",
163282
+ filePath: "src/components/data-display/BarChart.tsx"
163283
+ },
163284
+ {
163285
+ id: "chart-with-table",
163286
+ name: "ChartWithTable",
163287
+ version: "1.0.0",
163288
+ description: "A wrapper component that combines a chart with an option to view its underlying data in a table within a drawer.",
163289
+ tags: [
163290
+ "templates",
163291
+ "charts",
163292
+ "data-display",
163293
+ "pattern",
163294
+ "dashboard"
163295
+ ],
163296
+ category: "templates-patterns",
163297
+ props: [
163298
+ {
163299
+ name: "title",
163300
+ type: "string",
163301
+ description: "The title displayed at the top of the chart card."
163302
+ },
163303
+ {
163304
+ name: "children",
163305
+ type: "React.ReactNode",
163306
+ description: "The chart component itself (e.g., <BarChart />, <LineChart />)."
163307
+ },
163308
+ {
163309
+ name: "data",
163310
+ type: "any[]",
163311
+ description: "The raw data array used to render the chart and the table view."
163312
+ },
163313
+ {
163314
+ name: "tableHeaders",
163315
+ type: "TableHeader[]",
163316
+ description: "The column definitions for the table view."
163317
+ }
163318
+ ],
163319
+ importPath: "./components/data-display/ChartWithTable",
163320
+ filePath: "src/components/data-display/ChartWithTable.tsx"
163321
+ },
163322
+ {
163323
+ id: "code-block",
163324
+ name: "CodeBlock",
163325
+ version: "1.0.0",
163326
+ description: "A component for displaying formatted and syntax-highlighted code snippets.",
163327
+ tags: [
163328
+ "ui",
163329
+ "data-display",
163330
+ "code"
163331
+ ],
163332
+ category: "ui",
163333
+ props: [
163334
+ {
163335
+ name: "code",
163336
+ type: "string",
163337
+ description: "The string of code to display."
163338
+ },
163339
+ {
163340
+ name: "language",
163341
+ type: "string",
163342
+ description: "The programming language for syntax highlighting (e.g., 'tsx', 'css', 'javascript')."
163343
+ }
163344
+ ],
163345
+ importPath: "./components/data-display/CodeBlock",
163346
+ filePath: "src/components/data-display/CodeBlock.tsx"
163347
+ },
163348
+ {
163349
+ id: "data-table",
163350
+ name: "DataTable",
163351
+ version: "1.0.0",
163352
+ description: "A powerful data grid component that wraps AG Grid, providing advanced features like sorting, filtering, and resizing, fully themed to match the application.",
163353
+ tags: [
163354
+ "data-display",
163355
+ "grid",
163356
+ "table",
163357
+ "ag-grid",
163358
+ "advanced"
163359
+ ],
163360
+ category: "data-display",
163361
+ props: [
163362
+ {
163363
+ name: "rowData",
163364
+ type: "any[]",
163365
+ description: "The data to display in the grid, an array of row objects."
163366
+ },
163367
+ {
163368
+ name: "columnDefs",
163369
+ type: "ColDef[]",
163370
+ description: "An array defining the columns of the grid, using AG Grid's `ColDef` structure."
163371
+ },
163372
+ {
163373
+ name: "height",
163374
+ type: "string",
163375
+ description: "The height of the data table container (e.g., '500px', '100%').",
163376
+ default: "'500px'"
163377
+ },
163378
+ {
163379
+ name: "defaultColDef",
163380
+ type: "ColDef",
163381
+ description: "Default column definitions applied to all columns unless overridden."
163382
+ },
163383
+ {
163384
+ name: "gridOptions",
163385
+ type: "GridOptions",
163386
+ description: "Additional AG Grid options to configure the grid's behavior."
163387
+ }
163388
+ ],
163389
+ importPath: "./components/data-display/DataTable",
163390
+ filePath: "src/components/data-display/DataTable.tsx"
163391
+ },
163392
+ {
163393
+ id: "line-chart",
163394
+ name: "LineChart",
163395
+ version: "1.0.0",
163396
+ description: "A theme-aware line chart component...",
163397
+ tags: [
163398
+ "charts",
163399
+ "data-visualization",
163400
+ "rechart"
163401
+ ],
163402
+ category: "charts",
163403
+ props: [],
163404
+ importPath: "./components/data-display/LineChart",
163405
+ filePath: "src/components/data-display/LineChart.tsx"
163406
+ },
163407
+ {
163408
+ id: "pie-chart",
163409
+ name: "PieChart",
163410
+ version: "1.0.0",
163411
+ description: "A theme-aware pie chart component powered by Recharts, for showing proportional relationships of parts to a whole.",
163412
+ tags: [
163413
+ "charts",
163414
+ "data-visualization",
163415
+ "rechart"
163416
+ ],
163417
+ category: "charts",
163418
+ props: [],
163419
+ importPath: "./components/data-display/PieChart",
163420
+ filePath: "src/components/data-display/PieChart.tsx"
163421
+ },
163422
+ {
163423
+ id: "stat-card",
163424
+ name: "StatCard",
163425
+ version: "1.0.0",
163426
+ description: "A specialized card for prominently displaying a key statistic, including an icon and optional trend indicator.",
163427
+ tags: [
163428
+ "templates",
163429
+ "data-display",
163430
+ "metrics",
163431
+ "dashboard",
163432
+ "ui"
163433
+ ],
163434
+ category: "templates-patterns",
163435
+ props: [
163436
+ {
163437
+ name: "title",
163438
+ type: "string",
163439
+ description: "The label for the displayed metric."
163440
+ },
163441
+ {
163442
+ name: "value",
163443
+ type: "string",
163444
+ description: "The main value of the statistic."
163445
+ },
163446
+ {
163447
+ name: "icon",
163448
+ type: "IconName",
163449
+ description: "The name of a Lucide icon to represent the metric."
163450
+ },
163451
+ {
163452
+ name: "changeText",
163453
+ type: "string",
163454
+ description: "Text describing the change in the metric (e.g., '10% since last month')."
163455
+ },
163456
+ {
163457
+ name: "changeDirection",
163458
+ type: `"'positive' | 'negative'"`,
163459
+ description: "The direction of change, which determines the color of the badge."
163460
+ },
163461
+ {
163462
+ name: "footerText",
163463
+ type: "string",
163464
+ description: "Optional text displayed at the bottom of the card for context."
163465
+ },
163466
+ {
163467
+ name: "className",
163468
+ type: "string",
163469
+ description: "Optional additional CSS classes for custom styling."
163470
+ }
163471
+ ],
163472
+ importPath: "./components/data-display/StatCard",
163473
+ filePath: "src/components/data-display/StatCard.tsx"
163474
+ },
163475
+ {
163476
+ id: "status-badge",
163477
+ name: "StatusBadge",
163478
+ version: "1.0.0",
163479
+ description: "A consistent status indicator featuring a color-coded dot and an optional text label. Essential for IoT devices and system states.",
163480
+ tags: [
163481
+ "status",
163482
+ "badge",
163483
+ "iot",
163484
+ "indicator",
163485
+ "dot"
163486
+ ],
163487
+ category: "data-display",
163488
+ props: [
163489
+ {
163490
+ name: "status",
163491
+ type: "'online' | 'offline' | 'error' | 'warning' | 'active'",
163492
+ description: "The state to represent. Determines the color of the dot."
163493
+ },
163494
+ {
163495
+ name: "label",
163496
+ type: "string",
163497
+ description: 'Custom text to display next to the dot. If omitted, displays the status name (e.g., "Online").'
163498
+ },
163499
+ {
163500
+ name: "showDot",
163501
+ type: "boolean",
163502
+ description: "Whether to show the colored indicator dot.",
163503
+ default: "true"
163504
+ },
163505
+ {
163506
+ name: "className",
163507
+ type: "string",
163508
+ description: "Additional CSS classes."
163509
+ }
163510
+ ],
163511
+ importPath: "./components/data-display/StatusBadge",
163512
+ filePath: "src/components/data-display/StatusBadge.tsx"
163513
+ },
163514
+ {
163515
+ id: "table",
163516
+ name: "Table",
163517
+ version: "1.0.0",
163518
+ description: "A simple, theme-aware HTML table component for displaying tabular data, with support for custom cell rendering and empty states.",
163519
+ tags: [
163520
+ "data-display",
163521
+ "table",
163522
+ "ui"
163523
+ ],
163524
+ category: "data-display",
163525
+ props: [
163526
+ {
163527
+ name: "headers",
163528
+ type: '"{ key: string; label: string; render?: (value: any, row: Record<string, any>) => React.ReactNode; }[]"',
163529
+ description: "An array defining the table columns, including a `key`, `label`, and optional `render` function for custom cell content."
163530
+ },
163531
+ {
163532
+ name: "data",
163533
+ type: '"Record<string, any>[]"',
163534
+ description: "An array of objects, where each object represents a row of data for the table."
163535
+ },
163536
+ {
163537
+ name: "caption",
163538
+ type: "string",
163539
+ description: "An optional caption for the table, providing a title or summary."
163540
+ },
163541
+ {
163542
+ name: "className",
163543
+ type: "string",
163544
+ description: "Optional additional CSS classes for custom styling of the table container."
163545
+ }
163546
+ ],
163547
+ importPath: "./components/data-display/Table",
163548
+ filePath: "src/components/data-display/Table.tsx"
163549
+ },
163550
+ {
163551
+ id: "alert",
163552
+ name: "Alert",
163553
+ version: "1.0.0",
163554
+ description: "Displays static, in-page messages to convey important information like success, warnings, or errors.",
163555
+ tags: [
163556
+ "feedback",
163557
+ "message",
163558
+ "notification",
163559
+ "ui"
163560
+ ],
163561
+ category: "feedback",
163562
+ props: [
163563
+ {
163564
+ name: "title",
163565
+ type: "string",
163566
+ description: "The main heading or concise summary of the alert message."
163567
+ },
163568
+ {
163569
+ name: "children",
163570
+ type: "React.ReactNode",
163571
+ description: "Optional additional content or a longer description for the alert."
163572
+ },
163573
+ {
163574
+ name: "variant",
163575
+ type: "'info' | 'success' | 'warning' | 'danger'",
163576
+ description: "Defines the color scheme, icon, and semantic meaning of the alert.",
163577
+ default: "'info'"
163578
+ },
163579
+ {
163580
+ name: "className",
163581
+ type: "string",
163582
+ description: "Optional additional CSS classes for custom styling of the alert container."
163583
+ }
163584
+ ],
163585
+ importPath: "./components/feedback/Alert",
163586
+ filePath: "src/components/feedback/Alert.tsx"
163587
+ },
163588
+ {
163589
+ id: "empty-state",
163590
+ name: "EmptyState",
163591
+ version: "1.0.0",
163592
+ description: "A component for displaying a message when there is no data or content to show.",
163593
+ tags: [
163594
+ "ui",
163595
+ "feedback",
163596
+ "empty",
163597
+ "placeholder"
163598
+ ],
163599
+ category: "feedback",
163600
+ props: [
163601
+ {
163602
+ name: "icon",
163603
+ type: "React.ComponentProps<typeof Icon>['name']",
163604
+ description: "The name of a Lucide icon to visually represent the empty state."
163605
+ },
163606
+ {
163607
+ name: "title",
163608
+ type: "string",
163609
+ description: "The main heading or title for the empty state message."
163610
+ },
163611
+ {
163612
+ name: "description",
163613
+ type: "string",
163614
+ description: "A longer, descriptive text explaining the empty state or next steps."
163615
+ },
163616
+ {
163617
+ name: "actionButton",
163618
+ type: "React.ReactNode",
163619
+ description: "An optional React node, typically a Button, to provide a primary action."
163620
+ },
163621
+ {
163622
+ name: "className",
163623
+ type: "string",
163624
+ description: "Additional CSS classes for custom styling of the container."
163625
+ }
163626
+ ],
163627
+ importPath: "./components/feedback/EmptyState",
163628
+ filePath: "src/components/feedback/EmptyState.tsx"
163629
+ },
163630
+ {
163631
+ id: "tippy-tooltip",
163632
+ name: "TippyTooltip",
163633
+ version: "1.0.0",
163634
+ description: "A flexible and theme-aware tooltip component that displays additional information on hover.",
163635
+ tags: [
163636
+ "ui",
163637
+ "feedback",
163638
+ "tooltip",
163639
+ "overlay"
163640
+ ],
163641
+ category: "feedback",
163642
+ props: [
163643
+ {
163644
+ name: "children",
163645
+ type: "React.ReactNode",
163646
+ description: "The element that triggers the tooltip when hovered over (or clicked, etc.)."
163647
+ },
163648
+ {
163649
+ name: "content",
163650
+ type: "React.ReactNode",
163651
+ description: "The content to be displayed inside the tooltip."
163652
+ },
163653
+ {
163654
+ name: "placement",
163655
+ type: "TippyProps['placement']",
163656
+ description: "The position of the tooltip relative to its trigger element (e.g., 'top', 'bottom', 'left', 'right').",
163657
+ default: "'top'"
163658
+ },
163659
+ {
163660
+ name: "className",
163661
+ type: "string",
163662
+ description: "Optional additional CSS classes for custom styling of the tooltip content."
163663
+ }
163664
+ ],
163665
+ importPath: "./components/feedback/TippyTooltip",
163666
+ filePath: "src/components/feedback/TippyTooltip.tsx"
163667
+ },
163668
+ {
163669
+ id: "toast",
163670
+ name: "Toast",
163671
+ version: "1.0.0",
163672
+ description: "A single, transient notification message that appears briefly to provide feedback.",
163673
+ tags: [
163674
+ "feedback",
163675
+ "notification",
163676
+ "message",
163677
+ "ui"
163678
+ ],
163679
+ category: "feedback",
163680
+ props: [
163681
+ {
163682
+ name: "id",
163683
+ type: "string",
163684
+ description: "A unique identifier for this specific toast instance."
163685
+ },
163686
+ {
163687
+ name: "title",
163688
+ type: "string",
163689
+ description: "An optional title for the toast notification."
163690
+ },
163691
+ {
163692
+ name: "message",
163693
+ type: "string",
163694
+ description: "The main text content of the toast notification."
163695
+ },
163696
+ {
163697
+ name: "type",
163698
+ type: `"'success' | 'error' | 'info' | 'warning'"`,
163699
+ description: "Defines the visual style and semantic meaning of the toast.",
163700
+ default: "'info'"
163701
+ },
163702
+ {
163703
+ name: "duration",
163704
+ type: "number",
163705
+ description: "How long the toast should remain visible in milliseconds. Set to `0` for a sticky toast.",
163706
+ default: "5000"
163707
+ },
163708
+ {
163709
+ name: "onDismiss",
163710
+ type: "(id: string) => void",
163711
+ description: "Callback function triggered when the toast is dismissed."
163712
+ }
163713
+ ],
163714
+ importPath: "./components/feedback/Toast",
163715
+ filePath: "src/components/feedback/Toast.tsx"
163716
+ },
163717
+ {
163718
+ id: "use-toast",
163719
+ name: "useToast",
163720
+ version: "1.0.0",
163721
+ description: "A React hook to easily add and dismiss toast notifications anywhere within a `ToastProvider`.",
163722
+ tags: [
163723
+ "hook",
163724
+ "feedback",
163725
+ "notification"
163726
+ ],
163727
+ category: "feedback",
163728
+ props: [],
163729
+ importPath: "./components/feedback/ToastProvider",
163730
+ filePath: "src/components/feedback/ToastProvider.tsx"
163731
+ },
163732
+ {
163733
+ id: "toast-provider",
163734
+ name: "ToastProvider",
163735
+ version: "1.0.4",
163736
+ description: "Provides a context for displaying transient notifications (toasts). Wrap your application with this component.",
163737
+ tags: [
163738
+ "feedback",
163739
+ "notification",
163740
+ "context",
163741
+ "provider"
163742
+ ],
163743
+ category: "feedback",
163744
+ props: [
163745
+ {
163746
+ name: "children",
163747
+ type: "React.ReactNode",
163748
+ description: "The React nodes that will have access to the `useToast` hook. Typically wraps the entire application."
163749
+ }
163750
+ ],
163751
+ importPath: "./components/feedback/ToastProvider",
163752
+ filePath: "src/components/feedback/ToastProvider.tsx"
163753
+ },
163754
+ {
163755
+ id: "button-group",
163756
+ name: "ButtonGroup",
163757
+ version: "1.0.0",
163758
+ description: "Groups multiple Button components visually and can function as a segmented control (radio group).",
163759
+ tags: [
163760
+ "ui",
163761
+ "form",
163762
+ "action",
163763
+ "group"
163764
+ ],
163765
+ category: "form",
163766
+ props: [
163767
+ {
163768
+ name: "children",
163769
+ type: "React.ReactNode",
163770
+ description: "The `Button` components to be grouped together."
163771
+ },
163772
+ {
163773
+ name: "className",
163774
+ type: "string",
163775
+ description: "Optional additional CSS classes to apply to the container."
163776
+ },
163777
+ {
163778
+ name: "value",
163779
+ type: "string | number",
163780
+ description: "For segmented controls, the value of the currently selected button."
163781
+ },
163782
+ {
163783
+ name: "onValueChange",
163784
+ type: "(value: string | number) => void",
163785
+ description: "Callback function for segmented controls, called when the selected value changes."
163786
+ }
163787
+ ],
163788
+ importPath: "./components/forms/ButtonGroup",
163789
+ filePath: "src/components/forms/ButtonGroup.tsx"
163790
+ },
163791
+ {
163792
+ id: "checkbox",
163793
+ name: "Checkbox",
163794
+ version: "1.0.0",
163795
+ description: "A standard checkbox input for selecting one or more options from a set.",
163796
+ tags: [
163797
+ "form",
163798
+ "input",
163799
+ "selection",
163800
+ "ui"
163801
+ ],
163802
+ category: "form",
163803
+ props: [
163804
+ {
163805
+ name: "label",
163806
+ type: "React.ReactNode",
163807
+ description: "The visible label associated with the checkbox. Can be text or JSX."
163808
+ },
163809
+ {
163810
+ name: "id",
163811
+ type: "string",
163812
+ description: "A unique HTML `id` for the input element. Automatically generated if not provided."
163813
+ },
163814
+ {
163815
+ name: "checked",
163816
+ type: "boolean",
163817
+ description: "Controls whether the checkbox is currently checked."
163818
+ },
163819
+ {
163820
+ name: "onChange",
163821
+ type: "(event: React.ChangeEvent<HTMLInputElement>) => void",
163822
+ description: "Callback function triggered when the checkbox's checked state changes."
163823
+ },
163824
+ {
163825
+ name: "disabled",
163826
+ type: "boolean",
163827
+ description: "If true, the checkbox is unclickable and styled as disabled."
163828
+ },
163829
+ {
163830
+ name: "className",
163831
+ type: "string",
163832
+ description: "Optional additional CSS classes for the input element."
163833
+ }
163834
+ ],
163835
+ importPath: "./components/forms/Checkbox",
163836
+ filePath: "src/components/forms/Checkbox.tsx"
163837
+ },
163838
+ {
163839
+ id: "combo-box",
163840
+ name: "ComboBox",
163841
+ version: "1.0.0",
163842
+ description: "A text input with an integrated dropdown list of selectable options, allowing both typing and selection.",
163843
+ tags: [
163844
+ "form",
163845
+ "input",
163846
+ "select",
163847
+ "dropdown",
163848
+ "autocomplete",
163849
+ "ui"
163850
+ ],
163851
+ category: "form",
163852
+ props: [],
163853
+ importPath: "./components/forms/ComboBox",
163854
+ filePath: "src/components/forms/ComboBox.tsx"
163855
+ },
163856
+ {
163857
+ id: "date-picker",
163858
+ name: "DatePicker",
163859
+ version: "1.0.0",
163860
+ description: "A calendar-based input component for selecting single dates, with theme integration.",
163861
+ tags: [
163862
+ "form",
163863
+ "input",
163864
+ "date",
163865
+ "calendar",
163866
+ "ui"
163867
+ ],
163868
+ category: "form",
163869
+ props: [
163870
+ {
163871
+ name: "label",
163872
+ type: "string",
163873
+ description: "An optional label displayed above the date picker input field."
163874
+ },
163875
+ {
163876
+ name: "selected",
163877
+ type: "Date | null",
163878
+ description: "The currently selected date object, or `null` if no date is selected."
163879
+ },
163880
+ {
163881
+ name: "onChange",
163882
+ type: "(date: Date | null) => void",
163883
+ description: "Callback function triggered when a new date is selected."
163884
+ },
163885
+ {
163886
+ name: "className",
163887
+ type: "string",
163888
+ description: "Optional additional CSS classes for the date picker's wrapper container."
163889
+ },
163890
+ {
163891
+ name: "dateFormat",
163892
+ type: "string",
163893
+ description: "The format string for displaying the date (e.g., 'MM/dd/yyyy', 'yyyy-MM-dd')."
163894
+ },
163895
+ {
163896
+ name: "showTimeSelect",
163897
+ type: "boolean",
163898
+ description: "If true, also allows time selection in addition to date selection."
163899
+ },
163900
+ {
163901
+ name: "isClearable",
163902
+ type: "boolean",
163903
+ description: "If true, displays a clear button to deselect the date."
163904
+ },
163905
+ {
163906
+ name: "placeholderText",
163907
+ type: "string",
163908
+ description: "Text displayed when no date is selected."
163909
+ },
163910
+ {
163911
+ name: "minDate",
163912
+ type: "Date",
163913
+ description: "The earliest selectable date."
163914
+ },
163915
+ {
163916
+ name: "maxDate",
163917
+ type: "Date",
163918
+ description: "The latest selectable date."
163919
+ }
163920
+ ],
163921
+ importPath: "./components/forms/DatePicker",
163922
+ filePath: "src/components/forms/DatePicker.tsx"
163923
+ },
163924
+ {
163925
+ id: "file-upload",
163926
+ name: "FileUpload",
163927
+ version: "1.0.0",
163928
+ description: "A component allowing users to upload files via drag-and-drop or a file browser, with support for multiple files and accepted types.",
163929
+ tags: [
163930
+ "form",
163931
+ "input",
163932
+ "upload",
163933
+ "files",
163934
+ "ui"
163935
+ ],
163936
+ category: "form",
163937
+ props: [
163938
+ {
163939
+ name: "onFileUpload",
163940
+ type: "(files: File[]) => void",
163941
+ description: "Callback function triggered when files are selected or dropped, providing an array of File objects."
163942
+ },
163943
+ {
163944
+ name: "multiple",
163945
+ type: "boolean",
163946
+ description: "If true, allows the user to select and upload multiple files.",
163947
+ default: "false"
163948
+ },
163949
+ {
163950
+ name: "acceptedFileTypes",
163951
+ type: "string",
163952
+ description: 'A string specifying acceptable file types (e.g., ".pdf,.txt,.xml", "image/*").'
163953
+ },
163954
+ {
163955
+ name: "label",
163956
+ type: "string",
163957
+ description: "An optional label displayed above the file upload area."
163958
+ },
163959
+ {
163960
+ name: "className",
163961
+ type: "string",
163962
+ description: "Optional additional CSS classes for custom styling of the file upload container."
163963
+ }
163964
+ ],
163965
+ importPath: "./components/forms/FileUpload",
163966
+ filePath: "src/components/forms/FileUpload.tsx"
163967
+ },
163968
+ {
163969
+ id: "form-template",
163970
+ name: "FormTemplate",
163971
+ version: "1.0.0",
163972
+ description: "A data-driven form builder that renders a grid of input fields from a configuration array, handling internal state and submission.",
163973
+ tags: [
163974
+ "form",
163975
+ "template",
163976
+ "builder",
163977
+ "input",
163978
+ "layout"
163979
+ ],
163980
+ category: "form",
163981
+ props: [
163982
+ {
163983
+ name: "fields",
163984
+ type: "FormField[]",
163985
+ description: "An array of field definition objects (name, label, type, etc.) that determine the form structure."
163986
+ },
163987
+ {
163988
+ name: "onSubmit",
163989
+ type: "(formData: Record<string, any>) => void",
163990
+ description: "Callback function triggered when the form is submitted, receiving the collected data."
163991
+ },
163992
+ {
163993
+ name: "className",
163994
+ type: "string",
163995
+ description: "Optional additional CSS classes for the form container."
163996
+ },
163997
+ {
163998
+ name: "children",
163999
+ type: "React.ReactNode",
164000
+ description: 'Content to render at the bottom of the form, typically used for action buttons like "Save" or "Cancel".'
164001
+ }
164002
+ ],
164003
+ importPath: "./components/forms/FormTemplate",
164004
+ filePath: "src/components/forms/FormTemplate.tsx"
164005
+ },
164006
+ {
164007
+ id: "input",
164008
+ name: "Input",
164009
+ version: "1.0.0",
164010
+ description: "A theme-aware text input component with support for labels, icons, helper text, and validation states. Supports all standard HTML input attributes.",
164011
+ tags: [
164012
+ "form",
164013
+ "input",
164014
+ "ui",
164015
+ "text"
164016
+ ],
164017
+ category: "form",
164018
+ props: [
164019
+ {
164020
+ name: "label",
164021
+ type: "string",
164022
+ description: "An optional label to display above the input field."
164023
+ },
164024
+ {
164025
+ name: "icon",
164026
+ type: "IconName",
164027
+ description: "Optional icon name to display inside the input field."
164028
+ },
164029
+ {
164030
+ name: "helperText",
164031
+ type: "string",
164032
+ description: "A string that provides a hint or an error message below the input."
164033
+ },
164034
+ {
164035
+ name: "error",
164036
+ type: "boolean",
164037
+ description: "If true, the input will be styled to indicate an error.",
164038
+ default: "false"
164039
+ },
164040
+ {
164041
+ name: "required",
164042
+ type: "boolean",
164043
+ description: "If true, a required indicator (*) will be displayed next to the label.",
164044
+ default: "false"
164045
+ },
164046
+ {
164047
+ name: "showOptionalLabel",
164048
+ type: "boolean",
164049
+ description: 'If true, an "(optional)" indicator will be displayed next to the label.',
164050
+ default: "false"
164051
+ },
164052
+ {
164053
+ name: "containerClassName",
164054
+ type: "string",
164055
+ description: "Optional additional CSS classes for the container."
164056
+ }
164057
+ ],
164058
+ importPath: "./components/forms/Input",
164059
+ filePath: "src/components/forms/Input.tsx"
164060
+ },
164061
+ {
164062
+ id: "multi-select",
164063
+ name: "MultiSelect",
164064
+ version: "1.0.0",
164065
+ description: "An enhanced dropdown that allows users to select multiple options from a searchable list.",
164066
+ tags: [
164067
+ "form",
164068
+ "input",
164069
+ "select",
164070
+ "dropdown"
164071
+ ],
164072
+ category: "form",
164073
+ props: [],
164074
+ importPath: "./components/forms/MultiSelect",
164075
+ filePath: "src/components/forms/MultiSelect.tsx"
164076
+ },
164077
+ {
164078
+ id: "radio",
164079
+ name: "Radio",
164080
+ version: "1.0.0",
164081
+ description: "A single radio button input, typically used within a group where only one option can be selected.",
164082
+ tags: [
164083
+ "form",
164084
+ "input",
164085
+ "selection",
164086
+ "ui"
164087
+ ],
164088
+ category: "form",
164089
+ props: [
164090
+ {
164091
+ name: "label",
164092
+ type: "React.ReactNode",
164093
+ description: "The visible label associated with the radio button. Can be text or JSX."
164094
+ },
164095
+ {
164096
+ name: "id",
164097
+ type: "string",
164098
+ description: "A unique HTML `id` for the input element. Automatically generated if not provided."
164099
+ },
164100
+ {
164101
+ name: "name",
164102
+ type: "string",
164103
+ description: "The HTML `name` attribute, crucial for grouping radio buttons so only one can be selected."
164104
+ },
164105
+ {
164106
+ name: "value",
164107
+ type: "string | number | readonly string[]",
164108
+ description: "The value associated with this radio button when it is selected."
164109
+ },
164110
+ {
164111
+ name: "checked",
164112
+ type: "boolean",
164113
+ description: "Controls whether the radio button is currently selected."
164114
+ },
164115
+ {
164116
+ name: "onChange",
164117
+ type: "(event: React.ChangeEvent<HTMLInputElement>) => void",
164118
+ description: "Callback function triggered when the radio button's checked state changes."
164119
+ },
164120
+ {
164121
+ name: "disabled",
164122
+ type: "boolean",
164123
+ description: "If true, the radio button is unclickable and styled as disabled."
164124
+ },
164125
+ {
164126
+ name: "className",
164127
+ type: "string",
164128
+ description: "Optional additional CSS classes for the input element."
164129
+ }
164130
+ ],
164131
+ importPath: "./components/forms/Radio",
164132
+ filePath: "src/components/forms/Radio.tsx"
164133
+ },
164134
+ {
164135
+ id: "search-input",
164136
+ name: "SearchInput",
164137
+ version: "1.0.0",
164138
+ description: "A specialized input for search functionality, using the base Input component with a search icon.",
164139
+ tags: [
164140
+ "form",
164141
+ "input",
164142
+ "search",
164143
+ "ui"
164144
+ ],
164145
+ category: "form",
164146
+ props: [],
164147
+ importPath: "./components/forms/SearchInput",
164148
+ filePath: "src/components/forms/SearchInput.tsx"
164149
+ },
164150
+ {
164151
+ id: "segmented-control",
164152
+ name: "SegmentedControl",
164153
+ version: "1.0.0",
164154
+ description: 'A linear toggle component that functions like a radio group. Ideal for switching between discrete modes (e.g., "Off / Auto / On").',
164155
+ tags: [
164156
+ "input",
164157
+ "toggle",
164158
+ "switch",
164159
+ "radio",
164160
+ "control"
164161
+ ],
164162
+ category: "input",
164163
+ props: [
164164
+ {
164165
+ name: "options",
164166
+ type: "Array<{ label: string, value: string | number }>",
164167
+ description: "The list of segments to display."
164168
+ },
164169
+ {
164170
+ name: "value",
164171
+ type: "string | number",
164172
+ description: "The currently selected value."
164173
+ },
164174
+ {
164175
+ name: "onChange",
164176
+ type: "function",
164177
+ description: "Callback fired when a segment is selected."
164178
+ },
164179
+ {
164180
+ name: "size",
164181
+ type: "'sm' | 'md'",
164182
+ description: "The size of the control.",
164183
+ default: "'md'"
164184
+ },
164185
+ {
164186
+ name: "className",
164187
+ type: "string",
164188
+ description: "Additional CSS classes."
164189
+ }
164190
+ ],
164191
+ importPath: "./components/forms/SegmentedControl",
164192
+ filePath: "src/components/forms/SegmentedControl.tsx"
164193
+ },
164194
+ {
164195
+ id: "select",
164196
+ name: "Select",
164197
+ version: "1.0.0",
164198
+ description: "A standard HTML select dropdown component for choosing a single option from a list.",
164199
+ tags: [
164200
+ "form",
164201
+ "input",
164202
+ "dropdown",
164203
+ "ui"
164204
+ ],
164205
+ category: "form",
164206
+ props: [
164207
+ {
164208
+ name: "options",
164209
+ type: "{ value: string | number; label: string; }[]",
164210
+ description: "An array of objects defining the selectable options, each with a `value` and `label`."
164211
+ },
164212
+ {
164213
+ name: "label",
164214
+ type: "string",
164215
+ description: "An optional label displayed above the select dropdown."
164216
+ },
164217
+ {
164218
+ name: "id",
164219
+ type: "string",
164220
+ description: "A unique HTML `id` for the select element. Automatically generated if not provided."
164221
+ },
164222
+ {
164223
+ name: "className",
164224
+ type: "string",
164225
+ description: "Optional additional CSS classes for the select element."
164226
+ },
164227
+ {
164228
+ name: "value",
164229
+ type: "string | number | readonly string[]",
164230
+ description: "The currently selected option's value."
164231
+ },
164232
+ {
164233
+ name: "onChange",
164234
+ type: "(event: React.ChangeEvent<HTMLSelectElement>) => void",
164235
+ description: "Callback function triggered when the selected value changes."
164236
+ },
164237
+ {
164238
+ name: "disabled",
164239
+ type: "boolean",
164240
+ description: "If true, the select dropdown will be unclickable."
164241
+ }
164242
+ ],
164243
+ importPath: "./components/forms/Select",
164244
+ filePath: "src/components/forms/Select.tsx"
164245
+ },
164246
+ {
164247
+ id: "textarea",
164248
+ name: "Textarea",
164249
+ version: "1.0.0",
164250
+ description: "A theme-aware textarea component for multi-line text input.",
164251
+ tags: [
164252
+ "form",
164253
+ "input",
164254
+ "ui"
164255
+ ],
164256
+ category: "form",
164257
+ props: [
164258
+ {
164259
+ name: "label",
164260
+ type: "string",
164261
+ description: "An optional label to display above the textarea."
164262
+ },
164263
+ {
164264
+ name: "containerClassName",
164265
+ type: "string",
164266
+ description: "Optional additional CSS classes for the container div."
164267
+ }
164268
+ ],
164269
+ importPath: "./components/forms/Textarea",
164270
+ filePath: "src/components/forms/Textarea.tsx"
164271
+ },
164272
+ {
164273
+ id: "toggle-switch",
164274
+ name: "ToggleSwitch",
164275
+ version: "1.0.0",
164276
+ description: "A theme-aware toggle switch component, offering a boolean input alternative to a checkbox.",
164277
+ tags: [
164278
+ "form",
164279
+ "ui",
164280
+ "toggle",
164281
+ "switch",
164282
+ "input"
164283
+ ],
164284
+ category: "form",
164285
+ props: [
164286
+ {
164287
+ name: "checked",
164288
+ type: "boolean",
164289
+ description: "Controls whether the toggle is in the 'on' (checked) or 'off' (unchecked) state."
164290
+ },
164291
+ {
164292
+ name: "onChange",
164293
+ type: "(checked: boolean) => void",
164294
+ description: "Callback function triggered when the toggle state changes."
164295
+ },
164296
+ {
164297
+ name: "label",
164298
+ type: "string",
164299
+ description: "An accessible text label displayed next to the toggle switch."
164300
+ },
164301
+ {
164302
+ name: "className",
164303
+ type: "string",
164304
+ description: "Optional additional CSS classes for the toggle switch container."
164305
+ },
164306
+ {
164307
+ name: "disabled",
164308
+ type: "boolean",
164309
+ description: "If true, the toggle will be unclickable and styled as disabled.",
164310
+ default: "false"
164311
+ }
164312
+ ],
164313
+ importPath: "./components/forms/ToggleSwitch",
164314
+ filePath: "src/components/forms/ToggleSwitch.tsx"
164315
+ },
164316
+ {
164317
+ id: "page-header",
164318
+ name: "PageHeader",
164319
+ version: "1.0.0",
164320
+ description: "Displays the main header section of a page, including a title, optional description, and a slot for action buttons.",
164321
+ tags: [
164322
+ "layout",
164323
+ "typography",
164324
+ "header",
164325
+ "ui",
164326
+ "template"
164327
+ ],
164328
+ category: "templates-patterns",
164329
+ props: [
164330
+ {
164331
+ name: "title",
164332
+ type: "string",
164333
+ description: "The main title of the page."
164334
+ },
164335
+ {
164336
+ name: "description",
164337
+ type: "string",
164338
+ description: "A brief descriptive subtitle displayed below the main title."
164339
+ },
164340
+ {
164341
+ name: "actions",
164342
+ type: "React.ReactNode",
164343
+ description: "A slot for action buttons or other controls, typically aligned to the right of the header."
164344
+ },
164345
+ {
164346
+ name: "className",
164347
+ type: "string",
164348
+ description: "Optional additional CSS classes for custom styling of the page header container."
164349
+ }
164350
+ ],
164351
+ importPath: "./components/layout/PageHeader",
164352
+ filePath: "src/components/layout/PageHeader.tsx"
164353
+ },
164354
+ {
164355
+ id: "section-header",
164356
+ name: "SectionHeader",
164357
+ version: "1.0.0",
164358
+ description: "A simple, consistent header for organizing sections of content within a page.",
164359
+ tags: [
164360
+ "layout",
164361
+ "typography",
164362
+ "header",
164363
+ "ui"
164364
+ ],
164365
+ category: "templates-patterns",
164366
+ props: [
164367
+ {
164368
+ name: "title",
164369
+ type: "string",
164370
+ description: "The main title for the content section."
164371
+ },
164372
+ {
164373
+ name: "className",
164374
+ type: "string",
164375
+ description: "Optional additional CSS classes for custom styling of the header container."
164376
+ }
164377
+ ],
164378
+ importPath: "./components/layout/SectionHeader",
164379
+ filePath: "src/components/layout/SectionHeader.tsx"
164380
+ },
164381
+ {
164382
+ id: "sidebar",
164383
+ name: "Sidebar",
164384
+ version: "1.0.0",
164385
+ description: "A collapsible, responsive sidebar component.",
164386
+ tags: [],
164387
+ category: "",
164388
+ props: [],
164389
+ importPath: "./components/layout/Sidebar",
164390
+ filePath: "src/components/layout/Sidebar.tsx"
164391
+ },
164392
+ {
164393
+ id: "breadcrumb-item",
164394
+ name: "BreadcrumbItem",
164395
+ version: "1.0.0",
164396
+ description: "Represents a single step or link within a `Breadcrumbs` navigation path.",
164397
+ tags: [
164398
+ "navigation",
164399
+ "ui",
164400
+ "link"
164401
+ ],
164402
+ category: "navigation",
164403
+ props: [
164404
+ {
164405
+ name: "label",
164406
+ type: "React.ReactNode",
164407
+ description: "The text or content displayed for this breadcrumb item."
164408
+ },
164409
+ {
164410
+ name: "to",
164411
+ type: "string",
164412
+ description: "The URL path for this item to navigate to. If not provided, it's just text."
164413
+ },
164414
+ {
164415
+ name: "isCurrent",
164416
+ type: "boolean",
164417
+ description: "If true, indicates this is the current page and will not be a clickable link."
164418
+ },
164419
+ {
164420
+ name: "icon",
164421
+ type: "React.ReactNode",
164422
+ description: "An optional icon to display next to the breadcrumb label."
164423
+ },
164424
+ {
164425
+ name: "className",
164426
+ type: "string",
164427
+ description: "Additional CSS classes for custom styling of the individual item."
164428
+ }
164429
+ ],
164430
+ importPath: "./components/navigation/Breadcrumbs",
164431
+ filePath: "src/components/navigation/Breadcrumbs.tsx"
164432
+ },
164433
+ {
164434
+ id: "breadcrumbs",
164435
+ name: "Breadcrumbs",
164436
+ version: "1.0.4",
164437
+ description: "A navigation component that shows the user's current location within a hierarchy of pages.",
164438
+ tags: [
164439
+ "navigation",
164440
+ "ui",
164441
+ "path"
164442
+ ],
164443
+ category: "navigation",
164444
+ props: [
164445
+ {
164446
+ name: "children",
164447
+ type: "React.ReactElement<BreadcrumbItemProps>[]",
164448
+ description: "A collection of `BreadcrumbItem` components representing the path."
164449
+ },
164450
+ {
164451
+ name: "className",
164452
+ type: "string",
164453
+ description: "Additional CSS classes for custom styling of the breadcrumbs container."
164454
+ }
164455
+ ],
164456
+ importPath: "./components/navigation/Breadcrumbs",
164457
+ filePath: "src/components/navigation/Breadcrumbs.tsx"
164458
+ },
164459
+ {
164460
+ id: "menu-divider",
164461
+ name: "MenuDivider",
164462
+ version: "1.0.0",
164463
+ description: "A visual separator for grouping MenuItems within a Menu.",
164464
+ tags: [],
164465
+ category: "",
164466
+ props: [],
164467
+ importPath: "./components/navigation/Menu",
164468
+ filePath: "src/components/navigation/Menu.tsx"
164469
+ },
164470
+ {
164471
+ id: "menu-item",
164472
+ name: "MenuItem",
164473
+ version: "1.0.0",
164474
+ description: "An individual selectable item within a Menu component.",
164475
+ tags: [],
164476
+ category: "",
164477
+ props: [],
164478
+ importPath: "./components/navigation/Menu",
164479
+ filePath: "src/components/navigation/Menu.tsx"
164480
+ },
164481
+ {
164482
+ id: "menu",
164483
+ name: "Menu",
164484
+ version: "1.0.4",
164485
+ description: "A dropdown menu component, useful for navigation or contextual actions.",
164486
+ tags: [],
164487
+ category: "",
164488
+ props: [],
164489
+ importPath: "./components/navigation/Menu",
164490
+ filePath: "src/components/navigation/Menu.tsx"
164491
+ },
164492
+ {
164493
+ id: "pagination",
164494
+ name: "Pagination",
164495
+ version: "1.0.0",
164496
+ description: "A navigation control for moving between pages of content.",
164497
+ tags: [
164498
+ "navigation",
164499
+ "ui",
164500
+ "data-display"
164501
+ ],
164502
+ category: "navigation",
164503
+ props: [
164504
+ {
164505
+ name: "currentPage",
164506
+ type: "number",
164507
+ description: "The currently active page number (1-based index)."
164508
+ },
164509
+ {
164510
+ name: "totalPages",
164511
+ type: "number",
164512
+ description: "The total number of pages available."
164513
+ },
164514
+ {
164515
+ name: "onPageChange",
164516
+ type: "(page: number) => void",
164517
+ description: "Callback function invoked when the user selects a new page."
164518
+ },
164519
+ {
164520
+ name: "maxPageButtons",
164521
+ type: "number",
164522
+ description: "The maximum number of visible page number buttons.",
164523
+ default: "5"
164524
+ },
164525
+ {
164526
+ name: "className",
164527
+ type: "string",
164528
+ description: "Optional additional CSS classes for the container."
164529
+ }
164530
+ ],
164531
+ importPath: "./components/navigation/Pagination",
164532
+ filePath: "src/components/navigation/Pagination.tsx"
164533
+ },
164534
+ {
164535
+ id: "stepper",
164536
+ name: "Stepper",
164537
+ version: "1.0.0",
164538
+ description: "Guides users through a sequence of discrete steps, ideal for multi-step forms or onboarding flows.",
164539
+ tags: [
164540
+ "navigation",
164541
+ "progress",
164542
+ "wizard",
164543
+ "ui"
164544
+ ],
164545
+ category: "navigation",
164546
+ props: [
164547
+ {
164548
+ name: "steps",
164549
+ type: "{ label: string; summary?: string; }[]",
164550
+ description: "An array of step objects, each with a `label` and optional `summary`."
164551
+ },
164552
+ {
164553
+ name: "currentStep",
164554
+ type: "number",
164555
+ description: "The 0-based index of the currently active step."
164556
+ },
164557
+ {
164558
+ name: "className",
164559
+ type: "string",
164560
+ description: "Optional additional CSS classes for the stepper container."
164561
+ }
164562
+ ],
164563
+ importPath: "./components/navigation/Stepper",
164564
+ filePath: "src/components/navigation/Stepper.tsx"
164565
+ },
164566
+ {
164567
+ id: "tab-panel",
164568
+ name: "TabPanel",
164569
+ version: "1.0.0",
164570
+ description: "Represents a single tab and its associated content panel within a `Tabs` component.",
164571
+ tags: [
164572
+ "navigation",
164573
+ "ui",
164574
+ "content"
164575
+ ],
164576
+ category: "navigation",
164577
+ props: [
164578
+ {
164579
+ name: "id",
164580
+ type: "string",
164581
+ description: "A unique identifier for this tab panel, used to link it to its header."
164582
+ },
164583
+ {
164584
+ name: "label",
164585
+ type: "string",
164586
+ description: "The text label displayed on the tab header."
164587
+ },
164588
+ {
164589
+ name: "children",
164590
+ type: "React.ReactNode",
164591
+ description: "The content to be displayed when this tab is active."
164592
+ },
164593
+ {
164594
+ name: "icon",
164595
+ type: "React.ReactNode",
164596
+ description: "An optional icon to display next to the tab label in the header."
164597
+ }
164598
+ ],
164599
+ importPath: "./components/navigation/Tabs",
164600
+ filePath: "src/components/navigation/Tabs.tsx"
164601
+ },
164602
+ {
164603
+ id: "tabs",
164604
+ name: "Tabs",
164605
+ version: "1.0.4",
164606
+ description: "A navigation component that allows users to switch between different content panels within the same area.",
164607
+ tags: [
164608
+ "navigation",
164609
+ "ui",
164610
+ "content-switcher"
164611
+ ],
164612
+ category: "navigation",
164613
+ props: [
164614
+ {
164615
+ name: "children",
164616
+ type: "React.ReactElement<TabPanelProps>[]",
164617
+ description: "A collection of `TabPanel` components that define the tabs and their content."
164618
+ },
164619
+ {
164620
+ name: "defaultActiveTab",
164621
+ type: "string",
164622
+ description: "The `id` of the tab that should be active by default when the component mounts."
164623
+ },
164624
+ {
164625
+ name: "className",
164626
+ type: "string",
164627
+ description: "Additional CSS classes for custom styling of the tabs container."
164628
+ }
164629
+ ],
164630
+ importPath: "./components/navigation/Tabs",
164631
+ filePath: "src/components/navigation/Tabs.tsx"
164632
+ },
164633
+ {
164634
+ id: "avatar",
164635
+ name: "Avatar",
164636
+ version: "1.0.0",
164637
+ description: "Displays a user's profile picture or initials as a fallback, with different size options.",
164638
+ tags: [
164639
+ "ui",
164640
+ "profile",
164641
+ "user"
164642
+ ],
164643
+ category: "ui",
164644
+ props: [
164645
+ {
164646
+ name: "name",
164647
+ type: "string",
164648
+ description: "The name of the user, used for generating initials if no `src` is provided."
164649
+ },
164650
+ {
164651
+ name: "src",
164652
+ type: "string",
164653
+ description: "The URL of the image to display as the avatar. If not provided, initials are shown."
164654
+ },
164655
+ {
164656
+ name: "size",
164657
+ type: "'sm' | 'md' | 'lg'",
164658
+ description: "Controls the dimensions and font size of the avatar.",
164659
+ default: "'md'"
164660
+ },
164661
+ {
164662
+ name: "className",
164663
+ type: "string",
164664
+ description: "Optional additional CSS classes for custom styling."
164665
+ }
164666
+ ],
164667
+ importPath: "./components/ui/Avatar",
164668
+ filePath: "src/components/ui/Avatar.tsx"
164669
+ },
164670
+ {
164671
+ id: "badge",
164672
+ name: "Badge",
164673
+ version: "1.0.0",
164674
+ description: "A small component to display a status, count, or label.",
164675
+ tags: [
164676
+ "ui",
164677
+ "label",
164678
+ "indicator"
164679
+ ],
164680
+ category: "ui",
164681
+ props: [
164682
+ {
164683
+ name: "variant",
164684
+ type: `"'primary' | 'secondary' | 'danger' | 'success' | 'outline'"`,
164685
+ description: "The visual style of the badge."
164686
+ },
164687
+ {
164688
+ name: "children",
164689
+ type: "React.ReactNode",
164690
+ description: "The content to display inside the badge."
164691
+ }
164692
+ ],
164693
+ importPath: "./components/ui/Badge",
164694
+ filePath: "src/components/ui/Badge.tsx"
164695
+ },
164696
+ {
164697
+ id: "button",
164698
+ name: "Button",
164699
+ version: "1.0.1",
164700
+ description: "The primary interactive element. Supports polymorphism (rendering as a link) via the 'asChild' prop.",
164701
+ tags: [],
164702
+ category: "input",
164703
+ props: [
164704
+ {
164705
+ name: "variant",
164706
+ type: "'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'link' | 'accent'",
164707
+ description: "The visual style of the button.",
164708
+ default: "'primary'"
164709
+ },
164710
+ {
164711
+ name: "size",
164712
+ type: "'sm' | 'md' | 'lg' | 'icon'",
164713
+ description: "The size of the button.",
164714
+ default: "'md'"
164715
+ },
164716
+ {
164717
+ name: "loading",
164718
+ type: "boolean",
164719
+ description: "If true, replaces content with a spinner.",
164720
+ default: "false"
164721
+ },
164722
+ {
164723
+ name: "iconLeft",
164724
+ type: "IconName",
164725
+ description: "Optional icon to display before the text."
164726
+ },
164727
+ {
164728
+ name: "asChild",
164729
+ type: "boolean",
164730
+ description: "If true, delegates rendering to the child element (e.g. for Links).",
164731
+ default: "false"
164732
+ },
164733
+ {
164734
+ name: "onClick",
164735
+ type: "() => void",
164736
+ description: "Callback fired when the button is clicked."
164737
+ }
164738
+ ],
164739
+ importPath: "./components/ui/Button",
164740
+ filePath: "src/components/ui/Button.tsx"
164741
+ },
164742
+ {
164743
+ id: "icon",
164744
+ name: "Icon",
164745
+ version: "1.0.0",
164746
+ description: "A dynamic component that renders scalable vector icons from the Lucide library.",
164747
+ tags: [
164748
+ "ui",
164749
+ "graphics",
164750
+ "svg",
164751
+ "symbol"
164752
+ ],
164753
+ category: "ui",
164754
+ props: [
164755
+ {
164756
+ name: "name",
164757
+ type: "IconName",
164758
+ description: "The specific name of the Lucide icon to display (e.g., 'user', 'settings', 'check')."
164759
+ },
164760
+ {
164761
+ name: "size",
164762
+ type: "number | string",
164763
+ description: "The width and height of the icon in pixels or CSS units.",
164764
+ default: "24 (implicit from Lucide default)"
164765
+ },
164766
+ {
164767
+ name: "color",
164768
+ type: "string",
164769
+ description: "The color of the icon."
164770
+ },
164771
+ {
164772
+ name: "strokeWidth",
164773
+ type: "number | string",
164774
+ description: "The width of the icon's stroke.",
164775
+ default: "2 (implicit from Lucide default)"
164776
+ },
164777
+ {
164778
+ name: "className",
164779
+ type: "string",
164780
+ description: "Optional additional CSS classes for styling the SVG element."
164781
+ }
164782
+ ],
164783
+ importPath: "./components/ui/Icon",
164784
+ filePath: "src/components/ui/Icon.tsx"
164785
+ }
164786
+ ],
164787
+ layouts: [
164788
+ {
164789
+ id: "device-card",
164790
+ name: "DeviceCard",
164791
+ version: "1.0.0",
164792
+ description: "A specialized card designed to represent a physical device or a digital entity with live state. Features slots for status, live values, and interactive controls.",
164793
+ tags: [
164794
+ "layout",
164795
+ "iot",
164796
+ "device",
164797
+ "card",
164798
+ "dashboard"
164799
+ ],
164800
+ category: "layout",
164801
+ props: [
164802
+ {
164803
+ name: "title",
164804
+ type: "string",
164805
+ description: 'The name of the device or entity (e.g., "Living Room Thermostat").'
164806
+ },
164807
+ {
164808
+ name: "description",
164809
+ type: "string",
164810
+ description: 'A subtitle, often used for location or ID (e.g., "Floor 2 • ID: #442").'
164811
+ },
164812
+ {
164813
+ name: "icon",
164814
+ type: "IconName",
164815
+ description: "The icon representing the device type."
164816
+ },
164817
+ {
164818
+ name: "status",
164819
+ type: "'online' | 'offline' | 'error' | 'warning' | 'active'",
164820
+ description: "The current operational state of the device. Changes the badge color.",
164821
+ default: "'offline'"
164822
+ },
164823
+ {
164824
+ name: "value",
164825
+ type: "string | number",
164826
+ description: 'The primary "live" metric to display (e.g., "72°", "1,240 rpm").'
164827
+ },
164828
+ {
164829
+ name: "trend",
164830
+ type: "string",
164831
+ description: 'Optional secondary metric to show change (e.g., "+2%").'
164832
+ },
164833
+ {
164834
+ name: "children",
164835
+ type: "React.ReactNode",
164836
+ description: "Interactive controls to place at the bottom of the card (e.g., a ToggleSwitch or Button)."
164837
+ },
164838
+ {
164839
+ name: "className",
164840
+ type: "string",
164841
+ description: "Optional additional CSS classes."
164842
+ }
164843
+ ],
164844
+ importPath: "./blocks/iot/DeviceCard",
164845
+ filePath: "src/blocks/iot/DeviceCard.tsx"
164846
+ },
164847
+ {
164848
+ id: "accordion-item",
164849
+ name: "AccordionItem",
164850
+ version: "1.0.0",
164851
+ description: "A single, collapsible section within an `Accordion` component, consisting of a header and a hidden content body.",
164852
+ tags: [
164853
+ "layout",
164854
+ "ui",
164855
+ "collapsible",
164856
+ "expandable"
164857
+ ],
164858
+ category: "layout",
164859
+ props: [
164860
+ {
164861
+ name: "id",
164862
+ type: "string",
164863
+ description: "A unique identifier for this accordion item. Essential for `singleOpen` behavior."
164864
+ },
164865
+ {
164866
+ name: "header",
164867
+ type: "React.ReactNode",
164868
+ description: "The content displayed in the clickable header of the accordion item."
164869
+ },
164870
+ {
164871
+ name: "children",
164872
+ type: "React.ReactNode",
164873
+ description: "The content that will be revealed or hidden when the accordion item is toggled."
164874
+ },
164875
+ {
164876
+ name: "isOpen",
164877
+ type: "boolean",
164878
+ description: "Controls the open/closed state for this specific item (when used in a controlled `Accordion`)."
164879
+ },
164880
+ {
164881
+ name: "onToggle",
164882
+ type: "(id: string, isOpen: boolean) => void",
164883
+ description: "Callback triggered when the item is toggled, providing its `id` and new `isOpen` state."
164884
+ }
164885
+ ],
164886
+ importPath: "./components/layout/Accordion",
164887
+ filePath: "src/components/layout/Accordion.tsx"
164888
+ },
164889
+ {
164890
+ id: "accordion",
164891
+ name: "Accordion",
164892
+ version: "1.0.4",
164893
+ description: "A container for multiple collapsible sections (`AccordionItem`s), useful for organizing content.",
164894
+ tags: [
164895
+ "layout",
164896
+ "ui",
164897
+ "collapsible",
164898
+ "expandable"
164899
+ ],
164900
+ category: "layout",
164901
+ props: [
164902
+ {
164903
+ name: "children",
164904
+ type: "React.ReactElement<AccordionItemProps>[]",
164905
+ description: "A collection of `AccordionItem` components to be managed by this Accordion."
164906
+ },
164907
+ {
164908
+ name: "singleOpen",
164909
+ type: "boolean",
164910
+ description: "If true, only one `AccordionItem` can be open at a time. Opening one closes others.",
164911
+ default: "false"
164912
+ },
164913
+ {
164914
+ name: "className",
164915
+ type: "string",
164916
+ description: "Optional additional CSS classes for the Accordion container."
164917
+ }
164918
+ ],
164919
+ importPath: "./components/layout/Accordion",
164920
+ filePath: "src/components/layout/Accordion.tsx"
164921
+ },
164922
+ {
164923
+ id: "action-bar",
164924
+ name: "ActionBar",
164925
+ version: "1.0.0",
164926
+ description: "A persistent bar, typically at the bottom of a form or page, used to group primary actions like 'Save' and 'Cancel'.",
164927
+ tags: [
164928
+ "layout",
164929
+ "form",
164930
+ "actions",
164931
+ "buttons",
164932
+ "ui",
164933
+ "pattern"
164934
+ ],
164935
+ category: "layout",
164936
+ props: [
164937
+ {
164938
+ name: "children",
164939
+ type: "React.ReactNode",
164940
+ description: "The content of the action bar, typically `Button` components."
164941
+ },
164942
+ {
164943
+ name: "className",
164944
+ type: "string",
164945
+ description: "Optional additional CSS classes for custom styling of the action bar container."
164946
+ }
164947
+ ],
164948
+ importPath: "./components/layout/ActionBar",
164949
+ filePath: "src/components/layout/ActionBar.tsx"
164950
+ },
164951
+ {
164952
+ id: "card",
164953
+ name: "Card",
164954
+ version: "1.0.0",
164955
+ description: "A versatile container that adapts to the current theme. Its background, border, and shape are themeable.",
164956
+ tags: [
164957
+ "layout",
164958
+ "ui",
164959
+ "container",
164960
+ "box"
164961
+ ],
164962
+ category: "layout",
164963
+ props: [
164964
+ {
164965
+ name: "children",
164966
+ type: "React.ReactNode",
164967
+ description: "The content to be displayed inside the card."
164968
+ },
164969
+ {
164970
+ name: "className",
164971
+ type: "string",
164972
+ description: "Optional additional CSS classes for custom styling. Use this for adding padding, shadows, etc. (e.g., 'p-4 shadow-lg')."
164973
+ }
164974
+ ],
164975
+ importPath: "./components/layout/Card",
164976
+ filePath: "src/components/layout/Card.tsx"
164977
+ },
164978
+ {
164979
+ id: "drawer",
164980
+ name: "Drawer",
164981
+ version: "1.0.0",
164982
+ description: "A sliding panel that appears from the edge of the screen, used for additional content or forms.",
164983
+ tags: [
164984
+ "layout",
164985
+ "modal",
164986
+ "slide-in",
164987
+ "ui"
164988
+ ],
164989
+ category: "layout",
164990
+ props: [],
164991
+ importPath: "./components/layout/Drawer",
164992
+ filePath: "src/components/layout/Drawer.tsx"
164993
+ },
164994
+ {
164995
+ id: "list-item",
164996
+ name: "ListItem",
164997
+ version: "1.0.0",
164998
+ description: "Represents a single item within a `List` component.",
164999
+ tags: [
165000
+ "ui",
165001
+ "layout",
165002
+ "typography"
165003
+ ],
165004
+ category: "layout",
165005
+ props: [
165006
+ {
165007
+ name: "children",
165008
+ type: "React.ReactNode",
165009
+ description: "The content of the list item."
165010
+ },
165011
+ {
165012
+ name: "className",
165013
+ type: "string",
165014
+ description: "Optional additional CSS classes for the list item (`<li>`)."
165015
+ }
165016
+ ],
165017
+ importPath: "./components/layout/List",
165018
+ filePath: "src/components/layout/List.tsx"
165019
+ },
165020
+ {
165021
+ id: "list",
165022
+ name: "List",
165023
+ version: "1.0.0",
165024
+ description: "A component for displaying either ordered or unordered lists of `ListItem`s.",
165025
+ tags: [
165026
+ "ui",
165027
+ "layout",
165028
+ "typography"
165029
+ ],
165030
+ category: "layout",
165031
+ props: [
165032
+ {
165033
+ name: "type",
165034
+ type: "'ul' | 'ol'",
165035
+ description: "Specifies whether the list should be unordered ('ul') or ordered ('ol').",
165036
+ default: "'ul'"
165037
+ },
165038
+ {
165039
+ name: "children",
165040
+ type: "React.ReactNode",
165041
+ description: "The list items, typically `ListItem` components."
165042
+ },
165043
+ {
165044
+ name: "className",
165045
+ type: "string",
165046
+ description: "Optional additional CSS classes for the list container (`<ul>` or `<ol>`)."
165047
+ }
165048
+ ],
165049
+ importPath: "./components/layout/List",
165050
+ filePath: "src/components/layout/List.tsx"
165051
+ },
165052
+ {
165053
+ id: "definition-term",
165054
+ name: "DefinitionTerm",
165055
+ version: "1.0.0",
165056
+ description: "Represents a term within a `DefinitionList`.",
165057
+ tags: [
165058
+ "ui",
165059
+ "layout",
165060
+ "typography"
165061
+ ],
165062
+ category: "layout",
165063
+ props: [
165064
+ {
165065
+ name: "children",
165066
+ type: "React.ReactNode",
165067
+ description: "The content of the definition term."
165068
+ },
165069
+ {
165070
+ name: "className",
165071
+ type: "string",
165072
+ description: "Optional additional CSS classes for the definition term (`<dt>`)."
165073
+ }
165074
+ ],
165075
+ importPath: "./components/layout/List",
165076
+ filePath: "src/components/layout/List.tsx"
165077
+ },
165078
+ {
165079
+ id: "definition-description",
165080
+ name: "DefinitionDescription",
165081
+ version: "1.0.0",
165082
+ description: "Represents the description for a term within a `DefinitionList`.",
165083
+ tags: [
165084
+ "ui",
165085
+ "layout",
165086
+ "typography"
165087
+ ],
165088
+ category: "layout",
165089
+ props: [
165090
+ {
165091
+ name: "children",
165092
+ type: "React.ReactNode",
165093
+ description: "The content of the definition description."
165094
+ },
165095
+ {
165096
+ name: "className",
165097
+ type: "string",
165098
+ description: "Optional additional CSS classes for the definition description (`<dd>`)."
165099
+ }
165100
+ ],
165101
+ importPath: "./components/layout/List",
165102
+ filePath: "src/components/layout/List.tsx"
165103
+ },
165104
+ {
165105
+ id: "definition-list",
165106
+ name: "DefinitionList",
165107
+ version: "1.0.4",
165108
+ description: "Displays a list of terms and their corresponding definitions.",
165109
+ tags: [
165110
+ "ui",
165111
+ "layout",
165112
+ "typography",
165113
+ "data-display"
165114
+ ],
165115
+ category: "layout",
165116
+ props: [
165117
+ {
165118
+ name: "children",
165119
+ type: "React.ReactNode",
165120
+ description: "A collection of `DefinitionTerm` and `DefinitionDescription` components."
165121
+ },
165122
+ {
165123
+ name: "className",
165124
+ type: "string",
165125
+ description: "Optional additional CSS classes for the definition list container (`<dl>`)."
165126
+ }
165127
+ ],
165128
+ importPath: "./components/layout/List",
165129
+ filePath: "src/components/layout/List.tsx"
165130
+ },
165131
+ {
165132
+ id: "modal",
165133
+ name: "Modal",
165134
+ version: "1.0.0",
165135
+ description: "A dialog box that appears on top of the current page, requiring user interaction to dismiss.",
165136
+ tags: [
165137
+ "ui",
165138
+ "overlay",
165139
+ "dialog",
165140
+ "popup"
165141
+ ],
165142
+ category: "layout",
165143
+ props: [],
165144
+ importPath: "./components/layout/Modal",
165145
+ filePath: "src/components/layout/Modal.tsx"
165146
+ }
165147
+ ],
165148
+ utils: [],
165149
+ hooks: [],
165150
+ data: [
165151
+ {
165152
+ id: "mock-chart-data",
165153
+ name: "mockChartData",
165154
+ version: "1.0.0",
165155
+ description: "Pre-defined datasets for prototyping charts and other data-driven components.",
165156
+ tags: [
165157
+ "data",
165158
+ "mock",
165159
+ "example"
165160
+ ],
165161
+ category: "data",
165162
+ props: [],
165163
+ importPath: "./data/mockData",
165164
+ filePath: "src/data/mockData.ts"
165165
+ },
165166
+ {
165167
+ id: "mock-table-data",
165168
+ name: "mockTableData",
165169
+ version: "1.0.4",
165170
+ description: "Pre-defined datasets for prototyping tables and other data-driven components.",
165171
+ tags: [
165172
+ "data",
165173
+ "mock",
165174
+ "example"
165175
+ ],
165176
+ category: "data",
165177
+ props: [],
165178
+ importPath: "./data/mockData",
165179
+ filePath: "src/data/mockData.ts"
165180
+ }
165181
+ ]
165182
+ }, GRt = [
163021
165183
  { name: "Jan", uv: 4e3, pv: 2400 },
163022
165184
  { name: "Feb", uv: 3e3, pv: 1398 },
163023
165185
  { name: "Mar", uv: 2e3, pv: 9800 },
163024
165186
  { name: "Apr", uv: 2780, pv: 3908 },
163025
165187
  { name: "May", uv: 1890, pv: 4800 },
163026
165188
  { name: "Jun", uv: 2390, pv: 3800 }
163027
- ], GRt = [
165189
+ ], BRt = [
163028
165190
  { make: "Tesla", model: "Model Y", price: 65990, electric: !0 },
163029
165191
  { make: "Ford", model: "F-150", price: 33850, electric: !1 },
163030
165192
  { make: "Toyota", model: "Corolla", price: 29600, electric: !1 }
163031
- ], BRt = (t, e) => {
165193
+ ], VRt = (t, e) => {
163032
165194
  const [r, i] = ze(t), [n, s] = ze(!0), [o, a] = ze(null), l = ut(async () => {
163033
165195
  s(!0), a(null);
163034
165196
  try {
@@ -163121,10 +165283,11 @@ export {
163121
165283
  Zx as availableThemes,
163122
165284
  MAe as badgeVariants,
163123
165285
  _qe as buttonVariants,
163124
- FRt as mockChartData,
163125
- GRt as mockTableData,
163126
- BRt as useDataFetch,
165286
+ GRt as mockChartData,
165287
+ BRt as mockTableData,
165288
+ VRt as useDataFetch,
163127
165289
  R9 as useSidebar,
163128
165290
  ck as useTheme,
163129
- ORt as useToast
165291
+ ORt as useToast,
165292
+ FRt as wizardManifest
163130
165293
  };