@xyd-js/storybook 0.0.1-build.167

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 (171) hide show
  1. package/.storybook/main.ts +40 -0
  2. package/.storybook/manager-head.html +6 -0
  3. package/.storybook/manager.ts +18 -0
  4. package/.storybook/preview.ts +40 -0
  5. package/.storybook/styles.css +5 -0
  6. package/.storybook/theme.ts +34 -0
  7. package/CHANGELOG.md +2357 -0
  8. package/LICENSE +21 -0
  9. package/README.md +50 -0
  10. package/eslint.config.js +28 -0
  11. package/package.json +61 -0
  12. package/public/logo.svg +10 -0
  13. package/src/__fixtures__/Icons.tsx +83 -0
  14. package/src/__fixtures__/atlas-index/package-index.mdx +194 -0
  15. package/src/__fixtures__/atlas-index/wip1.mdx +131 -0
  16. package/src/__fixtures__/atlas-index.mdx +53 -0
  17. package/src/__fixtures__/code-sample.mdx +15 -0
  18. package/src/__fixtures__/example-source-uniform.ts +41 -0
  19. package/src/__fixtures__/hello-world.mdx +116 -0
  20. package/src/components/DemoDocs.tsx +235 -0
  21. package/src/components/logo.tsx +37 -0
  22. package/src/decorators/DocsTemplate.tsx +101 -0
  23. package/src/docs/atlas/Atlas.stories.tsx +51 -0
  24. package/src/docs/atlas/todo-app.uniform.json +625 -0
  25. package/src/docs/atlas/uniform-to-references.ts +101 -0
  26. package/src/docs/components/coder/CodeSample.stories.tsx +29 -0
  27. package/src/docs/components/pages/PageBlogHome.stories.tsx +52 -0
  28. package/src/docs/components/pages/PageFirstSlide.stories.tsx +124 -0
  29. package/src/docs/components/pages/PageHome.stories.tsx +127 -0
  30. package/src/docs/components/system/Baseline.stories.tsx +126 -0
  31. package/src/docs/components/writer/Badge.stories.tsx +132 -0
  32. package/src/docs/components/writer/Banner.stories.tsx +394 -0
  33. package/src/docs/components/writer/Blockquote.stories.tsx +415 -0
  34. package/src/docs/components/writer/Breadcrumbs.stories.tsx +282 -0
  35. package/src/docs/components/writer/Button.stories.tsx +405 -0
  36. package/src/docs/components/writer/Callout.stories.tsx +183 -0
  37. package/src/docs/components/writer/Card.stories.tsx +457 -0
  38. package/src/docs/components/writer/ColorSchemeButton.stories.tsx +322 -0
  39. package/src/docs/components/writer/Details.stories.tsx +333 -0
  40. package/src/docs/components/writer/GuideCard.stories.tsx +384 -0
  41. package/src/docs/components/writer/Heading.stories.tsx +379 -0
  42. package/src/docs/components/writer/Hr.stories.tsx +325 -0
  43. package/src/docs/components/writer/IconSocial.stories.tsx +591 -0
  44. package/src/docs/components/writer/Image.stories.tsx +430 -0
  45. package/src/docs/components/writer/List.stories.tsx +479 -0
  46. package/src/docs/components/writer/NavLinks.stories.tsx +380 -0
  47. package/src/docs/components/writer/Pre.stories.tsx +23 -0
  48. package/src/docs/components/writer/Steps.stories.tsx +914 -0
  49. package/src/docs/components/writer/Table.stories.tsx +608 -0
  50. package/src/docs/components/writer/Tabs.stories.tsx +760 -0
  51. package/src/docs/components/writer/TocCard.stories.tsx +407 -0
  52. package/src/docs/components/writer/Update.stories.tsx +457 -0
  53. package/src/docs/components/writer/VideoGuide.stories.tsx +17 -0
  54. package/src/docs/templates/CodeSample.stories.tsx +15 -0
  55. package/src/docs/themes/TODO.md +1 -0
  56. package/src/docs/themes/logo.tsx +37 -0
  57. package/src/docs/themes/themes.stories.tsx +269 -0
  58. package/src/docs/ui/Nav.stories.tsx +58 -0
  59. package/src/docs/ui/Sidebar.stories.tsx +167 -0
  60. package/src/docs/ui/SubNav.stories.tsx +29 -0
  61. package/src/utils/mdx.ts +31 -0
  62. package/storybook-static/assets/Atlas.stories-B3Ix52TV.js +153 -0
  63. package/storybook-static/assets/Badge.stories-D3nfVAAW.js +84 -0
  64. package/storybook-static/assets/Banner.stories-BHLs2WlR.js +394 -0
  65. package/storybook-static/assets/Baseline.stories-Bwx2zF_U.js +103 -0
  66. package/storybook-static/assets/Blockquote.stories-Cxf9fDVo.js +468 -0
  67. package/storybook-static/assets/Breadcrumbs.stories-CFjDJvdh.js +219 -0
  68. package/storybook-static/assets/Button-Cj99tk5U-Cn0Wrqkw.js +3 -0
  69. package/storybook-static/assets/Button.stories-DUfQIyn7.js +472 -0
  70. package/storybook-static/assets/Callout.stories-CIQWommc.js +134 -0
  71. package/storybook-static/assets/Card.stories-0mJDPE-f.js +278 -0
  72. package/storybook-static/assets/CodeSample.stories-1k1_b2U_.js +8 -0
  73. package/storybook-static/assets/CodeSample.stories-BEAQ3H6A.js +22 -0
  74. package/storybook-static/assets/Color-YHDXOIA2-BAq_yxd2.js +1 -0
  75. package/storybook-static/assets/ColorSchemeButton.stories-C1yuuA8O.js +384 -0
  76. package/storybook-static/assets/Details.stories-BacIPYUH.js +290 -0
  77. package/storybook-static/assets/DocsRenderer-CFRXHY34-BwJiFRuq.js +575 -0
  78. package/storybook-static/assets/DocsTemplate-B8_ZAKIZ.js +16 -0
  79. package/storybook-static/assets/GuideCard.stories-IJbjW-xe.js +253 -0
  80. package/storybook-static/assets/Heading.stories-C9rBwnlZ.js +337 -0
  81. package/storybook-static/assets/Hr.stories-bgwD4mmY.js +351 -0
  82. package/storybook-static/assets/IconSocial.stories-Bv3u90GB.js +715 -0
  83. package/storybook-static/assets/Icons-CjNNbMNR.js +1 -0
  84. package/storybook-static/assets/Image.stories-BlrJ8Th7.js +349 -0
  85. package/storybook-static/assets/List.stories-mzy4ZAGg.js +513 -0
  86. package/storybook-static/assets/Nav.stories-CZhCHFlj.js +13 -0
  87. package/storybook-static/assets/NavLinks.stories-DuFRhZLh.js +359 -0
  88. package/storybook-static/assets/PageBlogHome.stories-BnmA2r3q.js +14 -0
  89. package/storybook-static/assets/PageFirstSlide-D2kcGYmB-BWfslHla.js +1 -0
  90. package/storybook-static/assets/PageFirstSlide-SzOOIHx0.css +1 -0
  91. package/storybook-static/assets/PageFirstSlide.stories-CoKlxYlH.js +55 -0
  92. package/storybook-static/assets/PageHome.stories-DcgUrGxe.js +121 -0
  93. package/storybook-static/assets/Pre.stories-CKu9R4kn.js +11 -0
  94. package/storybook-static/assets/Sidebar.stories-BivU6MOT.js +9 -0
  95. package/storybook-static/assets/Steps.stories-fSa3Sw8j.js +1146 -0
  96. package/storybook-static/assets/SubNav.stories-CL_Th3oO.js +19 -0
  97. package/storybook-static/assets/Table.stories-BdNM7k9y.js +581 -0
  98. package/storybook-static/assets/Tabs.stories-A3NcBab_.js +873 -0
  99. package/storybook-static/assets/Text-BAwif7rv-BYvLGGQV.js +31 -0
  100. package/storybook-static/assets/TocCard.stories-BRB1SH6U.js +299 -0
  101. package/storybook-static/assets/Update-DflVXGGQ-qVV03FlC.js +1 -0
  102. package/storybook-static/assets/Update.stories-DG383caW.js +387 -0
  103. package/storybook-static/assets/VideoGuide.stories-BnCDLXK7.js +3 -0
  104. package/storybook-static/assets/__vite-browser-external-FmFgRqLi.js +1 -0
  105. package/storybook-static/assets/_rollupPluginBabelHelpers-DuYa1R0C-CyXpXONY.js +4 -0
  106. package/storybook-static/assets/chunk-EF7DTUVF-DPkwZaUR.js +12 -0
  107. package/storybook-static/assets/chunk-XP5HYGXS-BpfKkqn7.js +1 -0
  108. package/storybook-static/assets/content-BRdfAQPf.js +27 -0
  109. package/storybook-static/assets/entry-preview-D5WwyKaL.js +2 -0
  110. package/storybook-static/assets/entry-preview-docs-DU3GzdsG.js +46 -0
  111. package/storybook-static/assets/entry-preview-rsc-56ExrKd2.js +1 -0
  112. package/storybook-static/assets/github-BKgXy13-.js +6 -0
  113. package/storybook-static/assets/iframe-YbiB23cy.js +211 -0
  114. package/storybook-static/assets/index-Cf9b6H0j.js +8 -0
  115. package/storybook-static/assets/index-CrSc8wm9.js +240 -0
  116. package/storybook-static/assets/index-CzKwSnp0.js +9 -0
  117. package/storybook-static/assets/index-D6tQpKjq.js +12 -0
  118. package/storybook-static/assets/index-DUCcPMOf.js +1 -0
  119. package/storybook-static/assets/index-D_kTjGoR.js +9 -0
  120. package/storybook-static/assets/index-DgnBCu_c.js +1 -0
  121. package/storybook-static/assets/index-DrFu-skq.js +6 -0
  122. package/storybook-static/assets/index-H0MBf5rE.js +1 -0
  123. package/storybook-static/assets/jsx-runtime-D_zvdyIk.js +9 -0
  124. package/storybook-static/assets/layouts-DBdGRyBm.js +1 -0
  125. package/storybook-static/assets/preview-B5edrxhc.js +1 -0
  126. package/storybook-static/assets/preview-BWzBA1C2.js +396 -0
  127. package/storybook-static/assets/preview-C5EOgwJ9.js +2 -0
  128. package/storybook-static/assets/preview-DGZ5Qq08.js +34 -0
  129. package/storybook-static/assets/preview-DTyQTpzx.js +1 -0
  130. package/storybook-static/assets/preview-TqM3Oi8H.js +1 -0
  131. package/storybook-static/assets/preview-WIE65ICp.js +1 -0
  132. package/storybook-static/assets/preview-_Oh-njOd.css +1 -0
  133. package/storybook-static/assets/preview-caVMbCIR.js +7 -0
  134. package/storybook-static/assets/react-18-Tf4JhPOR.js +25 -0
  135. package/storybook-static/assets/system-CcsYyfSK.js +1 -0
  136. package/storybook-static/assets/test-utils-BaXAOqRT.js +9 -0
  137. package/storybook-static/assets/themes.stories-D1474P9U.js +41 -0
  138. package/storybook-static/assets/writer-DkrWmB39.js +1 -0
  139. package/storybook-static/favicon.svg +1 -0
  140. package/storybook-static/iframe.html +666 -0
  141. package/storybook-static/index.html +183 -0
  142. package/storybook-static/index.json +1 -0
  143. package/storybook-static/logo.svg +10 -0
  144. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  145. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  146. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  147. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  148. package/storybook-static/project.json +1 -0
  149. package/storybook-static/sb-addons/docs-9/manager-bundle.js +242 -0
  150. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  151. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
  152. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +402 -0
  153. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
  154. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
  155. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
  156. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
  157. package/storybook-static/sb-addons/storybook-10/manager-bundle.js +3 -0
  158. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  159. package/storybook-static/sb-addons/storysource-8/manager-bundle.js +3 -0
  160. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  161. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  162. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  163. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  164. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  165. package/storybook-static/sb-manager/globals-module-info.js +1052 -0
  166. package/storybook-static/sb-manager/globals-runtime.js +42127 -0
  167. package/storybook-static/sb-manager/globals.js +48 -0
  168. package/storybook-static/sb-manager/runtime.js +12048 -0
  169. package/tsconfig.json +39 -0
  170. package/tsconfig.tsbuildinfo +1 -0
  171. package/vite.config.ts +8 -0
@@ -0,0 +1,873 @@
1
+ import{j as e}from"./jsx-runtime-D_zvdyIk.js";import"./writer-DkrWmB39.js";import{U as t}from"./Text-BAwif7rv-BYvLGGQV.js";import"./Update-DflVXGGQ-qVV03FlC.js";import"./index-CzKwSnp0.js";import"./Button-Cj99tk5U-Cn0Wrqkw.js";import"./_rollupPluginBabelHelpers-DuYa1R0C-CyXpXONY.js";import"./index-DUCcPMOf.js";import"./index-DgnBCu_c.js";import"./index-D_kTjGoR.js";const g={title:"Components/Writer/Tabs",component:t,parameters:{docs:{description:{component:"Tabs component provides a tabbed interface for organizing content into multiple sections. It supports both primary and secondary variants with different styling and behavior."}}},argTypes:{children:{description:"The tab items and content sections",control:!1},value:{description:"The currently selected tab value",control:"text"},onChange:{description:"Callback function triggered when a tab is selected",control:!1},slide:{description:"Whether to enable sliding animation between tabs",control:"boolean"},className:{description:"Optional CSS class name for custom styling",control:"text"},kind:{description:"The variant of the tabs component",control:{type:"select"},options:["default","secondary"]}}},i={render:()=>e.jsx("div",{style:{padding:"20px"},children:e.jsxs(t,{value:"tab1",children:[e.jsx(t.Item,{value:"tab1",children:"User Behavior"}),e.jsx(t.Item,{value:"tab2",children:"Feature Adoption"}),e.jsx(t.Item,{value:"tab3",children:"Churn Analysis"}),e.jsx(t.Content,{value:"tab1",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"User Behavior Analysis"}),e.jsx("p",{children:"Gain insights into user behavior by replaying sessions and analyzing click patterns. This helps uncover friction points in your app's user experience."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Session replay functionality"}),e.jsx("li",{children:"Click pattern analysis"}),e.jsx("li",{children:"User journey mapping"}),e.jsx("li",{children:"Friction point identification"})]})]})}),e.jsx(t.Content,{value:"tab2",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Feature Adoption Tracking"}),e.jsx("p",{children:"Understand how users engage with new features. Track metrics like time to adoption and overall usage to measure feature success."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Adoption rate tracking"}),e.jsx("li",{children:"Time-to-adoption metrics"}),e.jsx("li",{children:"Feature usage analytics"}),e.jsx("li",{children:"Success measurement"})]})]})}),e.jsx(t.Content,{value:"tab3",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Churn Analysis"}),e.jsx("p",{children:"Use session data to identify behavioral patterns of users who are at risk of churning and implement targeted retention strategies."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Churn prediction models"}),e.jsx("li",{children:"Behavioral pattern analysis"}),e.jsx("li",{children:"Retention strategy implementation"}),e.jsx("li",{children:"Risk assessment"})]})]})})]})})},s={render:()=>e.jsx("div",{style:{padding:"20px"},children:e.jsxs(t,{value:"overview",kind:"secondary",children:[e.jsx(t.Item,{value:"overview",children:"Overview"}),e.jsx(t.Item,{value:"details",children:"Details"}),e.jsx(t.Item,{value:"settings",children:"Settings"}),e.jsx(t.Content,{value:"overview",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"System Overview"}),e.jsx("p",{children:"This is the overview tab with general information about the system."}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px",marginTop:"16px"},children:[e.jsx("h4",{children:"Key Metrics"}),e.jsx("p",{children:"Display important system metrics and status information."})]})]})}),e.jsx(t.Content,{value:"details",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Detailed Information"}),e.jsx("p",{children:"This tab shows detailed information about the selected item."}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px",marginTop:"16px"},children:[e.jsx("h4",{children:"Active Tab Content"}),e.jsx("p",{children:"This content is visible because the Details tab is currently active."})]})]})}),e.jsx(t.Content,{value:"settings",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Configuration Settings"}),e.jsx("p",{children:"Configure your preferences and system settings in this tab."}),e.jsxs("ul",{children:[e.jsx("li",{children:"User preferences"}),e.jsx("li",{children:"System configuration"}),e.jsx("li",{children:"Security settings"}),e.jsx("li",{children:"Notification options"})]})]})})]})}),parameters:{docs:{description:{story:"Secondary Tabs variant with different styling and behavior."}}}},n={render:()=>e.jsx("div",{style:{padding:"20px"},children:e.jsxs(t,{value:"users",children:[e.jsx(t.Item,{value:"users",children:"User Behavior"}),e.jsx(t.Item,{value:"features",children:"Feature Adoption"}),e.jsx(t.Item,{value:"churn",children:"Churn Analysis"}),e.jsx(t.Item,{value:"revenue",children:"Revenue Analytics"}),e.jsx(t.Item,{value:"performance",children:"Performance Metrics"}),e.jsx(t.Item,{value:"security",children:"Security Monitoring"}),e.jsx(t.Item,{value:"api",children:"API Usage"}),e.jsx(t.Item,{value:"database",children:"Database Health"}),e.jsx(t.Content,{value:"users",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"User Behavior Analysis"}),e.jsx("p",{children:"Track and analyze user interactions to understand behavior patterns."})]})}),e.jsx(t.Content,{value:"features",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Feature Adoption"}),e.jsx("p",{children:"Monitor how users adopt and use new features in your application."})]})}),e.jsx(t.Content,{value:"churn",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Churn Analysis"}),e.jsx("p",{children:"Identify users at risk of leaving and implement retention strategies."})]})}),e.jsx(t.Content,{value:"revenue",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Revenue Analytics"}),e.jsx("p",{children:"Track revenue metrics and analyze business performance."})]})}),e.jsx(t.Content,{value:"performance",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Performance Metrics"}),e.jsx("p",{children:"Monitor application performance and system health."})]})}),e.jsx(t.Content,{value:"security",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Security Monitoring"}),e.jsx("p",{children:"Track security events and monitor for potential threats."})]})}),e.jsx(t.Content,{value:"api",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"API Usage"}),e.jsx("p",{children:"Monitor API calls, rate limits, and usage patterns."})]})}),e.jsx(t.Content,{value:"database",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Database Health"}),e.jsx("p",{children:"Track database performance, connections, and query optimization."})]})})]})}),parameters:{docs:{description:{story:"This example shows how the Tabs component handles many tabs with horizontal scrolling."}}}},a={render:()=>e.jsx("div",{style:{padding:"20px"},children:e.jsxs(t,{value:"tab1",children:[e.jsx(t.Item,{value:"tab1",href:"#tab1",children:"Documentation"}),e.jsx(t.Item,{value:"tab2",href:"#tab2",children:"Examples"}),e.jsx(t.Item,{value:"tab3",href:"#tab3",children:"API Reference"}),e.jsx(t.Content,{value:"tab1",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Component Documentation"}),e.jsx("p",{children:"The Tabs component provides a clean and accessible way to organize content into multiple sections. It supports horizontal scrolling when there are many tabs and includes arrow navigation for better user experience."}),e.jsx("h4",{children:"Key Features"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Accessible:"})," Built with proper ARIA attributes and keyboard navigation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Responsive:"})," Adapts to different screen sizes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Scrollable:"})," Handles many tabs with horizontal scrolling"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Customizable:"})," Supports custom styling via className prop"]})]})]})}),e.jsx(t.Content,{value:"tab2",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"Usage Examples"}),e.jsxs("div",{style:{marginBottom:"24px"},children:[e.jsx("h4",{children:"Basic Tabs"}),e.jsx("p",{children:"Simple tab interface with a few sections:"}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px"},children:[e.jsx("strong",{children:"Example:"})," Settings, Profile, Notifications"]})]}),e.jsxs("div",{style:{marginBottom:"24px"},children:[e.jsx("h4",{children:"Many Tabs"}),e.jsx("p",{children:"When you have many tabs, the component automatically adds scrolling:"}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px"},children:[e.jsx("strong",{children:"Example:"})," Analytics, Users, Reports, Settings, Help, etc."]})]})]})}),e.jsx(t.Content,{value:"tab3",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h3",{children:"API Reference"}),e.jsx("h4",{children:"Props"}),e.jsxs("table",{style:{width:"100%",borderCollapse:"collapse"},children:[e.jsx("thead",{children:e.jsxs("tr",{style:{borderBottom:"1px solid var(--xyd-border-color)"},children:[e.jsx("th",{style:{textAlign:"left",padding:"8px"},children:"Prop"}),e.jsx("th",{style:{textAlign:"left",padding:"8px"},children:"Type"}),e.jsx("th",{style:{textAlign:"left",padding:"8px"},children:"Description"})]})}),e.jsxs("tbody",{children:[e.jsxs("tr",{style:{borderBottom:"1px solid var(--xyd-border-color)"},children:[e.jsx("td",{style:{padding:"8px"},children:e.jsx("code",{children:"children"})}),e.jsx("td",{style:{padding:"8px"},children:"React.ReactNode"}),e.jsx("td",{style:{padding:"8px"},children:"Tab items and content sections"})]}),e.jsxs("tr",{style:{borderBottom:"1px solid var(--xyd-border-color)"},children:[e.jsx("td",{style:{padding:"8px"},children:e.jsx("code",{children:"value"})}),e.jsx("td",{style:{padding:"8px"},children:"string"}),e.jsx("td",{style:{padding:"8px"},children:"Currently selected tab value"})]}),e.jsxs("tr",{style:{borderBottom:"1px solid var(--xyd-border-color)"},children:[e.jsx("td",{style:{padding:"8px"},children:e.jsx("code",{children:"onChange"})}),e.jsx("td",{style:{padding:"8px"},children:"function"}),e.jsx("td",{style:{padding:"8px"},children:"Callback when tab is selected"})]}),e.jsxs("tr",{children:[e.jsx("td",{style:{padding:"8px"},children:e.jsx("code",{children:"kind"})}),e.jsx("td",{style:{padding:"8px"},children:"string"}),e.jsx("td",{style:{padding:"8px"},children:"Tab variant (default/secondary)"})]})]})]})]})})]})}),parameters:{docs:{description:{story:"This example shows tabs with href links for navigation."}}}},r={render:()=>e.jsxs("div",{style:{padding:"20px",maxWidth:"1000px"},children:[e.jsxs("div",{style:{marginBottom:"40px"},children:[e.jsx("h2",{children:"Dashboard Analytics"}),e.jsx("p",{children:"Tabs are commonly used in dashboards to organize different types of analytics and data."}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor)",border:"1px solid var(--xyd-border-color)",borderRadius:"8px",padding:"20px"},children:[e.jsx("h3",{style:{marginBottom:"16px"},children:"Analytics Dashboard"}),e.jsxs(t,{value:"overview",children:[e.jsx(t.Item,{value:"overview",children:"Overview"}),e.jsx(t.Item,{value:"users",children:"Users"}),e.jsx(t.Item,{value:"revenue",children:"Revenue"}),e.jsx(t.Item,{value:"performance",children:"Performance"}),e.jsx(t.Item,{value:"settings",children:"Settings"}),e.jsx(t.Content,{value:"overview",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Dashboard Overview"}),e.jsx("p",{children:"Key metrics and summary information for your application."}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginTop:"16px"},children:[e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px",textAlign:"center"},children:[e.jsx("h5",{children:"Total Users"}),e.jsx("p",{style:{fontSize:"24px",fontWeight:"bold",margin:0},children:"12,345"})]}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px",textAlign:"center"},children:[e.jsx("h5",{children:"Active Sessions"}),e.jsx("p",{style:{fontSize:"24px",fontWeight:"bold",margin:0},children:"1,234"})]}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"16px",borderRadius:"8px",textAlign:"center"},children:[e.jsx("h5",{children:"Revenue"}),e.jsx("p",{style:{fontSize:"24px",fontWeight:"bold",margin:0},children:"$45,678"})]})]})]})}),e.jsx(t.Content,{value:"users",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"User Analytics"}),e.jsx("p",{children:"Detailed user behavior and engagement metrics."}),e.jsxs("ul",{children:[e.jsx("li",{children:"User acquisition trends"}),e.jsx("li",{children:"Engagement metrics"}),e.jsx("li",{children:"Retention analysis"}),e.jsx("li",{children:"User segmentation"})]})]})}),e.jsx(t.Content,{value:"revenue",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Revenue Analytics"}),e.jsx("p",{children:"Financial metrics and revenue tracking."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Monthly recurring revenue"}),e.jsx("li",{children:"Customer lifetime value"}),e.jsx("li",{children:"Churn rate analysis"}),e.jsx("li",{children:"Pricing optimization"})]})]})}),e.jsx(t.Content,{value:"performance",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"System Performance"}),e.jsx("p",{children:"Application performance and system health metrics."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Response time monitoring"}),e.jsx("li",{children:"Error rate tracking"}),e.jsx("li",{children:"Resource utilization"}),e.jsx("li",{children:"Uptime statistics"})]})]})}),e.jsx(t.Content,{value:"settings",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Dashboard Settings"}),e.jsx("p",{children:"Configure your dashboard preferences and display options."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Widget customization"}),e.jsx("li",{children:"Theme selection"}),e.jsx("li",{children:"Notification preferences"}),e.jsx("li",{children:"Data refresh intervals"})]})]})})]})]})]}),e.jsxs("div",{style:{marginBottom:"40px"},children:[e.jsx("h2",{children:"Product Documentation"}),e.jsx("p",{children:"Tabs are perfect for organizing product documentation and user guides."}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor)",border:"1px solid var(--xyd-border-color)",borderRadius:"8px",padding:"20px"},children:[e.jsx("h3",{style:{marginBottom:"16px"},children:"API Documentation"}),e.jsxs(t,{value:"getting-started",children:[e.jsx(t.Item,{value:"getting-started",children:"Getting Started"}),e.jsx(t.Item,{value:"authentication",children:"Authentication"}),e.jsx(t.Item,{value:"endpoints",children:"Endpoints"}),e.jsx(t.Item,{value:"examples",children:"Examples"}),e.jsx(t.Item,{value:"sdks",children:"SDKs"}),e.jsx(t.Content,{value:"getting-started",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Quick Start Guide"}),e.jsx("p",{children:"Get up and running with our API in minutes."}),e.jsxs("ol",{children:[e.jsx("li",{children:"Sign up for an API key"}),e.jsx("li",{children:"Install the SDK"}),e.jsx("li",{children:"Make your first request"}),e.jsx("li",{children:"Explore the documentation"})]})]})}),e.jsx(t.Content,{value:"authentication",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"API Authentication"}),e.jsx("p",{children:"Learn how to authenticate your API requests."}),e.jsx("pre",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"12px",borderRadius:"4px",fontSize:"14px"},children:e.jsx("code",{children:`curl -H "Authorization: Bearer YOUR_API_KEY" \\
2
+ https://api.example.com/v1/data`})})]})}),e.jsx(t.Content,{value:"endpoints",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"API Endpoints"}),e.jsx("p",{children:"Complete reference of all available API endpoints."}),e.jsxs("ul",{children:[e.jsx("li",{children:"GET /users - List users"}),e.jsx("li",{children:"POST /users - Create user"}),e.jsxs("li",{children:["PUT /users/","{id}"," - Update user"]}),e.jsxs("li",{children:["DELETE /users/","{id}"," - Delete user"]})]})]})}),e.jsx(t.Content,{value:"examples",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Code Examples"}),e.jsx("p",{children:"Real-world examples in multiple programming languages."}),e.jsxs("ul",{children:[e.jsx("li",{children:"JavaScript/Node.js examples"}),e.jsx("li",{children:"Python examples"}),e.jsx("li",{children:"PHP examples"}),e.jsx("li",{children:"cURL examples"})]})]})}),e.jsx(t.Content,{value:"sdks",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Software Development Kits"}),e.jsx("p",{children:"Official SDKs for popular programming languages."}),e.jsxs("ul",{children:[e.jsx("li",{children:"JavaScript SDK"}),e.jsx("li",{children:"Python SDK"}),e.jsx("li",{children:"PHP SDK"}),e.jsx("li",{children:"Ruby SDK"})]})]})})]})]})]})]}),parameters:{docs:{description:{story:"This example shows how Tabs components are typically used in real applications."}}}},l={render:()=>e.jsxs("div",{style:{padding:"20px"},children:[e.jsxs("div",{style:{background:"var(--xyd-bgcolor)",border:"1px solid var(--xyd-border-color)",borderRadius:"8px",padding:"20px",marginBottom:"20px"},children:[e.jsx("h3",{style:{marginBottom:"16px"},children:"Tabs Component Demo"}),e.jsx("p",{style:{marginBottom:"16px",color:"var(--xyd-text-color)"},children:"This example demonstrates the Tabs component with various content types and interactive features."}),e.jsxs(t,{value:"features",children:[e.jsx(t.Item,{value:"features",children:"Features"}),e.jsx(t.Item,{value:"implementation",children:"Implementation"}),e.jsx(t.Item,{value:"customization",children:"Customization"}),e.jsx(t.Content,{value:"features",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Key Features"}),e.jsxs("ul",{style:{color:"var(--xyd-text-color)"},children:[e.jsx("li",{children:"Horizontal scrolling for many tabs"}),e.jsx("li",{children:"Arrow navigation when tabs overflow"}),e.jsx("li",{children:"Accessible keyboard navigation"}),e.jsx("li",{children:"Customizable styling"}),e.jsx("li",{children:"Rich content support"}),e.jsx("li",{children:"Responsive design"})]})]})}),e.jsx(t.Content,{value:"implementation",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Implementation Details"}),e.jsx("p",{style:{color:"var(--xyd-text-color)"},children:"The Tabs component is built using Radix UI primitives for accessibility and includes custom scrolling behavior for handling many tabs efficiently."}),e.jsx("pre",{style:{background:"var(--xyd-bgcolor-secondary)",padding:"12px",borderRadius:"4px",fontSize:"14px",marginTop:"16px"},children:e.jsx("code",{children:`// Basic usage
3
+ <Tabs value="tab1">
4
+ <Tabs.Item value="tab1">Tab 1</Tabs.Item>
5
+ <Tabs.Item value="tab2">Tab 2</Tabs.Item>
6
+ <Tabs.Content value="tab1">Content 1</Tabs.Content>
7
+ <Tabs.Content value="tab2">Content 2</Tabs.Content>
8
+ </Tabs>`})})]})}),e.jsx(t.Content,{value:"customization",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Customization Options"}),e.jsx("p",{style:{color:"var(--xyd-text-color)"},children:"The component supports various customization options through props and CSS classes."}),e.jsxs("ul",{style:{color:"var(--xyd-text-color)"},children:[e.jsxs("li",{children:[e.jsx("code",{children:"value"})," - Set active tab"]}),e.jsxs("li",{children:[e.jsx("code",{children:"onChange"})," - Handle tab changes"]}),e.jsxs("li",{children:[e.jsx("code",{children:"className"})," - Add custom CSS classes"]}),e.jsxs("li",{children:[e.jsx("code",{children:"kind"})," - Choose variant (default/secondary)"]}),e.jsx("li",{children:"CSS custom properties for theming"})]})]})})]})]}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor)",border:"1px solid var(--xyd-border-color)",borderRadius:"8px",padding:"20px"},children:[e.jsx("h4",{style:{marginBottom:"12px"},children:"Usage Guidelines"}),e.jsxs("ul",{style:{color:"var(--xyd-text-color)"},children:[e.jsx("li",{children:"Use for organizing related content into sections"}),e.jsx("li",{children:"Keep tab labels short and descriptive"}),e.jsx("li",{children:"Ensure each tab has meaningful content"}),e.jsx("li",{children:"Consider mobile responsiveness"}),e.jsx("li",{children:"Test with many tabs for scrolling behavior"}),e.jsx("li",{children:"Use href prop for navigation when needed"})]})]})]}),parameters:{docs:{description:{story:"This interactive example demonstrates the Tabs component functionality and customization options."}}}},d={render:()=>e.jsxs("div",{style:{padding:"20px"},children:[e.jsxs("div",{style:{marginBottom:"40px"},children:[e.jsx("h3",{style:{marginBottom:"16px",color:"#666"},children:"Primary Tabs (Default)"}),e.jsxs(t,{value:"tab1",children:[e.jsx(t.Item,{value:"tab1",children:"First Tab"}),e.jsx(t.Item,{value:"tab2",children:"Second Tab"}),e.jsx(t.Item,{value:"tab3",children:"Third Tab"}),e.jsx(t.Content,{value:"tab1",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Primary Tab Content"}),e.jsx("p",{children:"This is the primary variant with default styling."})]})}),e.jsx(t.Content,{value:"tab2",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Second Tab"}),e.jsx("p",{children:"Content for the second tab."})]})}),e.jsx(t.Content,{value:"tab3",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Third Tab"}),e.jsx("p",{children:"Content for the third tab."})]})})]})]}),e.jsxs("div",{style:{marginBottom:"40px"},children:[e.jsx("h3",{style:{marginBottom:"16px",color:"#666"},children:"Secondary Tabs"}),e.jsxs(t,{value:"tab1",kind:"secondary",children:[e.jsx(t.Item,{value:"tab1",children:"First Tab"}),e.jsx(t.Item,{value:"tab2",children:"Second Tab"}),e.jsx(t.Item,{value:"tab3",children:"Third Tab"}),e.jsx(t.Content,{value:"tab1",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Secondary Tab Content"}),e.jsx("p",{children:"This is the secondary variant with different styling."})]})}),e.jsx(t.Content,{value:"tab2",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Second Tab"}),e.jsx("p",{children:"Content for the second tab."})]})}),e.jsx(t.Content,{value:"tab3",children:e.jsxs("div",{style:{padding:"20px"},children:[e.jsx("h4",{children:"Third Tab"}),e.jsx("p",{children:"Content for the third tab."})]})})]})]}),e.jsxs("div",{style:{background:"var(--xyd-bgcolor)",border:"1px solid var(--xyd-border-color)",borderRadius:"8px",padding:"20px"},children:[e.jsx("h4",{style:{marginBottom:"12px"},children:"Key Differences"}),e.jsxs("ul",{style:{color:"var(--xyd-text-color)"},children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Primary:"})," Default styling with underline indicator"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Secondary:"})," Different visual styling and behavior"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use Primary:"})," For general content organization"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use Secondary:"})," For specific use cases requiring different styling"]})]})]})]}),parameters:{docs:{description:{story:"This example compares the primary and secondary variants of the Tabs component."}}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
9
+ render: () => <div style={{
10
+ padding: '20px'
11
+ }}>
12
+ <Tabs value="tab1">
13
+ <Tabs.Item value="tab1">
14
+ User Behavior
15
+ </Tabs.Item>
16
+ <Tabs.Item value="tab2">
17
+ Feature Adoption
18
+ </Tabs.Item>
19
+ <Tabs.Item value="tab3">
20
+ Churn Analysis
21
+ </Tabs.Item>
22
+
23
+ <Tabs.Content value="tab1">
24
+ <div style={{
25
+ padding: '20px'
26
+ }}>
27
+ <h3>User Behavior Analysis</h3>
28
+ <p>
29
+ Gain insights into user behavior by replaying sessions and analyzing click patterns.
30
+ This helps uncover friction points in your app's user experience.
31
+ </p>
32
+ <ul>
33
+ <li>Session replay functionality</li>
34
+ <li>Click pattern analysis</li>
35
+ <li>User journey mapping</li>
36
+ <li>Friction point identification</li>
37
+ </ul>
38
+ </div>
39
+ </Tabs.Content>
40
+ <Tabs.Content value="tab2">
41
+ <div style={{
42
+ padding: '20px'
43
+ }}>
44
+ <h3>Feature Adoption Tracking</h3>
45
+ <p>
46
+ Understand how users engage with new features. Track metrics like time to adoption
47
+ and overall usage to measure feature success.
48
+ </p>
49
+ <ul>
50
+ <li>Adoption rate tracking</li>
51
+ <li>Time-to-adoption metrics</li>
52
+ <li>Feature usage analytics</li>
53
+ <li>Success measurement</li>
54
+ </ul>
55
+ </div>
56
+ </Tabs.Content>
57
+ <Tabs.Content value="tab3">
58
+ <div style={{
59
+ padding: '20px'
60
+ }}>
61
+ <h3>Churn Analysis</h3>
62
+ <p>
63
+ Use session data to identify behavioral patterns of users who are at risk of churning
64
+ and implement targeted retention strategies.
65
+ </p>
66
+ <ul>
67
+ <li>Churn prediction models</li>
68
+ <li>Behavioral pattern analysis</li>
69
+ <li>Retention strategy implementation</li>
70
+ <li>Risk assessment</li>
71
+ </ul>
72
+ </div>
73
+ </Tabs.Content>
74
+ </Tabs>
75
+ </div>
76
+ }`,...i.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
77
+ render: () => <div style={{
78
+ padding: '20px'
79
+ }}>
80
+ <Tabs value="overview" kind="secondary">
81
+ <Tabs.Item value="overview">
82
+ Overview
83
+ </Tabs.Item>
84
+ <Tabs.Item value="details">
85
+ Details
86
+ </Tabs.Item>
87
+ <Tabs.Item value="settings">
88
+ Settings
89
+ </Tabs.Item>
90
+
91
+ <Tabs.Content value="overview">
92
+ <div style={{
93
+ padding: '20px'
94
+ }}>
95
+ <h3>System Overview</h3>
96
+ <p>This is the overview tab with general information about the system.</p>
97
+ <div style={{
98
+ background: 'var(--xyd-bgcolor-secondary)',
99
+ padding: '16px',
100
+ borderRadius: '8px',
101
+ marginTop: '16px'
102
+ }}>
103
+ <h4>Key Metrics</h4>
104
+ <p>Display important system metrics and status information.</p>
105
+ </div>
106
+ </div>
107
+ </Tabs.Content>
108
+ <Tabs.Content value="details">
109
+ <div style={{
110
+ padding: '20px'
111
+ }}>
112
+ <h3>Detailed Information</h3>
113
+ <p>This tab shows detailed information about the selected item.</p>
114
+ <div style={{
115
+ background: 'var(--xyd-bgcolor-secondary)',
116
+ padding: '16px',
117
+ borderRadius: '8px',
118
+ marginTop: '16px'
119
+ }}>
120
+ <h4>Active Tab Content</h4>
121
+ <p>This content is visible because the Details tab is currently active.</p>
122
+ </div>
123
+ </div>
124
+ </Tabs.Content>
125
+ <Tabs.Content value="settings">
126
+ <div style={{
127
+ padding: '20px'
128
+ }}>
129
+ <h3>Configuration Settings</h3>
130
+ <p>Configure your preferences and system settings in this tab.</p>
131
+ <ul>
132
+ <li>User preferences</li>
133
+ <li>System configuration</li>
134
+ <li>Security settings</li>
135
+ <li>Notification options</li>
136
+ </ul>
137
+ </div>
138
+ </Tabs.Content>
139
+ </Tabs>
140
+ </div>,
141
+ parameters: {
142
+ docs: {
143
+ description: {
144
+ story: 'Secondary Tabs variant with different styling and behavior.'
145
+ }
146
+ }
147
+ }
148
+ }`,...s.parameters?.docs?.source}}};n.parameters={...n.parameters,docs:{...n.parameters?.docs,source:{originalSource:`{
149
+ render: () => <div style={{
150
+ padding: '20px'
151
+ }}>
152
+ <Tabs value="users">
153
+ <Tabs.Item value="users">User Behavior</Tabs.Item>
154
+ <Tabs.Item value="features">Feature Adoption</Tabs.Item>
155
+ <Tabs.Item value="churn">Churn Analysis</Tabs.Item>
156
+ <Tabs.Item value="revenue">Revenue Analytics</Tabs.Item>
157
+ <Tabs.Item value="performance">Performance Metrics</Tabs.Item>
158
+ <Tabs.Item value="security">Security Monitoring</Tabs.Item>
159
+ <Tabs.Item value="api">API Usage</Tabs.Item>
160
+ <Tabs.Item value="database">Database Health</Tabs.Item>
161
+
162
+ <Tabs.Content value="users">
163
+ <div style={{
164
+ padding: '20px'
165
+ }}>
166
+ <h3>User Behavior Analysis</h3>
167
+ <p>Track and analyze user interactions to understand behavior patterns.</p>
168
+ </div>
169
+ </Tabs.Content>
170
+ <Tabs.Content value="features">
171
+ <div style={{
172
+ padding: '20px'
173
+ }}>
174
+ <h3>Feature Adoption</h3>
175
+ <p>Monitor how users adopt and use new features in your application.</p>
176
+ </div>
177
+ </Tabs.Content>
178
+ <Tabs.Content value="churn">
179
+ <div style={{
180
+ padding: '20px'
181
+ }}>
182
+ <h3>Churn Analysis</h3>
183
+ <p>Identify users at risk of leaving and implement retention strategies.</p>
184
+ </div>
185
+ </Tabs.Content>
186
+ <Tabs.Content value="revenue">
187
+ <div style={{
188
+ padding: '20px'
189
+ }}>
190
+ <h3>Revenue Analytics</h3>
191
+ <p>Track revenue metrics and analyze business performance.</p>
192
+ </div>
193
+ </Tabs.Content>
194
+ <Tabs.Content value="performance">
195
+ <div style={{
196
+ padding: '20px'
197
+ }}>
198
+ <h3>Performance Metrics</h3>
199
+ <p>Monitor application performance and system health.</p>
200
+ </div>
201
+ </Tabs.Content>
202
+ <Tabs.Content value="security">
203
+ <div style={{
204
+ padding: '20px'
205
+ }}>
206
+ <h3>Security Monitoring</h3>
207
+ <p>Track security events and monitor for potential threats.</p>
208
+ </div>
209
+ </Tabs.Content>
210
+ <Tabs.Content value="api">
211
+ <div style={{
212
+ padding: '20px'
213
+ }}>
214
+ <h3>API Usage</h3>
215
+ <p>Monitor API calls, rate limits, and usage patterns.</p>
216
+ </div>
217
+ </Tabs.Content>
218
+ <Tabs.Content value="database">
219
+ <div style={{
220
+ padding: '20px'
221
+ }}>
222
+ <h3>Database Health</h3>
223
+ <p>Track database performance, connections, and query optimization.</p>
224
+ </div>
225
+ </Tabs.Content>
226
+ </Tabs>
227
+ </div>,
228
+ parameters: {
229
+ docs: {
230
+ description: {
231
+ story: 'This example shows how the Tabs component handles many tabs with horizontal scrolling.'
232
+ }
233
+ }
234
+ }
235
+ }`,...n.parameters?.docs?.source}}};a.parameters={...a.parameters,docs:{...a.parameters?.docs,source:{originalSource:`{
236
+ render: () => <div style={{
237
+ padding: '20px'
238
+ }}>
239
+ <Tabs value="tab1">
240
+ <Tabs.Item value="tab1" href="#tab1">
241
+ Documentation
242
+ </Tabs.Item>
243
+ <Tabs.Item value="tab2" href="#tab2">
244
+ Examples
245
+ </Tabs.Item>
246
+ <Tabs.Item value="tab3" href="#tab3">
247
+ API Reference
248
+ </Tabs.Item>
249
+
250
+ <Tabs.Content value="tab1">
251
+ <div style={{
252
+ padding: '20px'
253
+ }}>
254
+ <h3>Component Documentation</h3>
255
+ <p>
256
+ The Tabs component provides a clean and accessible way to organize content into
257
+ multiple sections. It supports horizontal scrolling when there are many tabs and
258
+ includes arrow navigation for better user experience.
259
+ </p>
260
+
261
+ <h4>Key Features</h4>
262
+ <ul>
263
+ <li><strong>Accessible:</strong> Built with proper ARIA attributes and keyboard navigation</li>
264
+ <li><strong>Responsive:</strong> Adapts to different screen sizes</li>
265
+ <li><strong>Scrollable:</strong> Handles many tabs with horizontal scrolling</li>
266
+ <li><strong>Customizable:</strong> Supports custom styling via className prop</li>
267
+ </ul>
268
+ </div>
269
+ </Tabs.Content>
270
+ <Tabs.Content value="tab2">
271
+ <div style={{
272
+ padding: '20px'
273
+ }}>
274
+ <h3>Usage Examples</h3>
275
+
276
+ <div style={{
277
+ marginBottom: '24px'
278
+ }}>
279
+ <h4>Basic Tabs</h4>
280
+ <p>Simple tab interface with a few sections:</p>
281
+ <div style={{
282
+ background: 'var(--xyd-bgcolor-secondary)',
283
+ padding: '16px',
284
+ borderRadius: '8px'
285
+ }}>
286
+ <strong>Example:</strong> Settings, Profile, Notifications
287
+ </div>
288
+ </div>
289
+
290
+ <div style={{
291
+ marginBottom: '24px'
292
+ }}>
293
+ <h4>Many Tabs</h4>
294
+ <p>When you have many tabs, the component automatically adds scrolling:</p>
295
+ <div style={{
296
+ background: 'var(--xyd-bgcolor-secondary)',
297
+ padding: '16px',
298
+ borderRadius: '8px'
299
+ }}>
300
+ <strong>Example:</strong> Analytics, Users, Reports, Settings, Help, etc.
301
+ </div>
302
+ </div>
303
+ </div>
304
+ </Tabs.Content>
305
+ <Tabs.Content value="tab3">
306
+ <div style={{
307
+ padding: '20px'
308
+ }}>
309
+ <h3>API Reference</h3>
310
+
311
+ <h4>Props</h4>
312
+ <table style={{
313
+ width: '100%',
314
+ borderCollapse: 'collapse'
315
+ }}>
316
+ <thead>
317
+ <tr style={{
318
+ borderBottom: '1px solid var(--xyd-border-color)'
319
+ }}>
320
+ <th style={{
321
+ textAlign: 'left',
322
+ padding: '8px'
323
+ }}>Prop</th>
324
+ <th style={{
325
+ textAlign: 'left',
326
+ padding: '8px'
327
+ }}>Type</th>
328
+ <th style={{
329
+ textAlign: 'left',
330
+ padding: '8px'
331
+ }}>Description</th>
332
+ </tr>
333
+ </thead>
334
+ <tbody>
335
+ <tr style={{
336
+ borderBottom: '1px solid var(--xyd-border-color)'
337
+ }}>
338
+ <td style={{
339
+ padding: '8px'
340
+ }}><code>children</code></td>
341
+ <td style={{
342
+ padding: '8px'
343
+ }}>React.ReactNode</td>
344
+ <td style={{
345
+ padding: '8px'
346
+ }}>Tab items and content sections</td>
347
+ </tr>
348
+ <tr style={{
349
+ borderBottom: '1px solid var(--xyd-border-color)'
350
+ }}>
351
+ <td style={{
352
+ padding: '8px'
353
+ }}><code>value</code></td>
354
+ <td style={{
355
+ padding: '8px'
356
+ }}>string</td>
357
+ <td style={{
358
+ padding: '8px'
359
+ }}>Currently selected tab value</td>
360
+ </tr>
361
+ <tr style={{
362
+ borderBottom: '1px solid var(--xyd-border-color)'
363
+ }}>
364
+ <td style={{
365
+ padding: '8px'
366
+ }}><code>onChange</code></td>
367
+ <td style={{
368
+ padding: '8px'
369
+ }}>function</td>
370
+ <td style={{
371
+ padding: '8px'
372
+ }}>Callback when tab is selected</td>
373
+ </tr>
374
+ <tr>
375
+ <td style={{
376
+ padding: '8px'
377
+ }}><code>kind</code></td>
378
+ <td style={{
379
+ padding: '8px'
380
+ }}>string</td>
381
+ <td style={{
382
+ padding: '8px'
383
+ }}>Tab variant (default/secondary)</td>
384
+ </tr>
385
+ </tbody>
386
+ </table>
387
+ </div>
388
+ </Tabs.Content>
389
+ </Tabs>
390
+ </div>,
391
+ parameters: {
392
+ docs: {
393
+ description: {
394
+ story: 'This example shows tabs with href links for navigation.'
395
+ }
396
+ }
397
+ }
398
+ }`,...a.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
399
+ render: () => <div style={{
400
+ padding: '20px',
401
+ maxWidth: '1000px'
402
+ }}>
403
+ <div style={{
404
+ marginBottom: '40px'
405
+ }}>
406
+ <h2>Dashboard Analytics</h2>
407
+ <p>Tabs are commonly used in dashboards to organize different types of analytics and data.</p>
408
+ <div style={{
409
+ background: 'var(--xyd-bgcolor)',
410
+ border: '1px solid var(--xyd-border-color)',
411
+ borderRadius: '8px',
412
+ padding: '20px'
413
+ }}>
414
+ <h3 style={{
415
+ marginBottom: '16px'
416
+ }}>Analytics Dashboard</h3>
417
+ <Tabs value="overview">
418
+ <Tabs.Item value="overview">Overview</Tabs.Item>
419
+ <Tabs.Item value="users">Users</Tabs.Item>
420
+ <Tabs.Item value="revenue">Revenue</Tabs.Item>
421
+ <Tabs.Item value="performance">Performance</Tabs.Item>
422
+ <Tabs.Item value="settings">Settings</Tabs.Item>
423
+
424
+ <Tabs.Content value="overview">
425
+ <div style={{
426
+ padding: '20px'
427
+ }}>
428
+ <h4>Dashboard Overview</h4>
429
+ <p>Key metrics and summary information for your application.</p>
430
+ <div style={{
431
+ display: 'grid',
432
+ gridTemplateColumns: 'repeat(auto-fit, minmax(200px, 1fr))',
433
+ gap: '16px',
434
+ marginTop: '16px'
435
+ }}>
436
+ <div style={{
437
+ background: 'var(--xyd-bgcolor-secondary)',
438
+ padding: '16px',
439
+ borderRadius: '8px',
440
+ textAlign: 'center'
441
+ }}>
442
+ <h5>Total Users</h5>
443
+ <p style={{
444
+ fontSize: '24px',
445
+ fontWeight: 'bold',
446
+ margin: 0
447
+ }}>12,345</p>
448
+ </div>
449
+ <div style={{
450
+ background: 'var(--xyd-bgcolor-secondary)',
451
+ padding: '16px',
452
+ borderRadius: '8px',
453
+ textAlign: 'center'
454
+ }}>
455
+ <h5>Active Sessions</h5>
456
+ <p style={{
457
+ fontSize: '24px',
458
+ fontWeight: 'bold',
459
+ margin: 0
460
+ }}>1,234</p>
461
+ </div>
462
+ <div style={{
463
+ background: 'var(--xyd-bgcolor-secondary)',
464
+ padding: '16px',
465
+ borderRadius: '8px',
466
+ textAlign: 'center'
467
+ }}>
468
+ <h5>Revenue</h5>
469
+ <p style={{
470
+ fontSize: '24px',
471
+ fontWeight: 'bold',
472
+ margin: 0
473
+ }}>$45,678</p>
474
+ </div>
475
+ </div>
476
+ </div>
477
+ </Tabs.Content>
478
+ <Tabs.Content value="users">
479
+ <div style={{
480
+ padding: '20px'
481
+ }}>
482
+ <h4>User Analytics</h4>
483
+ <p>Detailed user behavior and engagement metrics.</p>
484
+ <ul>
485
+ <li>User acquisition trends</li>
486
+ <li>Engagement metrics</li>
487
+ <li>Retention analysis</li>
488
+ <li>User segmentation</li>
489
+ </ul>
490
+ </div>
491
+ </Tabs.Content>
492
+ <Tabs.Content value="revenue">
493
+ <div style={{
494
+ padding: '20px'
495
+ }}>
496
+ <h4>Revenue Analytics</h4>
497
+ <p>Financial metrics and revenue tracking.</p>
498
+ <ul>
499
+ <li>Monthly recurring revenue</li>
500
+ <li>Customer lifetime value</li>
501
+ <li>Churn rate analysis</li>
502
+ <li>Pricing optimization</li>
503
+ </ul>
504
+ </div>
505
+ </Tabs.Content>
506
+ <Tabs.Content value="performance">
507
+ <div style={{
508
+ padding: '20px'
509
+ }}>
510
+ <h4>System Performance</h4>
511
+ <p>Application performance and system health metrics.</p>
512
+ <ul>
513
+ <li>Response time monitoring</li>
514
+ <li>Error rate tracking</li>
515
+ <li>Resource utilization</li>
516
+ <li>Uptime statistics</li>
517
+ </ul>
518
+ </div>
519
+ </Tabs.Content>
520
+ <Tabs.Content value="settings">
521
+ <div style={{
522
+ padding: '20px'
523
+ }}>
524
+ <h4>Dashboard Settings</h4>
525
+ <p>Configure your dashboard preferences and display options.</p>
526
+ <ul>
527
+ <li>Widget customization</li>
528
+ <li>Theme selection</li>
529
+ <li>Notification preferences</li>
530
+ <li>Data refresh intervals</li>
531
+ </ul>
532
+ </div>
533
+ </Tabs.Content>
534
+ </Tabs>
535
+ </div>
536
+ </div>
537
+
538
+ <div style={{
539
+ marginBottom: '40px'
540
+ }}>
541
+ <h2>Product Documentation</h2>
542
+ <p>Tabs are perfect for organizing product documentation and user guides.</p>
543
+ <div style={{
544
+ background: 'var(--xyd-bgcolor)',
545
+ border: '1px solid var(--xyd-border-color)',
546
+ borderRadius: '8px',
547
+ padding: '20px'
548
+ }}>
549
+ <h3 style={{
550
+ marginBottom: '16px'
551
+ }}>API Documentation</h3>
552
+ <Tabs value="getting-started">
553
+ <Tabs.Item value="getting-started">Getting Started</Tabs.Item>
554
+ <Tabs.Item value="authentication">Authentication</Tabs.Item>
555
+ <Tabs.Item value="endpoints">Endpoints</Tabs.Item>
556
+ <Tabs.Item value="examples">Examples</Tabs.Item>
557
+ <Tabs.Item value="sdks">SDKs</Tabs.Item>
558
+
559
+ <Tabs.Content value="getting-started">
560
+ <div style={{
561
+ padding: '20px'
562
+ }}>
563
+ <h4>Quick Start Guide</h4>
564
+ <p>Get up and running with our API in minutes.</p>
565
+ <ol>
566
+ <li>Sign up for an API key</li>
567
+ <li>Install the SDK</li>
568
+ <li>Make your first request</li>
569
+ <li>Explore the documentation</li>
570
+ </ol>
571
+ </div>
572
+ </Tabs.Content>
573
+ <Tabs.Content value="authentication">
574
+ <div style={{
575
+ padding: '20px'
576
+ }}>
577
+ <h4>API Authentication</h4>
578
+ <p>Learn how to authenticate your API requests.</p>
579
+ <pre style={{
580
+ background: 'var(--xyd-bgcolor-secondary)',
581
+ padding: '12px',
582
+ borderRadius: '4px',
583
+ fontSize: '14px'
584
+ }}>
585
+ <code>{\`curl -H "Authorization: Bearer YOUR_API_KEY" \\\\
586
+ https://api.example.com/v1/data\`}</code>
587
+ </pre>
588
+ </div>
589
+ </Tabs.Content>
590
+ <Tabs.Content value="endpoints">
591
+ <div style={{
592
+ padding: '20px'
593
+ }}>
594
+ <h4>API Endpoints</h4>
595
+ <p>Complete reference of all available API endpoints.</p>
596
+ <ul>
597
+ <li>GET /users - List users</li>
598
+ <li>POST /users - Create user</li>
599
+ <li>PUT /users/{'{id}'} - Update user</li>
600
+ <li>DELETE /users/{'{id}'} - Delete user</li>
601
+ </ul>
602
+ </div>
603
+ </Tabs.Content>
604
+ <Tabs.Content value="examples">
605
+ <div style={{
606
+ padding: '20px'
607
+ }}>
608
+ <h4>Code Examples</h4>
609
+ <p>Real-world examples in multiple programming languages.</p>
610
+ <ul>
611
+ <li>JavaScript/Node.js examples</li>
612
+ <li>Python examples</li>
613
+ <li>PHP examples</li>
614
+ <li>cURL examples</li>
615
+ </ul>
616
+ </div>
617
+ </Tabs.Content>
618
+ <Tabs.Content value="sdks">
619
+ <div style={{
620
+ padding: '20px'
621
+ }}>
622
+ <h4>Software Development Kits</h4>
623
+ <p>Official SDKs for popular programming languages.</p>
624
+ <ul>
625
+ <li>JavaScript SDK</li>
626
+ <li>Python SDK</li>
627
+ <li>PHP SDK</li>
628
+ <li>Ruby SDK</li>
629
+ </ul>
630
+ </div>
631
+ </Tabs.Content>
632
+ </Tabs>
633
+ </div>
634
+ </div>
635
+ </div>,
636
+ parameters: {
637
+ docs: {
638
+ description: {
639
+ story: 'This example shows how Tabs components are typically used in real applications.'
640
+ }
641
+ }
642
+ }
643
+ }`,...r.parameters?.docs?.source}}};l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
644
+ render: () => <div style={{
645
+ padding: '20px'
646
+ }}>
647
+ <div style={{
648
+ background: 'var(--xyd-bgcolor)',
649
+ border: '1px solid var(--xyd-border-color)',
650
+ borderRadius: '8px',
651
+ padding: '20px',
652
+ marginBottom: '20px'
653
+ }}>
654
+ <h3 style={{
655
+ marginBottom: '16px'
656
+ }}>Tabs Component Demo</h3>
657
+ <p style={{
658
+ marginBottom: '16px',
659
+ color: 'var(--xyd-text-color)'
660
+ }}>
661
+ This example demonstrates the Tabs component with various content types and interactive features.
662
+ </p>
663
+ <Tabs value="features">
664
+ <Tabs.Item value="features">Features</Tabs.Item>
665
+ <Tabs.Item value="implementation">Implementation</Tabs.Item>
666
+ <Tabs.Item value="customization">Customization</Tabs.Item>
667
+
668
+ <Tabs.Content value="features">
669
+ <div style={{
670
+ padding: '20px'
671
+ }}>
672
+ <h4>Key Features</h4>
673
+ <ul style={{
674
+ color: 'var(--xyd-text-color)'
675
+ }}>
676
+ <li>Horizontal scrolling for many tabs</li>
677
+ <li>Arrow navigation when tabs overflow</li>
678
+ <li>Accessible keyboard navigation</li>
679
+ <li>Customizable styling</li>
680
+ <li>Rich content support</li>
681
+ <li>Responsive design</li>
682
+ </ul>
683
+ </div>
684
+ </Tabs.Content>
685
+ <Tabs.Content value="implementation">
686
+ <div style={{
687
+ padding: '20px'
688
+ }}>
689
+ <h4>Implementation Details</h4>
690
+ <p style={{
691
+ color: 'var(--xyd-text-color)'
692
+ }}>
693
+ The Tabs component is built using Radix UI primitives for accessibility and
694
+ includes custom scrolling behavior for handling many tabs efficiently.
695
+ </p>
696
+ <pre style={{
697
+ background: 'var(--xyd-bgcolor-secondary)',
698
+ padding: '12px',
699
+ borderRadius: '4px',
700
+ fontSize: '14px',
701
+ marginTop: '16px'
702
+ }}>
703
+ <code>{\`// Basic usage
704
+ <Tabs value="tab1">
705
+ <Tabs.Item value="tab1">Tab 1</Tabs.Item>
706
+ <Tabs.Item value="tab2">Tab 2</Tabs.Item>
707
+ <Tabs.Content value="tab1">Content 1</Tabs.Content>
708
+ <Tabs.Content value="tab2">Content 2</Tabs.Content>
709
+ </Tabs>\`}</code>
710
+ </pre>
711
+ </div>
712
+ </Tabs.Content>
713
+ <Tabs.Content value="customization">
714
+ <div style={{
715
+ padding: '20px'
716
+ }}>
717
+ <h4>Customization Options</h4>
718
+ <p style={{
719
+ color: 'var(--xyd-text-color)'
720
+ }}>
721
+ The component supports various customization options through props and CSS classes.
722
+ </p>
723
+ <ul style={{
724
+ color: 'var(--xyd-text-color)'
725
+ }}>
726
+ <li><code>value</code> - Set active tab</li>
727
+ <li><code>onChange</code> - Handle tab changes</li>
728
+ <li><code>className</code> - Add custom CSS classes</li>
729
+ <li><code>kind</code> - Choose variant (default/secondary)</li>
730
+ <li>CSS custom properties for theming</li>
731
+ </ul>
732
+ </div>
733
+ </Tabs.Content>
734
+ </Tabs>
735
+ </div>
736
+
737
+ <div style={{
738
+ background: 'var(--xyd-bgcolor)',
739
+ border: '1px solid var(--xyd-border-color)',
740
+ borderRadius: '8px',
741
+ padding: '20px'
742
+ }}>
743
+ <h4 style={{
744
+ marginBottom: '12px'
745
+ }}>Usage Guidelines</h4>
746
+ <ul style={{
747
+ color: 'var(--xyd-text-color)'
748
+ }}>
749
+ <li>Use for organizing related content into sections</li>
750
+ <li>Keep tab labels short and descriptive</li>
751
+ <li>Ensure each tab has meaningful content</li>
752
+ <li>Consider mobile responsiveness</li>
753
+ <li>Test with many tabs for scrolling behavior</li>
754
+ <li>Use href prop for navigation when needed</li>
755
+ </ul>
756
+ </div>
757
+ </div>,
758
+ parameters: {
759
+ docs: {
760
+ description: {
761
+ story: 'This interactive example demonstrates the Tabs component functionality and customization options.'
762
+ }
763
+ }
764
+ }
765
+ }`,...l.parameters?.docs?.source}}};d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
766
+ render: () => <div style={{
767
+ padding: '20px'
768
+ }}>
769
+ <div style={{
770
+ marginBottom: '40px'
771
+ }}>
772
+ <h3 style={{
773
+ marginBottom: '16px',
774
+ color: '#666'
775
+ }}>Primary Tabs (Default)</h3>
776
+ <Tabs value="tab1">
777
+ <Tabs.Item value="tab1">First Tab</Tabs.Item>
778
+ <Tabs.Item value="tab2">Second Tab</Tabs.Item>
779
+ <Tabs.Item value="tab3">Third Tab</Tabs.Item>
780
+
781
+ <Tabs.Content value="tab1">
782
+ <div style={{
783
+ padding: '20px'
784
+ }}>
785
+ <h4>Primary Tab Content</h4>
786
+ <p>This is the primary variant with default styling.</p>
787
+ </div>
788
+ </Tabs.Content>
789
+ <Tabs.Content value="tab2">
790
+ <div style={{
791
+ padding: '20px'
792
+ }}>
793
+ <h4>Second Tab</h4>
794
+ <p>Content for the second tab.</p>
795
+ </div>
796
+ </Tabs.Content>
797
+ <Tabs.Content value="tab3">
798
+ <div style={{
799
+ padding: '20px'
800
+ }}>
801
+ <h4>Third Tab</h4>
802
+ <p>Content for the third tab.</p>
803
+ </div>
804
+ </Tabs.Content>
805
+ </Tabs>
806
+ </div>
807
+
808
+ <div style={{
809
+ marginBottom: '40px'
810
+ }}>
811
+ <h3 style={{
812
+ marginBottom: '16px',
813
+ color: '#666'
814
+ }}>Secondary Tabs</h3>
815
+ <Tabs value="tab1" kind="secondary">
816
+ <Tabs.Item value="tab1">First Tab</Tabs.Item>
817
+ <Tabs.Item value="tab2">Second Tab</Tabs.Item>
818
+ <Tabs.Item value="tab3">Third Tab</Tabs.Item>
819
+
820
+ <Tabs.Content value="tab1">
821
+ <div style={{
822
+ padding: '20px'
823
+ }}>
824
+ <h4>Secondary Tab Content</h4>
825
+ <p>This is the secondary variant with different styling.</p>
826
+ </div>
827
+ </Tabs.Content>
828
+ <Tabs.Content value="tab2">
829
+ <div style={{
830
+ padding: '20px'
831
+ }}>
832
+ <h4>Second Tab</h4>
833
+ <p>Content for the second tab.</p>
834
+ </div>
835
+ </Tabs.Content>
836
+ <Tabs.Content value="tab3">
837
+ <div style={{
838
+ padding: '20px'
839
+ }}>
840
+ <h4>Third Tab</h4>
841
+ <p>Content for the third tab.</p>
842
+ </div>
843
+ </Tabs.Content>
844
+ </Tabs>
845
+ </div>
846
+
847
+ <div style={{
848
+ background: 'var(--xyd-bgcolor)',
849
+ border: '1px solid var(--xyd-border-color)',
850
+ borderRadius: '8px',
851
+ padding: '20px'
852
+ }}>
853
+ <h4 style={{
854
+ marginBottom: '12px'
855
+ }}>Key Differences</h4>
856
+ <ul style={{
857
+ color: 'var(--xyd-text-color)'
858
+ }}>
859
+ <li><strong>Primary:</strong> Default styling with underline indicator</li>
860
+ <li><strong>Secondary:</strong> Different visual styling and behavior</li>
861
+ <li><strong>Use Primary:</strong> For general content organization</li>
862
+ <li><strong>Use Secondary:</strong> For specific use cases requiring different styling</li>
863
+ </ul>
864
+ </div>
865
+ </div>,
866
+ parameters: {
867
+ docs: {
868
+ description: {
869
+ story: 'This example compares the primary and secondary variants of the Tabs component.'
870
+ }
871
+ }
872
+ }
873
+ }`,...d.parameters?.docs?.source}}};const j=["Default","Secondary","ManyTabs","WithLinks","RealWorldExamples","Interactive","PrimaryVsSecondary"];export{i as Default,l as Interactive,n as ManyTabs,d as PrimaryVsSecondary,r as RealWorldExamples,s as Secondary,a as WithLinks,j as __namedExportsOrder,g as default};