@sky.ui/core 0.0.8 → 0.0.20
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/auto-import.js +1 -31
- package/dist/custom-elements.json +7115 -21498
- package/dist/helper/utils/color-resolver.d.ts +12 -0
- package/dist/helper/utils/color-resolver.js +1 -1
- package/dist/helper/utils/color-resolver.js.map +1 -1
- package/dist/index.d.ts +1 -31
- package/dist/index.js +1 -1
- package/dist/sky-alert/sky-alert.js +32 -42
- package/dist/sky-alert/sky-alert.js.map +1 -1
- package/dist/sky-appbar/sky-appbar.d.ts +5 -0
- package/dist/sky-appbar/sky-appbar.js +63 -21
- package/dist/sky-appbar/sky-appbar.js.map +1 -1
- package/dist/sky-avatar/sky-avatar.d.ts +2 -2
- package/dist/sky-avatar/sky-avatar.js +36 -28
- package/dist/sky-avatar/sky-avatar.js.map +1 -1
- package/dist/sky-badge/sky-badge.d.ts +2 -0
- package/dist/sky-badge/sky-badge.js +21 -19
- package/dist/sky-badge/sky-badge.js.map +1 -1
- package/dist/sky-button/sky-button.d.ts +4 -0
- package/dist/sky-button/sky-button.js +85 -26
- package/dist/sky-button/sky-button.js.map +1 -1
- package/dist/sky-card/sky-card.d.ts +7 -1
- package/dist/sky-card/sky-card.js +72 -40
- package/dist/sky-card/sky-card.js.map +1 -1
- package/dist/sky-checkbox/sky-checkbox.js +34 -23
- package/dist/sky-checkbox/sky-checkbox.js.map +1 -1
- package/dist/sky-chip/sky-chip.js +53 -35
- package/dist/sky-chip/sky-chip.js.map +1 -1
- package/dist/sky-combobox/sky-combobox.d.ts +6 -2
- package/dist/sky-combobox/sky-combobox.js +92 -262
- package/dist/sky-combobox/sky-combobox.js.map +1 -1
- package/dist/sky-dialog/sky-dialog.d.ts +4 -11
- package/dist/sky-dialog/sky-dialog.js +78 -131
- package/dist/sky-dialog/sky-dialog.js.map +1 -1
- package/dist/sky-flexbox/sky-flexbox.js.map +1 -1
- package/dist/sky-form/sky-form.js +21 -19
- package/dist/sky-form/sky-form.js.map +1 -1
- package/dist/sky-image/sky-image.d.ts +1 -0
- package/dist/sky-image/sky-image.js +14 -7
- package/dist/sky-image/sky-image.js.map +1 -1
- package/dist/sky-input/sky-input.d.ts +15 -2
- package/dist/sky-input/sky-input.js +188 -193
- package/dist/sky-input/sky-input.js.map +1 -1
- package/dist/sky-list/sky-list.d.ts +11 -2
- package/dist/sky-list/sky-list.js +15 -25
- package/dist/sky-list/sky-list.js.map +1 -1
- package/dist/sky-listitem/sky-listitem.js +62 -30
- package/dist/sky-listitem/sky-listitem.js.map +1 -1
- package/dist/sky-radio/sky-radio.d.ts +2 -0
- package/dist/sky-radio/sky-radio.js +29 -9
- package/dist/sky-radio/sky-radio.js.map +1 -1
- package/dist/sky-sheet/sky-sheet.d.ts +1 -1
- package/dist/sky-sheet/sky-sheet.js +68 -22
- package/dist/sky-sheet/sky-sheet.js.map +1 -1
- package/dist/sky-simple-table/index.d.ts +1 -0
- package/dist/sky-simple-table/index.js +1 -0
- package/dist/sky-simple-table/sky-simple-table.d.ts +68 -0
- package/dist/sky-simple-table/sky-simple-table.js +100 -0
- package/dist/sky-simple-table/sky-simple-table.js.map +1 -0
- package/dist/sky-theme-provider/sky-theme-provider.d.ts +10 -1
- package/dist/sky-theme-provider/sky-theme-provider.js +2 -2
- package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -1
- package/package.json +24 -269
- package/dist/sky-accordion/index.d.ts +0 -1
- package/dist/sky-accordion/index.js +0 -1
- package/dist/sky-accordion/sky-accordion.d.ts +0 -201
- package/dist/sky-accordion/sky-accordion.js +0 -84
- package/dist/sky-accordion/sky-accordion.js.map +0 -1
- package/dist/sky-accordion-item/index.d.ts +0 -1
- package/dist/sky-accordion-item/index.js +0 -1
- package/dist/sky-accordion-item/sky-accordion-item.d.ts +0 -161
- package/dist/sky-accordion-item/sky-accordion-item.js +0 -191
- package/dist/sky-accordion-item/sky-accordion-item.js.map +0 -1
- package/dist/sky-breadcrumb/index.d.ts +0 -1
- package/dist/sky-breadcrumb/index.js +0 -1
- package/dist/sky-breadcrumb/sky-breadcrumb.d.ts +0 -111
- package/dist/sky-breadcrumb/sky-breadcrumb.js +0 -230
- package/dist/sky-breadcrumb/sky-breadcrumb.js.map +0 -1
- package/dist/sky-button-group/index.d.ts +0 -1
- package/dist/sky-button-group/index.js +0 -1
- package/dist/sky-button-group/sky-button-group.d.ts +0 -93
- package/dist/sky-button-group/sky-button-group.js +0 -281
- package/dist/sky-button-group/sky-button-group.js.map +0 -1
- package/dist/sky-carousel/index.d.ts +0 -1
- package/dist/sky-carousel/index.js +0 -1
- package/dist/sky-carousel/sky-carousel.d.ts +0 -265
- package/dist/sky-carousel/sky-carousel.js +0 -211
- package/dist/sky-carousel/sky-carousel.js.map +0 -1
- package/dist/sky-counter/index.d.ts +0 -1
- package/dist/sky-counter/index.js +0 -1
- package/dist/sky-counter/sky-counter.d.ts +0 -130
- package/dist/sky-counter/sky-counter.js +0 -101
- package/dist/sky-counter/sky-counter.js.map +0 -1
- package/dist/sky-drawer/index.d.ts +0 -1
- package/dist/sky-drawer/index.js +0 -1
- package/dist/sky-drawer/sky-drawer.d.ts +0 -161
- package/dist/sky-drawer/sky-drawer.js +0 -175
- package/dist/sky-drawer/sky-drawer.js.map +0 -1
- package/dist/sky-dropdown/index.d.ts +0 -1
- package/dist/sky-dropdown/index.js +0 -1
- package/dist/sky-dropdown/sky-dropdown.d.ts +0 -254
- package/dist/sky-dropdown/sky-dropdown.js +0 -61
- package/dist/sky-dropdown/sky-dropdown.js.map +0 -1
- package/dist/sky-dropdown-item/index.d.ts +0 -1
- package/dist/sky-dropdown-item/index.js +0 -1
- package/dist/sky-dropdown-item/sky-dropdown-item.d.ts +0 -207
- package/dist/sky-dropdown-item/sky-dropdown-item.js +0 -341
- package/dist/sky-dropdown-item/sky-dropdown-item.js.map +0 -1
- package/dist/sky-flexbar/index.d.ts +0 -1
- package/dist/sky-flexbar/index.js +0 -1
- package/dist/sky-flexbar/sky-flexbar.d.ts +0 -189
- package/dist/sky-flexbar/sky-flexbar.js +0 -157
- package/dist/sky-flexbar/sky-flexbar.js.map +0 -1
- package/dist/sky-flexitem/index.d.ts +0 -1
- package/dist/sky-flexitem/index.js +0 -1
- package/dist/sky-flexitem/sky-flexitem.d.ts +0 -114
- package/dist/sky-flexitem/sky-flexitem.js +0 -52
- package/dist/sky-flexitem/sky-flexitem.js.map +0 -1
- package/dist/sky-navbar/index.d.ts +0 -1
- package/dist/sky-navbar/index.js +0 -1
- package/dist/sky-navbar/sky-navbar.d.ts +0 -211
- package/dist/sky-navbar/sky-navbar.js +0 -521
- package/dist/sky-navbar/sky-navbar.js.map +0 -1
- package/dist/sky-navpanel/index.d.ts +0 -1
- package/dist/sky-navpanel/index.js +0 -1
- package/dist/sky-navpanel/sky-navpanel.d.ts +0 -187
- package/dist/sky-navpanel/sky-navpanel.js +0 -404
- package/dist/sky-navpanel/sky-navpanel.js.map +0 -1
- package/dist/sky-notification/index.d.ts +0 -1
- package/dist/sky-notification/index.js +0 -1
- package/dist/sky-notification/sky-notification.d.ts +0 -152
- package/dist/sky-notification/sky-notification.js +0 -456
- package/dist/sky-notification/sky-notification.js.map +0 -1
- package/dist/sky-otp/index.d.ts +0 -1
- package/dist/sky-otp/index.js +0 -1
- package/dist/sky-otp/sky-otp.d.ts +0 -101
- package/dist/sky-otp/sky-otp.js +0 -96
- package/dist/sky-otp/sky-otp.js.map +0 -1
- package/dist/sky-overlay/index.d.ts +0 -1
- package/dist/sky-overlay/index.js +0 -1
- package/dist/sky-overlay/sky-overlay.d.ts +0 -71
- package/dist/sky-overlay/sky-overlay.js +0 -26
- package/dist/sky-overlay/sky-overlay.js.map +0 -1
- package/dist/sky-pagination/index.d.ts +0 -1
- package/dist/sky-pagination/index.js +0 -1
- package/dist/sky-pagination/sky-pagination.d.ts +0 -167
- package/dist/sky-pagination/sky-pagination.js +0 -453
- package/dist/sky-pagination/sky-pagination.js.map +0 -1
- package/dist/sky-progress/index.d.ts +0 -1
- package/dist/sky-progress/index.js +0 -1
- package/dist/sky-progress/sky-progress.d.ts +0 -70
- package/dist/sky-progress/sky-progress.js +0 -87
- package/dist/sky-progress/sky-progress.js.map +0 -1
- package/dist/sky-radio-group/index.d.ts +0 -1
- package/dist/sky-radio-group/index.js +0 -1
- package/dist/sky-radio-group/sky-radio-group.d.ts +0 -186
- package/dist/sky-radio-group/sky-radio-group.js +0 -239
- package/dist/sky-radio-group/sky-radio-group.js.map +0 -1
- package/dist/sky-range/index.d.ts +0 -1
- package/dist/sky-range/index.js +0 -1
- package/dist/sky-range/sky-range.d.ts +0 -110
- package/dist/sky-range/sky-range.js +0 -196
- package/dist/sky-range/sky-range.js.map +0 -1
- package/dist/sky-serial/index.d.ts +0 -1
- package/dist/sky-serial/index.js +0 -1
- package/dist/sky-serial/sky-serial.d.ts +0 -127
- package/dist/sky-serial/sky-serial.js +0 -133
- package/dist/sky-serial/sky-serial.js.map +0 -1
- package/dist/sky-skeleton/index.d.ts +0 -1
- package/dist/sky-skeleton/index.js +0 -1
- package/dist/sky-skeleton/sky-skeleton.d.ts +0 -80
- package/dist/sky-skeleton/sky-skeleton.js +0 -233
- package/dist/sky-skeleton/sky-skeleton.js.map +0 -1
- package/dist/sky-slider/index.d.ts +0 -1
- package/dist/sky-slider/index.js +0 -1
- package/dist/sky-slider/sky-slider.d.ts +0 -96
- package/dist/sky-slider/sky-slider.js +0 -139
- package/dist/sky-slider/sky-slider.js.map +0 -1
- package/dist/sky-speeddial/index.d.ts +0 -1
- package/dist/sky-speeddial/index.js +0 -1
- package/dist/sky-speeddial/sky-speeddial.d.ts +0 -86
- package/dist/sky-speeddial/sky-speeddial.js +0 -154
- package/dist/sky-speeddial/sky-speeddial.js.map +0 -1
- package/dist/sky-spinner/index.d.ts +0 -1
- package/dist/sky-spinner/index.js +0 -1
- package/dist/sky-spinner/sky-spinner.d.ts +0 -87
- package/dist/sky-spinner/sky-spinner.js +0 -334
- package/dist/sky-spinner/sky-spinner.js.map +0 -1
- package/dist/sky-steps/index.d.ts +0 -1
- package/dist/sky-steps/index.js +0 -1
- package/dist/sky-steps/sky-steps.d.ts +0 -170
- package/dist/sky-steps/sky-steps.js +0 -455
- package/dist/sky-steps/sky-steps.js.map +0 -1
- package/dist/sky-switch/index.d.ts +0 -1
- package/dist/sky-switch/index.js +0 -1
- package/dist/sky-switch/sky-switch.d.ts +0 -116
- package/dist/sky-switch/sky-switch.js +0 -191
- package/dist/sky-switch/sky-switch.js.map +0 -1
- package/dist/sky-tab/index.d.ts +0 -1
- package/dist/sky-tab/index.js +0 -1
- package/dist/sky-tab/sky-tab.d.ts +0 -188
- package/dist/sky-tab/sky-tab.js +0 -390
- package/dist/sky-tab/sky-tab.js.map +0 -1
- package/dist/sky-tab-button/index.d.ts +0 -1
- package/dist/sky-tab-button/index.js +0 -1
- package/dist/sky-tab-button/sky-tab-button.d.ts +0 -114
- package/dist/sky-tab-button/sky-tab-button.js +0 -167
- package/dist/sky-tab-button/sky-tab-button.js.map +0 -1
- package/dist/sky-theme-switcher/index.d.ts +0 -1
- package/dist/sky-theme-switcher/index.js +0 -1
- package/dist/sky-theme-switcher/sky-theme-switcher.d.ts +0 -92
- package/dist/sky-theme-switcher/sky-theme-switcher.js +0 -43
- package/dist/sky-theme-switcher/sky-theme-switcher.js.map +0 -1
- package/dist/sky-tooltip/index.d.ts +0 -1
- package/dist/sky-tooltip/index.js +0 -1
- package/dist/sky-tooltip/sky-tooltip.d.ts +0 -156
- package/dist/sky-tooltip/sky-tooltip.js +0 -242
- package/dist/sky-tooltip/sky-tooltip.js.map +0 -1
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import{__decorate as r,__metadata as e}from"tslib";import{LitElement as o,css as t,html as a,nothing as s}from"lit";import{property as i,state as n,query as l,customElement as p}from"lit/decorators.js";import{when as d}from"lit/directives/when.js";import{repeat as c}from"lit/directives/repeat.js";import{classMap as v}from"lit/directives/class-map.js";import{PopoverController as m}from"../helper/controllers/popover-controller.js";import{SkyIcon as y}from"../sky-icon/sky-icon.js";let b=class extends o{constructor(){super(...arguments),this.items=[],this.separator="/",this.showHome="auto",this.visibleItems=3,this.shadow=!1,this.dropdownOpen=!1,this.overflowPopover=new m(this,{getAnchor:()=>this.overflowTriggerEl??null,getPopover:()=>this.overflowPopoverEl??null,cssVarLeft:"--sky-bc-left",cssVarTop:"--sky-bc-top",cssVarWidth:"--sky-bc-width",placement:"bottom",align:"start",gap:4,padding:8,matchAnchorWidth:!1,maxWidthToViewport:!0,maxWidthMode:"cap",closeOnEscape:!0,closeOnOutside:!0,restoreFocusOnClose:!0,onOpenChange:r=>{this.dropdownOpen=r}})}static{this.dependencies={"sky-icon":y}}static{this.styles=t`
|
|
2
|
-
:host {
|
|
3
|
-
display: block;
|
|
4
|
-
overflow: visible;
|
|
5
|
-
font-family: var(--sky-font);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.breadcrumb {
|
|
9
|
-
list-style: none;
|
|
10
|
-
padding: 0;
|
|
11
|
-
display: flex;
|
|
12
|
-
gap: var(--sky-space-2);
|
|
13
|
-
flex-wrap: wrap;
|
|
14
|
-
margin: 0;
|
|
15
|
-
align-items: center;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
:host([shadow]) .breadcrumb {
|
|
19
|
-
padding: var(--sky-space-2) var(--sky-space-4);
|
|
20
|
-
border-radius: inherit;
|
|
21
|
-
position: relative;
|
|
22
|
-
background: var(--sky-glass-primary);
|
|
23
|
-
z-index: 0;
|
|
24
|
-
box-shadow: var(--sky-box-shadow-primary);
|
|
25
|
-
border: var(--sky-border-primary);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
:host([shadow]) .breadcrumb::before {
|
|
29
|
-
content: "";
|
|
30
|
-
position: absolute;
|
|
31
|
-
inset: 0;
|
|
32
|
-
border-radius: inherit;
|
|
33
|
-
z-index: -1;
|
|
34
|
-
backdrop-filter: var(--sky-blur-primary) var(--sky-brightness-primary)
|
|
35
|
-
var(--sky-saturation-primary);
|
|
36
|
-
-webkit-backdrop-filter: var(--sky-blur-primary)
|
|
37
|
-
var(--sky-brightness-primary) var(--sky-saturation-primary);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.breadcrumb li {
|
|
41
|
-
display: flex;
|
|
42
|
-
align-items: center;
|
|
43
|
-
position: relative;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.breadcrumb a {
|
|
47
|
-
text-decoration: none;
|
|
48
|
-
color: var(--sky-text-primary);
|
|
49
|
-
font-weight: var(--sky-font-weight-semibold);
|
|
50
|
-
font-size: var(--sky-font-size-sm);
|
|
51
|
-
cursor: pointer;
|
|
52
|
-
transition: color var(--sky-duration-normal, 0.2s) var(--sky-ease-default, ease);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.breadcrumb a:hover {
|
|
56
|
-
color: var(--sky-text-primary-hover);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.breadcrumb .separator {
|
|
60
|
-
margin: 0 var(--sky-space-2);
|
|
61
|
-
color: var(--sky-text-secondary);
|
|
62
|
-
font-size: var(--sky-font-size-sm);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@media (prefers-reduced-motion: reduce) {
|
|
66
|
-
.breadcrumb a,
|
|
67
|
-
.breadcrumb .overflow-trigger,
|
|
68
|
-
.overflow-dropdown a,
|
|
69
|
-
.overflow-dropdown button.overflow-item {
|
|
70
|
-
transition: none;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.breadcrumb .active {
|
|
75
|
-
color: var(--sky-active-primary);
|
|
76
|
-
font-weight: var(--sky-font-weight-semibold);
|
|
77
|
-
font-size: var(--sky-font-size-sm);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.breadcrumb .overflow-trigger {
|
|
81
|
-
display: flex;
|
|
82
|
-
margin-inline-end: var(--sky-space-2);
|
|
83
|
-
align-items: center;
|
|
84
|
-
cursor: pointer;
|
|
85
|
-
user-select: none;
|
|
86
|
-
border: none;
|
|
87
|
-
background: transparent;
|
|
88
|
-
padding: var(--sky-space-1);
|
|
89
|
-
border-radius: var(--sky-radius-secondary);
|
|
90
|
-
color: var(--sky-text-primary);
|
|
91
|
-
transition: background var(--sky-duration-normal, 0.2s) var(--sky-ease-default, ease),
|
|
92
|
-
color var(--sky-duration-normal, 0.2s) var(--sky-ease-default, ease);
|
|
93
|
-
-webkit-tap-highlight-color: transparent;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.breadcrumb .overflow-trigger:focus-visible {
|
|
97
|
-
outline: none;
|
|
98
|
-
box-shadow: var(--sky-focus-ring);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.breadcrumb .overflow-trigger:hover {
|
|
102
|
-
background: var(--sky-bg-hover, rgba(0, 0, 0, 0.06));
|
|
103
|
-
color: var(--sky-text-primary-hover);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.breadcrumb .overflow-trigger sky-icon {
|
|
107
|
-
width: 1em;
|
|
108
|
-
height: 1em;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.overflow-dropdown {
|
|
112
|
-
position: fixed;
|
|
113
|
-
left: var(--sky-bc-left, 0px);
|
|
114
|
-
top: var(--sky-bc-top, 0px);
|
|
115
|
-
width: var(--sky-bc-width, max-content);
|
|
116
|
-
min-width: 120px;
|
|
117
|
-
max-height: 280px;
|
|
118
|
-
overflow: auto;
|
|
119
|
-
margin: 0;
|
|
120
|
-
padding: var(--sky-space-1);
|
|
121
|
-
background: var(--sky-glass-primary);
|
|
122
|
-
border: var(--sky-border-primary);
|
|
123
|
-
border-radius: var(--sky-radius-secondary);
|
|
124
|
-
box-shadow: var(--sky-box-shadow-primary);
|
|
125
|
-
backdrop-filter: var(--sky-blur-primary) var(--sky-brightness-primary)
|
|
126
|
-
var(--sky-saturation-primary);
|
|
127
|
-
-webkit-backdrop-filter: var(--sky-blur-primary)
|
|
128
|
-
var(--sky-brightness-primary) var(--sky-saturation-primary);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.overflow-dropdown a,
|
|
132
|
-
.overflow-dropdown button.overflow-item {
|
|
133
|
-
display: block;
|
|
134
|
-
width: 100%;
|
|
135
|
-
text-align: start;
|
|
136
|
-
padding: var(--sky-space-2) var(--sky-space-3);
|
|
137
|
-
border: none;
|
|
138
|
-
border-radius: var(--sky-radius-secondary);
|
|
139
|
-
background: transparent;
|
|
140
|
-
color: var(--sky-text-primary);
|
|
141
|
-
font-size: var(--sky-font-size-sm);
|
|
142
|
-
font-weight: var(--sky-font-weight-semibold);
|
|
143
|
-
cursor: pointer;
|
|
144
|
-
text-decoration: none;
|
|
145
|
-
font-family: var(--sky-font);
|
|
146
|
-
transition: background var(--sky-duration-normal, 0.2s) var(--sky-ease-default, ease),
|
|
147
|
-
color var(--sky-duration-normal, 0.2s) var(--sky-ease-default, ease);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.overflow-dropdown button.overflow-item:focus-visible {
|
|
151
|
-
outline: none;
|
|
152
|
-
box-shadow: var(--sky-focus-ring);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.overflow-dropdown a:hover,
|
|
156
|
-
.overflow-dropdown button.overflow-item:hover {
|
|
157
|
-
background: var(--sky-bg-hover, rgba(0, 0, 0, 0.06));
|
|
158
|
-
color: var(--sky-text-primary-hover);
|
|
159
|
-
}
|
|
160
|
-
`}handleBreadcrumbClick(r,e){e.preventDefault(),this.dispatchEvent(new CustomEvent("route-change",{detail:r,bubbles:!0,composed:!0}))}openOverflow(){this.overflowPopover.openPopover()}closeOverflow(){this.overflowPopover.closePopover("api")}toggleOverflow(){this.overflowPopover.toggle()}render(){const r=this.items.some(r=>"/"===r.route||"home"===r.title.trim().toLowerCase()),e="always"===this.showHome||"auto"===this.showHome&&!r,o=e?[{title:"Home",route:"/"},...this.items]:[...this.items];let t=null,i=[],n=[];if(e)t=o[0];else{const r=o.find(r=>"/"===r.route||"home"===r.title.trim().toLowerCase());r&&(t=r)}const l=t?o.filter(r=>r!==t):[...o],p=t?Math.max(this.visibleItems-1,0):this.visibleItems;l.length>p?(i=l.slice(0,-p),n=l.slice(-p)):n=l;const m=()=>a`<span class="separator" part="separator">${this.separator}</span>`;return a`
|
|
161
|
-
<nav aria-label="breadcrumb">
|
|
162
|
-
<ul class="breadcrumb" part="list">
|
|
163
|
-
${d(t,()=>a`
|
|
164
|
-
<li part="item home">
|
|
165
|
-
<a
|
|
166
|
-
part="link home"
|
|
167
|
-
href="${t.route}"
|
|
168
|
-
@click=${r=>this.handleBreadcrumbClick(t,r)}
|
|
169
|
-
>${t.title}</a
|
|
170
|
-
>
|
|
171
|
-
${m()}
|
|
172
|
-
</li>
|
|
173
|
-
`)}
|
|
174
|
-
${d(i.length>0,()=>a`
|
|
175
|
-
<li part="item dropdown">
|
|
176
|
-
<button
|
|
177
|
-
type="button"
|
|
178
|
-
class="overflow-trigger"
|
|
179
|
-
part="dropdown"
|
|
180
|
-
aria-expanded=${this.dropdownOpen}
|
|
181
|
-
aria-haspopup="menu"
|
|
182
|
-
aria-label="Show more breadcrumb links"
|
|
183
|
-
@click=${this.toggleOverflow}
|
|
184
|
-
>
|
|
185
|
-
<sky-icon icon="ic:outline-more-horiz"></sky-icon>
|
|
186
|
-
</button>
|
|
187
|
-
|
|
188
|
-
<div
|
|
189
|
-
class="overflow-dropdown"
|
|
190
|
-
part="overflow-menu"
|
|
191
|
-
popover="manual"
|
|
192
|
-
role="menu"
|
|
193
|
-
@toggle=${this.overflowPopover.onToggle}
|
|
194
|
-
@click=${r=>r.stopPropagation()}
|
|
195
|
-
>
|
|
196
|
-
${c(i,(r,e)=>`${r.route}-${e}`,r=>a`
|
|
197
|
-
<button
|
|
198
|
-
type="button"
|
|
199
|
-
class="overflow-item"
|
|
200
|
-
role="menuitem"
|
|
201
|
-
@click=${e=>{this.handleBreadcrumbClick(r,e),this.overflowPopover.closePopover("api")}}
|
|
202
|
-
>
|
|
203
|
-
${r.title}
|
|
204
|
-
</button>
|
|
205
|
-
`)}
|
|
206
|
-
</div>
|
|
207
|
-
|
|
208
|
-
${m()}
|
|
209
|
-
</li>
|
|
210
|
-
`)}
|
|
211
|
-
${c(n,(r,e)=>`${r.route}-${r.title}-${e}`,(r,e)=>{const o=e===n.length-1,t=!!r.active||o;return a`
|
|
212
|
-
<li
|
|
213
|
-
class=${v({active:t})}
|
|
214
|
-
part=${t?"item current":"item"}
|
|
215
|
-
>
|
|
216
|
-
${d(o,()=>a`<span part="current">${r.title}</span>`,()=>a`
|
|
217
|
-
<a
|
|
218
|
-
part="link"
|
|
219
|
-
href="${r.route}"
|
|
220
|
-
@click=${e=>this.handleBreadcrumbClick(r,e)}
|
|
221
|
-
>${r.title}</a
|
|
222
|
-
>
|
|
223
|
-
`)}
|
|
224
|
-
${d(!o,()=>m(),()=>s)}
|
|
225
|
-
</li>
|
|
226
|
-
`})}
|
|
227
|
-
</ul>
|
|
228
|
-
</nav>
|
|
229
|
-
`}};r([i({type:Array}),e("design:type",Array)],b.prototype,"items",void 0),r([i({type:String}),e("design:type",String)],b.prototype,"separator",void 0),r([i({type:String}),e("design:type",String)],b.prototype,"showHome",void 0),r([i({type:Number}),e("design:type",Number)],b.prototype,"visibleItems",void 0),r([i({type:Boolean,reflect:!0}),e("design:type",Object)],b.prototype,"shadow",void 0),r([n(),e("design:type",Object)],b.prototype,"dropdownOpen",void 0),r([l(".overflow-trigger"),e("design:type",HTMLElement)],b.prototype,"overflowTriggerEl",void 0),r([l(".overflow-dropdown"),e("design:type",HTMLElement)],b.prototype,"overflowPopoverEl",void 0),b=r([p("sky-breadcrumb")],b);export{b as SkyBreadcrumb};
|
|
230
|
-
//# sourceMappingURL=sky-breadcrumb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sky-breadcrumb.js","sources":["../../src/sky-breadcrumb/sky-breadcrumb.ts"],"sourcesContent":[null],"names":["SkyBreadcrumb","LitElement","constructor","this","items","separator","showHome","visibleItems","shadow","dropdownOpen","overflowPopover","PopoverController","getAnchor","overflowTriggerEl","getPopover","overflowPopoverEl","cssVarLeft","cssVarTop","cssVarWidth","placement","align","gap","padding","matchAnchorWidth","maxWidthToViewport","maxWidthMode","closeOnEscape","closeOnOutside","restoreFocusOnClose","onOpenChange","open","dependencies","SkyIcon","styles","css","handleBreadcrumbClick","item","event","preventDefault","dispatchEvent","CustomEvent","detail","bubbles","composed","openOverflow","openPopover","closeOverflow","closePopover","toggleOverflow","toggle","render","hasHomeItem","some","route","title","trim","toLowerCase","shouldPrependHome","allItems","homeItem","middleItems","homeCandidate","find","remainingItems","filter","remainingVisibleCount","Math","max","length","slice","sep","html","when","e","onToggle","stopPropagation","repeat","i","index","isLast","isActive","active","classMap","nothing","__decorate","property","type","Array","prototype","String","Number","Boolean","reflect","state","query","HTMLElement","customElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./sky-button-group";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './sky-button-group.js';
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { LitElement, PropertyValues, TemplateResult } from "lit";
|
|
2
|
-
export type SkyButtonGroupVariant = "solid" | "faded" | "bordered" | "transparent" | "flat" | "ghost" | "relief" | "gradient" | "shadow";
|
|
3
|
-
export type SkyButtonGroupLayout = "segmented" | "stacked";
|
|
4
|
-
/**
|
|
5
|
-
* @element sky-button-group
|
|
6
|
-
*
|
|
7
|
-
* @summary Group wrapper that applies shared styling, sizing, and interaction behavior to grouped buttons.
|
|
8
|
-
*
|
|
9
|
-
* @status stable
|
|
10
|
-
* @since 1.0.0
|
|
11
|
-
*
|
|
12
|
-
* @documentation https://library.sky-ui.com/components/button-group
|
|
13
|
-
*
|
|
14
|
-
* @slot - Default slot for grouped controls (`<button>`, `<sky-button>`, or `<sky-dropdown>`).
|
|
15
|
-
*
|
|
16
|
-
* @csspart group - The group container wrapping the slotted buttons.
|
|
17
|
-
* @csspart button - Each individual `<button>` element styled inside the group.
|
|
18
|
-
* @csspart ripple - The ripple animation element injected when a button is clicked.
|
|
19
|
-
*
|
|
20
|
-
* @property {SkyButtonGroupVariant} variant - Visual style variant. Default: `"solid"`.
|
|
21
|
-
* @property {string} color - Base color for buttons (accepts preset tokens or custom CSS color). Default: `"primary"`.
|
|
22
|
-
* @property {string} size - Size of buttons (preset token `"xs"…"xl"` or CSS size like `"16px"`). Default: `"md"`.
|
|
23
|
-
* @property {string} radius - Border radius for group/buttons (preset token or CSS radius). Default: `"lg"`.
|
|
24
|
-
* @property {string} colors - Comma-separated gradient stops (tokens or raw colors). Used when `variant="gradient"`. Example: `"linear@90deg: primary, secondary 60%, warning"`.
|
|
25
|
-
* @property {SkyButtonGroupLayout} layout - Layout direction: inline (segmented) or vertical (stacked). Default: `"segmented"`.
|
|
26
|
-
* @method refreshLayout Reapplies group geometry, visual tokens, and child synchronization.
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```html
|
|
30
|
-
* <sky-button-group variant="solid" layout="segmented" color="primary" size="md">
|
|
31
|
-
* <button>Day</button>
|
|
32
|
-
* <button>Week</button>
|
|
33
|
-
* <button>Month</button>
|
|
34
|
-
* </sky-button-group>
|
|
35
|
-
* ```
|
|
36
|
-
* ```vue
|
|
37
|
-
* <template>
|
|
38
|
-
* <sky-button-group variant="solid" layout="segmented" color="primary" size="md">
|
|
39
|
-
* <button>Day</button>
|
|
40
|
-
* <button>Week</button>
|
|
41
|
-
* <button>Month</button>
|
|
42
|
-
* </sky-button-group>
|
|
43
|
-
* </template>
|
|
44
|
-
* ```
|
|
45
|
-
* ```jsx
|
|
46
|
-
* export default function Demo() {
|
|
47
|
-
* return (
|
|
48
|
-
* <sky-button-group variant="solid" layout="segmented" color="primary" size="md">
|
|
49
|
-
* <button>Day</button>
|
|
50
|
-
* <button>Week</button>
|
|
51
|
-
* <button>Month</button>
|
|
52
|
-
* </sky-button-group>
|
|
53
|
-
* );
|
|
54
|
-
* }
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
export declare class SkyButtonGroup extends LitElement {
|
|
58
|
-
/** Visual style variant for the group. */
|
|
59
|
-
variant: SkyButtonGroupVariant;
|
|
60
|
-
/** Base color (token or CSS value). */
|
|
61
|
-
color: string;
|
|
62
|
-
/** Button size (preset token or CSS size). */
|
|
63
|
-
size: string;
|
|
64
|
-
/** Border radius (preset token or CSS radius). */
|
|
65
|
-
radius: string;
|
|
66
|
-
/** Gradient stops, only applied when `variant="gradient"`. */
|
|
67
|
-
colors: string;
|
|
68
|
-
/** Layout: inline (segmented) or vertical (stacked). */
|
|
69
|
-
layout: SkyButtonGroupLayout;
|
|
70
|
-
static styles: import("lit").CSSResult;
|
|
71
|
-
firstUpdated(): void;
|
|
72
|
-
updated(changed: PropertyValues): void;
|
|
73
|
-
private _resolveSize;
|
|
74
|
-
private _buildGradient;
|
|
75
|
-
private _applyGeometry;
|
|
76
|
-
private _groupItems;
|
|
77
|
-
private _radiusForIndex;
|
|
78
|
-
private _syncSkyButton;
|
|
79
|
-
private _syncChildComponents;
|
|
80
|
-
private _paintDesignTokens;
|
|
81
|
-
private _slotEl;
|
|
82
|
-
private _onClick;
|
|
83
|
-
private _onKeyDown;
|
|
84
|
-
private _rippleColorFor;
|
|
85
|
-
private _createRipple;
|
|
86
|
-
/**
|
|
87
|
-
* Reapplies group geometry, visual tokens, and child synchronization.
|
|
88
|
-
*
|
|
89
|
-
* @returns {void}
|
|
90
|
-
*/
|
|
91
|
-
refreshLayout(): void;
|
|
92
|
-
render(): TemplateResult;
|
|
93
|
-
}
|
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
import{__decorate as t,__metadata as r}from"tslib";import{LitElement as o,css as e,html as s}from"lit";import{property as n,customElement as i}from"lit/decorators.js";import{classMap as a}from"lit/directives/class-map.js";import{createGradient as d,resolveColor as l,resolveTextColorForToken as h,tuneSurfaceVariantForDefaultColor as p,fadeMix as b,skyBorderPrimaryShorthand as c,darkShade as g,isDefaultColorToken as u,hoverShade as v,skyBorderWidthSolid as y}from"../helper/utils/color-resolver.js";import{resolveRadius as f}from"../helper/utils/size-resolver.js";let m=class extends o{constructor(){super(...arguments),this.variant="solid",this.color="primary",this.size="md",this.radius="lg",this.colors="",this.layout="segmented",this._onClick=t=>{const r=t.target.closest("button");r&&!r.hasAttribute("disabled")&&this._createRipple(t,r)},this._onKeyDown=t=>{if("Enter"!==t.key&&" "!==t.key)return;const r=this.shadowRoot.activeElement||document.activeElement,o=r?.closest?.("button");if(o&&!o.hasAttribute("disabled")){const t=o.getBoundingClientRect(),r={clientX:t.left+t.width/2,clientY:t.top+t.height/2};this._createRipple(r,o)}}}static{this.styles=e`
|
|
2
|
-
:host {
|
|
3
|
-
display: block;
|
|
4
|
-
--btn-group-radius: 12px;
|
|
5
|
-
|
|
6
|
-
--btn-bg: var(--sky-glass-primary);
|
|
7
|
-
--btn-color: var(--sky-text-primary);
|
|
8
|
-
--btn-border: var(--sky-border-primary);
|
|
9
|
-
--btn-shadow: none;
|
|
10
|
-
|
|
11
|
-
--btn-bg-hover: var(--btn-bg);
|
|
12
|
-
--btn-color-hover: var(--btn-color);
|
|
13
|
-
--btn-border-hover: var(--btn-border);
|
|
14
|
-
--btn-shadow-hover: var(--btn-shadow);
|
|
15
|
-
--btn-border-width: 1px;
|
|
16
|
-
|
|
17
|
-
--btn-padding: 8px 12px;
|
|
18
|
-
--btn-font-size: 14px;
|
|
19
|
-
--btn-gap: 5px;
|
|
20
|
-
--icon-size: 18px;
|
|
21
|
-
--spinner-size: 18px;
|
|
22
|
-
|
|
23
|
-
--btn-radius: 10px;
|
|
24
|
-
--group-bg: transparent;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.group {
|
|
28
|
-
display: inline-flex;
|
|
29
|
-
border-radius: var(--btn-group-radius);
|
|
30
|
-
background: transparent;
|
|
31
|
-
padding: 0;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.group.group--stacked {
|
|
35
|
-
flex-direction: column;
|
|
36
|
-
display: inline-flex;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.group.group--stacked ::slotted(button:first-child) {
|
|
40
|
-
border-radius: var(--btn-radius) var(--btn-radius) 0 0;
|
|
41
|
-
}
|
|
42
|
-
.group.group--stacked ::slotted(button:last-child) {
|
|
43
|
-
border-radius: 0 0 var(--btn-radius) var(--btn-radius);
|
|
44
|
-
}
|
|
45
|
-
.group.group--stacked ::slotted(button:only-child) {
|
|
46
|
-
border-radius: var(--btn-group-radius);
|
|
47
|
-
}
|
|
48
|
-
.group.group--stacked ::slotted(button:not(:first-child)) {
|
|
49
|
-
margin-left: 0;
|
|
50
|
-
margin-top: calc(-1 * var(--btn-border-width));
|
|
51
|
-
}
|
|
52
|
-
.group.group--stacked ::slotted(sky-button:not(:first-child)),
|
|
53
|
-
.group.group--stacked ::slotted(sky-dropdown:not(:first-child)) {
|
|
54
|
-
margin-left: 0;
|
|
55
|
-
margin-top: calc(-1 * var(--btn-border-width));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* Base button styling */
|
|
59
|
-
::slotted(button) {
|
|
60
|
-
position: relative;
|
|
61
|
-
overflow: hidden;
|
|
62
|
-
margin: 0;
|
|
63
|
-
padding: var(--btn-padding);
|
|
64
|
-
background: var(--btn-bg);
|
|
65
|
-
color: var(--btn-color);
|
|
66
|
-
border: var(--btn-border, var(--btn-border-width) solid transparent);
|
|
67
|
-
box-sizing: border-box;
|
|
68
|
-
box-shadow: var(--btn-shadow);
|
|
69
|
-
cursor: pointer;
|
|
70
|
-
display: inline-flex;
|
|
71
|
-
align-items: center;
|
|
72
|
-
gap: var(--btn-gap);
|
|
73
|
-
font-size: var(--btn-font-size);
|
|
74
|
-
line-height: 1;
|
|
75
|
-
border-radius: 0;
|
|
76
|
-
transition: background-color 0.2s ease, color 0.2s ease,
|
|
77
|
-
box-shadow 0.2s ease, transform 0.15s ease, border-color 0.2s ease,
|
|
78
|
-
filter 0.2s ease;
|
|
79
|
-
user-select: none;
|
|
80
|
-
-webkit-tap-highlight-color: transparent;
|
|
81
|
-
|
|
82
|
-
/* Exact outer height for uniformity */
|
|
83
|
-
block-size: var(--btn-min-height, auto);
|
|
84
|
-
}
|
|
85
|
-
::slotted(sky-button),
|
|
86
|
-
::slotted(sky-dropdown) {
|
|
87
|
-
margin: 0;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.group ::slotted(sky-button[in-group]) {
|
|
91
|
-
align-self: stretch;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
::slotted(button:hover) {
|
|
95
|
-
background: var(--btn-bg-hover);
|
|
96
|
-
color: var(--btn-color-hover);
|
|
97
|
-
box-shadow: var(--btn-shadow-hover);
|
|
98
|
-
border: var(--btn-border-hover, var(--btn-border));
|
|
99
|
-
filter: brightness(0.96);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
::slotted(button.active) {
|
|
103
|
-
background: var(--btn-bg-hover);
|
|
104
|
-
color: var(--btn-color-hover);
|
|
105
|
-
box-shadow: var(--btn-shadow-hover);
|
|
106
|
-
border: var(--btn-border-hover, var(--btn-border));
|
|
107
|
-
filter: brightness(0.92);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
::slotted(button[disabled]) {
|
|
111
|
-
opacity: 0.6;
|
|
112
|
-
pointer-events: none;
|
|
113
|
-
cursor: not-allowed;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/* Rounded ends */
|
|
117
|
-
::slotted(button:first-child) {
|
|
118
|
-
border-top-left-radius: var(--btn-radius);
|
|
119
|
-
border-bottom-left-radius: var(--btn-radius);
|
|
120
|
-
}
|
|
121
|
-
::slotted(button:last-child) {
|
|
122
|
-
border-top-right-radius: var(--btn-radius);
|
|
123
|
-
border-bottom-right-radius: var(--btn-radius);
|
|
124
|
-
}
|
|
125
|
-
::slotted(button:only-child) {
|
|
126
|
-
border-radius: var(--btn-group-radius);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/* Seam overlap (negative margin) only for segmented, non-ghost, non-gradient */
|
|
130
|
-
:host(:not([layout="stacked"]):not([variant="ghost"]):not([variant="gradient"]))
|
|
131
|
-
::slotted(button:not(:first-child)) {
|
|
132
|
-
margin-left: calc(-1 * var(--btn-border-width));
|
|
133
|
-
}
|
|
134
|
-
:host(:not([layout="stacked"]):not([variant="ghost"]):not([variant="gradient"]))
|
|
135
|
-
::slotted(sky-button:not(:first-child)),
|
|
136
|
-
:host(:not([layout="stacked"]):not([variant="ghost"]):not([variant="gradient"]))
|
|
137
|
-
::slotted(sky-dropdown:not(:first-child)) {
|
|
138
|
-
margin-left: calc(-1 * var(--btn-border-width));
|
|
139
|
-
}
|
|
140
|
-
:host(:dir(rtl):not([layout="stacked"]):not([variant="ghost"]):not([variant="gradient"]))
|
|
141
|
-
::slotted(button:not(:first-child)) {
|
|
142
|
-
margin-left: 0;
|
|
143
|
-
margin-right: calc(-1 * var(--btn-border-width));
|
|
144
|
-
}
|
|
145
|
-
:host(:dir(rtl):not([layout="stacked"]):not([variant="ghost"]):not([variant="gradient"]))
|
|
146
|
-
::slotted(sky-button:not(:first-child)),
|
|
147
|
-
:host(:dir(rtl):not([layout="stacked"]):not([variant="ghost"]):not([variant="gradient"]))
|
|
148
|
-
::slotted(sky-dropdown:not(:first-child)) {
|
|
149
|
-
margin-left: 0;
|
|
150
|
-
margin-right: calc(-1 * var(--btn-border-width));
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/* RTL: swap rounded ends */
|
|
154
|
-
:host(:dir(rtl)) ::slotted(button:first-child) {
|
|
155
|
-
border-top-left-radius: 0;
|
|
156
|
-
border-bottom-left-radius: 0;
|
|
157
|
-
border-top-right-radius: var(--btn-radius);
|
|
158
|
-
border-bottom-right-radius: var(--btn-radius);
|
|
159
|
-
}
|
|
160
|
-
:host(:dir(rtl)) ::slotted(button:last-child) {
|
|
161
|
-
border-top-right-radius: 0;
|
|
162
|
-
border-bottom-right-radius: 0;
|
|
163
|
-
border-top-left-radius: var(--btn-radius);
|
|
164
|
-
border-bottom-left-radius: var(--btn-radius);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/* Variant: relief removes borders (uses shadows) */
|
|
168
|
-
:host([variant="relief"]) ::slotted(button) {
|
|
169
|
-
border: none;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/* Icons inside buttons */
|
|
173
|
-
sky-icon {
|
|
174
|
-
display: inline-block;
|
|
175
|
-
width: 1em;
|
|
176
|
-
height: 1em;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/* Ripple placeholder keyframes (for UA fallback when Web Animations is missing) */
|
|
180
|
-
.ripple {
|
|
181
|
-
position: absolute;
|
|
182
|
-
pointer-events: none;
|
|
183
|
-
inset: 0;
|
|
184
|
-
width: 0;
|
|
185
|
-
height: 0;
|
|
186
|
-
border-radius: 9999px;
|
|
187
|
-
clip-path: circle(50%);
|
|
188
|
-
transform: translate(-50%, -50%) scale(0);
|
|
189
|
-
animation: ripple 480ms ease-out forwards;
|
|
190
|
-
opacity: 0.35;
|
|
191
|
-
will-change: transform, opacity;
|
|
192
|
-
}
|
|
193
|
-
@keyframes ripple {
|
|
194
|
-
to {
|
|
195
|
-
transform: translate(-50%, -50%) scale(1);
|
|
196
|
-
opacity: 0;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/* Variant: ghost — no layout border; crisp outline with inset shadow */
|
|
201
|
-
:host([variant="ghost"]) ::slotted(button) {
|
|
202
|
-
border: 0;
|
|
203
|
-
box-shadow: inset 0 0 0 var(--ghost-outline, 2px)
|
|
204
|
-
var(--ghost-color, currentColor);
|
|
205
|
-
background-clip: padding-box;
|
|
206
|
-
background: transparent;
|
|
207
|
-
color: var(--btn-color, currentColor);
|
|
208
|
-
}
|
|
209
|
-
:host([variant="ghost"]) ::slotted(button:hover),
|
|
210
|
-
:host([variant="ghost"]) ::slotted(button.active) {
|
|
211
|
-
background: var(--ghost-fill, currentColor);
|
|
212
|
-
color: var(--ghost-color, currentColor);
|
|
213
|
-
box-shadow: inset 0 0 0 var(--ghost-outline, 2px)
|
|
214
|
-
var(--ghost-color, currentColor),
|
|
215
|
-
0 8px 18px -10px color-mix(in srgb, var(--ghost-color, currentColor) 55%, transparent);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/* Divider for ghost & gradient (logical props + RTL-aware) */
|
|
219
|
-
:host([variant="ghost"]) ::slotted(button:not(:first-child))::before,
|
|
220
|
-
:host([variant="gradient"]) ::slotted(button:not(:first-child))::before {
|
|
221
|
-
content: "";
|
|
222
|
-
position: absolute;
|
|
223
|
-
inset-block-start: 18%;
|
|
224
|
-
inset-block-end: 18%;
|
|
225
|
-
inline-size: 1px;
|
|
226
|
-
pointer-events: none;
|
|
227
|
-
}
|
|
228
|
-
/* Place the divider edge */
|
|
229
|
-
:host(:not(:dir(rtl))[variant="ghost"])
|
|
230
|
-
::slotted(button:not(:first-child))::before,
|
|
231
|
-
:host(:not(:dir(rtl))[variant="gradient"])
|
|
232
|
-
::slotted(button:not(:first-child))::before {
|
|
233
|
-
inset-inline-start: 0;
|
|
234
|
-
}
|
|
235
|
-
:host(:dir(rtl)[variant="ghost"])
|
|
236
|
-
::slotted(button:not(:first-child))::before,
|
|
237
|
-
:host(:dir(rtl)[variant="gradient"])
|
|
238
|
-
::slotted(button:not(:first-child))::before {
|
|
239
|
-
inset-inline-end: 0;
|
|
240
|
-
}
|
|
241
|
-
/* Divider colors per variant */
|
|
242
|
-
:host([variant="ghost"]) ::slotted(button:not(:first-child))::before {
|
|
243
|
-
background: color-mix(
|
|
244
|
-
in srgb,
|
|
245
|
-
var(--ghost-color, currentColor) 55%,
|
|
246
|
-
transparent
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
|
-
:host([variant="gradient"]) ::slotted(button:not(:first-child))::before {
|
|
250
|
-
background: color-mix(in srgb, white 35%, transparent);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/* Variant: gradient — gradient on the group wrapper, clear inner borders */
|
|
254
|
-
:host([variant="gradient"]) .group {
|
|
255
|
-
background: var(--group-bg);
|
|
256
|
-
padding: 1px;
|
|
257
|
-
border-radius: var(--btn-group-radius);
|
|
258
|
-
}
|
|
259
|
-
:host([variant="gradient"]) ::slotted(button) {
|
|
260
|
-
background: transparent;
|
|
261
|
-
color: var(--btn-color, var(--sky-text-white));
|
|
262
|
-
border: none;
|
|
263
|
-
box-shadow: none;
|
|
264
|
-
}
|
|
265
|
-
:host([variant="gradient"]) ::slotted(button:hover) {
|
|
266
|
-
background: color-mix(in srgb, white 8%, transparent);
|
|
267
|
-
}
|
|
268
|
-
:host([variant="gradient"]) ::slotted(button.active) {
|
|
269
|
-
background: color-mix(in srgb, white 12%, transparent);
|
|
270
|
-
}
|
|
271
|
-
`}firstUpdated(){this._applyGeometry(),this._paintDesignTokens(),this._syncChildComponents();const t=this._slotEl();t?.addEventListener("slotchange",()=>{this._applyGeometry(),this._syncChildComponents()})}updated(t){["variant","color","size","radius","colors","layout"].some(r=>t.has(r))&&(this._applyGeometry(),this._paintDesignTokens(),this._syncChildComponents())}_resolveSize(t){const r={xs:{padding:"3px 7px",fontSize:"12px",gap:"3px",icon:"14px",spinner:"14px"},sm:{padding:"5px 9px",fontSize:"14px",gap:"4px",icon:"16px",spinner:"16px"},md:{padding:"8px 14px",fontSize:"16px",gap:"5px",icon:"18px",spinner:"18px"},lg:{padding:"10px 18px",fontSize:"18px",gap:"6px",icon:"20px",spinner:"20px"},xl:{padding:"14px 24px",fontSize:"20px",gap:"8px",icon:"24px",spinner:"24px"}};if(r[t])return r[t];const o=String(t).trim().match(/^([\d.]+)(px|rem|em)?$/i),e=o?.[2]||"px",s=o?parseFloat(o[1]):16,n=`${s}${e}`,i=t=>`${Math.round(100*t)/100}${e}`,a=(t,r,o)=>Math.max(r,Math.min(o,t)),d=a(.55*s,4,18),l=a(.9*s,8,28),h=a(.3*s,3,10),p=a(1.125*s,12,28),b=p;return{padding:`${i(d)} ${i(l)}`,fontSize:n,gap:i(h),icon:i(p),spinner:i(b)}}_buildGradient(t){return d(this.colors,t)}_applyGeometry(){const t=f(this.radius);this.style.setProperty("--btn-group-radius",t),this.style.setProperty("--btn-radius",t);const r=this._resolveSize(this.size);this.style.setProperty("--btn-padding",r.padding),this.style.setProperty("--btn-font-size",r.fontSize),this.style.setProperty("--btn-gap",r.gap),this.style.setProperty("--icon-size",r.icon),this.style.setProperty("--spinner-size",r.spinner);const o=r.padding.split(" "),e=(o.length>=2?parseFloat(o[0])+parseFloat(o[2]||o[0]):16)+parseFloat(r.fontSize)+4;this.style.setProperty("--btn-min-height",`${e}px`)}_groupItems(){const t=this._slotEl();return t?t.assignedElements({flatten:!0}).filter(t=>{if(!(t instanceof HTMLElement))return!1;const r=t.tagName.toLowerCase();return"button"===r||"sky-button"===r||"sky-dropdown"===r}):[]}_radiusForIndex(t,r){const o=f(this.radius);return r<=1?o:"stacked"===this.layout?0===t?`${o} ${o} 0 0`:t===r-1?`0 0 ${o} ${o}`:"0":0===t?`${o} 0 0 ${o}`:t===r-1?`0 ${o} ${o} 0`:"0"}_syncSkyButton(t,r,o){const e=t;e.variant=this.variant,e.color=this.color,e.size=this.size,e.radius=this._radiusForIndex(r,o),e.inGroup=!0,e.colors=""}_syncChildComponents(){const t=this._groupItems(),r=t.length;if(r)for(const[o,e]of t.entries()){const t=e.tagName.toLowerCase();if("sky-button"===t){this._syncSkyButton(e,o,r);continue}if("sky-dropdown"!==t)continue;const s=e.querySelectorAll('[slot="trigger"]');for(const t of Array.from(s))t instanceof HTMLElement&&"sky-button"===t.tagName.toLowerCase()&&this._syncSkyButton(t,o,r)}}_paintDesignTokens(){const t=l(this.color),r=h(this.color),o={bg:t,color:r,border:"var(--btn-border-width) solid transparent",shadow:"none",hbg:t,hcolor:r,hshadow:"none",borderHover:void 0,groupBg:void 0,borderWidth:"1px"},e=(e=>{switch(e){case"solid":return{...o,bg:t,color:r,hbg:t,hcolor:r};case"faded":return{...o,bg:"var(--sky-hover-tertiary)",color:t,border:"var(--btn-border-width) solid var(--sky-text-tertiary)",hbg:"var(--sky-hover-secondary)",hcolor:t};case"bordered":return{...o,bg:"transparent",color:t,border:u(this.color)?y(2):`var(--btn-border-width) solid ${t}`,hbg:"transparent",hcolor:t,borderHover:u(this.color)?"2px solid var(--sky-text-tertiary)":`var(--btn-border-width) solid ${v(t,25)}`,borderWidth:"2px"};case"transparent":return{...o,bg:"transparent",color:t,hbg:b(t,15),hcolor:t};case"flat":return{...o,bg:b(t,20),color:v(t,30),hbg:b(t,25),hcolor:v(t,35)};case"ghost":{const e=u(this.color)?"var(--sky-border-light)":t;return{...o,bg:"transparent",color:t,border:"var(--btn-border-width) solid transparent",shadow:`inset 0 0 0 2px ${e}`,hbg:t,hcolor:r,hshadow:`\n inset 0 0 0 2px ${e},\n 0 8px 18px -10px ${b(t,40)}\n `,borderWidth:"0px"}}case"relief":return{...o,bg:t,color:r,shadow:`\n inset 0 1px 0 rgba(255,255,255,0.4),\n 0 3px 0 ${g(t,40)},\n 0 4px 6px -1px ${b(t,40)}\n `,hbg:t,hcolor:r,hshadow:`\n inset 0 1px 0 rgba(255,255,255,0.3),\n 0 2px 0 ${g(t,35)},\n 0 10px 20px -12px ${b(t,40)}\n `};case"gradient":return{...o,bg:"transparent",color:r,hbg:"transparent",hcolor:r,groupBg:this._buildGradient(t)};case"shadow":return{...o,bg:"var(--sky-glass-primary)",color:"var(--sky-text-primary)",border:c(),shadow:"var(--sky-box-shadow-primary)",hbg:"var(--sky-glass-primary)",hcolor:t,hshadow:"var(--sky-box-shadow-secondary)",borderHover:c(),borderWidth:"1px"};default:return o}})(this.variant),s=p(this.color,this.variant,{bg:e.bg,color:e.color,border:e.border,shadow:e.shadow,hoverBg:e.hbg,hoverColor:e.hcolor,hoverShadow:e.hshadow,hoverBorder:e.borderHover}),n={...e,bg:s.bg??e.bg,color:s.color??e.color,border:s.border??e.border,shadow:s.shadow??e.shadow,hbg:s.hoverBg??e.hbg,hcolor:s.hoverColor??e.hcolor,hshadow:s.hoverShadow??e.hshadow,borderHover:s.hoverBorder??e.borderHover};this.style.setProperty("--btn-border-width",n.borderWidth),this.style.setProperty("--btn-bg",n.bg),this.style.setProperty("--btn-color",n.color),this.style.setProperty("--btn-border",n.border),this.style.setProperty("--btn-shadow",n.shadow),this.style.setProperty("--btn-bg-hover",n.hbg),this.style.setProperty("--btn-color-hover",n.hcolor),this.style.setProperty("--btn-shadow-hover",n.hshadow),"ghost"===this.variant?(this.style.setProperty("--ghost-outline","2px"),this.style.setProperty("--ghost-color",t),this.style.setProperty("--ghost-fill",b(t,20))):(this.style.removeProperty("--ghost-outline"),this.style.removeProperty("--ghost-color"),this.style.removeProperty("--ghost-fill")),"gradient"===this.variant&&n.groupBg?(this.style.setProperty("--group-bg",n.groupBg),this.style.removeProperty("--btn-border-hover")):"bordered"===this.variant&&n.borderHover?(this.style.setProperty("--btn-border-hover",n.borderHover),this.style.removeProperty("--group-bg")):(this.style.removeProperty("--btn-border-hover"),this.style.removeProperty("--group-bg"))}_slotEl(){return this.shadowRoot?.querySelector("slot")??null}_rippleColorFor(t){const r=getComputedStyle(t),o=(r.backgroundColor&&"rgba(0, 0, 0, 0)"!==r.backgroundColor?r.backgroundColor:r.color).match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!o)return"rgba(255,255,255,0.35)";const[e,s,n]=[parseInt(o[1]),parseInt(o[2]),parseInt(o[3])],i=t=>{const r=t/255;return r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)};return.2126*i(e)+.7152*i(s)+.0722*i(n)>.5?"rgba(0,0,0,0.25)":"rgba(255,255,255,0.35)"}_createRipple(t,r){const o=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches,e=r.getBoundingClientRect(),s=e.width,n=e.height,i=Math.ceil(Math.hypot(s,n)),a=t.clientX-e.left,d=t.clientY-e.top,l=document.createElement("span");if(l.part.add("ripple"),Object.assign(l.style,{position:"absolute",left:`${a}px`,top:`${d}px`,width:`${i}px`,height:`${i}px`,borderRadius:"9999px",transform:"translate(-50%, -50%) scale(0)",pointerEvents:"none",opacity:"0.35",willChange:"transform, opacity",zIndex:"1",background:this._rippleColorFor(r)}),r.appendChild(l),o||!("animate"in l))return l.style.opacity="0.15",void setTimeout(()=>l.remove(),150);const h=l.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.35},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:480,easing:"ease-out",fill:"forwards"});h.addEventListener?.("finish",()=>l.remove()),h.onfinish=()=>l.remove()}refreshLayout(){this._applyGeometry(),this._paintDesignTokens(),this._syncChildComponents()}render(){return s`
|
|
272
|
-
<div
|
|
273
|
-
class=${a({group:!0,"group--stacked":"stacked"===this.layout})}
|
|
274
|
-
part="group"
|
|
275
|
-
role="group"
|
|
276
|
-
@keydown=${this._onKeyDown}
|
|
277
|
-
>
|
|
278
|
-
<slot @click=${this._onClick}></slot>
|
|
279
|
-
</div>
|
|
280
|
-
`}};t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"variant",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"color",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"size",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"radius",void 0),t([n({type:String}),r("design:type",String)],m.prototype,"colors",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"layout",void 0),m=t([i("sky-button-group")],m);export{m as SkyButtonGroup};
|
|
281
|
-
//# sourceMappingURL=sky-button-group.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sky-button-group.js","sources":["../../src/sky-button-group/sky-button-group.ts"],"sourcesContent":[null],"names":["SkyButtonGroup","LitElement","constructor","this","variant","color","size","radius","colors","layout","_onClick","event","button","target","closest","hasAttribute","_createRipple","_onKeyDown","e","key","active","shadowRoot","activeElement","document","rect","getBoundingClientRect","fake","clientX","left","width","clientY","top","height","styles","css","firstUpdated","_applyGeometry","_paintDesignTokens","_syncChildComponents","slot","_slotEl","addEventListener","updated","changed","some","k","has","_resolveSize","input","presets","xs","padding","fontSize","gap","icon","spinner","sm","md","lg","xl","m","String","trim","match","unit","fsNum","parseFloat","fs","to","n","Math","round","clamp","min","max","py","px","_buildGradient","baseColor","createGradient","R","resolveRadius","style","setProperty","S","parts","split","baseHeight","length","_groupItems","assignedElements","flatten","filter","el","HTMLElement","tag","tagName","toLowerCase","_radiusForIndex","index","total","_syncSkyButton","buttonLike","host","inGroup","items","item","entries","triggerNodes","querySelectorAll","triggerEl","Array","from","resolveColor","textColor","resolveTextColorForToken","defaultConfig","bg","border","shadow","hbg","hcolor","hshadow","borderHover","undefined","groupBg","borderWidth","rawCfg","v","isDefaultColorToken","skyBorderWidthSolid","hoverShade","fadeMix","ghostOutline","darkShade","skyBorderPrimaryShorthand","variantConfig","tuned","tuneSurfaceVariantForDefaultColor","hoverBg","hoverColor","hoverShadow","hoverBorder","cfg","removeProperty","querySelector","_rippleColorFor","cs","getComputedStyle","rgb","backgroundColor","r","g","b","parseInt","toLin","c","pow","prefersReduced","window","matchMedia","matches","w","h","diameter","ceil","hypot","x","y","ripple","createElement","part","add","Object","assign","position","borderRadius","transform","pointerEvents","opacity","willChange","zIndex","background","appendChild","setTimeout","remove","anim","animate","duration","easing","fill","onfinish","refreshLayout","render","html","classMap","group","__decorate","property","type","reflect","prototype","customElement"],"mappings":"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"}
|