@tessera-ui/core 0.4.0 → 0.5.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.
- package/README.md +21 -12
- package/dist/components/index.js +1 -1
- package/dist/components/{p-O8aQgWRZ.js → p-2ydrBbXU.js} +2 -2
- package/dist/components/p-A0saON5E.js +2 -0
- package/dist/components/p-B046Q9mB.js +2 -0
- package/dist/components/{p-C7JaUlNB.js → p-B4_cDa1A.js} +2 -2
- package/dist/components/{p-BdzH6wlc.js → p-BCv5H01l.js} +2 -2
- package/dist/components/p-BGnwokOT.js +2 -0
- package/dist/components/p-BMu62WKn.js +2 -0
- package/dist/components/p-BT1uIgln.js +2 -0
- package/dist/components/p-BUWioFPq.js +2 -0
- package/dist/components/{p-v-L32wKy.js → p-BdeYJARM.js} +2 -2
- package/dist/components/{p-DhQ7X_TL.js → p-BnX1KON4.js} +2 -2
- package/dist/components/{p-DwJ7Jt3k.js → p-BsX7YKf7.js} +2 -2
- package/dist/components/p-BzSptDZ8.js +2 -0
- package/dist/components/p-C4C_ntgI.js +2 -0
- package/dist/components/p-C4jvuley.js +2 -0
- package/dist/components/{p-BP-fZfRb.js → p-CGcBFblJ.js} +2 -2
- package/dist/components/p-CJvp9tpd.js +2 -0
- package/dist/components/{p-DD986daz.js → p-COpYtD-7.js} +2 -2
- package/dist/components/{p-C8wd1644.js → p-CV-_3uEV.js} +2 -2
- package/dist/components/p-CXpxj5LF.js +2 -0
- package/dist/components/{p-CEQXPxzU.js → p-Ccf23RDb.js} +2 -2
- package/dist/components/{p-SopsdO_f.js → p-Ccpbt1Ou.js} +2 -2
- package/dist/components/{p-DMPxu5Po.js → p-CgLMjfKE.js} +2 -2
- package/dist/components/p-D2rKVDAH.js +2 -0
- package/dist/components/{p-zveaarwa.js → p-D33ZtGZF.js} +2 -2
- package/dist/components/{p-Fot2uNwg.js → p-DHBR8Qn_.js} +2 -2
- package/dist/components/{p-faVXXwqR.js → p-DOtFbUdh.js} +2 -2
- package/dist/components/{p-BjiDgszq.js → p-DelBi-6m.js} +2 -2
- package/dist/components/{p-Cy_Ad-Jy.js → p-DgbNUE6a.js} +2 -2
- package/dist/components/{p-DTAVTqnc.js → p-I5_iFNxb.js} +2 -2
- package/dist/components/p-IZ8R1wr2.js +2 -0
- package/dist/components/{p-B_NL55YI.js → p-LcG5Mdyq.js} +2 -2
- package/dist/components/{p-BcoU0ISN.js → p-XuOQBHK0.js} +2 -2
- package/dist/components/p-_EbBBIv1.js +2 -0
- package/dist/components/p-_vCbug8y.js +2 -0
- package/dist/components/{p-B0ZXNFSa.js → p-b-zWbmXM.js} +2 -2
- package/dist/components/{p-DwUH8YQW.js → p-e-hrdd0t.js} +2 -2
- package/dist/components/p-gtluIo4p.js +2 -0
- package/dist/components/p-o-GUod2W.js +2 -0
- package/dist/components/{p-DooMF1E0.js → p-w9y5VC-3.js} +2 -2
- package/dist/components/ts-accordion-item.js +1 -1
- package/dist/components/ts-accordion.js +1 -1
- package/dist/components/ts-alert.js +1 -1
- package/dist/components/ts-avatar.js +1 -1
- package/dist/components/ts-badge.js +1 -1
- package/dist/components/ts-banner.js +1 -1
- package/dist/components/ts-breadcrumb-item.js +1 -1
- package/dist/components/ts-breadcrumb.js +1 -1
- package/dist/components/ts-button.js +1 -1
- package/dist/components/ts-card.js +1 -1
- package/dist/components/ts-checkbox.js +1 -1
- package/dist/components/ts-chip.js +1 -1
- package/dist/components/ts-container.js +1 -1
- package/dist/components/ts-date-picker.js +1 -1
- package/dist/components/ts-dialog.js +1 -1
- package/dist/components/ts-divider.js +1 -1
- package/dist/components/ts-drawer.js +1 -1
- package/dist/components/ts-empty-state.js +1 -1
- package/dist/components/ts-file-upload.js +1 -1
- package/dist/components/ts-grid.js +1 -1
- package/dist/components/ts-icon.js +1 -1
- package/dist/components/ts-input.js +1 -1
- package/dist/components/ts-menu-item.js +1 -1
- package/dist/components/ts-menu.js +1 -1
- package/dist/components/ts-modal.js +1 -1
- package/dist/components/ts-nav-item.js +1 -1
- package/dist/components/ts-nav.js +1 -1
- package/dist/components/ts-pagination.js +1 -1
- package/dist/components/ts-popover.js +1 -1
- package/dist/components/ts-progress.js +1 -1
- package/dist/components/ts-radio.js +1 -1
- package/dist/components/ts-row.js +1 -1
- package/dist/components/ts-select.js +1 -1
- package/dist/components/ts-skeleton.js +1 -1
- package/dist/components/ts-slider.js +1 -1
- package/dist/components/ts-spacer.js +1 -1
- package/dist/components/ts-spinner.js +1 -1
- package/dist/components/ts-stack.js +1 -1
- package/dist/components/ts-step.js +1 -1
- package/dist/components/ts-stepper.js +1 -1
- package/dist/components/ts-switch-group.js +1 -1
- package/dist/components/ts-switch-option.js +1 -1
- package/dist/components/ts-tab-panel.js +1 -1
- package/dist/components/ts-table.js +1 -1
- package/dist/components/ts-tabs.js +1 -1
- package/dist/components/ts-textarea.js +1 -1
- package/dist/components/ts-toast.js +1 -1
- package/dist/components/ts-toggle.js +1 -1
- package/dist/components/ts-toolbar.js +1 -1
- package/dist/components/ts-tooltip.js +1 -1
- package/dist/components/ts-tree-item.js +1 -1
- package/dist/components/ts-tree.js +1 -1
- package/package.json +24 -3
- package/dist/cjs/aria-CeYIvz3U.js.map +0 -1
- package/dist/cjs/index-Bel_x2OU.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/lucide-B1gCqJ3G.js.map +0 -1
- package/dist/cjs/tessera-ui.cjs.js.map +0 -1
- package/dist/cjs/ts-accordion-item.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-banner.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-breadcrumb-item.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-breadcrumb.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-button.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-card.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-chip.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-container.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-date-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-dialog.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-drawer.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-empty-state.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-file-upload.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-grid.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-icon-CfbhgAgr.js.map +0 -1
- package/dist/cjs/ts-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-input.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-menu-item.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-menu.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-nav-item.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-nav.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-progress.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-row.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-select.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-skeleton.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-slider.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-spacer.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-spinner.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-stack.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-step.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-stepper.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-switch-group.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-switch-option.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-tab-panel.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-table.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-toast.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-toggle.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-toolbar.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-tree-item.cjs.entry.js.map +0 -1
- package/dist/cjs/ts-tree.cjs.entry.js.map +0 -1
- package/dist/collection/components/accordion/accordion-item.js.map +0 -1
- package/dist/collection/components/accordion/accordion-item.stories.js +0 -4
- package/dist/collection/components/accordion/accordion-item.stories.js.map +0 -1
- package/dist/collection/components/accordion/accordion.js.map +0 -1
- package/dist/collection/components/accordion/accordion.stories.js +0 -90
- package/dist/collection/components/accordion/accordion.stories.js.map +0 -1
- package/dist/collection/components/alert/alert.js.map +0 -1
- package/dist/collection/components/alert/alert.stories.js +0 -128
- package/dist/collection/components/alert/alert.stories.js.map +0 -1
- package/dist/collection/components/avatar/avatar.js.map +0 -1
- package/dist/collection/components/avatar/avatar.stories.js +0 -138
- package/dist/collection/components/avatar/avatar.stories.js.map +0 -1
- package/dist/collection/components/badge/badge.js.map +0 -1
- package/dist/collection/components/badge/badge.stories.js +0 -193
- package/dist/collection/components/badge/badge.stories.js.map +0 -1
- package/dist/collection/components/banner/banner.js.map +0 -1
- package/dist/collection/components/banner/banner.stories.js +0 -92
- package/dist/collection/components/banner/banner.stories.js.map +0 -1
- package/dist/collection/components/breadcrumb/breadcrumb-item.js.map +0 -1
- package/dist/collection/components/breadcrumb/breadcrumb-item.stories.js +0 -4
- package/dist/collection/components/breadcrumb/breadcrumb-item.stories.js.map +0 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +0 -1
- package/dist/collection/components/breadcrumb/breadcrumb.stories.js +0 -88
- package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +0 -1
- package/dist/collection/components/button/button.js.map +0 -1
- package/dist/collection/components/button/button.stories.js +0 -219
- package/dist/collection/components/button/button.stories.js.map +0 -1
- package/dist/collection/components/card/card.js.map +0 -1
- package/dist/collection/components/card/card.stories.js +0 -221
- package/dist/collection/components/card/card.stories.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.stories.js +0 -90
- package/dist/collection/components/checkbox/checkbox.stories.js.map +0 -1
- package/dist/collection/components/chip/chip.js.map +0 -1
- package/dist/collection/components/chip/chip.stories.js +0 -139
- package/dist/collection/components/chip/chip.stories.js.map +0 -1
- package/dist/collection/components/container/container.js.map +0 -1
- package/dist/collection/components/container/container.stories.js +0 -138
- package/dist/collection/components/container/container.stories.js.map +0 -1
- package/dist/collection/components/date-picker/date-picker.js.map +0 -1
- package/dist/collection/components/date-picker/date-picker.stories.js +0 -119
- package/dist/collection/components/date-picker/date-picker.stories.js.map +0 -1
- package/dist/collection/components/dialog/dialog.js.map +0 -1
- package/dist/collection/components/dialog/dialog.stories.js +0 -147
- package/dist/collection/components/dialog/dialog.stories.js.map +0 -1
- package/dist/collection/components/divider/divider.js.map +0 -1
- package/dist/collection/components/divider/divider.stories.js +0 -94
- package/dist/collection/components/divider/divider.stories.js.map +0 -1
- package/dist/collection/components/drawer/drawer.js.map +0 -1
- package/dist/collection/components/drawer/drawer.stories.js +0 -143
- package/dist/collection/components/drawer/drawer.stories.js.map +0 -1
- package/dist/collection/components/empty-state/empty-state.js.map +0 -1
- package/dist/collection/components/empty-state/empty-state.stories.js +0 -113
- package/dist/collection/components/empty-state/empty-state.stories.js.map +0 -1
- package/dist/collection/components/file-upload/file-upload.js.map +0 -1
- package/dist/collection/components/file-upload/file-upload.stories.js +0 -107
- package/dist/collection/components/file-upload/file-upload.stories.js.map +0 -1
- package/dist/collection/components/grid/grid.js.map +0 -1
- package/dist/collection/components/grid/grid.stories.js +0 -134
- package/dist/collection/components/grid/grid.stories.js.map +0 -1
- package/dist/collection/components/icon/icon-registry.js.map +0 -1
- package/dist/collection/components/icon/icon.js.map +0 -1
- package/dist/collection/components/icon/icon.stories.js +0 -119
- package/dist/collection/components/icon/icon.stories.js.map +0 -1
- package/dist/collection/components/input/input.js.map +0 -1
- package/dist/collection/components/input/input.stories.js +0 -151
- package/dist/collection/components/input/input.stories.js.map +0 -1
- package/dist/collection/components/menu/menu-item.js.map +0 -1
- package/dist/collection/components/menu/menu-item.stories.js +0 -4
- package/dist/collection/components/menu/menu-item.stories.js.map +0 -1
- package/dist/collection/components/menu/menu.js.map +0 -1
- package/dist/collection/components/menu/menu.stories.js +0 -126
- package/dist/collection/components/menu/menu.stories.js.map +0 -1
- package/dist/collection/components/modal/modal.js.map +0 -1
- package/dist/collection/components/modal/modal.stories.js +0 -233
- package/dist/collection/components/modal/modal.stories.js.map +0 -1
- package/dist/collection/components/nav/nav-item.js.map +0 -1
- package/dist/collection/components/nav/nav-item.stories.js +0 -4
- package/dist/collection/components/nav/nav-item.stories.js.map +0 -1
- package/dist/collection/components/nav/nav.js.map +0 -1
- package/dist/collection/components/nav/nav.stories.js +0 -106
- package/dist/collection/components/nav/nav.stories.js.map +0 -1
- package/dist/collection/components/pagination/pagination.js.map +0 -1
- package/dist/collection/components/pagination/pagination.stories.js +0 -92
- package/dist/collection/components/pagination/pagination.stories.js.map +0 -1
- package/dist/collection/components/popover/popover.js.map +0 -1
- package/dist/collection/components/popover/popover.stories.js +0 -112
- package/dist/collection/components/popover/popover.stories.js.map +0 -1
- package/dist/collection/components/progress/progress.js.map +0 -1
- package/dist/collection/components/progress/progress.stories.js +0 -132
- package/dist/collection/components/progress/progress.stories.js.map +0 -1
- package/dist/collection/components/radio/radio.js.map +0 -1
- package/dist/collection/components/radio/radio.stories.js +0 -77
- package/dist/collection/components/radio/radio.stories.js.map +0 -1
- package/dist/collection/components/row/row.js.map +0 -1
- package/dist/collection/components/row/row.stories.js +0 -172
- package/dist/collection/components/row/row.stories.js.map +0 -1
- package/dist/collection/components/select/select.js.map +0 -1
- package/dist/collection/components/select/select.stories.js +0 -138
- package/dist/collection/components/select/select.stories.js.map +0 -1
- package/dist/collection/components/skeleton/skeleton.js.map +0 -1
- package/dist/collection/components/skeleton/skeleton.stories.js +0 -140
- package/dist/collection/components/skeleton/skeleton.stories.js.map +0 -1
- package/dist/collection/components/slider/slider.js.map +0 -1
- package/dist/collection/components/slider/slider.stories.js +0 -100
- package/dist/collection/components/slider/slider.stories.js.map +0 -1
- package/dist/collection/components/spacer/spacer.js.map +0 -1
- package/dist/collection/components/spacer/spacer.stories.js +0 -90
- package/dist/collection/components/spacer/spacer.stories.js.map +0 -1
- package/dist/collection/components/spinner/spinner.js.map +0 -1
- package/dist/collection/components/spinner/spinner.stories.js +0 -88
- package/dist/collection/components/spinner/spinner.stories.js.map +0 -1
- package/dist/collection/components/stack/stack.js.map +0 -1
- package/dist/collection/components/stack/stack.stories.js +0 -121
- package/dist/collection/components/stack/stack.stories.js.map +0 -1
- package/dist/collection/components/stepper/step.js.map +0 -1
- package/dist/collection/components/stepper/step.stories.js +0 -4
- package/dist/collection/components/stepper/step.stories.js.map +0 -1
- package/dist/collection/components/stepper/stepper.js.map +0 -1
- package/dist/collection/components/stepper/stepper.stories.js +0 -130
- package/dist/collection/components/stepper/stepper.stories.js.map +0 -1
- package/dist/collection/components/switch-group/switch-group.js.map +0 -1
- package/dist/collection/components/switch-group/switch-group.stories.js +0 -132
- package/dist/collection/components/switch-group/switch-group.stories.js.map +0 -1
- package/dist/collection/components/switch-group/switch-option.js.map +0 -1
- package/dist/collection/components/switch-group/switch-option.stories.js +0 -4
- package/dist/collection/components/switch-group/switch-option.stories.js.map +0 -1
- package/dist/collection/components/table/table.js.map +0 -1
- package/dist/collection/components/table/table.stories.js +0 -147
- package/dist/collection/components/table/table.stories.js.map +0 -1
- package/dist/collection/components/tabs/tab-panel.js.map +0 -1
- package/dist/collection/components/tabs/tab-panel.stories.js +0 -4
- package/dist/collection/components/tabs/tab-panel.stories.js.map +0 -1
- package/dist/collection/components/tabs/tabs.js.map +0 -1
- package/dist/collection/components/tabs/tabs.stories.js +0 -187
- package/dist/collection/components/tabs/tabs.stories.js.map +0 -1
- package/dist/collection/components/textarea/textarea.js.map +0 -1
- package/dist/collection/components/textarea/textarea.stories.js +0 -130
- package/dist/collection/components/textarea/textarea.stories.js.map +0 -1
- package/dist/collection/components/toast/toast.js.map +0 -1
- package/dist/collection/components/toast/toast.stories.js +0 -91
- package/dist/collection/components/toast/toast.stories.js.map +0 -1
- package/dist/collection/components/toggle/toggle.js.map +0 -1
- package/dist/collection/components/toggle/toggle.stories.js +0 -145
- package/dist/collection/components/toggle/toggle.stories.js.map +0 -1
- package/dist/collection/components/toolbar/toolbar.js.map +0 -1
- package/dist/collection/components/toolbar/toolbar.stories.js +0 -131
- package/dist/collection/components/toolbar/toolbar.stories.js.map +0 -1
- package/dist/collection/components/tooltip/tooltip.js.map +0 -1
- package/dist/collection/components/tooltip/tooltip.stories.js +0 -186
- package/dist/collection/components/tooltip/tooltip.stories.js.map +0 -1
- package/dist/collection/components/tree/tree-item.js.map +0 -1
- package/dist/collection/components/tree/tree-item.stories.js +0 -4
- package/dist/collection/components/tree/tree-item.stories.js.map +0 -1
- package/dist/collection/components/tree/tree.js.map +0 -1
- package/dist/collection/components/tree/tree.stories.js +0 -121
- package/dist/collection/components/tree/tree.stories.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/theme/tokens.js.map +0 -1
- package/dist/collection/types/index.js.map +0 -1
- package/dist/collection/utils/aria.js.map +0 -1
- package/dist/collection/utils/dom.js.map +0 -1
- package/dist/collection/utils/events.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/p-6RDSLDuS.js +0 -2
- package/dist/components/p-6RDSLDuS.js.map +0 -1
- package/dist/components/p-B0ZXNFSa.js.map +0 -1
- package/dist/components/p-BCgm2utU.js +0 -2
- package/dist/components/p-BCgm2utU.js.map +0 -1
- package/dist/components/p-BFN5hUo4.js +0 -2
- package/dist/components/p-BFN5hUo4.js.map +0 -1
- package/dist/components/p-BOxYojS-.js.map +0 -1
- package/dist/components/p-BP-fZfRb.js.map +0 -1
- package/dist/components/p-B_NL55YI.js.map +0 -1
- package/dist/components/p-BcoU0ISN.js.map +0 -1
- package/dist/components/p-BdzH6wlc.js.map +0 -1
- package/dist/components/p-BeErYjKz.js +0 -2
- package/dist/components/p-BeErYjKz.js.map +0 -1
- package/dist/components/p-BjiDgszq.js.map +0 -1
- package/dist/components/p-BjyTgfXe.js +0 -2
- package/dist/components/p-BjyTgfXe.js.map +0 -1
- package/dist/components/p-BlZHjan9.js +0 -2
- package/dist/components/p-BlZHjan9.js.map +0 -1
- package/dist/components/p-C7JaUlNB.js.map +0 -1
- package/dist/components/p-C8wd1644.js.map +0 -1
- package/dist/components/p-CEQXPxzU.js.map +0 -1
- package/dist/components/p-CGh7W07E.js +0 -2
- package/dist/components/p-CGh7W07E.js.map +0 -1
- package/dist/components/p-CHtE5caV.js +0 -2
- package/dist/components/p-CHtE5caV.js.map +0 -1
- package/dist/components/p-CSNeA_zh.js +0 -2
- package/dist/components/p-CSNeA_zh.js.map +0 -1
- package/dist/components/p-CbHlJvjF.js +0 -2
- package/dist/components/p-CbHlJvjF.js.map +0 -1
- package/dist/components/p-CkQOAizb.js +0 -2
- package/dist/components/p-CkQOAizb.js.map +0 -1
- package/dist/components/p-Cy_Ad-Jy.js.map +0 -1
- package/dist/components/p-DD986daz.js.map +0 -1
- package/dist/components/p-DFnNsZtI.js +0 -2
- package/dist/components/p-DFnNsZtI.js.map +0 -1
- package/dist/components/p-DMPxu5Po.js.map +0 -1
- package/dist/components/p-DMuI5d5r.js +0 -2
- package/dist/components/p-DMuI5d5r.js.map +0 -1
- package/dist/components/p-DPQ1o4MP.js +0 -2
- package/dist/components/p-DPQ1o4MP.js.map +0 -1
- package/dist/components/p-DTAVTqnc.js.map +0 -1
- package/dist/components/p-DhQ7X_TL.js.map +0 -1
- package/dist/components/p-DkpyRqHf.js.map +0 -1
- package/dist/components/p-DlB-KfKY.js +0 -2
- package/dist/components/p-DlB-KfKY.js.map +0 -1
- package/dist/components/p-DooMF1E0.js.map +0 -1
- package/dist/components/p-DwJ7Jt3k.js.map +0 -1
- package/dist/components/p-DwUH8YQW.js.map +0 -1
- package/dist/components/p-Fot2uNwg.js.map +0 -1
- package/dist/components/p-O8aQgWRZ.js.map +0 -1
- package/dist/components/p-SopsdO_f.js.map +0 -1
- package/dist/components/p-TFHAUMKT.js +0 -2
- package/dist/components/p-TFHAUMKT.js.map +0 -1
- package/dist/components/p-faVXXwqR.js.map +0 -1
- package/dist/components/p-lpqZSiIf.js.map +0 -1
- package/dist/components/p-mfB_pP4L.js +0 -2
- package/dist/components/p-mfB_pP4L.js.map +0 -1
- package/dist/components/p-v-L32wKy.js.map +0 -1
- package/dist/components/p-zveaarwa.js.map +0 -1
- package/dist/components/ts-accordion-item.js.map +0 -1
- package/dist/components/ts-accordion.js.map +0 -1
- package/dist/components/ts-alert.js.map +0 -1
- package/dist/components/ts-avatar.js.map +0 -1
- package/dist/components/ts-badge.js.map +0 -1
- package/dist/components/ts-banner.js.map +0 -1
- package/dist/components/ts-breadcrumb-item.js.map +0 -1
- package/dist/components/ts-breadcrumb.js.map +0 -1
- package/dist/components/ts-button.js.map +0 -1
- package/dist/components/ts-card.js.map +0 -1
- package/dist/components/ts-checkbox.js.map +0 -1
- package/dist/components/ts-chip.js.map +0 -1
- package/dist/components/ts-container.js.map +0 -1
- package/dist/components/ts-date-picker.js.map +0 -1
- package/dist/components/ts-dialog.js.map +0 -1
- package/dist/components/ts-divider.js.map +0 -1
- package/dist/components/ts-drawer.js.map +0 -1
- package/dist/components/ts-empty-state.js.map +0 -1
- package/dist/components/ts-file-upload.js.map +0 -1
- package/dist/components/ts-grid.js.map +0 -1
- package/dist/components/ts-icon.js.map +0 -1
- package/dist/components/ts-input.js.map +0 -1
- package/dist/components/ts-menu-item.js.map +0 -1
- package/dist/components/ts-menu.js.map +0 -1
- package/dist/components/ts-modal.js.map +0 -1
- package/dist/components/ts-nav-item.js.map +0 -1
- package/dist/components/ts-nav.js.map +0 -1
- package/dist/components/ts-pagination.js.map +0 -1
- package/dist/components/ts-popover.js.map +0 -1
- package/dist/components/ts-progress.js.map +0 -1
- package/dist/components/ts-radio.js.map +0 -1
- package/dist/components/ts-row.js.map +0 -1
- package/dist/components/ts-select.js.map +0 -1
- package/dist/components/ts-skeleton.js.map +0 -1
- package/dist/components/ts-slider.js.map +0 -1
- package/dist/components/ts-spacer.js.map +0 -1
- package/dist/components/ts-spinner.js.map +0 -1
- package/dist/components/ts-stack.js.map +0 -1
- package/dist/components/ts-step.js.map +0 -1
- package/dist/components/ts-stepper.js.map +0 -1
- package/dist/components/ts-switch-group.js.map +0 -1
- package/dist/components/ts-switch-option.js.map +0 -1
- package/dist/components/ts-tab-panel.js.map +0 -1
- package/dist/components/ts-table.js.map +0 -1
- package/dist/components/ts-tabs.js.map +0 -1
- package/dist/components/ts-textarea.js.map +0 -1
- package/dist/components/ts-toast.js.map +0 -1
- package/dist/components/ts-toggle.js.map +0 -1
- package/dist/components/ts-toolbar.js.map +0 -1
- package/dist/components/ts-tooltip.js.map +0 -1
- package/dist/components/ts-tree-item.js.map +0 -1
- package/dist/components/ts-tree.js.map +0 -1
- package/dist/components.json +0 -12678
- package/dist/esm/aria-lpqZSiIf.js.map +0 -1
- package/dist/esm/index-V8-ENixA.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/lucide-BOxYojS-.js.map +0 -1
- package/dist/esm/tessera-ui.js.map +0 -1
- package/dist/esm/ts-accordion-item.entry.js.map +0 -1
- package/dist/esm/ts-accordion.entry.js.map +0 -1
- package/dist/esm/ts-alert.entry.js.map +0 -1
- package/dist/esm/ts-avatar.entry.js.map +0 -1
- package/dist/esm/ts-badge.entry.js.map +0 -1
- package/dist/esm/ts-banner.entry.js.map +0 -1
- package/dist/esm/ts-breadcrumb-item.entry.js.map +0 -1
- package/dist/esm/ts-breadcrumb.entry.js.map +0 -1
- package/dist/esm/ts-button.entry.js.map +0 -1
- package/dist/esm/ts-card.entry.js.map +0 -1
- package/dist/esm/ts-checkbox.entry.js.map +0 -1
- package/dist/esm/ts-chip.entry.js.map +0 -1
- package/dist/esm/ts-container.entry.js.map +0 -1
- package/dist/esm/ts-date-picker.entry.js.map +0 -1
- package/dist/esm/ts-dialog.entry.js.map +0 -1
- package/dist/esm/ts-divider.entry.js.map +0 -1
- package/dist/esm/ts-drawer.entry.js.map +0 -1
- package/dist/esm/ts-empty-state.entry.js.map +0 -1
- package/dist/esm/ts-file-upload.entry.js.map +0 -1
- package/dist/esm/ts-grid.entry.js.map +0 -1
- package/dist/esm/ts-icon-Jz9ioZag.js.map +0 -1
- package/dist/esm/ts-icon.entry.js.map +0 -1
- package/dist/esm/ts-input.entry.js.map +0 -1
- package/dist/esm/ts-menu-item.entry.js.map +0 -1
- package/dist/esm/ts-menu.entry.js.map +0 -1
- package/dist/esm/ts-modal.entry.js.map +0 -1
- package/dist/esm/ts-nav-item.entry.js.map +0 -1
- package/dist/esm/ts-nav.entry.js.map +0 -1
- package/dist/esm/ts-pagination.entry.js.map +0 -1
- package/dist/esm/ts-popover.entry.js.map +0 -1
- package/dist/esm/ts-progress.entry.js.map +0 -1
- package/dist/esm/ts-radio.entry.js.map +0 -1
- package/dist/esm/ts-row.entry.js.map +0 -1
- package/dist/esm/ts-select.entry.js.map +0 -1
- package/dist/esm/ts-skeleton.entry.js.map +0 -1
- package/dist/esm/ts-slider.entry.js.map +0 -1
- package/dist/esm/ts-spacer.entry.js.map +0 -1
- package/dist/esm/ts-spinner.entry.js.map +0 -1
- package/dist/esm/ts-stack.entry.js.map +0 -1
- package/dist/esm/ts-step.entry.js.map +0 -1
- package/dist/esm/ts-stepper.entry.js.map +0 -1
- package/dist/esm/ts-switch-group.entry.js.map +0 -1
- package/dist/esm/ts-switch-option.entry.js.map +0 -1
- package/dist/esm/ts-tab-panel.entry.js.map +0 -1
- package/dist/esm/ts-table.entry.js.map +0 -1
- package/dist/esm/ts-tabs.entry.js.map +0 -1
- package/dist/esm/ts-textarea.entry.js.map +0 -1
- package/dist/esm/ts-toast.entry.js.map +0 -1
- package/dist/esm/ts-toggle.entry.js.map +0 -1
- package/dist/esm/ts-toolbar.entry.js.map +0 -1
- package/dist/esm/ts-tooltip.entry.js.map +0 -1
- package/dist/esm/ts-tree-item.entry.js.map +0 -1
- package/dist/esm/ts-tree.entry.js.map +0 -1
- package/dist/tessera-ui/index.esm.js.map +0 -1
- package/dist/tessera-ui/p-0424cd55.entry.js.map +0 -1
- package/dist/tessera-ui/p-04522bf9.entry.js.map +0 -1
- package/dist/tessera-ui/p-04aa8b90.entry.js.map +0 -1
- package/dist/tessera-ui/p-080eaf89.entry.js.map +0 -1
- package/dist/tessera-ui/p-0ec061e5.entry.js.map +0 -1
- package/dist/tessera-ui/p-122e43b7.entry.js.map +0 -1
- package/dist/tessera-ui/p-16bb8ca8.entry.js.map +0 -1
- package/dist/tessera-ui/p-16fc632b.entry.js.map +0 -1
- package/dist/tessera-ui/p-1d73f6c9.entry.js.map +0 -1
- package/dist/tessera-ui/p-24305379.entry.js.map +0 -1
- package/dist/tessera-ui/p-25f77cc9.entry.js.map +0 -1
- package/dist/tessera-ui/p-35eb8496.entry.js.map +0 -1
- package/dist/tessera-ui/p-3aec66b4.entry.js.map +0 -1
- package/dist/tessera-ui/p-4277460b.entry.js.map +0 -1
- package/dist/tessera-ui/p-441310f7.entry.js.map +0 -1
- package/dist/tessera-ui/p-491e1a75.entry.js.map +0 -1
- package/dist/tessera-ui/p-50d092ce.entry.js.map +0 -1
- package/dist/tessera-ui/p-50efadf3.entry.js.map +0 -1
- package/dist/tessera-ui/p-53846d59.entry.js.map +0 -1
- package/dist/tessera-ui/p-56f2b070.entry.js.map +0 -1
- package/dist/tessera-ui/p-6760f922.entry.js.map +0 -1
- package/dist/tessera-ui/p-69bb11ed.entry.js.map +0 -1
- package/dist/tessera-ui/p-6d35a60c.entry.js.map +0 -1
- package/dist/tessera-ui/p-6ec285ad.entry.js.map +0 -1
- package/dist/tessera-ui/p-708d4eb5.entry.js.map +0 -1
- package/dist/tessera-ui/p-79ff8ceb.entry.js.map +0 -1
- package/dist/tessera-ui/p-7e531195.entry.js.map +0 -1
- package/dist/tessera-ui/p-7fa64f00.entry.js.map +0 -1
- package/dist/tessera-ui/p-829c4307.entry.js.map +0 -1
- package/dist/tessera-ui/p-91ccef3f.entry.js.map +0 -1
- package/dist/tessera-ui/p-9209e603.entry.js.map +0 -1
- package/dist/tessera-ui/p-97a9def7.entry.js.map +0 -1
- package/dist/tessera-ui/p-9b41b538.entry.js.map +0 -1
- package/dist/tessera-ui/p-9c0504fd.entry.js.map +0 -1
- package/dist/tessera-ui/p-BOxYojS-.js.map +0 -1
- package/dist/tessera-ui/p-StBQmS8h.js.map +0 -1
- package/dist/tessera-ui/p-V8-ENixA.js.map +0 -1
- package/dist/tessera-ui/p-a120b5d6.entry.js.map +0 -1
- package/dist/tessera-ui/p-a55a5695.entry.js.map +0 -1
- package/dist/tessera-ui/p-a83d903e.entry.js.map +0 -1
- package/dist/tessera-ui/p-adc807dc.entry.js.map +0 -1
- package/dist/tessera-ui/p-b09f202c.entry.js.map +0 -1
- package/dist/tessera-ui/p-b1182592.entry.js.map +0 -1
- package/dist/tessera-ui/p-b3f60955.entry.js.map +0 -1
- package/dist/tessera-ui/p-bb9ebbd8.entry.js.map +0 -1
- package/dist/tessera-ui/p-bce40715.entry.js.map +0 -1
- package/dist/tessera-ui/p-c35c7049.entry.js.map +0 -1
- package/dist/tessera-ui/p-c59ecffa.entry.js.map +0 -1
- package/dist/tessera-ui/p-d318774a.entry.js.map +0 -1
- package/dist/tessera-ui/p-d5cbadd6.entry.js.map +0 -1
- package/dist/tessera-ui/p-e1d2b141.entry.js.map +0 -1
- package/dist/tessera-ui/p-f0bf6408.entry.js.map +0 -1
- package/dist/tessera-ui/p-f639213a.entry.js.map +0 -1
- package/dist/tessera-ui/p-fd2376e0.entry.js.map +0 -1
- package/dist/tessera-ui/p-fef9a993.entry.js.map +0 -1
- package/dist/tessera-ui/p-lpqZSiIf.js.map +0 -1
- package/dist/tessera-ui/tessera-ui.esm.js.map +0 -1
- package/dist/types/components/accordion/accordion-item.stories.d.ts +0 -5
- package/dist/types/components/accordion/accordion.stories.d.ts +0 -21
- package/dist/types/components/alert/alert.stories.d.ts +0 -34
- package/dist/types/components/avatar/avatar.stories.d.ts +0 -51
- package/dist/types/components/badge/badge.stories.d.ts +0 -50
- package/dist/types/components/banner/banner.stories.d.ts +0 -40
- package/dist/types/components/breadcrumb/breadcrumb-item.stories.d.ts +0 -5
- package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +0 -20
- package/dist/types/components/button/button.stories.d.ts +0 -73
- package/dist/types/components/card/card.stories.d.ts +0 -46
- package/dist/types/components/checkbox/checkbox.stories.d.ts +0 -58
- package/dist/types/components/chip/chip.stories.d.ts +0 -54
- package/dist/types/components/container/container.stories.d.ts +0 -21
- package/dist/types/components/date-picker/date-picker.stories.d.ts +0 -62
- package/dist/types/components/dialog/dialog.stories.d.ts +0 -39
- package/dist/types/components/divider/divider.stories.d.ts +0 -33
- package/dist/types/components/drawer/drawer.stories.d.ts +0 -43
- package/dist/types/components/empty-state/empty-state.stories.d.ts +0 -37
- package/dist/types/components/file-upload/file-upload.stories.d.ts +0 -43
- package/dist/types/components/grid/grid.stories.d.ts +0 -30
- package/dist/types/components/icon/icon.stories.d.ts +0 -42
- package/dist/types/components/input/input.stories.d.ts +0 -77
- package/dist/types/components/menu/menu-item.stories.d.ts +0 -5
- package/dist/types/components/menu/menu.stories.d.ts +0 -36
- package/dist/types/components/modal/modal.stories.d.ts +0 -47
- package/dist/types/components/nav/nav-item.stories.d.ts +0 -5
- package/dist/types/components/nav/nav.stories.d.ts +0 -27
- package/dist/types/components/pagination/pagination.stories.d.ts +0 -42
- package/dist/types/components/popover/popover.stories.d.ts +0 -38
- package/dist/types/components/progress/progress.stories.d.ts +0 -59
- package/dist/types/components/radio/radio.stories.d.ts +0 -48
- package/dist/types/components/row/row.stories.d.ts +0 -52
- package/dist/types/components/select/select.stories.d.ts +0 -73
- package/dist/types/components/skeleton/skeleton.stories.d.ts +0 -44
- package/dist/types/components/slider/slider.stories.d.ts +0 -62
- package/dist/types/components/spacer/spacer.stories.d.ts +0 -28
- package/dist/types/components/spinner/spinner.stories.d.ts +0 -33
- package/dist/types/components/stack/stack.stories.d.ts +0 -28
- package/dist/types/components/stepper/step.stories.d.ts +0 -5
- package/dist/types/components/stepper/stepper.stories.d.ts +0 -36
- package/dist/types/components/switch-group/switch-group.stories.d.ts +0 -37
- package/dist/types/components/switch-group/switch-option.stories.d.ts +0 -5
- package/dist/types/components/table/table.stories.d.ts +0 -45
- package/dist/types/components/tabs/tab-panel.stories.d.ts +0 -5
- package/dist/types/components/tabs/tabs.stories.d.ts +0 -34
- package/dist/types/components/textarea/textarea.stories.d.ts +0 -88
- package/dist/types/components/toast/toast.stories.d.ts +0 -48
- package/dist/types/components/toggle/toggle.stories.d.ts +0 -46
- package/dist/types/components/toolbar/toolbar.stories.d.ts +0 -28
- package/dist/types/components/tooltip/tooltip.stories.d.ts +0 -43
- package/dist/types/components/tree/tree-item.stories.d.ts +0 -5
- package/dist/types/components/tree/tree.stories.d.ts +0 -21
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-switch-group
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/SwitchGroup',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
value: {
|
|
7
|
-
control: 'text',
|
|
8
|
-
description: 'The currently active segment value.',
|
|
9
|
-
},
|
|
10
|
-
size: {
|
|
11
|
-
control: 'select',
|
|
12
|
-
options: ['sm', 'md', 'lg'],
|
|
13
|
-
description: 'The size of the switch group.',
|
|
14
|
-
},
|
|
15
|
-
disabled: {
|
|
16
|
-
control: 'boolean',
|
|
17
|
-
description: 'Disables the entire group.',
|
|
18
|
-
},
|
|
19
|
-
fullWidth: {
|
|
20
|
-
control: 'boolean',
|
|
21
|
-
description: 'Stretch to fill the container width.',
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
const Template = (args) => {
|
|
26
|
-
const attrs = [];
|
|
27
|
-
if (args.value !== undefined)
|
|
28
|
-
attrs.push(`value="${args.value}"`);
|
|
29
|
-
if (args.size !== undefined)
|
|
30
|
-
attrs.push(`size="${args.size}"`);
|
|
31
|
-
if (args.disabled)
|
|
32
|
-
attrs.push('disabled');
|
|
33
|
-
if (args.fullWidth)
|
|
34
|
-
attrs.push('full-width');
|
|
35
|
-
return `
|
|
36
|
-
<ts-switch-group ${attrs.join(' ')}>
|
|
37
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
38
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
39
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
40
|
-
</ts-switch-group>
|
|
41
|
-
`;
|
|
42
|
-
};
|
|
43
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
44
|
-
args: {
|
|
45
|
-
value: 'weekly',
|
|
46
|
-
size: 'md',
|
|
47
|
-
disabled: false,
|
|
48
|
-
fullWidth: false,
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
export const Sizes = () => `
|
|
52
|
-
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
53
|
-
<div>
|
|
54
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Small</p>
|
|
55
|
-
<ts-switch-group value="weekly" size="sm">
|
|
56
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
57
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
58
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
59
|
-
</ts-switch-group>
|
|
60
|
-
</div>
|
|
61
|
-
<div>
|
|
62
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Medium (default)</p>
|
|
63
|
-
<ts-switch-group value="weekly" size="md">
|
|
64
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
65
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
66
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
67
|
-
</ts-switch-group>
|
|
68
|
-
</div>
|
|
69
|
-
<div>
|
|
70
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Large</p>
|
|
71
|
-
<ts-switch-group value="weekly" size="lg">
|
|
72
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
73
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
74
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
75
|
-
</ts-switch-group>
|
|
76
|
-
</div>
|
|
77
|
-
</div>
|
|
78
|
-
`;
|
|
79
|
-
export const States = () => `
|
|
80
|
-
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
81
|
-
<div>
|
|
82
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Active selection</p>
|
|
83
|
-
<ts-switch-group value="weekly">
|
|
84
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
85
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
86
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
87
|
-
</ts-switch-group>
|
|
88
|
-
</div>
|
|
89
|
-
<div>
|
|
90
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Disabled group</p>
|
|
91
|
-
<ts-switch-group value="weekly" disabled>
|
|
92
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
93
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
94
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
95
|
-
</ts-switch-group>
|
|
96
|
-
</div>
|
|
97
|
-
<div>
|
|
98
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">With disabled option</p>
|
|
99
|
-
<ts-switch-group value="daily">
|
|
100
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
101
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
102
|
-
<ts-switch-option value="monthly" disabled>Monthly</ts-switch-option>
|
|
103
|
-
</ts-switch-group>
|
|
104
|
-
</div>
|
|
105
|
-
<div>
|
|
106
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Full width</p>
|
|
107
|
-
<ts-switch-group value="weekly" full-width>
|
|
108
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
109
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
110
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
111
|
-
</ts-switch-group>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
`;
|
|
115
|
-
export const Composition = () => `
|
|
116
|
-
<div style="max-width: 500px; font-family: sans-serif;">
|
|
117
|
-
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px;">
|
|
118
|
-
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;">
|
|
119
|
-
<h4 style="margin: 0;">Analytics Overview</h4>
|
|
120
|
-
<ts-switch-group value="weekly" size="sm">
|
|
121
|
-
<ts-switch-option value="daily">Daily</ts-switch-option>
|
|
122
|
-
<ts-switch-option value="weekly">Weekly</ts-switch-option>
|
|
123
|
-
<ts-switch-option value="monthly">Monthly</ts-switch-option>
|
|
124
|
-
</ts-switch-group>
|
|
125
|
-
</div>
|
|
126
|
-
<div style="height: 200px; background: #f8fafc; border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #94a3b8;">
|
|
127
|
-
Chart placeholder
|
|
128
|
-
</div>
|
|
129
|
-
</div>
|
|
130
|
-
</div>
|
|
131
|
-
`;
|
|
132
|
-
//# sourceMappingURL=switch-group.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-group.stories.js","sourceRoot":"","sources":["../../../src/components/switch-group/switch-group.stories.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,eAAe;IACb,KAAK,EAAE,wBAAwB;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,qCAAqC;SACnD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC3B,WAAW,EAAE,+BAA+B;SAC7C;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,4BAA4B;SAC1C;QACD,SAAS,EAAE;YACT,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,sCAAsC;SACpD;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO;uBACc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;GAKnC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAwD,EAAE;IAC7G,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;KACjB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BlC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCnC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;CAgBxC,CAAC","sourcesContent":["// Hand-written stories for ts-switch-group\n\nexport default {\n title: 'Components/SwitchGroup',\n tags: ['autodocs'],\n argTypes: {\n value: {\n control: 'text',\n description: 'The currently active segment value.',\n },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg'],\n description: 'The size of the switch group.',\n },\n disabled: {\n control: 'boolean',\n description: 'Disables the entire group.',\n },\n fullWidth: {\n control: 'boolean',\n description: 'Stretch to fill the container width.',\n },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.value !== undefined) attrs.push(`value=\"${args.value}\"`);\n if (args.size !== undefined) attrs.push(`size=\"${args.size}\"`);\n if (args.disabled) attrs.push('disabled');\n if (args.fullWidth) attrs.push('full-width');\n return `\n <ts-switch-group ${attrs.join(' ')}>\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n value: 'weekly',\n size: 'md',\n disabled: false,\n fullWidth: false,\n },\n});\n\nexport const Sizes = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 16px;\">\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Small</p>\n <ts-switch-group value=\"weekly\" size=\"sm\">\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Medium (default)</p>\n <ts-switch-group value=\"weekly\" size=\"md\">\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Large</p>\n <ts-switch-group value=\"weekly\" size=\"lg\">\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n </div>\n`;\n\nexport const States = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 16px;\">\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Active selection</p>\n <ts-switch-group value=\"weekly\">\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Disabled group</p>\n <ts-switch-group value=\"weekly\" disabled>\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">With disabled option</p>\n <ts-switch-group value=\"daily\">\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\" disabled>Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Full width</p>\n <ts-switch-group value=\"weekly\" full-width>\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n </div>\n`;\n\nexport const Composition = (): string => `\n <div style=\"max-width: 500px; font-family: sans-serif;\">\n <div style=\"border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px;\">\n <div style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;\">\n <h4 style=\"margin: 0;\">Analytics Overview</h4>\n <ts-switch-group value=\"weekly\" size=\"sm\">\n <ts-switch-option value=\"daily\">Daily</ts-switch-option>\n <ts-switch-option value=\"weekly\">Weekly</ts-switch-option>\n <ts-switch-option value=\"monthly\">Monthly</ts-switch-option>\n </ts-switch-group>\n </div>\n <div style=\"height: 200px; background: #f8fafc; border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #94a3b8;\">\n Chart placeholder\n </div>\n </div>\n </div>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-option.js","sourceRoot":"","sources":["../../../src/components/switch-group/switch-option.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGzE;;;;;GAKG;AAMH,MAAM,OAAO,cAAc;IACd,MAAM,CAAe;IAEhC,yCAAyC;IAChB,KAAK,CAAU;IAExC,4BAA4B;IACH,QAAQ,GAAG,KAAK,CAAC;IAE1C,0BAA0B;IAClB,IAAI,CAAU;IAEtB,mEAAmE;IAC3B,MAAM,GAAG,KAAK,CAAC;IAEvD,qDAAqD;IACE,cAAc,CAAmC;IAEhG,WAAW,GAAG,GAAS,EAAE;QAC/B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,4EAA4E;IAC5E,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,kBAAkB,EAAE,IAAI;gBACxB,0BAA0B,EAAE,IAAI,CAAC,MAAM;gBACvC,4BAA4B,EAAE,IAAI,CAAC,QAAQ;aAC5C,EACD,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjD,OAAO,EAAE,IAAI,CAAC,WAAW;YAEzB,4DAAK,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,MAAM;gBACzC,IAAI,CAAC,IAAI,IAAI,CACZ,6DAAM,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM;oBAC9D,gEAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,CACjC,CACR;gBACD,6DAAM,KAAK,EAAC,sBAAsB;oBAChC,8DAAQ,CACH,CACH,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, Event, h, Host, Element } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\n/**\n * @slot - Default slot for label text.\n *\n * @part base - The option container.\n * @part icon - The icon wrapper.\n */\n@Component({\n tag: 'ts-switch-option',\n styleUrl: 'switch-option.css',\n shadow: true,\n})\nexport class TsSwitchOption {\n @Element() hostEl!: HTMLElement;\n\n /** Unique identifier for this option. */\n @Prop({ reflect: true }) value?: string;\n\n /** Disables this option. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Optional icon name. */\n @Prop() icon?: string;\n\n /** Whether this option is the active selection (set by parent). */\n @Prop({ reflect: true, mutable: true }) active = false;\n\n /** @internal Emitted when this option is clicked. */\n @Event({ eventName: 'tsOptionSelect', bubbles: true }) tsOptionSelect!: EventEmitter<{ value: string }>;\n\n private handleClick = (): void => {\n if (this.disabled) return;\n this.tsOptionSelect.emit({ value: this.value || '' });\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-switch-option': true,\n 'ts-switch-option--active': this.active,\n 'ts-switch-option--disabled': this.disabled,\n }}\n role=\"radio\"\n tabindex={this.active ? 0 : -1}\n aria-checked={String(this.active)}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.handleClick}\n >\n <div class=\"switch-option__base\" part=\"base\">\n {this.icon && (\n <span class=\"switch-option__icon\" part=\"icon\" aria-hidden=\"true\">\n <ts-icon name={this.icon} size=\"sm\" />\n </span>\n )}\n <span class=\"switch-option__label\">\n <slot />\n </span>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-option.stories.js","sourceRoot":"","sources":["../../../src/components/switch-group/switch-option.stories.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,mDAAmD;AAEnD,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC","sourcesContent":["// Stories for ts-switch-option are in the parent component's stories file\n// This file exists only to prevent auto-generation\n\nexport default { title: 'Internal/switch-option', tags: ['!autodocs'] };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/components/table/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;GAQG;AAMH,MAAM,OAAO,OAAO;IACP,MAAM,CAAe;IAEhC,iDAAiD;IACxB,OAAO,GAAG,KAAK,CAAC;IAEzC,iCAAiC;IACR,QAAQ,GAAG,KAAK,CAAC;IAE1C,gCAAgC;IACP,SAAS,GAAG,KAAK,CAAC;IAE3C,+CAA+C;IACtB,OAAO,GAAG,KAAK,CAAC;IAEzC,yDAAyD;IAChC,YAAY,GAAG,KAAK,CAAC;IAE9C,4EAA4E;IAC5E,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,UAAU,EAAE,IAAI;gBAChB,mBAAmB,EAAE,IAAI,CAAC,OAAO;gBACjC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;gBACnC,qBAAqB,EAAE,IAAI,CAAC,SAAS;gBACrC,mBAAmB,EAAE,IAAI,CAAC,OAAO;gBACjC,yBAAyB,EAAE,IAAI,CAAC,YAAY;aAC7C;YAED,4DAAK,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC;gBACnD,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host, Element } from '@stencil/core';\n\n/**\n * A styled wrapper for native HTML tables. Consumers place standard\n * `<table>`, `<thead>`, `<tbody>`, `<tr>`, `<th>`, `<td>` elements inside.\n *\n * Uses light DOM (no Shadow DOM) so nested table elements can be\n * styled directly via the component's CSS.\n *\n * @slot - Default slot for the native `<table>` element.\n */\n@Component({\n tag: 'ts-table',\n styleUrl: 'table.css',\n shadow: false,\n})\nexport class TsTable {\n @Element() hostEl!: HTMLElement;\n\n /** Applies alternating row background colors. */\n @Prop({ reflect: true }) striped = false;\n\n /** Adds borders to all cells. */\n @Prop({ reflect: true }) bordered = false;\n\n /** Highlights rows on hover. */\n @Prop({ reflect: true }) hoverable = false;\n\n /** Reduces cell padding for denser display. */\n @Prop({ reflect: true }) compact = false;\n\n /** Makes the table header stick to the top on scroll. */\n @Prop({ reflect: true }) stickyHeader = false;\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-table': true,\n 'ts-table--striped': this.striped,\n 'ts-table--bordered': this.bordered,\n 'ts-table--hoverable': this.hoverable,\n 'ts-table--compact': this.compact,\n 'ts-table--sticky-header': this.stickyHeader,\n }}\n >\n <div class=\"table__wrapper\" role=\"region\" tabindex={0}>\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-table
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Table',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
striped: { control: 'boolean', description: 'Applies alternating row background colors.' },
|
|
7
|
-
bordered: { control: 'boolean', description: 'Adds borders to all cells.' },
|
|
8
|
-
hoverable: { control: 'boolean', description: 'Highlights rows on hover.' },
|
|
9
|
-
compact: { control: 'boolean', description: 'Reduces cell padding for denser display.' },
|
|
10
|
-
stickyHeader: { control: 'boolean', description: 'Makes the table header stick to the top on scroll.' },
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
const sampleTable = `
|
|
14
|
-
<table>
|
|
15
|
-
<thead>
|
|
16
|
-
<tr>
|
|
17
|
-
<th>Name</th>
|
|
18
|
-
<th>Email</th>
|
|
19
|
-
<th>Role</th>
|
|
20
|
-
<th>Status</th>
|
|
21
|
-
</tr>
|
|
22
|
-
</thead>
|
|
23
|
-
<tbody>
|
|
24
|
-
<tr>
|
|
25
|
-
<td>James Kennedy</td>
|
|
26
|
-
<td>james@example.com</td>
|
|
27
|
-
<td>Admin</td>
|
|
28
|
-
<td>Active</td>
|
|
29
|
-
</tr>
|
|
30
|
-
<tr>
|
|
31
|
-
<td>Alice Smith</td>
|
|
32
|
-
<td>alice@example.com</td>
|
|
33
|
-
<td>Editor</td>
|
|
34
|
-
<td>Active</td>
|
|
35
|
-
</tr>
|
|
36
|
-
<tr>
|
|
37
|
-
<td>Robert Chen</td>
|
|
38
|
-
<td>robert@example.com</td>
|
|
39
|
-
<td>Viewer</td>
|
|
40
|
-
<td>Inactive</td>
|
|
41
|
-
</tr>
|
|
42
|
-
<tr>
|
|
43
|
-
<td>Maria Garcia</td>
|
|
44
|
-
<td>maria@example.com</td>
|
|
45
|
-
<td>Editor</td>
|
|
46
|
-
<td>Active</td>
|
|
47
|
-
</tr>
|
|
48
|
-
<tr>
|
|
49
|
-
<td>David Lee</td>
|
|
50
|
-
<td>david@example.com</td>
|
|
51
|
-
<td>Viewer</td>
|
|
52
|
-
<td>Pending</td>
|
|
53
|
-
</tr>
|
|
54
|
-
</tbody>
|
|
55
|
-
</table>
|
|
56
|
-
`;
|
|
57
|
-
const Template = (args) => {
|
|
58
|
-
const attrs = [];
|
|
59
|
-
if (args.striped)
|
|
60
|
-
attrs.push('striped');
|
|
61
|
-
if (args.bordered)
|
|
62
|
-
attrs.push('bordered');
|
|
63
|
-
if (args.hoverable)
|
|
64
|
-
attrs.push('hoverable');
|
|
65
|
-
if (args.compact)
|
|
66
|
-
attrs.push('compact');
|
|
67
|
-
if (args.stickyHeader)
|
|
68
|
-
attrs.push('sticky-header');
|
|
69
|
-
return `<ts-table ${attrs.join(' ')}>${sampleTable}</ts-table>`;
|
|
70
|
-
};
|
|
71
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
72
|
-
args: {
|
|
73
|
-
striped: false,
|
|
74
|
-
bordered: false,
|
|
75
|
-
hoverable: false,
|
|
76
|
-
compact: false,
|
|
77
|
-
stickyHeader: false,
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
export const Striped = () => `
|
|
81
|
-
<ts-table striped>${sampleTable}</ts-table>
|
|
82
|
-
`;
|
|
83
|
-
export const Bordered = () => `
|
|
84
|
-
<ts-table bordered>${sampleTable}</ts-table>
|
|
85
|
-
`;
|
|
86
|
-
export const Hoverable = () => `
|
|
87
|
-
<ts-table hoverable>${sampleTable}</ts-table>
|
|
88
|
-
`;
|
|
89
|
-
export const Compact = () => `
|
|
90
|
-
<ts-table compact>${sampleTable}</ts-table>
|
|
91
|
-
`;
|
|
92
|
-
export const AllFeatures = () => `
|
|
93
|
-
<ts-table striped bordered hoverable>${sampleTable}</ts-table>
|
|
94
|
-
`;
|
|
95
|
-
export const StickyHeader = () => `
|
|
96
|
-
<div style="max-height: 250px; overflow: auto;">
|
|
97
|
-
<ts-table sticky-header hoverable>
|
|
98
|
-
<table>
|
|
99
|
-
<thead>
|
|
100
|
-
<tr>
|
|
101
|
-
<th>Name</th>
|
|
102
|
-
<th>Email</th>
|
|
103
|
-
<th>Role</th>
|
|
104
|
-
<th>Department</th>
|
|
105
|
-
<th>Status</th>
|
|
106
|
-
</tr>
|
|
107
|
-
</thead>
|
|
108
|
-
<tbody>
|
|
109
|
-
<tr><td>James Kennedy</td><td>james@example.com</td><td>Admin</td><td>Engineering</td><td>Active</td></tr>
|
|
110
|
-
<tr><td>Alice Smith</td><td>alice@example.com</td><td>Editor</td><td>Marketing</td><td>Active</td></tr>
|
|
111
|
-
<tr><td>Robert Chen</td><td>robert@example.com</td><td>Viewer</td><td>Sales</td><td>Inactive</td></tr>
|
|
112
|
-
<tr><td>Maria Garcia</td><td>maria@example.com</td><td>Editor</td><td>Design</td><td>Active</td></tr>
|
|
113
|
-
<tr><td>David Lee</td><td>david@example.com</td><td>Viewer</td><td>Support</td><td>Pending</td></tr>
|
|
114
|
-
<tr><td>Sarah Wilson</td><td>sarah@example.com</td><td>Admin</td><td>Engineering</td><td>Active</td></tr>
|
|
115
|
-
<tr><td>Tom Brown</td><td>tom@example.com</td><td>Editor</td><td>Content</td><td>Active</td></tr>
|
|
116
|
-
<tr><td>Lisa Wang</td><td>lisa@example.com</td><td>Viewer</td><td>HR</td><td>Inactive</td></tr>
|
|
117
|
-
<tr><td>Michael Park</td><td>michael@example.com</td><td>Editor</td><td>Finance</td><td>Active</td></tr>
|
|
118
|
-
<tr><td>Emma Davis</td><td>emma@example.com</td><td>Admin</td><td>Operations</td><td>Active</td></tr>
|
|
119
|
-
</tbody>
|
|
120
|
-
</table>
|
|
121
|
-
</ts-table>
|
|
122
|
-
</div>
|
|
123
|
-
`;
|
|
124
|
-
export const CompactBordered = () => `
|
|
125
|
-
<ts-table compact bordered striped>
|
|
126
|
-
<table>
|
|
127
|
-
<thead>
|
|
128
|
-
<tr>
|
|
129
|
-
<th>Order ID</th>
|
|
130
|
-
<th>Customer</th>
|
|
131
|
-
<th>Product</th>
|
|
132
|
-
<th>Quantity</th>
|
|
133
|
-
<th>Total</th>
|
|
134
|
-
<th>Status</th>
|
|
135
|
-
</tr>
|
|
136
|
-
</thead>
|
|
137
|
-
<tbody>
|
|
138
|
-
<tr><td>#ORD-001</td><td>James Kennedy</td><td>Widget Pro</td><td>3</td><td>$149.97</td><td>Shipped</td></tr>
|
|
139
|
-
<tr><td>#ORD-002</td><td>Alice Smith</td><td>Gadget Plus</td><td>1</td><td>$79.99</td><td>Processing</td></tr>
|
|
140
|
-
<tr><td>#ORD-003</td><td>Robert Chen</td><td>Tool Kit</td><td>2</td><td>$199.98</td><td>Delivered</td></tr>
|
|
141
|
-
<tr><td>#ORD-004</td><td>Maria Garcia</td><td>Widget Pro</td><td>5</td><td>$249.95</td><td>Shipped</td></tr>
|
|
142
|
-
<tr><td>#ORD-005</td><td>David Lee</td><td>Gadget Plus</td><td>1</td><td>$79.99</td><td>Cancelled</td></tr>
|
|
143
|
-
</tbody>
|
|
144
|
-
</table>
|
|
145
|
-
</ts-table>
|
|
146
|
-
`;
|
|
147
|
-
//# sourceMappingURL=table.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.stories.js","sourceRoot":"","sources":["../../../src/components/table/table.stories.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,4CAA4C,EAAE;QAC1F,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;QAC3E,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,2BAA2B,EAAE;QAC3E,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,0CAA0C,EAAE;QACxF,YAAY,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,oDAAoD,EAAE;KACxG;CACF,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CnB,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,aAAa,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAwD,EAAE;IAC7G,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,KAAK;KACpB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC;sBACf,WAAW;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC;uBACf,WAAW;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC;wBACf,WAAW;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC;sBACf,WAAW;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;yCACA,WAAW;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsB5C,CAAC","sourcesContent":["// Hand-written stories for ts-table\n\nexport default {\n title: 'Components/Table',\n tags: ['autodocs'],\n argTypes: {\n striped: { control: 'boolean', description: 'Applies alternating row background colors.' },\n bordered: { control: 'boolean', description: 'Adds borders to all cells.' },\n hoverable: { control: 'boolean', description: 'Highlights rows on hover.' },\n compact: { control: 'boolean', description: 'Reduces cell padding for denser display.' },\n stickyHeader: { control: 'boolean', description: 'Makes the table header stick to the top on scroll.' },\n },\n};\n\nconst sampleTable = `\n <table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Email</th>\n <th>Role</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>James Kennedy</td>\n <td>james@example.com</td>\n <td>Admin</td>\n <td>Active</td>\n </tr>\n <tr>\n <td>Alice Smith</td>\n <td>alice@example.com</td>\n <td>Editor</td>\n <td>Active</td>\n </tr>\n <tr>\n <td>Robert Chen</td>\n <td>robert@example.com</td>\n <td>Viewer</td>\n <td>Inactive</td>\n </tr>\n <tr>\n <td>Maria Garcia</td>\n <td>maria@example.com</td>\n <td>Editor</td>\n <td>Active</td>\n </tr>\n <tr>\n <td>David Lee</td>\n <td>david@example.com</td>\n <td>Viewer</td>\n <td>Pending</td>\n </tr>\n </tbody>\n </table>\n`;\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.striped) attrs.push('striped');\n if (args.bordered) attrs.push('bordered');\n if (args.hoverable) attrs.push('hoverable');\n if (args.compact) attrs.push('compact');\n if (args.stickyHeader) attrs.push('sticky-header');\n return `<ts-table ${attrs.join(' ')}>${sampleTable}</ts-table>`;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n striped: false,\n bordered: false,\n hoverable: false,\n compact: false,\n stickyHeader: false,\n },\n});\n\nexport const Striped = (): string => `\n <ts-table striped>${sampleTable}</ts-table>\n`;\n\nexport const Bordered = (): string => `\n <ts-table bordered>${sampleTable}</ts-table>\n`;\n\nexport const Hoverable = (): string => `\n <ts-table hoverable>${sampleTable}</ts-table>\n`;\n\nexport const Compact = (): string => `\n <ts-table compact>${sampleTable}</ts-table>\n`;\n\nexport const AllFeatures = (): string => `\n <ts-table striped bordered hoverable>${sampleTable}</ts-table>\n`;\n\nexport const StickyHeader = (): string => `\n <div style=\"max-height: 250px; overflow: auto;\">\n <ts-table sticky-header hoverable>\n <table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Email</th>\n <th>Role</th>\n <th>Department</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <tr><td>James Kennedy</td><td>james@example.com</td><td>Admin</td><td>Engineering</td><td>Active</td></tr>\n <tr><td>Alice Smith</td><td>alice@example.com</td><td>Editor</td><td>Marketing</td><td>Active</td></tr>\n <tr><td>Robert Chen</td><td>robert@example.com</td><td>Viewer</td><td>Sales</td><td>Inactive</td></tr>\n <tr><td>Maria Garcia</td><td>maria@example.com</td><td>Editor</td><td>Design</td><td>Active</td></tr>\n <tr><td>David Lee</td><td>david@example.com</td><td>Viewer</td><td>Support</td><td>Pending</td></tr>\n <tr><td>Sarah Wilson</td><td>sarah@example.com</td><td>Admin</td><td>Engineering</td><td>Active</td></tr>\n <tr><td>Tom Brown</td><td>tom@example.com</td><td>Editor</td><td>Content</td><td>Active</td></tr>\n <tr><td>Lisa Wang</td><td>lisa@example.com</td><td>Viewer</td><td>HR</td><td>Inactive</td></tr>\n <tr><td>Michael Park</td><td>michael@example.com</td><td>Editor</td><td>Finance</td><td>Active</td></tr>\n <tr><td>Emma Davis</td><td>emma@example.com</td><td>Admin</td><td>Operations</td><td>Active</td></tr>\n </tbody>\n </table>\n </ts-table>\n </div>\n`;\n\nexport const CompactBordered = (): string => `\n <ts-table compact bordered striped>\n <table>\n <thead>\n <tr>\n <th>Order ID</th>\n <th>Customer</th>\n <th>Product</th>\n <th>Quantity</th>\n <th>Total</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <tr><td>#ORD-001</td><td>James Kennedy</td><td>Widget Pro</td><td>3</td><td>$149.97</td><td>Shipped</td></tr>\n <tr><td>#ORD-002</td><td>Alice Smith</td><td>Gadget Plus</td><td>1</td><td>$79.99</td><td>Processing</td></tr>\n <tr><td>#ORD-003</td><td>Robert Chen</td><td>Tool Kit</td><td>2</td><td>$199.98</td><td>Delivered</td></tr>\n <tr><td>#ORD-004</td><td>Maria Garcia</td><td>Widget Pro</td><td>5</td><td>$249.95</td><td>Shipped</td></tr>\n <tr><td>#ORD-005</td><td>David Lee</td><td>Gadget Plus</td><td>1</td><td>$79.99</td><td>Cancelled</td></tr>\n </tbody>\n </table>\n </ts-table>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-panel.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAElE;;;;GAIG;AAMH,MAAM,OAAO,UAAU;IACV,MAAM,CAAe;IAEhC,kDAAkD;IAC1C,GAAG,CAAU;IAErB,4CAA4C;IACnB,KAAK,CAAU;IAExC,oCAAoC;IACX,QAAQ,GAAG,KAAK,CAAC;IAE1C,yDAAyD;IACjD,IAAI,CAAU;IAEtB,4EAA4E;IAC5E,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,UAAU;gBACjD,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host, Element } from '@stencil/core';\n\n/**\n * @slot - Default slot for panel content.\n *\n * @part panel - The panel container element.\n */\n@Component({\n tag: 'ts-tab-panel',\n styleUrl: 'tab-panel.css',\n shadow: true,\n})\nexport class TsTabPanel {\n @Element() hostEl!: HTMLElement;\n\n /** The label text displayed in the tab button. */\n @Prop() tab!: string;\n\n /** Unique identifier for this tab panel. */\n @Prop({ reflect: true }) value!: string;\n\n /** Whether this tab is disabled. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Optional icon name displayed before the tab label. */\n @Prop() icon?: string;\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host>\n <div class=\"tab-panel\" part=\"panel\" role=\"tabpanel\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab-panel.stories.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-panel.stories.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,mDAAmD;AAEnD,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC","sourcesContent":["// Stories for ts-tab-panel are in the parent component's stories file\n// This file exists only to prevent auto-generation\n\nexport default { title: 'Internal/tab-panel', tags: ['!autodocs'] };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Event, h, Host, Element, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\n\n/**\n * @slot - Default slot for `ts-tab-panel` children.\n *\n * @part tablist - The tab button container.\n * @part tab - Each individual tab button.\n * @part tab-active - The currently active tab button.\n * @part panels - The panel container.\n */\n@Component({\n tag: 'ts-tabs',\n styleUrl: 'tabs.css',\n shadow: true,\n})\nexport class TsTabs {\n @Element() hostEl!: HTMLElement;\n\n /** The value of the currently active tab. */\n @Prop({ mutable: true, reflect: true }) value?: string;\n\n /** Visual variant of the tab bar. */\n @Prop({ reflect: true }) variant: 'line' | 'enclosed' | 'pill' = 'line';\n\n /** The size of the tab buttons. */\n @Prop({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Emitted when the active tab changes. */\n @Event({ eventName: 'tsChange' }) tsChange!: EventEmitter<{ value: string }>;\n\n @Watch('value')\n handleValueChange(): void {\n this.updatePanelVisibility();\n }\n\n componentDidLoad(): void {\n // Default to first non-disabled tab if no value set\n if (!this.value) {\n const panels = this.getPanels();\n const firstEnabled = panels.find((p) => !p.hasAttribute('disabled'));\n if (firstEnabled) {\n this.value = firstEnabled.getAttribute('value') || '';\n }\n }\n this.updatePanelVisibility();\n }\n\n private getPanels(): Element[] {\n return Array.from(this.hostEl.querySelectorAll('ts-tab-panel'));\n }\n\n private getTabData(): Array<{ tab: string; value: string; disabled: boolean; icon?: string }> {\n return this.getPanels().map((panel) => ({\n tab: panel.getAttribute('tab') || '',\n value: panel.getAttribute('value') || '',\n disabled: panel.hasAttribute('disabled'),\n icon: panel.getAttribute('icon') || undefined,\n }));\n }\n\n private updatePanelVisibility(): void {\n this.getPanels().forEach((panel) => {\n const isActive = panel.getAttribute('value') === this.value;\n (panel as HTMLElement).style.display = isActive ? '' : 'none';\n });\n }\n\n private handleTabClick(tabValue: string, disabled: boolean): void {\n if (disabled || tabValue === this.value) return;\n this.value = tabValue;\n this.tsChange.emit({ value: tabValue });\n this.updatePanelVisibility();\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n const tabs = this.getTabData();\n const enabledTabs = tabs.filter((t) => !t.disabled);\n const currentIndex = enabledTabs.findIndex((t) => t.value === this.value);\n\n let newIndex = currentIndex;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n newIndex = (currentIndex + 1) % enabledTabs.length;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n newIndex = (currentIndex - 1 + enabledTabs.length) % enabledTabs.length;\n break;\n case 'Home':\n event.preventDefault();\n newIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n newIndex = enabledTabs.length - 1;\n break;\n default:\n return;\n }\n\n const newTab = enabledTabs[newIndex];\n if (newTab) {\n this.value = newTab.value;\n this.tsChange.emit({ value: newTab.value });\n this.updatePanelVisibility();\n\n // Focus the new tab button\n const tabButtons = this.hostEl.shadowRoot?.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]');\n const allTabIndex = tabs.findIndex((t) => t.value === newTab.value);\n tabButtons?.[allTabIndex]?.focus();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const tabs = this.getTabData();\n\n return (\n <Host\n class={{\n 'ts-tabs': true,\n [`ts-tabs--${this.variant}`]: true,\n [`ts-tabs--${this.size}`]: true,\n }}\n >\n <div class=\"tabs__tablist\" part=\"tablist\" role=\"tablist\" onKeyDown={this.handleKeydown}>\n {tabs.map((t) => {\n const isActive = t.value === this.value;\n return (\n <button\n class={{\n 'tabs__tab': true,\n 'tabs__tab--active': isActive,\n 'tabs__tab--disabled': t.disabled,\n }}\n part={isActive ? 'tab tab-active' : 'tab'}\n role=\"tab\"\n type=\"button\"\n aria-selected={isActive ? 'true' : 'false'}\n aria-disabled={t.disabled ? 'true' : undefined}\n tabindex={isActive ? 0 : -1}\n disabled={t.disabled}\n onClick={() => this.handleTabClick(t.value, t.disabled)}\n >\n {t.icon && <ts-icon name={t.icon} class=\"tabs__tab-icon\" />}\n {t.tab}\n </button>\n );\n })}\n </div>\n <div class=\"tabs__panels\" part=\"panels\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-tabs
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Tabs',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
value: { control: 'text', description: 'The value of the currently active tab.' },
|
|
7
|
-
variant: {
|
|
8
|
-
control: 'select',
|
|
9
|
-
options: ['line', 'enclosed', 'pill'],
|
|
10
|
-
description: 'Visual variant of the tab bar.',
|
|
11
|
-
},
|
|
12
|
-
size: {
|
|
13
|
-
control: 'select',
|
|
14
|
-
options: ['sm', 'md', 'lg'],
|
|
15
|
-
description: 'The size of the tab buttons.',
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const Template = (args) => {
|
|
20
|
-
const attrs = [];
|
|
21
|
-
if (args.value !== undefined && args.value !== null && args.value !== '')
|
|
22
|
-
attrs.push(`value="${args.value}"`);
|
|
23
|
-
if (args.variant !== undefined && args.variant !== null)
|
|
24
|
-
attrs.push(`variant="${args.variant}"`);
|
|
25
|
-
if (args.size !== undefined && args.size !== null)
|
|
26
|
-
attrs.push(`size="${args.size}"`);
|
|
27
|
-
return `
|
|
28
|
-
<ts-tabs ${attrs.join(' ')}>
|
|
29
|
-
<ts-tab-panel tab="Profile" value="profile">
|
|
30
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
31
|
-
<h4 style="margin: 0 0 8px;">Profile Information</h4>
|
|
32
|
-
<p style="margin: 0; color: #555;">Manage your name, email address, and personal details.</p>
|
|
33
|
-
</div>
|
|
34
|
-
</ts-tab-panel>
|
|
35
|
-
<ts-tab-panel tab="Settings" value="settings">
|
|
36
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
37
|
-
<h4 style="margin: 0 0 8px;">Account Settings</h4>
|
|
38
|
-
<p style="margin: 0; color: #555;">Configure notifications, privacy, and security preferences.</p>
|
|
39
|
-
</div>
|
|
40
|
-
</ts-tab-panel>
|
|
41
|
-
<ts-tab-panel tab="Billing" value="billing">
|
|
42
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
43
|
-
<h4 style="margin: 0 0 8px;">Billing & Plans</h4>
|
|
44
|
-
<p style="margin: 0; color: #555;">View invoices, update payment methods, and manage your subscription.</p>
|
|
45
|
-
</div>
|
|
46
|
-
</ts-tab-panel>
|
|
47
|
-
</ts-tabs>
|
|
48
|
-
`;
|
|
49
|
-
};
|
|
50
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
51
|
-
args: {
|
|
52
|
-
value: 'profile',
|
|
53
|
-
variant: 'line',
|
|
54
|
-
size: 'md',
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
export const Variants = () => `
|
|
58
|
-
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
59
|
-
<div>
|
|
60
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Line (default)</h4>
|
|
61
|
-
<ts-tabs variant="line" value="tab1">
|
|
62
|
-
<ts-tab-panel tab="Overview" value="tab1">
|
|
63
|
-
<div style="padding: 16px; font-family: sans-serif;">Overview content with line-style tabs.</div>
|
|
64
|
-
</ts-tab-panel>
|
|
65
|
-
<ts-tab-panel tab="Details" value="tab2">
|
|
66
|
-
<div style="padding: 16px;">Details content.</div>
|
|
67
|
-
</ts-tab-panel>
|
|
68
|
-
<ts-tab-panel tab="History" value="tab3">
|
|
69
|
-
<div style="padding: 16px;">History content.</div>
|
|
70
|
-
</ts-tab-panel>
|
|
71
|
-
</ts-tabs>
|
|
72
|
-
</div>
|
|
73
|
-
<div>
|
|
74
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Enclosed</h4>
|
|
75
|
-
<ts-tabs variant="enclosed" value="tab1">
|
|
76
|
-
<ts-tab-panel tab="Overview" value="tab1">
|
|
77
|
-
<div style="padding: 16px; font-family: sans-serif;">Overview content with enclosed-style tabs.</div>
|
|
78
|
-
</ts-tab-panel>
|
|
79
|
-
<ts-tab-panel tab="Details" value="tab2">
|
|
80
|
-
<div style="padding: 16px;">Details content.</div>
|
|
81
|
-
</ts-tab-panel>
|
|
82
|
-
<ts-tab-panel tab="History" value="tab3">
|
|
83
|
-
<div style="padding: 16px;">History content.</div>
|
|
84
|
-
</ts-tab-panel>
|
|
85
|
-
</ts-tabs>
|
|
86
|
-
</div>
|
|
87
|
-
<div>
|
|
88
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Pill</h4>
|
|
89
|
-
<ts-tabs variant="pill" value="tab1">
|
|
90
|
-
<ts-tab-panel tab="Overview" value="tab1">
|
|
91
|
-
<div style="padding: 16px; font-family: sans-serif;">Overview content with pill-style tabs.</div>
|
|
92
|
-
</ts-tab-panel>
|
|
93
|
-
<ts-tab-panel tab="Details" value="tab2">
|
|
94
|
-
<div style="padding: 16px;">Details content.</div>
|
|
95
|
-
</ts-tab-panel>
|
|
96
|
-
<ts-tab-panel tab="History" value="tab3">
|
|
97
|
-
<div style="padding: 16px;">History content.</div>
|
|
98
|
-
</ts-tab-panel>
|
|
99
|
-
</ts-tabs>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
`;
|
|
103
|
-
export const Sizes = () => `
|
|
104
|
-
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
105
|
-
<div>
|
|
106
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Small</h4>
|
|
107
|
-
<ts-tabs size="sm" value="tab1">
|
|
108
|
-
<ts-tab-panel tab="First" value="tab1"><div style="padding: 12px; font-family: sans-serif;">Small tabs content.</div></ts-tab-panel>
|
|
109
|
-
<ts-tab-panel tab="Second" value="tab2"><div style="padding: 12px;">Second panel.</div></ts-tab-panel>
|
|
110
|
-
</ts-tabs>
|
|
111
|
-
</div>
|
|
112
|
-
<div>
|
|
113
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Medium</h4>
|
|
114
|
-
<ts-tabs size="md" value="tab1">
|
|
115
|
-
<ts-tab-panel tab="First" value="tab1"><div style="padding: 16px; font-family: sans-serif;">Medium tabs content.</div></ts-tab-panel>
|
|
116
|
-
<ts-tab-panel tab="Second" value="tab2"><div style="padding: 16px;">Second panel.</div></ts-tab-panel>
|
|
117
|
-
</ts-tabs>
|
|
118
|
-
</div>
|
|
119
|
-
<div>
|
|
120
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Large</h4>
|
|
121
|
-
<ts-tabs size="lg" value="tab1">
|
|
122
|
-
<ts-tab-panel tab="First" value="tab1"><div style="padding: 20px; font-family: sans-serif;">Large tabs content.</div></ts-tab-panel>
|
|
123
|
-
<ts-tab-panel tab="Second" value="tab2"><div style="padding: 20px;">Second panel.</div></ts-tab-panel>
|
|
124
|
-
</ts-tabs>
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
`;
|
|
128
|
-
export const WithDisabledTab = () => `
|
|
129
|
-
<ts-tabs value="profile">
|
|
130
|
-
<ts-tab-panel tab="Profile" value="profile">
|
|
131
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
132
|
-
<p style="margin: 0;">Your profile is active and visible to other users.</p>
|
|
133
|
-
</div>
|
|
134
|
-
</ts-tab-panel>
|
|
135
|
-
<ts-tab-panel tab="Settings" value="settings">
|
|
136
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
137
|
-
<p style="margin: 0;">Adjust your account preferences here.</p>
|
|
138
|
-
</div>
|
|
139
|
-
</ts-tab-panel>
|
|
140
|
-
<ts-tab-panel tab="Admin" value="admin" disabled>
|
|
141
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
142
|
-
<p style="margin: 0;">Admin panel content (restricted).</p>
|
|
143
|
-
</div>
|
|
144
|
-
</ts-tab-panel>
|
|
145
|
-
<ts-tab-panel tab="Billing" value="billing">
|
|
146
|
-
<div style="padding: 16px; font-family: sans-serif;">
|
|
147
|
-
<p style="margin: 0;">Manage your subscription and payment methods.</p>
|
|
148
|
-
</div>
|
|
149
|
-
</ts-tab-panel>
|
|
150
|
-
</ts-tabs>
|
|
151
|
-
`;
|
|
152
|
-
export const DashboardExample = () => `
|
|
153
|
-
<ts-tabs variant="enclosed" value="analytics">
|
|
154
|
-
<ts-tab-panel tab="Analytics" value="analytics">
|
|
155
|
-
<div style="padding: 20px; font-family: sans-serif;">
|
|
156
|
-
<h4 style="margin: 0 0 12px;">Monthly Analytics</h4>
|
|
157
|
-
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;">
|
|
158
|
-
<div style="padding: 16px; background: #f0f9ff; border-radius: 8px;">
|
|
159
|
-
<div style="font-size: 24px; font-weight: bold;">12,459</div>
|
|
160
|
-
<div style="color: #555; font-size: 14px;">Page Views</div>
|
|
161
|
-
</div>
|
|
162
|
-
<div style="padding: 16px; background: #f0fdf4; border-radius: 8px;">
|
|
163
|
-
<div style="font-size: 24px; font-weight: bold;">3,721</div>
|
|
164
|
-
<div style="color: #555; font-size: 14px;">Unique Visitors</div>
|
|
165
|
-
</div>
|
|
166
|
-
<div style="padding: 16px; background: #fefce8; border-radius: 8px;">
|
|
167
|
-
<div style="font-size: 24px; font-weight: bold;">2m 34s</div>
|
|
168
|
-
<div style="color: #555; font-size: 14px;">Avg. Session</div>
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
171
|
-
</div>
|
|
172
|
-
</ts-tab-panel>
|
|
173
|
-
<ts-tab-panel tab="Users" value="users">
|
|
174
|
-
<div style="padding: 20px; font-family: sans-serif;">
|
|
175
|
-
<h4 style="margin: 0 0 12px;">Active Users</h4>
|
|
176
|
-
<p style="margin: 0; color: #555;">User management and activity tracking.</p>
|
|
177
|
-
</div>
|
|
178
|
-
</ts-tab-panel>
|
|
179
|
-
<ts-tab-panel tab="Revenue" value="revenue">
|
|
180
|
-
<div style="padding: 20px; font-family: sans-serif;">
|
|
181
|
-
<h4 style="margin: 0 0 12px;">Revenue Overview</h4>
|
|
182
|
-
<p style="margin: 0; color: #555;">Track earnings, refunds, and projections.</p>
|
|
183
|
-
</div>
|
|
184
|
-
</ts-tab-panel>
|
|
185
|
-
</ts-tabs>
|
|
186
|
-
`;
|
|
187
|
-
//# sourceMappingURL=tabs.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.stories.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.stories.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,wCAAwC,EAAE;QACjF,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;YACrC,WAAW,EAAE,gCAAgC;SAC9C;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC3B,WAAW,EAAE,8BAA8B;SAC5C;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9G,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACjG,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrF,OAAO;eACM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;GAoB3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAwD,EAAE;IAC7G,IAAI,EAAE;QACJ,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CrC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBlC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuB5C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7C,CAAC","sourcesContent":["// Hand-written stories for ts-tabs\n\nexport default {\n title: 'Components/Tabs',\n tags: ['autodocs'],\n argTypes: {\n value: { control: 'text', description: 'The value of the currently active tab.' },\n variant: {\n control: 'select',\n options: ['line', 'enclosed', 'pill'],\n description: 'Visual variant of the tab bar.',\n },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg'],\n description: 'The size of the tab buttons.',\n },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.value !== undefined && args.value !== null && args.value !== '') attrs.push(`value=\"${args.value}\"`);\n if (args.variant !== undefined && args.variant !== null) attrs.push(`variant=\"${args.variant}\"`);\n if (args.size !== undefined && args.size !== null) attrs.push(`size=\"${args.size}\"`);\n return `\n <ts-tabs ${attrs.join(' ')}>\n <ts-tab-panel tab=\"Profile\" value=\"profile\">\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <h4 style=\"margin: 0 0 8px;\">Profile Information</h4>\n <p style=\"margin: 0; color: #555;\">Manage your name, email address, and personal details.</p>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Settings\" value=\"settings\">\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <h4 style=\"margin: 0 0 8px;\">Account Settings</h4>\n <p style=\"margin: 0; color: #555;\">Configure notifications, privacy, and security preferences.</p>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Billing\" value=\"billing\">\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <h4 style=\"margin: 0 0 8px;\">Billing & Plans</h4>\n <p style=\"margin: 0; color: #555;\">View invoices, update payment methods, and manage your subscription.</p>\n </div>\n </ts-tab-panel>\n </ts-tabs>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n value: 'profile',\n variant: 'line',\n size: 'md',\n },\n});\n\nexport const Variants = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 32px;\">\n <div>\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Line (default)</h4>\n <ts-tabs variant=\"line\" value=\"tab1\">\n <ts-tab-panel tab=\"Overview\" value=\"tab1\">\n <div style=\"padding: 16px; font-family: sans-serif;\">Overview content with line-style tabs.</div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Details\" value=\"tab2\">\n <div style=\"padding: 16px;\">Details content.</div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"History\" value=\"tab3\">\n <div style=\"padding: 16px;\">History content.</div>\n </ts-tab-panel>\n </ts-tabs>\n </div>\n <div>\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Enclosed</h4>\n <ts-tabs variant=\"enclosed\" value=\"tab1\">\n <ts-tab-panel tab=\"Overview\" value=\"tab1\">\n <div style=\"padding: 16px; font-family: sans-serif;\">Overview content with enclosed-style tabs.</div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Details\" value=\"tab2\">\n <div style=\"padding: 16px;\">Details content.</div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"History\" value=\"tab3\">\n <div style=\"padding: 16px;\">History content.</div>\n </ts-tab-panel>\n </ts-tabs>\n </div>\n <div>\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Pill</h4>\n <ts-tabs variant=\"pill\" value=\"tab1\">\n <ts-tab-panel tab=\"Overview\" value=\"tab1\">\n <div style=\"padding: 16px; font-family: sans-serif;\">Overview content with pill-style tabs.</div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Details\" value=\"tab2\">\n <div style=\"padding: 16px;\">Details content.</div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"History\" value=\"tab3\">\n <div style=\"padding: 16px;\">History content.</div>\n </ts-tab-panel>\n </ts-tabs>\n </div>\n </div>\n`;\n\nexport const Sizes = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 32px;\">\n <div>\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Small</h4>\n <ts-tabs size=\"sm\" value=\"tab1\">\n <ts-tab-panel tab=\"First\" value=\"tab1\"><div style=\"padding: 12px; font-family: sans-serif;\">Small tabs content.</div></ts-tab-panel>\n <ts-tab-panel tab=\"Second\" value=\"tab2\"><div style=\"padding: 12px;\">Second panel.</div></ts-tab-panel>\n </ts-tabs>\n </div>\n <div>\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Medium</h4>\n <ts-tabs size=\"md\" value=\"tab1\">\n <ts-tab-panel tab=\"First\" value=\"tab1\"><div style=\"padding: 16px; font-family: sans-serif;\">Medium tabs content.</div></ts-tab-panel>\n <ts-tab-panel tab=\"Second\" value=\"tab2\"><div style=\"padding: 16px;\">Second panel.</div></ts-tab-panel>\n </ts-tabs>\n </div>\n <div>\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Large</h4>\n <ts-tabs size=\"lg\" value=\"tab1\">\n <ts-tab-panel tab=\"First\" value=\"tab1\"><div style=\"padding: 20px; font-family: sans-serif;\">Large tabs content.</div></ts-tab-panel>\n <ts-tab-panel tab=\"Second\" value=\"tab2\"><div style=\"padding: 20px;\">Second panel.</div></ts-tab-panel>\n </ts-tabs>\n </div>\n </div>\n`;\n\nexport const WithDisabledTab = (): string => `\n <ts-tabs value=\"profile\">\n <ts-tab-panel tab=\"Profile\" value=\"profile\">\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <p style=\"margin: 0;\">Your profile is active and visible to other users.</p>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Settings\" value=\"settings\">\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <p style=\"margin: 0;\">Adjust your account preferences here.</p>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Admin\" value=\"admin\" disabled>\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <p style=\"margin: 0;\">Admin panel content (restricted).</p>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Billing\" value=\"billing\">\n <div style=\"padding: 16px; font-family: sans-serif;\">\n <p style=\"margin: 0;\">Manage your subscription and payment methods.</p>\n </div>\n </ts-tab-panel>\n </ts-tabs>\n`;\n\nexport const DashboardExample = (): string => `\n <ts-tabs variant=\"enclosed\" value=\"analytics\">\n <ts-tab-panel tab=\"Analytics\" value=\"analytics\">\n <div style=\"padding: 20px; font-family: sans-serif;\">\n <h4 style=\"margin: 0 0 12px;\">Monthly Analytics</h4>\n <div style=\"display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;\">\n <div style=\"padding: 16px; background: #f0f9ff; border-radius: 8px;\">\n <div style=\"font-size: 24px; font-weight: bold;\">12,459</div>\n <div style=\"color: #555; font-size: 14px;\">Page Views</div>\n </div>\n <div style=\"padding: 16px; background: #f0fdf4; border-radius: 8px;\">\n <div style=\"font-size: 24px; font-weight: bold;\">3,721</div>\n <div style=\"color: #555; font-size: 14px;\">Unique Visitors</div>\n </div>\n <div style=\"padding: 16px; background: #fefce8; border-radius: 8px;\">\n <div style=\"font-size: 24px; font-weight: bold;\">2m 34s</div>\n <div style=\"color: #555; font-size: 14px;\">Avg. Session</div>\n </div>\n </div>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Users\" value=\"users\">\n <div style=\"padding: 20px; font-family: sans-serif;\">\n <h4 style=\"margin: 0 0 12px;\">Active Users</h4>\n <p style=\"margin: 0; color: #555;\">User management and activity tracking.</p>\n </div>\n </ts-tab-panel>\n <ts-tab-panel tab=\"Revenue\" value=\"revenue\">\n <div style=\"padding: 20px; font-family: sans-serif;\">\n <h4 style=\"margin: 0 0 12px;\">Revenue Overview</h4>\n <p style=\"margin: 0; color: #555;\">Track earnings, refunds, and projections.</p>\n </div>\n </ts-tab-panel>\n </ts-tabs>\n`;\n"]}
|