@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,112 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-popover
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Popover',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
open: {
|
|
7
|
-
control: 'boolean',
|
|
8
|
-
description: 'Whether the popover is currently visible.',
|
|
9
|
-
},
|
|
10
|
-
placement: {
|
|
11
|
-
control: 'select',
|
|
12
|
-
options: ['top', 'bottom', 'left', 'right', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],
|
|
13
|
-
description: 'Placement of the popover relative to the trigger.',
|
|
14
|
-
},
|
|
15
|
-
trigger: {
|
|
16
|
-
control: 'select',
|
|
17
|
-
options: ['click', 'hover', 'manual'],
|
|
18
|
-
description: 'How the popover is triggered.',
|
|
19
|
-
},
|
|
20
|
-
dismissible: {
|
|
21
|
-
control: 'boolean',
|
|
22
|
-
description: 'Whether the popover closes on outside click or Escape.',
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
const Template = (args) => {
|
|
27
|
-
const attrs = [];
|
|
28
|
-
if (args.open)
|
|
29
|
-
attrs.push('open');
|
|
30
|
-
if (args.placement !== undefined)
|
|
31
|
-
attrs.push(`placement="${args.placement}"`);
|
|
32
|
-
if (args.trigger !== undefined)
|
|
33
|
-
attrs.push(`trigger="${args.trigger}"`);
|
|
34
|
-
if (args.dismissible !== undefined && !args.dismissible)
|
|
35
|
-
attrs.push('dismissible="false"');
|
|
36
|
-
return `
|
|
37
|
-
<div style="display: flex; justify-content: center; padding: 100px 0;">
|
|
38
|
-
<ts-popover ${attrs.join(' ')}>
|
|
39
|
-
<ts-button slot="trigger">Click me</ts-button>
|
|
40
|
-
<div style="padding: 16px; max-width: 240px;">
|
|
41
|
-
<h4 style="margin: 0 0 8px; font-family: sans-serif;">Popover Title</h4>
|
|
42
|
-
<p style="margin: 0; font-family: sans-serif; font-size: 14px; color: #666;">
|
|
43
|
-
This is a rich content popover with some helpful information.
|
|
44
|
-
</p>
|
|
45
|
-
</div>
|
|
46
|
-
</ts-popover>
|
|
47
|
-
</div>
|
|
48
|
-
`;
|
|
49
|
-
};
|
|
50
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
51
|
-
args: {
|
|
52
|
-
open: false,
|
|
53
|
-
placement: 'bottom',
|
|
54
|
-
trigger: 'click',
|
|
55
|
-
dismissible: true,
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
export const Variants = () => `
|
|
59
|
-
<div style="display: flex; gap: 24px; justify-content: center; padding: 120px 0;">
|
|
60
|
-
<ts-popover placement="top" trigger="click">
|
|
61
|
-
<ts-button slot="trigger" appearance="outline">Top</ts-button>
|
|
62
|
-
<div style="padding: 12px; font-family: sans-serif;">Popover on top</div>
|
|
63
|
-
</ts-popover>
|
|
64
|
-
<ts-popover placement="bottom" trigger="click">
|
|
65
|
-
<ts-button slot="trigger" appearance="outline">Bottom</ts-button>
|
|
66
|
-
<div style="padding: 12px; font-family: sans-serif;">Popover on bottom</div>
|
|
67
|
-
</ts-popover>
|
|
68
|
-
<ts-popover placement="left" trigger="click">
|
|
69
|
-
<ts-button slot="trigger" appearance="outline">Left</ts-button>
|
|
70
|
-
<div style="padding: 12px; font-family: sans-serif;">Popover on left</div>
|
|
71
|
-
</ts-popover>
|
|
72
|
-
<ts-popover placement="right" trigger="click">
|
|
73
|
-
<ts-button slot="trigger" appearance="outline">Right</ts-button>
|
|
74
|
-
<div style="padding: 12px; font-family: sans-serif;">Popover on right</div>
|
|
75
|
-
</ts-popover>
|
|
76
|
-
</div>
|
|
77
|
-
`;
|
|
78
|
-
export const States = () => `
|
|
79
|
-
<div style="display: flex; gap: 24px; justify-content: center; padding: 120px 0;">
|
|
80
|
-
<ts-popover trigger="click">
|
|
81
|
-
<ts-button slot="trigger">Click trigger</ts-button>
|
|
82
|
-
<div style="padding: 12px; font-family: sans-serif;">Opened by click</div>
|
|
83
|
-
</ts-popover>
|
|
84
|
-
<ts-popover trigger="hover">
|
|
85
|
-
<ts-button slot="trigger" appearance="outline">Hover trigger</ts-button>
|
|
86
|
-
<div style="padding: 12px; font-family: sans-serif;">Opened by hover</div>
|
|
87
|
-
</ts-popover>
|
|
88
|
-
</div>
|
|
89
|
-
`;
|
|
90
|
-
export const Composition = () => `
|
|
91
|
-
<div style="display: flex; justify-content: center; padding: 80px 0 200px;">
|
|
92
|
-
<ts-popover placement="bottom-start" trigger="click">
|
|
93
|
-
<ts-button slot="trigger" variant="primary">User Profile</ts-button>
|
|
94
|
-
<div style="padding: 16px; min-width: 240px; font-family: sans-serif;">
|
|
95
|
-
<div style="display: flex; gap: 12px; align-items: center; margin-bottom: 12px;">
|
|
96
|
-
<ts-avatar name="Jane Doe" size="md"></ts-avatar>
|
|
97
|
-
<div>
|
|
98
|
-
<div style="font-weight: 600;">Jane Doe</div>
|
|
99
|
-
<div style="font-size: 13px; color: #666;">jane@example.com</div>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
<ts-divider></ts-divider>
|
|
103
|
-
<div style="display: flex; flex-direction: column; gap: 8px; margin-top: 12px;">
|
|
104
|
-
<ts-button appearance="ghost" block size="sm">View Profile</ts-button>
|
|
105
|
-
<ts-button appearance="ghost" block size="sm">Settings</ts-button>
|
|
106
|
-
<ts-button appearance="ghost" block size="sm" variant="danger">Sign out</ts-button>
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
</ts-popover>
|
|
110
|
-
</div>
|
|
111
|
-
`;
|
|
112
|
-
//# sourceMappingURL=popover.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.stories.js","sourceRoot":"","sources":["../../../src/components/popover/popover.stories.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,2CAA2C;SACzD;QACD,SAAS,EAAE;YACT,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC;YACjG,WAAW,EAAE,mDAAmD;SACjE;QACD,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;YACrC,WAAW,EAAE,+BAA+B;SAC7C;QACD,WAAW,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,wDAAwD;SACtE;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC3F,OAAO;;oBAEW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;GAUhC,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,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,IAAI;KAClB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;CAmBrC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;CAWnC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;CAqBxC,CAAC","sourcesContent":["// Hand-written stories for ts-popover\n\nexport default {\n title: 'Components/Popover',\n tags: ['autodocs'],\n argTypes: {\n open: {\n control: 'boolean',\n description: 'Whether the popover is currently visible.',\n },\n placement: {\n control: 'select',\n options: ['top', 'bottom', 'left', 'right', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n description: 'Placement of the popover relative to the trigger.',\n },\n trigger: {\n control: 'select',\n options: ['click', 'hover', 'manual'],\n description: 'How the popover is triggered.',\n },\n dismissible: {\n control: 'boolean',\n description: 'Whether the popover closes on outside click or Escape.',\n },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.open) attrs.push('open');\n if (args.placement !== undefined) attrs.push(`placement=\"${args.placement}\"`);\n if (args.trigger !== undefined) attrs.push(`trigger=\"${args.trigger}\"`);\n if (args.dismissible !== undefined && !args.dismissible) attrs.push('dismissible=\"false\"');\n return `\n <div style=\"display: flex; justify-content: center; padding: 100px 0;\">\n <ts-popover ${attrs.join(' ')}>\n <ts-button slot=\"trigger\">Click me</ts-button>\n <div style=\"padding: 16px; max-width: 240px;\">\n <h4 style=\"margin: 0 0 8px; font-family: sans-serif;\">Popover Title</h4>\n <p style=\"margin: 0; font-family: sans-serif; font-size: 14px; color: #666;\">\n This is a rich content popover with some helpful information.\n </p>\n </div>\n </ts-popover>\n </div>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n open: false,\n placement: 'bottom',\n trigger: 'click',\n dismissible: true,\n },\n});\n\nexport const Variants = (): string => `\n <div style=\"display: flex; gap: 24px; justify-content: center; padding: 120px 0;\">\n <ts-popover placement=\"top\" trigger=\"click\">\n <ts-button slot=\"trigger\" appearance=\"outline\">Top</ts-button>\n <div style=\"padding: 12px; font-family: sans-serif;\">Popover on top</div>\n </ts-popover>\n <ts-popover placement=\"bottom\" trigger=\"click\">\n <ts-button slot=\"trigger\" appearance=\"outline\">Bottom</ts-button>\n <div style=\"padding: 12px; font-family: sans-serif;\">Popover on bottom</div>\n </ts-popover>\n <ts-popover placement=\"left\" trigger=\"click\">\n <ts-button slot=\"trigger\" appearance=\"outline\">Left</ts-button>\n <div style=\"padding: 12px; font-family: sans-serif;\">Popover on left</div>\n </ts-popover>\n <ts-popover placement=\"right\" trigger=\"click\">\n <ts-button slot=\"trigger\" appearance=\"outline\">Right</ts-button>\n <div style=\"padding: 12px; font-family: sans-serif;\">Popover on right</div>\n </ts-popover>\n </div>\n`;\n\nexport const States = (): string => `\n <div style=\"display: flex; gap: 24px; justify-content: center; padding: 120px 0;\">\n <ts-popover trigger=\"click\">\n <ts-button slot=\"trigger\">Click trigger</ts-button>\n <div style=\"padding: 12px; font-family: sans-serif;\">Opened by click</div>\n </ts-popover>\n <ts-popover trigger=\"hover\">\n <ts-button slot=\"trigger\" appearance=\"outline\">Hover trigger</ts-button>\n <div style=\"padding: 12px; font-family: sans-serif;\">Opened by hover</div>\n </ts-popover>\n </div>\n`;\n\nexport const Composition = (): string => `\n <div style=\"display: flex; justify-content: center; padding: 80px 0 200px;\">\n <ts-popover placement=\"bottom-start\" trigger=\"click\">\n <ts-button slot=\"trigger\" variant=\"primary\">User Profile</ts-button>\n <div style=\"padding: 16px; min-width: 240px; font-family: sans-serif;\">\n <div style=\"display: flex; gap: 12px; align-items: center; margin-bottom: 12px;\">\n <ts-avatar name=\"Jane Doe\" size=\"md\"></ts-avatar>\n <div>\n <div style=\"font-weight: 600;\">Jane Doe</div>\n <div style=\"font-size: 13px; color: #666;\">jane@example.com</div>\n </div>\n </div>\n <ts-divider></ts-divider>\n <div style=\"display: flex; flex-direction: column; gap: 8px; margin-top: 12px;\">\n <ts-button appearance=\"ghost\" block size=\"sm\">View Profile</ts-button>\n <ts-button appearance=\"ghost\" block size=\"sm\">Settings</ts-button>\n <ts-button appearance=\"ghost\" block size=\"sm\" variant=\"danger\">Sign out</ts-button>\n </div>\n </div>\n </ts-popover>\n </div>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/components/progress/progress.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKzD;;;;GAIG;AAMH,MAAM,OAAO,UAAU;IACrB,yCAAyC;IACjC,KAAK,GAAG,CAAC,CAAC;IAElB,qBAAqB;IACb,GAAG,GAAG,GAAG,CAAC;IAElB,yBAAyB;IACA,OAAO,GAAsB,SAAS,CAAC;IAEhE,oCAAoC;IACX,IAAI,GAAW,IAAI,CAAC;IAE7C,6CAA6C;IACpB,aAAa,GAAG,KAAK,CAAC;IAE/C,6CAA6C;IACrC,KAAK,CAAU;IAEvB,+CAA+C;IACtB,SAAS,GAAG,KAAK,CAAC;IAE3C,IAAY,UAAU;QACpB,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,4EAA4E;IAC5E,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAEhC,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI;gBACnB,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBACtC,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;gBACnC,4BAA4B,EAAE,IAAI,CAAC,aAAa;aACjD;YAED,4DACE,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,aAAa,mBACH,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,mBAC3C,CAAC,mBACD,IAAI,CAAC,GAAG,gBACX,IAAI,CAAC,KAAK,IAAI,SAAS;gBAEnC,4DACE,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,GAAG,EAAE,GAChE,CACE;YACL,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CACxC,6DAAM,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,OAAO,iBAAa,MAAM;gBAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBACf,CACR,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\nimport type { TsSize } from '../../types';\n\ntype TsProgressVariant = 'primary' | 'success' | 'warning' | 'danger' | 'info';\n\n/**\n * @part track - The progress track.\n * @part fill - The progress fill bar.\n * @part label - The value label text.\n */\n@Component({\n tag: 'ts-progress',\n styleUrl: 'progress.css',\n shadow: true,\n})\nexport class TsProgress {\n /** Current progress value (0 to max). */\n @Prop() value = 0;\n\n /** Maximum value. */\n @Prop() max = 100;\n\n /** The color variant. */\n @Prop({ reflect: true }) variant: TsProgressVariant = 'primary';\n\n /** The size of the progress bar. */\n @Prop({ reflect: true }) size: TsSize = 'md';\n\n /** Whether the progress is indeterminate. */\n @Prop({ reflect: true }) indeterminate = false;\n\n /** Accessible label for the progress bar. */\n @Prop() label?: string;\n\n /** Whether to display the percentage value. */\n @Prop({ reflect: true }) showValue = false;\n\n private get percentage(): number {\n if (this.max <= 0) return 0;\n return Math.min(100, Math.max(0, (this.value / this.max) * 100));\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const percent = this.percentage;\n\n return (\n <Host\n class={{\n 'ts-progress': true,\n [`ts-progress--${this.variant}`]: true,\n [`ts-progress--${this.size}`]: true,\n 'ts-progress--indeterminate': this.indeterminate,\n }}\n >\n <div\n class=\"progress__track\"\n part=\"track\"\n role=\"progressbar\"\n aria-valuenow={this.indeterminate ? undefined : this.value}\n aria-valuemin={0}\n aria-valuemax={this.max}\n aria-label={this.label || undefined}\n >\n <div\n class=\"progress__fill\"\n part=\"fill\"\n style={this.indeterminate ? undefined : { width: `${percent}%` }}\n />\n </div>\n {this.showValue && !this.indeterminate && (\n <span class=\"progress__label\" part=\"label\" aria-hidden=\"true\">\n {Math.round(percent)}%\n </span>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-progress
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Progress',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
value: {
|
|
7
|
-
control: { type: 'range', min: 0, max: 100, step: 1 },
|
|
8
|
-
description: 'Current progress value (0 to max).',
|
|
9
|
-
},
|
|
10
|
-
max: {
|
|
11
|
-
control: 'number',
|
|
12
|
-
description: 'Maximum value.',
|
|
13
|
-
},
|
|
14
|
-
variant: {
|
|
15
|
-
control: 'select',
|
|
16
|
-
options: ['primary', 'success', 'warning', 'danger', 'info'],
|
|
17
|
-
description: 'The color variant.',
|
|
18
|
-
},
|
|
19
|
-
size: {
|
|
20
|
-
control: 'select',
|
|
21
|
-
options: ['sm', 'md', 'lg'],
|
|
22
|
-
description: 'The size of the progress bar.',
|
|
23
|
-
},
|
|
24
|
-
indeterminate: {
|
|
25
|
-
control: 'boolean',
|
|
26
|
-
description: 'Whether the progress is indeterminate.',
|
|
27
|
-
},
|
|
28
|
-
label: {
|
|
29
|
-
control: 'text',
|
|
30
|
-
description: 'Accessible label for the progress bar.',
|
|
31
|
-
},
|
|
32
|
-
showValue: {
|
|
33
|
-
control: 'boolean',
|
|
34
|
-
description: 'Whether to display the percentage value.',
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
const Template = (args) => {
|
|
39
|
-
const attrs = [];
|
|
40
|
-
if (args.value !== undefined)
|
|
41
|
-
attrs.push(`value="${args.value}"`);
|
|
42
|
-
if (args.max !== undefined)
|
|
43
|
-
attrs.push(`max="${args.max}"`);
|
|
44
|
-
if (args.variant !== undefined)
|
|
45
|
-
attrs.push(`variant="${args.variant}"`);
|
|
46
|
-
if (args.size !== undefined)
|
|
47
|
-
attrs.push(`size="${args.size}"`);
|
|
48
|
-
if (args.indeterminate)
|
|
49
|
-
attrs.push('indeterminate');
|
|
50
|
-
if (args.label !== undefined)
|
|
51
|
-
attrs.push(`label="${args.label}"`);
|
|
52
|
-
if (args.showValue)
|
|
53
|
-
attrs.push('show-value');
|
|
54
|
-
return `<ts-progress ${attrs.join(' ')}></ts-progress>`;
|
|
55
|
-
};
|
|
56
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
57
|
-
args: {
|
|
58
|
-
value: 65,
|
|
59
|
-
max: 100,
|
|
60
|
-
variant: 'primary',
|
|
61
|
-
size: 'md',
|
|
62
|
-
indeterminate: false,
|
|
63
|
-
label: 'Upload progress',
|
|
64
|
-
showValue: true,
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
export const Variants = () => `
|
|
68
|
-
<div style="display: flex; flex-direction: column; gap: 16px; max-width: 400px;">
|
|
69
|
-
<div>
|
|
70
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Primary</p>
|
|
71
|
-
<ts-progress value="65" variant="primary" show-value></ts-progress>
|
|
72
|
-
</div>
|
|
73
|
-
<div>
|
|
74
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Success</p>
|
|
75
|
-
<ts-progress value="100" variant="success" show-value></ts-progress>
|
|
76
|
-
</div>
|
|
77
|
-
<div>
|
|
78
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Warning</p>
|
|
79
|
-
<ts-progress value="75" variant="warning" show-value></ts-progress>
|
|
80
|
-
</div>
|
|
81
|
-
<div>
|
|
82
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Danger</p>
|
|
83
|
-
<ts-progress value="30" variant="danger" show-value></ts-progress>
|
|
84
|
-
</div>
|
|
85
|
-
<div>
|
|
86
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Info</p>
|
|
87
|
-
<ts-progress value="50" variant="info" show-value></ts-progress>
|
|
88
|
-
</div>
|
|
89
|
-
</div>
|
|
90
|
-
`;
|
|
91
|
-
export const Sizes = () => `
|
|
92
|
-
<div style="display: flex; flex-direction: column; gap: 16px; max-width: 400px;">
|
|
93
|
-
<div>
|
|
94
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Small</p>
|
|
95
|
-
<ts-progress value="60" size="sm"></ts-progress>
|
|
96
|
-
</div>
|
|
97
|
-
<div>
|
|
98
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Medium (default)</p>
|
|
99
|
-
<ts-progress value="60" size="md"></ts-progress>
|
|
100
|
-
</div>
|
|
101
|
-
<div>
|
|
102
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Large</p>
|
|
103
|
-
<ts-progress value="60" size="lg"></ts-progress>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
`;
|
|
107
|
-
export const States = () => `
|
|
108
|
-
<div style="display: flex; flex-direction: column; gap: 16px; max-width: 400px;">
|
|
109
|
-
<div>
|
|
110
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Upload progress 65%</p>
|
|
111
|
-
<ts-progress value="65" label="Upload progress" show-value></ts-progress>
|
|
112
|
-
</div>
|
|
113
|
-
<div>
|
|
114
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Profile completion 40%</p>
|
|
115
|
-
<ts-progress value="40" variant="warning" label="Profile completion" show-value></ts-progress>
|
|
116
|
-
</div>
|
|
117
|
-
<div>
|
|
118
|
-
<p style="margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;">Indeterminate</p>
|
|
119
|
-
<ts-progress indeterminate label="Loading..."></ts-progress>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
`;
|
|
123
|
-
export const Composition = () => `
|
|
124
|
-
<div style="max-width: 400px; font-family: sans-serif;">
|
|
125
|
-
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px;">
|
|
126
|
-
<h4 style="margin: 0 0 4px;">Uploading files...</h4>
|
|
127
|
-
<p style="margin: 0 0 12px; font-size: 14px; color: #666;">3 of 5 files uploaded</p>
|
|
128
|
-
<ts-progress value="60" variant="primary" show-value label="File upload progress"></ts-progress>
|
|
129
|
-
</div>
|
|
130
|
-
</div>
|
|
131
|
-
`;
|
|
132
|
-
//# sourceMappingURL=progress.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.stories.js","sourceRoot":"","sources":["../../../src/components/progress/progress.stories.ts"],"names":[],"mappings":"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","sourcesContent":["// Hand-written stories for ts-progress\n\nexport default {\n title: 'Components/Progress',\n tags: ['autodocs'],\n argTypes: {\n value: {\n control: { type: 'range', min: 0, max: 100, step: 1 },\n description: 'Current progress value (0 to max).',\n },\n max: {\n control: 'number',\n description: 'Maximum value.',\n },\n variant: {\n control: 'select',\n options: ['primary', 'success', 'warning', 'danger', 'info'],\n description: 'The color variant.',\n },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg'],\n description: 'The size of the progress bar.',\n },\n indeterminate: {\n control: 'boolean',\n description: 'Whether the progress is indeterminate.',\n },\n label: {\n control: 'text',\n description: 'Accessible label for the progress bar.',\n },\n showValue: {\n control: 'boolean',\n description: 'Whether to display the percentage value.',\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.max !== undefined) attrs.push(`max=\"${args.max}\"`);\n if (args.variant !== undefined) attrs.push(`variant=\"${args.variant}\"`);\n if (args.size !== undefined) attrs.push(`size=\"${args.size}\"`);\n if (args.indeterminate) attrs.push('indeterminate');\n if (args.label !== undefined) attrs.push(`label=\"${args.label}\"`);\n if (args.showValue) attrs.push('show-value');\n return `<ts-progress ${attrs.join(' ')}></ts-progress>`;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n value: 65,\n max: 100,\n variant: 'primary',\n size: 'md',\n indeterminate: false,\n label: 'Upload progress',\n showValue: true,\n },\n});\n\nexport const Variants = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 16px; max-width: 400px;\">\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Primary</p>\n <ts-progress value=\"65\" variant=\"primary\" show-value></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Success</p>\n <ts-progress value=\"100\" variant=\"success\" show-value></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Warning</p>\n <ts-progress value=\"75\" variant=\"warning\" show-value></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Danger</p>\n <ts-progress value=\"30\" variant=\"danger\" show-value></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Info</p>\n <ts-progress value=\"50\" variant=\"info\" show-value></ts-progress>\n </div>\n </div>\n`;\n\nexport const Sizes = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 16px; max-width: 400px;\">\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Small</p>\n <ts-progress value=\"60\" size=\"sm\"></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Medium (default)</p>\n <ts-progress value=\"60\" size=\"md\"></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Large</p>\n <ts-progress value=\"60\" size=\"lg\"></ts-progress>\n </div>\n </div>\n`;\n\nexport const States = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 16px; max-width: 400px;\">\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Upload progress 65%</p>\n <ts-progress value=\"65\" label=\"Upload progress\" show-value></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Profile completion 40%</p>\n <ts-progress value=\"40\" variant=\"warning\" label=\"Profile completion\" show-value></ts-progress>\n </div>\n <div>\n <p style=\"margin: 0 0 4px; font-family: sans-serif; font-size: 14px; color: #666;\">Indeterminate</p>\n <ts-progress indeterminate label=\"Loading...\"></ts-progress>\n </div>\n </div>\n`;\n\nexport const Composition = (): string => `\n <div style=\"max-width: 400px; font-family: sans-serif;\">\n <div style=\"border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px;\">\n <h4 style=\"margin: 0 0 4px;\">Uploading files...</h4>\n <p style=\"margin: 0 0 12px; font-size: 14px; color: #666;\">3 of 5 files uploaded</p>\n <ts-progress value=\"60\" variant=\"primary\" show-value label=\"File upload progress\"></ts-progress>\n </div>\n </div>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;GAMG;AAMH,MAAM,OAAO,OAAO;IACP,MAAM,CAAe;IAExB,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEzC,oCAAoC;IACI,OAAO,GAAG,KAAK,CAAC;IAExD,qCAAqC;IACZ,QAAQ,GAAG,KAAK,CAAC;IAE1C,4CAA4C;IACpC,KAAK,GAAG,EAAE,CAAC;IAEnB,0CAA0C;IAClC,IAAI,CAAU;IAEtB,oDAAoD;IAC5C,KAAK,CAAU;IAEvB,sBAAsB;IACG,IAAI,GAAuB,IAAI,CAAC;IAEzD,0CAA0C;IACR,QAAQ,CAA6C;IAEvF,yCAAyC;IAEzC,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,WAAW,GAAG,GAAS,EAAE;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC,CAAC;IAEM,aAAa,GAAG,CAAC,KAAoB,EAAQ,EAAE;QACrD,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,4EAA4E;IAC5E,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,UAAU,EAAE,IAAI;gBAChB,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;gBAChC,mBAAmB,EAAE,IAAI,CAAC,OAAO;gBACjC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;aACpC;YAED,4DACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,OAAO,kBACE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa;gBAE7B,4DAAK,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,SAAS;oBACxC,4DAAK,KAAK,EAAC,YAAY,GAAG,CACtB;gBAEN,8DAAO,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,QAAQ,IACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAQ,CAC7B,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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 radio label.\n *\n * @part base - The radio container.\n * @part control - The visual radio circle.\n * @part label - The label wrapper.\n */\n@Component({\n tag: 'ts-radio',\n styleUrl: 'radio.css',\n shadow: true,\n})\nexport class TsRadio {\n @Element() hostEl!: HTMLElement;\n\n private inputId = generateId('ts-radio');\n\n /** Whether the radio is checked. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** Renders the radio as disabled. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The value associated with this radio. */\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 radio size. */\n @Prop({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Emitted when the radio is selected. */\n @Event({ eventName: 'tsChange' }) tsChange!: EventEmitter<TsCheckboxChangeEventDetail>;\n\n /** Programmatically select the radio. */\n @Method()\n async select(): Promise<void> {\n if (!this.disabled && !this.checked) {\n this.checked = true;\n this.tsChange.emit({ checked: this.checked, value: this.value });\n }\n }\n\n private handleClick = (): void => {\n this.select();\n };\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === ' ') {\n event.preventDefault();\n this.select();\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-radio': true,\n [`ts-radio--${this.size}`]: true,\n 'ts-radio--checked': this.checked,\n 'ts-radio--disabled': this.disabled,\n }}\n >\n <div\n class=\"radio__base\"\n part=\"base\"\n role=\"radio\"\n aria-checked={this.checked ? 'true' : 'false'}\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=\"radio__control\" part=\"control\">\n <div class=\"radio__dot\" />\n </div>\n\n <label class=\"radio__label\" part=\"label\" id={`${this.inputId}-label`}>\n {this.label ? this.label : <slot />}\n </label>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-radio
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Radio',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
checked: { control: 'boolean', description: 'Whether the radio is checked.' },
|
|
7
|
-
disabled: { control: 'boolean', description: 'Renders the radio as disabled.' },
|
|
8
|
-
size: {
|
|
9
|
-
control: 'select',
|
|
10
|
-
options: ['sm', 'md', 'lg'],
|
|
11
|
-
description: 'The radio size.',
|
|
12
|
-
},
|
|
13
|
-
label: { control: 'text', description: 'Label text. If omitted, use the default slot.' },
|
|
14
|
-
value: { control: 'text', description: 'The value associated with this radio.' },
|
|
15
|
-
name: { control: 'text', description: 'Name attribute for form submission.' },
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
const Template = (args) => {
|
|
19
|
-
const attrs = [];
|
|
20
|
-
if (args.checked)
|
|
21
|
-
attrs.push('checked');
|
|
22
|
-
if (args.disabled)
|
|
23
|
-
attrs.push('disabled');
|
|
24
|
-
if (args.size !== undefined && args.size !== null)
|
|
25
|
-
attrs.push(`size="${args.size}"`);
|
|
26
|
-
if (args.label !== undefined && args.label !== null)
|
|
27
|
-
attrs.push(`label="${args.label}"`);
|
|
28
|
-
if (args.value !== undefined && args.value !== null)
|
|
29
|
-
attrs.push(`value="${args.value}"`);
|
|
30
|
-
if (args.name !== undefined && args.name !== null)
|
|
31
|
-
attrs.push(`name="${args.name}"`);
|
|
32
|
-
return `<ts-radio ${attrs.join(' ')}></ts-radio>`;
|
|
33
|
-
};
|
|
34
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
35
|
-
args: {
|
|
36
|
-
checked: false,
|
|
37
|
-
disabled: false,
|
|
38
|
-
size: 'md',
|
|
39
|
-
label: 'Standard shipping',
|
|
40
|
-
value: 'standard',
|
|
41
|
-
name: 'shipping',
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
export const Sizes = () => `
|
|
45
|
-
<ts-stack gap="2">
|
|
46
|
-
<ts-radio size="sm" label="Small radio" name="size-demo" value="sm"></ts-radio>
|
|
47
|
-
<ts-radio size="md" label="Medium radio" name="size-demo" value="md"></ts-radio>
|
|
48
|
-
<ts-radio size="lg" label="Large radio" name="size-demo" value="lg"></ts-radio>
|
|
49
|
-
</ts-stack>
|
|
50
|
-
`;
|
|
51
|
-
export const States = () => `
|
|
52
|
-
<ts-stack gap="2">
|
|
53
|
-
<ts-radio label="Unchecked" name="states-demo" value="unchecked"></ts-radio>
|
|
54
|
-
<ts-radio checked label="Checked" name="states-checked" value="checked"></ts-radio>
|
|
55
|
-
<ts-radio disabled label="Disabled" name="states-disabled" value="disabled"></ts-radio>
|
|
56
|
-
<ts-radio disabled checked label="Disabled checked" name="states-disabled-checked" value="disabled-checked"></ts-radio>
|
|
57
|
-
</ts-stack>
|
|
58
|
-
`;
|
|
59
|
-
export const ShippingOptions = () => `
|
|
60
|
-
<ts-stack gap="2" style="max-width: 400px;">
|
|
61
|
-
<h3 style="margin: 0; font-family: sans-serif;">Select Shipping Method</h3>
|
|
62
|
-
<ts-radio name="shipping" value="standard" checked label="Standard shipping (5-7 business days)"></ts-radio>
|
|
63
|
-
<ts-radio name="shipping" value="express" label="Express shipping (2-3 business days)"></ts-radio>
|
|
64
|
-
<ts-radio name="shipping" value="overnight" label="Overnight shipping (next business day)"></ts-radio>
|
|
65
|
-
<ts-radio name="shipping" value="pickup" disabled label="In-store pickup (unavailable in your area)"></ts-radio>
|
|
66
|
-
</ts-stack>
|
|
67
|
-
`;
|
|
68
|
-
export const PaymentMethod = () => `
|
|
69
|
-
<ts-stack gap="2" style="max-width: 400px;">
|
|
70
|
-
<h3 style="margin: 0; font-family: sans-serif;">Payment Method</h3>
|
|
71
|
-
<ts-radio name="payment" value="credit" checked label="Credit card"></ts-radio>
|
|
72
|
-
<ts-radio name="payment" value="debit" label="Debit card"></ts-radio>
|
|
73
|
-
<ts-radio name="payment" value="paypal" label="PayPal"></ts-radio>
|
|
74
|
-
<ts-radio name="payment" value="bank" label="Bank transfer"></ts-radio>
|
|
75
|
-
</ts-stack>
|
|
76
|
-
`;
|
|
77
|
-
//# sourceMappingURL=radio.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radio.stories.js","sourceRoot":"","sources":["../../../src/components/radio/radio.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,+BAA+B,EAAE;QAC7E,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gCAAgC,EAAE;QAC/E,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC3B,WAAW,EAAE,iBAAiB;SAC/B;QACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,+CAA+C,EAAE;QACxF,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,uCAAuC,EAAE;QAChF,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,qCAAqC,EAAE;KAC9E;CACF,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,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACzF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACzF,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,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;AACpD,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,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC;;;;;;CAMlC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC;;;;;;;CAOnC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC;;;;;;;;CAQ5C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC;;;;;;;;CAQ1C,CAAC","sourcesContent":["// Hand-written stories for ts-radio\n\nexport default {\n title: 'Components/Radio',\n tags: ['autodocs'],\n argTypes: {\n checked: { control: 'boolean', description: 'Whether the radio is checked.' },\n disabled: { control: 'boolean', description: 'Renders the radio as disabled.' },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg'],\n description: 'The radio size.',\n },\n label: { control: 'text', description: 'Label text. If omitted, use the default slot.' },\n value: { control: 'text', description: 'The value associated with this radio.' },\n name: { control: 'text', description: 'Name attribute for form submission.' },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.checked) attrs.push('checked');\n if (args.disabled) attrs.push('disabled');\n if (args.size !== undefined && args.size !== null) attrs.push(`size=\"${args.size}\"`);\n if (args.label !== undefined && args.label !== null) attrs.push(`label=\"${args.label}\"`);\n if (args.value !== undefined && args.value !== null) attrs.push(`value=\"${args.value}\"`);\n if (args.name !== undefined && args.name !== null) attrs.push(`name=\"${args.name}\"`);\n return `<ts-radio ${attrs.join(' ')}></ts-radio>`;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n checked: false,\n disabled: false,\n size: 'md',\n label: 'Standard shipping',\n value: 'standard',\n name: 'shipping',\n },\n});\n\nexport const Sizes = (): string => `\n <ts-stack gap=\"2\">\n <ts-radio size=\"sm\" label=\"Small radio\" name=\"size-demo\" value=\"sm\"></ts-radio>\n <ts-radio size=\"md\" label=\"Medium radio\" name=\"size-demo\" value=\"md\"></ts-radio>\n <ts-radio size=\"lg\" label=\"Large radio\" name=\"size-demo\" value=\"lg\"></ts-radio>\n </ts-stack>\n`;\n\nexport const States = (): string => `\n <ts-stack gap=\"2\">\n <ts-radio label=\"Unchecked\" name=\"states-demo\" value=\"unchecked\"></ts-radio>\n <ts-radio checked label=\"Checked\" name=\"states-checked\" value=\"checked\"></ts-radio>\n <ts-radio disabled label=\"Disabled\" name=\"states-disabled\" value=\"disabled\"></ts-radio>\n <ts-radio disabled checked label=\"Disabled checked\" name=\"states-disabled-checked\" value=\"disabled-checked\"></ts-radio>\n </ts-stack>\n`;\n\nexport const ShippingOptions = (): string => `\n <ts-stack gap=\"2\" style=\"max-width: 400px;\">\n <h3 style=\"margin: 0; font-family: sans-serif;\">Select Shipping Method</h3>\n <ts-radio name=\"shipping\" value=\"standard\" checked label=\"Standard shipping (5-7 business days)\"></ts-radio>\n <ts-radio name=\"shipping\" value=\"express\" label=\"Express shipping (2-3 business days)\"></ts-radio>\n <ts-radio name=\"shipping\" value=\"overnight\" label=\"Overnight shipping (next business day)\"></ts-radio>\n <ts-radio name=\"shipping\" value=\"pickup\" disabled label=\"In-store pickup (unavailable in your area)\"></ts-radio>\n </ts-stack>\n`;\n\nexport const PaymentMethod = (): string => `\n <ts-stack gap=\"2\" style=\"max-width: 400px;\">\n <h3 style=\"margin: 0; font-family: sans-serif;\">Payment Method</h3>\n <ts-radio name=\"payment\" value=\"credit\" checked label=\"Credit card\"></ts-radio>\n <ts-radio name=\"payment\" value=\"debit\" label=\"Debit card\"></ts-radio>\n <ts-radio name=\"payment\" value=\"paypal\" label=\"PayPal\"></ts-radio>\n <ts-radio name=\"payment\" value=\"bank\" label=\"Bank transfer\"></ts-radio>\n </ts-stack>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/components/row/row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AAMH,MAAM,OAAO,KAAK;IAChB,8DAA8D;IACrC,GAAG,GAAW,GAAG,CAAC;IAE3C,qCAAqC;IACZ,KAAK,GAAwD,QAAQ,CAAC;IAE/F,oCAAoC;IACX,OAAO,GAAiE,OAAO,CAAC;IAEzG,kDAAkD;IACzB,IAAI,GAAY,IAAI,CAAC;IAE9C,iCAAiC;IACR,OAAO,GAAY,KAAK,CAAC;IAElD,qDAAqD;IACL,OAAO,GAAiC,OAAO,CAAC;IAEhG,4EAA4E;IAC5E,MAAM;QACJ,MAAM,QAAQ,GAA2B;YACvC,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,MAAM,UAAU,GAA2B;YACzC,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,GAAG,EAAE,oBAAoB,IAAI,CAAC,GAAG,GAAG;gBACpC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ;gBAC5C,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,YAAY;gBACxD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;aACxC;YAED,8DAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * @slot - Default slot for row content.\n */\n@Component({\n tag: 'ts-row',\n styleUrl: 'row.css',\n shadow: true,\n})\nexport class TsRow {\n /** Spacing token number controlling the gap between items. */\n @Prop({ reflect: true }) gap: string = '2';\n\n /** Cross-axis alignment of items. */\n @Prop({ reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'center';\n\n /** Main-axis alignment of items. */\n @Prop({ reflect: true }) justify: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly' = 'start';\n\n /** Whether items should wrap to the next line. */\n @Prop({ reflect: true }) wrap: boolean = true;\n\n /** Reverse the row direction. */\n @Prop({ reflect: true }) reverse: boolean = false;\n\n /** Breakpoint at which the row stacks vertically. */\n @Prop({ reflect: true, attribute: 'stack-at' }) stackAt: 'sm' | 'md' | 'lg' | 'never' = 'never';\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const alignMap: Record<string, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<string, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n return (\n <Host\n style={{\n gap: `var(--ts-spacing-${this.gap})`,\n alignItems: alignMap[this.align] || 'center',\n justifyContent: justifyMap[this.justify] || 'flex-start',\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n }}\n >\n <slot />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-row
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Layout/Row',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
gap: {
|
|
7
|
-
control: 'select',
|
|
8
|
-
options: ['0', '1', '2', '3', '4', '5', '6', '8', '10', '12', '16'],
|
|
9
|
-
description: 'Spacing token number controlling the gap between items.',
|
|
10
|
-
},
|
|
11
|
-
align: {
|
|
12
|
-
control: 'select',
|
|
13
|
-
options: ['start', 'center', 'end', 'stretch', 'baseline'],
|
|
14
|
-
description: 'Cross-axis alignment of items.',
|
|
15
|
-
},
|
|
16
|
-
justify: {
|
|
17
|
-
control: 'select',
|
|
18
|
-
options: ['start', 'center', 'end', 'between', 'around', 'evenly'],
|
|
19
|
-
description: 'Main-axis alignment of items.',
|
|
20
|
-
},
|
|
21
|
-
wrap: {
|
|
22
|
-
control: 'boolean',
|
|
23
|
-
description: 'Whether items should wrap to the next line.',
|
|
24
|
-
},
|
|
25
|
-
reverse: {
|
|
26
|
-
control: 'boolean',
|
|
27
|
-
description: 'Reverse the row direction.',
|
|
28
|
-
},
|
|
29
|
-
stackAt: {
|
|
30
|
-
control: 'select',
|
|
31
|
-
options: ['sm', 'md', 'lg', 'never'],
|
|
32
|
-
description: 'Breakpoint at which the row stacks vertically.',
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
const Template = (args) => {
|
|
37
|
-
const attrs = [];
|
|
38
|
-
if (args.gap !== undefined)
|
|
39
|
-
attrs.push(`gap="${args.gap}"`);
|
|
40
|
-
if (args.align !== undefined)
|
|
41
|
-
attrs.push(`align="${args.align}"`);
|
|
42
|
-
if (args.justify !== undefined)
|
|
43
|
-
attrs.push(`justify="${args.justify}"`);
|
|
44
|
-
if (args.wrap === false)
|
|
45
|
-
attrs.push(`wrap="false"`);
|
|
46
|
-
if (args.reverse)
|
|
47
|
-
attrs.push(`reverse`);
|
|
48
|
-
if (args.stackAt !== undefined && args.stackAt !== 'never')
|
|
49
|
-
attrs.push(`stack-at="${args.stackAt}"`);
|
|
50
|
-
return `
|
|
51
|
-
<ts-row ${attrs.join(' ')}>
|
|
52
|
-
<ts-button variant="primary">Save</ts-button>
|
|
53
|
-
<ts-button variant="neutral" appearance="outline">Cancel</ts-button>
|
|
54
|
-
<ts-button variant="danger" appearance="ghost">Delete</ts-button>
|
|
55
|
-
</ts-row>
|
|
56
|
-
`;
|
|
57
|
-
};
|
|
58
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
59
|
-
args: {
|
|
60
|
-
gap: '2',
|
|
61
|
-
align: 'center',
|
|
62
|
-
justify: 'start',
|
|
63
|
-
wrap: true,
|
|
64
|
-
reverse: false,
|
|
65
|
-
stackAt: 'never',
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
export const Justify = () => `
|
|
69
|
-
<div style="display: flex; flex-direction: column; gap: 24px; font-family: sans-serif;">
|
|
70
|
-
<div>
|
|
71
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">justify="start"</p>
|
|
72
|
-
<ts-row justify="start" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px;">
|
|
73
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">A</div>
|
|
74
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">B</div>
|
|
75
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">C</div>
|
|
76
|
-
</ts-row>
|
|
77
|
-
</div>
|
|
78
|
-
<div>
|
|
79
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">justify="center"</p>
|
|
80
|
-
<ts-row justify="center" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px;">
|
|
81
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">A</div>
|
|
82
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">B</div>
|
|
83
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">C</div>
|
|
84
|
-
</ts-row>
|
|
85
|
-
</div>
|
|
86
|
-
<div>
|
|
87
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">justify="end"</p>
|
|
88
|
-
<ts-row justify="end" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px;">
|
|
89
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">A</div>
|
|
90
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">B</div>
|
|
91
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">C</div>
|
|
92
|
-
</ts-row>
|
|
93
|
-
</div>
|
|
94
|
-
<div>
|
|
95
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">justify="between"</p>
|
|
96
|
-
<ts-row justify="between" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px;">
|
|
97
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">A</div>
|
|
98
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">B</div>
|
|
99
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">C</div>
|
|
100
|
-
</ts-row>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
`;
|
|
104
|
-
export const Alignment = () => `
|
|
105
|
-
<div style="display: flex; flex-direction: column; gap: 24px; font-family: sans-serif;">
|
|
106
|
-
<div>
|
|
107
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">align="start"</p>
|
|
108
|
-
<ts-row align="start" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px; min-height: 80px;">
|
|
109
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Short</div>
|
|
110
|
-
<div style="padding: 16px; background: #dbeafe; border-radius: 4px;">Tall item</div>
|
|
111
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Short</div>
|
|
112
|
-
</ts-row>
|
|
113
|
-
</div>
|
|
114
|
-
<div>
|
|
115
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">align="center"</p>
|
|
116
|
-
<ts-row align="center" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px; min-height: 80px;">
|
|
117
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Short</div>
|
|
118
|
-
<div style="padding: 16px; background: #dbeafe; border-radius: 4px;">Tall item</div>
|
|
119
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Short</div>
|
|
120
|
-
</ts-row>
|
|
121
|
-
</div>
|
|
122
|
-
<div>
|
|
123
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">align="stretch"</p>
|
|
124
|
-
<ts-row align="stretch" gap="2" style="border: 1px dashed #cbd5e1; padding: 8px; min-height: 80px;">
|
|
125
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Short</div>
|
|
126
|
-
<div style="padding: 16px; background: #dbeafe; border-radius: 4px;">Tall item</div>
|
|
127
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Short</div>
|
|
128
|
-
</ts-row>
|
|
129
|
-
</div>
|
|
130
|
-
</div>
|
|
131
|
-
`;
|
|
132
|
-
export const Wrap = () => `
|
|
133
|
-
<div style="font-family: sans-serif;">
|
|
134
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">Resize browser to see wrapping behavior</p>
|
|
135
|
-
<ts-row gap="2" style="border: 1px dashed #cbd5e1; padding: 8px; max-width: 300px;">
|
|
136
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Item 1</div>
|
|
137
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Item 2</div>
|
|
138
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Item 3</div>
|
|
139
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Item 4</div>
|
|
140
|
-
<div style="padding: 8px 16px; background: #dbeafe; border-radius: 4px;">Item 5</div>
|
|
141
|
-
</ts-row>
|
|
142
|
-
</div>
|
|
143
|
-
`;
|
|
144
|
-
export const StackAt = () => `
|
|
145
|
-
<div style="font-family: sans-serif;">
|
|
146
|
-
<p style="margin: 0 0 8px; font-size: 14px; color: #666;">Resize the browser to see stacking at md breakpoint (767px)</p>
|
|
147
|
-
<ts-row stack-at="md" gap="3" style="border: 1px dashed #cbd5e1; padding: 8px;">
|
|
148
|
-
<div style="padding: 12px 24px; background: #dbeafe; border-radius: 4px;">Navigation</div>
|
|
149
|
-
<div style="padding: 12px 24px; background: #dbeafe; border-radius: 4px;">Content</div>
|
|
150
|
-
<div style="padding: 12px 24px; background: #dbeafe; border-radius: 4px;">Sidebar</div>
|
|
151
|
-
</ts-row>
|
|
152
|
-
</div>
|
|
153
|
-
`;
|
|
154
|
-
export const Composition = () => `
|
|
155
|
-
<div style="font-family: sans-serif;">
|
|
156
|
-
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px;">
|
|
157
|
-
<ts-row justify="between" align="center">
|
|
158
|
-
<div style="font-weight: 600; font-size: 18px;">My App</div>
|
|
159
|
-
<ts-row gap="3">
|
|
160
|
-
<a href="#" style="text-decoration: none; color: #475569;">Home</a>
|
|
161
|
-
<a href="#" style="text-decoration: none; color: #475569;">About</a>
|
|
162
|
-
<a href="#" style="text-decoration: none; color: #475569;">Contact</a>
|
|
163
|
-
</ts-row>
|
|
164
|
-
<ts-row gap="2">
|
|
165
|
-
<ts-button variant="neutral" appearance="ghost" size="sm">Sign in</ts-button>
|
|
166
|
-
<ts-button variant="primary" size="sm">Sign up</ts-button>
|
|
167
|
-
</ts-row>
|
|
168
|
-
</ts-row>
|
|
169
|
-
</div>
|
|
170
|
-
</div>
|
|
171
|
-
`;
|
|
172
|
-
//# sourceMappingURL=row.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"row.stories.js","sourceRoot":"","sources":["../../../src/components/row/row.stories.ts"],"names":[],"mappings":"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","sourcesContent":["// Hand-written stories for ts-row\n\nexport default {\n title: 'Layout/Row',\n tags: ['autodocs'],\n argTypes: {\n gap: {\n control: 'select',\n options: ['0', '1', '2', '3', '4', '5', '6', '8', '10', '12', '16'],\n description: 'Spacing token number controlling the gap between items.',\n },\n align: {\n control: 'select',\n options: ['start', 'center', 'end', 'stretch', 'baseline'],\n description: 'Cross-axis alignment of items.',\n },\n justify: {\n control: 'select',\n options: ['start', 'center', 'end', 'between', 'around', 'evenly'],\n description: 'Main-axis alignment of items.',\n },\n wrap: {\n control: 'boolean',\n description: 'Whether items should wrap to the next line.',\n },\n reverse: {\n control: 'boolean',\n description: 'Reverse the row direction.',\n },\n stackAt: {\n control: 'select',\n options: ['sm', 'md', 'lg', 'never'],\n description: 'Breakpoint at which the row stacks vertically.',\n },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.gap !== undefined) attrs.push(`gap=\"${args.gap}\"`);\n if (args.align !== undefined) attrs.push(`align=\"${args.align}\"`);\n if (args.justify !== undefined) attrs.push(`justify=\"${args.justify}\"`);\n if (args.wrap === false) attrs.push(`wrap=\"false\"`);\n if (args.reverse) attrs.push(`reverse`);\n if (args.stackAt !== undefined && args.stackAt !== 'never') attrs.push(`stack-at=\"${args.stackAt}\"`);\n return `\n <ts-row ${attrs.join(' ')}>\n <ts-button variant=\"primary\">Save</ts-button>\n <ts-button variant=\"neutral\" appearance=\"outline\">Cancel</ts-button>\n <ts-button variant=\"danger\" appearance=\"ghost\">Delete</ts-button>\n </ts-row>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n gap: '2',\n align: 'center',\n justify: 'start',\n wrap: true,\n reverse: false,\n stackAt: 'never',\n },\n});\n\nexport const Justify = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 24px; font-family: sans-serif;\">\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">justify=\"start\"</p>\n <ts-row justify=\"start\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">A</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">B</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">C</div>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">justify=\"center\"</p>\n <ts-row justify=\"center\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">A</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">B</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">C</div>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">justify=\"end\"</p>\n <ts-row justify=\"end\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">A</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">B</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">C</div>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">justify=\"between\"</p>\n <ts-row justify=\"between\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">A</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">B</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">C</div>\n </ts-row>\n </div>\n </div>\n`;\n\nexport const Alignment = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 24px; font-family: sans-serif;\">\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">align=\"start\"</p>\n <ts-row align=\"start\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px; min-height: 80px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Short</div>\n <div style=\"padding: 16px; background: #dbeafe; border-radius: 4px;\">Tall item</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Short</div>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">align=\"center\"</p>\n <ts-row align=\"center\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px; min-height: 80px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Short</div>\n <div style=\"padding: 16px; background: #dbeafe; border-radius: 4px;\">Tall item</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Short</div>\n </ts-row>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">align=\"stretch\"</p>\n <ts-row align=\"stretch\" gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px; min-height: 80px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Short</div>\n <div style=\"padding: 16px; background: #dbeafe; border-radius: 4px;\">Tall item</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Short</div>\n </ts-row>\n </div>\n </div>\n`;\n\nexport const Wrap = (): string => `\n <div style=\"font-family: sans-serif;\">\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">Resize browser to see wrapping behavior</p>\n <ts-row gap=\"2\" style=\"border: 1px dashed #cbd5e1; padding: 8px; max-width: 300px;\">\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Item 1</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Item 2</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Item 3</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Item 4</div>\n <div style=\"padding: 8px 16px; background: #dbeafe; border-radius: 4px;\">Item 5</div>\n </ts-row>\n </div>\n`;\n\nexport const StackAt = (): string => `\n <div style=\"font-family: sans-serif;\">\n <p style=\"margin: 0 0 8px; font-size: 14px; color: #666;\">Resize the browser to see stacking at md breakpoint (767px)</p>\n <ts-row stack-at=\"md\" gap=\"3\" style=\"border: 1px dashed #cbd5e1; padding: 8px;\">\n <div style=\"padding: 12px 24px; background: #dbeafe; border-radius: 4px;\">Navigation</div>\n <div style=\"padding: 12px 24px; background: #dbeafe; border-radius: 4px;\">Content</div>\n <div style=\"padding: 12px 24px; background: #dbeafe; border-radius: 4px;\">Sidebar</div>\n </ts-row>\n </div>\n`;\n\nexport const Composition = (): string => `\n <div style=\"font-family: sans-serif;\">\n <div style=\"border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px;\">\n <ts-row justify=\"between\" align=\"center\">\n <div style=\"font-weight: 600; font-size: 18px;\">My App</div>\n <ts-row gap=\"3\">\n <a href=\"#\" style=\"text-decoration: none; color: #475569;\">Home</a>\n <a href=\"#\" style=\"text-decoration: none; color: #475569;\">About</a>\n <a href=\"#\" style=\"text-decoration: none; color: #475569;\">Contact</a>\n </ts-row>\n <ts-row gap=\"2\">\n <ts-button variant=\"neutral\" appearance=\"ghost\" size=\"sm\">Sign in</ts-button>\n <ts-button variant=\"primary\" size=\"sm\">Sign up</ts-button>\n </ts-row>\n </ts-row>\n </div>\n </div>\n`;\n"]}
|