@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,265 @@
|
|
|
1
|
+
import{__decorate as e,__metadata as t}from"tslib";import{LitElement as o,css as i,html as s}from"lit";import{property as a,state as n,query as r,customElement as d}from"lit/decorators.js";import{when as l}from"lit/directives/when.js";import{createRef as p,ref as g}from"lit/directives/ref.js";import{classMap as h}from"lit/directives/class-map.js";import{animate as c}from"@lit-labs/motion";import{SkyIcon as y}from"../sky-icon/sky-icon.js";let m=0,v=0,b=class extends o{static{this.dependencies={"sky-icon":y}}static{this.styles=i`
|
|
2
|
+
:host {
|
|
3
|
+
display: contents;
|
|
4
|
+
font-family: var(--sky-font);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
dialog {
|
|
8
|
+
border: var(--sky-border-primary);
|
|
9
|
+
background: transparent;
|
|
10
|
+
padding: 0;
|
|
11
|
+
margin: auto;
|
|
12
|
+
color: var(--sky-text-primary);
|
|
13
|
+
position: fixed;
|
|
14
|
+
border-radius: var(--sky-radius-secondary);
|
|
15
|
+
box-shadow: var(--sky-box-shadow-secondary);
|
|
16
|
+
border: var(--sky-border-primary);
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
width: 100%;
|
|
19
|
+
text-align: center;
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
z-index: 1000;
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
dialog::backdrop {
|
|
26
|
+
background-color: transparent;
|
|
27
|
+
backdrop-filter: none;
|
|
28
|
+
transition: all 0.3s ease-in-out;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:host([overlay]) dialog::backdrop {
|
|
32
|
+
background-color: var(--sky-overlay-primary);
|
|
33
|
+
backdrop-filter: var(--sky-blur-primary);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* Variant backgrounds */
|
|
37
|
+
:host([variant="primary"]) dialog,
|
|
38
|
+
:host([variant="secondary"]) dialog,
|
|
39
|
+
:host([variant="tertiary"]) dialog {
|
|
40
|
+
backdrop-filter: var(--sky-blur-primary) var(--sky-saturation-primary)
|
|
41
|
+
var(--sky-brightness-primary);
|
|
42
|
+
-webkit-backdrop-filter: var(--sky-blur-primary)
|
|
43
|
+
var(--sky-saturation-primary) var(--sky-brightness-primary);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host([variant="primary"]) dialog {
|
|
47
|
+
background: var(--sky-glass-primary);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
:host([variant="secondary"]) dialog {
|
|
51
|
+
background: var(--sky-glass-secondary);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
:host([variant="tertiary"]) dialog {
|
|
55
|
+
background: var(--sky-glass-tertiary);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:host([variant="solid"]) dialog {
|
|
59
|
+
background: var(--sky-glass-solid);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* Padding CSS variables */
|
|
63
|
+
:host {
|
|
64
|
+
--sky-padding-none: 0;
|
|
65
|
+
--sky-padding-xs: 4px;
|
|
66
|
+
--sky-padding-sm: 8px;
|
|
67
|
+
--sky-padding-md: 16px;
|
|
68
|
+
--sky-padding-lg: 24px;
|
|
69
|
+
--sky-padding-xl: 32px;
|
|
70
|
+
--sky-close-size: 22px;
|
|
71
|
+
--sky-close-gap: 6px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.header-padding-none {
|
|
75
|
+
padding: var(--sky-padding-none);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.header-padding-xs {
|
|
79
|
+
padding: var(--sky-padding-xs);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.header-padding-sm {
|
|
83
|
+
padding: var(--sky-padding-sm);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.header-padding-md {
|
|
87
|
+
padding: var(--sky-padding-md);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.header-padding-lg {
|
|
91
|
+
padding: var(--sky-padding-lg);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.header-padding-xl {
|
|
95
|
+
padding: var(--sky-padding-xl);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.body-padding-none {
|
|
99
|
+
padding: var(--sky-padding-none);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.body-padding-xs {
|
|
103
|
+
padding: var(--sky-padding-xs);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.body-padding-sm {
|
|
107
|
+
padding: var(--sky-padding-sm);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.body-padding-md {
|
|
111
|
+
padding: var(--sky-padding-md);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.body-padding-lg {
|
|
115
|
+
padding: var(--sky-padding-lg);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.body-padding-xl {
|
|
119
|
+
padding: var(--sky-padding-xl);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.footer-padding-none {
|
|
123
|
+
padding: var(--sky-padding-none);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.footer-padding-xs {
|
|
127
|
+
padding: var(--sky-padding-xs);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.footer-padding-sm {
|
|
131
|
+
padding: var(--sky-padding-sm);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.footer-padding-md {
|
|
135
|
+
padding: var(--sky-padding-md);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.footer-padding-lg {
|
|
139
|
+
padding: var(--sky-padding-lg);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.footer-padding-xl {
|
|
143
|
+
padding: var(--sky-padding-xl);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* Close button */
|
|
147
|
+
.close-button {
|
|
148
|
+
position: absolute;
|
|
149
|
+
top: var(--sky-close-gap);
|
|
150
|
+
right: var(--sky-close-gap);
|
|
151
|
+
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
justify-content: center;
|
|
154
|
+
width: var(--sky-close-size);
|
|
155
|
+
height: var(--sky-close-size);
|
|
156
|
+
box-sizing: border-box;
|
|
157
|
+
border-radius: 50%;
|
|
158
|
+
box-shadow: var(--sky-box-shadow-primary);
|
|
159
|
+
font-size: calc(var(--sky-close-size) * 0.8);
|
|
160
|
+
cursor: pointer;
|
|
161
|
+
color: var(--sky-text-primary);
|
|
162
|
+
border: var(--sky-border-primary);
|
|
163
|
+
transition: all 0.3s ease;
|
|
164
|
+
background: var(--sky-hover-primary);
|
|
165
|
+
backdrop-filter: var(--sky-blur-tertiary) var(--sky-brightness-tertiary)
|
|
166
|
+
var(--sky-saturation-tertiary);
|
|
167
|
+
-webkit-backdrop-filter: var(--sky-blur-tertiary)
|
|
168
|
+
var(--sky-brightness-tertiary) var(--sky-saturation-tertiary);
|
|
169
|
+
z-index: 1;
|
|
170
|
+
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.close-button:hover {
|
|
174
|
+
color: var(--sky-danger-primary) !important;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* Message */
|
|
178
|
+
.message {
|
|
179
|
+
padding: 16px 0;
|
|
180
|
+
margin: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
::slotted([slot="header"]) {
|
|
184
|
+
font-size: 16px;
|
|
185
|
+
font-weight: bold;
|
|
186
|
+
color: var(--sky-text-primary);
|
|
187
|
+
box-sizing: border-box;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
dialog:focus,
|
|
191
|
+
dialog:focus-visible {
|
|
192
|
+
outline: none;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.header-separator {
|
|
196
|
+
border-bottom: var(--sky-border-primary);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.footer-separator {
|
|
200
|
+
border-top: var(--sky-border-primary);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
sky-icon {
|
|
204
|
+
display: inline-block;
|
|
205
|
+
width: 1em;
|
|
206
|
+
height: 1em;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* RTL support */
|
|
210
|
+
:host([dir="rtl"]) .close-button {
|
|
211
|
+
right: auto;
|
|
212
|
+
left: var(--sky-close-gap);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* Animation classes */
|
|
216
|
+
dialog.opening {
|
|
217
|
+
opacity: 0;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
dialog.closing {
|
|
221
|
+
opacity: 1;
|
|
222
|
+
}
|
|
223
|
+
`}constructor(){super(),this.open=!1,this.closable=!1,this.message="",this.overlay=!1,this.width="auto",this.variant="primary",this.separator=!1,this.persistent=!1,this.closeOnEsc=!1,this.headerPadding="sm",this.bodyPadding="sm",this.footerPadding="sm",this.highlightOnOutsideClick=!0,this._hasHeader=!1,this._hasBody=!1,this._hasFooter=!1,this._isClosing=!1,this._openAnimation=null,this._closeAnimation=null,this._highlightAnimation=null,this.dialogRef=p(),this._onBackdropPointerDown=e=>{const t=this.dialogElement;t&&t.open&&e.target===t&&(this.persistent?this._highlightDialog():this._requestClose("backdrop"))},this._onNativeClose=()=>{this.open&&requestAnimationFrame(()=>{this.dialogElement?.open||this.dialogElement?.showModal()})},this._onHeaderSlotChange=e=>{const t=e.target;this._hasHeader=this._slotHasContent(t)},this._onBodySlotChange=e=>{const t=e.target;this._hasBody=this._slotHasContent(t)},this._onFooterSlotChange=e=>{const t=e.target;this._hasFooter=this._slotHasContent(t)},this._onKeyDown=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),!this.persistent&&this.closeOnEsc?this._requestClose("escape"):this._highlightDialog())},this._handleCancel=this._handleCancel.bind(this)}firstUpdated(){const e=this.dialogElement;e&&(e.addEventListener("keydown",this._onKeyDown,{capture:!0}),e.addEventListener("pointerdown",this._onBackdropPointerDown),e.addEventListener("cancel",this._handleCancel),e.addEventListener("close",this._onNativeClose))}disconnectedCallback(){const e=this.dialogElement;e&&(e.removeEventListener("keydown",this._onKeyDown,{capture:!0}),e.removeEventListener("pointerdown",this._onBackdropPointerDown),e.removeEventListener("cancel",this._handleCancel),e.removeEventListener("close",this._onNativeClose)),super.disconnectedCallback(),this._unlockScroll(),e?.open&&e.close()}show(){this.open=!0}hide(){this.open=!1}focusDialog(){this.dialogElement&&this.dialogElement.focus()}getDialogElement(){return this.dialogElement}updated(e){e.has("open")&&requestAnimationFrame(()=>{this._handleOpenChange(e.get("open"))})}_handleOpenChange(e){this.dialogElement&&(this.open&&!this.dialogElement.open?(this._lockScroll(),this.dialogElement.showModal(),requestAnimationFrame(()=>{this._animateOpen()})):!this.open&&e&&(this._isClosing=!0,this._animateClose()))}_lockScroll(){"undefined"!=typeof window&&"undefined"!=typeof document&&(0===m&&(v=window.scrollY,window.scrollTo(0,0)),m++,document.documentElement.setAttribute("data-sky-dialog-open","true"))}_unlockScroll(){"undefined"!=typeof window&&"undefined"!=typeof document&&(m=Math.max(0,m-1),0===m&&(document.documentElement.removeAttribute("data-sky-dialog-open"),window.scrollTo(0,v)))}_prefersReducedMotion(){return!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}_animateOpen(){const e=this.dialogElement;if(!e)return;this._openAnimation?.cancel(),this._closeAnimation?.cancel();const t=this._prefersReducedMotion()?0:300,o=e.animate([{opacity:0,transform:"scale(0.95)",transformOrigin:"center center"},{opacity:1,transform:"scale(1)",transformOrigin:"center center"}],{duration:t,easing:"ease-out",fill:"forwards"});o.onfinish=()=>{this.dispatchEvent(new CustomEvent("dialog-opened",{bubbles:!0,composed:!0}))},this._openAnimation=o}_animateClose(){const e=this.dialogElement;if(!e)return;this._openAnimation?.cancel(),this._closeAnimation?.cancel();const t=this._prefersReducedMotion()?0:150,o=e.animate([{opacity:1,transform:"scale(1)",transformOrigin:"center center"},{opacity:0,transform:"scale(0.95)",transformOrigin:"center center"}],{duration:t,easing:"ease-out",fill:"forwards"});o.onfinish=()=>{e.close(),this._unlockScroll(),this._isClosing=!1,this.dispatchEvent(new CustomEvent("dialog-closed",{bubbles:!0,composed:!0}))},this._closeAnimation=o}_handleCancel(e){e.preventDefault(),!this.persistent&&this.closeOnEsc?this._requestClose("escape"):this._highlightDialog()}_highlightDialog(){if(!this.highlightOnOutsideClick)return;if(this._prefersReducedMotion())return;const e=this.dialogElement;if(!e)return;this._highlightAnimation?.cancel();const t=e.animate([{transform:"scale(1)"},{transform:"scale(1.05)"},{transform:"scale(1)"}],{duration:300,easing:"ease-in-out"});this._highlightAnimation=t}_requestClose(e){this._isClosing||this.dispatchEvent(new CustomEvent("request-close",{detail:{reason:e},bubbles:!0,composed:!0}))}_slotHasContent(e){return e.assignedNodes({flatten:!0}).some(e=>e.nodeType!==Node.TEXT_NODE||!!e.textContent?.trim())}render(){const e={none:!0,xs:!0,sm:!0,md:!0,lg:!0,xl:!0},t=e[this.headerPadding]?this.headerPadding:"md",o=e[this.bodyPadding]?this.bodyPadding:"md",i=e[this.footerPadding]?this.footerPadding:"md",a={};this._hasHeader&&(a[`header-padding-${t}`]=!0,this.separator&&(a["header-separator"]=!0));const n={};return this._hasFooter?(n.actions=!0,n[`footer-padding-${i}`]=!0,this.separator&&(n["footer-separator"]=!0)):n.actions=!0,s`
|
|
224
|
+
<dialog
|
|
225
|
+
part="dialog"
|
|
226
|
+
aria-modal="true"
|
|
227
|
+
style="max-width: ${this.width};"
|
|
228
|
+
@cancel="${this._handleCancel}"
|
|
229
|
+
${g(this.dialogRef)}
|
|
230
|
+
${c({keyframeOptions:{duration:300,easing:"ease-out"}})}
|
|
231
|
+
>
|
|
232
|
+
<slot></slot>
|
|
233
|
+
|
|
234
|
+
${l(this.message,()=>s`
|
|
235
|
+
<p class="message" part="message">${this.message}</p>
|
|
236
|
+
`)}
|
|
237
|
+
|
|
238
|
+
<div class=${h(a)} part="header">
|
|
239
|
+
<slot name="header" @slotchange=${this._onHeaderSlotChange}></slot>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
<div
|
|
243
|
+
class=${h({[`body-padding-${o}`]:this._hasBody})}
|
|
244
|
+
part="content"
|
|
245
|
+
>
|
|
246
|
+
<slot name="body" @slotchange=${this._onBodySlotChange}></slot>
|
|
247
|
+
</div>
|
|
248
|
+
|
|
249
|
+
<div class=${h(n)} part="actions footer">
|
|
250
|
+
<slot name="footer" @slotchange=${this._onFooterSlotChange}></slot>
|
|
251
|
+
</div>
|
|
252
|
+
${l(this.closable,()=>s`
|
|
253
|
+
<button
|
|
254
|
+
class="close-button"
|
|
255
|
+
part="close-button"
|
|
256
|
+
type="button"
|
|
257
|
+
aria-label="Close dialog"
|
|
258
|
+
@click=${()=>this._requestClose("close-button")}
|
|
259
|
+
>
|
|
260
|
+
<sky-icon icon="ion:close"></sky-icon>
|
|
261
|
+
</button>
|
|
262
|
+
`)}
|
|
263
|
+
</dialog>
|
|
264
|
+
`}};e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"open",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"closable",void 0),e([a({type:String}),t("design:type",Object)],b.prototype,"message",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"overlay",void 0),e([a({type:String}),t("design:type",Object)],b.prototype,"width",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"variant",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"separator",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"persistent",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"closeOnEsc",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"headerPadding",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"bodyPadding",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"footerPadding",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"highlightOnOutsideClick",void 0),e([n(),t("design:type",Object)],b.prototype,"_hasHeader",void 0),e([n(),t("design:type",Object)],b.prototype,"_hasBody",void 0),e([n(),t("design:type",Object)],b.prototype,"_hasFooter",void 0),e([n(),t("design:type",Object)],b.prototype,"_isClosing",void 0),e([r("dialog"),t("design:type",HTMLDialogElement)],b.prototype,"dialogElement",void 0),b=e([d("sky-dialog"),t("design:paramtypes",[])],b);export{b as SkyDialog};
|
|
265
|
+
//# sourceMappingURL=sky-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-dialog.js","sources":["../../src/sky-dialog/sky-dialog.ts"],"sourcesContent":[null],"names":["_dialogOpenCount","_savedScrollY","SkyDialog","LitElement","this","dependencies","SkyIcon","styles","css","constructor","super","open","closable","message","overlay","width","variant","separator","persistent","closeOnEsc","headerPadding","bodyPadding","footerPadding","highlightOnOutsideClick","_hasHeader","_hasBody","_hasFooter","_isClosing","_openAnimation","_closeAnimation","_highlightAnimation","dialogRef","createRef","_onBackdropPointerDown","event","dialog","dialogElement","target","_highlightDialog","_requestClose","_onNativeClose","requestAnimationFrame","showModal","_onHeaderSlotChange","e","slot","_slotHasContent","_onBodySlotChange","_onFooterSlotChange","_onKeyDown","key","preventDefault","stopPropagation","_handleCancel","bind","firstUpdated","d","addEventListener","capture","disconnectedCallback","removeEventListener","_unlockScroll","close","show","hide","focusDialog","focus","getDialogElement","updated","changedProps","has","_handleOpenChange","get","previousOpen","_lockScroll","_animateOpen","_animateClose","window","document","scrollY","scrollTo","documentElement","setAttribute","Math","max","removeAttribute","_prefersReducedMotion","matchMedia","matches","cancel","duration","animation","animate","opacity","transform","transformOrigin","easing","fill","onfinish","dispatchEvent","CustomEvent","bubbles","composed","reason","detail","assignedNodes","flatten","some","n","nodeType","Node","TEXT_NODE","textContent","trim","render","valid","none","xs","sm","md","lg","xl","hp","bp","fp","headerClasses","footerClasses","html","ref","keyframeOptions","when","classMap","__decorate","property","type","Boolean","reflect","prototype","String","state","query","HTMLDialogElement","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-divider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-divider.js';
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export type SkyDividerDirection = "horizontal" | "vertical";
|
|
3
|
+
/**
|
|
4
|
+
* @element sky-divider
|
|
5
|
+
*
|
|
6
|
+
* @summary Visual separator component for horizontal and vertical layout separation.
|
|
7
|
+
*
|
|
8
|
+
* @status stable
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*
|
|
11
|
+
* @documentation https://library.sky-ui.com/components/divider
|
|
12
|
+
*
|
|
13
|
+
* @csspart divider - The divider line element (either `<hr>` or `<div>` depending on direction).
|
|
14
|
+
*
|
|
15
|
+
* @property {string} color - Divider color token or CSS color.
|
|
16
|
+
* @property {string} thickness - Divider thickness (for example `1px` or `2px`).
|
|
17
|
+
* @property {string} margin - Outer margin around the divider.
|
|
18
|
+
* @property {SkyDividerDirection} direction - Divider orientation.
|
|
19
|
+
* @property {boolean} inset - Enables indented divider layout.
|
|
20
|
+
* @property {string} height - Height used for vertical orientation.
|
|
21
|
+
* @method getComputedColor Returns the resolved runtime divider color.
|
|
22
|
+
* @method getComputedThickness Returns the resolved runtime divider thickness.
|
|
23
|
+
*
|
|
24
|
+
* @cssprop --divider-color - CSS custom property for divider color.
|
|
25
|
+
* @cssprop --divider-thickness - CSS custom property for divider thickness.
|
|
26
|
+
* @cssprop --divider-margin - CSS custom property for divider margin.
|
|
27
|
+
* @cssprop --divider-height - CSS custom property for vertical divider height.
|
|
28
|
+
*
|
|
29
|
+
* @Behavior
|
|
30
|
+
* - Simple visual divider that can be horizontal or vertical
|
|
31
|
+
* - Supports extensive customization via properties
|
|
32
|
+
* - Automatically resolves color values using color resolver
|
|
33
|
+
* - Updates CSS custom properties when properties change
|
|
34
|
+
* - **horizontal**: Renders as `<hr>` element, spans full width
|
|
35
|
+
* - **vertical**: Renders as `<div>` element, spans configurable height
|
|
36
|
+
* - Horizontal dividers use semantic `<hr>` element
|
|
37
|
+
* - Vertical dividers use `<div>` with appropriate styling
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```html
|
|
41
|
+
* <div style="display: flex; align-items: center;">
|
|
42
|
+
* <span>Left content</span>
|
|
43
|
+
* <sky-divider
|
|
44
|
+
* direction="vertical"
|
|
45
|
+
* height="50px"
|
|
46
|
+
* margin="0 16px"
|
|
47
|
+
* ></sky-divider>
|
|
48
|
+
* <span>Right content</span>
|
|
49
|
+
* </div>
|
|
50
|
+
* ```
|
|
51
|
+
* ```vue
|
|
52
|
+
* <template>
|
|
53
|
+
* <div style="display:flex;align-items:center;">
|
|
54
|
+
* <span>Left content</span>
|
|
55
|
+
* <sky-divider direction="vertical" height="50px" margin="0 16px"></sky-divider>
|
|
56
|
+
* <span>Right content</span>
|
|
57
|
+
* </div>
|
|
58
|
+
* </template>
|
|
59
|
+
* ```
|
|
60
|
+
* ```jsx
|
|
61
|
+
* export default function Demo() {
|
|
62
|
+
* return (
|
|
63
|
+
* <div style={{ display: "flex", alignItems: "center" }}>
|
|
64
|
+
* <span>Left content</span>
|
|
65
|
+
* <sky-divider direction="vertical" height="50px" margin="0 16px"></sky-divider>
|
|
66
|
+
* <span>Right content</span>
|
|
67
|
+
* </div>
|
|
68
|
+
* );
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare class SkyDivider extends LitElement {
|
|
73
|
+
/**
|
|
74
|
+
* The color of the divider.
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
color: string;
|
|
78
|
+
/**
|
|
79
|
+
* The thickness of the divider (e.g., `"1px"`, `"2px"`).
|
|
80
|
+
* @public
|
|
81
|
+
*/
|
|
82
|
+
thickness: string;
|
|
83
|
+
/**
|
|
84
|
+
* The margin around the divider.
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
87
|
+
margin: string;
|
|
88
|
+
/**
|
|
89
|
+
* Divider orientation.
|
|
90
|
+
* @public
|
|
91
|
+
*/
|
|
92
|
+
direction: SkyDividerDirection;
|
|
93
|
+
/**
|
|
94
|
+
* Whether the divider should be inset (indented).
|
|
95
|
+
* @public
|
|
96
|
+
*/
|
|
97
|
+
inset: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* The height of a vertical divider.
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
height: string;
|
|
103
|
+
static styles: import("lit").CSSResult;
|
|
104
|
+
/** @protected */
|
|
105
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
106
|
+
/**
|
|
107
|
+
* Gets the current computed color of the divider.
|
|
108
|
+
* @returns Resolved color value
|
|
109
|
+
* @public
|
|
110
|
+
*/
|
|
111
|
+
getComputedColor(): string;
|
|
112
|
+
/**
|
|
113
|
+
* Gets the current computed thickness of the divider.
|
|
114
|
+
* @returns Resolved thickness value
|
|
115
|
+
* @public
|
|
116
|
+
*/
|
|
117
|
+
getComputedThickness(): string;
|
|
118
|
+
/** @protected */
|
|
119
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
120
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import{__decorate as t,__metadata as i}from"tslib";import{LitElement as e,css as r,html as o}from"lit";import{property as s,customElement as d}from"lit/decorators.js";import{when as n}from"lit/directives/when.js";import{classMap as h}from"lit/directives/class-map.js";import{resolveColor as p}from"../helper/utils/color-resolver.js";let a=class extends e{constructor(){super(...arguments),this.color="muted",this.thickness="1px",this.margin="",this.direction="horizontal",this.inset=!1,this.height="100%"}static{this.styles=r`
|
|
2
|
+
hr {
|
|
3
|
+
border: none;
|
|
4
|
+
border-top: var(--divider-thickness, 2px) solid var(--divider-color);
|
|
5
|
+
margin: var(--divider-margin);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.vertical {
|
|
9
|
+
border-top: none;
|
|
10
|
+
border-left: var(--divider-thickness, 2px) solid var(--divider-color);
|
|
11
|
+
height: var(--divider-height, 100%);
|
|
12
|
+
width: 0 !important;
|
|
13
|
+
margin: var(--divider-margin);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.inset.horizontal {
|
|
17
|
+
margin-left: 20px;
|
|
18
|
+
margin-right: 20px;
|
|
19
|
+
width: calc(100% - 20px * 2);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.inset.vertical {
|
|
23
|
+
margin-top: 20px;
|
|
24
|
+
margin-bottom: 20px;
|
|
25
|
+
height: calc(100% - 20px * 2);
|
|
26
|
+
}
|
|
27
|
+
`}updated(t){t.has("color")&&this.style.setProperty("--divider-color",p(this.color)),t.has("thickness")&&this.style.setProperty("--divider-thickness",this.thickness),t.has("margin")&&this.style.setProperty("--divider-margin",this.margin),t.has("height")&&this.style.setProperty("--divider-height",this.height)}getComputedColor(){return getComputedStyle(this).getPropertyValue("--divider-color").trim()||this.color}getComputedThickness(){return getComputedStyle(this).getPropertyValue("--divider-thickness").trim()||this.thickness}render(){const t="vertical"===this.direction,i=h({vertical:!0,inset:this.inset}),e=h({horizontal:!0,inset:this.inset});return n(t,()=>o`
|
|
28
|
+
<div
|
|
29
|
+
class=${i}
|
|
30
|
+
part="divider"
|
|
31
|
+
role="separator"
|
|
32
|
+
aria-orientation="vertical"
|
|
33
|
+
></div>
|
|
34
|
+
`,()=>o`
|
|
35
|
+
<hr
|
|
36
|
+
class=${e}
|
|
37
|
+
part="divider"
|
|
38
|
+
role="separator"
|
|
39
|
+
aria-orientation="horizontal"
|
|
40
|
+
/>
|
|
41
|
+
`)}};t([s({type:String}),i("design:type",Object)],a.prototype,"color",void 0),t([s({type:String}),i("design:type",Object)],a.prototype,"thickness",void 0),t([s({type:String}),i("design:type",Object)],a.prototype,"margin",void 0),t([s({type:String}),i("design:type",String)],a.prototype,"direction",void 0),t([s({type:Boolean}),i("design:type",Object)],a.prototype,"inset",void 0),t([s({type:String}),i("design:type",Object)],a.prototype,"height",void 0),a=t([d("sky-divider")],a);export{a as SkyDivider};
|
|
42
|
+
//# sourceMappingURL=sky-divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-divider.js","sources":["../../src/sky-divider/sky-divider.ts"],"sourcesContent":[null],"names":["SkyDivider","LitElement","constructor","this","color","thickness","margin","direction","inset","height","styles","css","updated","changedProperties","has","style","setProperty","resolveColor","getComputedColor","getComputedStyle","getPropertyValue","trim","getComputedThickness","render","isVertical","verticalClasses","classMap","vertical","horizontalClasses","horizontal","when","html","__decorate","property","type","String","prototype","Boolean","customElement"],"mappings":"6UA8EO,IAAMA,EAAN,cAAyBC,EAAzB,WAAAC,uBAMLC,KAAAC,MAAQ,QAORD,KAAAE,UAAY,MAOZF,KAAAG,OAAS,GAOTH,KAAAI,UAAiC,aAOjCJ,KAAAK,OAAQ,EAORL,KAAAM,OAAS,MAsGX,QApGkBN,KAAAO,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0B1B,CAGO,OAAAC,CAAQC,GACXA,EAAkBC,IAAI,UACxBX,KAAKY,MAAMC,YAAY,kBAAmBC,EAAad,KAAKC,QAE1DS,EAAkBC,IAAI,cACxBX,KAAKY,MAAMC,YAAY,sBAAuBb,KAAKE,WAEjDQ,EAAkBC,IAAI,WACxBX,KAAKY,MAAMC,YAAY,mBAAoBb,KAAKG,QAE9CO,EAAkBC,IAAI,WACxBX,KAAKY,MAAMC,YAAY,mBAAoBb,KAAKM,OAEpD,CAOO,gBAAAS,GACL,OACEC,iBAAiBhB,MAAMiB,iBAAiB,mBAAmBC,QAC3DlB,KAAKC,KAET,CAOO,oBAAAkB,GACL,OACEH,iBAAiBhB,MAAMiB,iBAAiB,uBAAuBC,QAC/DlB,KAAKE,SAET,CAGS,MAAAkB,GACP,MAAMC,EAAgC,aAAnBrB,KAAKI,UAClBkB,EAAkBC,EAAS,CAC/BC,UAAU,EACVnB,MAAOL,KAAKK,QAERoB,EAAoBF,EAAS,CACjCG,YAAY,EACZrB,MAAOL,KAAKK,QAGd,OAAOsB,EACLN,EACA,IAAMO,CAAI;;kBAEEN;;;;;QAMZ,IAAMM,CAAI;;kBAEEH;;;;;QAOhB,GAxIAI,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACFnC,EAAAoC,UAAA,gBAOhBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACAnC,EAAAoC,UAAA,oBAOlBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACNnC,EAAAoC,UAAA,iBAOZJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCAC4BnC,EAAAoC,UAAA,oBAO9CJ,EAAA,CADCC,EAAS,CAAEC,KAAMG,mCACJrC,EAAAoC,UAAA,gBAOdJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACFnC,EAAAoC,UAAA,iBAzCLpC,EAAUgC,EAAA,CADtBM,EAAc,gBACFtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-drawer";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-drawer.js';
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export type SkyDrawerSide = "left" | "right";
|
|
3
|
+
export type SkyDrawerScope = "viewport" | "parent";
|
|
4
|
+
export type SkyDrawerToggleDetail = {
|
|
5
|
+
open: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type SkyDrawerOverlayClickDetail = {
|
|
8
|
+
side: SkyDrawerSide;
|
|
9
|
+
scope: SkyDrawerScope;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @element sky-drawer
|
|
13
|
+
*
|
|
14
|
+
* @summary Slide-in drawer panel with optional overlay, keyboard dismissal, and viewport/parent scope modes.
|
|
15
|
+
*
|
|
16
|
+
* @status stable
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
*
|
|
19
|
+
* @documentation https://library.sky-ui.com/components/sidebar
|
|
20
|
+
*
|
|
21
|
+
* @uiVModel open drawer-change
|
|
22
|
+
*
|
|
23
|
+
* @slot - Main content area inside the drawer body.
|
|
24
|
+
* @slot header - Drawer header content (top area).
|
|
25
|
+
* @slot footer - Drawer footer content (bottom area).
|
|
26
|
+
*
|
|
27
|
+
* @csspart overlay - The backdrop overlay element.
|
|
28
|
+
* @csspart panel - The main drawer panel container.
|
|
29
|
+
* @csspart header - Header wrapper inside the drawer.
|
|
30
|
+
* @csspart footer - Footer wrapper inside the drawer.
|
|
31
|
+
* @csspart content - Content/body area inside the drawer.
|
|
32
|
+
*
|
|
33
|
+
* @fires {CustomEvent<SkyDrawerToggleDetail>} drawer-change - Fired whenever drawer open state changes.
|
|
34
|
+
* @fires {CustomEvent<SkyDrawerOverlayClickDetail>} drawer-overlay-click - Fired when user clicks overlay and drawer is dismissable.
|
|
35
|
+
*
|
|
36
|
+
* @property {boolean} open - Whether the drawer is open.
|
|
37
|
+
* @property {SkyDrawerSide} side - Side the drawer slides in from.
|
|
38
|
+
* @property {string} width - Drawer width CSS length.
|
|
39
|
+
* @property {string} height - Drawer height CSS length.
|
|
40
|
+
* @property {string} radius - Drawer panel border radius: token (`none`, `sm`, `md`, `lg`, `full`) or CSS length.
|
|
41
|
+
* @property {boolean} overlay - Shows overlay behind drawer when true.
|
|
42
|
+
* @property {boolean} persistent - Prevents overlay/Escape auto-dismiss.
|
|
43
|
+
* @property {boolean} closeOnEsc - Enables Escape-key dismiss.
|
|
44
|
+
* @property {SkyDrawerScope} scope - Drawer scope: viewport or parent.
|
|
45
|
+
* @property {boolean} separator - Enables separators in slotted header/footer content.
|
|
46
|
+
* @method openDrawer Opens the drawer.
|
|
47
|
+
* @method close Closes the drawer.
|
|
48
|
+
* @method toggle Toggles drawer open state.
|
|
49
|
+
*
|
|
50
|
+
* @Behavior
|
|
51
|
+
* - Slides in from specified side with smooth animation
|
|
52
|
+
* - Supports both viewport-covering and parent-contained modes
|
|
53
|
+
* - Provides overlay with click-to-close (when not persistent)
|
|
54
|
+
* - Handles Escape key dismissal (when not persistent)
|
|
55
|
+
* - Maintains proper stacking context and focus management
|
|
56
|
+
* - **viewport**: Covers entire viewport, fixed positioning, overlay covers entire screen
|
|
57
|
+
* - **parent**: Contained within parent element, absolute positioning, overlay limited to parent bounds
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```html
|
|
61
|
+
* <sky-drawer open side="right" width="360px" overlay closeonesc>
|
|
62
|
+
* <div slot="header">Settings</div>
|
|
63
|
+
* <p>Drawer content here.</p>
|
|
64
|
+
* <div slot="footer">
|
|
65
|
+
* <button>Close</button>
|
|
66
|
+
* </div>
|
|
67
|
+
* </sky-drawer>
|
|
68
|
+
* ```
|
|
69
|
+
* ```vue
|
|
70
|
+
* <template>
|
|
71
|
+
* <sky-drawer open side="right" width="360px" overlay closeonesc>
|
|
72
|
+
* <div slot="header">Settings</div>
|
|
73
|
+
* <p>Drawer content here.</p>
|
|
74
|
+
* <div slot="footer">
|
|
75
|
+
* <button>Close</button>
|
|
76
|
+
* </div>
|
|
77
|
+
* </sky-drawer>
|
|
78
|
+
* </template>
|
|
79
|
+
* ```
|
|
80
|
+
* ```jsx
|
|
81
|
+
* export default function Demo() {
|
|
82
|
+
* return (
|
|
83
|
+
* <sky-drawer open side="right" width="360px" overlay closeonesc>
|
|
84
|
+
* <div slot="header">Settings</div>
|
|
85
|
+
* <p>Drawer content here.</p>
|
|
86
|
+
* <div slot="footer">
|
|
87
|
+
* <button>Close</button>
|
|
88
|
+
* </div>
|
|
89
|
+
* </sky-drawer>
|
|
90
|
+
* );
|
|
91
|
+
* }
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare class SkyDrawer extends LitElement {
|
|
95
|
+
/** @public Whether the drawer is open. */
|
|
96
|
+
open: boolean;
|
|
97
|
+
/** @public Which side the drawer slides in from. */
|
|
98
|
+
side: SkyDrawerSide;
|
|
99
|
+
/** @public Drawer width (CSS length). */
|
|
100
|
+
width: string;
|
|
101
|
+
/** @public Drawer height (CSS length). */
|
|
102
|
+
height: string;
|
|
103
|
+
/** @public Drawer border-radius (token or CSS length). */
|
|
104
|
+
radius: string;
|
|
105
|
+
/** @public Whether to show an overlay behind the drawer. */
|
|
106
|
+
overlay: boolean;
|
|
107
|
+
/** @public Whether the drawer is non-dismissable (requires programmatic closing). */
|
|
108
|
+
persistent: boolean;
|
|
109
|
+
/** @public Close on Escape key press. */
|
|
110
|
+
closeOnEsc: boolean;
|
|
111
|
+
/** @public Whether drawer covers viewport or is contained within parent. */
|
|
112
|
+
scope: SkyDrawerScope;
|
|
113
|
+
/** @public Whether to show separators in header/footer slots. */
|
|
114
|
+
separator: boolean;
|
|
115
|
+
static styles: import("lit").CSSResult;
|
|
116
|
+
/**
|
|
117
|
+
* Opens the drawer.
|
|
118
|
+
* @public
|
|
119
|
+
*/
|
|
120
|
+
openDrawer(): void;
|
|
121
|
+
/**
|
|
122
|
+
* Closes the drawer.
|
|
123
|
+
* @public
|
|
124
|
+
*/
|
|
125
|
+
close(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Toggles the drawer open/closed.
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
toggle(): void;
|
|
131
|
+
/** @protected */
|
|
132
|
+
connectedCallback(): void;
|
|
133
|
+
/** @protected */
|
|
134
|
+
disconnectedCallback(): void;
|
|
135
|
+
/** @protected */
|
|
136
|
+
protected updated(changed: Map<string, unknown>): void;
|
|
137
|
+
/**
|
|
138
|
+
* Applies dimension properties to CSS custom properties.
|
|
139
|
+
* @private
|
|
140
|
+
*/
|
|
141
|
+
private _applyDims;
|
|
142
|
+
/**
|
|
143
|
+
* Handles keydown events for Escape key closing.
|
|
144
|
+
* @param e - Keyboard event
|
|
145
|
+
* @private
|
|
146
|
+
*/
|
|
147
|
+
private _onKeydown;
|
|
148
|
+
/**
|
|
149
|
+
* Handles click events on the drawer overlay.
|
|
150
|
+
* @private
|
|
151
|
+
*/
|
|
152
|
+
private _onOverlayClick;
|
|
153
|
+
/**
|
|
154
|
+
* Stops event propagation.
|
|
155
|
+
* @param e - Event to stop
|
|
156
|
+
* @private
|
|
157
|
+
*/
|
|
158
|
+
private _stop;
|
|
159
|
+
/** @protected */
|
|
160
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
161
|
+
}
|