@tessera-ui/core 0.4.1 → 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,219 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-button
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Button',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
variant: {
|
|
7
|
-
control: 'select',
|
|
8
|
-
options: ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'neutral'],
|
|
9
|
-
description: 'The button\'s visual variant.',
|
|
10
|
-
},
|
|
11
|
-
appearance: {
|
|
12
|
-
control: 'select',
|
|
13
|
-
options: ['solid', 'outline', 'ghost', 'link'],
|
|
14
|
-
description: 'The button\'s visual weight / appearance.',
|
|
15
|
-
},
|
|
16
|
-
size: {
|
|
17
|
-
control: 'select',
|
|
18
|
-
options: ['xs', 'sm', 'md', 'lg', 'xl'],
|
|
19
|
-
description: 'The button\'s size.',
|
|
20
|
-
},
|
|
21
|
-
disabled: { control: 'boolean', description: 'Renders the button in a disabled state.' },
|
|
22
|
-
loading: { control: 'boolean', description: 'Renders a loading spinner and disables the button.' },
|
|
23
|
-
block: { control: 'boolean', description: 'Makes the button take the full width of its container.' },
|
|
24
|
-
type: {
|
|
25
|
-
control: 'select',
|
|
26
|
-
options: ['button', 'submit', 'reset'],
|
|
27
|
-
description: 'The type attribute for the native button.',
|
|
28
|
-
},
|
|
29
|
-
href: { control: 'text', description: 'An optional href — renders an anchor instead of a button.' },
|
|
30
|
-
target: {
|
|
31
|
-
control: 'select',
|
|
32
|
-
options: ['_blank', '_self', '_parent', '_top'],
|
|
33
|
-
description: 'Target attribute when href is set.',
|
|
34
|
-
},
|
|
35
|
-
slotContent: { control: 'text', description: 'Button label text' },
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
const Template = (args) => {
|
|
39
|
-
const attrs = [];
|
|
40
|
-
if (args.variant !== undefined && args.variant !== null)
|
|
41
|
-
attrs.push(`variant="${args.variant}"`);
|
|
42
|
-
if (args.appearance !== undefined && args.appearance !== null)
|
|
43
|
-
attrs.push(`appearance="${args.appearance}"`);
|
|
44
|
-
if (args.size !== undefined && args.size !== null)
|
|
45
|
-
attrs.push(`size="${args.size}"`);
|
|
46
|
-
if (args.disabled)
|
|
47
|
-
attrs.push('disabled');
|
|
48
|
-
if (args.loading)
|
|
49
|
-
attrs.push('loading');
|
|
50
|
-
if (args.block)
|
|
51
|
-
attrs.push('block');
|
|
52
|
-
if (args.type !== undefined && args.type !== null)
|
|
53
|
-
attrs.push(`type="${args.type}"`);
|
|
54
|
-
if (args.href !== undefined && args.href !== null && args.href !== '')
|
|
55
|
-
attrs.push(`href="${args.href}"`);
|
|
56
|
-
if (args.target !== undefined && args.target !== null)
|
|
57
|
-
attrs.push(`target="${args.target}"`);
|
|
58
|
-
return `<ts-button ${attrs.join(' ')}>${args.slotContent || 'Save Changes'}</ts-button>`;
|
|
59
|
-
};
|
|
60
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
61
|
-
args: {
|
|
62
|
-
variant: 'primary',
|
|
63
|
-
appearance: 'solid',
|
|
64
|
-
size: 'md',
|
|
65
|
-
disabled: false,
|
|
66
|
-
loading: false,
|
|
67
|
-
block: false,
|
|
68
|
-
type: 'button',
|
|
69
|
-
slotContent: 'Save Changes',
|
|
70
|
-
},
|
|
71
|
-
});
|
|
72
|
-
export const Variants = () => `
|
|
73
|
-
<ts-row gap="2">
|
|
74
|
-
<ts-button variant="primary">Primary</ts-button>
|
|
75
|
-
<ts-button variant="secondary">Secondary</ts-button>
|
|
76
|
-
<ts-button variant="success">Publish Now</ts-button>
|
|
77
|
-
<ts-button variant="warning">Proceed Anyway</ts-button>
|
|
78
|
-
<ts-button variant="danger">Delete Account</ts-button>
|
|
79
|
-
<ts-button variant="info">Learn More</ts-button>
|
|
80
|
-
<ts-button variant="neutral">Cancel</ts-button>
|
|
81
|
-
</ts-row>
|
|
82
|
-
`;
|
|
83
|
-
export const Sizes = () => `
|
|
84
|
-
<ts-row gap="2">
|
|
85
|
-
<ts-button size="xs">Extra Small</ts-button>
|
|
86
|
-
<ts-button size="sm">Small</ts-button>
|
|
87
|
-
<ts-button size="md">Medium</ts-button>
|
|
88
|
-
<ts-button size="lg">Large</ts-button>
|
|
89
|
-
<ts-button size="xl">Extra Large</ts-button>
|
|
90
|
-
</ts-row>
|
|
91
|
-
`;
|
|
92
|
-
export const Appearances = () => `
|
|
93
|
-
<ts-stack gap="4">
|
|
94
|
-
<div>
|
|
95
|
-
<p style="margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);">Solid</p>
|
|
96
|
-
<ts-row gap="2">
|
|
97
|
-
<ts-button appearance="solid" variant="primary">Save Changes</ts-button>
|
|
98
|
-
<ts-button appearance="solid" variant="danger">Delete</ts-button>
|
|
99
|
-
<ts-button appearance="solid" variant="neutral">Cancel</ts-button>
|
|
100
|
-
</ts-row>
|
|
101
|
-
</div>
|
|
102
|
-
<div>
|
|
103
|
-
<p style="margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);">Outline</p>
|
|
104
|
-
<ts-row gap="2">
|
|
105
|
-
<ts-button appearance="outline" variant="primary">Edit Profile</ts-button>
|
|
106
|
-
<ts-button appearance="outline" variant="danger">Remove Item</ts-button>
|
|
107
|
-
<ts-button appearance="outline" variant="neutral">View Details</ts-button>
|
|
108
|
-
</ts-row>
|
|
109
|
-
</div>
|
|
110
|
-
<div>
|
|
111
|
-
<p style="margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);">Ghost</p>
|
|
112
|
-
<ts-row gap="2">
|
|
113
|
-
<ts-button appearance="ghost" variant="primary">Settings</ts-button>
|
|
114
|
-
<ts-button appearance="ghost" variant="neutral">More Options</ts-button>
|
|
115
|
-
</ts-row>
|
|
116
|
-
</div>
|
|
117
|
-
<div>
|
|
118
|
-
<p style="margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);">Link</p>
|
|
119
|
-
<ts-row gap="2">
|
|
120
|
-
<ts-button appearance="link" variant="primary">Forgot Password?</ts-button>
|
|
121
|
-
<ts-button appearance="link" variant="primary">View Documentation</ts-button>
|
|
122
|
-
</ts-row>
|
|
123
|
-
</div>
|
|
124
|
-
</ts-stack>
|
|
125
|
-
`;
|
|
126
|
-
export const States = () => `
|
|
127
|
-
<ts-stack gap="3">
|
|
128
|
-
<ts-row gap="2">
|
|
129
|
-
<ts-button>Default</ts-button>
|
|
130
|
-
<ts-button disabled>Disabled</ts-button>
|
|
131
|
-
<ts-button loading>Saving...</ts-button>
|
|
132
|
-
<ts-button loading variant="danger">Deleting...</ts-button>
|
|
133
|
-
</ts-row>
|
|
134
|
-
<div>
|
|
135
|
-
<ts-button block>Full Width Submit</ts-button>
|
|
136
|
-
</div>
|
|
137
|
-
<div>
|
|
138
|
-
<ts-button block loading>Processing Payment...</ts-button>
|
|
139
|
-
</div>
|
|
140
|
-
</ts-stack>
|
|
141
|
-
`;
|
|
142
|
-
export const WithIcons = () => `
|
|
143
|
-
<ts-row gap="2">
|
|
144
|
-
<ts-button variant="primary">
|
|
145
|
-
<ts-icon slot="prefix" name="plus" size="sm"></ts-icon>
|
|
146
|
-
New Project
|
|
147
|
-
</ts-button>
|
|
148
|
-
<ts-button variant="danger">
|
|
149
|
-
<ts-icon slot="prefix" name="trash-2" size="sm"></ts-icon>
|
|
150
|
-
Delete
|
|
151
|
-
</ts-button>
|
|
152
|
-
<ts-button appearance="outline" variant="neutral">
|
|
153
|
-
<ts-icon slot="prefix" name="download" size="sm"></ts-icon>
|
|
154
|
-
Export CSV
|
|
155
|
-
</ts-button>
|
|
156
|
-
<ts-button variant="success">
|
|
157
|
-
<ts-icon slot="prefix" name="check" size="sm"></ts-icon>
|
|
158
|
-
Approve
|
|
159
|
-
</ts-button>
|
|
160
|
-
<ts-button appearance="ghost" variant="primary">
|
|
161
|
-
Settings
|
|
162
|
-
<ts-icon slot="suffix" name="chevron-right" size="sm"></ts-icon>
|
|
163
|
-
</ts-button>
|
|
164
|
-
<ts-button appearance="outline" variant="primary">
|
|
165
|
-
<ts-icon slot="prefix" name="log-in" size="sm"></ts-icon>
|
|
166
|
-
Sign In
|
|
167
|
-
</ts-button>
|
|
168
|
-
</ts-row>
|
|
169
|
-
`;
|
|
170
|
-
export const AsLink = () => `
|
|
171
|
-
<ts-row gap="2">
|
|
172
|
-
<ts-button href="https://example.com" target="_blank">
|
|
173
|
-
Visit Website
|
|
174
|
-
<ts-icon slot="suffix" name="external-link" size="sm"></ts-icon>
|
|
175
|
-
</ts-button>
|
|
176
|
-
<ts-button href="https://example.com/docs" appearance="outline" variant="neutral">
|
|
177
|
-
<ts-icon slot="prefix" name="book-open" size="sm"></ts-icon>
|
|
178
|
-
Documentation
|
|
179
|
-
</ts-button>
|
|
180
|
-
</ts-row>
|
|
181
|
-
`;
|
|
182
|
-
export const Composition = () => `
|
|
183
|
-
<ts-stack gap="4" style="max-width: 400px;">
|
|
184
|
-
<ts-row gap="2" justify="end">
|
|
185
|
-
<ts-button appearance="outline" variant="neutral">Cancel</ts-button>
|
|
186
|
-
<ts-button variant="primary">
|
|
187
|
-
<ts-icon slot="prefix" name="save" size="sm"></ts-icon>
|
|
188
|
-
Save Changes
|
|
189
|
-
</ts-button>
|
|
190
|
-
</ts-row>
|
|
191
|
-
|
|
192
|
-
<ts-card bordered>
|
|
193
|
-
<span slot="header"><h3 style="margin: 0;">Danger Zone</h3></span>
|
|
194
|
-
<p style="margin: 0; color: var(--ts-color-text-secondary);">Once you delete your account, there is no going back. Please be certain.</p>
|
|
195
|
-
<span slot="footer">
|
|
196
|
-
<ts-row gap="2" justify="end">
|
|
197
|
-
<ts-button variant="danger" appearance="outline">
|
|
198
|
-
<ts-icon slot="prefix" name="trash-2" size="sm"></ts-icon>
|
|
199
|
-
Delete Account
|
|
200
|
-
</ts-button>
|
|
201
|
-
</ts-row>
|
|
202
|
-
</span>
|
|
203
|
-
</ts-card>
|
|
204
|
-
|
|
205
|
-
<ts-row gap="1">
|
|
206
|
-
<ts-button size="sm" appearance="ghost" variant="neutral">
|
|
207
|
-
<ts-icon slot="prefix" name="chevron-left" size="sm"></ts-icon>
|
|
208
|
-
Back
|
|
209
|
-
</ts-button>
|
|
210
|
-
<ts-spacer></ts-spacer>
|
|
211
|
-
<ts-button size="sm" appearance="outline" variant="neutral">Skip</ts-button>
|
|
212
|
-
<ts-button size="sm" variant="primary">
|
|
213
|
-
Continue
|
|
214
|
-
<ts-icon slot="suffix" name="chevron-right" size="sm"></ts-icon>
|
|
215
|
-
</ts-button>
|
|
216
|
-
</ts-row>
|
|
217
|
-
</ts-stack>
|
|
218
|
-
`;
|
|
219
|
-
//# sourceMappingURL=button.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.stories.js","sourceRoot":"","sources":["../../../src/components/button/button.stories.ts"],"names":[],"mappings":"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","sourcesContent":["// Hand-written stories for ts-button\n\nexport default {\n title: 'Components/Button',\n tags: ['autodocs'],\n argTypes: {\n variant: {\n control: 'select',\n options: ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'neutral'],\n description: 'The button\\'s visual variant.',\n },\n appearance: {\n control: 'select',\n options: ['solid', 'outline', 'ghost', 'link'],\n description: 'The button\\'s visual weight / appearance.',\n },\n size: {\n control: 'select',\n options: ['xs', 'sm', 'md', 'lg', 'xl'],\n description: 'The button\\'s size.',\n },\n disabled: { control: 'boolean', description: 'Renders the button in a disabled state.' },\n loading: { control: 'boolean', description: 'Renders a loading spinner and disables the button.' },\n block: { control: 'boolean', description: 'Makes the button take the full width of its container.' },\n type: {\n control: 'select',\n options: ['button', 'submit', 'reset'],\n description: 'The type attribute for the native button.',\n },\n href: { control: 'text', description: 'An optional href — renders an anchor instead of a button.' },\n target: {\n control: 'select',\n options: ['_blank', '_self', '_parent', '_top'],\n description: 'Target attribute when href is set.',\n },\n slotContent: { control: 'text', description: 'Button label text' },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.variant !== undefined && args.variant !== null) attrs.push(`variant=\"${args.variant}\"`);\n if (args.appearance !== undefined && args.appearance !== null) attrs.push(`appearance=\"${args.appearance}\"`);\n if (args.size !== undefined && args.size !== null) attrs.push(`size=\"${args.size}\"`);\n if (args.disabled) attrs.push('disabled');\n if (args.loading) attrs.push('loading');\n if (args.block) attrs.push('block');\n if (args.type !== undefined && args.type !== null) attrs.push(`type=\"${args.type}\"`);\n if (args.href !== undefined && args.href !== null && args.href !== '') attrs.push(`href=\"${args.href}\"`);\n if (args.target !== undefined && args.target !== null) attrs.push(`target=\"${args.target}\"`);\n return `<ts-button ${attrs.join(' ')}>${args.slotContent || 'Save Changes'}</ts-button>`;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n variant: 'primary',\n appearance: 'solid',\n size: 'md',\n disabled: false,\n loading: false,\n block: false,\n type: 'button',\n slotContent: 'Save Changes',\n },\n});\n\nexport const Variants = (): string => `\n <ts-row gap=\"2\">\n <ts-button variant=\"primary\">Primary</ts-button>\n <ts-button variant=\"secondary\">Secondary</ts-button>\n <ts-button variant=\"success\">Publish Now</ts-button>\n <ts-button variant=\"warning\">Proceed Anyway</ts-button>\n <ts-button variant=\"danger\">Delete Account</ts-button>\n <ts-button variant=\"info\">Learn More</ts-button>\n <ts-button variant=\"neutral\">Cancel</ts-button>\n </ts-row>\n`;\n\nexport const Sizes = (): string => `\n <ts-row gap=\"2\">\n <ts-button size=\"xs\">Extra Small</ts-button>\n <ts-button size=\"sm\">Small</ts-button>\n <ts-button size=\"md\">Medium</ts-button>\n <ts-button size=\"lg\">Large</ts-button>\n <ts-button size=\"xl\">Extra Large</ts-button>\n </ts-row>\n`;\n\nexport const Appearances = (): string => `\n <ts-stack gap=\"4\">\n <div>\n <p style=\"margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);\">Solid</p>\n <ts-row gap=\"2\">\n <ts-button appearance=\"solid\" variant=\"primary\">Save Changes</ts-button>\n <ts-button appearance=\"solid\" variant=\"danger\">Delete</ts-button>\n <ts-button appearance=\"solid\" variant=\"neutral\">Cancel</ts-button>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);\">Outline</p>\n <ts-row gap=\"2\">\n <ts-button appearance=\"outline\" variant=\"primary\">Edit Profile</ts-button>\n <ts-button appearance=\"outline\" variant=\"danger\">Remove Item</ts-button>\n <ts-button appearance=\"outline\" variant=\"neutral\">View Details</ts-button>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);\">Ghost</p>\n <ts-row gap=\"2\">\n <ts-button appearance=\"ghost\" variant=\"primary\">Settings</ts-button>\n <ts-button appearance=\"ghost\" variant=\"neutral\">More Options</ts-button>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-weight: 600; color: var(--ts-color-text-secondary);\">Link</p>\n <ts-row gap=\"2\">\n <ts-button appearance=\"link\" variant=\"primary\">Forgot Password?</ts-button>\n <ts-button appearance=\"link\" variant=\"primary\">View Documentation</ts-button>\n </ts-row>\n </div>\n </ts-stack>\n`;\n\nexport const States = (): string => `\n <ts-stack gap=\"3\">\n <ts-row gap=\"2\">\n <ts-button>Default</ts-button>\n <ts-button disabled>Disabled</ts-button>\n <ts-button loading>Saving...</ts-button>\n <ts-button loading variant=\"danger\">Deleting...</ts-button>\n </ts-row>\n <div>\n <ts-button block>Full Width Submit</ts-button>\n </div>\n <div>\n <ts-button block loading>Processing Payment...</ts-button>\n </div>\n </ts-stack>\n`;\n\nexport const WithIcons = (): string => `\n <ts-row gap=\"2\">\n <ts-button variant=\"primary\">\n <ts-icon slot=\"prefix\" name=\"plus\" size=\"sm\"></ts-icon>\n New Project\n </ts-button>\n <ts-button variant=\"danger\">\n <ts-icon slot=\"prefix\" name=\"trash-2\" size=\"sm\"></ts-icon>\n Delete\n </ts-button>\n <ts-button appearance=\"outline\" variant=\"neutral\">\n <ts-icon slot=\"prefix\" name=\"download\" size=\"sm\"></ts-icon>\n Export CSV\n </ts-button>\n <ts-button variant=\"success\">\n <ts-icon slot=\"prefix\" name=\"check\" size=\"sm\"></ts-icon>\n Approve\n </ts-button>\n <ts-button appearance=\"ghost\" variant=\"primary\">\n Settings\n <ts-icon slot=\"suffix\" name=\"chevron-right\" size=\"sm\"></ts-icon>\n </ts-button>\n <ts-button appearance=\"outline\" variant=\"primary\">\n <ts-icon slot=\"prefix\" name=\"log-in\" size=\"sm\"></ts-icon>\n Sign In\n </ts-button>\n </ts-row>\n`;\n\nexport const AsLink = (): string => `\n <ts-row gap=\"2\">\n <ts-button href=\"https://example.com\" target=\"_blank\">\n Visit Website\n <ts-icon slot=\"suffix\" name=\"external-link\" size=\"sm\"></ts-icon>\n </ts-button>\n <ts-button href=\"https://example.com/docs\" appearance=\"outline\" variant=\"neutral\">\n <ts-icon slot=\"prefix\" name=\"book-open\" size=\"sm\"></ts-icon>\n Documentation\n </ts-button>\n </ts-row>\n`;\n\nexport const Composition = (): string => `\n <ts-stack gap=\"4\" style=\"max-width: 400px;\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" variant=\"neutral\">Cancel</ts-button>\n <ts-button variant=\"primary\">\n <ts-icon slot=\"prefix\" name=\"save\" size=\"sm\"></ts-icon>\n Save Changes\n </ts-button>\n </ts-row>\n\n <ts-card bordered>\n <span slot=\"header\"><h3 style=\"margin: 0;\">Danger Zone</h3></span>\n <p style=\"margin: 0; color: var(--ts-color-text-secondary);\">Once you delete your account, there is no going back. Please be certain.</p>\n <span slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button variant=\"danger\" appearance=\"outline\">\n <ts-icon slot=\"prefix\" name=\"trash-2\" size=\"sm\"></ts-icon>\n Delete Account\n </ts-button>\n </ts-row>\n </span>\n </ts-card>\n\n <ts-row gap=\"1\">\n <ts-button size=\"sm\" appearance=\"ghost\" variant=\"neutral\">\n <ts-icon slot=\"prefix\" name=\"chevron-left\" size=\"sm\"></ts-icon>\n Back\n </ts-button>\n <ts-spacer></ts-spacer>\n <ts-button size=\"sm\" appearance=\"outline\" variant=\"neutral\">Skip</ts-button>\n <ts-button size=\"sm\" variant=\"primary\">\n Continue\n <ts-icon slot=\"suffix\" name=\"chevron-right\" size=\"sm\"></ts-icon>\n </ts-button>\n </ts-row>\n </ts-stack>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/card/card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;GAWG;AAMH,MAAM,OAAO,MAAM;IACjB,oDAAoD;IAC3B,SAAS,GAAuC,IAAI,CAAC;IAE9E,iEAAiE;IACxC,WAAW,GAAG,KAAK,CAAC;IAE7C,4BAA4B;IACH,QAAQ,GAAG,KAAK,CAAC;IAE1C,sCAAsC;IACb,OAAO,GAAgC,IAAI,CAAC;IAErE,4EAA4E;IAC5E,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;gBACf,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;gBAC9C,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBAC1C,sBAAsB,EAAE,IAAI,CAAC,WAAW;gBACxC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;aACnC,EACD,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAE5C,4DAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM;gBACjC,4DAAK,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO;oBACnC,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB;gBAEN,4DAAK,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ;oBACrC,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB;gBAEN,4DAAK,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,MAAM;oBACjC,8DAAQ,CACJ;gBAEN,4DAAK,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,QAAQ;oBACrC,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * @slot - Default slot for card body content.\n * @slot header - Card header content.\n * @slot footer - Card footer content.\n * @slot media - Media content (image, video) displayed at the top.\n *\n * @part base - The card container.\n * @part header - The header wrapper.\n * @part body - The body wrapper.\n * @part footer - The footer wrapper.\n * @part media - The media wrapper.\n */\n@Component({\n tag: 'ts-card',\n styleUrl: 'card.css',\n shadow: true,\n})\nexport class TsCard {\n /** Elevation level controlling the shadow depth. */\n @Prop({ reflect: true }) elevation: 'none' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /** Makes the card interactive (hover effect, cursor pointer). */\n @Prop({ reflect: true }) interactive = false;\n\n /** Border style variant. */\n @Prop({ reflect: true }) bordered = false;\n\n /** Padding size for the card body. */\n @Prop({ reflect: true }) padding: 'none' | 'sm' | 'md' | 'lg' = 'md';\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-card': true,\n [`ts-card--elevation-${this.elevation}`]: true,\n [`ts-card--padding-${this.padding}`]: true,\n 'ts-card--interactive': this.interactive,\n 'ts-card--bordered': this.bordered,\n }}\n role={this.interactive ? 'button' : undefined}\n tabindex={this.interactive ? '0' : undefined}\n >\n <div class=\"card__base\" part=\"base\">\n <div class=\"card__media\" part=\"media\">\n <slot name=\"media\" />\n </div>\n\n <div class=\"card__header\" part=\"header\">\n <slot name=\"header\" />\n </div>\n\n <div class=\"card__body\" part=\"body\">\n <slot />\n </div>\n\n <div class=\"card__footer\" part=\"footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-card
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Card',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
elevation: {
|
|
7
|
-
control: 'select',
|
|
8
|
-
options: ['none', 'sm', 'md', 'lg', 'xl'],
|
|
9
|
-
description: 'Elevation level controlling the shadow depth.',
|
|
10
|
-
},
|
|
11
|
-
interactive: { control: 'boolean', description: 'Makes the card interactive (hover effect, cursor pointer).' },
|
|
12
|
-
bordered: { control: 'boolean', description: 'Border style variant.' },
|
|
13
|
-
padding: {
|
|
14
|
-
control: 'select',
|
|
15
|
-
options: ['none', 'sm', 'md', 'lg'],
|
|
16
|
-
description: 'Padding size for the card body.',
|
|
17
|
-
},
|
|
18
|
-
slotContent: { control: 'text', description: 'Default slot content' },
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
const Template = (args) => {
|
|
22
|
-
const attrs = [];
|
|
23
|
-
if (args.elevation !== undefined && args.elevation !== null)
|
|
24
|
-
attrs.push(`elevation="${args.elevation}"`);
|
|
25
|
-
if (args.interactive)
|
|
26
|
-
attrs.push('interactive');
|
|
27
|
-
if (args.bordered)
|
|
28
|
-
attrs.push('bordered');
|
|
29
|
-
if (args.padding !== undefined && args.padding !== null)
|
|
30
|
-
attrs.push(`padding="${args.padding}"`);
|
|
31
|
-
return `<div style="max-width: 400px;">
|
|
32
|
-
<ts-card ${attrs.join(' ')}>
|
|
33
|
-
${args.slotContent || '<p style="margin: 0;">Card body content goes here.</p>'}
|
|
34
|
-
</ts-card>
|
|
35
|
-
</div>`;
|
|
36
|
-
};
|
|
37
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
38
|
-
args: {
|
|
39
|
-
elevation: 'sm',
|
|
40
|
-
interactive: false,
|
|
41
|
-
bordered: false,
|
|
42
|
-
padding: 'md',
|
|
43
|
-
slotContent: '<p style="margin: 0;">This is a basic card with default settings. Cards are versatile containers for grouping related content.</p>',
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
export const Elevations = () => `
|
|
47
|
-
<ts-row gap="4" align="start">
|
|
48
|
-
<div style="text-align: center;">
|
|
49
|
-
<ts-card elevation="none" style="width: 160px;">
|
|
50
|
-
<p style="margin: 0; font-size: 14px;">None</p>
|
|
51
|
-
</ts-card>
|
|
52
|
-
</div>
|
|
53
|
-
<div style="text-align: center;">
|
|
54
|
-
<ts-card elevation="sm" style="width: 160px;">
|
|
55
|
-
<p style="margin: 0; font-size: 14px;">Small</p>
|
|
56
|
-
</ts-card>
|
|
57
|
-
</div>
|
|
58
|
-
<div style="text-align: center;">
|
|
59
|
-
<ts-card elevation="md" style="width: 160px;">
|
|
60
|
-
<p style="margin: 0; font-size: 14px;">Medium</p>
|
|
61
|
-
</ts-card>
|
|
62
|
-
</div>
|
|
63
|
-
<div style="text-align: center;">
|
|
64
|
-
<ts-card elevation="lg" style="width: 160px;">
|
|
65
|
-
<p style="margin: 0; font-size: 14px;">Large</p>
|
|
66
|
-
</ts-card>
|
|
67
|
-
</div>
|
|
68
|
-
<div style="text-align: center;">
|
|
69
|
-
<ts-card elevation="xl" style="width: 160px;">
|
|
70
|
-
<p style="margin: 0; font-size: 14px;">Extra Large</p>
|
|
71
|
-
</ts-card>
|
|
72
|
-
</div>
|
|
73
|
-
</ts-row>
|
|
74
|
-
`;
|
|
75
|
-
export const Padding = () => `
|
|
76
|
-
<ts-stack gap="3" style="max-width: 400px;">
|
|
77
|
-
<ts-card bordered padding="none">
|
|
78
|
-
<p style="margin: 0;">Padding: none</p>
|
|
79
|
-
</ts-card>
|
|
80
|
-
<ts-card bordered padding="sm">
|
|
81
|
-
<p style="margin: 0;">Padding: small</p>
|
|
82
|
-
</ts-card>
|
|
83
|
-
<ts-card bordered padding="md">
|
|
84
|
-
<p style="margin: 0;">Padding: medium</p>
|
|
85
|
-
</ts-card>
|
|
86
|
-
<ts-card bordered padding="lg">
|
|
87
|
-
<p style="margin: 0;">Padding: large</p>
|
|
88
|
-
</ts-card>
|
|
89
|
-
</ts-stack>
|
|
90
|
-
`;
|
|
91
|
-
export const States = () => `
|
|
92
|
-
<ts-row gap="4" align="start">
|
|
93
|
-
<ts-card bordered style="width: 240px;">
|
|
94
|
-
<p style="margin: 0;">Bordered card</p>
|
|
95
|
-
</ts-card>
|
|
96
|
-
<ts-card interactive style="width: 240px;">
|
|
97
|
-
<p style="margin: 0;">Interactive card (hover me)</p>
|
|
98
|
-
</ts-card>
|
|
99
|
-
<ts-card interactive bordered style="width: 240px;">
|
|
100
|
-
<p style="margin: 0;">Interactive + bordered</p>
|
|
101
|
-
</ts-card>
|
|
102
|
-
</ts-row>
|
|
103
|
-
`;
|
|
104
|
-
export const WithSlots = () => `
|
|
105
|
-
<div style="max-width: 400px;">
|
|
106
|
-
<ts-card bordered>
|
|
107
|
-
<span slot="header">
|
|
108
|
-
<ts-row gap="2" justify="between" align="center">
|
|
109
|
-
<h3 style="margin: 0;">Team Members</h3>
|
|
110
|
-
<ts-badge variant="primary" pill>3 online</ts-badge>
|
|
111
|
-
</ts-row>
|
|
112
|
-
</span>
|
|
113
|
-
<ts-stack gap="2">
|
|
114
|
-
<ts-row gap="2">
|
|
115
|
-
<ts-icon name="user" size="sm"></ts-icon>
|
|
116
|
-
<div>
|
|
117
|
-
<div style="font-weight: 600;">Sarah Chen</div>
|
|
118
|
-
<div style="font-size: 13px; color: var(--ts-color-text-secondary);">Engineering Lead</div>
|
|
119
|
-
</div>
|
|
120
|
-
<ts-badge variant="success" pill size="sm" style="margin-left: auto;">Active</ts-badge>
|
|
121
|
-
</ts-row>
|
|
122
|
-
<ts-row gap="2">
|
|
123
|
-
<ts-icon name="user" size="sm"></ts-icon>
|
|
124
|
-
<div>
|
|
125
|
-
<div style="font-weight: 600;">Alex Rivera</div>
|
|
126
|
-
<div style="font-size: 13px; color: var(--ts-color-text-secondary);">Product Designer</div>
|
|
127
|
-
</div>
|
|
128
|
-
<ts-badge variant="success" pill size="sm" style="margin-left: auto;">Active</ts-badge>
|
|
129
|
-
</ts-row>
|
|
130
|
-
<ts-row gap="2">
|
|
131
|
-
<ts-icon name="user" size="sm"></ts-icon>
|
|
132
|
-
<div>
|
|
133
|
-
<div style="font-weight: 600;">Jordan Lee</div>
|
|
134
|
-
<div style="font-size: 13px; color: var(--ts-color-text-secondary);">Backend Developer</div>
|
|
135
|
-
</div>
|
|
136
|
-
<ts-badge variant="neutral" pill size="sm" style="margin-left: auto;">Away</ts-badge>
|
|
137
|
-
</ts-row>
|
|
138
|
-
</ts-stack>
|
|
139
|
-
<span slot="footer">
|
|
140
|
-
<ts-row gap="1" justify="end">
|
|
141
|
-
<ts-button size="sm" appearance="ghost" variant="primary">
|
|
142
|
-
<ts-icon slot="prefix" name="user-plus" size="sm"></ts-icon>
|
|
143
|
-
Invite Member
|
|
144
|
-
</ts-button>
|
|
145
|
-
</ts-row>
|
|
146
|
-
</span>
|
|
147
|
-
</ts-card>
|
|
148
|
-
</div>
|
|
149
|
-
`;
|
|
150
|
-
export const WithMedia = () => `
|
|
151
|
-
<ts-grid columns="auto" min-column-width="280px" gap="4">
|
|
152
|
-
<ts-card bordered style="width: 300px;" padding="none">
|
|
153
|
-
<span slot="media">
|
|
154
|
-
<div style="height: 160px; background: linear-gradient(135deg, var(--ts-color-primary-400), var(--ts-color-primary-700)); display: flex; align-items: center; justify-content: center;">
|
|
155
|
-
<ts-icon name="image" size="xl" color="white"></ts-icon>
|
|
156
|
-
</div>
|
|
157
|
-
</span>
|
|
158
|
-
<div style="padding: 16px;">
|
|
159
|
-
<h3 style="margin: 0 0 8px;">Project Aurora</h3>
|
|
160
|
-
<p style="margin: 0; font-size: 14px; color: var(--ts-color-text-secondary);">A next-generation design system built for speed and accessibility.</p>
|
|
161
|
-
</div>
|
|
162
|
-
<span slot="footer">
|
|
163
|
-
<ts-row gap="2" justify="between" style="padding: 0 16px 16px;">
|
|
164
|
-
<ts-badge variant="info" pill size="sm">In Progress</ts-badge>
|
|
165
|
-
<ts-button size="sm" appearance="ghost" variant="primary">View Project</ts-button>
|
|
166
|
-
</ts-row>
|
|
167
|
-
</span>
|
|
168
|
-
</ts-card>
|
|
169
|
-
|
|
170
|
-
<ts-card bordered style="width: 300px;" padding="none">
|
|
171
|
-
<span slot="media">
|
|
172
|
-
<div style="height: 160px; background: linear-gradient(135deg, var(--ts-color-success-400), var(--ts-color-success-700)); display: flex; align-items: center; justify-content: center;">
|
|
173
|
-
<ts-icon name="check-circle" size="xl" color="white"></ts-icon>
|
|
174
|
-
</div>
|
|
175
|
-
</span>
|
|
176
|
-
<div style="padding: 16px;">
|
|
177
|
-
<h3 style="margin: 0 0 8px;">Project Nebula</h3>
|
|
178
|
-
<p style="margin: 0; font-size: 14px; color: var(--ts-color-text-secondary);">Analytics dashboard with real-time data visualization and reporting.</p>
|
|
179
|
-
</div>
|
|
180
|
-
<span slot="footer">
|
|
181
|
-
<ts-row gap="2" justify="between" style="padding: 0 16px 16px;">
|
|
182
|
-
<ts-badge variant="success" pill size="sm">Completed</ts-badge>
|
|
183
|
-
<ts-button size="sm" appearance="ghost" variant="primary">View Project</ts-button>
|
|
184
|
-
</ts-row>
|
|
185
|
-
</span>
|
|
186
|
-
</ts-card>
|
|
187
|
-
</ts-grid>
|
|
188
|
-
`;
|
|
189
|
-
export const Composition = () => `
|
|
190
|
-
<ts-stack gap="3" style="max-width: 400px;">
|
|
191
|
-
<ts-card bordered padding="lg">
|
|
192
|
-
<span slot="header">
|
|
193
|
-
<ts-row gap="1">
|
|
194
|
-
<ts-icon name="credit-card" size="sm"></ts-icon>
|
|
195
|
-
<h3 style="margin: 0;">Payment Method</h3>
|
|
196
|
-
</ts-row>
|
|
197
|
-
</span>
|
|
198
|
-
<ts-stack gap="2">
|
|
199
|
-
<ts-input label="Card Number" placeholder="4242 4242 4242 4242">
|
|
200
|
-
<ts-icon slot="prefix" name="credit-card" size="sm"></ts-icon>
|
|
201
|
-
</ts-input>
|
|
202
|
-
<ts-row gap="2">
|
|
203
|
-
<ts-input label="Expiry" placeholder="MM/YY" style="flex: 1;"></ts-input>
|
|
204
|
-
<ts-input label="CVC" placeholder="123" style="flex: 1;">
|
|
205
|
-
<ts-icon slot="suffix" name="lock" size="sm"></ts-icon>
|
|
206
|
-
</ts-input>
|
|
207
|
-
</ts-row>
|
|
208
|
-
</ts-stack>
|
|
209
|
-
<span slot="footer">
|
|
210
|
-
<ts-row gap="2" justify="end" style="padding-top: 8px;">
|
|
211
|
-
<ts-button appearance="outline" variant="neutral">Cancel</ts-button>
|
|
212
|
-
<ts-button variant="primary">
|
|
213
|
-
<ts-icon slot="prefix" name="lock" size="sm"></ts-icon>
|
|
214
|
-
Pay $49.99
|
|
215
|
-
</ts-button>
|
|
216
|
-
</ts-row>
|
|
217
|
-
</span>
|
|
218
|
-
</ts-card>
|
|
219
|
-
</ts-stack>
|
|
220
|
-
`;
|
|
221
|
-
//# sourceMappingURL=card.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.stories.js","sourceRoot":"","sources":["../../../src/components/card/card.stories.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACzC,WAAW,EAAE,+CAA+C;SAC7D;QACD,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,4DAA4D,EAAE;QAC9G,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACtE,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACnC,WAAW,EAAE,iCAAiC;SAC/C;QACD,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE;KACtE;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACzG,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,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,OAAO;eACM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,WAAW,IAAI,wDAAwD;;SAE3E,CAAC;AACV,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAwD,EAAE;IAC7G,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,oIAAoI;KAClJ;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BvC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;CAepC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;CAYnC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CtC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCtC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxC,CAAC","sourcesContent":["// Hand-written stories for ts-card\n\nexport default {\n title: 'Components/Card',\n tags: ['autodocs'],\n argTypes: {\n elevation: {\n control: 'select',\n options: ['none', 'sm', 'md', 'lg', 'xl'],\n description: 'Elevation level controlling the shadow depth.',\n },\n interactive: { control: 'boolean', description: 'Makes the card interactive (hover effect, cursor pointer).' },\n bordered: { control: 'boolean', description: 'Border style variant.' },\n padding: {\n control: 'select',\n options: ['none', 'sm', 'md', 'lg'],\n description: 'Padding size for the card body.',\n },\n slotContent: { control: 'text', description: 'Default slot content' },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.elevation !== undefined && args.elevation !== null) attrs.push(`elevation=\"${args.elevation}\"`);\n if (args.interactive) attrs.push('interactive');\n if (args.bordered) attrs.push('bordered');\n if (args.padding !== undefined && args.padding !== null) attrs.push(`padding=\"${args.padding}\"`);\n return `<div style=\"max-width: 400px;\">\n <ts-card ${attrs.join(' ')}>\n ${args.slotContent || '<p style=\"margin: 0;\">Card body content goes here.</p>'}\n </ts-card>\n </div>`;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n elevation: 'sm',\n interactive: false,\n bordered: false,\n padding: 'md',\n slotContent: '<p style=\"margin: 0;\">This is a basic card with default settings. Cards are versatile containers for grouping related content.</p>',\n },\n});\n\nexport const Elevations = (): string => `\n <ts-row gap=\"4\" align=\"start\">\n <div style=\"text-align: center;\">\n <ts-card elevation=\"none\" style=\"width: 160px;\">\n <p style=\"margin: 0; font-size: 14px;\">None</p>\n </ts-card>\n </div>\n <div style=\"text-align: center;\">\n <ts-card elevation=\"sm\" style=\"width: 160px;\">\n <p style=\"margin: 0; font-size: 14px;\">Small</p>\n </ts-card>\n </div>\n <div style=\"text-align: center;\">\n <ts-card elevation=\"md\" style=\"width: 160px;\">\n <p style=\"margin: 0; font-size: 14px;\">Medium</p>\n </ts-card>\n </div>\n <div style=\"text-align: center;\">\n <ts-card elevation=\"lg\" style=\"width: 160px;\">\n <p style=\"margin: 0; font-size: 14px;\">Large</p>\n </ts-card>\n </div>\n <div style=\"text-align: center;\">\n <ts-card elevation=\"xl\" style=\"width: 160px;\">\n <p style=\"margin: 0; font-size: 14px;\">Extra Large</p>\n </ts-card>\n </div>\n </ts-row>\n`;\n\nexport const Padding = (): string => `\n <ts-stack gap=\"3\" style=\"max-width: 400px;\">\n <ts-card bordered padding=\"none\">\n <p style=\"margin: 0;\">Padding: none</p>\n </ts-card>\n <ts-card bordered padding=\"sm\">\n <p style=\"margin: 0;\">Padding: small</p>\n </ts-card>\n <ts-card bordered padding=\"md\">\n <p style=\"margin: 0;\">Padding: medium</p>\n </ts-card>\n <ts-card bordered padding=\"lg\">\n <p style=\"margin: 0;\">Padding: large</p>\n </ts-card>\n </ts-stack>\n`;\n\nexport const States = (): string => `\n <ts-row gap=\"4\" align=\"start\">\n <ts-card bordered style=\"width: 240px;\">\n <p style=\"margin: 0;\">Bordered card</p>\n </ts-card>\n <ts-card interactive style=\"width: 240px;\">\n <p style=\"margin: 0;\">Interactive card (hover me)</p>\n </ts-card>\n <ts-card interactive bordered style=\"width: 240px;\">\n <p style=\"margin: 0;\">Interactive + bordered</p>\n </ts-card>\n </ts-row>\n`;\n\nexport const WithSlots = (): string => `\n <div style=\"max-width: 400px;\">\n <ts-card bordered>\n <span slot=\"header\">\n <ts-row gap=\"2\" justify=\"between\" align=\"center\">\n <h3 style=\"margin: 0;\">Team Members</h3>\n <ts-badge variant=\"primary\" pill>3 online</ts-badge>\n </ts-row>\n </span>\n <ts-stack gap=\"2\">\n <ts-row gap=\"2\">\n <ts-icon name=\"user\" size=\"sm\"></ts-icon>\n <div>\n <div style=\"font-weight: 600;\">Sarah Chen</div>\n <div style=\"font-size: 13px; color: var(--ts-color-text-secondary);\">Engineering Lead</div>\n </div>\n <ts-badge variant=\"success\" pill size=\"sm\" style=\"margin-left: auto;\">Active</ts-badge>\n </ts-row>\n <ts-row gap=\"2\">\n <ts-icon name=\"user\" size=\"sm\"></ts-icon>\n <div>\n <div style=\"font-weight: 600;\">Alex Rivera</div>\n <div style=\"font-size: 13px; color: var(--ts-color-text-secondary);\">Product Designer</div>\n </div>\n <ts-badge variant=\"success\" pill size=\"sm\" style=\"margin-left: auto;\">Active</ts-badge>\n </ts-row>\n <ts-row gap=\"2\">\n <ts-icon name=\"user\" size=\"sm\"></ts-icon>\n <div>\n <div style=\"font-weight: 600;\">Jordan Lee</div>\n <div style=\"font-size: 13px; color: var(--ts-color-text-secondary);\">Backend Developer</div>\n </div>\n <ts-badge variant=\"neutral\" pill size=\"sm\" style=\"margin-left: auto;\">Away</ts-badge>\n </ts-row>\n </ts-stack>\n <span slot=\"footer\">\n <ts-row gap=\"1\" justify=\"end\">\n <ts-button size=\"sm\" appearance=\"ghost\" variant=\"primary\">\n <ts-icon slot=\"prefix\" name=\"user-plus\" size=\"sm\"></ts-icon>\n Invite Member\n </ts-button>\n </ts-row>\n </span>\n </ts-card>\n </div>\n`;\n\nexport const WithMedia = (): string => `\n <ts-grid columns=\"auto\" min-column-width=\"280px\" gap=\"4\">\n <ts-card bordered style=\"width: 300px;\" padding=\"none\">\n <span slot=\"media\">\n <div style=\"height: 160px; background: linear-gradient(135deg, var(--ts-color-primary-400), var(--ts-color-primary-700)); display: flex; align-items: center; justify-content: center;\">\n <ts-icon name=\"image\" size=\"xl\" color=\"white\"></ts-icon>\n </div>\n </span>\n <div style=\"padding: 16px;\">\n <h3 style=\"margin: 0 0 8px;\">Project Aurora</h3>\n <p style=\"margin: 0; font-size: 14px; color: var(--ts-color-text-secondary);\">A next-generation design system built for speed and accessibility.</p>\n </div>\n <span slot=\"footer\">\n <ts-row gap=\"2\" justify=\"between\" style=\"padding: 0 16px 16px;\">\n <ts-badge variant=\"info\" pill size=\"sm\">In Progress</ts-badge>\n <ts-button size=\"sm\" appearance=\"ghost\" variant=\"primary\">View Project</ts-button>\n </ts-row>\n </span>\n </ts-card>\n\n <ts-card bordered style=\"width: 300px;\" padding=\"none\">\n <span slot=\"media\">\n <div style=\"height: 160px; background: linear-gradient(135deg, var(--ts-color-success-400), var(--ts-color-success-700)); display: flex; align-items: center; justify-content: center;\">\n <ts-icon name=\"check-circle\" size=\"xl\" color=\"white\"></ts-icon>\n </div>\n </span>\n <div style=\"padding: 16px;\">\n <h3 style=\"margin: 0 0 8px;\">Project Nebula</h3>\n <p style=\"margin: 0; font-size: 14px; color: var(--ts-color-text-secondary);\">Analytics dashboard with real-time data visualization and reporting.</p>\n </div>\n <span slot=\"footer\">\n <ts-row gap=\"2\" justify=\"between\" style=\"padding: 0 16px 16px;\">\n <ts-badge variant=\"success\" pill size=\"sm\">Completed</ts-badge>\n <ts-button size=\"sm\" appearance=\"ghost\" variant=\"primary\">View Project</ts-button>\n </ts-row>\n </span>\n </ts-card>\n </ts-grid>\n`;\n\nexport const Composition = (): string => `\n <ts-stack gap=\"3\" style=\"max-width: 400px;\">\n <ts-card bordered padding=\"lg\">\n <span slot=\"header\">\n <ts-row gap=\"1\">\n <ts-icon name=\"credit-card\" size=\"sm\"></ts-icon>\n <h3 style=\"margin: 0;\">Payment Method</h3>\n </ts-row>\n </span>\n <ts-stack gap=\"2\">\n <ts-input label=\"Card Number\" placeholder=\"4242 4242 4242 4242\">\n <ts-icon slot=\"prefix\" name=\"credit-card\" size=\"sm\"></ts-icon>\n </ts-input>\n <ts-row gap=\"2\">\n <ts-input label=\"Expiry\" placeholder=\"MM/YY\" style=\"flex: 1;\"></ts-input>\n <ts-input label=\"CVC\" placeholder=\"123\" style=\"flex: 1;\">\n <ts-icon slot=\"suffix\" name=\"lock\" size=\"sm\"></ts-icon>\n </ts-input>\n </ts-row>\n </ts-stack>\n <span slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\" style=\"padding-top: 8px;\">\n <ts-button appearance=\"outline\" variant=\"neutral\">Cancel</ts-button>\n <ts-button variant=\"primary\">\n <ts-icon slot=\"prefix\" name=\"lock\" size=\"sm\"></ts-icon>\n Pay $49.99\n </ts-button>\n </ts-row>\n </span>\n </ts-card>\n </ts-stack>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Event, h, Host, Element, Method } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\nimport type { TsCheckboxChangeEventDetail } from '../../types';\nimport { generateId } from '../../utils/aria';\n\n/**\n * @slot - Default slot for the checkbox label.\n *\n * @part base - The checkbox container.\n * @part control - The visual checkbox box.\n * @part label - The label wrapper.\n */\n@Component({\n tag: 'ts-checkbox',\n styleUrl: 'checkbox.css',\n shadow: true,\n})\nexport class TsCheckbox {\n @Element() hostEl!: HTMLElement;\n\n private inputId = generateId('ts-checkbox');\n\n /** Whether the checkbox is checked. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** Whether the checkbox is in an indeterminate state. */\n @Prop({ mutable: true, reflect: true }) indeterminate = false;\n\n /** Renders the checkbox as disabled. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The value associated with this checkbox. */\n @Prop() value = '';\n\n /** Name attribute for form submission. */\n @Prop() name?: string;\n\n /** Label text. If omitted, use the default slot. */\n @Prop() label?: string;\n\n /** The checkbox size. */\n @Prop({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Renders the checkbox in an error state. */\n @Prop({ reflect: true }) error = false;\n\n /** Emitted when the checked state changes. */\n @Event({ eventName: 'tsChange' }) tsChange!: EventEmitter<TsCheckboxChangeEventDetail>;\n\n /** Programmatically toggle the checkbox. */\n @Method()\n async toggle(): Promise<void> {\n if (!this.disabled) {\n this.indeterminate = false;\n this.checked = !this.checked;\n this.tsChange.emit({ checked: this.checked, value: this.value });\n }\n }\n\n private handleClick = (): void => {\n this.toggle();\n };\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === ' ') {\n event.preventDefault();\n this.toggle();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const ariaChecked = this.indeterminate ? 'mixed' : this.checked ? 'true' : 'false';\n\n return (\n <Host\n class={{\n 'ts-checkbox': true,\n [`ts-checkbox--${this.size}`]: true,\n 'ts-checkbox--checked': this.checked,\n 'ts-checkbox--indeterminate': this.indeterminate,\n 'ts-checkbox--disabled': this.disabled,\n 'ts-checkbox--error': this.error,\n }}\n >\n <div\n class=\"checkbox__base\"\n part=\"base\"\n role=\"checkbox\"\n aria-checked={ariaChecked}\n aria-disabled={this.disabled ? 'true' : undefined}\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n >\n <div class=\"checkbox__control\" part=\"control\">\n {this.checked && !this.indeterminate && (\n <svg class=\"checkbox__icon\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3.5 8L6.5 11L12.5 5\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n )}\n {this.indeterminate && (\n <svg class=\"checkbox__icon\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 8H12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>\n )}\n </div>\n\n <label class=\"checkbox__label\" part=\"label\" id={`${this.inputId}-label`}>\n {this.label ? this.label : <slot />}\n </label>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-checkbox
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Checkbox',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
checked: { control: 'boolean', description: 'Whether the checkbox is checked.' },
|
|
7
|
-
indeterminate: { control: 'boolean', description: 'Whether the checkbox is in an indeterminate state.' },
|
|
8
|
-
disabled: { control: 'boolean', description: 'Renders the checkbox as disabled.' },
|
|
9
|
-
error: { control: 'boolean', description: 'Renders the checkbox in an error state.' },
|
|
10
|
-
size: {
|
|
11
|
-
control: 'select',
|
|
12
|
-
options: ['sm', 'md', 'lg'],
|
|
13
|
-
description: 'The checkbox size.',
|
|
14
|
-
},
|
|
15
|
-
label: { control: 'text', description: 'Label text. If omitted, use the default slot.' },
|
|
16
|
-
value: { control: 'text', description: 'The value associated with this checkbox.' },
|
|
17
|
-
name: { control: 'text', description: 'Name attribute for form submission.' },
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
const Template = (args) => {
|
|
21
|
-
const attrs = [];
|
|
22
|
-
if (args.checked)
|
|
23
|
-
attrs.push('checked');
|
|
24
|
-
if (args.indeterminate)
|
|
25
|
-
attrs.push('indeterminate');
|
|
26
|
-
if (args.disabled)
|
|
27
|
-
attrs.push('disabled');
|
|
28
|
-
if (args.error)
|
|
29
|
-
attrs.push('error');
|
|
30
|
-
if (args.size !== undefined && args.size !== null)
|
|
31
|
-
attrs.push(`size="${args.size}"`);
|
|
32
|
-
if (args.label !== undefined && args.label !== null)
|
|
33
|
-
attrs.push(`label="${args.label}"`);
|
|
34
|
-
if (args.value !== undefined && args.value !== null)
|
|
35
|
-
attrs.push(`value="${args.value}"`);
|
|
36
|
-
if (args.name !== undefined && args.name !== null)
|
|
37
|
-
attrs.push(`name="${args.name}"`);
|
|
38
|
-
return `<ts-checkbox ${attrs.join(' ')}></ts-checkbox>`;
|
|
39
|
-
};
|
|
40
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
41
|
-
args: {
|
|
42
|
-
checked: false,
|
|
43
|
-
indeterminate: false,
|
|
44
|
-
disabled: false,
|
|
45
|
-
error: false,
|
|
46
|
-
size: 'md',
|
|
47
|
-
label: 'I agree to the terms and conditions',
|
|
48
|
-
value: 'agree',
|
|
49
|
-
name: 'agreement',
|
|
50
|
-
},
|
|
51
|
-
});
|
|
52
|
-
export const Sizes = () => `
|
|
53
|
-
<ts-stack gap="2">
|
|
54
|
-
<ts-checkbox size="sm" label="Small checkbox"></ts-checkbox>
|
|
55
|
-
<ts-checkbox size="md" label="Medium checkbox"></ts-checkbox>
|
|
56
|
-
<ts-checkbox size="lg" label="Large checkbox"></ts-checkbox>
|
|
57
|
-
</ts-stack>
|
|
58
|
-
`;
|
|
59
|
-
export const States = () => `
|
|
60
|
-
<ts-stack gap="2">
|
|
61
|
-
<ts-checkbox label="Unchecked"></ts-checkbox>
|
|
62
|
-
<ts-checkbox checked label="Checked"></ts-checkbox>
|
|
63
|
-
<ts-checkbox indeterminate label="Indeterminate"></ts-checkbox>
|
|
64
|
-
<ts-checkbox disabled label="Disabled unchecked"></ts-checkbox>
|
|
65
|
-
<ts-checkbox disabled checked label="Disabled checked"></ts-checkbox>
|
|
66
|
-
<ts-checkbox error label="Error state"></ts-checkbox>
|
|
67
|
-
<ts-checkbox error checked label="Error checked"></ts-checkbox>
|
|
68
|
-
</ts-stack>
|
|
69
|
-
`;
|
|
70
|
-
export const FormExample = () => `
|
|
71
|
-
<ts-stack gap="3" style="max-width: 400px;">
|
|
72
|
-
<h3 style="margin: 0; font-family: sans-serif;">Newsletter Preferences</h3>
|
|
73
|
-
<ts-checkbox name="terms" value="terms" label="I agree to the terms and conditions"></ts-checkbox>
|
|
74
|
-
<ts-checkbox name="newsletter" value="newsletter" checked label="Subscribe to weekly newsletter"></ts-checkbox>
|
|
75
|
-
<ts-checkbox name="remember" value="remember" label="Remember me on this device"></ts-checkbox>
|
|
76
|
-
<ts-checkbox name="marketing" value="marketing" label="Receive marketing communications"></ts-checkbox>
|
|
77
|
-
<ts-checkbox name="beta" value="beta" disabled label="Join beta program (currently unavailable)"></ts-checkbox>
|
|
78
|
-
</ts-stack>
|
|
79
|
-
`;
|
|
80
|
-
export const WithSlotContent = () => `
|
|
81
|
-
<ts-stack gap="2">
|
|
82
|
-
<ts-checkbox value="custom">
|
|
83
|
-
Accept the <a href="#" style="color: #2563eb;">privacy policy</a>
|
|
84
|
-
</ts-checkbox>
|
|
85
|
-
<ts-checkbox value="styled">
|
|
86
|
-
<strong>Important:</strong> Enable two-factor authentication
|
|
87
|
-
</ts-checkbox>
|
|
88
|
-
</ts-stack>
|
|
89
|
-
`;
|
|
90
|
-
//# sourceMappingURL=checkbox.stories.js.map
|