@tartaguti/ui-components 0.0.0-stage → 0.1.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/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +192 -2
- package/THIRD-PARTY-NOTICES.md +29 -0
- package/custom-elements.json +16731 -0
- package/dist/accordion/tt-accordion-item.d.ts +32 -0
- package/dist/accordion/tt-accordion-item.d.ts.map +1 -0
- package/dist/accordion/tt-accordion-item.js +247 -0
- package/dist/accordion/tt-accordion-item.js.map +1 -0
- package/dist/accordion/tt-accordion.d.ts +28 -0
- package/dist/accordion/tt-accordion.d.ts.map +1 -0
- package/dist/accordion/tt-accordion.js +148 -0
- package/dist/accordion/tt-accordion.js.map +1 -0
- package/dist/bento/tt-bento-item.d.ts +35 -0
- package/dist/bento/tt-bento-item.d.ts.map +1 -0
- package/dist/bento/tt-bento-item.js +201 -0
- package/dist/bento/tt-bento-item.js.map +1 -0
- package/dist/bento/tt-bento.d.ts +25 -0
- package/dist/bento/tt-bento.d.ts.map +1 -0
- package/dist/bento/tt-bento.js +314 -0
- package/dist/bento/tt-bento.js.map +1 -0
- package/dist/floating.d.ts +61 -0
- package/dist/floating.d.ts.map +1 -0
- package/dist/floating.js +120 -0
- package/dist/floating.js.map +1 -0
- package/dist/index.d.ts +92 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +96 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/tt-draggable.d.ts +29 -0
- package/dist/interaction/tt-draggable.d.ts.map +1 -0
- package/dist/interaction/tt-draggable.js +66 -0
- package/dist/interaction/tt-draggable.js.map +1 -0
- package/dist/interaction/tt-droppable.d.ts +37 -0
- package/dist/interaction/tt-droppable.d.ts.map +1 -0
- package/dist/interaction/tt-droppable.js +108 -0
- package/dist/interaction/tt-droppable.js.map +1 -0
- package/dist/interaction/tt-resizable.d.ts +45 -0
- package/dist/interaction/tt-resizable.d.ts.map +1 -0
- package/dist/interaction/tt-resizable.js +210 -0
- package/dist/interaction/tt-resizable.js.map +1 -0
- package/dist/interaction/tt-reveal.d.ts +54 -0
- package/dist/interaction/tt-reveal.d.ts.map +1 -0
- package/dist/interaction/tt-reveal.js +302 -0
- package/dist/interaction/tt-reveal.js.map +1 -0
- package/dist/motion.d.ts +8 -0
- package/dist/motion.d.ts.map +1 -0
- package/dist/motion.js +49 -0
- package/dist/motion.js.map +1 -0
- package/dist/overlay.d.ts +7 -0
- package/dist/overlay.d.ts.map +1 -0
- package/dist/overlay.js +121 -0
- package/dist/overlay.js.map +1 -0
- package/dist/safe-url.d.ts +14 -0
- package/dist/safe-url.d.ts.map +1 -0
- package/dist/safe-url.js +46 -0
- package/dist/safe-url.js.map +1 -0
- package/dist/scroll-lock.d.ts +22 -0
- package/dist/scroll-lock.d.ts.map +1 -0
- package/dist/scroll-lock.js +56 -0
- package/dist/scroll-lock.js.map +1 -0
- package/dist/sidebar/tt-menu-group.d.ts +69 -0
- package/dist/sidebar/tt-menu-group.d.ts.map +1 -0
- package/dist/sidebar/tt-menu-group.js +358 -0
- package/dist/sidebar/tt-menu-group.js.map +1 -0
- package/dist/sidebar/tt-menu-item.d.ts +70 -0
- package/dist/sidebar/tt-menu-item.d.ts.map +1 -0
- package/dist/sidebar/tt-menu-item.js +502 -0
- package/dist/sidebar/tt-menu-item.js.map +1 -0
- package/dist/sidebar/tt-sidebar-footer.d.ts +39 -0
- package/dist/sidebar/tt-sidebar-footer.d.ts.map +1 -0
- package/dist/sidebar/tt-sidebar-footer.js +205 -0
- package/dist/sidebar/tt-sidebar-footer.js.map +1 -0
- package/dist/sidebar/tt-sidebar-header.d.ts +31 -0
- package/dist/sidebar/tt-sidebar-header.d.ts.map +1 -0
- package/dist/sidebar/tt-sidebar-header.js +150 -0
- package/dist/sidebar/tt-sidebar-header.js.map +1 -0
- package/dist/sidebar/tt-sidebar.d.ts +72 -0
- package/dist/sidebar/tt-sidebar.d.ts.map +1 -0
- package/dist/sidebar/tt-sidebar.js +539 -0
- package/dist/sidebar/tt-sidebar.js.map +1 -0
- package/dist/sr-only.d.ts +15 -0
- package/dist/sr-only.d.ts.map +1 -0
- package/dist/sr-only.js +27 -0
- package/dist/sr-only.js.map +1 -0
- package/dist/tokens.css +1124 -0
- package/dist/tt-alert.d.ts +26 -0
- package/dist/tt-alert.d.ts.map +1 -0
- package/dist/tt-alert.js +165 -0
- package/dist/tt-alert.js.map +1 -0
- package/dist/tt-aspect-ratio.d.ts +40 -0
- package/dist/tt-aspect-ratio.d.ts.map +1 -0
- package/dist/tt-aspect-ratio.js +98 -0
- package/dist/tt-aspect-ratio.js.map +1 -0
- package/dist/tt-auth.d.ts +75 -0
- package/dist/tt-auth.d.ts.map +1 -0
- package/dist/tt-auth.js +520 -0
- package/dist/tt-auth.js.map +1 -0
- package/dist/tt-avatar.d.ts +26 -0
- package/dist/tt-avatar.d.ts.map +1 -0
- package/dist/tt-avatar.js +169 -0
- package/dist/tt-avatar.js.map +1 -0
- package/dist/tt-badge.d.ts +36 -0
- package/dist/tt-badge.d.ts.map +1 -0
- package/dist/tt-badge.js +135 -0
- package/dist/tt-badge.js.map +1 -0
- package/dist/tt-breadcrumbs.d.ts +22 -0
- package/dist/tt-breadcrumbs.d.ts.map +1 -0
- package/dist/tt-breadcrumbs.js +144 -0
- package/dist/tt-breadcrumbs.js.map +1 -0
- package/dist/tt-button-group.d.ts +32 -0
- package/dist/tt-button-group.d.ts.map +1 -0
- package/dist/tt-button-group.js +132 -0
- package/dist/tt-button-group.js.map +1 -0
- package/dist/tt-button.d.ts +31 -0
- package/dist/tt-button.d.ts.map +1 -0
- package/dist/tt-button.js +483 -0
- package/dist/tt-button.js.map +1 -0
- package/dist/tt-card.d.ts +26 -0
- package/dist/tt-card.d.ts.map +1 -0
- package/dist/tt-card.js +429 -0
- package/dist/tt-card.js.map +1 -0
- package/dist/tt-chart.d.ts +36 -0
- package/dist/tt-chart.d.ts.map +1 -0
- package/dist/tt-chart.js +332 -0
- package/dist/tt-chart.js.map +1 -0
- package/dist/tt-checkbox-group.d.ts +38 -0
- package/dist/tt-checkbox-group.d.ts.map +1 -0
- package/dist/tt-checkbox-group.js +243 -0
- package/dist/tt-checkbox-group.js.map +1 -0
- package/dist/tt-checkbox.d.ts +35 -0
- package/dist/tt-checkbox.d.ts.map +1 -0
- package/dist/tt-checkbox.js +354 -0
- package/dist/tt-checkbox.js.map +1 -0
- package/dist/tt-code-block.d.ts +37 -0
- package/dist/tt-code-block.d.ts.map +1 -0
- package/dist/tt-code-block.js +409 -0
- package/dist/tt-code-block.js.map +1 -0
- package/dist/tt-collapsible.d.ts +71 -0
- package/dist/tt-collapsible.d.ts.map +1 -0
- package/dist/tt-collapsible.js +206 -0
- package/dist/tt-collapsible.js.map +1 -0
- package/dist/tt-combobox.d.ts +107 -0
- package/dist/tt-combobox.d.ts.map +1 -0
- package/dist/tt-combobox.js +816 -0
- package/dist/tt-combobox.js.map +1 -0
- package/dist/tt-company-card.d.ts +30 -0
- package/dist/tt-company-card.d.ts.map +1 -0
- package/dist/tt-company-card.js +382 -0
- package/dist/tt-company-card.js.map +1 -0
- package/dist/tt-comparison-table.d.ts +59 -0
- package/dist/tt-comparison-table.d.ts.map +1 -0
- package/dist/tt-comparison-table.js +441 -0
- package/dist/tt-comparison-table.js.map +1 -0
- package/dist/tt-component-doc.d.ts +63 -0
- package/dist/tt-component-doc.d.ts.map +1 -0
- package/dist/tt-component-doc.js +585 -0
- package/dist/tt-component-doc.js.map +1 -0
- package/dist/tt-confirm.d.ts +45 -0
- package/dist/tt-confirm.d.ts.map +1 -0
- package/dist/tt-confirm.js +151 -0
- package/dist/tt-confirm.js.map +1 -0
- package/dist/tt-contact-list.d.ts +18 -0
- package/dist/tt-contact-list.d.ts.map +1 -0
- package/dist/tt-contact-list.js +101 -0
- package/dist/tt-contact-list.js.map +1 -0
- package/dist/tt-copy-button.d.ts +25 -0
- package/dist/tt-copy-button.d.ts.map +1 -0
- package/dist/tt-copy-button.js +194 -0
- package/dist/tt-copy-button.js.map +1 -0
- package/dist/tt-data-table.d.ts +69 -0
- package/dist/tt-data-table.d.ts.map +1 -0
- package/dist/tt-data-table.js +542 -0
- package/dist/tt-data-table.js.map +1 -0
- package/dist/tt-divider.d.ts +19 -0
- package/dist/tt-divider.d.ts.map +1 -0
- package/dist/tt-divider.js +104 -0
- package/dist/tt-divider.js.map +1 -0
- package/dist/tt-drawer.d.ts +38 -0
- package/dist/tt-drawer.d.ts.map +1 -0
- package/dist/tt-drawer.js +433 -0
- package/dist/tt-drawer.js.map +1 -0
- package/dist/tt-dropdown-menu.d.ts +57 -0
- package/dist/tt-dropdown-menu.d.ts.map +1 -0
- package/dist/tt-dropdown-menu.js +631 -0
- package/dist/tt-dropdown-menu.js.map +1 -0
- package/dist/tt-empty-state.d.ts +13 -0
- package/dist/tt-empty-state.d.ts.map +1 -0
- package/dist/tt-empty-state.js +94 -0
- package/dist/tt-empty-state.js.map +1 -0
- package/dist/tt-example.d.ts +33 -0
- package/dist/tt-example.d.ts.map +1 -0
- package/dist/tt-example.js +250 -0
- package/dist/tt-example.js.map +1 -0
- package/dist/tt-file-upload.d.ts +85 -0
- package/dist/tt-file-upload.d.ts.map +1 -0
- package/dist/tt-file-upload.js +662 -0
- package/dist/tt-file-upload.js.map +1 -0
- package/dist/tt-filter.d.ts +62 -0
- package/dist/tt-filter.d.ts.map +1 -0
- package/dist/tt-filter.js +393 -0
- package/dist/tt-filter.js.map +1 -0
- package/dist/tt-form.d.ts +33 -0
- package/dist/tt-form.d.ts.map +1 -0
- package/dist/tt-form.js +202 -0
- package/dist/tt-form.js.map +1 -0
- package/dist/tt-grid.d.ts +22 -0
- package/dist/tt-grid.d.ts.map +1 -0
- package/dist/tt-grid.js +106 -0
- package/dist/tt-grid.js.map +1 -0
- package/dist/tt-icon.d.ts +20 -0
- package/dist/tt-icon.d.ts.map +1 -0
- package/dist/tt-icon.js +510 -0
- package/dist/tt-icon.js.map +1 -0
- package/dist/tt-image.d.ts +59 -0
- package/dist/tt-image.d.ts.map +1 -0
- package/dist/tt-image.js +314 -0
- package/dist/tt-image.js.map +1 -0
- package/dist/tt-inbox.d.ts +45 -0
- package/dist/tt-inbox.d.ts.map +1 -0
- package/dist/tt-inbox.js +275 -0
- package/dist/tt-inbox.js.map +1 -0
- package/dist/tt-input.d.ts +43 -0
- package/dist/tt-input.d.ts.map +1 -0
- package/dist/tt-input.js +476 -0
- package/dist/tt-input.js.map +1 -0
- package/dist/tt-kbd.d.ts +39 -0
- package/dist/tt-kbd.d.ts.map +1 -0
- package/dist/tt-kbd.js +145 -0
- package/dist/tt-kbd.js.map +1 -0
- package/dist/tt-key-values.d.ts +17 -0
- package/dist/tt-key-values.d.ts.map +1 -0
- package/dist/tt-key-values.js +126 -0
- package/dist/tt-key-values.js.map +1 -0
- package/dist/tt-knowledge-doc.d.ts +24 -0
- package/dist/tt-knowledge-doc.d.ts.map +1 -0
- package/dist/tt-knowledge-doc.js +120 -0
- package/dist/tt-knowledge-doc.js.map +1 -0
- package/dist/tt-layout.d.ts +36 -0
- package/dist/tt-layout.d.ts.map +1 -0
- package/dist/tt-layout.js +318 -0
- package/dist/tt-layout.js.map +1 -0
- package/dist/tt-modal.d.ts +32 -0
- package/dist/tt-modal.d.ts.map +1 -0
- package/dist/tt-modal.js +553 -0
- package/dist/tt-modal.js.map +1 -0
- package/dist/tt-navbar.d.ts +33 -0
- package/dist/tt-navbar.d.ts.map +1 -0
- package/dist/tt-navbar.js +390 -0
- package/dist/tt-navbar.js.map +1 -0
- package/dist/tt-page-header.d.ts +28 -0
- package/dist/tt-page-header.d.ts.map +1 -0
- package/dist/tt-page-header.js +166 -0
- package/dist/tt-page-header.js.map +1 -0
- package/dist/tt-page.d.ts +14 -0
- package/dist/tt-page.d.ts.map +1 -0
- package/dist/tt-page.js +163 -0
- package/dist/tt-page.js.map +1 -0
- package/dist/tt-pagination.d.ts +27 -0
- package/dist/tt-pagination.d.ts.map +1 -0
- package/dist/tt-pagination.js +194 -0
- package/dist/tt-pagination.js.map +1 -0
- package/dist/tt-preview.d.ts +11 -0
- package/dist/tt-preview.d.ts.map +1 -0
- package/dist/tt-preview.js +68 -0
- package/dist/tt-preview.js.map +1 -0
- package/dist/tt-product.d.ts +40 -0
- package/dist/tt-product.d.ts.map +1 -0
- package/dist/tt-product.js +590 -0
- package/dist/tt-product.js.map +1 -0
- package/dist/tt-profile-card.d.ts +23 -0
- package/dist/tt-profile-card.d.ts.map +1 -0
- package/dist/tt-profile-card.js +199 -0
- package/dist/tt-profile-card.js.map +1 -0
- package/dist/tt-progress.d.ts +26 -0
- package/dist/tt-progress.d.ts.map +1 -0
- package/dist/tt-progress.js +156 -0
- package/dist/tt-progress.js.map +1 -0
- package/dist/tt-quantity.d.ts +36 -0
- package/dist/tt-quantity.d.ts.map +1 -0
- package/dist/tt-quantity.js +396 -0
- package/dist/tt-quantity.js.map +1 -0
- package/dist/tt-radio-group.d.ts +50 -0
- package/dist/tt-radio-group.d.ts.map +1 -0
- package/dist/tt-radio-group.js +372 -0
- package/dist/tt-radio-group.js.map +1 -0
- package/dist/tt-rating.d.ts +54 -0
- package/dist/tt-rating.d.ts.map +1 -0
- package/dist/tt-rating.js +312 -0
- package/dist/tt-rating.js.map +1 -0
- package/dist/tt-search.d.ts +47 -0
- package/dist/tt-search.d.ts.map +1 -0
- package/dist/tt-search.js +360 -0
- package/dist/tt-search.js.map +1 -0
- package/dist/tt-section.d.ts +13 -0
- package/dist/tt-section.d.ts.map +1 -0
- package/dist/tt-section.js +98 -0
- package/dist/tt-section.js.map +1 -0
- package/dist/tt-select.d.ts +62 -0
- package/dist/tt-select.d.ts.map +1 -0
- package/dist/tt-select.js +662 -0
- package/dist/tt-select.js.map +1 -0
- package/dist/tt-skeleton.d.ts +20 -0
- package/dist/tt-skeleton.d.ts.map +1 -0
- package/dist/tt-skeleton.js +143 -0
- package/dist/tt-skeleton.js.map +1 -0
- package/dist/tt-slider.d.ts +74 -0
- package/dist/tt-slider.d.ts.map +1 -0
- package/dist/tt-slider.js +426 -0
- package/dist/tt-slider.js.map +1 -0
- package/dist/tt-social-links.d.ts +34 -0
- package/dist/tt-social-links.d.ts.map +1 -0
- package/dist/tt-social-links.js +242 -0
- package/dist/tt-social-links.js.map +1 -0
- package/dist/tt-sparkline.d.ts +19 -0
- package/dist/tt-sparkline.d.ts.map +1 -0
- package/dist/tt-sparkline.js +191 -0
- package/dist/tt-sparkline.js.map +1 -0
- package/dist/tt-spinner.d.ts +19 -0
- package/dist/tt-spinner.d.ts.map +1 -0
- package/dist/tt-spinner.js +93 -0
- package/dist/tt-spinner.js.map +1 -0
- package/dist/tt-stack.d.ts +42 -0
- package/dist/tt-stack.d.ts.map +1 -0
- package/dist/tt-stack.js +158 -0
- package/dist/tt-stack.js.map +1 -0
- package/dist/tt-stat.d.ts +17 -0
- package/dist/tt-stat.d.ts.map +1 -0
- package/dist/tt-stat.js +134 -0
- package/dist/tt-stat.js.map +1 -0
- package/dist/tt-switch.d.ts +39 -0
- package/dist/tt-switch.d.ts.map +1 -0
- package/dist/tt-switch.js +254 -0
- package/dist/tt-switch.js.map +1 -0
- package/dist/tt-switcher.d.ts +23 -0
- package/dist/tt-switcher.d.ts.map +1 -0
- package/dist/tt-switcher.js +203 -0
- package/dist/tt-switcher.js.map +1 -0
- package/dist/tt-table-cell.d.ts +26 -0
- package/dist/tt-table-cell.d.ts.map +1 -0
- package/dist/tt-table-cell.js +121 -0
- package/dist/tt-table-cell.js.map +1 -0
- package/dist/tt-table-row.d.ts +31 -0
- package/dist/tt-table-row.d.ts.map +1 -0
- package/dist/tt-table-row.js +72 -0
- package/dist/tt-table-row.js.map +1 -0
- package/dist/tt-table.d.ts +44 -0
- package/dist/tt-table.d.ts.map +1 -0
- package/dist/tt-table.js +270 -0
- package/dist/tt-table.js.map +1 -0
- package/dist/tt-tabs.d.ts +31 -0
- package/dist/tt-tabs.d.ts.map +1 -0
- package/dist/tt-tabs.js +223 -0
- package/dist/tt-tabs.js.map +1 -0
- package/dist/tt-tag-list.d.ts +19 -0
- package/dist/tt-tag-list.d.ts.map +1 -0
- package/dist/tt-tag-list.js +136 -0
- package/dist/tt-tag-list.js.map +1 -0
- package/dist/tt-text.d.ts +52 -0
- package/dist/tt-text.d.ts.map +1 -0
- package/dist/tt-text.js +337 -0
- package/dist/tt-text.js.map +1 -0
- package/dist/tt-textarea.d.ts +43 -0
- package/dist/tt-textarea.d.ts.map +1 -0
- package/dist/tt-textarea.js +356 -0
- package/dist/tt-textarea.js.map +1 -0
- package/dist/tt-thread.d.ts +62 -0
- package/dist/tt-thread.d.ts.map +1 -0
- package/dist/tt-thread.js +374 -0
- package/dist/tt-thread.js.map +1 -0
- package/dist/tt-toast.d.ts +49 -0
- package/dist/tt-toast.d.ts.map +1 -0
- package/dist/tt-toast.js +440 -0
- package/dist/tt-toast.js.map +1 -0
- package/dist/tt-toggle-group.d.ts +73 -0
- package/dist/tt-toggle-group.d.ts.map +1 -0
- package/dist/tt-toggle-group.js +273 -0
- package/dist/tt-toggle-group.js.map +1 -0
- package/dist/tt-toggle.d.ts +54 -0
- package/dist/tt-toggle.d.ts.map +1 -0
- package/dist/tt-toggle.js +232 -0
- package/dist/tt-toggle.js.map +1 -0
- package/dist/tt-toolbar.d.ts +26 -0
- package/dist/tt-toolbar.d.ts.map +1 -0
- package/dist/tt-toolbar.js +164 -0
- package/dist/tt-toolbar.js.map +1 -0
- package/dist/tt-tooltip.d.ts +42 -0
- package/dist/tt-tooltip.d.ts.map +1 -0
- package/dist/tt-tooltip.js +299 -0
- package/dist/tt-tooltip.js.map +1 -0
- package/package.json +84 -4
- package/vscode.html-custom-data.json +2907 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-checkbox.d.ts","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1C,qBACa,UAAW,SAAQ,UAAU;IAGxC,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,SAAS,CAA0B;IAYA,IAAI,SAAM;IAIrD,KAAK,SAAQ;IAGb,OAAO,UAAS;IAIhB,aAAa,UAAS;IAGtB,QAAQ,UAAS;IAGjB,QAAQ,UAAS;IAGjB,KAAK,SAAM;IAcX,WAAW,UAAS;IAGpB,KAAK,SAAM;IAEX,OAAO,CAAC,OAAO,CAA0B;IAEzC,IAAI,IAAI,2BAEP;IAED,IAAI,QAAQ,kBAEX;IACD,aAAa;IAIb,cAAc;IAId,iBAAiB;IAKjB,iBAAiB;IAKjB,wBAAwB,CAAC,KAAK,EAAE,MAAM;IAItC,OAAO,CAAC,OAAO,EAAE,cAAc;IAiB/B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,YAAY;IAiBpB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,MAAM,CAAC,MAAM,4BAqKX;IAEF,MAAM;CAuCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { LitElement, html, css } from "lit";
|
|
8
|
+
import { customElement, property } from "lit/decorators.js";
|
|
9
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
10
|
+
import { srOnly } from "./sr-only.js";
|
|
11
|
+
let uid = 0;
|
|
12
|
+
let TTCheckbox = class TTCheckbox extends LitElement {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.internals = this.attachInternals();
|
|
16
|
+
/*
|
|
17
|
+
Reflected, and it has to be.
|
|
18
|
+
|
|
19
|
+
A form-associated custom element is submitted under its name CONTENT
|
|
20
|
+
ATTRIBUTE, not its JS property. Without reflect, setting .name = "x"
|
|
21
|
+
from script leaves the attribute absent and the field vanishes from
|
|
22
|
+
FormData with no error anywhere. It only appeared to work because
|
|
23
|
+
every call site so far wrote name="x" in markup, which sets the
|
|
24
|
+
attribute directly.
|
|
25
|
+
*/
|
|
26
|
+
this.name = "";
|
|
27
|
+
// What gets submitted when checked. Matches the native default.
|
|
28
|
+
this.value = "on";
|
|
29
|
+
this.checked = false;
|
|
30
|
+
// "Some but not all" - used for a parent box over a group of children.
|
|
31
|
+
this.indeterminate = false;
|
|
32
|
+
this.disabled = false;
|
|
33
|
+
this.required = false;
|
|
34
|
+
this.label = "";
|
|
35
|
+
/*
|
|
36
|
+
Keeps the label in the accessibility tree while taking it off screen.
|
|
37
|
+
|
|
38
|
+
Needed wherever a checkbox sits somewhere its purpose is obvious to
|
|
39
|
+
the eye but invisible to a screen reader: a selection column in a
|
|
40
|
+
table, a card corner. The alternative that was in use, label="", is
|
|
41
|
+
not a hidden label, it is NO label, and axe reports it as a critical
|
|
42
|
+
violation because the control is unnameable.
|
|
43
|
+
|
|
44
|
+
Never reach for this when the label could simply be visible.
|
|
45
|
+
*/
|
|
46
|
+
this.labelHidden = false;
|
|
47
|
+
this.error = "";
|
|
48
|
+
this.inputId = `tt-checkbox-${++uid}`;
|
|
49
|
+
}
|
|
50
|
+
// Lets the browser treat this element like a native form control:
|
|
51
|
+
// it can be submitted, reset and validated as part of a <form>.
|
|
52
|
+
static { this.formAssociated = true; }
|
|
53
|
+
get form() {
|
|
54
|
+
return this.internals.form;
|
|
55
|
+
}
|
|
56
|
+
get validity() {
|
|
57
|
+
return this.internals.validity;
|
|
58
|
+
}
|
|
59
|
+
checkValidity() {
|
|
60
|
+
return this.internals.checkValidity();
|
|
61
|
+
}
|
|
62
|
+
reportValidity() {
|
|
63
|
+
return this.internals.reportValidity();
|
|
64
|
+
}
|
|
65
|
+
connectedCallback() {
|
|
66
|
+
super.connectedCallback();
|
|
67
|
+
this.syncFormState();
|
|
68
|
+
}
|
|
69
|
+
formResetCallback() {
|
|
70
|
+
this.checked = false;
|
|
71
|
+
this.indeterminate = false;
|
|
72
|
+
}
|
|
73
|
+
formStateRestoreCallback(state) {
|
|
74
|
+
this.checked = state === this.value;
|
|
75
|
+
}
|
|
76
|
+
updated(changed) {
|
|
77
|
+
// `indeterminate` exists only as a JS property - there is no HTML
|
|
78
|
+
// attribute for it - so it has to be assigned to the input directly.
|
|
79
|
+
if (changed.has("indeterminate")) {
|
|
80
|
+
const input = this.renderRoot.querySelector("input");
|
|
81
|
+
if (input)
|
|
82
|
+
input.indeterminate = this.indeterminate;
|
|
83
|
+
}
|
|
84
|
+
if (changed.has("checked") ||
|
|
85
|
+
changed.has("required") ||
|
|
86
|
+
changed.has("value")) {
|
|
87
|
+
this.syncFormState();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
syncFormState() {
|
|
91
|
+
// An unchecked box submits *nothing* - it is absent from FormData
|
|
92
|
+
// rather than empty. null is how you express that.
|
|
93
|
+
this.internals.setFormValue(this.checked ? this.value : null);
|
|
94
|
+
const missing = this.required && !this.checked;
|
|
95
|
+
const input = this.renderRoot?.querySelector("input");
|
|
96
|
+
if (missing) {
|
|
97
|
+
// Third argument is where the browser focuses when it blocks submit.
|
|
98
|
+
this.internals.setValidity({ valueMissing: true }, "Please tick this box.", input ?? undefined);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.internals.setValidity({});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
handleChange(event) {
|
|
105
|
+
const input = event.target;
|
|
106
|
+
this.checked = input.checked;
|
|
107
|
+
// Any interaction resolves the mixed state.
|
|
108
|
+
this.indeterminate = false;
|
|
109
|
+
this.dispatchEvent(new CustomEvent("tt-change", {
|
|
110
|
+
detail: { checked: this.checked, value: this.value },
|
|
111
|
+
bubbles: true,
|
|
112
|
+
composed: true,
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
focus(options) {
|
|
116
|
+
this.renderRoot?.querySelector("input")?.focus(options);
|
|
117
|
+
}
|
|
118
|
+
static { this.styles = [
|
|
119
|
+
srOnly,
|
|
120
|
+
css `
|
|
121
|
+
/* The browser's own [hidden] rule loses to any :host display, so a
|
|
122
|
+
hidden element would still show. Important, so it always wins. */
|
|
123
|
+
:host([hidden]) {
|
|
124
|
+
display: none !important;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
:host {
|
|
128
|
+
display: inline-block;
|
|
129
|
+
font-family: var(--tt-font-sans);
|
|
130
|
+
-webkit-font-smoothing: antialiased;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
:host([disabled]) {
|
|
134
|
+
opacity: var(--tt-opacity-disabled);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Wrapping the input in the label is what makes clicking the text
|
|
138
|
+
toggle the box - no "for" attribute needed. */
|
|
139
|
+
label {
|
|
140
|
+
display: inline-flex;
|
|
141
|
+
align-items: flex-start;
|
|
142
|
+
gap: var(--tt-space-2);
|
|
143
|
+
|
|
144
|
+
cursor: pointer;
|
|
145
|
+
user-select: none;
|
|
146
|
+
|
|
147
|
+
font-size: var(--tt-text-sm);
|
|
148
|
+
color: var(--tt-foreground);
|
|
149
|
+
line-height: var(--tt-leading-snug);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
:host([disabled]) label {
|
|
153
|
+
cursor: not-allowed;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* appearance:none strips the OS checkbox but keeps a real input, so
|
|
157
|
+
keyboard, focus and form behaviour still come from the platform. */
|
|
158
|
+
/*
|
|
159
|
+
THE MARK IS POSITIONED, NOT LAID OUT, and that is a correctness fix
|
|
160
|
+
rather than a preference.
|
|
161
|
+
|
|
162
|
+
This used to be a grid that centred its ::after. A grid container
|
|
163
|
+
takes its baseline from its first in-flow item, so the box HAD a
|
|
164
|
+
baseline when ticked, a different one when mixed, and none at all
|
|
165
|
+
when empty. The label above is inline-flex and inherits its
|
|
166
|
+
baseline from this input, so the whole control sat on a different
|
|
167
|
+
line depending on its state: the box visibly jumped up or down as
|
|
168
|
+
you clicked it, and the host grew from 22px to 26.59px.
|
|
169
|
+
|
|
170
|
+
Out of flow, there is never an in-flow item, so the baseline is
|
|
171
|
+
synthesised from this element's own box and is identical in all
|
|
172
|
+
three states.
|
|
173
|
+
*/
|
|
174
|
+
input {
|
|
175
|
+
appearance: none;
|
|
176
|
+
-webkit-appearance: none;
|
|
177
|
+
margin: 0;
|
|
178
|
+
|
|
179
|
+
flex: 0 0 auto;
|
|
180
|
+
width: 18px;
|
|
181
|
+
height: 18px;
|
|
182
|
+
|
|
183
|
+
position: relative;
|
|
184
|
+
display: block;
|
|
185
|
+
|
|
186
|
+
/*
|
|
187
|
+
--tt-border-strong, not --tt-input. A text field is found by its
|
|
188
|
+
label and its width; an 18px box has nothing but this edge, and at
|
|
189
|
+
the field border's 1.2:1 an unticked box in a table row all but
|
|
190
|
+
disappeared. The strong border is 4.5:1 on the card and the page
|
|
191
|
+
in both modes, past the 3:1 WCAG asks of a control's boundary.
|
|
192
|
+
Hover goes one step further, to the text colour.
|
|
193
|
+
*/
|
|
194
|
+
border: 1px solid var(--tt-border-strong);
|
|
195
|
+
border-radius: var(--tt-radius-sm);
|
|
196
|
+
background: var(--tt-field);
|
|
197
|
+
|
|
198
|
+
cursor: inherit;
|
|
199
|
+
|
|
200
|
+
transition:
|
|
201
|
+
background var(--tt-duration-normal) var(--tt-ease),
|
|
202
|
+
border-color var(--tt-duration-normal) var(--tt-ease),
|
|
203
|
+
box-shadow var(--tt-duration-normal) var(--tt-ease);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
input:hover:not(:disabled) {
|
|
207
|
+
border-color: var(--tt-foreground);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
input:focus-visible {
|
|
211
|
+
outline: var(--tt-ring-width) solid var(--tt-ring);
|
|
212
|
+
outline-offset: var(--tt-ring-offset);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
input:checked,
|
|
216
|
+
input:indeterminate {
|
|
217
|
+
background: var(--tt-primary);
|
|
218
|
+
border-color: var(--tt-primary);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/* Tick: two borders of a box, rotated 45°. */
|
|
222
|
+
/* Both marks are centred the same way: translate to the middle by
|
|
223
|
+
their own size, then rotate about that point. */
|
|
224
|
+
input::after {
|
|
225
|
+
position: absolute;
|
|
226
|
+
top: 50%;
|
|
227
|
+
left: 50%;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
input:checked::after {
|
|
231
|
+
content: "";
|
|
232
|
+
|
|
233
|
+
width: 4px;
|
|
234
|
+
height: 8px;
|
|
235
|
+
|
|
236
|
+
border: solid var(--tt-primary-foreground);
|
|
237
|
+
border-width: 0 2px 2px 0;
|
|
238
|
+
|
|
239
|
+
/* -60% rather than -50%: a tick reads low when its bounding box is
|
|
240
|
+
centred, because the visual mass sits below the box's middle. */
|
|
241
|
+
transform: translate(-50%, -60%) rotate(45deg);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* Mixed state wins over the tick, so it comes after. */
|
|
245
|
+
input:indeterminate::after {
|
|
246
|
+
content: "";
|
|
247
|
+
|
|
248
|
+
width: 9px;
|
|
249
|
+
height: 2px;
|
|
250
|
+
|
|
251
|
+
border: none;
|
|
252
|
+
border-radius: 1px;
|
|
253
|
+
background: var(--tt-primary-foreground);
|
|
254
|
+
|
|
255
|
+
transform: translate(-50%, -50%);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
input.error {
|
|
259
|
+
border-color: var(--tt-destructive);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
input:disabled {
|
|
263
|
+
cursor: not-allowed;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.req {
|
|
267
|
+
margin-left: 2px;
|
|
268
|
+
color: var(--tt-destructive);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.error-text {
|
|
272
|
+
display: block;
|
|
273
|
+
margin-top: var(--tt-space-1);
|
|
274
|
+
/* Under the label text, where it sat when it was inside the label. */
|
|
275
|
+
padding-left: calc(18px + var(--tt-space-2));
|
|
276
|
+
|
|
277
|
+
color: var(--tt-destructive);
|
|
278
|
+
font-size: var(--tt-text-xs);
|
|
279
|
+
font-weight: var(--tt-weight-medium);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
`,
|
|
283
|
+
]; }
|
|
284
|
+
render() {
|
|
285
|
+
const errorId = this.error ? `${this.inputId}-error` : undefined;
|
|
286
|
+
return html `
|
|
287
|
+
<label part="label">
|
|
288
|
+
<input
|
|
289
|
+
part="control"
|
|
290
|
+
id=${this.inputId}
|
|
291
|
+
type="checkbox"
|
|
292
|
+
class=${this.error ? "error" : ""}
|
|
293
|
+
.checked=${this.checked}
|
|
294
|
+
?disabled=${this.disabled}
|
|
295
|
+
?required=${this.required}
|
|
296
|
+
aria-invalid=${this.error ? "true" : "false"}
|
|
297
|
+
aria-describedby=${ifDefined(errorId)}
|
|
298
|
+
@change=${this.handleChange}
|
|
299
|
+
/>
|
|
300
|
+
|
|
301
|
+
<span>
|
|
302
|
+
<span class=${this.labelHidden ? "sr-only" : ""}>${this.label}</span>
|
|
303
|
+
${this.required
|
|
304
|
+
? html `<span class="req" aria-hidden="true">*</span>`
|
|
305
|
+
: ""}
|
|
306
|
+
<slot></slot>
|
|
307
|
+
</span>
|
|
308
|
+
</label>
|
|
309
|
+
|
|
310
|
+
<!-- Outside the <label>: everything inside a label becomes the
|
|
311
|
+
checkbox's NAME, so the error was read twice, once in the name
|
|
312
|
+
and once as the description. -->
|
|
313
|
+
${this.error
|
|
314
|
+
? html `
|
|
315
|
+
<span id=${ifDefined(errorId)} class="error-text" role="alert">
|
|
316
|
+
${this.error}
|
|
317
|
+
</span>
|
|
318
|
+
`
|
|
319
|
+
: ""}
|
|
320
|
+
`;
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
__decorate([
|
|
324
|
+
property({ type: String, reflect: true })
|
|
325
|
+
], TTCheckbox.prototype, "name", void 0);
|
|
326
|
+
__decorate([
|
|
327
|
+
property({ type: String })
|
|
328
|
+
], TTCheckbox.prototype, "value", void 0);
|
|
329
|
+
__decorate([
|
|
330
|
+
property({ type: Boolean, reflect: true })
|
|
331
|
+
], TTCheckbox.prototype, "checked", void 0);
|
|
332
|
+
__decorate([
|
|
333
|
+
property({ type: Boolean, reflect: true })
|
|
334
|
+
], TTCheckbox.prototype, "indeterminate", void 0);
|
|
335
|
+
__decorate([
|
|
336
|
+
property({ type: Boolean, reflect: true })
|
|
337
|
+
], TTCheckbox.prototype, "disabled", void 0);
|
|
338
|
+
__decorate([
|
|
339
|
+
property({ type: Boolean })
|
|
340
|
+
], TTCheckbox.prototype, "required", void 0);
|
|
341
|
+
__decorate([
|
|
342
|
+
property({ type: String })
|
|
343
|
+
], TTCheckbox.prototype, "label", void 0);
|
|
344
|
+
__decorate([
|
|
345
|
+
property({ type: Boolean, attribute: "label-hidden", reflect: true })
|
|
346
|
+
], TTCheckbox.prototype, "labelHidden", void 0);
|
|
347
|
+
__decorate([
|
|
348
|
+
property({ type: String })
|
|
349
|
+
], TTCheckbox.prototype, "error", void 0);
|
|
350
|
+
TTCheckbox = __decorate([
|
|
351
|
+
customElement("tt-checkbox")
|
|
352
|
+
], TTCheckbox);
|
|
353
|
+
export { TTCheckbox };
|
|
354
|
+
//# sourceMappingURL=tt-checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-checkbox.js","sourceRoot":"","sources":["../src/tt-checkbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import "prismjs/components/prism-typescript";
|
|
3
|
+
import "prismjs/components/prism-javascript";
|
|
4
|
+
import "prismjs/components/prism-css";
|
|
5
|
+
import "prismjs/components/prism-json";
|
|
6
|
+
import "prismjs/components/prism-markup";
|
|
7
|
+
import "./tt-icon.js";
|
|
8
|
+
interface CodeTab {
|
|
9
|
+
label?: string;
|
|
10
|
+
language?: string;
|
|
11
|
+
code: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class TTCodeBlock extends LitElement {
|
|
14
|
+
code: string;
|
|
15
|
+
language: string;
|
|
16
|
+
filename: string;
|
|
17
|
+
showLineNumbers: boolean;
|
|
18
|
+
tabs: CodeTab[];
|
|
19
|
+
private activeTabIndex;
|
|
20
|
+
private copied;
|
|
21
|
+
private copyTimer?;
|
|
22
|
+
disconnectedCallback(): void;
|
|
23
|
+
private get currentCode();
|
|
24
|
+
private get currentLanguage();
|
|
25
|
+
private get highlighted();
|
|
26
|
+
private copyCode;
|
|
27
|
+
private renderLineNumbers;
|
|
28
|
+
static styles: import("lit").CSSResult[];
|
|
29
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
30
|
+
}
|
|
31
|
+
declare global {
|
|
32
|
+
interface HTMLElementTagNameMap {
|
|
33
|
+
"tt-code-block": TTCodeBlock;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=tt-code-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-code-block.d.ts","sourceRoot":"","sources":["../src/tt-code-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAM5C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,8BAA8B,CAAC;AACtC,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AAEzC,OAAO,cAAc,CAAC;AAEtB,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBACa,WAAY,SAAQ,UAAU;IACb,IAAI,SAAM;IACV,QAAQ,SAAM;IACd,QAAQ,SAAM;IAG1C,eAAe,UAAS;IACG,IAAI,EAAE,OAAO,EAAE,CAAM;IAEvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,SAAS,CAAC,CAAgC;IAElD,oBAAoB;IAKpB,OAAO,KAAK,WAAW,GAKtB;IAED,OAAO,KAAK,eAAe,GAK1B;IAKD,OAAO,KAAK,WAAW,GAStB;YAEa,QAAQ;IAetB,OAAO,CAAC,iBAAiB;IAezB,MAAM,CAAC,MAAM,4BA8OV;IAEH,MAAM;CAmEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|