@sky.ui/core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/LICENSE.md +139 -0
  2. package/README.md +113 -0
  3. package/auto-import-loader.js +60 -0
  4. package/auto-import.js +93 -0
  5. package/dist/custom-elements.json +27051 -0
  6. package/dist/helper/controllers/animation-controller.d.ts +120 -0
  7. package/dist/helper/controllers/animation-controller.js +2 -0
  8. package/dist/helper/controllers/animation-controller.js.map +1 -0
  9. package/dist/helper/controllers/index.d.ts +2 -0
  10. package/dist/helper/controllers/popover-controller.d.ts +162 -0
  11. package/dist/helper/controllers/popover-controller.js +2 -0
  12. package/dist/helper/controllers/popover-controller.js.map +1 -0
  13. package/dist/helper/form-control-base.d.ts +1 -0
  14. package/dist/helper/iconify-offline.d.ts +73 -0
  15. package/dist/helper/iconify-offline.js +2 -0
  16. package/dist/helper/iconify-offline.js.map +1 -0
  17. package/dist/helper/index.d.ts +5 -0
  18. package/dist/helper/internals/form-control-base.d.ts +81 -0
  19. package/dist/helper/internals/form-control-base.js +2 -0
  20. package/dist/helper/internals/form-control-base.js.map +1 -0
  21. package/dist/helper/internals/index.d.ts +1 -0
  22. package/dist/helper/utils/color-resolver.d.ts +139 -0
  23. package/dist/helper/utils/color-resolver.js +2 -0
  24. package/dist/helper/utils/color-resolver.js.map +1 -0
  25. package/dist/helper/utils/index.d.ts +2 -0
  26. package/dist/helper/utils/size-resolver.d.ts +6 -0
  27. package/dist/helper/utils/size-resolver.js +2 -0
  28. package/dist/helper/utils/size-resolver.js.map +1 -0
  29. package/dist/index.d.ts +58 -0
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/sky-accordion/index.d.ts +1 -0
  33. package/dist/sky-accordion/index.js +1 -0
  34. package/dist/sky-accordion/sky-accordion.d.ts +201 -0
  35. package/dist/sky-accordion/sky-accordion.js +85 -0
  36. package/dist/sky-accordion/sky-accordion.js.map +1 -0
  37. package/dist/sky-accordion-item/index.d.ts +1 -0
  38. package/dist/sky-accordion-item/index.js +1 -0
  39. package/dist/sky-accordion-item/sky-accordion-item.d.ts +161 -0
  40. package/dist/sky-accordion-item/sky-accordion-item.js +191 -0
  41. package/dist/sky-accordion-item/sky-accordion-item.js.map +1 -0
  42. package/dist/sky-alert/index.d.ts +1 -0
  43. package/dist/sky-alert/index.js +1 -0
  44. package/dist/sky-alert/sky-alert.d.ts +136 -0
  45. package/dist/sky-alert/sky-alert.js +292 -0
  46. package/dist/sky-alert/sky-alert.js.map +1 -0
  47. package/dist/sky-appbar/index.d.ts +1 -0
  48. package/dist/sky-appbar/index.js +1 -0
  49. package/dist/sky-appbar/sky-appbar.d.ts +84 -0
  50. package/dist/sky-appbar/sky-appbar.js +173 -0
  51. package/dist/sky-appbar/sky-appbar.js.map +1 -0
  52. package/dist/sky-avatar/index.d.ts +1 -0
  53. package/dist/sky-avatar/index.js +1 -0
  54. package/dist/sky-avatar/sky-avatar.d.ts +104 -0
  55. package/dist/sky-avatar/sky-avatar.js +152 -0
  56. package/dist/sky-avatar/sky-avatar.js.map +1 -0
  57. package/dist/sky-badge/index.d.ts +1 -0
  58. package/dist/sky-badge/index.js +1 -0
  59. package/dist/sky-badge/sky-badge.d.ts +154 -0
  60. package/dist/sky-badge/sky-badge.js +148 -0
  61. package/dist/sky-badge/sky-badge.js.map +1 -0
  62. package/dist/sky-breadcrumb/index.d.ts +1 -0
  63. package/dist/sky-breadcrumb/index.js +1 -0
  64. package/dist/sky-breadcrumb/sky-breadcrumb.d.ts +111 -0
  65. package/dist/sky-breadcrumb/sky-breadcrumb.js +230 -0
  66. package/dist/sky-breadcrumb/sky-breadcrumb.js.map +1 -0
  67. package/dist/sky-button/index.d.ts +1 -0
  68. package/dist/sky-button/index.js +1 -0
  69. package/dist/sky-button/sky-button.d.ts +118 -0
  70. package/dist/sky-button/sky-button.js +172 -0
  71. package/dist/sky-button/sky-button.js.map +1 -0
  72. package/dist/sky-button-group/index.d.ts +1 -0
  73. package/dist/sky-button-group/index.js +1 -0
  74. package/dist/sky-button-group/sky-button-group.d.ts +93 -0
  75. package/dist/sky-button-group/sky-button-group.js +281 -0
  76. package/dist/sky-button-group/sky-button-group.js.map +1 -0
  77. package/dist/sky-card/index.d.ts +1 -0
  78. package/dist/sky-card/index.js +1 -0
  79. package/dist/sky-card/sky-card.d.ts +143 -0
  80. package/dist/sky-card/sky-card.js +186 -0
  81. package/dist/sky-card/sky-card.js.map +1 -0
  82. package/dist/sky-carousel/index.d.ts +1 -0
  83. package/dist/sky-carousel/index.js +1 -0
  84. package/dist/sky-carousel/sky-carousel.d.ts +265 -0
  85. package/dist/sky-carousel/sky-carousel.js +211 -0
  86. package/dist/sky-carousel/sky-carousel.js.map +1 -0
  87. package/dist/sky-checkbox/index.d.ts +1 -0
  88. package/dist/sky-checkbox/index.js +1 -0
  89. package/dist/sky-checkbox/sky-checkbox.d.ts +165 -0
  90. package/dist/sky-checkbox/sky-checkbox.js +276 -0
  91. package/dist/sky-checkbox/sky-checkbox.js.map +1 -0
  92. package/dist/sky-chip/index.d.ts +1 -0
  93. package/dist/sky-chip/index.js +1 -0
  94. package/dist/sky-chip/sky-chip.d.ts +95 -0
  95. package/dist/sky-chip/sky-chip.js +210 -0
  96. package/dist/sky-chip/sky-chip.js.map +1 -0
  97. package/dist/sky-col/index.d.ts +1 -0
  98. package/dist/sky-col/index.js +1 -0
  99. package/dist/sky-col/sky-col.d.ts +84 -0
  100. package/dist/sky-col/sky-col.js +46 -0
  101. package/dist/sky-col/sky-col.js.map +1 -0
  102. package/dist/sky-combobox/index.d.ts +1 -0
  103. package/dist/sky-combobox/index.js +1 -0
  104. package/dist/sky-combobox/sky-combobox.d.ts +313 -0
  105. package/dist/sky-combobox/sky-combobox.js +1146 -0
  106. package/dist/sky-combobox/sky-combobox.js.map +1 -0
  107. package/dist/sky-counter/index.d.ts +1 -0
  108. package/dist/sky-counter/index.js +1 -0
  109. package/dist/sky-counter/sky-counter.d.ts +130 -0
  110. package/dist/sky-counter/sky-counter.js +101 -0
  111. package/dist/sky-counter/sky-counter.js.map +1 -0
  112. package/dist/sky-dialog/index.d.ts +1 -0
  113. package/dist/sky-dialog/index.js +1 -0
  114. package/dist/sky-dialog/sky-dialog.d.ts +237 -0
  115. package/dist/sky-dialog/sky-dialog.js +265 -0
  116. package/dist/sky-dialog/sky-dialog.js.map +1 -0
  117. package/dist/sky-divider/index.d.ts +1 -0
  118. package/dist/sky-divider/index.js +1 -0
  119. package/dist/sky-divider/sky-divider.d.ts +120 -0
  120. package/dist/sky-divider/sky-divider.js +42 -0
  121. package/dist/sky-divider/sky-divider.js.map +1 -0
  122. package/dist/sky-drawer/index.d.ts +1 -0
  123. package/dist/sky-drawer/index.js +1 -0
  124. package/dist/sky-drawer/sky-drawer.d.ts +161 -0
  125. package/dist/sky-drawer/sky-drawer.js +177 -0
  126. package/dist/sky-drawer/sky-drawer.js.map +1 -0
  127. package/dist/sky-dropdown/index.d.ts +1 -0
  128. package/dist/sky-dropdown/index.js +1 -0
  129. package/dist/sky-dropdown/sky-dropdown.d.ts +252 -0
  130. package/dist/sky-dropdown/sky-dropdown.js +58 -0
  131. package/dist/sky-dropdown/sky-dropdown.js.map +1 -0
  132. package/dist/sky-dropdown-item/index.d.ts +1 -0
  133. package/dist/sky-dropdown-item/index.js +1 -0
  134. package/dist/sky-dropdown-item/sky-dropdown-item.d.ts +207 -0
  135. package/dist/sky-dropdown-item/sky-dropdown-item.js +341 -0
  136. package/dist/sky-dropdown-item/sky-dropdown-item.js.map +1 -0
  137. package/dist/sky-flexbar/index.d.ts +1 -0
  138. package/dist/sky-flexbar/index.js +1 -0
  139. package/dist/sky-flexbar/sky-flexbar.d.ts +189 -0
  140. package/dist/sky-flexbar/sky-flexbar.js +148 -0
  141. package/dist/sky-flexbar/sky-flexbar.js.map +1 -0
  142. package/dist/sky-flexbox/index.d.ts +1 -0
  143. package/dist/sky-flexbox/index.js +1 -0
  144. package/dist/sky-flexbox/sky-flexbox.d.ts +156 -0
  145. package/dist/sky-flexbox/sky-flexbox.js +40 -0
  146. package/dist/sky-flexbox/sky-flexbox.js.map +1 -0
  147. package/dist/sky-flexcol/index.d.ts +1 -0
  148. package/dist/sky-flexcol/index.js +1 -0
  149. package/dist/sky-flexcol/sky-flexcol.d.ts +154 -0
  150. package/dist/sky-flexcol/sky-flexcol.js +14 -0
  151. package/dist/sky-flexcol/sky-flexcol.js.map +1 -0
  152. package/dist/sky-flexitem/index.d.ts +1 -0
  153. package/dist/sky-flexitem/index.js +1 -0
  154. package/dist/sky-flexitem/sky-flexitem.d.ts +114 -0
  155. package/dist/sky-flexitem/sky-flexitem.js +45 -0
  156. package/dist/sky-flexitem/sky-flexitem.js.map +1 -0
  157. package/dist/sky-form/index.d.ts +1 -0
  158. package/dist/sky-form/index.js +1 -0
  159. package/dist/sky-form/sky-form.d.ts +286 -0
  160. package/dist/sky-form/sky-form.js +66 -0
  161. package/dist/sky-form/sky-form.js.map +1 -0
  162. package/dist/sky-grid/index.d.ts +1 -0
  163. package/dist/sky-grid/index.js +1 -0
  164. package/dist/sky-grid/sky-grid.d.ts +78 -0
  165. package/dist/sky-grid/sky-grid.js +40 -0
  166. package/dist/sky-grid/sky-grid.js.map +1 -0
  167. package/dist/sky-icon/index.d.ts +1 -0
  168. package/dist/sky-icon/index.js +1 -0
  169. package/dist/sky-icon/ion-local.json.js +2 -0
  170. package/dist/sky-icon/ion-local.json.js.map +1 -0
  171. package/dist/sky-icon/sky-icon.d.ts +123 -0
  172. package/dist/sky-icon/sky-icon.js +40 -0
  173. package/dist/sky-icon/sky-icon.js.map +1 -0
  174. package/dist/sky-image/index.d.ts +1 -0
  175. package/dist/sky-image/index.js +1 -0
  176. package/dist/sky-image/sky-image.d.ts +102 -0
  177. package/dist/sky-image/sky-image.js +29 -0
  178. package/dist/sky-image/sky-image.js.map +1 -0
  179. package/dist/sky-input/index.d.ts +1 -0
  180. package/dist/sky-input/index.js +1 -0
  181. package/dist/sky-input/sky-input.d.ts +345 -0
  182. package/dist/sky-input/sky-input.js +820 -0
  183. package/dist/sky-input/sky-input.js.map +1 -0
  184. package/dist/sky-list/index.d.ts +1 -0
  185. package/dist/sky-list/index.js +1 -0
  186. package/dist/sky-list/sky-list.d.ts +85 -0
  187. package/dist/sky-list/sky-list.js +41 -0
  188. package/dist/sky-list/sky-list.js.map +1 -0
  189. package/dist/sky-listitem/index.d.ts +1 -0
  190. package/dist/sky-listitem/index.js +1 -0
  191. package/dist/sky-listitem/sky-listitem.d.ts +76 -0
  192. package/dist/sky-listitem/sky-listitem.js +104 -0
  193. package/dist/sky-listitem/sky-listitem.js.map +1 -0
  194. package/dist/sky-navbar/index.d.ts +1 -0
  195. package/dist/sky-navbar/index.js +1 -0
  196. package/dist/sky-navbar/sky-navbar.d.ts +207 -0
  197. package/dist/sky-navbar/sky-navbar.js +521 -0
  198. package/dist/sky-navbar/sky-navbar.js.map +1 -0
  199. package/dist/sky-navpanel/index.d.ts +1 -0
  200. package/dist/sky-navpanel/index.js +1 -0
  201. package/dist/sky-navpanel/sky-navpanel.d.ts +186 -0
  202. package/dist/sky-navpanel/sky-navpanel.js +404 -0
  203. package/dist/sky-navpanel/sky-navpanel.js.map +1 -0
  204. package/dist/sky-notification/index.d.ts +1 -0
  205. package/dist/sky-notification/index.js +1 -0
  206. package/dist/sky-notification/sky-notification.d.ts +152 -0
  207. package/dist/sky-notification/sky-notification.js +456 -0
  208. package/dist/sky-notification/sky-notification.js.map +1 -0
  209. package/dist/sky-otp/index.d.ts +1 -0
  210. package/dist/sky-otp/index.js +1 -0
  211. package/dist/sky-otp/sky-otp.d.ts +101 -0
  212. package/dist/sky-otp/sky-otp.js +96 -0
  213. package/dist/sky-otp/sky-otp.js.map +1 -0
  214. package/dist/sky-overlay/index.d.ts +1 -0
  215. package/dist/sky-overlay/index.js +1 -0
  216. package/dist/sky-overlay/sky-overlay.d.ts +71 -0
  217. package/dist/sky-overlay/sky-overlay.js +26 -0
  218. package/dist/sky-overlay/sky-overlay.js.map +1 -0
  219. package/dist/sky-pagination/index.d.ts +1 -0
  220. package/dist/sky-pagination/index.js +1 -0
  221. package/dist/sky-pagination/sky-pagination.d.ts +167 -0
  222. package/dist/sky-pagination/sky-pagination.js +453 -0
  223. package/dist/sky-pagination/sky-pagination.js.map +1 -0
  224. package/dist/sky-progress/index.d.ts +1 -0
  225. package/dist/sky-progress/index.js +1 -0
  226. package/dist/sky-progress/sky-progress.d.ts +70 -0
  227. package/dist/sky-progress/sky-progress.js +87 -0
  228. package/dist/sky-progress/sky-progress.js.map +1 -0
  229. package/dist/sky-radio/index.d.ts +1 -0
  230. package/dist/sky-radio/index.js +1 -0
  231. package/dist/sky-radio/sky-radio.d.ts +118 -0
  232. package/dist/sky-radio/sky-radio.js +109 -0
  233. package/dist/sky-radio/sky-radio.js.map +1 -0
  234. package/dist/sky-radio-group/index.d.ts +1 -0
  235. package/dist/sky-radio-group/index.js +1 -0
  236. package/dist/sky-radio-group/sky-radio-group.d.ts +186 -0
  237. package/dist/sky-radio-group/sky-radio-group.js +239 -0
  238. package/dist/sky-radio-group/sky-radio-group.js.map +1 -0
  239. package/dist/sky-range/index.d.ts +1 -0
  240. package/dist/sky-range/index.js +1 -0
  241. package/dist/sky-range/sky-range.d.ts +110 -0
  242. package/dist/sky-range/sky-range.js +196 -0
  243. package/dist/sky-range/sky-range.js.map +1 -0
  244. package/dist/sky-row/index.d.ts +1 -0
  245. package/dist/sky-row/index.js +1 -0
  246. package/dist/sky-row/sky-row.d.ts +57 -0
  247. package/dist/sky-row/sky-row.js +6 -0
  248. package/dist/sky-row/sky-row.js.map +1 -0
  249. package/dist/sky-serial/index.d.ts +1 -0
  250. package/dist/sky-serial/index.js +1 -0
  251. package/dist/sky-serial/sky-serial.d.ts +127 -0
  252. package/dist/sky-serial/sky-serial.js +133 -0
  253. package/dist/sky-serial/sky-serial.js.map +1 -0
  254. package/dist/sky-sheet/index.d.ts +1 -0
  255. package/dist/sky-sheet/index.js +1 -0
  256. package/dist/sky-sheet/sky-sheet.d.ts +70 -0
  257. package/dist/sky-sheet/sky-sheet.js +47 -0
  258. package/dist/sky-sheet/sky-sheet.js.map +1 -0
  259. package/dist/sky-skeleton/index.d.ts +1 -0
  260. package/dist/sky-skeleton/index.js +1 -0
  261. package/dist/sky-skeleton/sky-skeleton.d.ts +80 -0
  262. package/dist/sky-skeleton/sky-skeleton.js +233 -0
  263. package/dist/sky-skeleton/sky-skeleton.js.map +1 -0
  264. package/dist/sky-slider/index.d.ts +1 -0
  265. package/dist/sky-slider/index.js +1 -0
  266. package/dist/sky-slider/sky-slider.d.ts +96 -0
  267. package/dist/sky-slider/sky-slider.js +139 -0
  268. package/dist/sky-slider/sky-slider.js.map +1 -0
  269. package/dist/sky-speeddial/index.d.ts +1 -0
  270. package/dist/sky-speeddial/index.js +1 -0
  271. package/dist/sky-speeddial/sky-speeddial.d.ts +86 -0
  272. package/dist/sky-speeddial/sky-speeddial.js +154 -0
  273. package/dist/sky-speeddial/sky-speeddial.js.map +1 -0
  274. package/dist/sky-spinner/index.d.ts +1 -0
  275. package/dist/sky-spinner/index.js +1 -0
  276. package/dist/sky-spinner/sky-spinner.d.ts +87 -0
  277. package/dist/sky-spinner/sky-spinner.js +334 -0
  278. package/dist/sky-spinner/sky-spinner.js.map +1 -0
  279. package/dist/sky-steps/index.d.ts +1 -0
  280. package/dist/sky-steps/index.js +1 -0
  281. package/dist/sky-steps/sky-steps.d.ts +170 -0
  282. package/dist/sky-steps/sky-steps.js +455 -0
  283. package/dist/sky-steps/sky-steps.js.map +1 -0
  284. package/dist/sky-switch/index.d.ts +1 -0
  285. package/dist/sky-switch/index.js +1 -0
  286. package/dist/sky-switch/sky-switch.d.ts +116 -0
  287. package/dist/sky-switch/sky-switch.js +191 -0
  288. package/dist/sky-switch/sky-switch.js.map +1 -0
  289. package/dist/sky-tab/index.d.ts +1 -0
  290. package/dist/sky-tab/index.js +1 -0
  291. package/dist/sky-tab/sky-tab.d.ts +188 -0
  292. package/dist/sky-tab/sky-tab.js +390 -0
  293. package/dist/sky-tab/sky-tab.js.map +1 -0
  294. package/dist/sky-tab-button/index.d.ts +1 -0
  295. package/dist/sky-tab-button/index.js +1 -0
  296. package/dist/sky-tab-button/sky-tab-button.d.ts +114 -0
  297. package/dist/sky-tab-button/sky-tab-button.js +167 -0
  298. package/dist/sky-tab-button/sky-tab-button.js.map +1 -0
  299. package/dist/sky-theme-provider/index.d.ts +1 -0
  300. package/dist/sky-theme-provider/index.js +1 -0
  301. package/dist/sky-theme-provider/sky-theme-provider.d.ts +169 -0
  302. package/dist/sky-theme-provider/sky-theme-provider.js +12 -0
  303. package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -0
  304. package/dist/sky-theme-switcher/index.d.ts +1 -0
  305. package/dist/sky-theme-switcher/index.js +1 -0
  306. package/dist/sky-theme-switcher/sky-theme-switcher.d.ts +92 -0
  307. package/dist/sky-theme-switcher/sky-theme-switcher.js +43 -0
  308. package/dist/sky-theme-switcher/sky-theme-switcher.js.map +1 -0
  309. package/dist/sky-tooltip/index.d.ts +1 -0
  310. package/dist/sky-tooltip/index.js +1 -0
  311. package/dist/sky-tooltip/sky-tooltip.d.ts +156 -0
  312. package/dist/sky-tooltip/sky-tooltip.js +242 -0
  313. package/dist/sky-tooltip/sky-tooltip.js.map +1 -0
  314. package/package.json +475 -0
  315. package/plugins/rollup-plugin.d.ts +19 -0
  316. package/plugins/rollup-plugin.js +129 -0
  317. package/plugins/vite-plugin.d.ts +22 -0
  318. package/plugins/vite-plugin.js +116 -0
  319. package/plugins/webpack-plugin.d.ts +12 -0
  320. package/plugins/webpack-plugin.js +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-button.js","sources":["../../src/sky-button/sky-button.ts"],"sourcesContent":[null],"names":["SkyButton","LitElement","this","dependencies","SkyIcon","formAssociated","styles","css","constructor","super","variant","color","type","form","size","radius","label","disabled","loading","iconL","iconR","iconOnly","colors","animation","inGroup","_hasMeaningfulSlot","_styleVars","_onSlotChange","e","slot","target","next","_slotHasMeaningfulContent","internals","attachInternals","slotEl","assignedNodes","flatten","some","n","nodeType","Node","ELEMENT_NODE","textContent","trim","length","_toSquarePadding","padding","py","parseFloat","split","Number","isFinite","_resolveSize","input","presets","xs","fontSize","gap","icon","spinner","sm","md","lg","xl","m","String","match","unit","fsNum","fs","to","Math","round","clamp","min","max","px","willUpdate","changedProperties","p","has","Object","keys","baseColor","resolveColor","textColor","resolveTextColorForToken","variantDefaults","solid","bg","border","shadow","hoverBg","hoverColor","hoverShadow","faded","hoverBorder","bordered","hoverShade","transparent","fadeMix","flat","ghost","skyBorderPrimaryShorthand","relief","darkShade","gradient","createGradient","link","current","v","tuneSurfaceVariantForDefaultColor","animationMode","chosen","hover","active","presetToTransform","hoverTransform","activeTransform","s","basePadding","baseGap","borderWidth","hasBorder2","hasBorder1","includes","parseInt","hoverBorderWidth","adjustedPadding","paddingParts","all","vertical","horizontal","adjustedVertical","top","right","bottom","left","iconPx","btnMinHeight","btnMinWidth","side","paddingValues","vars","resolveRadius","focusButton","renderRoot","querySelector","focus","clickButton","click","_createRipple","event","button","currentTarget","rect","getBoundingClientRect","ripple","document","createElement","offsetWidth","offsetHeight","x","clientX","y","clientY","style","width","height","getComputedStyle","backgroundColor","isLightBg","background","className","existing","querySelectorAll","remove","appendChild","addEventListener","formDisabledCallback","formOwner","formId","getElementById","closest","_handleClick","preventDefault","reset","requestSubmit","_iconOnlyName","render","iconOnlyName","ariaLabel","undefined","html","styleMap","ifDefined","when","nothing","__decorate","property","reflect","prototype","Boolean","state","eventOptions","passive","MouseEvent","customElement"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./sky-button-group";
@@ -0,0 +1 @@
1
+ export * from './sky-button-group.js';
@@ -0,0 +1,93 @@
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
+ }
@@ -0,0 +1,281 @@
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 non-ghost and non-gradient */
130
+ :host(: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([variant="ghost"]):not([variant="gradient"]))
135
+ ::slotted(sky-button:not(:first-child)),
136
+ :host(: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([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([variant="ghost"]):not([variant="gradient"]))
146
+ ::slotted(sky-button:not(:first-child)),
147
+ :host(:dir(rtl):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
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1 @@
1
+ export * from "./sky-card";
@@ -0,0 +1 @@
1
+ export * from './sky-card.js';
@@ -0,0 +1,143 @@
1
+ import { LitElement, PropertyValues } from "lit";
2
+ export type SkyCardElevation = "none" | "sm" | "md" | "lg";
3
+ export type SkyCardSectionLayout = "inline" | "stack";
4
+ export type SkyCardSectionTarget = "both" | "header" | "footer" | "none";
5
+ /**
6
+ * @element sky-card
7
+ *
8
+ * @summary Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators.
9
+ *
10
+ * @status stable
11
+ * @since 1.0.0
12
+ *
13
+ * @documentation https://library.sky-ui.com/components/card
14
+ *
15
+ * @slot - Default slot for the card body content (replaces `bodyPadding` property if used).
16
+ * @slot title - Slot for the card title.
17
+ * @slot subtitle - Slot for the card subtitle.
18
+ * @slot actions - Slot for the card actions (usually buttons).
19
+ * @slot footer-title - Slot for the footer title.
20
+ * @slot footer-subtitle - Slot for the footer subtitle.
21
+ * @slot footer-actions - Slot for the footer actions (usually buttons).
22
+ *
23
+ * @csspart card - The main card container element.
24
+ * @csspart header - The card header section.
25
+ * @csspart footer - The card footer section.
26
+ * @csspart ripple - The ripple animation element injected when the card is clicked.
27
+ *
28
+ * @property {string} bg - Background color of the card. Accepts color tokens or custom CSS colors. Default: `"primary"`.
29
+ * @property {string} blurLevel - Level of blur applied to the background. Default: `"none"`.
30
+ * @property {string} radius - Border radius of the card. Default: `"md"`.
31
+ * @property {string} bodyPadding - Padding for the card body. Default: `"none"`.
32
+ * @property {SkyCardElevation} elevation - Shadow depth of the card. Default: `"md"`.
33
+ * @property {boolean} outlined - Whether the card has an outline. Default: `false`.
34
+ * @property {boolean} clickable - Whether the card is clickable. Default: `false`.
35
+ * @property {string} headerBg - Background color of the header. Default: `"transparent"`.
36
+ * @property {string} headerBlur - Blur level for the header background. Default: `"none"`.
37
+ * @property {string} headerPadding - Padding for the header. Default: `"md"`.
38
+ * @property {SkyCardSectionLayout} headerLayout - Layout of the header content. Default: `"inline"`.
39
+ * @property {string} headerInsetGap - Inset gap for the header section. Default: `"sm"`.
40
+ * @property {string} headerRadius - Border radius for the header. Default: `"md"`.
41
+ * @property {string} headerSeparatorColor - Color for the header separator. Default: `"border-light"`.
42
+ * @property {string} footerBg - Background color of the footer. Default: `"transparent"`.
43
+ * @property {string} footerBlur - Blur level for the footer background. Default: `"none"`.
44
+ * @property {string} footerPadding - Padding for the footer. Default: `"md"`.
45
+ * @property {SkyCardSectionLayout} footerLayout - Layout of the footer content. Default: `"inline"`.
46
+ * @property {string} footerInsetGap - Inset gap for the footer section. Default: `"sm"`.
47
+ * @property {string} footerRadius - Border radius for the footer. Default: `"md"`.
48
+ * @property {string} footerSeparatorColor - Color for the footer separator. Default: `"border-light"`.
49
+ * @property {number} padRatio - Ratio to adjust padding. Default: `1`.
50
+ * @property {SkyCardSectionTarget} separators - Determines where separators should appear. Default: `"none"`.
51
+ * @property {SkyCardSectionTarget} overlays - Determines where overlays should appear. Default: `"none"`.
52
+ * @property {SkyCardSectionTarget} insets - Determines where insets should appear. Default: `"none"`.
53
+ * @method refreshLayout Recomputes card variables and section synchronization.
54
+ *
55
+ * @example
56
+ * ```html
57
+ * <sky-card bg="primary" elevation="lg" headerpadding="md">
58
+ * <span slot="title">Monthly Report</span>
59
+ * <span slot="subtitle">April 2026</span>
60
+ * <div>Total revenue increased by 18%.</div>
61
+ * <button slot="actions">View Details</button>
62
+ * </sky-card>
63
+ * ```
64
+ * ```vue
65
+ * <template>
66
+ * <sky-card bg="primary" elevation="lg" headerpadding="md">
67
+ * <span slot="title">Monthly Report</span>
68
+ * <span slot="subtitle">April 2026</span>
69
+ * <div>Total revenue increased by 18%.</div>
70
+ * <button slot="actions">View Details</button>
71
+ * </sky-card>
72
+ * </template>
73
+ * ```
74
+ * ```jsx
75
+ * export default function Demo() {
76
+ * return (
77
+ * <sky-card bg="primary" elevation="lg" headerpadding="md">
78
+ * <span slot="title">Monthly Report</span>
79
+ * <span slot="subtitle">April 2026</span>
80
+ * <div>Total revenue increased by 18%.</div>
81
+ * <button slot="actions">View Details</button>
82
+ * </sky-card>
83
+ * );
84
+ * }
85
+ * ```
86
+ */
87
+ export declare class SkyCard extends LitElement {
88
+ bg: string;
89
+ blurLevel: string;
90
+ radius: string;
91
+ bodyPadding: string;
92
+ elevation: SkyCardElevation;
93
+ outlined: boolean;
94
+ clickable: boolean;
95
+ headerBg: string;
96
+ headerBlur: string;
97
+ headerPadding: string;
98
+ headerLayout: SkyCardSectionLayout;
99
+ headerInsetGap: string;
100
+ headerRadius: string;
101
+ headerSeparatorColor: string;
102
+ footerBg: string;
103
+ footerBlur: string;
104
+ footerPadding: string;
105
+ footerLayout: SkyCardSectionLayout;
106
+ footerInsetGap: string;
107
+ footerRadius: string;
108
+ footerSeparatorColor: string;
109
+ padRatio: number;
110
+ separators: SkyCardSectionTarget;
111
+ overlays: SkyCardSectionTarget;
112
+ insets: SkyCardSectionTarget;
113
+ private _effHeaderSeparator;
114
+ private _effFooterSeparator;
115
+ private _effHeaderOverlay;
116
+ private _effFooterOverlay;
117
+ private _effHeaderInset;
118
+ private _effFooterInset;
119
+ private _varsCache;
120
+ private static readonly BG_MAP;
121
+ private static readonly BLUR_MAP;
122
+ private static readonly SIZE_MAP;
123
+ private static readonly ELEVATION_MAP;
124
+ static styles: import("lit").CSSResult;
125
+ firstUpdated(): void;
126
+ protected willUpdate(changed: PropertyValues): void;
127
+ private _wireSlotChangeHandlers;
128
+ private _syncHeader;
129
+ private _syncFooter;
130
+ private _expandPair;
131
+ private _computeEffectiveFlags;
132
+ private _setVar;
133
+ private _applyCardVars;
134
+ private _applyPaddingVars;
135
+ private _applySectionChrome;
136
+ /**
137
+ * Recomputes card variables and section synchronization.
138
+ *
139
+ * @returns {void}
140
+ */
141
+ refreshLayout(): void;
142
+ render(): import("lit-html").TemplateResult<1>;
143
+ }