@sky.ui/core 0.0.1
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/LICENSE.md +139 -0
- package/README.md +113 -0
- package/auto-import-loader.js +60 -0
- package/auto-import.js +93 -0
- package/dist/custom-elements.json +27051 -0
- package/dist/helper/controllers/animation-controller.d.ts +120 -0
- package/dist/helper/controllers/animation-controller.js +2 -0
- package/dist/helper/controllers/animation-controller.js.map +1 -0
- package/dist/helper/controllers/index.d.ts +2 -0
- package/dist/helper/controllers/popover-controller.d.ts +162 -0
- package/dist/helper/controllers/popover-controller.js +2 -0
- package/dist/helper/controllers/popover-controller.js.map +1 -0
- package/dist/helper/form-control-base.d.ts +1 -0
- package/dist/helper/iconify-offline.d.ts +73 -0
- package/dist/helper/iconify-offline.js +2 -0
- package/dist/helper/iconify-offline.js.map +1 -0
- package/dist/helper/index.d.ts +5 -0
- package/dist/helper/internals/form-control-base.d.ts +81 -0
- package/dist/helper/internals/form-control-base.js +2 -0
- package/dist/helper/internals/form-control-base.js.map +1 -0
- package/dist/helper/internals/index.d.ts +1 -0
- package/dist/helper/utils/color-resolver.d.ts +139 -0
- package/dist/helper/utils/color-resolver.js +2 -0
- package/dist/helper/utils/color-resolver.js.map +1 -0
- package/dist/helper/utils/index.d.ts +2 -0
- package/dist/helper/utils/size-resolver.d.ts +6 -0
- package/dist/helper/utils/size-resolver.js +2 -0
- package/dist/helper/utils/size-resolver.js.map +1 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/sky-accordion/index.d.ts +1 -0
- package/dist/sky-accordion/index.js +1 -0
- package/dist/sky-accordion/sky-accordion.d.ts +201 -0
- package/dist/sky-accordion/sky-accordion.js +85 -0
- package/dist/sky-accordion/sky-accordion.js.map +1 -0
- package/dist/sky-accordion-item/index.d.ts +1 -0
- package/dist/sky-accordion-item/index.js +1 -0
- package/dist/sky-accordion-item/sky-accordion-item.d.ts +161 -0
- package/dist/sky-accordion-item/sky-accordion-item.js +191 -0
- package/dist/sky-accordion-item/sky-accordion-item.js.map +1 -0
- package/dist/sky-alert/index.d.ts +1 -0
- package/dist/sky-alert/index.js +1 -0
- package/dist/sky-alert/sky-alert.d.ts +136 -0
- package/dist/sky-alert/sky-alert.js +292 -0
- package/dist/sky-alert/sky-alert.js.map +1 -0
- package/dist/sky-appbar/index.d.ts +1 -0
- package/dist/sky-appbar/index.js +1 -0
- package/dist/sky-appbar/sky-appbar.d.ts +84 -0
- package/dist/sky-appbar/sky-appbar.js +173 -0
- package/dist/sky-appbar/sky-appbar.js.map +1 -0
- package/dist/sky-avatar/index.d.ts +1 -0
- package/dist/sky-avatar/index.js +1 -0
- package/dist/sky-avatar/sky-avatar.d.ts +104 -0
- package/dist/sky-avatar/sky-avatar.js +152 -0
- package/dist/sky-avatar/sky-avatar.js.map +1 -0
- package/dist/sky-badge/index.d.ts +1 -0
- package/dist/sky-badge/index.js +1 -0
- package/dist/sky-badge/sky-badge.d.ts +154 -0
- package/dist/sky-badge/sky-badge.js +148 -0
- package/dist/sky-badge/sky-badge.js.map +1 -0
- package/dist/sky-breadcrumb/index.d.ts +1 -0
- package/dist/sky-breadcrumb/index.js +1 -0
- package/dist/sky-breadcrumb/sky-breadcrumb.d.ts +111 -0
- package/dist/sky-breadcrumb/sky-breadcrumb.js +230 -0
- package/dist/sky-breadcrumb/sky-breadcrumb.js.map +1 -0
- package/dist/sky-button/index.d.ts +1 -0
- package/dist/sky-button/index.js +1 -0
- package/dist/sky-button/sky-button.d.ts +118 -0
- package/dist/sky-button/sky-button.js +172 -0
- package/dist/sky-button/sky-button.js.map +1 -0
- package/dist/sky-button-group/index.d.ts +1 -0
- package/dist/sky-button-group/index.js +1 -0
- package/dist/sky-button-group/sky-button-group.d.ts +93 -0
- package/dist/sky-button-group/sky-button-group.js +281 -0
- package/dist/sky-button-group/sky-button-group.js.map +1 -0
- package/dist/sky-card/index.d.ts +1 -0
- package/dist/sky-card/index.js +1 -0
- package/dist/sky-card/sky-card.d.ts +143 -0
- package/dist/sky-card/sky-card.js +186 -0
- package/dist/sky-card/sky-card.js.map +1 -0
- package/dist/sky-carousel/index.d.ts +1 -0
- package/dist/sky-carousel/index.js +1 -0
- package/dist/sky-carousel/sky-carousel.d.ts +265 -0
- package/dist/sky-carousel/sky-carousel.js +211 -0
- package/dist/sky-carousel/sky-carousel.js.map +1 -0
- package/dist/sky-checkbox/index.d.ts +1 -0
- package/dist/sky-checkbox/index.js +1 -0
- package/dist/sky-checkbox/sky-checkbox.d.ts +165 -0
- package/dist/sky-checkbox/sky-checkbox.js +276 -0
- package/dist/sky-checkbox/sky-checkbox.js.map +1 -0
- package/dist/sky-chip/index.d.ts +1 -0
- package/dist/sky-chip/index.js +1 -0
- package/dist/sky-chip/sky-chip.d.ts +95 -0
- package/dist/sky-chip/sky-chip.js +210 -0
- package/dist/sky-chip/sky-chip.js.map +1 -0
- package/dist/sky-col/index.d.ts +1 -0
- package/dist/sky-col/index.js +1 -0
- package/dist/sky-col/sky-col.d.ts +84 -0
- package/dist/sky-col/sky-col.js +46 -0
- package/dist/sky-col/sky-col.js.map +1 -0
- package/dist/sky-combobox/index.d.ts +1 -0
- package/dist/sky-combobox/index.js +1 -0
- package/dist/sky-combobox/sky-combobox.d.ts +313 -0
- package/dist/sky-combobox/sky-combobox.js +1146 -0
- package/dist/sky-combobox/sky-combobox.js.map +1 -0
- package/dist/sky-counter/index.d.ts +1 -0
- package/dist/sky-counter/index.js +1 -0
- package/dist/sky-counter/sky-counter.d.ts +130 -0
- package/dist/sky-counter/sky-counter.js +101 -0
- package/dist/sky-counter/sky-counter.js.map +1 -0
- package/dist/sky-dialog/index.d.ts +1 -0
- package/dist/sky-dialog/index.js +1 -0
- package/dist/sky-dialog/sky-dialog.d.ts +237 -0
- package/dist/sky-dialog/sky-dialog.js +265 -0
- package/dist/sky-dialog/sky-dialog.js.map +1 -0
- package/dist/sky-divider/index.d.ts +1 -0
- package/dist/sky-divider/index.js +1 -0
- package/dist/sky-divider/sky-divider.d.ts +120 -0
- package/dist/sky-divider/sky-divider.js +42 -0
- package/dist/sky-divider/sky-divider.js.map +1 -0
- package/dist/sky-drawer/index.d.ts +1 -0
- package/dist/sky-drawer/index.js +1 -0
- package/dist/sky-drawer/sky-drawer.d.ts +161 -0
- package/dist/sky-drawer/sky-drawer.js +177 -0
- package/dist/sky-drawer/sky-drawer.js.map +1 -0
- package/dist/sky-dropdown/index.d.ts +1 -0
- package/dist/sky-dropdown/index.js +1 -0
- package/dist/sky-dropdown/sky-dropdown.d.ts +252 -0
- package/dist/sky-dropdown/sky-dropdown.js +58 -0
- package/dist/sky-dropdown/sky-dropdown.js.map +1 -0
- package/dist/sky-dropdown-item/index.d.ts +1 -0
- package/dist/sky-dropdown-item/index.js +1 -0
- package/dist/sky-dropdown-item/sky-dropdown-item.d.ts +207 -0
- package/dist/sky-dropdown-item/sky-dropdown-item.js +341 -0
- package/dist/sky-dropdown-item/sky-dropdown-item.js.map +1 -0
- package/dist/sky-flexbar/index.d.ts +1 -0
- package/dist/sky-flexbar/index.js +1 -0
- package/dist/sky-flexbar/sky-flexbar.d.ts +189 -0
- package/dist/sky-flexbar/sky-flexbar.js +148 -0
- package/dist/sky-flexbar/sky-flexbar.js.map +1 -0
- package/dist/sky-flexbox/index.d.ts +1 -0
- package/dist/sky-flexbox/index.js +1 -0
- package/dist/sky-flexbox/sky-flexbox.d.ts +156 -0
- package/dist/sky-flexbox/sky-flexbox.js +40 -0
- package/dist/sky-flexbox/sky-flexbox.js.map +1 -0
- package/dist/sky-flexcol/index.d.ts +1 -0
- package/dist/sky-flexcol/index.js +1 -0
- package/dist/sky-flexcol/sky-flexcol.d.ts +154 -0
- package/dist/sky-flexcol/sky-flexcol.js +14 -0
- package/dist/sky-flexcol/sky-flexcol.js.map +1 -0
- package/dist/sky-flexitem/index.d.ts +1 -0
- package/dist/sky-flexitem/index.js +1 -0
- package/dist/sky-flexitem/sky-flexitem.d.ts +114 -0
- package/dist/sky-flexitem/sky-flexitem.js +45 -0
- package/dist/sky-flexitem/sky-flexitem.js.map +1 -0
- package/dist/sky-form/index.d.ts +1 -0
- package/dist/sky-form/index.js +1 -0
- package/dist/sky-form/sky-form.d.ts +286 -0
- package/dist/sky-form/sky-form.js +66 -0
- package/dist/sky-form/sky-form.js.map +1 -0
- package/dist/sky-grid/index.d.ts +1 -0
- package/dist/sky-grid/index.js +1 -0
- package/dist/sky-grid/sky-grid.d.ts +78 -0
- package/dist/sky-grid/sky-grid.js +40 -0
- package/dist/sky-grid/sky-grid.js.map +1 -0
- package/dist/sky-icon/index.d.ts +1 -0
- package/dist/sky-icon/index.js +1 -0
- package/dist/sky-icon/ion-local.json.js +2 -0
- package/dist/sky-icon/ion-local.json.js.map +1 -0
- package/dist/sky-icon/sky-icon.d.ts +123 -0
- package/dist/sky-icon/sky-icon.js +40 -0
- package/dist/sky-icon/sky-icon.js.map +1 -0
- package/dist/sky-image/index.d.ts +1 -0
- package/dist/sky-image/index.js +1 -0
- package/dist/sky-image/sky-image.d.ts +102 -0
- package/dist/sky-image/sky-image.js +29 -0
- package/dist/sky-image/sky-image.js.map +1 -0
- package/dist/sky-input/index.d.ts +1 -0
- package/dist/sky-input/index.js +1 -0
- package/dist/sky-input/sky-input.d.ts +345 -0
- package/dist/sky-input/sky-input.js +820 -0
- package/dist/sky-input/sky-input.js.map +1 -0
- package/dist/sky-list/index.d.ts +1 -0
- package/dist/sky-list/index.js +1 -0
- package/dist/sky-list/sky-list.d.ts +85 -0
- package/dist/sky-list/sky-list.js +41 -0
- package/dist/sky-list/sky-list.js.map +1 -0
- package/dist/sky-listitem/index.d.ts +1 -0
- package/dist/sky-listitem/index.js +1 -0
- package/dist/sky-listitem/sky-listitem.d.ts +76 -0
- package/dist/sky-listitem/sky-listitem.js +104 -0
- package/dist/sky-listitem/sky-listitem.js.map +1 -0
- package/dist/sky-navbar/index.d.ts +1 -0
- package/dist/sky-navbar/index.js +1 -0
- package/dist/sky-navbar/sky-navbar.d.ts +207 -0
- package/dist/sky-navbar/sky-navbar.js +521 -0
- package/dist/sky-navbar/sky-navbar.js.map +1 -0
- package/dist/sky-navpanel/index.d.ts +1 -0
- package/dist/sky-navpanel/index.js +1 -0
- package/dist/sky-navpanel/sky-navpanel.d.ts +186 -0
- package/dist/sky-navpanel/sky-navpanel.js +404 -0
- package/dist/sky-navpanel/sky-navpanel.js.map +1 -0
- package/dist/sky-notification/index.d.ts +1 -0
- package/dist/sky-notification/index.js +1 -0
- package/dist/sky-notification/sky-notification.d.ts +152 -0
- package/dist/sky-notification/sky-notification.js +456 -0
- package/dist/sky-notification/sky-notification.js.map +1 -0
- package/dist/sky-otp/index.d.ts +1 -0
- package/dist/sky-otp/index.js +1 -0
- package/dist/sky-otp/sky-otp.d.ts +101 -0
- package/dist/sky-otp/sky-otp.js +96 -0
- package/dist/sky-otp/sky-otp.js.map +1 -0
- package/dist/sky-overlay/index.d.ts +1 -0
- package/dist/sky-overlay/index.js +1 -0
- package/dist/sky-overlay/sky-overlay.d.ts +71 -0
- package/dist/sky-overlay/sky-overlay.js +26 -0
- package/dist/sky-overlay/sky-overlay.js.map +1 -0
- package/dist/sky-pagination/index.d.ts +1 -0
- package/dist/sky-pagination/index.js +1 -0
- package/dist/sky-pagination/sky-pagination.d.ts +167 -0
- package/dist/sky-pagination/sky-pagination.js +453 -0
- package/dist/sky-pagination/sky-pagination.js.map +1 -0
- package/dist/sky-progress/index.d.ts +1 -0
- package/dist/sky-progress/index.js +1 -0
- package/dist/sky-progress/sky-progress.d.ts +70 -0
- package/dist/sky-progress/sky-progress.js +87 -0
- package/dist/sky-progress/sky-progress.js.map +1 -0
- package/dist/sky-radio/index.d.ts +1 -0
- package/dist/sky-radio/index.js +1 -0
- package/dist/sky-radio/sky-radio.d.ts +118 -0
- package/dist/sky-radio/sky-radio.js +109 -0
- package/dist/sky-radio/sky-radio.js.map +1 -0
- package/dist/sky-radio-group/index.d.ts +1 -0
- package/dist/sky-radio-group/index.js +1 -0
- package/dist/sky-radio-group/sky-radio-group.d.ts +186 -0
- package/dist/sky-radio-group/sky-radio-group.js +239 -0
- package/dist/sky-radio-group/sky-radio-group.js.map +1 -0
- package/dist/sky-range/index.d.ts +1 -0
- package/dist/sky-range/index.js +1 -0
- package/dist/sky-range/sky-range.d.ts +110 -0
- package/dist/sky-range/sky-range.js +196 -0
- package/dist/sky-range/sky-range.js.map +1 -0
- package/dist/sky-row/index.d.ts +1 -0
- package/dist/sky-row/index.js +1 -0
- package/dist/sky-row/sky-row.d.ts +57 -0
- package/dist/sky-row/sky-row.js +6 -0
- package/dist/sky-row/sky-row.js.map +1 -0
- package/dist/sky-serial/index.d.ts +1 -0
- package/dist/sky-serial/index.js +1 -0
- package/dist/sky-serial/sky-serial.d.ts +127 -0
- package/dist/sky-serial/sky-serial.js +133 -0
- package/dist/sky-serial/sky-serial.js.map +1 -0
- package/dist/sky-sheet/index.d.ts +1 -0
- package/dist/sky-sheet/index.js +1 -0
- package/dist/sky-sheet/sky-sheet.d.ts +70 -0
- package/dist/sky-sheet/sky-sheet.js +47 -0
- package/dist/sky-sheet/sky-sheet.js.map +1 -0
- package/dist/sky-skeleton/index.d.ts +1 -0
- package/dist/sky-skeleton/index.js +1 -0
- package/dist/sky-skeleton/sky-skeleton.d.ts +80 -0
- package/dist/sky-skeleton/sky-skeleton.js +233 -0
- package/dist/sky-skeleton/sky-skeleton.js.map +1 -0
- package/dist/sky-slider/index.d.ts +1 -0
- package/dist/sky-slider/index.js +1 -0
- package/dist/sky-slider/sky-slider.d.ts +96 -0
- package/dist/sky-slider/sky-slider.js +139 -0
- package/dist/sky-slider/sky-slider.js.map +1 -0
- package/dist/sky-speeddial/index.d.ts +1 -0
- package/dist/sky-speeddial/index.js +1 -0
- package/dist/sky-speeddial/sky-speeddial.d.ts +86 -0
- package/dist/sky-speeddial/sky-speeddial.js +154 -0
- package/dist/sky-speeddial/sky-speeddial.js.map +1 -0
- package/dist/sky-spinner/index.d.ts +1 -0
- package/dist/sky-spinner/index.js +1 -0
- package/dist/sky-spinner/sky-spinner.d.ts +87 -0
- package/dist/sky-spinner/sky-spinner.js +334 -0
- package/dist/sky-spinner/sky-spinner.js.map +1 -0
- package/dist/sky-steps/index.d.ts +1 -0
- package/dist/sky-steps/index.js +1 -0
- package/dist/sky-steps/sky-steps.d.ts +170 -0
- package/dist/sky-steps/sky-steps.js +455 -0
- package/dist/sky-steps/sky-steps.js.map +1 -0
- package/dist/sky-switch/index.d.ts +1 -0
- package/dist/sky-switch/index.js +1 -0
- package/dist/sky-switch/sky-switch.d.ts +116 -0
- package/dist/sky-switch/sky-switch.js +191 -0
- package/dist/sky-switch/sky-switch.js.map +1 -0
- package/dist/sky-tab/index.d.ts +1 -0
- package/dist/sky-tab/index.js +1 -0
- package/dist/sky-tab/sky-tab.d.ts +188 -0
- package/dist/sky-tab/sky-tab.js +390 -0
- package/dist/sky-tab/sky-tab.js.map +1 -0
- package/dist/sky-tab-button/index.d.ts +1 -0
- package/dist/sky-tab-button/index.js +1 -0
- package/dist/sky-tab-button/sky-tab-button.d.ts +114 -0
- package/dist/sky-tab-button/sky-tab-button.js +167 -0
- package/dist/sky-tab-button/sky-tab-button.js.map +1 -0
- package/dist/sky-theme-provider/index.d.ts +1 -0
- package/dist/sky-theme-provider/index.js +1 -0
- package/dist/sky-theme-provider/sky-theme-provider.d.ts +169 -0
- package/dist/sky-theme-provider/sky-theme-provider.js +12 -0
- package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -0
- package/dist/sky-theme-switcher/index.d.ts +1 -0
- package/dist/sky-theme-switcher/index.js +1 -0
- package/dist/sky-theme-switcher/sky-theme-switcher.d.ts +92 -0
- package/dist/sky-theme-switcher/sky-theme-switcher.js +43 -0
- package/dist/sky-theme-switcher/sky-theme-switcher.js.map +1 -0
- package/dist/sky-tooltip/index.d.ts +1 -0
- package/dist/sky-tooltip/index.js +1 -0
- package/dist/sky-tooltip/sky-tooltip.d.ts +156 -0
- package/dist/sky-tooltip/sky-tooltip.js +242 -0
- package/dist/sky-tooltip/sky-tooltip.js.map +1 -0
- package/package.json +475 -0
- package/plugins/rollup-plugin.d.ts +19 -0
- package/plugins/rollup-plugin.js +129 -0
- package/plugins/vite-plugin.d.ts +22 -0
- package/plugins/vite-plugin.js +116 -0
- package/plugins/webpack-plugin.d.ts +12 -0
- package/plugins/webpack-plugin.js +46 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import{__decorate as e,__metadata as t}from"tslib";import{LitElement as r,css as s,nothing as o,html as i}from"lit";import{property as a,eventOptions as n,customElement as d}from"lit/decorators.js";import{SkyAccordionItem as l}from"../sky-accordion-item/sky-accordion-item.js";let c=class extends r{constructor(){super(...arguments),this.singleOpen=!1,this.variant="solid",this.disabled=!1,this.label="",this._itemsCache=null,this.handleSlotChange=()=>{this._itemsCache=null,this.requestUpdate()}}static{this.styles=s`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
width: 100%;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
border-radius: var(--sky-radius-secondary);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:host([disabled]) {
|
|
11
|
+
pointer-events: none;
|
|
12
|
+
opacity: var(--sky-opacity-disabled, 0.6);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
::slotted(sky-accordion-item:not(:last-child)) {
|
|
16
|
+
border-bottom: 1px solid var(--sky-border-light);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:host([variant="solid"]) {
|
|
20
|
+
background-color: transparent;
|
|
21
|
+
position: relative;
|
|
22
|
+
box-shadow: var(--sky-box-shadow-primary);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host([variant="solid"])::before {
|
|
26
|
+
inset: 0;
|
|
27
|
+
position: absolute;
|
|
28
|
+
content: "";
|
|
29
|
+
background-color: var(--sky-glass-primary);
|
|
30
|
+
border-radius: inherit;
|
|
31
|
+
backdrop-filter: var(--sky-blur-primary) var(--sky-brightness-primary)
|
|
32
|
+
var(--sky-saturation-primary);
|
|
33
|
+
-webkit-backdrop-filter: var(--sky-blur-primary)
|
|
34
|
+
var(--sky-brightness-primary) var(--sky-saturation-primary);
|
|
35
|
+
z-index: -1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
:host([variant="bordered"]) {
|
|
39
|
+
border: 1px solid var(--sky-border-light);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:host([variant="splitted"]) ::slotted(sky-accordion-item) {
|
|
43
|
+
background-color: transparent;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
position: relative;
|
|
46
|
+
box-shadow: var(--sky-box-shadow-primary);
|
|
47
|
+
border-radius: var(--sky-radius-secondary);
|
|
48
|
+
border-bottom: unset;
|
|
49
|
+
margin-bottom: var(--sky-space-3, 12px);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host([variant="splitted"]) ::slotted(sky-accordion-item) {
|
|
53
|
+
--acc-bg: var(--sky-glass-primary);
|
|
54
|
+
--acc-header-hover: var(--sky-glass-secondary);
|
|
55
|
+
--acc-header-active: var(--sky-glass-secondary);
|
|
56
|
+
background-color: var(--sky-glass-primary);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:host([variant="solid"]) ::slotted(sky-accordion-item) {
|
|
60
|
+
--acc-bg: var(--sky-glass-primary);
|
|
61
|
+
--acc-header-hover: var(--sky-glass-secondary);
|
|
62
|
+
--acc-header-active: var(--sky-glass-secondary);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:host([variant="splitted"]) ::slotted(sky-accordion-item)::before {
|
|
66
|
+
inset: 0;
|
|
67
|
+
position: absolute;
|
|
68
|
+
content: "";
|
|
69
|
+
backdrop-filter: var(--sky-blur-primary) var(--sky-brightness-primary)
|
|
70
|
+
var(--sky-saturation-primary);
|
|
71
|
+
-webkit-backdrop-filter: var(--sky-blur-primary)
|
|
72
|
+
var(--sky-brightness-primary) var(--sky-saturation-primary);
|
|
73
|
+
z-index: -1;
|
|
74
|
+
border-radius: inherit;
|
|
75
|
+
}
|
|
76
|
+
`}connectedCallback(){super.connectedCallback(),this.addEventListener("accordion-toggle",this.handleItemToggle,{capture:!0}),this.addEventListener("keydown",this.handleKeydown,{capture:!0})}disconnectedCallback(){this.removeEventListener("accordion-toggle",this.handleItemToggle,{capture:!0}),this.removeEventListener("keydown",this.handleKeydown,{capture:!0}),super.disconnectedCallback()}expandAll(){const e=this.items;0!==e.length&&(this.singleOpen?e.forEach((e,t)=>{e.open=0===t}):e.forEach(e=>{e.open=!0}))}collapseAll(){this.items.forEach(e=>{e.open=!1})}openItem(e){const t=this.items,r=t[e];return!!r&&(this.singleOpen?(t.forEach(e=>{e.open=e===r}),!0):(r.open=!0,!0))}closeItem(e){const t=this.items[e];return!!t&&(t.open=!1,!0)}toggleItem(e){const t=this.items[e];return!!t&&(t.open?(t.open=!1,!0):this.openItem(e))}openFirst(){return this.openItem(0)}openLast(){const e=this.items.length-1;return!(e<0)&&this.openItem(e)}focusItem(e){const t=this.items[e];if(!t)return!1;const r=t.shadowRoot?.querySelector('[part="header"]');return!!r&&(r.focus(),!0)}focusFirst(){return this.focusItem(0)}focusLast(){const e=this.items.length-1;return!(e<0)&&this.focusItem(e)}getItems(){return[...this.items]}handleItemToggle(e){const t=e;if(!this.singleOpen||!t.detail?.open)return;const r=t.target;r&&this.items.includes(r)&&this.items.forEach(e=>{e!==r&&(e.open=!1)})}handleKeydown(e){const t=e.key;if(!("ArrowDown"===t||"ArrowRight"===t||"ArrowUp"===t||"ArrowLeft"===t||"Home"===t||"End"===t))return;const r=this.items;if(0===r.length)return;let s,o=e.target,i=-1;for(;o&&o!==this;){if(o instanceof l&&r.includes(o)){i=r.indexOf(o);break}const e=o.parentNode;o=e instanceof ShadowRoot?e.host:e}if(i<0)return;if(s="ArrowDown"===t||"ArrowRight"===t?Math.min(i+1,r.length-1):"ArrowUp"===t||"ArrowLeft"===t?Math.max(i-1,0):"Home"===t?0:r.length-1,s===i)return;const a=r[s].shadowRoot?.querySelector('[part="header"]');a&&(e.preventDefault(),a.focus())}get items(){return this._itemsCache||(this._itemsCache=Array.from(this.children).filter(e=>e instanceof l)),this._itemsCache}render(){return i`
|
|
77
|
+
<div
|
|
78
|
+
part="group"
|
|
79
|
+
role="group"
|
|
80
|
+
aria-label=${this.label||o}
|
|
81
|
+
>
|
|
82
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
83
|
+
</div>
|
|
84
|
+
`}};e([a({type:Boolean}),t("design:type",Object)],c.prototype,"singleOpen",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],c.prototype,"variant",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],c.prototype,"disabled",void 0),e([a({type:String}),t("design:type",Object)],c.prototype,"label",void 0),e([n({capture:!0}),t("design:type",Function),t("design:paramtypes",[Event]),t("design:returntype",void 0)],c.prototype,"handleItemToggle",null),e([n({capture:!0}),t("design:type",Function),t("design:paramtypes",[KeyboardEvent]),t("design:returntype",void 0)],c.prototype,"handleKeydown",null),c=e([d("sky-accordion")],c);export{c as SkyAccordion};
|
|
85
|
+
//# sourceMappingURL=sky-accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-accordion.js","sources":["../../src/sky-accordion/sky-accordion.ts"],"sourcesContent":[null],"names":["SkyAccordion","LitElement","constructor","this","singleOpen","variant","disabled","label","_itemsCache","handleSlotChange","requestUpdate","styles","css","connectedCallback","super","addEventListener","handleItemToggle","capture","handleKeydown","disconnectedCallback","removeEventListener","expandAll","items","length","forEach","item","index","open","collapseAll","openItem","target","closeItem","toggleItem","openFirst","openLast","lastIndex","focusItem","header","shadowRoot","querySelector","focus","focusFirst","focusLast","getItems","e","event","detail","includes","key","newIndex","node","currentIndex","SkyAccordionItem","indexOf","parent","parentNode","ShadowRoot","host","Math","min","max","preventDefault","Array","from","children","filter","render","html","nothing","__decorate","property","type","Boolean","prototype","String","reflect","eventOptions","Event","KeyboardEvent","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-accordion-item";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-accordion-item.js';
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export type SkyAccordionItemAnimationStyle = "rotate" | "fade" | "spring" | "flip" | "scale" | "none";
|
|
3
|
+
export type SkyAccordionItemToggleEventDetail = {
|
|
4
|
+
open: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* @element sky-accordion-item
|
|
8
|
+
*
|
|
9
|
+
* @summary Interactive accordion item with a header trigger, accessible semantics, and collapsible content.
|
|
10
|
+
*
|
|
11
|
+
* @status stable
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
*
|
|
14
|
+
* @documentation https://library.sky-ui.com/components/accordion
|
|
15
|
+
* @dependency sky-icon
|
|
16
|
+
*
|
|
17
|
+
* @uiVModel open accordion-toggle detail=open
|
|
18
|
+
*
|
|
19
|
+
* @slot title - Primary header content.
|
|
20
|
+
* @slot sub-title - Optional secondary header content.
|
|
21
|
+
* @slot content - Collapsible body content.
|
|
22
|
+
*
|
|
23
|
+
* @property {boolean} open - Indicates whether the item is expanded.
|
|
24
|
+
* @property {boolean} disabled - Prevents interaction and state changes.
|
|
25
|
+
* @property {SkyAccordionItemAnimationStyle} animationStyle - Icon animation preset used during expand/collapse transitions.
|
|
26
|
+
* @property {string} expandIcon - Icon displayed while the item is collapsed.
|
|
27
|
+
* @property {string} collapseIcon - Icon displayed while the item is expanded.
|
|
28
|
+
* @method expand Expands the item and emits `accordion-toggle` when state changes.
|
|
29
|
+
* @method collapse Collapses the item and emits `accordion-toggle` when state changes.
|
|
30
|
+
* @method toggle Toggles the open state and emits `accordion-toggle`.
|
|
31
|
+
*
|
|
32
|
+
* @fires {CustomEvent<SkyAccordionItemToggleEventDetail>} accordion-toggle - Emitted after a toggle; bubbles and is composed so parent accordions can coordinate state across shadow boundaries.
|
|
33
|
+
*
|
|
34
|
+
* @csspart item - Item root wrapper.
|
|
35
|
+
* @csspart header - Interactive header trigger.
|
|
36
|
+
* @csspart title - Primary title wrapper.
|
|
37
|
+
* @csspart sub-title - Secondary title wrapper.
|
|
38
|
+
* @csspart icon - Expand/collapse icon wrapper.
|
|
39
|
+
* @csspart content - Collapsible content body container.
|
|
40
|
+
*
|
|
41
|
+
* @cssprop --acc-bg - Background color applied to header and content areas.
|
|
42
|
+
* @cssprop --acc-header-hover - Header background on hover (default: `var(--sky-hover-primary)`).
|
|
43
|
+
* @cssprop --acc-header-active - Header background on active/pressed state (default: `var(--sky-hover-secondary)`).
|
|
44
|
+
*
|
|
45
|
+
* @Behavior
|
|
46
|
+
* - Header click toggles state when the component is enabled.
|
|
47
|
+
* - `Enter` and `Space` toggle state when the header has focus.
|
|
48
|
+
* - Header exposes `role="button"`, `aria-expanded`, and `aria-controls`.
|
|
49
|
+
* - Content region exposes `role="region"` and `aria-labelledby`.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```html
|
|
53
|
+
* <sky-accordion-item open animation-style="rotate" expand-icon="ion:add" collapse-icon="ion:remove">
|
|
54
|
+
* <span slot="title">Shipping</span>
|
|
55
|
+
* <span slot="sub-title">2-3 business days</span>
|
|
56
|
+
* <div slot="content">Express shipping available at checkout.</div>
|
|
57
|
+
* </sky-accordion-item>
|
|
58
|
+
* ```
|
|
59
|
+
* ```vue
|
|
60
|
+
* <template>
|
|
61
|
+
* <sky-accordion-item open animation-style="rotate" expand-icon="ion:add" collapse-icon="ion:remove">
|
|
62
|
+
* <span slot="title">Shipping</span>
|
|
63
|
+
* <span slot="sub-title">2-3 business days</span>
|
|
64
|
+
* <div slot="content">Express shipping available at checkout.</div>
|
|
65
|
+
* </sky-accordion-item>
|
|
66
|
+
* </template>
|
|
67
|
+
* ```
|
|
68
|
+
* ```jsx
|
|
69
|
+
* export default function Demo() {
|
|
70
|
+
* return (
|
|
71
|
+
* <sky-accordion-item open animation-style="rotate" expand-icon="ion:add" collapse-icon="ion:remove">
|
|
72
|
+
* <span slot="title">Shipping</span>
|
|
73
|
+
* <span slot="sub-title">2-3 business days</span>
|
|
74
|
+
* <div slot="content">Express shipping available at checkout.</div>
|
|
75
|
+
* </sky-accordion-item>
|
|
76
|
+
* );
|
|
77
|
+
* }
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare class SkyAccordionItem extends LitElement {
|
|
81
|
+
static dependencies: Record<string, CustomElementConstructor>;
|
|
82
|
+
/**
|
|
83
|
+
* Controls expanded/collapsed state.
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
open: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Disables interaction and prevents toggling.
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
disabled: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Icon animation preset for state transitions.
|
|
94
|
+
* `fade`, `spring`, and `none` are treated as non-transform modes.
|
|
95
|
+
* @default "rotate"
|
|
96
|
+
*/
|
|
97
|
+
animationStyle: SkyAccordionItemAnimationStyle;
|
|
98
|
+
/**
|
|
99
|
+
* Icon rendered when collapsed.
|
|
100
|
+
* @default "ion:chevron-back"
|
|
101
|
+
*/
|
|
102
|
+
expandIcon: string;
|
|
103
|
+
/**
|
|
104
|
+
* Icon rendered when expanded.
|
|
105
|
+
* @default "ion:chevron-back"
|
|
106
|
+
*/
|
|
107
|
+
collapseIcon: string;
|
|
108
|
+
/** Reference to the icon wrapper for WAAPI animations. */
|
|
109
|
+
private iconRef;
|
|
110
|
+
/** Reference to the content body used by fade animations. */
|
|
111
|
+
private contentBodyRef;
|
|
112
|
+
/** Monotonic counter used to generate unique ARIA ids. */
|
|
113
|
+
private static _idCounter;
|
|
114
|
+
/** Unique numeric id for this item instance. */
|
|
115
|
+
private _panelNum;
|
|
116
|
+
/** Header id used by `aria-labelledby`. */
|
|
117
|
+
private _headerId;
|
|
118
|
+
/** Content id used by `aria-controls`. */
|
|
119
|
+
private _contentId;
|
|
120
|
+
/** Shared animation controller for content and icon transitions. */
|
|
121
|
+
private animation;
|
|
122
|
+
/** Active icon animation handle, if one is running. */
|
|
123
|
+
private _iconAnimation;
|
|
124
|
+
/** Detects user preference for reduced motion. */
|
|
125
|
+
private static get prefersReducedMotion();
|
|
126
|
+
static styles: import("lit").CSSResult;
|
|
127
|
+
/** Runs open/close transitions after state updates. */
|
|
128
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
129
|
+
/**
|
|
130
|
+
* Expands the item if it is currently collapsed.
|
|
131
|
+
*
|
|
132
|
+
* @returns {void}
|
|
133
|
+
*/
|
|
134
|
+
expand(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Collapses the item if it is currently expanded.
|
|
137
|
+
*
|
|
138
|
+
* @returns {void}
|
|
139
|
+
*/
|
|
140
|
+
collapse(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Toggles open state and emits `accordion-toggle`.
|
|
143
|
+
*
|
|
144
|
+
* @returns {void}
|
|
145
|
+
*/
|
|
146
|
+
toggle(): void;
|
|
147
|
+
/**
|
|
148
|
+
* Dispatches `accordion-toggle` with the current open state.
|
|
149
|
+
* Event bubbles and is composed for parent-level coordination.
|
|
150
|
+
*/
|
|
151
|
+
private dispatchToggleEvent;
|
|
152
|
+
/** Handles keyboard activation for the header trigger. */
|
|
153
|
+
private handleHeaderKeydown;
|
|
154
|
+
/**
|
|
155
|
+
* Runs icon transform animation based on `animationStyle`.
|
|
156
|
+
*/
|
|
157
|
+
private runIconAnimation;
|
|
158
|
+
/** Returns icon transform keyframes for current state and animation style. */
|
|
159
|
+
private getIconKeyframes;
|
|
160
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
161
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import{__decorate as t,__metadata as e}from"tslib";import{LitElement as n,css as i,html as o}from"lit";import{property as a,customElement as s}from"lit/decorators.js";import{when as r}from"lit/directives/when.js";import{createRef as d,ref as l}from"lit/directives/ref.js";import{AnimationController as c}from"../helper/controllers/animation-controller.js";import{SkyIcon as p}from"../sky-icon/sky-icon.js";var h;let m=class extends n{constructor(){super(...arguments),this.open=!1,this.disabled=!1,this.animationStyle="rotate",this.expandIcon="ion:chevron-back",this.collapseIcon="ion:chevron-back",this.iconRef=d(),this.contentBodyRef=d(),this._panelNum=h._idCounter++,this._headerId=`sky-acc-${this._panelNum}-h`,this._contentId=`sky-acc-${this._panelNum}-c`,this.animation=new c(this,{defaultDuration:200,defaultEasing:"ease-out",defaultFill:"forwards"}),this._iconAnimation=null}static{h=this}static{this.dependencies={"sky-icon":p}}static{this._idCounter=0}static get prefersReducedMotion(){return!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}static{this.styles=i`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
width: 100%;
|
|
5
|
+
position: relative;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
}
|
|
8
|
+
:host([disabled]) {
|
|
9
|
+
pointer-events: none;
|
|
10
|
+
opacity: var(--sky-opacity-disabled, 0.6);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.accordion-item {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.header {
|
|
20
|
+
position: relative;
|
|
21
|
+
padding: var(--sky-space-3, 12px) var(--sky-space-4, 16px);
|
|
22
|
+
min-height: 44px;
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
display: flex;
|
|
26
|
+
text-align: start;
|
|
27
|
+
justify-content: space-between;
|
|
28
|
+
align-items: center;
|
|
29
|
+
gap: var(--sky-space-3, 12px);
|
|
30
|
+
background-color: var(--acc-bg, transparent);
|
|
31
|
+
transition: background var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease),
|
|
32
|
+
opacity var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease);
|
|
33
|
+
user-select: none;
|
|
34
|
+
-webkit-tap-highlight-color: transparent;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.header:hover:not(:disabled) {
|
|
38
|
+
background-color: var(--acc-header-hover, transparent);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.header:active:not(:disabled) {
|
|
42
|
+
background-color: var(--acc-header-active, transparent);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.header::after {
|
|
46
|
+
content: "";
|
|
47
|
+
position: absolute;
|
|
48
|
+
bottom: -1px;
|
|
49
|
+
left: 0;
|
|
50
|
+
height: 2px;
|
|
51
|
+
width: 100%;
|
|
52
|
+
background-color: var(--sky-border-light);
|
|
53
|
+
transform: scaleX(0);
|
|
54
|
+
transform-origin: center;
|
|
55
|
+
transition: transform var(--sky-duration-slow, 300ms) var(--sky-ease-default, ease);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:host([open]) .header::after {
|
|
59
|
+
transform: scaleX(1);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.header:focus-visible {
|
|
63
|
+
outline: none;
|
|
64
|
+
box-shadow: var(--sky-focus-ring);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@media (prefers-reduced-motion: reduce) {
|
|
68
|
+
.header,
|
|
69
|
+
.header::after {
|
|
70
|
+
transition: none;
|
|
71
|
+
}
|
|
72
|
+
.content {
|
|
73
|
+
transition: none;
|
|
74
|
+
}
|
|
75
|
+
.content-body {
|
|
76
|
+
transition: none;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.title-group {
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: column;
|
|
83
|
+
flex: 1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.title {
|
|
87
|
+
flex: 1;
|
|
88
|
+
font-size: var(--sky-font-size-md, 1rem);
|
|
89
|
+
font-weight: var(--sky-font-weight-semibold, 600);
|
|
90
|
+
line-height: var(--sky-line-height-snug, 1.25);
|
|
91
|
+
letter-spacing: var(--sky-letter-spacing-normal, 0);
|
|
92
|
+
font-family: var(--sky-font);
|
|
93
|
+
color: var(--sky-text-primary);
|
|
94
|
+
transition: var(--sky-transition-default, all 200ms ease);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.sub-title {
|
|
98
|
+
flex: 1;
|
|
99
|
+
font-size: var(--sky-font-size-sm, 0.875rem);
|
|
100
|
+
font-weight: var(--sky-font-weight-normal, 400);
|
|
101
|
+
line-height: var(--sky-line-height-normal, 1.5);
|
|
102
|
+
letter-spacing: var(--sky-letter-spacing-normal, 0);
|
|
103
|
+
font-family: var(--sky-font);
|
|
104
|
+
color: var(--sky-text-secondary);
|
|
105
|
+
transition: var(--sky-transition-default, all 200ms ease);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.content {
|
|
109
|
+
display: grid;
|
|
110
|
+
grid-template-rows: 0fr;
|
|
111
|
+
overflow: hidden;
|
|
112
|
+
transition: grid-template-rows var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease);
|
|
113
|
+
will-change: grid-template-rows;
|
|
114
|
+
contain: layout paint style;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
:host([open]) .content {
|
|
118
|
+
grid-template-rows: 1fr;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@media (prefers-reduced-motion: reduce) {
|
|
122
|
+
.content {
|
|
123
|
+
will-change: auto;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.content-clip {
|
|
128
|
+
min-height: 0;
|
|
129
|
+
overflow: hidden;
|
|
130
|
+
background-color: var(--acc-bg, transparent);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.content-body {
|
|
134
|
+
padding: var(--sky-space-2, 8px);
|
|
135
|
+
transition: padding var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
:host(:not([open])) .content-body {
|
|
139
|
+
padding: 0;
|
|
140
|
+
opacity: 0;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.icon {
|
|
144
|
+
display: flex;
|
|
145
|
+
align-items: center;
|
|
146
|
+
justify-content: center;
|
|
147
|
+
flex-shrink: 0;
|
|
148
|
+
margin-inline-start: auto;
|
|
149
|
+
}
|
|
150
|
+
`}updated(t){if(super.updated?.(t),!t.has("open"))return;const e=void 0===t.get("open"),n=h.prefersReducedMotion;if(!e){const t=this.contentBodyRef.value;t&&!n&&(this.open?this.animation.fadeIn(t,{duration:200}):this.animation.fadeOut(t,{duration:150}))}e&&!this.open||n||this.runIconAnimation()}expand(){this.disabled||this.open||(this.open=!0,this.dispatchToggleEvent())}collapse(){!this.disabled&&this.open&&(this.open=!1,this.dispatchToggleEvent())}toggle(){this.disabled||(this.open=!this.open,this.dispatchToggleEvent())}dispatchToggleEvent(){this.dispatchEvent(new CustomEvent("accordion-toggle",{bubbles:!0,composed:!0,detail:{open:this.open}}))}handleHeaderKeydown(t){"Enter"!==t.key&&" "!==t.key||(" "===t.key&&t.preventDefault(),this.toggle())}runIconAnimation(){const t=this.iconRef.value;if(!t||"none"===this.animationStyle||"fade"===this.animationStyle||"spring"===this.animationStyle)return;this._iconAnimation&&(this._iconAnimation.cancel(),this._iconAnimation=null);const e=this.getIconKeyframes();e&&(this._iconAnimation=this.animation.animate(t,e,{duration:300,easing:"ease-out",fill:"forwards"}),this._iconAnimation&&this._iconAnimation.finished.then(()=>{this._iconAnimation=null}).catch(()=>{this._iconAnimation=null}))}getIconKeyframes(){const t=this.open;switch(this.animationStyle){case"rotate":return t?[{transform:"rotate(0deg)"},{transform:"rotate(90deg)"}]:[{transform:"rotate(90deg)"},{transform:"rotate(0deg)"}];case"flip":return t?[{transform:"rotateX(0deg)"},{transform:"rotateX(180deg)"}]:[{transform:"rotateX(180deg)"},{transform:"rotateX(0deg)"}];case"scale":return t?[{transform:"scale(1)"},{transform:"scale(1.2)"}]:[{transform:"scale(1.2)"},{transform:"scale(1)"}];default:return null}}render(){return o`
|
|
151
|
+
<div class="accordion-item" part="item">
|
|
152
|
+
<div
|
|
153
|
+
class="header"
|
|
154
|
+
part="header"
|
|
155
|
+
id=${this._headerId}
|
|
156
|
+
aria-expanded=${this.open}
|
|
157
|
+
aria-controls=${this._contentId}
|
|
158
|
+
role="button"
|
|
159
|
+
tabindex=${this.disabled?"-1":"0"}
|
|
160
|
+
@click=${this.toggle}
|
|
161
|
+
@keydown=${this.handleHeaderKeydown}
|
|
162
|
+
>
|
|
163
|
+
<div class="title-group">
|
|
164
|
+
<span class="title" part="title">
|
|
165
|
+
<slot name="title"></slot>
|
|
166
|
+
</span>
|
|
167
|
+
<span class="sub-title" part="sub-title">
|
|
168
|
+
<slot name="sub-title"></slot>
|
|
169
|
+
</span>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<span class="icon" part="icon" ${l(this.iconRef)}>
|
|
173
|
+
${r(this.open,()=>o`<sky-icon icon=${this.collapseIcon}></sky-icon>`,()=>o`<sky-icon icon=${this.expandIcon}></sky-icon>`)}
|
|
174
|
+
</span>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
<div
|
|
178
|
+
class="content"
|
|
179
|
+
id=${this._contentId}
|
|
180
|
+
role="region"
|
|
181
|
+
aria-labelledby=${this._headerId}
|
|
182
|
+
>
|
|
183
|
+
<div class="content-clip">
|
|
184
|
+
<div class="content-body" part="content" ${l(this.contentBodyRef)}>
|
|
185
|
+
<slot name="content"></slot>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
`}};t([a({type:Boolean,reflect:!0}),e("design:type",Object)],m.prototype,"open",void 0),t([a({type:Boolean,reflect:!0}),e("design:type",Object)],m.prototype,"disabled",void 0),t([a({type:String,reflect:!0}),e("design:type",String)],m.prototype,"animationStyle",void 0),t([a({type:String}),e("design:type",Object)],m.prototype,"expandIcon",void 0),t([a({type:String}),e("design:type",Object)],m.prototype,"collapseIcon",void 0),m=h=t([s("sky-accordion-item")],m);export{m as SkyAccordionItem};
|
|
191
|
+
//# sourceMappingURL=sky-accordion-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-accordion-item.js","sources":["../../src/sky-accordion-item/sky-accordion-item.ts"],"sourcesContent":[null],"names":["SkyAccordionItem","LitElement","constructor","this","open","disabled","animationStyle","expandIcon","collapseIcon","iconRef","createRef","contentBodyRef","_panelNum","SkyAccordionItem_1","_idCounter","_headerId","_contentId","animation","AnimationController","defaultDuration","defaultEasing","defaultFill","_iconAnimation","dependencies","SkyIcon","prefersReducedMotion","window","matchMedia","matches","styles","css","updated","changedProperties","super","has","isFirstOpenChange","undefined","get","reduceMotion","contentEl","value","fadeIn","duration","fadeOut","runIconAnimation","expand","dispatchToggleEvent","collapse","toggle","dispatchEvent","CustomEvent","bubbles","composed","detail","handleHeaderKeydown","e","key","preventDefault","el","cancel","keyframes","getIconKeyframes","animate","easing","fill","finished","then","catch","transform","render","html","ref","when","__decorate","property","type","Boolean","reflect","prototype","String","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-alert";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-alert.js';
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { LitElement, PropertyValues } from "lit";
|
|
2
|
+
export type SkyAlertClosedEventDetail = {
|
|
3
|
+
title: string;
|
|
4
|
+
message: string;
|
|
5
|
+
};
|
|
6
|
+
export type SkyAlertStrip = "start" | "end" | "both" | "none";
|
|
7
|
+
export type SkyAlertVariant = "flat" | "bordered" | "light" | "faded" | "solid";
|
|
8
|
+
export type SkyAlertRoleType = "alert" | "alertdialog";
|
|
9
|
+
/**
|
|
10
|
+
* @element sky-alert
|
|
11
|
+
*
|
|
12
|
+
* @summary Status alert banner with variants, optional icon, strip accents, actions, dismiss behavior, and loading state.
|
|
13
|
+
*
|
|
14
|
+
* @status stable
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
*
|
|
17
|
+
* @documentation https://library.sky-ui.com/components/alert
|
|
18
|
+
* @dependency sky-icon
|
|
19
|
+
*
|
|
20
|
+
* @slot - Custom message content (used when `message` is empty).
|
|
21
|
+
* @slot actions - Action buttons or links displayed on the trailing side.
|
|
22
|
+
*
|
|
23
|
+
* @property {string} title - Title text shown above the message.
|
|
24
|
+
* @property {string} message - Message text rendered inside the alert.
|
|
25
|
+
* @property {boolean} removable - Shows a dismiss button when enabled.
|
|
26
|
+
* @property {string} color - Base color token or CSS color used by the alert.
|
|
27
|
+
* @property {string} size - Preset size token (`xs | sm | md | lg | xl`) or CSS length.
|
|
28
|
+
* @property {string} radius - Radius token or CSS length.
|
|
29
|
+
* @property {string | null} icon - Optional leading icon name for `<sky-icon>`.
|
|
30
|
+
* @property {SkyAlertStrip} strip - Strip accent placement.
|
|
31
|
+
* @property {string} stripColor - Strip accent color token or CSS color.
|
|
32
|
+
* @property {SkyAlertVariant} variant - Visual style variant.
|
|
33
|
+
* @property {boolean} loading - Shows a loading overlay.
|
|
34
|
+
* @property {SkyAlertRoleType} roleType - ARIA role for the alert container.
|
|
35
|
+
* @method close Dispatches `alert-closed` and removes the alert from the DOM.
|
|
36
|
+
*
|
|
37
|
+
* @fires {CustomEvent<SkyAlertClosedEventDetail>} alert-closed - Fired when the alert is dismissed via the close button; bubbles and is composed.
|
|
38
|
+
*
|
|
39
|
+
* @csspart alert - The outer alert container.
|
|
40
|
+
* @csspart icon - The optional leading icon.
|
|
41
|
+
* @csspart content - The content container (title + message/slot).
|
|
42
|
+
* @csspart title - The title text element.
|
|
43
|
+
* @csspart message - The message text element (when `message` is provided).
|
|
44
|
+
* @csspart actions - The trailing actions container.
|
|
45
|
+
* @csspart close-button - The dismiss button (when `removable`).
|
|
46
|
+
* @csspart loading-overlay - Overlay shown when `loading` is true.
|
|
47
|
+
* @csspart loading-spinner - Spinner element shown inside the loading overlay.
|
|
48
|
+
*
|
|
49
|
+
* @Behavior
|
|
50
|
+
* - `message` content takes priority over default-slot message content.
|
|
51
|
+
* - Dismissing a removable alert dispatches `alert-closed` and removes the element.
|
|
52
|
+
* - `strip` controls accent placement (`start`, `end`, `both`, `none`).
|
|
53
|
+
* - `role-type="alert"` maps to `aria-live="assertive"`; `alertdialog` maps to `aria-live="polite"`.
|
|
54
|
+
* - Respects reduced motion preferences for entry, button hover rotation, and spinner animation.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```html
|
|
58
|
+
* <sky-alert title="Upload Complete" message="Your file is now available." variant="bordered" strip="start" removable>
|
|
59
|
+
* <button slot="actions">View</button>
|
|
60
|
+
* </sky-alert>
|
|
61
|
+
* ```
|
|
62
|
+
* ```vue
|
|
63
|
+
* <template>
|
|
64
|
+
* <sky-alert title="Upload Complete" message="Your file is now available." variant="bordered" strip="start" removable>
|
|
65
|
+
* <button slot="actions">View</button>
|
|
66
|
+
* </sky-alert>
|
|
67
|
+
* </template>
|
|
68
|
+
* ```
|
|
69
|
+
* ```jsx
|
|
70
|
+
* export default function Demo() {
|
|
71
|
+
* return (
|
|
72
|
+
* <sky-alert title="Upload Complete" message="Your file is now available." variant="bordered" strip="start" removable>
|
|
73
|
+
* <button slot="actions">View</button>
|
|
74
|
+
* </sky-alert>
|
|
75
|
+
* );
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare class SkyAlert extends LitElement {
|
|
80
|
+
static dependencies: Record<string, CustomElementConstructor>;
|
|
81
|
+
/** Title text displayed above the message. @default "" */
|
|
82
|
+
title: string;
|
|
83
|
+
/** Message text displayed inside the alert. @default "" */
|
|
84
|
+
message: string;
|
|
85
|
+
/** Shows a close button that dismisses the alert. @default false */
|
|
86
|
+
removable: boolean;
|
|
87
|
+
/** Base color token or CSS color. @default "primary" */
|
|
88
|
+
color: string;
|
|
89
|
+
/** Size token (`xs | sm | md | lg | xl`) or CSS length. @default "md" */
|
|
90
|
+
size: string;
|
|
91
|
+
/** Radius token or CSS length. @default "md" */
|
|
92
|
+
radius: string;
|
|
93
|
+
/** Optional leading icon name for `<sky-icon>`. @default null */
|
|
94
|
+
icon: string | null;
|
|
95
|
+
/** Strip accent position. @default "none" */
|
|
96
|
+
strip: SkyAlertStrip;
|
|
97
|
+
/** Strip accent color. @default "currentColor" */
|
|
98
|
+
stripColor: string;
|
|
99
|
+
/** Visual style variant. @default "solid" */
|
|
100
|
+
variant: SkyAlertVariant;
|
|
101
|
+
/** Shows a loading overlay. @default false */
|
|
102
|
+
loading: boolean;
|
|
103
|
+
/** ARIA role applied to the alert container. @default "alert" */
|
|
104
|
+
roleType: SkyAlertRoleType;
|
|
105
|
+
/** Internal style variables */
|
|
106
|
+
private _styleVars;
|
|
107
|
+
/** Cached result of _resolveSize for the last `size` value (avoids recomputing when only color/variant change). */
|
|
108
|
+
private _sizeCache;
|
|
109
|
+
/** True when the actions slot has assigned content (used to show separator only when needed). */
|
|
110
|
+
private _hasActionsSlotContent;
|
|
111
|
+
static styles: import("lit").CSSResult;
|
|
112
|
+
/**
|
|
113
|
+
* Resolves size to get padding, font sizes, and other metrics.
|
|
114
|
+
* Result is memoized by `size` to avoid recomputing when only color/variant/radius change.
|
|
115
|
+
*/
|
|
116
|
+
private _resolveSize;
|
|
117
|
+
/** Recomputes style variables when visual inputs change. */
|
|
118
|
+
willUpdate(changedProperties: PropertyValues): void;
|
|
119
|
+
/** Initializes actions-slot presence state after first render. */
|
|
120
|
+
firstUpdated(): void;
|
|
121
|
+
/** Computes CSS custom properties from current variant, size, and color inputs. */
|
|
122
|
+
private _updateStyleVars;
|
|
123
|
+
/**
|
|
124
|
+
* Dispatches `alert-closed` and removes the alert from the DOM.
|
|
125
|
+
*
|
|
126
|
+
* @returns {void}
|
|
127
|
+
*/
|
|
128
|
+
close(): void;
|
|
129
|
+
/** Returns the ARIA role applied to the alert container. */
|
|
130
|
+
private getAriaRole;
|
|
131
|
+
/** Checks whether the actions slot currently has meaningful assigned content. */
|
|
132
|
+
private _checkActionsSlot;
|
|
133
|
+
/** Updates action-slot state when the slot assignment changes. */
|
|
134
|
+
private _onActionsSlotChange;
|
|
135
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
136
|
+
}
|