@tartaguti/ui-components 0.0.0-stage → 0.2.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 +13 -0
- package/LICENSE +21 -0
- package/README.md +192 -2
- package/THIRD-PARTY-NOTICES.md +29 -0
- package/custom-elements.json +16899 -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 +96 -0
- package/dist/tt-data-table.d.ts.map +1 -0
- package/dist/tt-data-table.js +812 -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 +2911 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import "../tt-icon.js";
|
|
3
|
+
/**
|
|
4
|
+
* One row of a `tt-accordion`.
|
|
5
|
+
*
|
|
6
|
+
* It deliberately does not own `open`. Clicking the header fires
|
|
7
|
+
* `tt-accordion-toggle` and the parent decides what happens, which is what
|
|
8
|
+
* makes single-open mode possible: only the parent can know that opening
|
|
9
|
+
* this item has to close another one.
|
|
10
|
+
*
|
|
11
|
+
* Used on its own it will not open, because nothing is listening.
|
|
12
|
+
*/
|
|
13
|
+
export declare class TTAccordionItem extends LitElement {
|
|
14
|
+
open: boolean;
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
heading: string;
|
|
17
|
+
value: string;
|
|
18
|
+
headingLevel: number;
|
|
19
|
+
private uid;
|
|
20
|
+
private headerId;
|
|
21
|
+
private contentId;
|
|
22
|
+
focusHeader(): void;
|
|
23
|
+
private toggle;
|
|
24
|
+
static styles: import("lit").CSSResult;
|
|
25
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
26
|
+
}
|
|
27
|
+
declare global {
|
|
28
|
+
interface HTMLElementTagNameMap {
|
|
29
|
+
"tt-accordion-item": TTAccordionItem;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=tt-accordion-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-accordion-item.d.ts","sourceRoot":"","sources":["../../src/accordion/tt-accordion-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,eAAe,CAAC;AAIvB;;;;;;;;;GASG;AACH,qBACa,eAAgB,SAAQ,UAAU;IAE7C,IAAI,UAAS;IAGb,QAAQ,UAAS;IAGjB,OAAO,SAAM;IAKb,KAAK,SAAM;IAQX,YAAY,SAAK;IAEjB,OAAO,CAAC,GAAG,CAAY;IAEvB,OAAO,CAAC,QAAQ,CAAqC;IAErD,OAAO,CAAC,SAAS,CAAsC;IAOvD,WAAW;IAIX,OAAO,CAAC,MAAM;IAiBd,MAAM,CAAC,MAAM,0BAgIX;IAEF,MAAM;CAqCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
|
|
@@ -0,0 +1,247 @@
|
|
|
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 "../tt-icon.js";
|
|
10
|
+
let itemId = 0;
|
|
11
|
+
/**
|
|
12
|
+
* One row of a `tt-accordion`.
|
|
13
|
+
*
|
|
14
|
+
* It deliberately does not own `open`. Clicking the header fires
|
|
15
|
+
* `tt-accordion-toggle` and the parent decides what happens, which is what
|
|
16
|
+
* makes single-open mode possible: only the parent can know that opening
|
|
17
|
+
* this item has to close another one.
|
|
18
|
+
*
|
|
19
|
+
* Used on its own it will not open, because nothing is listening.
|
|
20
|
+
*/
|
|
21
|
+
let TTAccordionItem = class TTAccordionItem extends LitElement {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
this.open = false;
|
|
25
|
+
this.disabled = false;
|
|
26
|
+
this.heading = "";
|
|
27
|
+
// Identifies the item to whoever handles the change event. Optional:
|
|
28
|
+
// the parent tracks items by reference, not by value.
|
|
29
|
+
this.value = "";
|
|
30
|
+
/*
|
|
31
|
+
A custom element cannot know where it sits in the page outline, so the
|
|
32
|
+
heading level is the author's call. role="heading" plus aria-level gives
|
|
33
|
+
them that without this component guessing an <h2> or <h3>.
|
|
34
|
+
*/
|
|
35
|
+
this.headingLevel = 3;
|
|
36
|
+
this.uid = ++itemId;
|
|
37
|
+
this.headerId = `tt-accordion-header-${this.uid}`;
|
|
38
|
+
this.contentId = `tt-accordion-content-${this.uid}`;
|
|
39
|
+
}
|
|
40
|
+
/*
|
|
41
|
+
The header button lives in this shadow root, so tt-accordion cannot
|
|
42
|
+
focus it directly. Exposing a method keeps the boundary intact instead
|
|
43
|
+
of having the parent reach through renderRoot.
|
|
44
|
+
*/
|
|
45
|
+
focusHeader() {
|
|
46
|
+
this.renderRoot.querySelector("button")?.focus();
|
|
47
|
+
}
|
|
48
|
+
toggle() {
|
|
49
|
+
if (this.disabled) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.dispatchEvent(new CustomEvent("tt-accordion-toggle", {
|
|
53
|
+
detail: {
|
|
54
|
+
open: !this.open,
|
|
55
|
+
value: this.value,
|
|
56
|
+
},
|
|
57
|
+
bubbles: true,
|
|
58
|
+
composed: true,
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
static { this.styles = css `
|
|
62
|
+
/* The browser's own [hidden] rule loses to any :host display, so a
|
|
63
|
+
hidden element would still show. Important, so it always wins. */
|
|
64
|
+
:host([hidden]) {
|
|
65
|
+
display: none !important;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host {
|
|
69
|
+
display: block;
|
|
70
|
+
|
|
71
|
+
font-family: var(--tt-font-sans);
|
|
72
|
+
-webkit-font-smoothing: antialiased;
|
|
73
|
+
|
|
74
|
+
color: var(--tt-foreground);
|
|
75
|
+
|
|
76
|
+
border-bottom: 1px solid var(--tt-border);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
:host(:last-of-type) {
|
|
80
|
+
border-bottom: none;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.heading {
|
|
84
|
+
margin: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
button {
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
justify-content: space-between;
|
|
91
|
+
gap: var(--tt-space-3);
|
|
92
|
+
|
|
93
|
+
width: 100%;
|
|
94
|
+
box-sizing: border-box;
|
|
95
|
+
|
|
96
|
+
padding: var(--tt-space-4);
|
|
97
|
+
|
|
98
|
+
border: none;
|
|
99
|
+
background: transparent;
|
|
100
|
+
|
|
101
|
+
font: inherit;
|
|
102
|
+
font-size: var(--tt-text-md);
|
|
103
|
+
font-weight: var(--tt-weight-semibold);
|
|
104
|
+
|
|
105
|
+
text-align: left;
|
|
106
|
+
color: inherit;
|
|
107
|
+
|
|
108
|
+
cursor: pointer;
|
|
109
|
+
|
|
110
|
+
transition: background var(--tt-duration-normal) var(--tt-ease);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
button:hover:not(:disabled) {
|
|
114
|
+
background: var(--tt-muted);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/*
|
|
118
|
+
The parent clips its corners with overflow: hidden, so a box-shadow
|
|
119
|
+
ring would be cut off at the edges. An inset outline draws inside the
|
|
120
|
+
button and survives that.
|
|
121
|
+
*/
|
|
122
|
+
button:focus-visible {
|
|
123
|
+
outline: var(--tt-ring-width) solid var(--tt-ring);
|
|
124
|
+
outline-offset: calc(var(--tt-ring-width) * -1);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
button:disabled {
|
|
128
|
+
opacity: var(--tt-opacity-disabled);
|
|
129
|
+
cursor: not-allowed;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.arrow {
|
|
133
|
+
display: inline-flex;
|
|
134
|
+
flex: none;
|
|
135
|
+
|
|
136
|
+
color: var(--tt-muted-foreground);
|
|
137
|
+
|
|
138
|
+
transition: transform var(--tt-duration-slow) var(--tt-ease-out);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:host([open]) .arrow {
|
|
142
|
+
transform: rotate(90deg);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
Height cannot be animated to auto, but a grid row can go from 0fr to
|
|
147
|
+
1fr, which resolves to the content's natural height. The inner div
|
|
148
|
+
does the clipping while the row shrinks.
|
|
149
|
+
*/
|
|
150
|
+
.content {
|
|
151
|
+
display: grid;
|
|
152
|
+
grid-template-rows: 0fr;
|
|
153
|
+
|
|
154
|
+
transition: grid-template-rows var(--tt-duration-slow) var(--tt-ease-out);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
:host([open]) .content {
|
|
158
|
+
grid-template-rows: 1fr;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.inner {
|
|
162
|
+
overflow: hidden;
|
|
163
|
+
min-height: 0;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/*
|
|
167
|
+
Padding has to sit below the clipping element. On .inner it would keep
|
|
168
|
+
showing while the row is collapsed to 0.
|
|
169
|
+
*/
|
|
170
|
+
.body {
|
|
171
|
+
padding: 0 var(--tt-space-4) var(--tt-space-4);
|
|
172
|
+
|
|
173
|
+
font-size: var(--tt-text-sm);
|
|
174
|
+
line-height: var(--tt-leading-relaxed);
|
|
175
|
+
|
|
176
|
+
color: var(--tt-muted-foreground);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
@media (max-width: 480px) {
|
|
180
|
+
button {
|
|
181
|
+
padding: var(--tt-space-3);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.body {
|
|
185
|
+
padding: 0 var(--tt-space-3) var(--tt-space-3);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
`; }
|
|
190
|
+
render() {
|
|
191
|
+
return html `
|
|
192
|
+
<div
|
|
193
|
+
class="heading"
|
|
194
|
+
role="heading"
|
|
195
|
+
aria-level=${this.headingLevel}
|
|
196
|
+
>
|
|
197
|
+
<button
|
|
198
|
+
id=${this.headerId}
|
|
199
|
+
?disabled=${this.disabled}
|
|
200
|
+
aria-expanded=${this.open}
|
|
201
|
+
aria-controls=${this.contentId}
|
|
202
|
+
@click=${this.toggle}
|
|
203
|
+
>
|
|
204
|
+
${this.heading}
|
|
205
|
+
|
|
206
|
+
<span class="arrow" aria-hidden="true">
|
|
207
|
+
<tt-icon name="chevron-right" size="14px"></tt-icon>
|
|
208
|
+
</span>
|
|
209
|
+
</button>
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
<div
|
|
213
|
+
id=${this.contentId}
|
|
214
|
+
class="content"
|
|
215
|
+
role="region"
|
|
216
|
+
aria-labelledby=${this.headerId}
|
|
217
|
+
?inert=${!this.open}
|
|
218
|
+
>
|
|
219
|
+
<div class="inner">
|
|
220
|
+
<div class="body">
|
|
221
|
+
<slot></slot>
|
|
222
|
+
</div>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
`;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
__decorate([
|
|
229
|
+
property({ type: Boolean, reflect: true })
|
|
230
|
+
], TTAccordionItem.prototype, "open", void 0);
|
|
231
|
+
__decorate([
|
|
232
|
+
property({ type: Boolean, reflect: true })
|
|
233
|
+
], TTAccordionItem.prototype, "disabled", void 0);
|
|
234
|
+
__decorate([
|
|
235
|
+
property({ type: String })
|
|
236
|
+
], TTAccordionItem.prototype, "heading", void 0);
|
|
237
|
+
__decorate([
|
|
238
|
+
property({ type: String })
|
|
239
|
+
], TTAccordionItem.prototype, "value", void 0);
|
|
240
|
+
__decorate([
|
|
241
|
+
property({ type: Number, attribute: "heading-level" })
|
|
242
|
+
], TTAccordionItem.prototype, "headingLevel", void 0);
|
|
243
|
+
TTAccordionItem = __decorate([
|
|
244
|
+
customElement("tt-accordion-item")
|
|
245
|
+
], TTAccordionItem);
|
|
246
|
+
export { TTAccordionItem };
|
|
247
|
+
//# sourceMappingURL=tt-accordion-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-accordion-item.js","sourceRoot":"","sources":["../../src/accordion/tt-accordion-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,eAAe,CAAC;AAEvB,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf;;;;;;;;;GASG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QAEL,SAAI,GAAG,KAAK,CAAC;QAGb,aAAQ,GAAG,KAAK,CAAC;QAGjB,YAAO,GAAG,EAAE,CAAC;QAEb,qEAAqE;QACrE,sDAAsD;QAEtD,UAAK,GAAG,EAAE,CAAC;QAEX;;;;UAIE;QAEF,iBAAY,GAAG,CAAC,CAAC;QAET,QAAG,GAAG,EAAE,MAAM,CAAC;QAEf,aAAQ,GAAG,uBAAuB,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7C,cAAS,GAAG,wBAAwB,IAAI,CAAC,GAAG,EAAE,CAAC;IAmMzD,CAAC;IAjMC;;;;MAIE;IACF,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,qBAAqB,EAAE;YACrC,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;aAEM,WAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIlB,AAhIY,CAgIX;IAEF,MAAM;QACJ,OAAO,IAAI,CAAA;;;;qBAIM,IAAI,CAAC,YAAY;;;eAGvB,IAAI,CAAC,QAAQ;sBACN,IAAI,CAAC,QAAQ;0BACT,IAAI,CAAC,IAAI;0BACT,IAAI,CAAC,SAAS;mBACrB,IAAI,CAAC,MAAM;;YAElB,IAAI,CAAC,OAAO;;;;;;;;;aASX,IAAI,CAAC,SAAS;;;0BAGD,IAAI,CAAC,QAAQ;iBACtB,CAAC,IAAI,CAAC,IAAI;;;;;;;;KAQtB,CAAC;IACJ,CAAC;;AA3ND;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAC9B;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACd;AAKb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAChB;AAQX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;qDACtC;AArBN,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA8N3B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import "./tt-accordion-item.js";
|
|
3
|
+
/**
|
|
4
|
+
* Groups `tt-accordion-item` children and owns which of them are open:
|
|
5
|
+
*
|
|
6
|
+
* <tt-accordion>
|
|
7
|
+
* <tt-accordion-item heading="Shipping">...</tt-accordion-item>
|
|
8
|
+
* <tt-accordion-item heading="Returns">...</tt-accordion-item>
|
|
9
|
+
* </tt-accordion>
|
|
10
|
+
*
|
|
11
|
+
* By default one item is open at a time. Set `multiple` to let them stack.
|
|
12
|
+
* Clicking an open header always closes it.
|
|
13
|
+
*/
|
|
14
|
+
export declare class TTAccordion extends LitElement {
|
|
15
|
+
multiple: boolean;
|
|
16
|
+
private items;
|
|
17
|
+
private handleToggle;
|
|
18
|
+
private handleKeydown;
|
|
19
|
+
private handleSlotChange;
|
|
20
|
+
static styles: import("lit").CSSResult;
|
|
21
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
22
|
+
}
|
|
23
|
+
declare global {
|
|
24
|
+
interface HTMLElementTagNameMap {
|
|
25
|
+
"tt-accordion": TTAccordion;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=tt-accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-accordion.d.ts","sourceRoot":"","sources":["../../src/accordion/tt-accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAO5C,OAAO,wBAAwB,CAAC;AAGhC;;;;;;;;;;GAUG;AACH,qBACa,WAAY,SAAQ,UAAU;IAEzC,QAAQ,UAAS;IAQjB,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,gBAAgB;IAkBxB,MAAM,CAAC,MAAM,0BAuBX;IAEF,MAAM;CAWP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
|
|
@@ -0,0 +1,148 @@
|
|
|
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, queryAssignedElements, } from "lit/decorators.js";
|
|
9
|
+
import "./tt-accordion-item.js";
|
|
10
|
+
/**
|
|
11
|
+
* Groups `tt-accordion-item` children and owns which of them are open:
|
|
12
|
+
*
|
|
13
|
+
* <tt-accordion>
|
|
14
|
+
* <tt-accordion-item heading="Shipping">...</tt-accordion-item>
|
|
15
|
+
* <tt-accordion-item heading="Returns">...</tt-accordion-item>
|
|
16
|
+
* </tt-accordion>
|
|
17
|
+
*
|
|
18
|
+
* By default one item is open at a time. Set `multiple` to let them stack.
|
|
19
|
+
* Clicking an open header always closes it.
|
|
20
|
+
*/
|
|
21
|
+
let TTAccordion = class TTAccordion extends LitElement {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
this.multiple = false;
|
|
25
|
+
}
|
|
26
|
+
handleToggle(event) {
|
|
27
|
+
const item = event.target;
|
|
28
|
+
// The event bubbles and is composed, so a nested accordion's items reach
|
|
29
|
+
// this listener too. Anything not slotted here belongs to someone else.
|
|
30
|
+
if (!this.items.includes(item)) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
event.stopPropagation();
|
|
34
|
+
const open = event.detail.open;
|
|
35
|
+
if (open && !this.multiple) {
|
|
36
|
+
for (const other of this.items) {
|
|
37
|
+
if (other !== item) {
|
|
38
|
+
other.open = false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
item.open = open;
|
|
43
|
+
this.dispatchEvent(new CustomEvent("tt-accordion-change", {
|
|
44
|
+
detail: {
|
|
45
|
+
value: item.value,
|
|
46
|
+
open: item.open,
|
|
47
|
+
openValues: this.items.filter((i) => i.open).map((i) => i.value),
|
|
48
|
+
},
|
|
49
|
+
bubbles: true,
|
|
50
|
+
composed: true,
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
/*
|
|
54
|
+
Up and down move between headers, Home and End jump to the ends. Expected
|
|
55
|
+
behaviour for an accordion and what makes it usable without a mouse.
|
|
56
|
+
|
|
57
|
+
A keypress starts on the button inside the item's shadow root, so by the
|
|
58
|
+
time it reaches this listener the target has been retargeted to the item
|
|
59
|
+
itself. That is why indexOf works here.
|
|
60
|
+
*/
|
|
61
|
+
handleKeydown(event) {
|
|
62
|
+
const keys = ["ArrowDown", "ArrowUp", "Home", "End"];
|
|
63
|
+
if (!keys.includes(event.key)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const items = this.items.filter((item) => !item.disabled);
|
|
67
|
+
const index = items.indexOf(event.target);
|
|
68
|
+
if (index === -1) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
let next = index;
|
|
73
|
+
if (event.key === "ArrowDown")
|
|
74
|
+
next = (index + 1) % items.length;
|
|
75
|
+
if (event.key === "ArrowUp")
|
|
76
|
+
next = (index - 1 + items.length) % items.length;
|
|
77
|
+
if (event.key === "Home")
|
|
78
|
+
next = 0;
|
|
79
|
+
if (event.key === "End")
|
|
80
|
+
next = items.length - 1;
|
|
81
|
+
items[next].focusHeader();
|
|
82
|
+
}
|
|
83
|
+
/*
|
|
84
|
+
Items can be authored with `open` already set. In single mode more than
|
|
85
|
+
one of those would contradict the component's own rule, so the first one
|
|
86
|
+
wins and the rest close.
|
|
87
|
+
*/
|
|
88
|
+
handleSlotChange() {
|
|
89
|
+
if (this.multiple) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
let found = false;
|
|
93
|
+
for (const item of this.items) {
|
|
94
|
+
if (!item.open)
|
|
95
|
+
continue;
|
|
96
|
+
if (found) {
|
|
97
|
+
item.open = false;
|
|
98
|
+
}
|
|
99
|
+
found = true;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
static { this.styles = css `
|
|
103
|
+
/* The browser's own [hidden] rule loses to any :host display, so a
|
|
104
|
+
hidden element would still show. Important, so it always wins. */
|
|
105
|
+
:host([hidden]) {
|
|
106
|
+
display: none !important;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
:host {
|
|
110
|
+
display: block;
|
|
111
|
+
|
|
112
|
+
font-family: var(--tt-font-sans);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.accordion {
|
|
116
|
+
border: 1px solid var(--tt-border);
|
|
117
|
+
border-radius: var(--tt-radius);
|
|
118
|
+
|
|
119
|
+
background: var(--tt-card);
|
|
120
|
+
color: var(--tt-card-foreground);
|
|
121
|
+
|
|
122
|
+
/* Keeps the item dividers and hover fills inside the rounded corners. */
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
}
|
|
125
|
+
`; }
|
|
126
|
+
render() {
|
|
127
|
+
return html `
|
|
128
|
+
<div
|
|
129
|
+
class="accordion"
|
|
130
|
+
@tt-accordion-toggle=${this.handleToggle}
|
|
131
|
+
@keydown=${this.handleKeydown}
|
|
132
|
+
>
|
|
133
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
134
|
+
</div>
|
|
135
|
+
`;
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
__decorate([
|
|
139
|
+
property({ type: Boolean })
|
|
140
|
+
], TTAccordion.prototype, "multiple", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
queryAssignedElements({ selector: "tt-accordion-item" })
|
|
143
|
+
], TTAccordion.prototype, "items", void 0);
|
|
144
|
+
TTAccordion = __decorate([
|
|
145
|
+
customElement("tt-accordion")
|
|
146
|
+
], TTAccordion);
|
|
147
|
+
export { TTAccordion };
|
|
148
|
+
//# sourceMappingURL=tt-accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-accordion.js","sourceRoot":"","sources":["../../src/accordion/tt-accordion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* A tile surface for a `tt-bento`.
|
|
4
|
+
*
|
|
5
|
+
* It owns no placement. `bento-span` and `bento-rows` are read by the grid
|
|
6
|
+
* off any direct child, so this component exists purely to give bare
|
|
7
|
+
* content a surface: background, border, the 2xl corner, padding, and the
|
|
8
|
+
* concentric radius its own children read.
|
|
9
|
+
*
|
|
10
|
+
* Anything that already brings its own surface - a tt-card, a tt-stat, a
|
|
11
|
+
* tt-chart - goes straight into the grid and needs none of this:
|
|
12
|
+
*
|
|
13
|
+
* <tt-bento>
|
|
14
|
+
* <tt-stat bento-span="2"></tt-stat>
|
|
15
|
+
* <tt-bento-item bento-span="2">bare content</tt-bento-item>
|
|
16
|
+
* </tt-bento>
|
|
17
|
+
*/
|
|
18
|
+
export declare class TTBentoItem extends LitElement {
|
|
19
|
+
/** Drop the tile surface and render as a bare grid cell. */
|
|
20
|
+
plain: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The whole tile leads somewhere. Adds hover, focus and keyboard
|
|
23
|
+
* activation. Named clickable, as on tt-card and tt-sidebar-footer.
|
|
24
|
+
*/
|
|
25
|
+
clickable: boolean;
|
|
26
|
+
private activate;
|
|
27
|
+
static styles: import("lit").CSSResult;
|
|
28
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
"tt-bento-item": TTBentoItem;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=tt-bento-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tt-bento-item.d.ts","sourceRoot":"","sources":["../../src/bento/tt-bento-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD;;;;;;;;;;;;;;;GAeG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,4DAA4D;IAE5D,KAAK,UAAS;IAEd;;;OAGG;IAEH,SAAS,UAAS;IAElB,OAAO,CAAC,QAAQ;IAWhB,MAAM,CAAC,MAAM,0BA0HX;IAEF,MAAM;CAoBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|