@sky.ui/core 0.0.7 → 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.
Files changed (219) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/auto-import.js +1 -31
  3. package/dist/custom-elements.json +7115 -21498
  4. package/dist/helper/utils/color-resolver.d.ts +12 -0
  5. package/dist/helper/utils/color-resolver.js +1 -1
  6. package/dist/helper/utils/color-resolver.js.map +1 -1
  7. package/dist/index.d.ts +1 -31
  8. package/dist/index.js +1 -1
  9. package/dist/sky-alert/sky-alert.js +32 -42
  10. package/dist/sky-alert/sky-alert.js.map +1 -1
  11. package/dist/sky-appbar/sky-appbar.d.ts +5 -0
  12. package/dist/sky-appbar/sky-appbar.js +63 -21
  13. package/dist/sky-appbar/sky-appbar.js.map +1 -1
  14. package/dist/sky-avatar/sky-avatar.d.ts +2 -2
  15. package/dist/sky-avatar/sky-avatar.js +36 -28
  16. package/dist/sky-avatar/sky-avatar.js.map +1 -1
  17. package/dist/sky-badge/sky-badge.d.ts +2 -0
  18. package/dist/sky-badge/sky-badge.js +21 -19
  19. package/dist/sky-badge/sky-badge.js.map +1 -1
  20. package/dist/sky-button/sky-button.d.ts +4 -0
  21. package/dist/sky-button/sky-button.js +85 -26
  22. package/dist/sky-button/sky-button.js.map +1 -1
  23. package/dist/sky-card/sky-card.d.ts +7 -1
  24. package/dist/sky-card/sky-card.js +72 -40
  25. package/dist/sky-card/sky-card.js.map +1 -1
  26. package/dist/sky-checkbox/sky-checkbox.js +34 -23
  27. package/dist/sky-checkbox/sky-checkbox.js.map +1 -1
  28. package/dist/sky-chip/sky-chip.js +53 -35
  29. package/dist/sky-chip/sky-chip.js.map +1 -1
  30. package/dist/sky-combobox/sky-combobox.d.ts +6 -2
  31. package/dist/sky-combobox/sky-combobox.js +92 -262
  32. package/dist/sky-combobox/sky-combobox.js.map +1 -1
  33. package/dist/sky-dialog/sky-dialog.d.ts +4 -11
  34. package/dist/sky-dialog/sky-dialog.js +78 -131
  35. package/dist/sky-dialog/sky-dialog.js.map +1 -1
  36. package/dist/sky-flexbox/sky-flexbox.js.map +1 -1
  37. package/dist/sky-form/sky-form.js +21 -19
  38. package/dist/sky-form/sky-form.js.map +1 -1
  39. package/dist/sky-image/sky-image.d.ts +1 -0
  40. package/dist/sky-image/sky-image.js +14 -7
  41. package/dist/sky-image/sky-image.js.map +1 -1
  42. package/dist/sky-input/sky-input.d.ts +15 -2
  43. package/dist/sky-input/sky-input.js +188 -193
  44. package/dist/sky-input/sky-input.js.map +1 -1
  45. package/dist/sky-list/sky-list.d.ts +11 -2
  46. package/dist/sky-list/sky-list.js +15 -25
  47. package/dist/sky-list/sky-list.js.map +1 -1
  48. package/dist/sky-listitem/sky-listitem.js +62 -30
  49. package/dist/sky-listitem/sky-listitem.js.map +1 -1
  50. package/dist/sky-radio/sky-radio.d.ts +2 -0
  51. package/dist/sky-radio/sky-radio.js +29 -9
  52. package/dist/sky-radio/sky-radio.js.map +1 -1
  53. package/dist/sky-sheet/sky-sheet.d.ts +1 -1
  54. package/dist/sky-sheet/sky-sheet.js +68 -22
  55. package/dist/sky-sheet/sky-sheet.js.map +1 -1
  56. package/dist/sky-simple-table/index.d.ts +1 -0
  57. package/dist/sky-simple-table/index.js +1 -0
  58. package/dist/sky-simple-table/sky-simple-table.d.ts +68 -0
  59. package/dist/sky-simple-table/sky-simple-table.js +100 -0
  60. package/dist/sky-simple-table/sky-simple-table.js.map +1 -0
  61. package/dist/sky-theme-provider/sky-theme-provider.d.ts +10 -1
  62. package/dist/sky-theme-provider/sky-theme-provider.js +2 -2
  63. package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -1
  64. package/package.json +39 -269
  65. package/dist/sky-accordion/index.d.ts +0 -1
  66. package/dist/sky-accordion/index.js +0 -1
  67. package/dist/sky-accordion/sky-accordion.d.ts +0 -201
  68. package/dist/sky-accordion/sky-accordion.js +0 -84
  69. package/dist/sky-accordion/sky-accordion.js.map +0 -1
  70. package/dist/sky-accordion-item/index.d.ts +0 -1
  71. package/dist/sky-accordion-item/index.js +0 -1
  72. package/dist/sky-accordion-item/sky-accordion-item.d.ts +0 -161
  73. package/dist/sky-accordion-item/sky-accordion-item.js +0 -191
  74. package/dist/sky-accordion-item/sky-accordion-item.js.map +0 -1
  75. package/dist/sky-breadcrumb/index.d.ts +0 -1
  76. package/dist/sky-breadcrumb/index.js +0 -1
  77. package/dist/sky-breadcrumb/sky-breadcrumb.d.ts +0 -111
  78. package/dist/sky-breadcrumb/sky-breadcrumb.js +0 -230
  79. package/dist/sky-breadcrumb/sky-breadcrumb.js.map +0 -1
  80. package/dist/sky-button-group/index.d.ts +0 -1
  81. package/dist/sky-button-group/index.js +0 -1
  82. package/dist/sky-button-group/sky-button-group.d.ts +0 -93
  83. package/dist/sky-button-group/sky-button-group.js +0 -281
  84. package/dist/sky-button-group/sky-button-group.js.map +0 -1
  85. package/dist/sky-carousel/index.d.ts +0 -1
  86. package/dist/sky-carousel/index.js +0 -1
  87. package/dist/sky-carousel/sky-carousel.d.ts +0 -265
  88. package/dist/sky-carousel/sky-carousel.js +0 -211
  89. package/dist/sky-carousel/sky-carousel.js.map +0 -1
  90. package/dist/sky-counter/index.d.ts +0 -1
  91. package/dist/sky-counter/index.js +0 -1
  92. package/dist/sky-counter/sky-counter.d.ts +0 -130
  93. package/dist/sky-counter/sky-counter.js +0 -101
  94. package/dist/sky-counter/sky-counter.js.map +0 -1
  95. package/dist/sky-drawer/index.d.ts +0 -1
  96. package/dist/sky-drawer/index.js +0 -1
  97. package/dist/sky-drawer/sky-drawer.d.ts +0 -161
  98. package/dist/sky-drawer/sky-drawer.js +0 -175
  99. package/dist/sky-drawer/sky-drawer.js.map +0 -1
  100. package/dist/sky-dropdown/index.d.ts +0 -1
  101. package/dist/sky-dropdown/index.js +0 -1
  102. package/dist/sky-dropdown/sky-dropdown.d.ts +0 -254
  103. package/dist/sky-dropdown/sky-dropdown.js +0 -61
  104. package/dist/sky-dropdown/sky-dropdown.js.map +0 -1
  105. package/dist/sky-dropdown-item/index.d.ts +0 -1
  106. package/dist/sky-dropdown-item/index.js +0 -1
  107. package/dist/sky-dropdown-item/sky-dropdown-item.d.ts +0 -207
  108. package/dist/sky-dropdown-item/sky-dropdown-item.js +0 -341
  109. package/dist/sky-dropdown-item/sky-dropdown-item.js.map +0 -1
  110. package/dist/sky-flexbar/index.d.ts +0 -1
  111. package/dist/sky-flexbar/index.js +0 -1
  112. package/dist/sky-flexbar/sky-flexbar.d.ts +0 -189
  113. package/dist/sky-flexbar/sky-flexbar.js +0 -157
  114. package/dist/sky-flexbar/sky-flexbar.js.map +0 -1
  115. package/dist/sky-flexitem/index.d.ts +0 -1
  116. package/dist/sky-flexitem/index.js +0 -1
  117. package/dist/sky-flexitem/sky-flexitem.d.ts +0 -114
  118. package/dist/sky-flexitem/sky-flexitem.js +0 -52
  119. package/dist/sky-flexitem/sky-flexitem.js.map +0 -1
  120. package/dist/sky-navbar/index.d.ts +0 -1
  121. package/dist/sky-navbar/index.js +0 -1
  122. package/dist/sky-navbar/sky-navbar.d.ts +0 -211
  123. package/dist/sky-navbar/sky-navbar.js +0 -521
  124. package/dist/sky-navbar/sky-navbar.js.map +0 -1
  125. package/dist/sky-navpanel/index.d.ts +0 -1
  126. package/dist/sky-navpanel/index.js +0 -1
  127. package/dist/sky-navpanel/sky-navpanel.d.ts +0 -187
  128. package/dist/sky-navpanel/sky-navpanel.js +0 -404
  129. package/dist/sky-navpanel/sky-navpanel.js.map +0 -1
  130. package/dist/sky-notification/index.d.ts +0 -1
  131. package/dist/sky-notification/index.js +0 -1
  132. package/dist/sky-notification/sky-notification.d.ts +0 -152
  133. package/dist/sky-notification/sky-notification.js +0 -456
  134. package/dist/sky-notification/sky-notification.js.map +0 -1
  135. package/dist/sky-otp/index.d.ts +0 -1
  136. package/dist/sky-otp/index.js +0 -1
  137. package/dist/sky-otp/sky-otp.d.ts +0 -101
  138. package/dist/sky-otp/sky-otp.js +0 -96
  139. package/dist/sky-otp/sky-otp.js.map +0 -1
  140. package/dist/sky-overlay/index.d.ts +0 -1
  141. package/dist/sky-overlay/index.js +0 -1
  142. package/dist/sky-overlay/sky-overlay.d.ts +0 -71
  143. package/dist/sky-overlay/sky-overlay.js +0 -26
  144. package/dist/sky-overlay/sky-overlay.js.map +0 -1
  145. package/dist/sky-pagination/index.d.ts +0 -1
  146. package/dist/sky-pagination/index.js +0 -1
  147. package/dist/sky-pagination/sky-pagination.d.ts +0 -167
  148. package/dist/sky-pagination/sky-pagination.js +0 -453
  149. package/dist/sky-pagination/sky-pagination.js.map +0 -1
  150. package/dist/sky-progress/index.d.ts +0 -1
  151. package/dist/sky-progress/index.js +0 -1
  152. package/dist/sky-progress/sky-progress.d.ts +0 -70
  153. package/dist/sky-progress/sky-progress.js +0 -87
  154. package/dist/sky-progress/sky-progress.js.map +0 -1
  155. package/dist/sky-radio-group/index.d.ts +0 -1
  156. package/dist/sky-radio-group/index.js +0 -1
  157. package/dist/sky-radio-group/sky-radio-group.d.ts +0 -186
  158. package/dist/sky-radio-group/sky-radio-group.js +0 -239
  159. package/dist/sky-radio-group/sky-radio-group.js.map +0 -1
  160. package/dist/sky-range/index.d.ts +0 -1
  161. package/dist/sky-range/index.js +0 -1
  162. package/dist/sky-range/sky-range.d.ts +0 -110
  163. package/dist/sky-range/sky-range.js +0 -196
  164. package/dist/sky-range/sky-range.js.map +0 -1
  165. package/dist/sky-serial/index.d.ts +0 -1
  166. package/dist/sky-serial/index.js +0 -1
  167. package/dist/sky-serial/sky-serial.d.ts +0 -127
  168. package/dist/sky-serial/sky-serial.js +0 -133
  169. package/dist/sky-serial/sky-serial.js.map +0 -1
  170. package/dist/sky-skeleton/index.d.ts +0 -1
  171. package/dist/sky-skeleton/index.js +0 -1
  172. package/dist/sky-skeleton/sky-skeleton.d.ts +0 -80
  173. package/dist/sky-skeleton/sky-skeleton.js +0 -233
  174. package/dist/sky-skeleton/sky-skeleton.js.map +0 -1
  175. package/dist/sky-slider/index.d.ts +0 -1
  176. package/dist/sky-slider/index.js +0 -1
  177. package/dist/sky-slider/sky-slider.d.ts +0 -96
  178. package/dist/sky-slider/sky-slider.js +0 -139
  179. package/dist/sky-slider/sky-slider.js.map +0 -1
  180. package/dist/sky-speeddial/index.d.ts +0 -1
  181. package/dist/sky-speeddial/index.js +0 -1
  182. package/dist/sky-speeddial/sky-speeddial.d.ts +0 -86
  183. package/dist/sky-speeddial/sky-speeddial.js +0 -154
  184. package/dist/sky-speeddial/sky-speeddial.js.map +0 -1
  185. package/dist/sky-spinner/index.d.ts +0 -1
  186. package/dist/sky-spinner/index.js +0 -1
  187. package/dist/sky-spinner/sky-spinner.d.ts +0 -87
  188. package/dist/sky-spinner/sky-spinner.js +0 -334
  189. package/dist/sky-spinner/sky-spinner.js.map +0 -1
  190. package/dist/sky-steps/index.d.ts +0 -1
  191. package/dist/sky-steps/index.js +0 -1
  192. package/dist/sky-steps/sky-steps.d.ts +0 -170
  193. package/dist/sky-steps/sky-steps.js +0 -455
  194. package/dist/sky-steps/sky-steps.js.map +0 -1
  195. package/dist/sky-switch/index.d.ts +0 -1
  196. package/dist/sky-switch/index.js +0 -1
  197. package/dist/sky-switch/sky-switch.d.ts +0 -116
  198. package/dist/sky-switch/sky-switch.js +0 -191
  199. package/dist/sky-switch/sky-switch.js.map +0 -1
  200. package/dist/sky-tab/index.d.ts +0 -1
  201. package/dist/sky-tab/index.js +0 -1
  202. package/dist/sky-tab/sky-tab.d.ts +0 -188
  203. package/dist/sky-tab/sky-tab.js +0 -390
  204. package/dist/sky-tab/sky-tab.js.map +0 -1
  205. package/dist/sky-tab-button/index.d.ts +0 -1
  206. package/dist/sky-tab-button/index.js +0 -1
  207. package/dist/sky-tab-button/sky-tab-button.d.ts +0 -114
  208. package/dist/sky-tab-button/sky-tab-button.js +0 -167
  209. package/dist/sky-tab-button/sky-tab-button.js.map +0 -1
  210. package/dist/sky-theme-switcher/index.d.ts +0 -1
  211. package/dist/sky-theme-switcher/index.js +0 -1
  212. package/dist/sky-theme-switcher/sky-theme-switcher.d.ts +0 -92
  213. package/dist/sky-theme-switcher/sky-theme-switcher.js +0 -43
  214. package/dist/sky-theme-switcher/sky-theme-switcher.js.map +0 -1
  215. package/dist/sky-tooltip/index.d.ts +0 -1
  216. package/dist/sky-tooltip/index.js +0 -1
  217. package/dist/sky-tooltip/sky-tooltip.d.ts +0 -156
  218. package/dist/sky-tooltip/sky-tooltip.js +0 -242
  219. 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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"}