ionbase-ui 0.84.0 → 0.88.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 (57) hide show
  1. package/dist/components/Checkbox.d.ts +39 -0
  2. package/dist/components/Checkbox.d.ts.map +1 -1
  3. package/dist/components/Checkbox.js +77 -4
  4. package/dist/components/Checkbox.js.map +1 -1
  5. package/dist/components/Fieldset.d.ts +62 -0
  6. package/dist/components/Fieldset.d.ts.map +1 -0
  7. package/dist/components/Fieldset.js +58 -0
  8. package/dist/components/Fieldset.js.map +1 -0
  9. package/dist/components/MultiSelect.d.ts +90 -0
  10. package/dist/components/MultiSelect.d.ts.map +1 -0
  11. package/dist/components/MultiSelect.js +189 -0
  12. package/dist/components/MultiSelect.js.map +1 -0
  13. package/dist/components/Radio.d.ts +14 -0
  14. package/dist/components/Radio.d.ts.map +1 -1
  15. package/dist/components/Radio.js +15 -4
  16. package/dist/components/Radio.js.map +1 -1
  17. package/dist/components/SearchField.d.ts +36 -0
  18. package/dist/components/SearchField.d.ts.map +1 -0
  19. package/dist/components/SearchField.js +76 -0
  20. package/dist/components/SearchField.js.map +1 -0
  21. package/dist/components/Toolbar.d.ts +35 -0
  22. package/dist/components/Toolbar.d.ts.map +1 -0
  23. package/dist/components/Toolbar.js +81 -0
  24. package/dist/components/Toolbar.js.map +1 -0
  25. package/dist/components/index.d.ts +10 -2
  26. package/dist/components/index.d.ts.map +1 -1
  27. package/dist/components/index.js +5 -1
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/figma-descriptions.json +97 -77
  30. package/dist/figma-map.json +228 -4
  31. package/dist/meta/Checkbox.json +8 -6
  32. package/dist/meta/CheckboxGroup.json +268 -0
  33. package/dist/meta/Combobox.json +8 -0
  34. package/dist/meta/Divider.json +2 -2
  35. package/dist/meta/Fieldset.json +162 -0
  36. package/dist/meta/MultiSelect.json +269 -0
  37. package/dist/meta/Radio.json +0 -1
  38. package/dist/meta/RadioGroup.json +59 -7
  39. package/dist/meta/SearchField.json +487 -0
  40. package/dist/meta/Select.json +2 -1
  41. package/dist/meta/Stepper.json +2 -2
  42. package/dist/meta/Tabs.json +3 -3
  43. package/dist/meta/Toolbar.json +130 -0
  44. package/dist/meta/components.json +1616 -238
  45. package/dist/meta/contrast.json +398 -74
  46. package/dist/meta/index.json +84 -8
  47. package/dist/meta/patterns/DataTable.json +33 -6
  48. package/dist/meta/patterns/Form.json +27 -2
  49. package/dist/meta/patterns/index.json +6 -2
  50. package/dist/styles/fieldset.css +65 -0
  51. package/dist/styles/index.css +4 -0
  52. package/dist/styles/multi-select.css +104 -0
  53. package/dist/styles/radio.css +0 -20
  54. package/dist/styles/search-field.css +70 -0
  55. package/dist/styles/toolbar.css +36 -0
  56. package/llms.txt +2 -2
  57. package/package.json +1 -1
@@ -1,387 +1,407 @@
1
1
  {
2
- "version": "0.84.0",
2
+ "version": "0.88.0",
3
3
  "begin": "───── CODE · ionbase-ui ─────",
4
4
  "end": "───── end code ─────",
5
5
  "blocks": {
6
6
  "1360:267": {
7
7
  "figmaComponent": "Accordion",
8
8
  "component": "Accordion",
9
- "block": "───── CODE · ionbase-ui ─────\nimport { Accordion } from 'ionbase-ui';\n<Accordion />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/accordion/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
9
+ "block": "───── CODE · ionbase-ui ─────\nimport { Accordion } from 'ionbase-ui';\n<Accordion />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/accordion/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
10
10
  },
11
11
  "1360:266": {
12
12
  "figmaComponent": "Accordion Item",
13
13
  "component": "AccordionItem",
14
- "block": "───── CODE · ionbase-ui ─────\nimport { AccordionItem } from 'ionbase-ui';\n<AccordionItem id={…} title={…}>Label</AccordionItem>\n\nPROPERTIES\n Title → title\n Content → children\n State → isDisabled (Disabled only)\n\nNOTES\n State: Collapsed and Expanded are the container’s expandedKeys, not the item’s: a static frame cannot own a selection, so the axis is drawn on the item and owned in code by Accordion.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/accordion-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
14
+ "block": "───── CODE · ionbase-ui ─────\nimport { AccordionItem } from 'ionbase-ui';\n<AccordionItem id={…} title={…}>Label</AccordionItem>\n\nPROPERTIES\n Title → title\n Content → children\n State → isDisabled (Disabled only)\n\nNOTES\n State: Collapsed and Expanded are the container’s expandedKeys, not the item’s: a static frame cannot own a selection, so the axis is drawn on the item and owned in code by Accordion.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/accordion-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
15
15
  },
16
16
  "1162:246": {
17
17
  "figmaComponent": "Agent Activity",
18
18
  "component": "AgentActivity",
19
- "block": "───── CODE · ionbase-ui ─────\nimport { AgentActivity } from 'ionbase-ui';\n<AgentActivity />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/agent-activity/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
19
+ "block": "───── CODE · ionbase-ui ─────\nimport { AgentActivity } from 'ionbase-ui';\n<AgentActivity />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/agent-activity/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
20
20
  },
21
21
  "1161:287": {
22
22
  "figmaComponent": "Agent Activity Step",
23
23
  "component": "AgentActivityStep",
24
- "block": "───── CODE · ionbase-ui ─────\nimport { AgentActivityStep } from 'ionbase-ui';\n<AgentActivityStep status=\"pending\">Label</AgentActivityStep>\n\nPROPERTIES\n Status → status: Pending=pending, Active=active, Done=done, Failed=failed, Skipped=skipped\n Label → children\n Detail → detail\n Show Detail → detail\n\nNOTES\n Show Detail: false means detail is omitted\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/agent-activity-step/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
24
+ "block": "───── CODE · ionbase-ui ─────\nimport { AgentActivityStep } from 'ionbase-ui';\n<AgentActivityStep status=\"pending\">Label</AgentActivityStep>\n\nPROPERTIES\n Status → status: Pending=pending, Active=active, Done=done, Failed=failed, Skipped=skipped\n Label → children\n Detail → detail\n Show Detail → detail\n\nNOTES\n Show Detail: false means detail is omitted\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/agent-activity-step/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
25
25
  },
26
26
  "1156:296": {
27
27
  "figmaComponent": "Agent Stop",
28
28
  "component": "AgentStop",
29
- "block": "───── CODE · ionbase-ui ─────\nimport { AgentStop } from 'ionbase-ui';\n<AgentStop size=\"sm\" onStop={…} />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Label → label\n Stopping Label → stoppingLabel\n\nNOTES\n State: Default/Hover are CSS states; Stopping is the drawn form of isStopping\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/agent-stop/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
29
+ "block": "───── CODE · ionbase-ui ─────\nimport { AgentStop } from 'ionbase-ui';\n<AgentStop size=\"sm\" onStop={…} />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Label → label\n Stopping Label → stoppingLabel\n\nNOTES\n State: Default/Hover are CSS states; Stopping is the drawn form of isStopping\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/agent-stop/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
30
30
  },
31
31
  "812:1902": {
32
32
  "figmaComponent": "Alert",
33
33
  "component": "Alert",
34
- "block": "───── CODE · ionbase-ui ─────\nimport { Alert } from 'ionbase-ui';\n<Alert intent=\"information\" emphasis=\"subtle\" layout=\"inline\">Label</Alert>\n\nPROPERTIES\n Intent → intent: Neutral=neutral, Primary=primary, Success=success, Warning=warning, Error=error, Information=information\n Emphasis → emphasis: Subtle=subtle, Solid=solid\n Layout → layout: Inline=inline, Banner=banner\n Title → title\n Show Title → title\n Message → children\n Show Icon → hideIcon\n Show Dismiss → onDismiss\n Show Actions → actions\n\nNOTES\n Show Title: false means omit title\n Show Icon: inverted — Figma's Show Icon false is hideIcon true\n Show Dismiss: the dismiss button appears when a handler is passed; there is no boolean\n Show Actions: an absent prop is the switch\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/alert/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
34
+ "block": "───── CODE · ionbase-ui ─────\nimport { Alert } from 'ionbase-ui';\n<Alert intent=\"information\" emphasis=\"subtle\" layout=\"inline\">Label</Alert>\n\nPROPERTIES\n Intent → intent: Neutral=neutral, Primary=primary, Success=success, Warning=warning, Error=error, Information=information\n Emphasis → emphasis: Subtle=subtle, Solid=solid\n Layout → layout: Inline=inline, Banner=banner\n Title → title\n Show Title → title\n Message → children\n Show Icon → hideIcon\n Show Dismiss → onDismiss\n Show Actions → actions\n\nNOTES\n Show Title: false means omit title\n Show Icon: inverted — Figma's Show Icon false is hideIcon true\n Show Dismiss: the dismiss button appears when a handler is passed; there is no boolean\n Show Actions: an absent prop is the switch\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/alert/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
35
35
  },
36
36
  "1160:423": {
37
37
  "figmaComponent": "Approval Gate",
38
38
  "component": "ApprovalGate",
39
- "block": "───── CODE · ionbase-ui ─────\nimport { ApprovalGate } from 'ionbase-ui';\n<ApprovalGate risk=\"low\" status=\"pending\" title={…}>Label</ApprovalGate>\n\nPROPERTIES\n Risk → risk: Low=low, Medium=medium, High=high\n Status → status: Pending=pending, Approved=approved, Rejected=rejected, Expired=expired\n Title → title\n Detail → children\n Show Detail → children\n Reject Label → rejectLabel\n Edit Label → editLabel\n Approve Label → approveLabel\n Show Edit → onEdit\n\nNOTES\n Show Detail: false means no children passed\n Show Edit: the Edit button renders only when onEdit is supplied\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/approval-gate/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
39
+ "block": "───── CODE · ionbase-ui ─────\nimport { ApprovalGate } from 'ionbase-ui';\n<ApprovalGate risk=\"low\" status=\"pending\" title={…}>Label</ApprovalGate>\n\nPROPERTIES\n Risk → risk: Low=low, Medium=medium, High=high\n Status → status: Pending=pending, Approved=approved, Rejected=rejected, Expired=expired\n Title → title\n Detail → children\n Show Detail → children\n Reject Label → rejectLabel\n Edit Label → editLabel\n Approve Label → approveLabel\n Show Edit → onEdit\n\nNOTES\n Show Detail: false means no children passed\n Show Edit: the Edit button renders only when onEdit is supplied\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/approval-gate/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
40
40
  },
41
41
  "74:164": {
42
42
  "figmaComponent": "Avatar",
43
43
  "component": "Avatar",
44
- "block": "───── CODE · ionbase-ui ─────\nimport { Avatar } from 'ionbase-ui';\n<Avatar size=\"lg\" shape=\"circle\" />\n\nPROPERTIES\n Size → size: Mini=mini, Small=sm, Medium=md, Large=lg\n Shape → shape: Circle=circle, Square=square\n Type → src (Image only)\n Initials → initials\n Icon → icon\n Show Ring → ring\n Show Top Indicator → topIndicator\n Show Bottom Indicator → bottomIndicator\n\nNOTES\n Type: code picks by precedence rather than a type prop: src, then initials, then icon. Character means pass initials, Icon means pass icon.\n Show Top Indicator: Figma needs a boolean because the intent lives on the nested Status Indicator instance; code takes the intent itself, so passing one is what shows the mark. The drawn instance is Intent=Primary with its check glyph, which is what `topIndicator=\"primary\"` renders.\n Show Bottom Indicator: As the top indicator — the intent comes from the nested Status Indicator, which a boolean cannot carry. The drawn instance is Intent=Success with no glyph.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/avatar/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
44
+ "block": "───── CODE · ionbase-ui ─────\nimport { Avatar } from 'ionbase-ui';\n<Avatar size=\"lg\" shape=\"circle\" />\n\nPROPERTIES\n Size → size: Mini=mini, Small=sm, Medium=md, Large=lg\n Shape → shape: Circle=circle, Square=square\n Type → src (Image only)\n Initials → initials\n Icon → icon\n Show Ring → ring\n Show Top Indicator → topIndicator\n Show Bottom Indicator → bottomIndicator\n\nNOTES\n Type: code picks by precedence rather than a type prop: src, then initials, then icon. Character means pass initials, Icon means pass icon.\n Show Top Indicator: Figma needs a boolean because the intent lives on the nested Status Indicator instance; code takes the intent itself, so passing one is what shows the mark. The drawn instance is Intent=Primary with its check glyph, which is what `topIndicator=\"primary\"` renders.\n Show Bottom Indicator: As the top indicator — the intent comes from the nested Status Indicator, which a boolean cannot carry. The drawn instance is Intent=Success with no glyph.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/avatar/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
45
45
  },
46
46
  "1054:305": {
47
47
  "figmaComponent": "Avatar Gradient",
48
48
  "component": "AvatarGradient",
49
- "block": "───── CODE · ionbase-ui ─────\nimport { AvatarGradient } from 'ionbase-ui';\n<AvatarGradient size=\"lg\" color=\"slate\" />\n\nPROPERTIES\n Size → size: Mini=mini, Small=sm, Medium=md, Large=lg\n Color → color: Slate=slate, Blue=blue, Violet=violet, Pink=pink, Orange=orange, Green=green, Red=red\n Initials → initials\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/avatar-gradient/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
49
+ "block": "───── CODE · ionbase-ui ─────\nimport { AvatarGradient } from 'ionbase-ui';\n<AvatarGradient size=\"lg\" color=\"slate\" />\n\nPROPERTIES\n Size → size: Mini=mini, Small=sm, Medium=md, Large=lg\n Color → color: Slate=slate, Blue=blue, Violet=violet, Pink=pink, Orange=orange, Green=green, Red=red\n Initials → initials\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/avatar-gradient/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
50
50
  },
51
51
  "74:279": {
52
52
  "figmaComponent": "Avatar Group",
53
53
  "component": "AvatarGroup",
54
- "block": "───── CODE · ionbase-ui ─────\nimport { AvatarGroup } from 'ionbase-ui';\n<AvatarGroup size=\"lg\" shape=\"circle\" />\n\nPROPERTIES\n Size → size: Mini=mini, Small=sm, Medium=md, Large=lg\n Shape → shape: Circle=circle, Square=square\n Show Overflow → max\n Show Avatar 3 → children\n Show Avatar 4 → children\n\nNOTES\n Show Overflow: the +N avatar appears when children exceed max\n Show Avatar 3: Figma needs a boolean per slot; React just renders fewer children\n Show Avatar 4: same\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/avatar-group/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
54
+ "block": "───── CODE · ionbase-ui ─────\nimport { AvatarGroup } from 'ionbase-ui';\n<AvatarGroup size=\"lg\" shape=\"circle\" />\n\nPROPERTIES\n Size → size: Mini=mini, Small=sm, Medium=md, Large=lg\n Shape → shape: Circle=circle, Square=square\n Show Overflow → max\n Show Avatar 3 → children\n Show Avatar 4 → children\n\nNOTES\n Show Overflow: the +N avatar appears when children exceed max\n Show Avatar 3: Figma needs a boolean per slot; React just renders fewer children\n Show Avatar 4: same\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/avatar-group/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
55
55
  },
56
56
  "152:73": {
57
57
  "figmaComponent": "Badge",
58
58
  "component": "Badge",
59
- "block": "───── CODE · ionbase-ui ─────\nimport { Badge } from 'ionbase-ui';\n<Badge intent=\"neutral\" size=\"sm\" shape=\"pill\">Label</Badge>\n\nPROPERTIES\n Intent → intent: Neutral=neutral, Primary=primary, Success=success, Warning=warning, Error=error, Information=information\n Label → children\n Show Label → children\n Show Dot → dot\n Show Icon → icon\n Swap Icon → icon\n Size → size: Small=sm, Medium=md, Large=lg\n Shape → shape: Pill=pill, Rounded=rounded\n\nNOTES\n Show Icon: false means omit icon; dot wins when both are set\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/badge/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
59
+ "block": "───── CODE · ionbase-ui ─────\nimport { Badge } from 'ionbase-ui';\n<Badge intent=\"neutral\" size=\"sm\" shape=\"pill\">Label</Badge>\n\nPROPERTIES\n Intent → intent: Neutral=neutral, Primary=primary, Success=success, Warning=warning, Error=error, Information=information\n Label → children\n Show Label → children\n Show Dot → dot\n Show Icon → icon\n Swap Icon → icon\n Size → size: Small=sm, Medium=md, Large=lg\n Shape → shape: Pill=pill, Rounded=rounded\n\nNOTES\n Show Icon: false means omit icon; dot wins when both are set\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/badge/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
60
60
  },
61
61
  "126:22724": {
62
62
  "figmaComponent": "Border",
63
63
  "component": "Divider",
64
- "block": "───── CODE · ionbase-ui ─────\nimport { Divider } from 'ionbase-ui';\n<Divider orientation=\"vertical\" />\n\nPROPERTIES\n Style → orientation: Horizontal=horizontal, Vertical=vertical\n\nFigma calls it Border; the code component is Divider, because it renders an <hr> and an <hr> is a thematic break rather than an edge.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/divider/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
64
+ "block": "───── CODE · ionbase-ui ─────\nimport { Divider } from 'ionbase-ui';\n<Divider orientation=\"vertical\" />\n\nPROPERTIES\n Style → orientation: Horizontal=horizontal, Vertical=vertical\n\nFigma calls it Border; the code component is Divider, because it renders an <hr> and an <hr> is a thematic break rather than an edge.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/divider/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
65
65
  },
66
66
  "1359:252": {
67
67
  "figmaComponent": "Breadcrumb",
68
68
  "component": "Breadcrumb",
69
- "block": "───── CODE · ionbase-ui ─────\nimport { Breadcrumb } from 'ionbase-ui';\n<Breadcrumb />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/breadcrumb/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
69
+ "block": "───── CODE · ionbase-ui ─────\nimport { Breadcrumb } from 'ionbase-ui';\n<Breadcrumb />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/breadcrumb/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
70
70
  },
71
71
  "1359:251": {
72
72
  "figmaComponent": "Breadcrumb Item",
73
73
  "component": "BreadcrumbItem",
74
- "block": "───── CODE · ionbase-ui ─────\nimport { BreadcrumbItem } from 'ionbase-ui';\n<BreadcrumbItem>Label</BreadcrumbItem>\n\nPROPERTIES\n Label → children\n State → isCurrent (Current only)\n\nNOTES\n Show Separator: The separator is a CSS ::before in code and never markup, so it stays out of the accessibility tree — a \"/\" in the DOM is the usual build of this component and the usual defect. Figma has no generated content, so it is drawn as a real text layer and switched off on the first crumb. A drawing convenience with no prop behind it.\n State: Default is the resting link and Hover is CSS. Only Current is a prop, because the last crumb renders as text rather than a link.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/breadcrumb-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
74
+ "block": "───── CODE · ionbase-ui ─────\nimport { BreadcrumbItem } from 'ionbase-ui';\n<BreadcrumbItem>Label</BreadcrumbItem>\n\nPROPERTIES\n Label → children\n State → isCurrent (Current only)\n\nNOTES\n Show Separator: The separator is a CSS ::before in code and never markup, so it stays out of the accessibility tree — a \"/\" in the DOM is the usual build of this component and the usual defect. Figma has no generated content, so it is drawn as a real text layer and switched off on the first crumb. A drawing convenience with no prop behind it.\n State: Default is the resting link and Hover is CSS. Only Current is a prop, because the last crumb renders as text rather than a link.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/breadcrumb-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
75
75
  },
76
76
  "21:461": {
77
77
  "figmaComponent": "Button",
78
78
  "component": "Button",
79
- "block": "───── CODE · ionbase-ui ─────\nimport { Button } from 'ionbase-ui';\n<Button variant=\"primary-brand\" size=\"sm\">Label</Button>\n\nPROPERTIES\n Type → variant: Primary Brand=primary-brand, Primary Neutral=primary-neutral, Primary Soft=primary-soft, Secondary=secondary, Tertiary=tertiary, Destructive=destructive, Success=success\n Size → size: Small=sm, Medium=md, Large=lg, XLarge=xl\n State → isDisabled (Disabled only)\n Label → children\n Leading Icon → startIcon\n Trailing Icon → endIcon\n Show Leading Icon → startIcon\n Show Trailing Icon → endIcon\n\nNOTES\n State: Default, Hover, Pressed and Focus are CSS and React Aria — :hover, :focus-visible, data-pressed — not props. Only Disabled is one.\n Leading Icon: wrap in Icon; omit Icon's label, the button text names it\n Trailing Icon: same\n Show Leading Icon: an absent prop is the switch — React needs no Show boolean, so false means omit startIcon\n Show Trailing Icon: same\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/button/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
79
+ "block": "───── CODE · ionbase-ui ─────\nimport { Button } from 'ionbase-ui';\n<Button variant=\"primary-brand\" size=\"sm\">Label</Button>\n\nPROPERTIES\n Type → variant: Primary Brand=primary-brand, Primary Neutral=primary-neutral, Primary Soft=primary-soft, Secondary=secondary, Tertiary=tertiary, Destructive=destructive, Success=success\n Size → size: Small=sm, Medium=md, Large=lg, XLarge=xl\n State → isDisabled (Disabled only)\n Label → children\n Leading Icon → startIcon\n Trailing Icon → endIcon\n Show Leading Icon → startIcon\n Show Trailing Icon → endIcon\n\nNOTES\n State: Default, Hover, Pressed and Focus are CSS and React Aria — :hover, :focus-visible, data-pressed — not props. Only Disabled is one.\n Leading Icon: wrap in Icon; omit Icon's label, the button text names it\n Trailing Icon: same\n Show Leading Icon: an absent prop is the switch — React needs no Show boolean, so false means omit startIcon\n Show Trailing Icon: same\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/button/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
80
80
  },
81
81
  "87:350": {
82
82
  "figmaComponent": "Checkbox",
83
83
  "component": "Checkbox",
84
- "block": "───── CODE · ionbase-ui ─────\nimport { Checkbox } from 'ionbase-ui';\n<Checkbox size=\"sm\" intent=\"brand\">Label</Checkbox>\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Color → intent: Brand=brand, Neutral=neutral, Danger=danger\n State → isIndeterminate (Indeterminate, Indeterminate-disabled only)\n Label → children\n Show Label → children\n\nNOTES\n State: Checked is `checked`/`defaultChecked`, and the -disabled halves are isDisabled. One Figma axis, three code props, which is why it is not a single mapping.\n Show Label: false means a bare box — and then aria-label becomes required\n Focused: a drawn focus ring. In code it is :focus-visible, which the browser owns.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/checkbox/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
84
+ "block": "───── CODE · ionbase-ui ─────\nimport { Checkbox } from 'ionbase-ui';\n<Checkbox size=\"sm\" intent=\"brand\">Label</Checkbox>\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Color → intent: Brand=brand, Neutral=neutral, Danger=danger\n State → isIndeterminate (Indeterminate, Indeterminate-disabled only)\n Label → children\n Show Label → children\n\nNOTES\n State: Checked is `checked`/`defaultChecked`, and the -disabled halves are isDisabled. One Figma axis, three code props, which is why it is not a single mapping.\n Show Label: false means a bare box — and then aria-label becomes required\n Focused: a drawn focus ring. In code it is :focus-visible, which the browser owns.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/checkbox/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
85
+ },
86
+ "1501:475": {
87
+ "figmaComponent": "Checkbox Group",
88
+ "component": "CheckboxGroup",
89
+ "block": "───── CODE · ionbase-ui ─────\nimport { CheckboxGroup } from 'ionbase-ui';\n<CheckboxGroup orientation=\"vertical\" label=\"…\" />\n\nPROPERTIES\n Orientation → orientation: Vertical=vertical, Horizontal=horizontal\n State → isInvalid (Error only)\n Label → label\n Helper Text → description\n Show Helper → description\n\nNOTES\n State: Error recolours the helper and shows errorMessage in its place; pass the error copy as errorMessage, not description. Disabled is isDisabled on the group, which cascades to every Checkbox.\n Helper Text: the help text; while State=Error the same slot holds errorMessage\n Show Helper: an absent prop is the switch, so false means omit description\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/checkbox-group/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
85
90
  },
86
91
  "1167:247": {
87
92
  "figmaComponent": "Citation",
88
93
  "component": "Citation",
89
- "block": "───── CODE · ionbase-ui ─────\nimport { Citation } from 'ionbase-ui';\n<Citation index={…} source={…} />\n\nPROPERTIES\n Index → index\n\nNOTES\n State: Default/Hover is :hover in code\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/citation/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
94
+ "block": "───── CODE · ionbase-ui ─────\nimport { Citation } from 'ionbase-ui';\n<Citation index={…} source={…} />\n\nPROPERTIES\n Index → index\n\nNOTES\n State: Default/Hover is :hover in code\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/citation/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
90
95
  },
91
96
  "1168:246": {
92
97
  "figmaComponent": "Citation List",
93
98
  "component": "CitationList",
94
- "block": "───── CODE · ionbase-ui ─────\nimport { CitationList } from 'ionbase-ui';\n<CitationList />\n\nPROPERTIES\n Label → label\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/citation-list/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
99
+ "block": "───── CODE · ionbase-ui ─────\nimport { CitationList } from 'ionbase-ui';\n<CitationList />\n\nPROPERTIES\n Label → label\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/citation-list/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
95
100
  },
96
101
  "1168:241": {
97
102
  "figmaComponent": "Citation List Item",
98
103
  "component": "CitationListItem",
99
- "block": "───── CODE · ionbase-ui ─────\nimport { CitationListItem } from 'ionbase-ui';\n<CitationListItem index={…} source={…}>Label</CitationListItem>\n\nPROPERTIES\n Index → index\n Source → source\n Passage → children\n Show Passage → children\n\nNOTES\n Show Passage: false means no children passed\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/citation-list-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
104
+ "block": "───── CODE · ionbase-ui ─────\nimport { CitationListItem } from 'ionbase-ui';\n<CitationListItem index={…} source={…}>Label</CitationListItem>\n\nPROPERTIES\n Index → index\n Source → source\n Passage → children\n Show Passage → children\n\nNOTES\n Show Passage: false means no children passed\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/citation-list-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
100
105
  },
101
106
  "1370:2359": {
102
107
  "figmaComponent": "Combobox",
103
108
  "component": "Combobox",
104
- "block": "───── CODE · ionbase-ui ─────\nimport { Combobox } from 'ionbase-ui';\n<Combobox size=\"sm\" options={…} label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → placeholder\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly. The same split Input records, because the field is Input’s box.\n Value: Figma’s text is whatever the field shows. In code that is `placeholder` until something is chosen; after that it is the selected option’s label, which comes from `options`.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/combobox/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
109
+ "block": "───── CODE · ionbase-ui ─────\nimport { Combobox } from 'ionbase-ui';\n<Combobox size=\"sm\" options={…} label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → placeholder\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly. The same split Input records, because the field is Input’s box.\n Value: Figma’s text is whatever the field shows. In code that is `placeholder` until something is chosen; after that it is the selected option’s label, which comes from `options`.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/combobox/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
105
110
  },
106
111
  "1166:262": {
107
112
  "figmaComponent": "Confidence Indicator",
108
113
  "component": "ConfidenceIndicator",
109
- "block": "───── CODE · ionbase-ui ─────\nimport { ConfidenceIndicator } from 'ionbase-ui';\n<ConfidenceIndicator level=\"low\" basis={…} />\n\nPROPERTIES\n Level → level: Low=low, Medium=medium, High=high\n Basis → basis\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/confidence-indicator/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
114
+ "block": "───── CODE · ionbase-ui ─────\nimport { ConfidenceIndicator } from 'ionbase-ui';\n<ConfidenceIndicator level=\"low\" basis={…} />\n\nPROPERTIES\n Level → level: Low=low, Medium=medium, High=high\n Basis → basis\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/confidence-indicator/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
110
115
  },
111
116
  "1394:536": {
112
117
  "figmaComponent": "Date Picker",
113
118
  "component": "DatePicker",
114
- "block": "───── CODE · ionbase-ui ─────\nimport { DatePicker } from 'ionbase-ui';\n<DatePicker size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly — the same split as Input, whose box this is.\n Type: Single is DatePicker; Range is DateRangePicker, which takes the same size and state props. A Figma set maps to one code component, so the range picker is reached through this axis — see codeUnmapped.DateRangePicker.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/date-picker/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
119
+ "block": "───── CODE · ionbase-ui ─────\nimport { DatePicker } from 'ionbase-ui';\n<DatePicker size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly — the same split as Input, whose box this is.\n Type: Single is DatePicker; Range is DateRangePicker, which takes the same size and state props. A Figma set maps to one code component, so the range picker is reached through this axis — see codeUnmapped.DateRangePicker.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/date-picker/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
115
120
  },
116
121
  "1453:805": {
117
122
  "figmaComponent": "Time Field",
118
123
  "component": "TimeField",
119
- "block": "───── CODE · ionbase-ui ─────\nimport { TimeField } from 'ionbase-ui';\n<TimeField size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly — the same split as Date Picker, whose box this is. The value text shows the reader’s own format; the prop is 24-hour HH:MM\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/time-field/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
124
+ "block": "───── CODE · ionbase-ui ─────\nimport { TimeField } from 'ionbase-ui';\n<TimeField size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly — the same split as Date Picker, whose box this is. The value text shows the reader’s own format; the prop is 24-hour HH:MM\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/time-field/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
120
125
  },
121
126
  "1365:2404": {
122
127
  "figmaComponent": "Drawer",
123
128
  "component": "Drawer",
124
- "block": "───── CODE · ionbase-ui ─────\nimport { Drawer } from 'ionbase-ui';\n<Drawer placement=\"start\" size=\"sm\" title={…} />\n\nPROPERTIES\n Placement → placement: Start=start, End=end, Top=top, Bottom=bottom\n Size → size: Small=sm, Medium=md, Large=lg\n Title → title\n Description → description\n Show Description → description\n Show Close → showClose\n Show Footer → footer\n\nNOTES\n Show Description: false means description is omitted\n Show Footer: false means footer is omitted\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/drawer/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
129
+ "block": "───── CODE · ionbase-ui ─────\nimport { Drawer } from 'ionbase-ui';\n<Drawer placement=\"start\" size=\"sm\" title={…} />\n\nPROPERTIES\n Placement → placement: Start=start, End=end, Top=top, Bottom=bottom\n Size → size: Small=sm, Medium=md, Large=lg\n Title → title\n Description → description\n Show Description → description\n Show Close → showClose\n Show Footer → footer\n\nNOTES\n Show Description: false means description is omitted\n Show Footer: false means footer is omitted\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/drawer/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
125
130
  },
126
131
  "1334:2294": {
127
132
  "figmaComponent": "Empty State",
128
133
  "component": "EmptyState",
129
- "block": "───── CODE · ionbase-ui ─────\nimport { EmptyState } from 'ionbase-ui';\n<EmptyState size=\"inline\" reason=\"first-run\" title={…} />\n\nPROPERTIES\n Size → size: Inline=inline, Panel=panel, Page=page\n Reason → reason: No Results=no-results, First Run=first-run, No Access=no-access, Error=error\n Title → title\n Description → description\n Show Description → description\n Show Icon → icon\n Show Actions → action\n\nNOTES\n Show Description: an absent prop is the switch\n Show Icon: the mark renders when a node is passed; there is no boolean, and reason picks the tint rather than the glyph\n Show Actions: the row appears when action or secondaryAction is passed; there is no boolean\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/empty-state/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
134
+ "block": "───── CODE · ionbase-ui ─────\nimport { EmptyState } from 'ionbase-ui';\n<EmptyState size=\"inline\" reason=\"first-run\" title={…} />\n\nPROPERTIES\n Size → size: Inline=inline, Panel=panel, Page=page\n Reason → reason: No Results=no-results, First Run=first-run, No Access=no-access, Error=error\n Title → title\n Description → description\n Show Description → description\n Show Icon → icon\n Show Actions → action\n\nNOTES\n Show Description: an absent prop is the switch\n Show Icon: the mark renders when a node is passed; there is no boolean, and reason picks the tint rather than the glyph\n Show Actions: the row appears when action or secondaryAction is passed; there is no boolean\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/empty-state/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
130
135
  },
131
136
  "1367:2333": {
132
137
  "figmaComponent": "File Upload",
133
138
  "component": "FileUpload",
134
- "block": "───── CODE · ionbase-ui ─────\nimport { FileUpload } from 'ionbase-ui';\n<FileUpload size=\"md\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md\n State → isInvalid (Invalid only)\n Prompt → prompt\n Hint → hint\n Show Hint → hint\n\nNOTES\n State: Hover and Dragging are CSS; Disabled is isDisabled. Dragging has no prop at all — it is a pointer state the browser owns.\n Show Hint: false means hint is omitted\n Icon: The upload glyph is inlined in the component, like Select’s chevron: it is part of the control rather than a slot a caller fills, so there is no prop to swap it. The INSTANCE_SWAP exists so a designer can substitute it in a mock without detaching.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/file-upload/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
139
+ "block": "───── CODE · ionbase-ui ─────\nimport { FileUpload } from 'ionbase-ui';\n<FileUpload size=\"md\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md\n State → isInvalid (Invalid only)\n Prompt → prompt\n Hint → hint\n Show Hint → hint\n\nNOTES\n State: Hover and Dragging are CSS; Disabled is isDisabled. Dragging has no prop at all — it is a pointer state the browser owns.\n Show Hint: false means hint is omitted\n Icon: The upload glyph is inlined in the component, like Select’s chevron: it is part of the control rather than a slot a caller fills, so there is no prop to swap it. The INSTANCE_SWAP exists so a designer can substitute it in a mock without detaching.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/file-upload/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
135
140
  },
136
141
  "1441:294": {
137
142
  "figmaComponent": "Card",
138
143
  "component": "Card",
139
- "block": "───── CODE · ionbase-ui ─────\nimport { Card } from 'ionbase-ui';\n<Card intent=\"default\" />\n\nPROPERTIES\n Intent → intent: Default=default, Danger=danger\n Title → title\n Show Header → title\n Description → description\n Show Description → description\n Action → action\n Show Action → action\n Show Body → children\n\nNOTES\n Show Header: false hides the whole title row. In code, omit title: the card renders a <div> rather than a named <section>, and description goes with it\n Show Description: false means description is omitted\n Action: a standalone Link in the design; a small Button also fits. One control only\n Show Action: false means action is omitted\n Show Body: the body frame is a placeholder; in code the card’s children follow the title row\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/card/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
144
+ "block": "───── CODE · ionbase-ui ─────\nimport { Card } from 'ionbase-ui';\n<Card intent=\"default\" />\n\nPROPERTIES\n Intent → intent: Default=default, Danger=danger\n Title → title\n Show Header → title\n Description → description\n Show Description → description\n Action → action\n Show Action → action\n Show Body → children\n\nNOTES\n Show Header: false hides the whole title row. In code, omit title: the card renders a <div> rather than a named <section>, and description goes with it\n Show Description: false means description is omitted\n Action: a standalone Link in the design; a small Button also fits. One control only\n Show Action: false means action is omitted\n Show Body: the body frame is a placeholder; in code the card’s children follow the title row\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/card/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
140
145
  },
141
146
  "592:857": {
142
147
  "figmaComponent": "Full Card",
143
148
  "component": "FullCard",
144
- "block": "───── CODE · ionbase-ui ─────\nimport { FullCard } from 'ionbase-ui';\n<FullCard alignment=\"right\" headline={…} />\n\nPROPERTIES\n Row Reverse → alignment: True=left, False=right\n Headline → headline\n Description → description\n Show Description → description\n Eyebrow → eyebrow\n Show Eyebrow → eyebrow\n Actions → actions\n Show Actions → actions\n Media → media\n\nNOTES\n Row Reverse: Figma's boolean reverses the row; the code prop names which side the MEDIA sits on\n Media: pass the screenshot itself — the component draws the frame\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/full-card/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
149
+ "block": "───── CODE · ionbase-ui ─────\nimport { FullCard } from 'ionbase-ui';\n<FullCard alignment=\"right\" headline={…} />\n\nPROPERTIES\n Row Reverse → alignment: True=left, False=right\n Headline → headline\n Description → description\n Show Description → description\n Eyebrow → eyebrow\n Show Eyebrow → eyebrow\n Actions → actions\n Show Actions → actions\n Media → media\n\nNOTES\n Row Reverse: Figma's boolean reverses the row; the code prop names which side the MEDIA sits on\n Media: pass the screenshot itself — the component draws the frame\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/full-card/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
145
150
  },
146
151
  "69:335": {
147
152
  "figmaComponent": "Header",
148
153
  "component": "Header",
149
- "block": "───── CODE · ionbase-ui ─────\nimport { Header } from 'ionbase-ui';\n<Header />\n\nPROPERTIES\n Device → open (Mobile-Open, Mobile-Closed only)\n Center Slot → center\n End Slot → end\n Show Center Slot → center\n Show End Slot → end\n\nNOTES\n Device: Figma spells one four-way axis; code splits it in two. Desktop/Tablet/Mobile is a media query the browser already answers, and only Open/Closed is a prop.\n End Slot: a duplicate slot in the Figma component\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/header/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
154
+ "block": "───── CODE · ionbase-ui ─────\nimport { Header } from 'ionbase-ui';\n<Header />\n\nPROPERTIES\n Device → open (Mobile-Open, Mobile-Closed only)\n Center Slot → center\n End Slot → end\n Show Center Slot → center\n Show End Slot → end\n\nNOTES\n Device: Figma spells one four-way axis; code splits it in two. Desktop/Tablet/Mobile is a media query the browser already answers, and only Open/Closed is a prop.\n End Slot: a duplicate slot in the Figma component\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/header/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
150
155
  },
151
156
  "623:151": {
152
157
  "figmaComponent": "Icon Button",
153
158
  "component": "Button",
154
- "block": "───── CODE · ionbase-ui ─────\nimport { Button } from 'ionbase-ui';\n<Button variant=\"primary-brand\" size=\"sm\" aria-label=\"…\" />\n\nPROPERTIES\n Type → variant: Primary Brand=primary-brand, Primary Neutral=primary-neutral, Primary Soft=primary-soft, Secondary=secondary, Tertiary=tertiary, Destructive=destructive, Success=success\n Size → size: Small=sm, Medium=md, Large=lg, XLarge=xl\n State → isDisabled (Disabled only)\n Icon → startIcon\n\nNot a separate component in code: an icon-only Button. It is the one case where aria-label is required, because there is no text to name it.\n\nNOTES\n State: as Button\n Icon: with Icon's own label omitted — the Button's aria-label carries the name\n Shape: Figma draws a square and a circle variant; code has no shape prop. A round icon button is a className, not an API.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/button/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
159
+ "block": "───── CODE · ionbase-ui ─────\nimport { Button } from 'ionbase-ui';\n<Button variant=\"primary-brand\" size=\"sm\" aria-label=\"…\" />\n\nPROPERTIES\n Type → variant: Primary Brand=primary-brand, Primary Neutral=primary-neutral, Primary Soft=primary-soft, Secondary=secondary, Tertiary=tertiary, Destructive=destructive, Success=success\n Size → size: Small=sm, Medium=md, Large=lg, XLarge=xl\n State → isDisabled (Disabled only)\n Icon → startIcon\n\nNot a separate component in code: an icon-only Button. It is the one case where aria-label is required, because there is no text to name it.\n\nNOTES\n State: as Button\n Icon: with Icon's own label omitted — the Button's aria-label carries the name\n Shape: Figma draws a square and a circle variant; code has no shape prop. A round icon button is a className, not an API.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/button/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
155
160
  },
156
161
  "80:275": {
157
162
  "figmaComponent": "Input",
158
163
  "component": "Input",
159
- "block": "───── CODE · ionbase-ui ─────\nimport { Input } from 'ionbase-ui';\n<Input size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → value\n Leading Icon → leadingIcon\n Trailing Icon → trailingIcon\n Show Leading Icon → leadingIcon\n Show Trailing Icon → trailingIcon\n\nNOTES\n State: Hover, Focus and Filled are CSS or content. Disabled is isDisabled, Read-only is isReadOnly — both react-aria props rather than this axis.\n Value: or defaultValue when uncontrolled; Figma's text is placeholder content, not necessarily a value\n Show Leading Icon: false means omit the prop\n Show Trailing Icon: false means omit the prop\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/input/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
164
+ "block": "───── CODE · ionbase-ui ─────\nimport { Input } from 'ionbase-ui';\n<Input size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → value\n Leading Icon → leadingIcon\n Trailing Icon → trailingIcon\n Show Leading Icon → leadingIcon\n Show Trailing Icon → trailingIcon\n\nNOTES\n State: Hover, Focus and Filled are CSS or content. Disabled is isDisabled, Read-only is isReadOnly — both react-aria props rather than this axis.\n Value: or defaultValue when uncontrolled; Figma's text is placeholder content, not necessarily a value\n Show Leading Icon: false means omit the prop\n Show Trailing Icon: false means omit the prop\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/input/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
160
165
  },
161
166
  "80:372": {
162
167
  "figmaComponent": "Input/Phone",
163
168
  "component": "PhoneInput",
164
- "block": "───── CODE · ionbase-ui ─────\nimport { PhoneInput } from 'ionbase-ui';\n<PhoneInput size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Dial Code → dialCode\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/phone-input/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
169
+ "block": "───── CODE · ionbase-ui ─────\nimport { PhoneInput } from 'ionbase-ui';\n<PhoneInput size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Dial Code → dialCode\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/phone-input/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
165
170
  },
166
171
  "774:1516": {
167
172
  "figmaComponent": "Link",
168
173
  "component": "Link",
169
- "block": "───── CODE · ionbase-ui ─────\nimport { Link } from 'ionbase-ui';\n<Link variant=\"inline\">Label</Link>\n\nPROPERTIES\n Type → variant: Inline=inline, Standalone=standalone\n State → isDisabled (Disabled only)\n Label → children\n Leading Icon → startIcon\n Trailing Icon → endIcon\n Show Leading Icon → startIcon\n Show Trailing Icon → endIcon\n\nNOTES\n State: Hover and Focus are CSS; Visited is :visited, which no prop can set\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/link/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
174
+ "block": "───── CODE · ionbase-ui ─────\nimport { Link } from 'ionbase-ui';\n<Link variant=\"inline\">Label</Link>\n\nPROPERTIES\n Type → variant: Inline=inline, Standalone=standalone\n State → isDisabled (Disabled only)\n Label → children\n Leading Icon → startIcon\n Trailing Icon → endIcon\n Show Leading Icon → startIcon\n Show Trailing Icon → endIcon\n\nNOTES\n State: Hover and Focus are CSS; Visited is :visited, which no prop can set\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/link/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
170
175
  },
171
176
  "52:21369": {
172
177
  "figmaComponent": "Logo-Ionbase",
173
178
  "component": "Logo",
174
- "block": "───── CODE · ionbase-ui ─────\nimport { Logo } from 'ionbase-ui';\n<Logo size=\"sm\" wordmark=\"vector\" />\n\nPROPERTIES\n Size → size: Small=sm, Large=lg\n Type → wordmark: Logo=vector, Icon=text\n\nNOTES\n Type: the names invert: Figma's Logo is the serif vector wordmark, Figma's Icon is live Host Grotesk text\n Property: the Name axis renders placeholder text in an unbound colour — leftover debug content, not a real asset. LogoMark covers the no-wordmark case.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/logo/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
179
+ "block": "───── CODE · ionbase-ui ─────\nimport { Logo } from 'ionbase-ui';\n<Logo size=\"sm\" wordmark=\"vector\" />\n\nPROPERTIES\n Size → size: Small=sm, Large=lg\n Type → wordmark: Logo=vector, Icon=text\n\nNOTES\n Type: the names invert: Figma's Logo is the serif vector wordmark, Figma's Icon is live Host Grotesk text\n Property: the Name axis renders placeholder text in an unbound colour — leftover debug content, not a real asset. LogoMark covers the no-wordmark case.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/logo/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
175
180
  },
176
181
  "82:306": {
177
182
  "figmaComponent": "Menu",
178
183
  "component": "Menu",
179
- "block": "───── CODE · ionbase-ui ─────\nimport { Menu } from 'ionbase-ui';\n<Menu selectionMode=\"single\" aria-label=\"…\" />\n\nPROPERTIES\n Type → selectionMode: Single=single, Multi=multiple\n\nNOTES\n Type: selectionMode none — an action menu with no check slot — is not drawn; every Figma menu shows a selection.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/menu/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
184
+ "block": "───── CODE · ionbase-ui ─────\nimport { Menu } from 'ionbase-ui';\n<Menu selectionMode=\"single\" aria-label=\"…\" />\n\nPROPERTIES\n Type → selectionMode: Single=single, Multi=multiple\n\nNOTES\n Type: selectionMode none — an action menu with no check slot — is not drawn; every Figma menu shows a selection.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/menu/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
180
185
  },
181
186
  "82:217": {
182
187
  "figmaComponent": "Menu Item",
183
188
  "component": "MenuItem",
184
- "block": "───── CODE · ionbase-ui ─────\nimport { MenuItem } from 'ionbase-ui';\n<MenuItem>Label</MenuItem>\n\nPROPERTIES\n Label → children\n Leading Icon → icon\n Show Leading Icon → icon\n State → isDisabled (Disabled only)\n\nNOTES\n Leading Icon: wrap in Icon; omit Icon's label, the row text names it\n Show Leading Icon: an absent prop is the switch, so false means omit icon\n State: Hover is the highlighted row, which the keyboard and the pointer share. Selected and Selected-hover are the row's key in Menu's selectedKeys, not an item prop. A row that opens a submenu is not drawn: code puts a chevron where the check sits.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/menu-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
189
+ "block": "───── CODE · ionbase-ui ─────\nimport { MenuItem } from 'ionbase-ui';\n<MenuItem>Label</MenuItem>\n\nPROPERTIES\n Label → children\n Leading Icon → icon\n Show Leading Icon → icon\n State → isDisabled (Disabled only)\n\nNOTES\n Leading Icon: wrap in Icon; omit Icon's label, the row text names it\n Show Leading Icon: an absent prop is the switch, so false means omit icon\n State: Hover is the highlighted row, which the keyboard and the pointer share. Selected and Selected-hover are the row's key in Menu's selectedKeys, not an item prop. A row that opens a submenu is not drawn: code puts a chevron where the check sits.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/menu-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
185
190
  },
186
191
  "1468:271": {
187
192
  "figmaComponent": "Menu Section Title",
188
193
  "component": "MenuSection",
189
- "block": "───── CODE · ionbase-ui ─────\nimport { MenuSection } from 'ionbase-ui';\n<MenuSection />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/menu-section/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
194
+ "block": "───── CODE · ionbase-ui ─────\nimport { MenuSection } from 'ionbase-ui';\n<MenuSection />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/menu-section/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
190
195
  },
191
196
  "792:1537": {
192
197
  "figmaComponent": "Modal",
193
198
  "component": "Modal",
194
- "block": "───── CODE · ionbase-ui ─────\nimport { Modal } from 'ionbase-ui';\n<Modal size=\"sm\" align=\"left\" title={…} />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg, Fullscreen=fullscreen\n Align → align: Left=left, Center=center\n Title → title\n Description → description\n Show Description → description\n Show Close → showClose\n Show Body → children\n Show Footer → footer\n Show Media → media\n Media → media\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/modal/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
199
+ "block": "───── CODE · ionbase-ui ─────\nimport { Modal } from 'ionbase-ui';\n<Modal size=\"sm\" align=\"left\" title={…} />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg, Fullscreen=fullscreen\n Align → align: Left=left, Center=center\n Title → title\n Description → description\n Show Description → description\n Show Close → showClose\n Show Body → children\n Show Footer → footer\n Show Media → media\n Media → media\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/modal/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
200
+ },
201
+ "1510:666": {
202
+ "figmaComponent": "Multi Select",
203
+ "component": "MultiSelect",
204
+ "block": "───── CODE · ionbase-ui ─────\nimport { MultiSelect } from 'ionbase-ui';\n<MultiSelect size=\"md\" options={…} label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Show Tags → hideTags\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly, and both hide the tags’ × buttons. The field is Combobox’s, which is Input’s box — the same split both record.\n Show Tags: Inverted: Show Tags off is `hideTags`, for a filter bar whose active-filters row already shows the values. With tags shown, they are the chosen `value`, labelled from `options`, and appear whenever something is chosen.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/multi-select/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
195
205
  },
196
206
  "53:13": {
197
207
  "figmaComponent": "Nav Item",
198
208
  "component": "NavItem",
199
- "block": "───── CODE · ionbase-ui ─────\nimport { NavItem } from 'ionbase-ui';\n<NavItem>Label</NavItem>\n\nPROPERTIES\n State → isCurrent (Current only)\n Label → children\n Icon → icon\n Show Chevron → showChevron\n\nNOTES\n State: Default and Hover are CSS and React Aria useHover, not props.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/nav-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
209
+ "block": "───── CODE · ionbase-ui ─────\nimport { NavItem } from 'ionbase-ui';\n<NavItem>Label</NavItem>\n\nPROPERTIES\n State → isCurrent (Current only)\n Label → children\n Icon → icon\n Show Chevron → showChevron\n\nNOTES\n State: Default and Hover are CSS and React Aria useHover, not props.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/nav-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
200
210
  },
201
211
  "1389:473": {
202
212
  "figmaComponent": "Number Input",
203
213
  "component": "NumberInput",
204
- "block": "───── CODE · ionbase-ui ─────\nimport { NumberInput } from 'ionbase-ui';\n<NumberInput size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Stepper → showStepper\n Value → value\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly. The same split Input records, because the box is Input’s.\n Value: A number in code; Figma’s text is its formatted display, and the placeholder until one is entered.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/number-input/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
214
+ "block": "───── CODE · ionbase-ui ─────\nimport { NumberInput } from 'ionbase-ui';\n<NumberInput size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Stepper → showStepper\n Value → value\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly. The same split Input records, because the box is Input’s.\n Value: A number in code; Figma’s text is its formatted display, and the placeholder until one is entered.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/number-input/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
205
215
  },
206
216
  "1473:242": {
207
217
  "figmaComponent": "Page Header",
208
218
  "component": "PageHeader",
209
- "block": "───── CODE · ionbase-ui ─────\nimport { PageHeader } from 'ionbase-ui';\n<PageHeader title={…} />\n\nPROPERTIES\n Title → title\n Description → description\n Show Description → description\n Show Breadcrumb → breadcrumb\n Show Status → status\n Show Actions → actions\n Show Below → children\n\nNOTES\n Show Description: an absent prop is the switch, so false means omit description\n Show Breadcrumb: pass a Breadcrumb; false means omit breadcrumb\n Show Status: a Badge for the record's state; false means omit status\n Show Actions: Buttons, most important last, and a MenuTrigger with an icon-only Button for the rest; false means omit actions\n Show Below: the row beneath — the page's Tabs or its filters; false means no children\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/page-header/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
219
+ "block": "───── CODE · ionbase-ui ─────\nimport { PageHeader } from 'ionbase-ui';\n<PageHeader title={…} />\n\nPROPERTIES\n Title → title\n Description → description\n Show Description → description\n Show Breadcrumb → breadcrumb\n Show Status → status\n Show Actions → actions\n Show Below → children\n\nNOTES\n Show Description: an absent prop is the switch, so false means omit description\n Show Breadcrumb: pass a Breadcrumb; false means omit breadcrumb\n Show Status: a Badge for the record's state; false means omit status\n Show Actions: Buttons, most important last, and a MenuTrigger with an icon-only Button for the rest; false means omit actions\n Show Below: the row beneath — the page's Tabs or its filters; false means no children\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/page-header/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
210
220
  },
211
221
  "1291:503": {
212
222
  "figmaComponent": "Pagination",
213
223
  "component": "Pagination",
214
- "block": "───── CODE · ionbase-ui ─────\nimport { Pagination } from 'ionbase-ui';\n<Pagination type=\"numbered\" size=\"sm\" page={…} pageCount={…} aria-label=\"…\" />\n\nPROPERTIES\n Type → type: Numbered=numbered, Simple=simple\n Size → size: Small=sm, Medium=md, Large=lg\n Show Page Size → showPageSize\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/pagination/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
224
+ "block": "───── CODE · ionbase-ui ─────\nimport { Pagination } from 'ionbase-ui';\n<Pagination type=\"numbered\" size=\"sm\" page={…} pageCount={…} aria-label=\"…\" />\n\nPROPERTIES\n Type → type: Numbered=numbered, Simple=simple\n Size → size: Small=sm, Medium=md, Large=lg\n Show Page Size → showPageSize\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/pagination/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
215
225
  },
216
226
  "825:1853": {
217
227
  "figmaComponent": "Popover",
218
228
  "component": "Popover",
219
- "block": "───── CODE · ionbase-ui ─────\nimport { Popover } from 'ionbase-ui';\n<Popover placement=\"bottom\" size=\"sm\">…</Popover>\n\nPROPERTIES\n Placement → placement: Top=top, Bottom=bottom, Left=left, Right=right\n Size → size: Small=sm, Medium=md, Large=lg\n Title → title\n Show Header → title\n Body → content\n Show Body → content\n Show Close → showClose\n Show Footer → footer\n Show Arrow → hideArrow\n\nNOTES\n Show Arrow: inverted — Show Arrow false is hideArrow true\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/popover/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
229
+ "block": "───── CODE · ionbase-ui ─────\nimport { Popover } from 'ionbase-ui';\n<Popover placement=\"bottom\" size=\"sm\">…</Popover>\n\nPROPERTIES\n Placement → placement: Top=top, Bottom=bottom, Left=left, Right=right\n Size → size: Small=sm, Medium=md, Large=lg\n Title → title\n Show Header → title\n Body → content\n Show Body → content\n Show Close → showClose\n Show Footer → footer\n Show Arrow → hideArrow\n\nNOTES\n Show Arrow: inverted — Show Arrow false is hideArrow true\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/popover/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
220
230
  },
221
231
  "1344:331": {
222
232
  "figmaComponent": "Progress Bar",
223
233
  "component": "ProgressBar",
224
- "block": "───── CODE · ionbase-ui ─────\nimport { ProgressBar } from 'ionbase-ui';\n<ProgressBar intent=\"primary\" size=\"md\" label={…} />\n\nPROPERTIES\n Intent → intent: Primary=primary, Success=success, Warning=warning, Error=error\n Size → size: Small=sm, Medium=md\n Type → value\n Label → label\n Value → valueText\n Show Label → isLabelVisible\n Show Value → isValueVisible\n\nNOTES\n Type: not a prop value. Determinate means `value` was passed; Indeterminate means it was omitted, which is also what drops aria-valuenow. There is no `type` prop in code, and adding one would make the state settable independently of the number it describes\n Value: the Figma text is a sample percentage; in code `valueText` REPLACES the computed percentage and is what a screen reader speaks\n Show Value: bound only on the Determinate variants — an indeterminate bar has no percentage to reveal\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/progress-bar/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
234
+ "block": "───── CODE · ionbase-ui ─────\nimport { ProgressBar } from 'ionbase-ui';\n<ProgressBar intent=\"primary\" size=\"md\" label={…} />\n\nPROPERTIES\n Intent → intent: Primary=primary, Success=success, Warning=warning, Error=error\n Size → size: Small=sm, Medium=md\n Type → value\n Label → label\n Value → valueText\n Show Label → isLabelVisible\n Show Value → isValueVisible\n\nNOTES\n Type: not a prop value. Determinate means `value` was passed; Indeterminate means it was omitted, which is also what drops aria-valuenow. There is no `type` prop in code, and adding one would make the state settable independently of the number it describes\n Value: the Figma text is a sample percentage; in code `valueText` REPLACES the computed percentage and is what a screen reader speaks\n Show Value: bound only on the Determinate variants — an indeterminate bar has no percentage to reveal\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/progress-bar/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
225
235
  },
226
236
  "1393:387": {
227
237
  "figmaComponent": "Prompt Input",
228
238
  "component": "PromptInput",
229
- "block": "───── CODE · ionbase-ui ─────\nimport { PromptInput } from 'ionbase-ui';\n<PromptInput isRunning=\"false\" label={…} />\n\nPROPERTIES\n State → isDisabled (Disabled only)\n Running → isRunning: True=true, False=false\n Value → value\n Show Actions → actions\n\nNOTES\n State: Hover and Focus are CSS. Filled is content — a non-empty value — and is the only state in which send is live.\n Running: with onStop, which is what swaps send for AgentStop\n Value: Figma’s text is whatever the field shows: the placeholder until something is typed, then the value.\n Show Actions: false means actions is omitted; the attach button drawn there is an example, not part of the component\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/prompt-input/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
239
+ "block": "───── CODE · ionbase-ui ─────\nimport { PromptInput } from 'ionbase-ui';\n<PromptInput isRunning=\"false\" label={…} />\n\nPROPERTIES\n State → isDisabled (Disabled only)\n Running → isRunning: True=true, False=false\n Value → value\n Show Actions → actions\n\nNOTES\n State: Hover and Focus are CSS. Filled is content — a non-empty value — and is the only state in which send is live.\n Running: with onStop, which is what swaps send for AgentStop\n Value: Figma’s text is whatever the field shows: the placeholder until something is typed, then the value.\n Show Actions: false means actions is omitted; the attach button drawn there is an example, not part of the component\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/prompt-input/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
230
240
  },
231
241
  "89:314": {
232
242
  "figmaComponent": "Radio",
233
243
  "component": "Radio",
234
- "block": "───── CODE · ionbase-ui ─────\nimport { Radio } from 'ionbase-ui';\n<Radio size=\"lg\" intent=\"brand\" value={…}>Label</Radio>\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Color → intent: Brand=brand, Neutral=neutral, Danger=danger\n Label → children\n Show Label → children\n\nNOTES\n State: Selected/Unselected is the RadioGroup's value, not a prop on the Radio — a radio cannot own its own selection\n Show Label: false means aria-label is required\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/radio/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
244
+ "block": "───── CODE · ionbase-ui ─────\nimport { Radio } from 'ionbase-ui';\n<Radio size=\"lg\" intent=\"brand\" value={…}>Label</Radio>\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Color → intent: Brand=brand, Neutral=neutral, Danger=danger\n Label → children\n Show Label → children\n\nNOTES\n State: Selected/Unselected is the RadioGroup's value, not a prop on the Radio — a radio cannot own its own selection\n Show Label: false means aria-label is required\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/radio/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
245
+ },
246
+ "1498:242": {
247
+ "figmaComponent": "Search Field",
248
+ "component": "SearchField",
249
+ "block": "───── CODE · ionbase-ui ─────\nimport { SearchField } from 'ionbase-ui';\n<SearchField size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → value\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled and Read-only is isReadOnly — Input's split, because the box is Input's. The clear button Filled shows is not a prop: it appears whenever there is a query.\n Value: The query. Figma's text is also the placeholder until one is typed — pass that as placeholder, and name the field with aria-label, not the placeholder.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/search-field/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
235
250
  },
236
251
  "1390:435": {
237
252
  "figmaComponent": "Segmented Control",
238
253
  "component": "SegmentedControl",
239
- "block": "───── CODE · ionbase-ui ─────\nimport { SegmentedControl } from 'ionbase-ui';\n<SegmentedControl size=\"sm\" isFullWidth=\"false\" label={…} />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Full Width → isFullWidth: True=true, False=false\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/segmented-control/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
254
+ "block": "───── CODE · ionbase-ui ─────\nimport { SegmentedControl } from 'ionbase-ui';\n<SegmentedControl size=\"sm\" isFullWidth=\"false\" label={…} />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Full Width → isFullWidth: True=true, False=false\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/segmented-control/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
240
255
  },
241
256
  "1390:332": {
242
257
  "figmaComponent": "Segmented Control Item",
243
258
  "component": "SegmentedControlItem",
244
- "block": "───── CODE · ionbase-ui ─────\nimport { SegmentedControlItem } from 'ionbase-ui';\n<SegmentedControlItem value={…}>Label</SegmentedControlItem>\n\nPROPERTIES\n Label → children\n Show Icon → icon\n Icon → icon\n State → isDisabled (Disabled, Selected-Disabled only)\n\nNOTES\n Show Icon: false means icon is omitted\n Size: set on the parent SegmentedControl, not per item\n State: Default and Hover are CSS. Selected is the parent SegmentedControl’s value — the item never owns selection, the same split Tabs Item records.\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/segmented-control-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
259
+ "block": "───── CODE · ionbase-ui ─────\nimport { SegmentedControlItem } from 'ionbase-ui';\n<SegmentedControlItem value={…}>Label</SegmentedControlItem>\n\nPROPERTIES\n Label → children\n Show Icon → icon\n Icon → icon\n State → isDisabled (Disabled, Selected-Disabled only)\n\nNOTES\n Show Icon: false means icon is omitted\n Size: set on the parent SegmentedControl, not per item\n State: Default and Hover are CSS. Selected is the parent SegmentedControl’s value — the item never owns selection, the same split Tabs Item records.\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/segmented-control-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
245
260
  },
246
261
  "82:379": {
247
262
  "figmaComponent": "Select",
248
263
  "component": "Select",
249
- "block": "───── CODE · ionbase-ui ─────\nimport { Select } from 'ionbase-ui';\n<Select size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → placeholder\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled\n Value: Figma's text is the collapsed display value. In code that is `placeholder` when nothing is chosen; once something is, the label comes from the `options` array.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/select/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
264
+ "block": "───── CODE · ionbase-ui ─────\nimport { Select } from 'ionbase-ui';\n<Select size=\"lg\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → placeholder\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled\n Value: Figma's text is the collapsed display value. In code that is `placeholder` when nothing is chosen; once something is, the label comes from the `options` array.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/select/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
250
265
  },
251
266
  "1418:260": {
252
267
  "figmaComponent": "Setting Row",
253
268
  "component": "SettingRow",
254
- "block": "───── CODE · ionbase-ui ─────\nimport { SettingRow } from 'ionbase-ui';\n<SettingRow label={…}>…</SettingRow>\n\nPROPERTIES\n Label → label\n Description → description\n Show Description → description\n Control → children\n\nNOTES\n Show Description: false means description is omitted\n Control: the control is the row’s child; in code it is named and described by the row automatically, so turn its own label off in Figma too\n Layout: not a prop: the row stacks below 30rem of its own width through a container query, the same call Header makes for its Device axis\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/setting-row/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
269
+ "block": "───── CODE · ionbase-ui ─────\nimport { SettingRow } from 'ionbase-ui';\n<SettingRow label={…}>…</SettingRow>\n\nPROPERTIES\n Label → label\n Description → description\n Show Description → description\n Control → children\n\nNOTES\n Show Description: false means description is omitted\n Control: the control is the row’s child; in code it is named and described by the row automatically, so turn its own label off in Figma too\n Layout: not a prop: the row stacks below 30rem of its own width through a container query, the same call Header makes for its Device axis\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/setting-row/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
255
270
  },
256
271
  "1396:502": {
257
272
  "figmaComponent": "Sidebar",
258
273
  "component": "Sidebar",
259
- "block": "───── CODE · ionbase-ui ─────\nimport { Sidebar } from 'ionbase-ui';\n<Sidebar label={…} />\n\nPROPERTIES\n Show Header → header\n Show Footer → footer\n\nNOTES\n Show Header: false means header is omitted; the logo drawn there is an example\n Show Footer: false means footer is omitted; the Settings row drawn there is an example\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/sidebar/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
274
+ "block": "───── CODE · ionbase-ui ─────\nimport { Sidebar } from 'ionbase-ui';\n<Sidebar label={…} />\n\nPROPERTIES\n Show Header → header\n Show Footer → footer\n\nNOTES\n Show Header: false means header is omitted; the logo drawn there is an example\n Show Footer: false means footer is omitted; the Settings row drawn there is an example\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/sidebar/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
260
275
  },
261
276
  "1396:412": {
262
277
  "figmaComponent": "Sidebar Item",
263
278
  "component": "SidebarItem",
264
- "block": "───── CODE · ionbase-ui ─────\nimport { SidebarItem } from 'ionbase-ui';\n<SidebarItem isExpanded=\"false\" label={…} />\n\nPROPERTIES\n State → isCurrent (Current, Current-Hover only)\n Has Children → children (True only)\n Expanded → isExpanded: True=true, False=false\n Label → label\n Show Icon → icon\n Icon → icon\n Show Badge → badge\n Badge → badge\n Actions Visible → actions\n\nNOTES\n State: Default and Hover are CSS; Disabled is isDisabled.\n Has Children: True means nested SidebarItems are passed as children; Figma draws them as sibling instances indented 16px.\n Expanded: or defaultExpanded; only meaningful with children\n Show Icon: false means icon is omitted\n Show Badge: false means badge is omitted\n Actions Visible: code renders them always but reveals them on hover and focus (always on touch); Figma shows or hides them\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/sidebar-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
279
+ "block": "───── CODE · ionbase-ui ─────\nimport { SidebarItem } from 'ionbase-ui';\n<SidebarItem isExpanded=\"false\" label={…} />\n\nPROPERTIES\n State → isCurrent (Current, Current-Hover only)\n Has Children → children (True only)\n Expanded → isExpanded: True=true, False=false\n Label → label\n Show Icon → icon\n Icon → icon\n Show Badge → badge\n Badge → badge\n Actions Visible → actions\n\nNOTES\n State: Default and Hover are CSS; Disabled is isDisabled.\n Has Children: True means nested SidebarItems are passed as children; Figma draws them as sibling instances indented 16px.\n Expanded: or defaultExpanded; only meaningful with children\n Show Icon: false means icon is omitted\n Show Badge: false means badge is omitted\n Actions Visible: code renders them always but reveals them on hover and focus (always on touch); Figma shows or hides them\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/sidebar-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
265
280
  },
266
281
  "1396:501": {
267
282
  "figmaComponent": "Sidebar Section",
268
283
  "component": "SidebarSection",
269
- "block": "───── CODE · ionbase-ui ─────\nimport { SidebarSection } from 'ionbase-ui';\n<SidebarSection isExpanded=\"true\" />\n\nPROPERTIES\n Title → title\n Collapsible → isCollapsible\n Collapsed → isExpanded: False=true, True=false\n Show Actions → actions\n\nNOTES\n Collapsed: the names invert: Figma says Collapsed, code says isExpanded (or defaultExpanded)\n Show Actions: false means actions is omitted\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/sidebar-section/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
284
+ "block": "───── CODE · ionbase-ui ─────\nimport { SidebarSection } from 'ionbase-ui';\n<SidebarSection isExpanded=\"true\" />\n\nPROPERTIES\n Title → title\n Collapsible → isCollapsible\n Collapsed → isExpanded: False=true, True=false\n Show Actions → actions\n\nNOTES\n Collapsed: the names invert: Figma says Collapsed, code says isExpanded (or defaultExpanded)\n Show Actions: false means actions is omitted\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/sidebar-section/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
270
285
  },
271
286
  "1345:248": {
272
287
  "figmaComponent": "Skeleton",
273
288
  "component": "Skeleton",
274
- "block": "───── CODE · ionbase-ui ─────\nimport { Skeleton } from 'ionbase-ui';\n<Skeleton variant=\"text\" />\n\nPROPERTIES\n Variant → variant: Text=text, Circle=circle, Rect=rect\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/skeleton/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
289
+ "block": "───── CODE · ionbase-ui ─────\nimport { Skeleton } from 'ionbase-ui';\n<Skeleton variant=\"text\" />\n\nPROPERTIES\n Variant → variant: Text=text, Circle=circle, Rect=rect\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/skeleton/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
275
290
  },
276
291
  "1341:258": {
277
292
  "figmaComponent": "Spinner",
278
293
  "component": "Spinner",
279
- "block": "───── CODE · ionbase-ui ─────\nimport { Spinner } from 'ionbase-ui';\n<Spinner size=\"md\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Label → label\n Show Label → isLabelVisible\n\nNOTES\n Show Label: controls only whether the label is VISIBLE. The label is announced either way — turning this off in Figma does not remove it from the accessibility tree, and `isDecorative` is the prop that silences the component\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/spinner/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
294
+ "block": "───── CODE · ionbase-ui ─────\nimport { Spinner } from 'ionbase-ui';\n<Spinner size=\"md\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Label → label\n Show Label → isLabelVisible\n\nNOTES\n Show Label: controls only whether the label is VISIBLE. The label is announced either way — turning this off in Figma does not remove it from the accessibility tree, and `isDecorative` is the prop that silences the component\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/spinner/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
280
295
  },
281
296
  "1412:344": {
282
297
  "figmaComponent": "Stat Group",
283
298
  "component": "StatGroup",
284
- "block": "───── CODE · ionbase-ui ─────\nimport { StatGroup } from 'ionbase-ui';\n<StatGroup />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stat-group/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
299
+ "block": "───── CODE · ionbase-ui ─────\nimport { StatGroup } from 'ionbase-ui';\n<StatGroup />\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stat-group/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
285
300
  },
286
301
  "1412:343": {
287
302
  "figmaComponent": "Stat Tile",
288
303
  "component": "StatTile",
289
- "block": "───── CODE · ionbase-ui ─────\nimport { StatTile } from 'ionbase-ui';\n<StatTile isLoading=\"false\" label={…} value={…} />\n\nPROPERTIES\n Label → label\n Value → value\n Comparison → comparison\n State → isLoading: Default=false, Loading=true\n Change → goodWhen (Better Up, Better Down, Worse Up, Worse Down, Neutral Up, Neutral Down only)\n\nNOTES\n Change: Figma draws what the badge SAYS; code derives it from two props. The direction is the sign of `change` (Up is positive), and Better or Worse follows from that and goodWhen — so Worse Up is a rise where down was good. No Change is a `change` that rounds to zero; None is `change` omitted. The badge text itself is computed from `change` and `changeUnit`.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stat-tile/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
304
+ "block": "───── CODE · ionbase-ui ─────\nimport { StatTile } from 'ionbase-ui';\n<StatTile isLoading=\"false\" label={…} value={…} />\n\nPROPERTIES\n Label → label\n Value → value\n Comparison → comparison\n State → isLoading: Default=false, Loading=true\n Change → goodWhen (Better Up, Better Down, Worse Up, Worse Down, Neutral Up, Neutral Down only)\n\nNOTES\n Change: Figma draws what the badge SAYS; code derives it from two props. The direction is the sign of `change` (Up is positive), and Better or Worse follows from that and goodWhen — so Worse Up is a rise where down was good. No Change is a `change` that rounds to zero; None is `change` omitted. The badge text itself is computed from `change` and `changeUnit`.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stat-tile/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
290
305
  },
291
306
  "1391:431": {
292
307
  "figmaComponent": "Stepper",
293
308
  "component": "Stepper",
294
- "block": "───── CODE · ionbase-ui ─────\nimport { Stepper } from 'ionbase-ui';\n<Stepper orientation=\"horizontal\" />\n\nPROPERTIES\n Orientation → orientation: Horizontal=horizontal, Vertical=vertical\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stepper/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
309
+ "block": "───── CODE · ionbase-ui ─────\nimport { Stepper } from 'ionbase-ui';\n<Stepper orientation=\"horizontal\" />\n\nPROPERTIES\n Orientation → orientation: Horizontal=horizontal, Vertical=vertical\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stepper/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
295
310
  },
296
311
  "1391:356": {
297
312
  "figmaComponent": "Stepper Step",
298
313
  "component": "StepperStep",
299
- "block": "───── CODE · ionbase-ui ─────\nimport { StepperStep } from 'ionbase-ui';\n<StepperStep status=\"incomplete\" isCurrent=\"false\">Label</StepperStep>\n\nPROPERTIES\n Status → status: Incomplete=incomplete, Complete=complete, Error=error\n Current → isCurrent: True=true, False=false\n Label → children\n Description → description\n Show Description → description\n\nNOTES\n Show Description: false means description is omitted\n Number: the step’s position in the list; code numbers steps itself\n Orientation: set on the parent Stepper, not per step — drawn per step only because the connector’s geometry differs\n Show Connector: code draws a connector after every step but the last; Figma needs it switched off by hand on the last instance\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stepper-step/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
314
+ "block": "───── CODE · ionbase-ui ─────\nimport { StepperStep } from 'ionbase-ui';\n<StepperStep status=\"incomplete\" isCurrent=\"false\">Label</StepperStep>\n\nPROPERTIES\n Status → status: Incomplete=incomplete, Complete=complete, Error=error\n Current → isCurrent: True=true, False=false\n Label → children\n Description → description\n Show Description → description\n\nNOTES\n Show Description: false means description is omitted\n Number: the step’s position in the list; code numbers steps itself\n Orientation: set on the parent Stepper, not per step — drawn per step only because the connector’s geometry differs\n Show Connector: code draws a connector after every step but the last; Figma needs it switched off by hand on the last instance\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/stepper-step/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
300
315
  },
301
316
  "1164:248": {
302
317
  "figmaComponent": "Streaming Text",
303
318
  "component": "StreamingText",
304
- "block": "───── CODE · ionbase-ui ─────\nimport { StreamingText } from 'ionbase-ui';\n<StreamingText isStreaming=\"true\">Label</StreamingText>\n\nPROPERTIES\n Streaming → isStreaming: True=true, False=false\n Text → children\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/streaming-text/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
319
+ "block": "───── CODE · ionbase-ui ─────\nimport { StreamingText } from 'ionbase-ui';\n<StreamingText isStreaming=\"true\">Label</StreamingText>\n\nPROPERTIES\n Streaming → isStreaming: True=true, False=false\n Text → children\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/streaming-text/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
305
320
  },
306
321
  "174:103": {
307
322
  "figmaComponent": "Table Cell",
308
323
  "component": "TableCell",
309
- "block": "───── CODE · ionbase-ui ─────\nimport { TableCell } from 'ionbase-ui';\n<TableCell align=\"leading\" />\n\nPROPERTIES\n Type → header (Header only)\n Align → align: Leading=leading, Trailing=trailing\n Show Divider → showDivider\n Content → children\n Show Content → children\n\nNOTES\n Type: Body is the default <td>\n Density: density is set once on Table and reaches the cell through CSS — a per-cell prop could disagree with its own table\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/table-cell/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
324
+ "block": "───── CODE · ionbase-ui ─────\nimport { TableCell } from 'ionbase-ui';\n<TableCell align=\"leading\" />\n\nPROPERTIES\n Type → header (Header only)\n Align → align: Leading=leading, Trailing=trailing\n Show Divider → showDivider\n Content → children\n Show Content → children\n\nNOTES\n Type: Body is the default <td>\n Density: density is set once on Table and reaches the cell through CSS — a per-cell prop could disagree with its own table\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/table-cell/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
310
325
  },
311
326
  "175:605": {
312
327
  "figmaComponent": "Table Row",
313
328
  "component": "TableRow",
314
- "block": "───── CODE · ionbase-ui ─────\nimport { TableRow } from 'ionbase-ui';\n<TableRow />\n\nPROPERTIES\n State → isSelected (Selected, Selected-Hover only)\n Show Selection → selection\n\nNOTES\n State: Hover is CSS\n Show Selection: takes the Checkbox's own props, not a boolean — a selectable row needs checked/onChange wiring\n Density: set once on Table; see Table Cell\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/table-row/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
329
+ "block": "───── CODE · ionbase-ui ─────\nimport { TableRow } from 'ionbase-ui';\n<TableRow />\n\nPROPERTIES\n State → isSelected (Selected, Selected-Hover only)\n Show Selection → selection\n\nNOTES\n State: Hover is CSS\n Show Selection: takes the Checkbox's own props, not a boolean — a selectable row needs checked/onChange wiring\n Density: set once on Table; see Table Cell\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/table-row/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
315
330
  },
316
331
  "1444:761": {
317
332
  "figmaComponent": "Table Sort Indicator",
318
333
  "component": "TableCell",
319
- "block": "───── CODE · ionbase-ui ─────\nimport { TableCell } from 'ionbase-ui';\n<TableCell sortDirection=\"none\" />\n\nPROPERTIES\n Direction → sortDirection: None=none, Ascending=ascending, Descending=descending\n\nNOTES\n Direction: drawn in a header Cell Text’s Trailing Icon slot; in code the header cell draws it and the label is a button. Set sortDirection on every sortable header and wire onSort, or use useTableSort’s sortProps(column)\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/table-cell/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
334
+ "block": "───── CODE · ionbase-ui ─────\nimport { TableCell } from 'ionbase-ui';\n<TableCell sortDirection=\"none\" />\n\nPROPERTIES\n Direction → sortDirection: None=none, Ascending=ascending, Descending=descending\n\nNOTES\n Direction: drawn in a header Cell Text’s Trailing Icon slot; in code the header cell draws it and the label is a button. Set sortDirection on every sortable header and wire onSort, or use useTableSort’s sortProps(column)\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/table-cell/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
320
335
  },
321
336
  "1448:290": {
322
337
  "figmaComponent": "Tag",
323
338
  "component": "Tag",
324
- "block": "───── CODE · ionbase-ui ─────\nimport { Tag } from 'ionbase-ui';\n<Tag key=\"team:finance\">Team: Finance</Tag>\n\nTag is a collection item and takes no props of its own. Size and removability are set once on the parent TagGroup, so every tag in a group matches.\n\nNOTES\n Label: Tag’s label is its children, a collection prop the TypeScript checker cannot see — see Tag’s contract.\n Show Remove: removability is TagGroup’s onRemove: pass it and every tag in the group shows the button, leave it out and none do\n Size: set once on the parent TagGroup, not per tag\n State: Hover is CSS and Focus is :focus-visible; Disabled is disabledKeys on TagGroup\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tag/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
339
+ "block": "───── CODE · ionbase-ui ─────\nimport { Tag } from 'ionbase-ui';\n<Tag key=\"team:finance\">Team: Finance</Tag>\n\nTag is a collection item and takes no props of its own. Size and removability are set once on the parent TagGroup, so every tag in a group matches.\n\nNOTES\n Label: Tag’s label is its children, a collection prop the TypeScript checker cannot see — see Tag’s contract.\n Show Remove: removability is TagGroup’s onRemove: pass it and every tag in the group shows the button, leave it out and none do\n Size: set once on the parent TagGroup, not per tag\n State: Hover is CSS and Focus is :focus-visible; Disabled is disabledKeys on TagGroup\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tag/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
325
340
  },
326
341
  "1448:333": {
327
342
  "figmaComponent": "Tag Group",
328
343
  "component": "TagGroup",
329
- "block": "───── CODE · ionbase-ui ─────\nimport { TagGroup } from 'ionbase-ui';\n<TagGroup size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md\n Label → label\n Show Label → label\n\nNOTES\n Show Label: false means no visible label — pass aria-label instead, the group still needs a name\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tag-group/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
344
+ "block": "───── CODE · ionbase-ui ─────\nimport { TagGroup } from 'ionbase-ui';\n<TagGroup size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md\n Label → label\n Show Label → label\n\nNOTES\n Show Label: false means no visible label — pass aria-label instead, the group still needs a name\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tag-group/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
330
345
  },
331
346
  "157:126": {
332
347
  "figmaComponent": "Tabs",
333
348
  "component": "Tabs",
334
- "block": "───── CODE · ionbase-ui ─────\nimport { Tabs } from 'ionbase-ui';\n<Tabs type=\"pill\" orientation=\"horizontal\" aria-label=\"…\" />\n\nPROPERTIES\n Type → type: Pill=pill, Underline=underline\n Orientation → orientation: Horizontal=horizontal, Vertical=vertical\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tabs/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
349
+ "block": "───── CODE · ionbase-ui ─────\nimport { Tabs } from 'ionbase-ui';\n<Tabs type=\"pill\" orientation=\"horizontal\" aria-label=\"…\" />\n\nPROPERTIES\n Type → type: Pill=pill, Underline=underline\n Orientation → orientation: Horizontal=horizontal, Vertical=vertical\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tabs/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
335
350
  },
336
351
  "156:259": {
337
352
  "figmaComponent": "Tabs Item",
338
353
  "component": "TabItem",
339
- "block": "───── CODE · ionbase-ui ─────\nimport { TabItem } from 'ionbase-ui';\n<TabItem key=\"billing\" title=\"Billing\">Panel content</TabItem>\n\nTabItem is a collection item and takes no props of its own. Type, Size and State belong to the parent Tabs or to its selection state, which is why almost everything here is ignored rather than mapped.\n\nNOTES\n Label: TabItem's label is its `title` collection prop. It is not a typed prop the TypeScript checker can see, so there is nothing here to verify against — see TabItem's contract.\n Type: set on the parent Tabs, not per item\n Size: set on the parent Tabs, not per item\n State: selection is the Tabs collection's state; Disabled is disabledKeys on Tabs\n Show Label: a tab without a label is a tab that cannot be named\n Show Leading Icon: not yet in the code component\n Leading Icon: not yet in the code component\n Show Trailing: not yet in the code component\n Trailing: not yet in the code component\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tab-item/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
354
+ "block": "───── CODE · ionbase-ui ─────\nimport { TabItem } from 'ionbase-ui';\n<TabItem key=\"billing\" title=\"Billing\">Panel content</TabItem>\n\nTabItem is a collection item and takes no props of its own. Type, Size and State belong to the parent Tabs or to its selection state, which is why almost everything here is ignored rather than mapped.\n\nNOTES\n Label: TabItem's label is its `title` collection prop. It is not a typed prop the TypeScript checker can see, so there is nothing here to verify against — see TabItem's contract.\n Type: set on the parent Tabs, not per item\n Size: set on the parent Tabs, not per item\n State: selection is the Tabs collection's state; Disabled is disabledKeys on Tabs\n Show Label: a tab without a label is a tab that cannot be named\n Show Leading Icon: not yet in the code component\n Leading Icon: not yet in the code component\n Show Trailing: not yet in the code component\n Trailing: not yet in the code component\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tab-item/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
340
355
  },
341
356
  "1301:334": {
342
357
  "figmaComponent": "Textarea",
343
358
  "component": "Textarea",
344
- "block": "───── CODE · ionbase-ui ─────\nimport { Textarea } from 'ionbase-ui';\n<Textarea size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → value\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled, Read-only is isReadOnly — both react-aria props, mirroring Input.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/textarea/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
359
+ "block": "───── CODE · ionbase-ui ─────\nimport { Textarea } from 'ionbase-ui';\n<Textarea size=\"sm\" label=\"…\" />\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n State → isInvalid (Invalid only)\n Value → value\n\nNOTES\n State: Hover, Focus and Filled are CSS or content; Disabled is isDisabled, Read-only is isReadOnly — both react-aria props, mirroring Input.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/textarea/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
345
360
  },
346
361
  "820:1655": {
347
362
  "figmaComponent": "Toast",
348
363
  "component": "Toast",
349
- "block": "───── CODE · ionbase-ui ─────\nimport { Toast } from 'ionbase-ui';\n<Toast intent=\"information\" onDismiss={…} id={…} />\n\nPROPERTIES\n Intent → intent: Neutral=neutral, Primary=primary, Success=success, Warning=warning, Error=error, Information=information\n Title → title\n Show Title → title\n Message → message\n Show Message → message\n Show Action → action\n Show Dismiss → dismissLabel\n\nNOTES\n Show Action: one action only — a second belongs in a Modal\n Show Dismiss: the dismiss control is always rendered; only its label is configurable\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/toast/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
364
+ "block": "───── CODE · ionbase-ui ─────\nimport { Toast } from 'ionbase-ui';\n<Toast intent=\"information\" onDismiss={…} id={…} />\n\nPROPERTIES\n Intent → intent: Neutral=neutral, Primary=primary, Success=success, Warning=warning, Error=error, Information=information\n Title → title\n Show Title → title\n Message → message\n Show Message → message\n Show Action → action\n Show Dismiss → dismissLabel\n\nNOTES\n Show Action: one action only — a second belongs in a Modal\n Show Dismiss: the dismiss control is always rendered; only its label is configurable\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/toast/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
350
365
  },
351
366
  "88:323": {
352
367
  "figmaComponent": "Toggle",
353
368
  "component": "Toggle",
354
- "block": "───── CODE · ionbase-ui ─────\nimport { Toggle } from 'ionbase-ui';\n<Toggle size=\"sm\" intent=\"brand\">Label</Toggle>\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Color → intent: Brand=brand, Neutral=neutral, Danger=danger\n Label → children\n Show Label → children\n\nNOTES\n State: On/Off is `checked`/`defaultChecked` on the underlying input, not a Toggle prop\n Show Label: false means aria-label is required\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/toggle/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
369
+ "block": "───── CODE · ionbase-ui ─────\nimport { Toggle } from 'ionbase-ui';\n<Toggle size=\"sm\" intent=\"brand\">Label</Toggle>\n\nPROPERTIES\n Size → size: Small=sm, Medium=md, Large=lg\n Color → intent: Brand=brand, Neutral=neutral, Danger=danger\n Label → children\n Show Label → children\n\nNOTES\n State: On/Off is `checked`/`defaultChecked` on the underlying input, not a Toggle prop\n Show Label: false means aria-label is required\n Focused: drawn focus ring; :focus-visible in code\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/toggle/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
355
370
  },
356
371
  "1392:391": {
357
372
  "figmaComponent": "Tool Call",
358
373
  "component": "ToolCall",
359
- "block": "───── CODE · ionbase-ui ─────\nimport { ToolCall } from 'ionbase-ui';\n<ToolCall status=\"pending\" isExpanded=\"false\" title={…} />\n\nPROPERTIES\n Status → status: Pending=pending, Active=active, Done=done, Failed=failed, Skipped=skipped\n Expanded → isExpanded: True=true, False=false\n Title → title\n Name → name\n Show Name → name\n Duration → durationMs\n Show Duration → durationMs\n Error Message → errorMessage\n\nNOTES\n Expanded: or defaultExpanded, uncontrolled\n Show Name: false means name is omitted\n Duration: milliseconds in code; Figma shows the formatted text (“1.2s”, “340ms”)\n Show Duration: false means durationMs is omitted\n Has Details: not a prop: code shows the chevron and makes the header a button when input or output is passed\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tool-call/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
374
+ "block": "───── CODE · ionbase-ui ─────\nimport { ToolCall } from 'ionbase-ui';\n<ToolCall status=\"pending\" isExpanded=\"false\" title={…} />\n\nPROPERTIES\n Status → status: Pending=pending, Active=active, Done=done, Failed=failed, Skipped=skipped\n Expanded → isExpanded: True=true, False=false\n Title → title\n Name → name\n Show Name → name\n Duration → durationMs\n Show Duration → durationMs\n Error Message → errorMessage\n\nNOTES\n Expanded: or defaultExpanded, uncontrolled\n Show Name: false means name is omitted\n Duration: milliseconds in code; Figma shows the formatted text (“1.2s”, “340ms”)\n Show Duration: false means durationMs is omitted\n Has Details: not a prop: code shows the chevron and makes the header a button when input or output is passed\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tool-call/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
375
+ },
376
+ "1517:583": {
377
+ "figmaComponent": "Toolbar",
378
+ "component": "Toolbar",
379
+ "block": "───── CODE · ionbase-ui ─────\nimport { Toolbar } from 'ionbase-ui';\n<Toolbar orientation=\"horizontal\" aria-label=\"…\" />\n\nPROPERTIES\n Orientation → orientation: Horizontal=horizontal, Vertical=vertical\n\nNOTES\n Orientation: Horizontal moves with ← →, vertical with ↑ ↓. The children are the caller's: Buttons, a Divider between groups (vertical in a horizontal toolbar), and a MenuTrigger with an icon-only Button for the overflow. Name it with aria-label for what it acts on.\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/toolbar/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
360
380
  },
361
381
  "801:68": {
362
382
  "figmaComponent": "Tooltip",
363
383
  "component": "Tooltip",
364
- "block": "───── CODE · ionbase-ui ─────\nimport { Tooltip } from 'ionbase-ui';\n<Tooltip placement=\"top\" label={…}>…</Tooltip>\n\nPROPERTIES\n Placement → placement: Top=top, Bottom=bottom, Left=left, Right=right\n Label → label\n Title → title\n Show Title → title\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tooltip/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
384
+ "block": "───── CODE · ionbase-ui ─────\nimport { Tooltip } from 'ionbase-ui';\n<Tooltip placement=\"top\" label={…}>…</Tooltip>\n\nPROPERTIES\n Placement → placement: Top=top, Bottom=bottom, Left=left, Right=right\n Label → label\n Title → title\n Show Title → title\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/tooltip/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
365
385
  },
366
386
  "1432:282": {
367
387
  "figmaComponent": "Chart Tooltip",
368
388
  "component": "ChartTooltip",
369
- "block": "───── CODE · ionbase-ui ─────\nimport { ChartTooltip } from 'ionbase-ui';\n<ChartTooltip />\n\nPROPERTIES\n Title → title\n Show Row 2 → rows\n Show Row 3 → rows\n\nNOTES\n Show Row 2: true draws a second entry in rows; the row count is the length of the array\n Show Row 3: true draws a third entry in rows\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/chart-tooltip/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
389
+ "block": "───── CODE · ionbase-ui ─────\nimport { ChartTooltip } from 'ionbase-ui';\n<ChartTooltip />\n\nPROPERTIES\n Title → title\n Show Row 2 → rows\n Show Row 3 → rows\n\nNOTES\n Show Row 2: true draws a second entry in rows; the row count is the length of the array\n Show Row 3: true draws a third entry in rows\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/chart-tooltip/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
370
390
  },
371
391
  "1432:369": {
372
392
  "figmaComponent": "Chart Legend",
373
393
  "component": "ChartLegend",
374
- "block": "───── CODE · ionbase-ui ─────\nimport { ChartLegend } from 'ionbase-ui';\n<ChartLegend shape=\"square\" items={…} />\n\nPROPERTIES\n Shape → shape: Square=square, Line=line\n Show Item 3 → items\n\nNOTES\n Show Item 3: true draws a third entry in items; the entry count is the length of the array\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/chart-legend/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
394
+ "block": "───── CODE · ionbase-ui ─────\nimport { ChartLegend } from 'ionbase-ui';\n<ChartLegend shape=\"square\" items={…} />\n\nPROPERTIES\n Shape → shape: Square=square, Line=line\n Show Item 3 → items\n\nNOTES\n Show Item 3: true draws a third entry in items; the entry count is the length of the array\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/chart-legend/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
375
395
  },
376
396
  "1458:368": {
377
397
  "figmaComponent": "Command Palette",
378
398
  "component": "CommandPalette",
379
- "block": "───── CODE · ionbase-ui ─────\nimport { CommandPalette } from 'ionbase-ui';\n<CommandPalette\n commands={[\n { id: 'new-agent', label: 'Create agent', section: 'Actions' },\n { id: 'go-runs', label: 'Go to Runs', section: 'Navigation' },\n ]}\n onAction={(id) => run(id)}\n/>\n\nPROPERTIES\n Placeholder → placeholder\n\nNOTES\n Show Footer: the key hints are always rendered and hidden by CSS below 40rem, where there are no arrow keys to hint at — a viewport's answer, not a prop\n State: Results and Empty are what the query produces against `commands`; the empty text is `emptyLabel`\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/command-palette/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
399
+ "block": "───── CODE · ionbase-ui ─────\nimport { CommandPalette } from 'ionbase-ui';\n<CommandPalette\n commands={[\n { id: 'new-agent', label: 'Create agent', section: 'Actions' },\n { id: 'go-runs', label: 'Go to Runs', section: 'Navigation' },\n ]}\n onAction={(id) => run(id)}\n/>\n\nPROPERTIES\n Placeholder → placeholder\n\nNOTES\n Show Footer: the key hints are always rendered and hidden by CSS below 40rem, where there are no arrow keys to hint at — a viewport's answer, not a prop\n State: Results and Empty are what the query produces against `commands`; the empty text is `emptyLabel`\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/command-palette/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
380
400
  },
381
401
  "1457:242": {
382
402
  "figmaComponent": "Kbd",
383
403
  "component": "Kbd",
384
- "block": "───── CODE · ionbase-ui ─────\nimport { Kbd } from 'ionbase-ui';\n<Kbd shortcut=\"mod+k\" />\n\nPROPERTIES\n Key → children\n\nNOTES\n Key: one Figma Kbd is one key. For a shortcut, use `shortcut=\"mod+k\"` on a single Kbd rather than several: it draws each platform's own keys and names them for a screen reader\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/kbd/index.html.md\nGenerated from ionbase-ui@0.84.0. Edit the code, not this block.\n───── end code ─────"
404
+ "block": "───── CODE · ionbase-ui ─────\nimport { Kbd } from 'ionbase-ui';\n<Kbd shortcut=\"mod+k\" />\n\nPROPERTIES\n Key → children\n\nNOTES\n Key: one Figma Kbd is one key. For a shortcut, use `shortcut=\"mod+k\"` on a single Kbd rather than several: it draws each platform's own keys and names them for a screen reader\n\nFull contract: https://raza-ahmed.github.io/ionbase-design-system/components/kbd/index.html.md\nGenerated from ionbase-ui@0.88.0. Edit the code, not this block.\n───── end code ─────"
385
405
  }
386
406
  }
387
407
  }