@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,233 @@
1
+ import{__decorate as e,__metadata as t}from"tslib";import{LitElement as i,css as s,html as r}from"lit";import{property as a,customElement as d}from"lit/decorators.js";import{resolveRadius as l}from"../helper/utils/size-resolver.js";import{classMap as n}from"lit/directives/class-map.js";import{repeat as m}from"lit/directives/repeat.js";let o=class extends i{constructor(){super(...arguments),this.type="default",this.loading=!1,this.width="100%",this.height="40px",this.radius="md"}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-busy",String(this.loading))}static{this.styles=s`
2
+ :host {
3
+ display: block;
4
+ width: 100%;
5
+ height: 100%;
6
+ }
7
+
8
+ .container {
9
+ display: block;
10
+ height: 100%;
11
+ }
12
+
13
+ .skeleton-wrapper,
14
+ .slot-wrapper {
15
+ transition:
16
+ opacity 0.4s ease,
17
+ visibility 0.4s ease;
18
+ height: 100%;
19
+ }
20
+
21
+ .visible {
22
+ opacity: 1;
23
+ pointer-events: auto;
24
+ visibility: visible;
25
+ }
26
+
27
+ .hidden {
28
+ opacity: 0;
29
+ pointer-events: none;
30
+ visibility: hidden;
31
+ display: none;
32
+ }
33
+
34
+ .skeleton-container {
35
+ display: flex;
36
+ flex-direction: column;
37
+ justify-content: center;
38
+ align-items: center;
39
+ gap: 8px;
40
+
41
+ box-sizing: border-box;
42
+ height: 100%;
43
+ }
44
+
45
+ .skeleton {
46
+ position: relative;
47
+ overflow: hidden;
48
+ background-color: var(--sky-hover-tertiary);
49
+ width: 100%;
50
+ height: 100%;
51
+ }
52
+
53
+ .skeleton::after {
54
+ content: "";
55
+ position: absolute;
56
+ top: 0;
57
+ left: 0;
58
+ width: 100%;
59
+ height: 100%;
60
+ background-image: linear-gradient(
61
+ 90deg,
62
+ rgba(255, 255, 255, 0),
63
+ var(--sky-hover-primary),
64
+ rgba(255, 255, 255, 0)
65
+ );
66
+ animation: shimmer 1.5s infinite;
67
+ }
68
+
69
+ @keyframes shimmer {
70
+ 0% {
71
+ transform: translateX(-100%);
72
+ }
73
+ 100% {
74
+ transform: translateX(100%);
75
+ }
76
+ }
77
+
78
+ .circle {
79
+ border-radius: 50%;
80
+ }
81
+ .text {
82
+ height: 0.8em;
83
+ margin-bottom: 0.1em;
84
+ border-radius: 4px;
85
+ }
86
+ .text.short {
87
+ width: 60%;
88
+ }
89
+ .text.medium {
90
+ width: 80%;
91
+ }
92
+ .text.long {
93
+ width: 100%;
94
+ }
95
+ .chip {
96
+ border-radius: var(--sky-radius-secondary);
97
+ height: 24px;
98
+ width: 80px;
99
+ }
100
+ .button {
101
+ height: 36px;
102
+ width: 90px;
103
+ border-radius: var(--sky-radius-secondary);
104
+ }
105
+ .avatar {
106
+ height: 50px;
107
+ width: 50px;
108
+ border-radius: 50%;
109
+ }
110
+ .divider {
111
+ height: 1px;
112
+ width: 100%;
113
+ margin: 8px 0;
114
+ border-radius: 0px;
115
+ }
116
+ .image {
117
+ height: 150px;
118
+ width: 100%;
119
+ border-radius: var(--sky-radius-primary);
120
+ }
121
+ `}updated(e){super.updated(e),e.has("loading")&&this.setAttribute("aria-busy",String(this.loading))}render(){const e=this.type?this.type.split(",").map(e=>e.trim()):[],t=n({"skeleton-wrapper":!0,visible:this.loading,hidden:!this.loading}),i=n({"slot-wrapper":!0,visible:!this.loading,hidden:this.loading});return r`
122
+ <div class="container" part="container">
123
+ <div class=${t} part="skeleton-wrapper">
124
+ <div class="skeleton-container">
125
+ ${m(e,e=>e,e=>this.renderSkeleton(e))}
126
+ </div>
127
+ </div>
128
+ <div class=${i} part="slot-wrapper">
129
+ <slot></slot>
130
+ </div>
131
+ </div>
132
+ `}renderSkeleton(e){switch(e){case"avatar":return r`<div class="skeleton avatar" part="item shimmer"></div>`;case"button":return r`<div class="skeleton button" part="item shimmer"></div>`;case"chip":return r`<div class="skeleton chip" part="item shimmer"></div>`;case"divider":return r`<div class="skeleton divider" part="item shimmer"></div>`;case"image":return r`<div class="skeleton image" part="item shimmer"></div>`;case"heading":return r`<div
133
+ class="skeleton text long"
134
+ style="height:2.5em;"
135
+ part="item shimmer"
136
+ ></div>`;case"text":return r`<div class="skeleton text long" part="item shimmer"></div>`;case"paragraph":case"list-item-three-line":return r`<div
137
+ style="display:flex;flex-direction:column;gap:5px;width:100%"
138
+ >
139
+ <div class="skeleton text long" part="item shimmer"></div>
140
+ <div class="skeleton text medium" part="item shimmer"></div>
141
+ <div class="skeleton text short" part="item shimmer"></div>
142
+ </div>`;case"list-item-avatar":return r`<div
143
+ style="display:flex;align-items:center;gap:5px;width:100%"
144
+ >
145
+ <div class="skeleton avatar" part="item shimmer"></div>
146
+ <div class="skeleton text medium" part="item shimmer"></div>
147
+ </div>`;case"list-item-avatar-two-line":return r`<div
148
+ style="display:flex;align-items:center;gap:5px;width:100%"
149
+ >
150
+ <div class="skeleton avatar" part="item shimmer"></div>
151
+ <div style="flex:1">
152
+ <div class="skeleton text long" part="item shimmer"></div>
153
+ <div class="skeleton text medium" part="item shimmer"></div>
154
+ </div>
155
+ </div>`;case"list-item-avatar-three-line":return r`<div
156
+ style="display:flex;align-items:center;gap:5px;width:100%"
157
+ >
158
+ <div class="skeleton avatar" part="item shimmer"></div>
159
+ <div style="flex:1">
160
+ <div class="skeleton text long" part="item shimmer"></div>
161
+ <div class="skeleton text medium" part="item shimmer"></div>
162
+ <div class="skeleton text short" part="item shimmer"></div>
163
+ </div>
164
+ </div>`;case"list-item-two-line":return r`<div
165
+ style="display:flex;flex-direction:column;gap:5px;width:100%"
166
+ >
167
+ <div class="skeleton text long" part="item shimmer"></div>
168
+ <div class="skeleton text medium" part="item shimmer"></div>
169
+ </div>`;case"card":return r`<div
170
+ style="display:flex;flex-direction:column;gap:5px;width:100%"
171
+ >
172
+ <div class="skeleton image" part="item shimmer"></div>
173
+ <div style="padding:10px;">
174
+ <div class="skeleton text long" part="item shimmer"></div>
175
+ </div>
176
+ </div>`;case"actions":return r`<div style="display:flex;gap:5px;">
177
+ <div class="skeleton button" part="item shimmer"></div>
178
+ <div class="skeleton button" part="item shimmer"></div>
179
+ </div>`;case"table-row":return r`<div
180
+ style="display:flex;gap:2px;justify-content:space-between;padding:10px;width:100%"
181
+ >
182
+ <div class="skeleton text short" part="item shimmer"></div>
183
+ <div class="skeleton text long" part="item shimmer"></div>
184
+ <div class="skeleton text medium" part="item shimmer"></div>
185
+ </div>`;case"menu-item":return r`<div
186
+ style="display:flex;align-items:center;padding:10px;width:100%"
187
+ >
188
+ <div
189
+ class="skeleton circle"
190
+ style="width:0.8rem;height:0.8rem;"
191
+ part="item shimmer"
192
+ ></div>
193
+ <div
194
+ class="skeleton text long"
195
+ style="margin-left:10px;margin-bottom:unset"
196
+ part="item shimmer"
197
+ ></div>
198
+ </div>`;case"checkbox":return r`<div
199
+ style="display:flex;align-items:center;padding:10px;width:100%"
200
+ >
201
+ <div
202
+ class="skeleton"
203
+ style="width:0.8rem;height:0.8rem;border-radius:4px;"
204
+ part="item shimmer"
205
+ ></div>
206
+ <div
207
+ class="skeleton text medium"
208
+ style="margin-left:10px;margin-bottom:unset"
209
+ part="item shimmer"
210
+ ></div>
211
+ </div>`;case"switch":return r`<div
212
+ style="display:flex;align-items:center;padding:10px;width:100%"
213
+ >
214
+ <div
215
+ class="skeleton"
216
+ style="width:34px;height:14px;border-radius:8px;"
217
+ part="item shimmer"
218
+ ></div>
219
+ <div
220
+ class="skeleton text medium"
221
+ style="margin-left:10px;margin-bottom:unset"
222
+ part="item shimmer"
223
+ ></div>
224
+ </div>`;case"tabs":return r`<div style="display:flex;gap:5px;width:100%">
225
+ <div class="skeleton text medium" part="item shimmer"></div>
226
+ <div class="skeleton text medium" part="item shimmer"></div>
227
+ <div class="skeleton text medium" part="item shimmer"></div>
228
+ </div>`;default:return r`<div
229
+ class="skeleton"
230
+ part="item shimmer"
231
+ style="width:${this.width};height:${this.height};border-radius:${l(this.radius)}"
232
+ ></div>`}}};e([a({type:String}),t("design:type",Object)],o.prototype,"type",void 0),e([a({type:Boolean}),t("design:type",Object)],o.prototype,"loading",void 0),e([a({type:String}),t("design:type",Object)],o.prototype,"width",void 0),e([a({type:String}),t("design:type",Object)],o.prototype,"height",void 0),e([a({type:String}),t("design:type",Object)],o.prototype,"radius",void 0),o=e([d("sky-skeleton")],o);export{o as SkySkeleton};
233
+ //# sourceMappingURL=sky-skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-skeleton.js","sources":["../../src/sky-skeleton/sky-skeleton.ts"],"sourcesContent":[null],"names":["SkySkeleton","LitElement","constructor","this","type","loading","width","height","radius","connectedCallback","super","setAttribute","String","styles","css","updated","changed","has","render","types","split","map","t","trim","skeletonClasses","classMap","visible","hidden","slotClasses","html","repeat","renderSkeleton","resolveRadius","__decorate","property","prototype","Boolean","customElement"],"mappings":"iVAoEO,IAAMA,EAAN,cAA0BC,EAA1B,WAAAC,uBAEuBC,KAAAC,KAAO,UAEND,KAAAE,SAAU,EAEXF,KAAAG,MAAQ,OAERH,KAAAI,OAAS,OAETJ,KAAAK,OAAS,IA6TvC,CA3TW,iBAAAC,GACPC,MAAMD,oBACNN,KAAKQ,aAAa,YAAaC,OAAOT,KAAKE,SAC7C,QAEgBF,KAAAU,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwH1B,CAEiB,OAAAC,CAAQC,GACzBN,MAAMK,QAAQC,GACVA,EAAQC,IAAI,YACdd,KAAKQ,aAAa,YAAaC,OAAOT,KAAKE,SAE/C,CAES,MAAAa,GACP,MAAMC,EAAQhB,KAAKC,KAAOD,KAAKC,KAAKgB,MAAM,KAAKC,IAAKC,GAAMA,EAAEC,QAAU,GAChEC,EAAkBC,EAAS,CAC/B,oBAAoB,EACpBC,QAASvB,KAAKE,QACdsB,QAASxB,KAAKE,UAEVuB,EAAcH,EAAS,CAC3B,gBAAgB,EAChBC,SAAUvB,KAAKE,QACfsB,OAAQxB,KAAKE,UAEf,OAAOwB,CAAI;;qBAEML;;cAEPM,EAAOX,EAAQf,GAASA,EAAOA,GAASD,KAAK4B,eAAe3B;;;qBAGrDwB;;;;KAKnB,CAGQ,cAAAG,CAAe3B,GACrB,OAAQA,GACN,IAAK,SACH,OAAOyB,CAAI,0DACb,IAAK,SACH,OAAOA,CAAI,0DACb,IAAK,OACH,OAAOA,CAAI,wDACb,IAAK,UACH,OAAOA,CAAI,2DACb,IAAK,QACH,OAAOA,CAAI,yDACb,IAAK,UACH,OAAOA,CAAI;;;;iBAKb,IAAK,OACH,OAAOA,CAAI,6DACb,IAAK,YA2CL,IAAK,uBACH,OAAOA,CAAI;;;;;;gBApCb,IAAK,mBACH,OAAOA,CAAI;;;;;gBAMb,IAAK,4BACH,OAAOA,CAAI;;;;;;;;gBASb,IAAK,8BACH,OAAOA,CAAI;;;;;;;;;gBAUb,IAAK,qBACH,OAAOA,CAAI;;;;;gBAcb,IAAK,OACH,OAAOA,CAAI;;;;;;;gBAQb,IAAK,UACH,OAAOA,CAAI;;;gBAIb,IAAK,YACH,OAAOA,CAAI;;;;;;gBAOb,IAAK,YACH,OAAOA,CAAI;;;;;;;;;;;;;gBAcb,IAAK,WACH,OAAOA,CAAI;;;;;;;;;;;;;gBAcb,IAAK,SACH,OAAOA,CAAI;;;;;;;;;;;;;gBAcb,IAAK,OACH,OAAOA,CAAI;;;;gBAKb,QACE,OAAOA,CAAI;;;yBAGM1B,KAAKG,gBAAgBH,KAAKI,wBAAwByB,EAC/D7B,KAAKK;iBAIf,GApU4ByB,EAAA,CAA3BC,EAAS,CAAE9B,KAAMQ,kCAA2BZ,EAAAmC,UAAA,eAEhBF,EAAA,CAA5BC,EAAS,CAAE9B,KAAMgC,mCAA2BpC,EAAAmC,UAAA,kBAEjBF,EAAA,CAA3BC,EAAS,CAAE9B,KAAMQ,kCAAyBZ,EAAAmC,UAAA,gBAEfF,EAAA,CAA3BC,EAAS,CAAE9B,KAAMQ,kCAA0BZ,EAAAmC,UAAA,iBAEhBF,EAAA,CAA3BC,EAAS,CAAE9B,KAAMQ,kCAAwBZ,EAAAmC,UAAA,iBAV/BnC,EAAWiC,EAAA,CADvBI,EAAc,iBACFrC"}
@@ -0,0 +1 @@
1
+ export * from "./sky-slider";
@@ -0,0 +1 @@
1
+ export * from './sky-slider.js';
@@ -0,0 +1,96 @@
1
+ import { LitElement, PropertyValues } from "lit";
2
+ export type SkySliderValueChangedDetail = {
3
+ value: number;
4
+ };
5
+ /**
6
+ * @element sky-slider
7
+ *
8
+ * @summary Accessible range slider with optional commit-only behavior.
9
+ *
10
+ * @status stable
11
+ * @since 1.0.0
12
+ *
13
+ * @documentation https://library.sky-ui.com/components/slider
14
+ *
15
+ * @uiVModel value value-changed
16
+ *
17
+ * @slot - (No slots) — All content is internally rendered.
18
+ *
19
+ * @csspart container - The outer card-like wrapper.
20
+ * @csspart label - The text label shown at the top-left.
21
+ * @csspart value - The formatted value (prefix + number + suffix) shown at the top-right.
22
+ * @csspart slider-container - The wrapper around the range control.
23
+ * @csspart slider - The native `<input type="range">` element.
24
+ *
25
+ * @property {number} min - Minimum slider value.
26
+ * @property {number} max - Maximum slider value.
27
+ * @property {number} step - Step interval for value snapping.
28
+ * @property {number} value - Snapped component value.
29
+ * @property {number} displayValue - Live visual value while dragging.
30
+ * @property {string} label - Optional label shown above slider.
31
+ * @property {boolean} disabled - Disables slider interaction.
32
+ * @property {string} prefix - Text shown before formatted value.
33
+ * @property {string} suffix - Text shown after formatted value.
34
+ * @property {boolean} shadow - Adds glass border/shadow styling.
35
+ * @property {boolean} commitOnly - Emits changes only on commit.
36
+ * @property {boolean} showValue - Toggles value text visibility.
37
+ *
38
+ * @fires {CustomEvent<SkySliderValueChangedDetail>} value-changed - Fired when slider value changes.
39
+ * @method setValue Sets slider value programmatically.
40
+ *
41
+ * @Behavior
42
+ * - Uses `displayValue` for smooth dragging feedback.
43
+ * - Snaps emitted values to nearest step.
44
+ * - Supports live or commit-only updates via `commitOnly`.
45
+ *
46
+ * @example
47
+ * ```html
48
+ * <sky-slider label="CPU Limit" min="0" max="100" step="5" value="65" suffix="%" show-value shadow commit-only></sky-slider>
49
+ * ```
50
+ * ```vue
51
+ * <template>
52
+ * <sky-slider label="CPU Limit" :min="0" :max="100" :step="5" :value="65" suffix="%" show-value shadow commit-only></sky-slider>
53
+ * </template>
54
+ * ```
55
+ * ```jsx
56
+ * export default function Demo() {
57
+ * return <sky-slider label="CPU Limit" min={0} max={100} step={5} value={65} suffix="%" show-value shadow commit-only></sky-slider>;
58
+ * }
59
+ * ```
60
+ */
61
+ export declare class SkySlider extends LitElement {
62
+ /** Minimum value for the range slider. */
63
+ min: number;
64
+ /** Maximum value for the range slider. */
65
+ max: number;
66
+ /** Step interval for the range slider. */
67
+ step: number;
68
+ /** Current snapped value of the range slider. */
69
+ value: number;
70
+ /**
71
+ * Continuous visual value for smoother interaction.
72
+ * Mirrors `value` until the user drags the thumb.
73
+ */
74
+ displayValue: number;
75
+ /** Label for the range slider. */
76
+ label: string;
77
+ /** Disables the range slider when true. */
78
+ disabled: boolean;
79
+ /** Prefix to display before the value. */
80
+ prefix: string;
81
+ /** Suffix to display after the value. */
82
+ suffix: string;
83
+ /** Whether to show shadow/glass border on the container. */
84
+ shadow: boolean;
85
+ /** If true, only updates `value` on commit (not during drag). */
86
+ commitOnly: boolean;
87
+ /** If true, shows the value label; otherwise hides it. */
88
+ showValue: boolean;
89
+ constructor();
90
+ static styles: import("lit").CSSResult;
91
+ willUpdate(changedProps: PropertyValues): void;
92
+ private handleInput;
93
+ private handleChange;
94
+ setValue(nextValue: number): void;
95
+ render(): import("lit-html").TemplateResult<1>;
96
+ }
@@ -0,0 +1,139 @@
1
+ import{__decorate as e,__metadata as t}from"tslib";import{LitElement as i,css as s,html as a}from"lit";import{property as r,customElement as o}from"lit/decorators.js";import{when as n}from"lit/directives/when.js";let l=class extends i{constructor(){super(),this.min=0,this.max=100,this.step=1,this.value=50,this.displayValue=this.value,this.label="",this.disabled=!1,this.prefix="",this.suffix="",this.shadow=!1,this.commitOnly=!1,this.showValue=!0,this.displayValue=this.value}static{this.styles=s`
2
+ :host {
3
+ display: block;
4
+ font-family: var(--sky-font);
5
+ width: 100%;
6
+ font-weight: 400;
7
+ }
8
+
9
+ .range-container {
10
+ display: flex;
11
+ flex-direction: column;
12
+ align-items: flex-start;
13
+ width: 100%;
14
+ padding: 8px;
15
+ gap: 4px;
16
+ box-sizing: border-box;
17
+ position: relative;
18
+ border-radius: var(--sky-radius-primary);
19
+ }
20
+
21
+ /* When shadow=true, apply glass styling */
22
+ .range-container[shadow] {
23
+ background: var(--sky-glass-primary);
24
+ box-shadow: var(--sky-box-shadow-primary);
25
+ border: var(--sky-border-primary);
26
+
27
+ }
28
+
29
+ .range-container[shadow]::before {
30
+ content: "";
31
+ position: absolute;
32
+ inset: 0;
33
+ z-index: -1;
34
+ border-radius: inherit;
35
+ backdrop-filter: var(--sky-blur-primary) var(--sky-brightness-primary)
36
+ var(--sky-saturation-primary);
37
+ -webkit-backdrop-filter: var(--sky-blur-primary)
38
+ var(--sky-brightness-primary) var(--sky-saturation-primary);
39
+ }
40
+
41
+ .range-label {
42
+ font-size: 14px;
43
+ color: var(--sky-text-primary);
44
+ }
45
+
46
+ input[type="range"] {
47
+ -webkit-appearance: none;
48
+ appearance: none;
49
+ width: 100%;
50
+ height: 3px;
51
+ background: var(--sky-hover-primary);
52
+ border-radius: 6px;
53
+ outline: none;
54
+ margin: 0;
55
+ padding: 0;
56
+ cursor: pointer;
57
+ transition: background 0.3s ease;
58
+ }
59
+
60
+ input[type="range"]::-webkit-slider-thumb {
61
+ -webkit-appearance: none;
62
+ appearance: none;
63
+ width: 14px;
64
+ height: 14px;
65
+ background: var(--sky-glass-solid);
66
+ border: 5px solid var(--sky-active-primary-dark);
67
+ border-radius: 50%;
68
+ cursor: pointer;
69
+ box-shadow: var(--sky-box-shadow-primary);
70
+ transition:
71
+ transform 0.3s ease,
72
+ box-shadow 0.3s ease;
73
+ }
74
+
75
+ input[type="range"]:hover::-webkit-slider-thumb {
76
+ transform: scale(1.1);
77
+ }
78
+
79
+ .prefix,
80
+ .suffix {
81
+ color: var(--sky-text-secondary);
82
+ font-size: 14px;
83
+ }
84
+
85
+ .range-value {
86
+ font-size: 14px;
87
+ color: var(--sky-text-primary);
88
+ }
89
+
90
+ .range-container[disabled] {
91
+ pointer-events: none;
92
+ opacity: 0.6;
93
+ }
94
+
95
+ .slider-container {
96
+ display: flex;
97
+ align-items: center;
98
+ width: 100%;
99
+ height: 14px;
100
+ }
101
+ `}willUpdate(e){e.has("value")&&this.displayValue!==this.value&&(this.displayValue=this.value)}handleInput(e){const t=Number(e.target.value);if(this.displayValue!==t&&(this.displayValue=t),!this.commitOnly){const e=this.step>0?this.step:1,i=Math.round(t/e)*e;this.value!==i&&(this.value=i,this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.value},bubbles:!0,composed:!0})))}}handleChange(e){if(this.commitOnly){const t=Number(e.target.value),i=this.step>0?this.step:1,s=Math.round(t/i)*i;this.value!==s&&(this.value=s,this.displayValue=this.value,this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.value},bubbles:!0,composed:!0})))}}setValue(e){const t=Math.min(this.max,Math.max(this.min,e)),i=this.step>0?this.step:1,s=Math.round(t/i)*i;this.value===s&&this.displayValue===s||(this.value=s,this.displayValue=s,this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:this.value},bubbles:!0,composed:!0})))}render(){const e=this.displayValue.toFixed(this.step<1?2:0);return a`
102
+ <div
103
+ class="range-container"
104
+ part="container"
105
+ ?disabled="${this.disabled}"
106
+ ?shadow="${this.shadow}"
107
+ aria-disabled="${this.disabled?"true":"false"}"
108
+ >
109
+ ${n(this.showValue||""!==this.label,()=>a`
110
+ <div
111
+ style="display:flex;align-items:center;gap:5px;justify-content:space-between;width:100%;"
112
+ >
113
+ ${n(this.label,()=>a`<div class="range-label" part="label">${this.label}</div>`)}
114
+ ${n(this.showValue,()=>a`
115
+ <div class="range-value" part="value">
116
+ <span class="prefix"> ${this.prefix} </span>
117
+ ${e}
118
+ <span class="suffix"> ${this.suffix} </span>
119
+ </div>
120
+ `)}
121
+ </div>
122
+ `)}
123
+ <div class="slider-container" part="slider-container">
124
+ <input
125
+ part="slider"
126
+ type="range"
127
+ min="${this.min}"
128
+ max="${this.max}"
129
+ step="${this.step}"
130
+ .value="${String(this.displayValue)}"
131
+ @input="${this.handleInput}"
132
+ @change="${this.handleChange}"
133
+ ?disabled="${this.disabled}"
134
+ aria-label="${this.label||"Slider"}"
135
+ />
136
+ </div>
137
+ </div>
138
+ `}};e([r({type:Number}),t("design:type",Object)],l.prototype,"min",void 0),e([r({type:Number}),t("design:type",Object)],l.prototype,"max",void 0),e([r({type:Number}),t("design:type",Object)],l.prototype,"step",void 0),e([r({type:Number}),t("design:type",Object)],l.prototype,"value",void 0),e([r({type:Number}),t("design:type",Number)],l.prototype,"displayValue",void 0),e([r({type:String}),t("design:type",Object)],l.prototype,"label",void 0),e([r({type:Boolean,reflect:!0}),t("design:type",Object)],l.prototype,"disabled",void 0),e([r({type:String}),t("design:type",Object)],l.prototype,"prefix",void 0),e([r({type:String}),t("design:type",Object)],l.prototype,"suffix",void 0),e([r({type:Boolean,reflect:!0}),t("design:type",Object)],l.prototype,"shadow",void 0),e([r({type:Boolean,reflect:!0}),t("design:type",Object)],l.prototype,"commitOnly",void 0),e([r({type:Boolean,reflect:!0}),t("design:type",Object)],l.prototype,"showValue",void 0),l=e([o("sky-slider"),t("design:paramtypes",[])],l);export{l as SkySlider};
139
+ //# sourceMappingURL=sky-slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-slider.js","sources":["../../src/sky-slider/sky-slider.ts"],"sourcesContent":[null],"names":["SkySlider","LitElement","constructor","super","this","min","max","step","value","displayValue","label","disabled","prefix","suffix","shadow","commitOnly","showValue","styles","css","willUpdate","changedProps","has","handleInput","event","rawValue","Number","target","snapped","Math","round","dispatchEvent","CustomEvent","detail","bubbles","composed","handleChange","newValue","setValue","nextValue","clamped","render","formatted","toFixed","html","when","String","__decorate","property","type","prototype","Boolean","reflect","customElement"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./sky-speeddial";
@@ -0,0 +1 @@
1
+ export * from './sky-speeddial.js';
@@ -0,0 +1,86 @@
1
+ import { LitElement } from "lit";
2
+ export type SkySpeeddialDirection = "top" | "bottom" | "left" | "right";
3
+ export type SkySpeeddialToggleChangedDetail = {
4
+ open: boolean;
5
+ direction: SkySpeeddialDirection;
6
+ };
7
+ /**
8
+ * @element sky-speeddial
9
+ *
10
+ * @summary Floating action button that expands into contextual quick actions.
11
+ *
12
+ * @status stable
13
+ * @since 1.0.0
14
+ *
15
+ * @documentation https://library.sky-ui.com/components/speeddial
16
+ * @dependency sky-icon
17
+ *
18
+ * @uiVModel open toggle-changed
19
+ *
20
+ * @slot - Action buttons that appear when the speed dial is opened.
21
+ *
22
+ * @csspart fab - The circular FAB button that toggles the speed dial.
23
+ * @csspart actions - The container that holds the slotted action buttons.
24
+ *
25
+ * @property {boolean} open - Whether the action cluster is open.
26
+ * @property {SkySpeeddialDirection} direction - Preferred expansion direction.
27
+ * @property {string} fabIcon - Iconify icon used by the FAB button.
28
+ *
29
+ * @fires {CustomEvent<SkySpeeddialToggleChangedDetail>} toggle-changed - Fired when the dial open state changes.
30
+ * @method openMenu Opens the speed dial.
31
+ * @method closeMenu Closes the speed dial.
32
+ * @method toggleMenuState Toggles the speed dial state.
33
+ *
34
+ * @Behavior
35
+ * - Expands slotted actions around a central FAB.
36
+ * - Adjusts direction to keep action cluster in viewport.
37
+ * - Handles RTL-aware left/right direction transforms.
38
+ *
39
+ * @example
40
+ * ```html
41
+ * <sky-speeddial direction="top" fab-icon="material-symbols:add-rounded">
42
+ * <button aria-label="Create ticket">T</button>
43
+ * <button aria-label="Schedule deploy">D</button>
44
+ * <button aria-label="Open runbook">R</button>
45
+ * </sky-speeddial>
46
+ * ```
47
+ * ```vue
48
+ * <template>
49
+ * <sky-speeddial direction="top" fab-icon="material-symbols:add-rounded">
50
+ * <button aria-label="Create ticket">T</button>
51
+ * <button aria-label="Schedule deploy">D</button>
52
+ * <button aria-label="Open runbook">R</button>
53
+ * </sky-speeddial>
54
+ * </template>
55
+ * ```
56
+ * ```jsx
57
+ * export default function Demo() {
58
+ * return (
59
+ * <sky-speeddial direction="top" fab-icon="material-symbols:add-rounded">
60
+ * <button aria-label="Create ticket">T</button>
61
+ * <button aria-label="Schedule deploy">D</button>
62
+ * <button aria-label="Open runbook">R</button>
63
+ * </sky-speeddial>
64
+ * );
65
+ * }
66
+ * ```
67
+ */
68
+ export declare class SkySpeeddial extends LitElement {
69
+ static dependencies: Record<string, CustomElementConstructor>;
70
+ /** Whether the action cluster is open. */
71
+ open: boolean;
72
+ /** Preferred expansion direction. May auto-adjust based on viewport. */
73
+ direction: SkySpeeddialDirection;
74
+ /** Iconify name for the FAB icon. */
75
+ fabIcon: string;
76
+ static styles: import("lit").CSSResult;
77
+ firstUpdated(): void;
78
+ /** Ensure the chosen direction keeps actions within the viewport. */
79
+ private adjustDirection;
80
+ /** Toggle open/closed and emit lifecycle events. */
81
+ private toggleMenu;
82
+ openMenu(): void;
83
+ closeMenu(): void;
84
+ toggleMenuState(): void;
85
+ render(): import("lit-html").TemplateResult<1>;
86
+ }