@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,147 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-dialog
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Dialog',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
open: { control: 'boolean', description: 'Whether the dialog is open.' },
|
|
7
|
-
heading: { control: 'text', description: 'The dialog heading text.' },
|
|
8
|
-
size: {
|
|
9
|
-
control: 'select',
|
|
10
|
-
options: ['sm', 'md', 'lg'],
|
|
11
|
-
description: "The dialog's width size preset.",
|
|
12
|
-
},
|
|
13
|
-
dismissible: { control: 'boolean', description: 'Whether the dialog can be dismissed via close button, Escape, or overlay click.' },
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
const Template = (args) => {
|
|
17
|
-
const attrs = [];
|
|
18
|
-
if (args.open)
|
|
19
|
-
attrs.push('open');
|
|
20
|
-
if (args.heading !== undefined && args.heading !== null)
|
|
21
|
-
attrs.push(`heading="${args.heading}"`);
|
|
22
|
-
if (args.size !== undefined && args.size !== null)
|
|
23
|
-
attrs.push(`size="${args.size}"`);
|
|
24
|
-
if (args.dismissible === false)
|
|
25
|
-
attrs.push('dismissible="false"');
|
|
26
|
-
return `
|
|
27
|
-
<ts-button onclick="this.nextElementSibling.show()">Open Dialog</ts-button>
|
|
28
|
-
<ts-dialog ${attrs.join(' ')}>
|
|
29
|
-
<p style="margin: 0; font-family: sans-serif;">This is the dialog body content. You can place any content here.</p>
|
|
30
|
-
<div slot="footer">
|
|
31
|
-
<ts-row gap="2" justify="end">
|
|
32
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Cancel</ts-button>
|
|
33
|
-
<ts-button variant="primary" onclick="this.closest('ts-dialog').close()">Confirm</ts-button>
|
|
34
|
-
</ts-row>
|
|
35
|
-
</div>
|
|
36
|
-
</ts-dialog>
|
|
37
|
-
`;
|
|
38
|
-
};
|
|
39
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
40
|
-
args: {
|
|
41
|
-
open: false,
|
|
42
|
-
heading: 'Dialog Title',
|
|
43
|
-
size: 'sm',
|
|
44
|
-
dismissible: true,
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
export const Sizes = () => `
|
|
48
|
-
<ts-row gap="2">
|
|
49
|
-
<div>
|
|
50
|
-
<ts-button onclick="this.nextElementSibling.show()">Small Dialog</ts-button>
|
|
51
|
-
<ts-dialog heading="Small Dialog" size="sm">
|
|
52
|
-
<p style="margin: 0; font-family: sans-serif;">This is a small dialog, suitable for simple confirmations.</p>
|
|
53
|
-
<div slot="footer">
|
|
54
|
-
<ts-row gap="2" justify="end">
|
|
55
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Close</ts-button>
|
|
56
|
-
</ts-row>
|
|
57
|
-
</div>
|
|
58
|
-
</ts-dialog>
|
|
59
|
-
</div>
|
|
60
|
-
<div>
|
|
61
|
-
<ts-button onclick="this.nextElementSibling.show()">Medium Dialog</ts-button>
|
|
62
|
-
<ts-dialog heading="Medium Dialog" size="md">
|
|
63
|
-
<p style="margin: 0; font-family: sans-serif;">This is a medium dialog with more room for content. It works well for forms and moderate amounts of information.</p>
|
|
64
|
-
<div slot="footer">
|
|
65
|
-
<ts-row gap="2" justify="end">
|
|
66
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Close</ts-button>
|
|
67
|
-
</ts-row>
|
|
68
|
-
</div>
|
|
69
|
-
</ts-dialog>
|
|
70
|
-
</div>
|
|
71
|
-
<div>
|
|
72
|
-
<ts-button onclick="this.nextElementSibling.show()">Large Dialog</ts-button>
|
|
73
|
-
<ts-dialog heading="Large Dialog" size="lg">
|
|
74
|
-
<p style="margin: 0; font-family: sans-serif;">This is a large dialog, ideal for complex content like data tables, multi-step forms, or detailed previews.</p>
|
|
75
|
-
<div slot="footer">
|
|
76
|
-
<ts-row gap="2" justify="end">
|
|
77
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Close</ts-button>
|
|
78
|
-
</ts-row>
|
|
79
|
-
</div>
|
|
80
|
-
</ts-dialog>
|
|
81
|
-
</div>
|
|
82
|
-
</ts-row>
|
|
83
|
-
`;
|
|
84
|
-
export const DeleteConfirmation = () => `
|
|
85
|
-
<ts-button variant="danger" onclick="this.nextElementSibling.show()">Delete Item</ts-button>
|
|
86
|
-
<ts-dialog heading="Delete this item?" size="sm">
|
|
87
|
-
<p style="margin: 0; font-family: sans-serif; color: #555;">
|
|
88
|
-
Are you sure you want to delete this item? This action cannot be undone and all associated data will be permanently removed.
|
|
89
|
-
</p>
|
|
90
|
-
<div slot="footer">
|
|
91
|
-
<ts-row gap="2" justify="end">
|
|
92
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Cancel</ts-button>
|
|
93
|
-
<ts-button variant="danger" onclick="this.closest('ts-dialog').close()">Delete</ts-button>
|
|
94
|
-
</ts-row>
|
|
95
|
-
</div>
|
|
96
|
-
</ts-dialog>
|
|
97
|
-
`;
|
|
98
|
-
export const UnsavedChanges = () => `
|
|
99
|
-
<ts-button onclick="this.nextElementSibling.show()">Leave Page</ts-button>
|
|
100
|
-
<ts-dialog heading="Unsaved changes" size="sm">
|
|
101
|
-
<p style="margin: 0; font-family: sans-serif; color: #555;">
|
|
102
|
-
You have unsaved changes. If you leave this page, your changes will be lost. Would you like to save before leaving?
|
|
103
|
-
</p>
|
|
104
|
-
<div slot="footer">
|
|
105
|
-
<ts-row gap="2" justify="end">
|
|
106
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Discard</ts-button>
|
|
107
|
-
<ts-button variant="primary" onclick="this.closest('ts-dialog').close()">Save Changes</ts-button>
|
|
108
|
-
</ts-row>
|
|
109
|
-
</div>
|
|
110
|
-
</ts-dialog>
|
|
111
|
-
`;
|
|
112
|
-
export const NonDismissible = () => `
|
|
113
|
-
<ts-button onclick="this.nextElementSibling.show()">Open Non-Dismissible</ts-button>
|
|
114
|
-
<ts-dialog heading="Terms of Service" size="md" dismissible="false">
|
|
115
|
-
<div style="font-family: sans-serif; color: #555;">
|
|
116
|
-
<p style="margin: 0 0 12px;">Please read and accept the terms of service to continue using this application.</p>
|
|
117
|
-
<div style="padding: 12px; background: #f9fafb; border-radius: 6px; max-height: 150px; overflow-y: auto; font-size: 14px;">
|
|
118
|
-
<p style="margin: 0 0 8px;">1. You agree to use this software responsibly.</p>
|
|
119
|
-
<p style="margin: 0 0 8px;">2. You will not share your credentials with others.</p>
|
|
120
|
-
<p style="margin: 0 0 8px;">3. Data uploaded remains your intellectual property.</p>
|
|
121
|
-
<p style="margin: 0;">4. We reserve the right to update these terms.</p>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
<div slot="footer">
|
|
125
|
-
<ts-row gap="2" justify="end">
|
|
126
|
-
<ts-button variant="primary" onclick="this.closest('ts-dialog').close()">I Accept</ts-button>
|
|
127
|
-
</ts-row>
|
|
128
|
-
</div>
|
|
129
|
-
</ts-dialog>
|
|
130
|
-
`;
|
|
131
|
-
export const FormDialog = () => `
|
|
132
|
-
<ts-button onclick="this.nextElementSibling.show()">Edit Profile</ts-button>
|
|
133
|
-
<ts-dialog heading="Edit Profile" size="md">
|
|
134
|
-
<ts-stack gap="3">
|
|
135
|
-
<ts-input label="Full Name" placeholder="Enter your name" value="James Kennedy"></ts-input>
|
|
136
|
-
<ts-input label="Email" placeholder="Enter your email" value="james@example.com"></ts-input>
|
|
137
|
-
<ts-textarea label="Bio" placeholder="Tell us about yourself..." rows="3"></ts-textarea>
|
|
138
|
-
</ts-stack>
|
|
139
|
-
<div slot="footer">
|
|
140
|
-
<ts-row gap="2" justify="end">
|
|
141
|
-
<ts-button appearance="outline" onclick="this.closest('ts-dialog').close()">Cancel</ts-button>
|
|
142
|
-
<ts-button variant="primary" onclick="this.closest('ts-dialog').close()">Save</ts-button>
|
|
143
|
-
</ts-row>
|
|
144
|
-
</div>
|
|
145
|
-
</ts-dialog>
|
|
146
|
-
`;
|
|
147
|
-
//# sourceMappingURL=dialog.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.stories.js","sourceRoot":"","sources":["../../../src/components/dialog/dialog.stories.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,eAAe;IACb,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE;QACxE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAE;QACrE,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC3B,WAAW,EAAE,iCAAiC;SAC/C;QACD,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iFAAiF,EAAE;KACpI;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,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACjG,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACrF,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClE,OAAO;;iBAEQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;GAS7B,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,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,IAAI;KAClB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoClC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;CAa/C,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;CAa3C,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;CAkB3C,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;CAevC,CAAC","sourcesContent":["// Hand-written stories for ts-dialog\n\nexport default {\n title: 'Components/Dialog',\n tags: ['autodocs'],\n argTypes: {\n open: { control: 'boolean', description: 'Whether the dialog is open.' },\n heading: { control: 'text', description: 'The dialog heading text.' },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg'],\n description: \"The dialog's width size preset.\",\n },\n dismissible: { control: 'boolean', description: 'Whether the dialog can be dismissed via close button, Escape, or overlay click.' },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.open) attrs.push('open');\n if (args.heading !== undefined && args.heading !== null) attrs.push(`heading=\"${args.heading}\"`);\n if (args.size !== undefined && args.size !== null) attrs.push(`size=\"${args.size}\"`);\n if (args.dismissible === false) attrs.push('dismissible=\"false\"');\n return `\n <ts-button onclick=\"this.nextElementSibling.show()\">Open Dialog</ts-button>\n <ts-dialog ${attrs.join(' ')}>\n <p style=\"margin: 0; font-family: sans-serif;\">This is the dialog body content. You can place any content here.</p>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Cancel</ts-button>\n <ts-button variant=\"primary\" onclick=\"this.closest('ts-dialog').close()\">Confirm</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n open: false,\n heading: 'Dialog Title',\n size: 'sm',\n dismissible: true,\n },\n});\n\nexport const Sizes = (): string => `\n <ts-row gap=\"2\">\n <div>\n <ts-button onclick=\"this.nextElementSibling.show()\">Small Dialog</ts-button>\n <ts-dialog heading=\"Small Dialog\" size=\"sm\">\n <p style=\"margin: 0; font-family: sans-serif;\">This is a small dialog, suitable for simple confirmations.</p>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Close</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n </div>\n <div>\n <ts-button onclick=\"this.nextElementSibling.show()\">Medium Dialog</ts-button>\n <ts-dialog heading=\"Medium Dialog\" size=\"md\">\n <p style=\"margin: 0; font-family: sans-serif;\">This is a medium dialog with more room for content. It works well for forms and moderate amounts of information.</p>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Close</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n </div>\n <div>\n <ts-button onclick=\"this.nextElementSibling.show()\">Large Dialog</ts-button>\n <ts-dialog heading=\"Large Dialog\" size=\"lg\">\n <p style=\"margin: 0; font-family: sans-serif;\">This is a large dialog, ideal for complex content like data tables, multi-step forms, or detailed previews.</p>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Close</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n </div>\n </ts-row>\n`;\n\nexport const DeleteConfirmation = (): string => `\n <ts-button variant=\"danger\" onclick=\"this.nextElementSibling.show()\">Delete Item</ts-button>\n <ts-dialog heading=\"Delete this item?\" size=\"sm\">\n <p style=\"margin: 0; font-family: sans-serif; color: #555;\">\n Are you sure you want to delete this item? This action cannot be undone and all associated data will be permanently removed.\n </p>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Cancel</ts-button>\n <ts-button variant=\"danger\" onclick=\"this.closest('ts-dialog').close()\">Delete</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n`;\n\nexport const UnsavedChanges = (): string => `\n <ts-button onclick=\"this.nextElementSibling.show()\">Leave Page</ts-button>\n <ts-dialog heading=\"Unsaved changes\" size=\"sm\">\n <p style=\"margin: 0; font-family: sans-serif; color: #555;\">\n You have unsaved changes. If you leave this page, your changes will be lost. Would you like to save before leaving?\n </p>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Discard</ts-button>\n <ts-button variant=\"primary\" onclick=\"this.closest('ts-dialog').close()\">Save Changes</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n`;\n\nexport const NonDismissible = (): string => `\n <ts-button onclick=\"this.nextElementSibling.show()\">Open Non-Dismissible</ts-button>\n <ts-dialog heading=\"Terms of Service\" size=\"md\" dismissible=\"false\">\n <div style=\"font-family: sans-serif; color: #555;\">\n <p style=\"margin: 0 0 12px;\">Please read and accept the terms of service to continue using this application.</p>\n <div style=\"padding: 12px; background: #f9fafb; border-radius: 6px; max-height: 150px; overflow-y: auto; font-size: 14px;\">\n <p style=\"margin: 0 0 8px;\">1. You agree to use this software responsibly.</p>\n <p style=\"margin: 0 0 8px;\">2. You will not share your credentials with others.</p>\n <p style=\"margin: 0 0 8px;\">3. Data uploaded remains your intellectual property.</p>\n <p style=\"margin: 0;\">4. We reserve the right to update these terms.</p>\n </div>\n </div>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button variant=\"primary\" onclick=\"this.closest('ts-dialog').close()\">I Accept</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n`;\n\nexport const FormDialog = (): string => `\n <ts-button onclick=\"this.nextElementSibling.show()\">Edit Profile</ts-button>\n <ts-dialog heading=\"Edit Profile\" size=\"md\">\n <ts-stack gap=\"3\">\n <ts-input label=\"Full Name\" placeholder=\"Enter your name\" value=\"James Kennedy\"></ts-input>\n <ts-input label=\"Email\" placeholder=\"Enter your email\" value=\"james@example.com\"></ts-input>\n <ts-textarea label=\"Bio\" placeholder=\"Tell us about yourself...\" rows=\"3\"></ts-textarea>\n </ts-stack>\n <div slot=\"footer\">\n <ts-row gap=\"2\" justify=\"end\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-dialog').close()\">Cancel</ts-button>\n <ts-button variant=\"primary\" onclick=\"this.closest('ts-dialog').close()\">Save</ts-button>\n </ts-row>\n </div>\n </ts-dialog>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/components/divider/divider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,SAAS;IACpB,+BAA+B;IACN,WAAW,GAA8B,YAAY,CAAC;IAE/E,8BAA8B;IACL,OAAO,GAAkC,OAAO,CAAC;IAE1E,kEAAkE;IAC1D,KAAK,CAAU;IAEvB,4EAA4E;IAC5E,MAAM;QACJ,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE9B,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI;gBAClB,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI;gBACzC,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBACrC,uBAAuB,EAAE,QAAQ;aAClC,EACD,IAAI,EAAC,WAAW,sBACE,IAAI,CAAC,WAAW,IAEjC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,CAC/C,WAAK,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM;YACpC,YAAM,KAAK,EAAC,oCAAoC,GAAG;YACnD,YAAM,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ;YAC7D,YAAM,KAAK,EAAC,kCAAkC,GAAG,CAC7C,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM;YACpC,YAAM,KAAK,EAAC,eAAe,GAAG,CAC1B,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * @part base - The divider line element.\n * @part label - The optional label text.\n */\n@Component({\n tag: 'ts-divider',\n styleUrl: 'divider.css',\n shadow: true,\n})\nexport class TsDivider {\n /** The divider orientation. */\n @Prop({ reflect: true }) orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /** The line style variant. */\n @Prop({ reflect: true }) variant: 'solid' | 'dashed' | 'dotted' = 'solid';\n\n /** Optional label text displayed in the center of the divider. */\n @Prop() label?: string;\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n const hasLabel = !!this.label;\n\n return (\n <Host\n class={{\n 'ts-divider': true,\n [`ts-divider--${this.orientation}`]: true,\n [`ts-divider--${this.variant}`]: true,\n 'ts-divider--has-label': hasLabel,\n }}\n role=\"separator\"\n aria-orientation={this.orientation}\n >\n {hasLabel && this.orientation === 'horizontal' ? (\n <div class=\"divider__base\" part=\"base\">\n <span class=\"divider__line divider__line--start\" />\n <span class=\"divider__label\" part=\"label\">{this.label}</span>\n <span class=\"divider__line divider__line--end\" />\n </div>\n ) : (\n <div class=\"divider__base\" part=\"base\">\n <span class=\"divider__line\" />\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-divider
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Divider',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
orientation: {
|
|
7
|
-
control: 'select',
|
|
8
|
-
options: ['horizontal', 'vertical'],
|
|
9
|
-
description: 'The divider orientation.',
|
|
10
|
-
},
|
|
11
|
-
variant: {
|
|
12
|
-
control: 'select',
|
|
13
|
-
options: ['solid', 'dashed', 'dotted'],
|
|
14
|
-
description: 'The line style variant.',
|
|
15
|
-
},
|
|
16
|
-
label: {
|
|
17
|
-
control: 'text',
|
|
18
|
-
description: 'Optional label text displayed in the center of the divider.',
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
const Template = (args) => {
|
|
23
|
-
const attrs = [];
|
|
24
|
-
if (args.orientation !== undefined)
|
|
25
|
-
attrs.push(`orientation="${args.orientation}"`);
|
|
26
|
-
if (args.variant !== undefined)
|
|
27
|
-
attrs.push(`variant="${args.variant}"`);
|
|
28
|
-
if (args.label !== undefined && args.label !== '')
|
|
29
|
-
attrs.push(`label="${args.label}"`);
|
|
30
|
-
return `<ts-divider ${attrs.join(' ')}></ts-divider>`;
|
|
31
|
-
};
|
|
32
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
33
|
-
args: {
|
|
34
|
-
orientation: 'horizontal',
|
|
35
|
-
variant: 'solid',
|
|
36
|
-
label: '',
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
export const Variants = () => `
|
|
40
|
-
<div style="display: flex; flex-direction: column; gap: 24px; max-width: 400px;">
|
|
41
|
-
<div>
|
|
42
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Solid</p>
|
|
43
|
-
<ts-divider variant="solid"></ts-divider>
|
|
44
|
-
</div>
|
|
45
|
-
<div>
|
|
46
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Dashed</p>
|
|
47
|
-
<ts-divider variant="dashed"></ts-divider>
|
|
48
|
-
</div>
|
|
49
|
-
<div>
|
|
50
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Dotted</p>
|
|
51
|
-
<ts-divider variant="dotted"></ts-divider>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
`;
|
|
55
|
-
export const States = () => `
|
|
56
|
-
<div style="display: flex; flex-direction: column; gap: 24px; max-width: 400px;">
|
|
57
|
-
<div>
|
|
58
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Without label</p>
|
|
59
|
-
<ts-divider></ts-divider>
|
|
60
|
-
</div>
|
|
61
|
-
<div>
|
|
62
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">With label</p>
|
|
63
|
-
<ts-divider label="OR"></ts-divider>
|
|
64
|
-
</div>
|
|
65
|
-
<div>
|
|
66
|
-
<p style="margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;">Vertical (in flex container)</p>
|
|
67
|
-
<div style="display: flex; gap: 16px; align-items: center; height: 40px;">
|
|
68
|
-
<span style="font-family: sans-serif;">Section A</span>
|
|
69
|
-
<ts-divider orientation="vertical"></ts-divider>
|
|
70
|
-
<span style="font-family: sans-serif;">Section B</span>
|
|
71
|
-
<ts-divider orientation="vertical"></ts-divider>
|
|
72
|
-
<span style="font-family: sans-serif;">Section C</span>
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
`;
|
|
77
|
-
export const Composition = () => `
|
|
78
|
-
<div style="max-width: 400px; font-family: sans-serif;">
|
|
79
|
-
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px;">
|
|
80
|
-
<h4 style="margin: 0 0 12px;">Sign in</h4>
|
|
81
|
-
<div style="display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px;">
|
|
82
|
-
<ts-button variant="neutral" appearance="outline" block>Continue with Google</ts-button>
|
|
83
|
-
<ts-button variant="neutral" appearance="outline" block>Continue with GitHub</ts-button>
|
|
84
|
-
</div>
|
|
85
|
-
<ts-divider label="or continue with email"></ts-divider>
|
|
86
|
-
<div style="margin-top: 16px; display: flex; flex-direction: column; gap: 12px;">
|
|
87
|
-
<ts-input label="Email" placeholder="you@example.com"></ts-input>
|
|
88
|
-
<ts-input label="Password" type="password"></ts-input>
|
|
89
|
-
<ts-button variant="primary" block>Sign in</ts-button>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
`;
|
|
94
|
-
//# sourceMappingURL=divider.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"divider.stories.js","sourceRoot":"","sources":["../../../src/components/divider/divider.stories.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;YACnC,WAAW,EAAE,0BAA0B;SACxC;QACD,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACtC,WAAW,EAAE,yBAAyB;SACvC;QACD,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,6DAA6D;SAC3E;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACvF,OAAO,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAwD,EAAE;IAC7G,IAAI,EAAE;QACJ,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;CAerC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;CAqBnC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;CAgBxC,CAAC","sourcesContent":["// Hand-written stories for ts-divider\n\nexport default {\n title: 'Components/Divider',\n tags: ['autodocs'],\n argTypes: {\n orientation: {\n control: 'select',\n options: ['horizontal', 'vertical'],\n description: 'The divider orientation.',\n },\n variant: {\n control: 'select',\n options: ['solid', 'dashed', 'dotted'],\n description: 'The line style variant.',\n },\n label: {\n control: 'text',\n description: 'Optional label text displayed in the center of the divider.',\n },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.orientation !== undefined) attrs.push(`orientation=\"${args.orientation}\"`);\n if (args.variant !== undefined) attrs.push(`variant=\"${args.variant}\"`);\n if (args.label !== undefined && args.label !== '') attrs.push(`label=\"${args.label}\"`);\n return `<ts-divider ${attrs.join(' ')}></ts-divider>`;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n orientation: 'horizontal',\n variant: 'solid',\n label: '',\n },\n});\n\nexport const Variants = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 24px; max-width: 400px;\">\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Solid</p>\n <ts-divider variant=\"solid\"></ts-divider>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Dashed</p>\n <ts-divider variant=\"dashed\"></ts-divider>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Dotted</p>\n <ts-divider variant=\"dotted\"></ts-divider>\n </div>\n </div>\n`;\n\nexport const States = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 24px; max-width: 400px;\">\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Without label</p>\n <ts-divider></ts-divider>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">With label</p>\n <ts-divider label=\"OR\"></ts-divider>\n </div>\n <div>\n <p style=\"margin: 0 0 8px; font-family: sans-serif; font-size: 14px; color: #666;\">Vertical (in flex container)</p>\n <div style=\"display: flex; gap: 16px; align-items: center; height: 40px;\">\n <span style=\"font-family: sans-serif;\">Section A</span>\n <ts-divider orientation=\"vertical\"></ts-divider>\n <span style=\"font-family: sans-serif;\">Section B</span>\n <ts-divider orientation=\"vertical\"></ts-divider>\n <span style=\"font-family: sans-serif;\">Section C</span>\n </div>\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 12px;\">Sign in</h4>\n <div style=\"display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px;\">\n <ts-button variant=\"neutral\" appearance=\"outline\" block>Continue with Google</ts-button>\n <ts-button variant=\"neutral\" appearance=\"outline\" block>Continue with GitHub</ts-button>\n </div>\n <ts-divider label=\"or continue with email\"></ts-divider>\n <div style=\"margin-top: 16px; display: flex; flex-direction: column; gap: 12px;\">\n <ts-input label=\"Email\" placeholder=\"you@example.com\"></ts-input>\n <ts-input label=\"Password\" type=\"password\"></ts-input>\n <ts-button variant=\"primary\" block>Sign in</ts-button>\n </div>\n </div>\n </div>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/components/drawer/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;GAUG;AAMH,MAAM,OAAO,QAAQ;IACR,MAAM,CAAe;IAExB,OAAO,CAAe;IACtB,eAAe,CAAc;IAC7B,iBAAiB,CAAe;IAChC,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE3C,kCAAkC;IACM,IAAI,GAAG,KAAK,CAAC;IAErD,4CAA4C;IACnB,SAAS,GAAuC,KAAK,CAAC;IAE/E,wCAAwC;IACf,IAAI,GAAgC,IAAI,CAAC;IAElE,yEAAyE;IACjE,WAAW,GAAG,IAAI,CAAC;IAE3B,yCAAyC;IACjC,OAAO,CAAU;IAEzB,sCAAsC;IACL,OAAO,CAAsB;IAE9D,gCAAgC;IACvB,WAAW,GAAG,KAAK,CAAC;IAG7B,gBAAgB,CAAC,MAAe;QAC9B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,wCAAwC;IAExC,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,yCAAyC;IAEzC,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAA4B,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAExC,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IACpC,CAAC;IAEO,kBAAkB,GAAG,GAAS,EAAE;QACtC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEM,gBAAgB,GAAG,CAAC,KAAiB,EAAQ,EAAE;QACrD,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEM,aAAa,GAAG,CAAC,KAAoB,EAAQ,EAAE;QACrD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEM,gBAAgB,GAAG,GAAS,EAAE;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,4EAA4E;IAC5E,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5B,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,iBAAiB,EAAE,IAAI,CAAC,IAAI;gBAC5B,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;gBACtC,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;aAClC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa;YAE7B,WAAK,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB;gBAC1E,WACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAChC,KAAK,EAAE;wBACL,eAAe,EAAE,IAAI;wBACrB,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;wBAC1C,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;qBACtC,EACD,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,gBACF,MAAM,gBACL,IAAI,CAAC,OAAO,qBACP,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,SAAS,EACtE,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB;oBAE9B,WAAK,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,SAAS;wBACpE,IAAI,CAAC,OAAO,IAAI,YAAM,KAAK,EAAC,eAAe,IAAE,IAAI,CAAC,OAAO,CAAQ;wBACjE,IAAI,CAAC,WAAW,IAAI,CACnB,cACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,gBACF,cAAc,EACzB,OAAO,EAAE,IAAI,CAAC,gBAAgB,aAGvB,CACV,CACG;oBAEN,WAAK,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM;wBACnC,eAAQ,CACJ;oBAEN,WAAK,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,QAAQ;wBACvC,YAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, State, Event, h, Host, Element, Method, Watch } from '@stencil/core';\nimport type { EventEmitter } from '@stencil/core';\nimport { generateId, trapFocus } from '../../utils/aria';\n\n/**\n * @slot - Default slot for drawer body content.\n * @slot footer - Drawer footer content (e.g., action buttons).\n *\n * @part overlay - The backdrop overlay.\n * @part panel - The slide-in panel container.\n * @part header - The header wrapper.\n * @part body - The body wrapper.\n * @part footer - The footer wrapper.\n * @part close - The close button.\n */\n@Component({\n tag: 'ts-drawer',\n styleUrl: 'drawer.css',\n shadow: true,\n})\nexport class TsDrawer {\n @Element() hostEl!: HTMLElement;\n\n private panelEl?: HTMLElement;\n private removeFocusTrap?: () => void;\n private previouslyFocused?: HTMLElement;\n private drawerId = generateId('ts-drawer');\n\n /** Whether the drawer is open. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Which edge the drawer slides in from. */\n @Prop({ reflect: true }) placement: 'start' | 'end' | 'top' | 'bottom' = 'end';\n\n /** The drawer's width/height preset. */\n @Prop({ reflect: true }) size: 'sm' | 'md' | 'lg' | 'full' = 'md';\n\n /** Whether clicking the overlay or pressing Escape closes the drawer. */\n @Prop() dismissible = true;\n\n /** Accessible heading for the drawer. */\n @Prop() heading?: string;\n\n /** Emitted when the drawer closes. */\n @Event({ eventName: 'tsClose' }) tsClose!: EventEmitter<void>;\n\n /** Internal animation state. */\n @State() isAnimating = false;\n\n @Watch('open')\n handleOpenChange(isOpen: boolean): void {\n if (isOpen) {\n this.openDrawer();\n } else {\n this.closeDrawer();\n }\n }\n\n /** Programmatically open the drawer. */\n @Method()\n async show(): Promise<void> {\n this.open = true;\n }\n\n /** Programmatically close the drawer. */\n @Method()\n async close(): Promise<void> {\n this.open = false;\n }\n\n private openDrawer(): void {\n this.previouslyFocused = document.activeElement as HTMLElement;\n this.isAnimating = true;\n\n document.body.style.overflow = 'hidden';\n\n requestAnimationFrame(() => {\n if (this.panelEl) {\n this.removeFocusTrap = trapFocus(this.panelEl);\n this.panelEl.focus();\n }\n });\n }\n\n private closeDrawer(): void {\n this.isAnimating = false;\n this.tsClose.emit();\n\n document.body.style.overflow = '';\n this.removeFocusTrap?.();\n this.previouslyFocused?.focus();\n }\n\n disconnectedCallback(): void {\n this.removeFocusTrap?.();\n document.body.style.overflow = '';\n }\n\n private handleOverlayClick = (): void => {\n if (this.dismissible) {\n this.close();\n }\n };\n\n private handlePanelClick = (event: MouseEvent): void => {\n event.stopPropagation();\n };\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === 'Escape' && this.dismissible) {\n event.stopPropagation();\n this.close();\n }\n };\n\n private handleCloseClick = (): void => {\n this.close();\n };\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n if (!this.open) return null;\n\n return (\n <Host\n class={{\n 'ts-drawer': true,\n 'ts-drawer--open': this.open,\n [`ts-drawer--${this.placement}`]: true,\n [`ts-drawer--${this.size}`]: true,\n }}\n onKeyDown={this.handleKeydown}\n >\n <div class=\"drawer__overlay\" part=\"overlay\" onClick={this.handleOverlayClick}>\n <div\n ref={(el) => (this.panelEl = el)}\n class={{\n 'drawer__panel': true,\n [`drawer__panel--${this.placement}`]: true,\n [`drawer__panel--${this.size}`]: true,\n }}\n part=\"panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.heading}\n aria-labelledby={!this.heading ? `${this.drawerId}-header` : undefined}\n tabindex={-1}\n onClick={this.handlePanelClick}\n >\n <div class=\"drawer__header\" part=\"header\" id={`${this.drawerId}-header`}>\n {this.heading && <span class=\"drawer__title\">{this.heading}</span>}\n {this.dismissible && (\n <button\n class=\"drawer__close\"\n part=\"close\"\n type=\"button\"\n aria-label=\"Close drawer\"\n onClick={this.handleCloseClick}\n >\n ✕\n </button>\n )}\n </div>\n\n <div class=\"drawer__body\" part=\"body\">\n <slot />\n </div>\n\n <div class=\"drawer__footer\" part=\"footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-drawer
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/Drawer',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
open: {
|
|
7
|
-
control: 'boolean',
|
|
8
|
-
description: 'Whether the drawer is open.',
|
|
9
|
-
},
|
|
10
|
-
placement: {
|
|
11
|
-
control: 'select',
|
|
12
|
-
options: ['start', 'end', 'top', 'bottom'],
|
|
13
|
-
description: 'Which edge the drawer slides in from.',
|
|
14
|
-
},
|
|
15
|
-
size: {
|
|
16
|
-
control: 'select',
|
|
17
|
-
options: ['sm', 'md', 'lg', 'full'],
|
|
18
|
-
description: 'The drawer\'s width/height preset.',
|
|
19
|
-
},
|
|
20
|
-
dismissible: {
|
|
21
|
-
control: 'boolean',
|
|
22
|
-
description: 'Whether clicking the overlay or pressing Escape closes the drawer.',
|
|
23
|
-
},
|
|
24
|
-
heading: {
|
|
25
|
-
control: 'text',
|
|
26
|
-
description: 'Accessible heading for the drawer.',
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
const Template = (args) => {
|
|
31
|
-
const attrs = [];
|
|
32
|
-
if (args.open)
|
|
33
|
-
attrs.push('open');
|
|
34
|
-
if (args.placement !== undefined)
|
|
35
|
-
attrs.push(`placement="${args.placement}"`);
|
|
36
|
-
if (args.size !== undefined)
|
|
37
|
-
attrs.push(`size="${args.size}"`);
|
|
38
|
-
if (args.dismissible !== undefined && !args.dismissible) {
|
|
39
|
-
// dismissible defaults to true
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
attrs.push('dismissible');
|
|
43
|
-
}
|
|
44
|
-
if (args.heading !== undefined)
|
|
45
|
-
attrs.push(`heading="${args.heading}"`);
|
|
46
|
-
return `
|
|
47
|
-
<ts-button onclick="this.nextElementSibling.setAttribute('open','')">Open Drawer</ts-button>
|
|
48
|
-
<ts-drawer ${attrs.join(' ')}>
|
|
49
|
-
<p style="font-family: sans-serif; margin: 0;">This is the drawer content area.</p>
|
|
50
|
-
<div slot="footer" style="display: flex; gap: 8px; justify-content: flex-end;">
|
|
51
|
-
<ts-button appearance="outline" onclick="this.closest('ts-drawer').removeAttribute('open')">Cancel</ts-button>
|
|
52
|
-
<ts-button variant="primary" onclick="this.closest('ts-drawer').removeAttribute('open')">Save</ts-button>
|
|
53
|
-
</div>
|
|
54
|
-
</ts-drawer>
|
|
55
|
-
`;
|
|
56
|
-
};
|
|
57
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
58
|
-
args: {
|
|
59
|
-
open: false,
|
|
60
|
-
placement: 'end',
|
|
61
|
-
size: 'md',
|
|
62
|
-
dismissible: true,
|
|
63
|
-
heading: 'Settings',
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
export const Sizes = () => `
|
|
67
|
-
<div style="display: flex; gap: 8px;">
|
|
68
|
-
<ts-button appearance="outline" onclick="document.getElementById('drawer-sm').setAttribute('open','')">Small</ts-button>
|
|
69
|
-
<ts-button appearance="outline" onclick="document.getElementById('drawer-md').setAttribute('open','')">Medium</ts-button>
|
|
70
|
-
<ts-button appearance="outline" onclick="document.getElementById('drawer-lg').setAttribute('open','')">Large</ts-button>
|
|
71
|
-
<ts-button appearance="outline" onclick="document.getElementById('drawer-full').setAttribute('open','')">Full</ts-button>
|
|
72
|
-
</div>
|
|
73
|
-
<ts-drawer id="drawer-sm" heading="Small Drawer" size="sm" dismissible>
|
|
74
|
-
<p style="font-family: sans-serif;">Small drawer content.</p>
|
|
75
|
-
</ts-drawer>
|
|
76
|
-
<ts-drawer id="drawer-md" heading="Medium Drawer" size="md" dismissible>
|
|
77
|
-
<p style="font-family: sans-serif;">Medium drawer content.</p>
|
|
78
|
-
</ts-drawer>
|
|
79
|
-
<ts-drawer id="drawer-lg" heading="Large Drawer" size="lg" dismissible>
|
|
80
|
-
<p style="font-family: sans-serif;">Large drawer content.</p>
|
|
81
|
-
</ts-drawer>
|
|
82
|
-
<ts-drawer id="drawer-full" heading="Full Drawer" size="full" dismissible>
|
|
83
|
-
<p style="font-family: sans-serif;">Full-width drawer content.</p>
|
|
84
|
-
</ts-drawer>
|
|
85
|
-
`;
|
|
86
|
-
export const States = () => `
|
|
87
|
-
<div style="display: flex; gap: 8px;">
|
|
88
|
-
<ts-button onclick="document.getElementById('drawer-start').setAttribute('open','')">From Start</ts-button>
|
|
89
|
-
<ts-button onclick="document.getElementById('drawer-end').setAttribute('open','')">From End</ts-button>
|
|
90
|
-
<ts-button onclick="document.getElementById('drawer-top').setAttribute('open','')">From Top</ts-button>
|
|
91
|
-
<ts-button onclick="document.getElementById('drawer-bottom').setAttribute('open','')">From Bottom</ts-button>
|
|
92
|
-
</div>
|
|
93
|
-
<ts-drawer id="drawer-start" heading="Start Drawer" placement="start" dismissible>
|
|
94
|
-
<p style="font-family: sans-serif;">Slides in from the start (left) edge.</p>
|
|
95
|
-
</ts-drawer>
|
|
96
|
-
<ts-drawer id="drawer-end" heading="End Drawer" placement="end" dismissible>
|
|
97
|
-
<p style="font-family: sans-serif;">Slides in from the end (right) edge.</p>
|
|
98
|
-
</ts-drawer>
|
|
99
|
-
<ts-drawer id="drawer-top" heading="Top Drawer" placement="top" dismissible>
|
|
100
|
-
<p style="font-family: sans-serif;">Slides in from the top edge.</p>
|
|
101
|
-
</ts-drawer>
|
|
102
|
-
<ts-drawer id="drawer-bottom" heading="Bottom Drawer" placement="bottom" dismissible>
|
|
103
|
-
<p style="font-family: sans-serif;">Slides in from the bottom edge.</p>
|
|
104
|
-
</ts-drawer>
|
|
105
|
-
`;
|
|
106
|
-
export const Composition = () => `
|
|
107
|
-
<ts-button variant="primary" onclick="document.getElementById('drawer-settings').setAttribute('open','')">Open Settings Panel</ts-button>
|
|
108
|
-
<ts-drawer id="drawer-settings" heading="Settings" placement="end" size="md" dismissible>
|
|
109
|
-
<div style="font-family: sans-serif; display: flex; flex-direction: column; gap: 20px;">
|
|
110
|
-
<div>
|
|
111
|
-
<h4 style="margin: 0 0 12px;">Notifications</h4>
|
|
112
|
-
<div style="display: flex; flex-direction: column; gap: 8px;">
|
|
113
|
-
<ts-toggle label="Email notifications"></ts-toggle>
|
|
114
|
-
<ts-toggle label="Push notifications"></ts-toggle>
|
|
115
|
-
<ts-toggle label="SMS alerts"></ts-toggle>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
<ts-divider></ts-divider>
|
|
119
|
-
<div>
|
|
120
|
-
<h4 style="margin: 0 0 12px;">Appearance</h4>
|
|
121
|
-
<ts-select label="Theme" placeholder="Choose theme">
|
|
122
|
-
<option value="light">Light</option>
|
|
123
|
-
<option value="dark">Dark</option>
|
|
124
|
-
<option value="auto">System</option>
|
|
125
|
-
</ts-select>
|
|
126
|
-
</div>
|
|
127
|
-
<ts-divider></ts-divider>
|
|
128
|
-
<div>
|
|
129
|
-
<h4 style="margin: 0 0 12px;">Language</h4>
|
|
130
|
-
<ts-select label="Preferred language" placeholder="Select language">
|
|
131
|
-
<option value="en">English</option>
|
|
132
|
-
<option value="es">Spanish</option>
|
|
133
|
-
<option value="fr">French</option>
|
|
134
|
-
</ts-select>
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
<div slot="footer" style="display: flex; gap: 8px; justify-content: flex-end;">
|
|
138
|
-
<ts-button appearance="outline" onclick="document.getElementById('drawer-settings').removeAttribute('open')">Cancel</ts-button>
|
|
139
|
-
<ts-button variant="primary" onclick="document.getElementById('drawer-settings').removeAttribute('open')">Save Changes</ts-button>
|
|
140
|
-
</div>
|
|
141
|
-
</ts-drawer>
|
|
142
|
-
`;
|
|
143
|
-
//# sourceMappingURL=drawer.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.stories.js","sourceRoot":"","sources":["../../../src/components/drawer/drawer.stories.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,eAAe;IACb,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,6BAA6B;SAC3C;QACD,SAAS,EAAE;YACT,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;YAC1C,WAAW,EAAE,uCAAuC;SACrD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;YACnC,WAAW,EAAE,oCAAoC;SAClD;QACD,WAAW,EAAE;YACX,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,oEAAoE;SAClF;QACD,OAAO,EAAE;YACP,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,oCAAoC;SAClD;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,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxD,+BAA+B;IACjC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,OAAO;;iBAEQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;GAO7B,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,KAAK;QAChB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,UAAU;KACpB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;CAmBlC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;CAmBnC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCxC,CAAC","sourcesContent":["// Hand-written stories for ts-drawer\n\nexport default {\n title: 'Components/Drawer',\n tags: ['autodocs'],\n argTypes: {\n open: {\n control: 'boolean',\n description: 'Whether the drawer is open.',\n },\n placement: {\n control: 'select',\n options: ['start', 'end', 'top', 'bottom'],\n description: 'Which edge the drawer slides in from.',\n },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg', 'full'],\n description: 'The drawer\\'s width/height preset.',\n },\n dismissible: {\n control: 'boolean',\n description: 'Whether clicking the overlay or pressing Escape closes the drawer.',\n },\n heading: {\n control: 'text',\n description: 'Accessible heading for the drawer.',\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.size !== undefined) attrs.push(`size=\"${args.size}\"`);\n if (args.dismissible !== undefined && !args.dismissible) {\n // dismissible defaults to true\n } else {\n attrs.push('dismissible');\n }\n if (args.heading !== undefined) attrs.push(`heading=\"${args.heading}\"`);\n return `\n <ts-button onclick=\"this.nextElementSibling.setAttribute('open','')\">Open Drawer</ts-button>\n <ts-drawer ${attrs.join(' ')}>\n <p style=\"font-family: sans-serif; margin: 0;\">This is the drawer content area.</p>\n <div slot=\"footer\" style=\"display: flex; gap: 8px; justify-content: flex-end;\">\n <ts-button appearance=\"outline\" onclick=\"this.closest('ts-drawer').removeAttribute('open')\">Cancel</ts-button>\n <ts-button variant=\"primary\" onclick=\"this.closest('ts-drawer').removeAttribute('open')\">Save</ts-button>\n </div>\n </ts-drawer>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n open: false,\n placement: 'end',\n size: 'md',\n dismissible: true,\n heading: 'Settings',\n },\n});\n\nexport const Sizes = (): string => `\n <div style=\"display: flex; gap: 8px;\">\n <ts-button appearance=\"outline\" onclick=\"document.getElementById('drawer-sm').setAttribute('open','')\">Small</ts-button>\n <ts-button appearance=\"outline\" onclick=\"document.getElementById('drawer-md').setAttribute('open','')\">Medium</ts-button>\n <ts-button appearance=\"outline\" onclick=\"document.getElementById('drawer-lg').setAttribute('open','')\">Large</ts-button>\n <ts-button appearance=\"outline\" onclick=\"document.getElementById('drawer-full').setAttribute('open','')\">Full</ts-button>\n </div>\n <ts-drawer id=\"drawer-sm\" heading=\"Small Drawer\" size=\"sm\" dismissible>\n <p style=\"font-family: sans-serif;\">Small drawer content.</p>\n </ts-drawer>\n <ts-drawer id=\"drawer-md\" heading=\"Medium Drawer\" size=\"md\" dismissible>\n <p style=\"font-family: sans-serif;\">Medium drawer content.</p>\n </ts-drawer>\n <ts-drawer id=\"drawer-lg\" heading=\"Large Drawer\" size=\"lg\" dismissible>\n <p style=\"font-family: sans-serif;\">Large drawer content.</p>\n </ts-drawer>\n <ts-drawer id=\"drawer-full\" heading=\"Full Drawer\" size=\"full\" dismissible>\n <p style=\"font-family: sans-serif;\">Full-width drawer content.</p>\n </ts-drawer>\n`;\n\nexport const States = (): string => `\n <div style=\"display: flex; gap: 8px;\">\n <ts-button onclick=\"document.getElementById('drawer-start').setAttribute('open','')\">From Start</ts-button>\n <ts-button onclick=\"document.getElementById('drawer-end').setAttribute('open','')\">From End</ts-button>\n <ts-button onclick=\"document.getElementById('drawer-top').setAttribute('open','')\">From Top</ts-button>\n <ts-button onclick=\"document.getElementById('drawer-bottom').setAttribute('open','')\">From Bottom</ts-button>\n </div>\n <ts-drawer id=\"drawer-start\" heading=\"Start Drawer\" placement=\"start\" dismissible>\n <p style=\"font-family: sans-serif;\">Slides in from the start (left) edge.</p>\n </ts-drawer>\n <ts-drawer id=\"drawer-end\" heading=\"End Drawer\" placement=\"end\" dismissible>\n <p style=\"font-family: sans-serif;\">Slides in from the end (right) edge.</p>\n </ts-drawer>\n <ts-drawer id=\"drawer-top\" heading=\"Top Drawer\" placement=\"top\" dismissible>\n <p style=\"font-family: sans-serif;\">Slides in from the top edge.</p>\n </ts-drawer>\n <ts-drawer id=\"drawer-bottom\" heading=\"Bottom Drawer\" placement=\"bottom\" dismissible>\n <p style=\"font-family: sans-serif;\">Slides in from the bottom edge.</p>\n </ts-drawer>\n`;\n\nexport const Composition = (): string => `\n <ts-button variant=\"primary\" onclick=\"document.getElementById('drawer-settings').setAttribute('open','')\">Open Settings Panel</ts-button>\n <ts-drawer id=\"drawer-settings\" heading=\"Settings\" placement=\"end\" size=\"md\" dismissible>\n <div style=\"font-family: sans-serif; display: flex; flex-direction: column; gap: 20px;\">\n <div>\n <h4 style=\"margin: 0 0 12px;\">Notifications</h4>\n <div style=\"display: flex; flex-direction: column; gap: 8px;\">\n <ts-toggle label=\"Email notifications\"></ts-toggle>\n <ts-toggle label=\"Push notifications\"></ts-toggle>\n <ts-toggle label=\"SMS alerts\"></ts-toggle>\n </div>\n </div>\n <ts-divider></ts-divider>\n <div>\n <h4 style=\"margin: 0 0 12px;\">Appearance</h4>\n <ts-select label=\"Theme\" placeholder=\"Choose theme\">\n <option value=\"light\">Light</option>\n <option value=\"dark\">Dark</option>\n <option value=\"auto\">System</option>\n </ts-select>\n </div>\n <ts-divider></ts-divider>\n <div>\n <h4 style=\"margin: 0 0 12px;\">Language</h4>\n <ts-select label=\"Preferred language\" placeholder=\"Select language\">\n <option value=\"en\">English</option>\n <option value=\"es\">Spanish</option>\n <option value=\"fr\">French</option>\n </ts-select>\n </div>\n </div>\n <div slot=\"footer\" style=\"display: flex; gap: 8px; justify-content: flex-end;\">\n <ts-button appearance=\"outline\" onclick=\"document.getElementById('drawer-settings').removeAttribute('open')\">Cancel</ts-button>\n <ts-button variant=\"primary\" onclick=\"document.getElementById('drawer-settings').removeAttribute('open')\">Save Changes</ts-button>\n </div>\n </ts-drawer>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty-state.js","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;;;;;;;;GAWG;AAMH,MAAM,OAAO,YAAY;IACvB,wBAAwB;IAChB,OAAO,CAAU;IAEzB,4BAA4B;IACpB,WAAW,CAAU;IAE7B,wCAAwC;IAChC,IAAI,CAAU;IAEtB,mCAAmC;IACV,IAAI,GAAW,IAAI,CAAC;IAE7C,4EAA4E;IAC5E,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,gBAAgB,EAAE,IAAI;gBACtB,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;aACvC;YAED,4DAAK,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM;gBACxC,4DAAK,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM;oBACxC,6DAAM,IAAI,EAAC,MAAM,IACd,IAAI,CAAC,IAAI,IAAI,gEAAS,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CACrC,CACH;gBAEL,IAAI,CAAC,OAAO,IAAI,CACf,2DAAI,KAAK,EAAC,sBAAsB,EAAC,IAAI,EAAC,SAAS,IAC5C,IAAI,CAAC,OAAO,CACV,CACN;gBAEA,IAAI,CAAC,WAAW,IAAI,CACnB,0DAAG,KAAK,EAAC,0BAA0B,EAAC,IAAI,EAAC,aAAa,IACnD,IAAI,CAAC,WAAW,CACf,CACL;gBAED,4DAAK,KAAK,EAAC,sBAAsB,EAAC,IAAI,EAAC,SAAS;oBAC9C,8DAAQ,CACJ;gBAEN,4DAAK,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ;oBAC5C,6DAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\nimport type { TsSize } from '../../types';\n\n/**\n * @slot - Custom content below the description.\n * @slot action - CTA buttons.\n * @slot icon - Custom icon or illustration.\n *\n * @part base - The empty state container.\n * @part icon - The icon wrapper.\n * @part heading - The heading element.\n * @part description - The description text.\n * @part content - The custom content wrapper.\n * @part action - The action slot wrapper.\n */\n@Component({\n tag: 'ts-empty-state',\n styleUrl: 'empty-state.css',\n shadow: true,\n})\nexport class TsEmptyState {\n /** The heading text. */\n @Prop() heading?: string;\n\n /** The description text. */\n @Prop() description?: string;\n\n /** Lucide icon name displayed large. */\n @Prop() icon?: string;\n\n /** The size of the empty state. */\n @Prop({ reflect: true }) size: TsSize = 'md';\n\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n render() {\n return (\n <Host\n class={{\n 'ts-empty-state': true,\n [`ts-empty-state--${this.size}`]: true,\n }}\n >\n <div class=\"empty-state__base\" part=\"base\">\n <div class=\"empty-state__icon\" part=\"icon\">\n <slot name=\"icon\">\n {this.icon && <ts-icon name={this.icon} />}\n </slot>\n </div>\n\n {this.heading && (\n <h3 class=\"empty-state__heading\" part=\"heading\">\n {this.heading}\n </h3>\n )}\n\n {this.description && (\n <p class=\"empty-state__description\" part=\"description\">\n {this.description}\n </p>\n )}\n\n <div class=\"empty-state__content\" part=\"content\">\n <slot />\n </div>\n\n <div class=\"empty-state__action\" part=\"action\">\n <slot name=\"action\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
// Hand-written stories for ts-empty-state
|
|
2
|
-
export default {
|
|
3
|
-
title: 'Components/EmptyState',
|
|
4
|
-
tags: ['autodocs'],
|
|
5
|
-
argTypes: {
|
|
6
|
-
heading: {
|
|
7
|
-
control: 'text',
|
|
8
|
-
description: 'The heading text.',
|
|
9
|
-
},
|
|
10
|
-
description: {
|
|
11
|
-
control: 'text',
|
|
12
|
-
description: 'The description text.',
|
|
13
|
-
},
|
|
14
|
-
icon: {
|
|
15
|
-
control: 'text',
|
|
16
|
-
description: 'Lucide icon name displayed large.',
|
|
17
|
-
},
|
|
18
|
-
size: {
|
|
19
|
-
control: 'select',
|
|
20
|
-
options: ['sm', 'md', 'lg'],
|
|
21
|
-
description: 'The size of the empty state.',
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
const Template = (args) => {
|
|
26
|
-
const attrs = [];
|
|
27
|
-
if (args.heading !== undefined)
|
|
28
|
-
attrs.push(`heading="${args.heading}"`);
|
|
29
|
-
if (args.description !== undefined)
|
|
30
|
-
attrs.push(`description="${args.description}"`);
|
|
31
|
-
if (args.icon !== undefined)
|
|
32
|
-
attrs.push(`icon="${args.icon}"`);
|
|
33
|
-
if (args.size !== undefined)
|
|
34
|
-
attrs.push(`size="${args.size}"`);
|
|
35
|
-
return `
|
|
36
|
-
<ts-empty-state ${attrs.join(' ')}>
|
|
37
|
-
<ts-button slot="action" variant="primary">Create Project</ts-button>
|
|
38
|
-
</ts-empty-state>
|
|
39
|
-
`;
|
|
40
|
-
};
|
|
41
|
-
export const Default = Object.assign(Template.bind({}), {
|
|
42
|
-
args: {
|
|
43
|
-
heading: 'No results found',
|
|
44
|
-
description: 'Try adjusting your search or filter criteria to find what you are looking for.',
|
|
45
|
-
icon: 'search',
|
|
46
|
-
size: 'md',
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
export const Variants = () => `
|
|
50
|
-
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
51
|
-
<ts-empty-state
|
|
52
|
-
heading="No results found"
|
|
53
|
-
description="Try adjusting your search or filter criteria to find what you are looking for."
|
|
54
|
-
icon="search"
|
|
55
|
-
>
|
|
56
|
-
<ts-button slot="action" appearance="outline">Clear Filters</ts-button>
|
|
57
|
-
</ts-empty-state>
|
|
58
|
-
|
|
59
|
-
<ts-divider></ts-divider>
|
|
60
|
-
|
|
61
|
-
<ts-empty-state
|
|
62
|
-
heading="Create your first project"
|
|
63
|
-
description="Projects help you organize your work and collaborate with your team."
|
|
64
|
-
icon="folder-plus"
|
|
65
|
-
>
|
|
66
|
-
<ts-button slot="action" variant="primary">New Project</ts-button>
|
|
67
|
-
</ts-empty-state>
|
|
68
|
-
|
|
69
|
-
<ts-divider></ts-divider>
|
|
70
|
-
|
|
71
|
-
<ts-empty-state
|
|
72
|
-
heading="No notifications"
|
|
73
|
-
description="When you receive notifications, they will appear here."
|
|
74
|
-
icon="bell-off"
|
|
75
|
-
>
|
|
76
|
-
</ts-empty-state>
|
|
77
|
-
</div>
|
|
78
|
-
`;
|
|
79
|
-
export const Sizes = () => `
|
|
80
|
-
<div style="display: flex; flex-direction: column; gap: 32px;">
|
|
81
|
-
<div>
|
|
82
|
-
<p style="margin: 0 0 12px; font-family: sans-serif; font-size: 14px; color: #666;">Small</p>
|
|
83
|
-
<ts-empty-state heading="No items" description="Nothing to display." icon="inbox" size="sm"></ts-empty-state>
|
|
84
|
-
</div>
|
|
85
|
-
<ts-divider></ts-divider>
|
|
86
|
-
<div>
|
|
87
|
-
<p style="margin: 0 0 12px; font-family: sans-serif; font-size: 14px; color: #666;">Medium (default)</p>
|
|
88
|
-
<ts-empty-state heading="No items" description="Nothing to display." icon="inbox" size="md"></ts-empty-state>
|
|
89
|
-
</div>
|
|
90
|
-
<ts-divider></ts-divider>
|
|
91
|
-
<div>
|
|
92
|
-
<p style="margin: 0 0 12px; font-family: sans-serif; font-size: 14px; color: #666;">Large</p>
|
|
93
|
-
<ts-empty-state heading="No items" description="Nothing to display." icon="inbox" size="lg"></ts-empty-state>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
`;
|
|
97
|
-
export const Composition = () => `
|
|
98
|
-
<div style="max-width: 500px; font-family: sans-serif;">
|
|
99
|
-
<div style="border: 1px solid #e2e8f0; border-radius: 8px; padding: 48px 24px;">
|
|
100
|
-
<ts-empty-state
|
|
101
|
-
heading="Create your first project"
|
|
102
|
-
description="Projects let you group related tasks, track progress, and collaborate with your team. Get started by creating a new project."
|
|
103
|
-
icon="rocket"
|
|
104
|
-
>
|
|
105
|
-
<div slot="action" style="display: flex; gap: 8px;">
|
|
106
|
-
<ts-button appearance="outline">Learn More</ts-button>
|
|
107
|
-
<ts-button variant="primary">Create Project</ts-button>
|
|
108
|
-
</div>
|
|
109
|
-
</ts-empty-state>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
`;
|
|
113
|
-
//# sourceMappingURL=empty-state.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"empty-state.stories.js","sourceRoot":"","sources":["../../../src/components/empty-state/empty-state.stories.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,eAAe;IACb,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,mBAAmB;SACjC;QACD,WAAW,EAAE;YACX,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,uBAAuB;SACrC;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,mCAAmC;SACjD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC3B,WAAW,EAAE,8BAA8B;SAC5C;KACF;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAA6B,EAAU,EAAE;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/D,OAAO;sBACa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;GAGlC,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,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,gFAAgF;QAC7F,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;CAiBlC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;CAexC,CAAC","sourcesContent":["// Hand-written stories for ts-empty-state\n\nexport default {\n title: 'Components/EmptyState',\n tags: ['autodocs'],\n argTypes: {\n heading: {\n control: 'text',\n description: 'The heading text.',\n },\n description: {\n control: 'text',\n description: 'The description text.',\n },\n icon: {\n control: 'text',\n description: 'Lucide icon name displayed large.',\n },\n size: {\n control: 'select',\n options: ['sm', 'md', 'lg'],\n description: 'The size of the empty state.',\n },\n },\n};\n\nconst Template = (args: Record<string, unknown>): string => {\n const attrs: string[] = [];\n if (args.heading !== undefined) attrs.push(`heading=\"${args.heading}\"`);\n if (args.description !== undefined) attrs.push(`description=\"${args.description}\"`);\n if (args.icon !== undefined) attrs.push(`icon=\"${args.icon}\"`);\n if (args.size !== undefined) attrs.push(`size=\"${args.size}\"`);\n return `\n <ts-empty-state ${attrs.join(' ')}>\n <ts-button slot=\"action\" variant=\"primary\">Create Project</ts-button>\n </ts-empty-state>\n `;\n};\n\nexport const Default = Object.assign(Template.bind({}) as typeof Template & { args: Record<string, unknown> }, {\n args: {\n heading: 'No results found',\n description: 'Try adjusting your search or filter criteria to find what you are looking for.',\n icon: 'search',\n size: 'md',\n },\n});\n\nexport const Variants = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 32px;\">\n <ts-empty-state\n heading=\"No results found\"\n description=\"Try adjusting your search or filter criteria to find what you are looking for.\"\n icon=\"search\"\n >\n <ts-button slot=\"action\" appearance=\"outline\">Clear Filters</ts-button>\n </ts-empty-state>\n\n <ts-divider></ts-divider>\n\n <ts-empty-state\n heading=\"Create your first project\"\n description=\"Projects help you organize your work and collaborate with your team.\"\n icon=\"folder-plus\"\n >\n <ts-button slot=\"action\" variant=\"primary\">New Project</ts-button>\n </ts-empty-state>\n\n <ts-divider></ts-divider>\n\n <ts-empty-state\n heading=\"No notifications\"\n description=\"When you receive notifications, they will appear here.\"\n icon=\"bell-off\"\n >\n </ts-empty-state>\n </div>\n`;\n\nexport const Sizes = (): string => `\n <div style=\"display: flex; flex-direction: column; gap: 32px;\">\n <div>\n <p style=\"margin: 0 0 12px; font-family: sans-serif; font-size: 14px; color: #666;\">Small</p>\n <ts-empty-state heading=\"No items\" description=\"Nothing to display.\" icon=\"inbox\" size=\"sm\"></ts-empty-state>\n </div>\n <ts-divider></ts-divider>\n <div>\n <p style=\"margin: 0 0 12px; font-family: sans-serif; font-size: 14px; color: #666;\">Medium (default)</p>\n <ts-empty-state heading=\"No items\" description=\"Nothing to display.\" icon=\"inbox\" size=\"md\"></ts-empty-state>\n </div>\n <ts-divider></ts-divider>\n <div>\n <p style=\"margin: 0 0 12px; font-family: sans-serif; font-size: 14px; color: #666;\">Large</p>\n <ts-empty-state heading=\"No items\" description=\"Nothing to display.\" icon=\"inbox\" size=\"lg\"></ts-empty-state>\n </div>\n </div>\n`;\n\nexport const Composition = (): string => `\n <div style=\"max-width: 500px; font-family: sans-serif;\">\n <div style=\"border: 1px solid #e2e8f0; border-radius: 8px; padding: 48px 24px;\">\n <ts-empty-state\n heading=\"Create your first project\"\n description=\"Projects let you group related tasks, track progress, and collaborate with your team. Get started by creating a new project.\"\n icon=\"rocket\"\n >\n <div slot=\"action\" style=\"display: flex; gap: 8px;\">\n <ts-button appearance=\"outline\">Learn More</ts-button>\n <ts-button variant=\"primary\">Create Project</ts-button>\n </div>\n </ts-empty-state>\n </div>\n </div>\n`;\n"]}
|