@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-row.js","sources":["../../src/sky-row/sky-row.ts"],"sourcesContent":[null],"names":["SkyRow","LitElement","this","styles","css","render","html","__decorate","customElement"],"mappings":"yIAyDO,IAAMA,EAAN,cAAqBC,SACVC,KAAAC,OAASC,CAAG;;;;GAI1B,CAEO,MAAAC,GACP,OAAOC,CAAI,eACb,GATWN,EAAMO,EAAA,CADlBC,EAAc,YACFR"}
@@ -0,0 +1 @@
1
+ export * from "./sky-serial";
@@ -0,0 +1 @@
1
+ export * from './sky-serial.js';
@@ -0,0 +1,127 @@
1
+ import { PropertyValues } from "lit";
2
+ import { FormControlBase, FormState } from "../helper/internals/form-control-base";
3
+ export type SkySerialValidation = (value: string) => true | string;
4
+ export type SkySerialValueChangedDetail = {
5
+ value: string;
6
+ };
7
+ export type SkySerialValueClearedDetail = {
8
+ value: "";
9
+ };
10
+ export type SkySerialValidationErrorDetail = {
11
+ errors: string[];
12
+ };
13
+ /**
14
+ * @element sky-serial
15
+ *
16
+ * @summary Segmented serial/OTP input with separators, masking, and validation support.
17
+ *
18
+ * @status stable
19
+ * @since 1.0.0
20
+ *
21
+ * @documentation https://library.sky-ui.com/components/serial
22
+ *
23
+ * @uiVModel value value-changed
24
+ *
25
+ * @slot - (No slots) — Content is internally rendered.
26
+ *
27
+ * @csspart wrapper - The flex wrapper around groups and separators.
28
+ * @csspart group - A group of input boxes between separators.
29
+ * @csspart input - An individual digit/char input.
30
+ * @csspart separator - The visual separator between groups.
31
+ * @csspart error - The validation error text element.
32
+ *
33
+ * @property {number} length - Total number of character boxes.
34
+ * @property {string} separator - Separator character inserted between groups.
35
+ * @property {number[]} separatorPositions - Indices after which separators are inserted.
36
+ * @property {boolean} alphanumeric - Allows alphanumeric characters instead of digits only.
37
+ * @property {string} value - Canonical component value.
38
+ * @property {SkySerialValidation[]} validations - Validation functions that return `true` or an error message.
39
+ * @property {string[]} validationErrors - Collected validation messages.
40
+ * @property {boolean} showErrors - Controls error text rendering.
41
+ * @property {boolean} validationActive - Enables active validation state.
42
+ * @property {boolean} withSeparator - Includes separators in emitted `value`.
43
+ * @property {boolean} masked - Masks entered characters in input fields.
44
+ *
45
+ * @fires {CustomEvent<SkySerialValueChangedDetail>} value-changed - Fired when a committed value changes.
46
+ * @fires {CustomEvent<SkySerialValueClearedDetail>} value-cleared - Fired when `reset()` clears the value.
47
+ * @fires {CustomEvent<SkySerialValidationErrorDetail>} validation-error - Fired with current validation errors.
48
+ *
49
+ * @Behavior
50
+ * - Updates UI live while typing and emits `value-changed` only on commit.
51
+ * - Supports grouped input with optional separators in public value.
52
+ * - Integrates with `FormControlBase` for form value and validity synchronization.
53
+ *
54
+ * @example
55
+ * ```html
56
+ * <sky-serial length="10" separator="-" separator-positions="[3,6]" with-separator show-errors validation-active></sky-serial>
57
+ * ```
58
+ * ```vue
59
+ * <template>
60
+ * <sky-serial :length="10" separator="-" :separator-positions="[3,6]" with-separator show-errors validation-active></sky-serial>
61
+ * </template>
62
+ * ```
63
+ * ```jsx
64
+ * export default function Demo() {
65
+ * return <sky-serial length={10} separator="-" separator-positions={[3, 6]} with-separator show-errors validation-active></sky-serial>;
66
+ * }
67
+ * ```
68
+ */
69
+ export declare class SkySerial extends FormControlBase {
70
+ length: number;
71
+ separator: string;
72
+ /** raw indices AFTER which separator is inserted (e.g. [3,6] => 4-3-... style) */
73
+ separatorPositions: number[];
74
+ alphanumeric: boolean;
75
+ /**
76
+ * Canonical value (with or without separators based on withSeparator).
77
+ * NOTE: This is the "public" value string.
78
+ */
79
+ value: string;
80
+ validations: SkySerialValidation[];
81
+ validationErrors: string[];
82
+ showErrors: boolean;
83
+ validationActive: boolean;
84
+ withSeparator: boolean;
85
+ masked: boolean;
86
+ invalid: boolean;
87
+ /** Non-reactive buffer (unmasked chars only) */
88
+ private displayValues;
89
+ private _lastCommitted;
90
+ constructor();
91
+ static styles: import("lit").CSSResult;
92
+ firstUpdated(): void;
93
+ protected willUpdate(changed: PropertyValues<this>): void;
94
+ protected getFormValue(): FormState;
95
+ protected setValueFromFormState(state: FormState): void;
96
+ protected getValidityAnchor(): HTMLElement | undefined;
97
+ protected isEmpty(): boolean;
98
+ protected getNativeControl(): HTMLElement | null;
99
+ /**
100
+ * IMPORTANT: PURE — do not mutate reactive state here.
101
+ * Return first error string if any, else "".
102
+ */
103
+ protected validateForForm(): string;
104
+ protected onFormReset(): void;
105
+ /** Live typing updates display buffer + public value, but DOES NOT emit. */
106
+ private handleInput;
107
+ private handleKeydown;
108
+ private handlePaste;
109
+ /** Commit => validate, sync form value+validity, emit if changed */
110
+ protected commit(): void;
111
+ /** Clear all characters and emit once + form sync. */
112
+ reset(): void;
113
+ focus(): void;
114
+ /** Keep your public validateInput() API (manual validation trigger) */
115
+ validateInput(): boolean;
116
+ private computeValidationErrors;
117
+ /** Strip separators, enforce numeric/alphanumeric, clamp to length. */
118
+ private normalizeRaw;
119
+ private addSeparators;
120
+ private ensureDisplayBuffer;
121
+ private syncDisplayFromValue;
122
+ private getRawFromDisplay;
123
+ private applyInputsFromDisplay;
124
+ private applyInvalidClass;
125
+ private renderInputFields;
126
+ render(): import("lit-html").TemplateResult<1>;
127
+ }
@@ -0,0 +1,133 @@
1
+ import{__decorate as t,__metadata as i}from"tslib";import{css as s,html as a}from"lit";import{property as e,customElement as r}from"lit/decorators.js";import{live as o}from"lit/directives/live.js";import{FormControlBase as l}from"../helper/internals/form-control-base.js";let n=class extends l{constructor(){super(),this.length=10,this.separator="-",this.separatorPositions=[3],this.alphanumeric=!1,this.value="",this.validations=[],this.validationErrors=[],this.showErrors=!1,this.validationActive=!1,this.withSeparator=!1,this.masked=!1,this.invalid=!1,this.displayValues=[],this._lastCommitted="",this.addEventListener("focusout",t=>{if(!this.shadowRoot)return;const i=t.relatedTarget;!!i&&this.shadowRoot.contains(i)||this.commit()})}static{this.styles=s`
2
+ :host {
3
+ display: block;
4
+ font-family: var(--sky-font);
5
+ position: relative;
6
+ }
7
+
8
+ .input-wrapper {
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ gap: 8px;
12
+ align-items: center;
13
+ justify-content: center;
14
+ }
15
+
16
+ .input-wrapper.shake {
17
+ animation: shake 0.3s ease-in-out 1;
18
+ }
19
+
20
+ @keyframes shake {
21
+ 0% {
22
+ transform: translateX(0);
23
+ }
24
+ 25% {
25
+ transform: translateX(-3px);
26
+ }
27
+ 50% {
28
+ transform: translateX(3px);
29
+ }
30
+ 75% {
31
+ transform: translateX(-3px);
32
+ }
33
+ 100% {
34
+ transform: translateX(0);
35
+ }
36
+ }
37
+
38
+ .group {
39
+ display: flex;
40
+ gap: 8px;
41
+ }
42
+
43
+ input {
44
+ width: 20px;
45
+ height: 20px;
46
+ text-align: center;
47
+ font-size: var(--sky-font-size-md);
48
+ border-radius: var(--sky-radius-primary);
49
+ font-family: var(--sky-font);
50
+ padding: 5px;
51
+ border: var(--sky-border-primary);
52
+ box-shadow: var(--sky-box-shadow-primary);
53
+ backdrop-filter: var(--sky-blur-primary) var(--sky-brightness-primary)
54
+ var(--sky-saturation-primary);
55
+ -webkit-backdrop-filter: var(--sky-blur-primary)
56
+ var(--sky-brightness-primary) var(--sky-saturation-primary);
57
+ background: transparent;
58
+ color: var(--sky-text-primary);
59
+ transition: all 0.2s ease-in-out;
60
+ vertical-align: middle;
61
+
62
+ }
63
+
64
+ input.invalid {
65
+ box-shadow: 0 2px 12px
66
+ color-mix(in srgb, var(--sky-danger-primary) 30%, transparent);
67
+ }
68
+
69
+ input:focus {
70
+ outline: none;
71
+ border-color: transparent;
72
+ box-shadow: 0 2px 12px
73
+ color-mix(in srgb, var(--sky-active-primary) 30%, transparent);
74
+ }
75
+
76
+ .separator {
77
+ font-size: var(--sky-font-size-lg);
78
+ padding: 0 5px;
79
+ color: var(--sky-active-primary);
80
+ }
81
+
82
+ .error-message {
83
+ position: absolute;
84
+ font-size: var(--sky-font-size-xs);
85
+ color: var(--sky-danger-primary);
86
+ white-space: nowrap;
87
+ overflow: hidden;
88
+ text-overflow: ellipsis;
89
+ pointer-events: none;
90
+ margin-left: 5px;
91
+ width: 100%;
92
+ text-align: start;
93
+ }
94
+ :dir(rtl) .error-message {
95
+ right: 0;
96
+ margin-right: 5px;
97
+ margin-left: unset;
98
+ }
99
+ `}firstUpdated(){this.captureDefaultValue(this.value??""),this.ensureDisplayBuffer(),this.syncDisplayFromValue(),this.syncFormValue(),this.syncValidity()}willUpdate(t){if(t.has("length")||t.has("separator")||t.has("separatorPositions")||t.has("alphanumeric")||t.has("withSeparator")||t.has("value")){this.ensureDisplayBuffer();const i=this.normalizeRaw(this.value??""),s=this.withSeparator?this.addSeparators(i):i;(this.value??"")!==s&&(this.value=s),this.displayValues=Array.from({length:this.length},(t,s)=>i[s]??""),t.has("value")&&(this._lastCommitted=s)}}getFormValue(){if(!this.name||this.disabled)return null;const t=this.getRawFromDisplay();return this.withSeparator?this.addSeparators(t):t}setValueFromFormState(t){const i="string"==typeof t?t:"",s=this.normalizeRaw(i??""),a=this.withSeparator?this.addSeparators(s):s;this.value=a,this.ensureDisplayBuffer(),this.displayValues=Array.from({length:this.length},(t,i)=>s[i]??""),this._lastCommitted=a,queueMicrotask(()=>this.applyInputsFromDisplay())}getValidityAnchor(){return this.shadowRoot?.querySelector(".digit-input")??void 0}isEmpty(){return this.getRawFromDisplay().trim().length<this.length}getNativeControl(){return this.shadowRoot?.querySelector(".digit-input")??null}validateForForm(){const t=this.getRawFromDisplay(),i=this.withSeparator?this.addSeparators(t):t;return this.computeValidationErrors(i)[0]??""}onFormReset(){const t=this.normalizeRaw(this.defaultValue??""),i=this.withSeparator?this.addSeparators(t):t;this.value=i,this.validationErrors=[],this.validationActive=!1,this.invalid=!1,this.ensureDisplayBuffer(),this.displayValues=Array.from({length:this.length},(i,s)=>t[s]??""),this._lastCommitted=i,queueMicrotask(()=>{this.applyInputsFromDisplay(),this.applyInvalidClass(!1)})}handleInput(t,i){if(this.disabled||this.readonly)return void t.preventDefault();this.ensureDisplayBuffer();const s=this.shadowRoot?.querySelectorAll(".digit-input"),a=t.target,e=t,r=(("string"==typeof e.data?e.data:a.value)??"").slice(-1),o=this.alphanumeric?/^[a-zA-Z0-9]$/:/^[0-9]$/;if(r&&!o.test(r))return a.value="",this.displayValues[i]="",void(this.value=this.withSeparator?this.addSeparators(this.getRawFromDisplay()):this.getRawFromDisplay());this.displayValues[i]=r;const l=this.getRawFromDisplay();this.value=this.withSeparator?this.addSeparators(l):l,r&&s&&i<this.length-1&&s[i+1]?.focus(),r&&this.displayValues.every(t=>t.length>0)&&this.commit()}handleKeydown(t,i){const s=this.shadowRoot?.querySelectorAll(".digit-input");if(s)switch(t.key){case"Backspace":if(!s[i].value&&i>0)s[i-1].focus();else{this.ensureDisplayBuffer(),this.displayValues[i]="",s[i].value="";const t=this.getRawFromDisplay();this.value=this.withSeparator?this.addSeparators(t):t}break;case"ArrowLeft":i>0&&s[i-1].focus();break;case"ArrowRight":i<this.length-1&&s[i+1].focus();break;case"Enter":this.commit()}}handlePaste(t){if(this.disabled||this.readonly)return void t.preventDefault();t.preventDefault();const i=t.clipboardData?.getData("text")||"",s=this.normalizeRaw(i);this.ensureDisplayBuffer(),this.displayValues=Array.from({length:this.length},(t,i)=>s[i]??""),this.value=this.withSeparator?this.addSeparators(s):s,this.commit();const a=this.shadowRoot?.querySelectorAll(".digit-input");if(a){const t=this.displayValues.findIndex(t=>!t);a[t>=0?t:this.length-1].focus()}}commit(){if(this.disabled)return;const t=this.getRawFromDisplay(),i=this.withSeparator?this.addSeparators(t):t;this.validationActive=!0;const s=this.computeValidationErrors(i);this.validationErrors=s,this.dispatchEvent(new CustomEvent("validation-error",{detail:{errors:[...s]},bubbles:!0,composed:!0})),this.applyInvalidClass(s.length>0),this.invalid=s.length>0,this.syncFormValue(),this.syncValidity(),i!==this._lastCommitted&&(this._lastCommitted=i,this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:i},bubbles:!0,composed:!0})))}reset(){this.disabled||(this.validationErrors=[],this.validationActive=!1,this.invalid=!1,this.ensureDisplayBuffer(),this.displayValues=Array.from({length:this.length},()=>""),this.value=(this.withSeparator,""),this._lastCommitted="",queueMicrotask(()=>{this.applyInputsFromDisplay(),this.applyInvalidClass(!1)}),this.syncFormValue(),this.syncValidity(),this.dispatchEvent(new CustomEvent("value-cleared",{detail:{value:""},bubbles:!0,composed:!0})))}focus(){const t=this.shadowRoot?.querySelector(".digit-input"),i=this.shadowRoot?.querySelector(".input-wrapper");t&&(t.focus(),i&&(i.classList.remove("shake"),i.offsetWidth,i.classList.add("shake")))}validateInput(){this.validationActive=!0;const t=this.getRawFromDisplay(),i=this.withSeparator?this.addSeparators(t):t,s=this.computeValidationErrors(i);return this.validationErrors=s,this.dispatchEvent(new CustomEvent("validation-error",{detail:{errors:[...s]},bubbles:!0,composed:!0})),this.applyInvalidClass(s.length>0),this.toggleAttribute("aria-invalid",s.length>0),this.syncFormValue(),this.syncValidity(),0===s.length}computeValidationErrors(t){const i=[];if(this.getRawFromDisplay().length<this.length)return i;if(Array.isArray(this.validations)&&this.validations.length)for(let s=0;s<this.validations.length;s++)try{const a=this.validations[s](t);!0!==a&&i.push("string"==typeof a?a:`Validation ${s} failed.`)}catch(t){i.push(`Error in validation ${s}: ${String(t?.message??t)}`)}return i}normalizeRaw(t){const i=this.separator||"-",s=(t??"").replace(new RegExp(`\\${i}`,"g"),""),a=this.alphanumeric?/[a-zA-Z0-9]/g:/\d/g;return(s.match(a)??[]).join("").slice(0,this.length)}addSeparators(t){if(!t)return"";const i=t.split("");return(Array.isArray(this.separatorPositions)?this.separatorPositions:[]).forEach((t,s)=>{t<=i.length+s&&i.splice(t+s,0,this.separator)}),i.join("")}ensureDisplayBuffer(){if(this.displayValues.length!==this.length){const t=this.displayValues;this.displayValues=Array.from({length:this.length},(i,s)=>t[s]??"")}}syncDisplayFromValue(){const t=this.normalizeRaw(this.value??"");this.displayValues=Array.from({length:this.length},(i,s)=>t[s]??"")}getRawFromDisplay(){return(this.displayValues.join("")??"").slice(0,this.length)}applyInputsFromDisplay(){const t=this.shadowRoot?.querySelectorAll(".digit-input");t&&t.forEach((t,i)=>{t.value=this.displayValues[i]??""})}applyInvalidClass(t){const i=this.shadowRoot?.querySelectorAll(".digit-input");i&&i.forEach(i=>i.classList.toggle("invalid",t))}renderInputFields(){const t=[];let i=0,s=[];const e=Array.isArray(this.separatorPositions)?this.separatorPositions:[];for(let r=0;r<this.length;r++)e[i]===r&&(t.push(a`<div class="group" part="group">${s}</div>`),t.push(a`<span class="separator" part="separator"
100
+ >${this.separator}</span
101
+ >`),s=[],i++),s.push(a`
102
+ <input
103
+ class="digit-input"
104
+ part="input"
105
+ .type=${this.masked?"password":"text"}
106
+ maxlength="1"
107
+ inputmode=${this.alphanumeric?"text":"numeric"}
108
+ autocomplete=${"one-time-code"}
109
+ .value=${o(this.displayValues[r]??"")}
110
+ ?disabled=${this.disabled}
111
+ .readOnly=${this.readonly}
112
+ @input=${t=>this.handleInput(t,r)}
113
+ @keydown=${t=>this.handleKeydown(t,r)}
114
+ @paste=${t=>this.handlePaste(t)}
115
+ @change=${()=>this.commit()}
116
+ aria-invalid=${this.validationActive&&this.validationErrors.length>0?"true":"false"}
117
+ aria-label="Serial character ${r+1} of ${this.length}"
118
+ />
119
+ `);return s.length&&t.push(a`<div class="group" part="group">${s}</div>`),t}render(){return a`
120
+ <div
121
+ class="input-wrapper"
122
+ part="wrapper"
123
+ role="group"
124
+ aria-label="Serial input"
125
+ >
126
+ ${this.renderInputFields()}
127
+ </div>
128
+
129
+ ${this.showErrors&&this.validationErrors.length>0&&this.validationActive?a`<div class="error-message" part="error">
130
+ ${this.validationErrors[0]}
131
+ </div>`:""}
132
+ `}};t([e({type:Number}),i("design:type",Object)],n.prototype,"length",void 0),t([e({type:String}),i("design:type",Object)],n.prototype,"separator",void 0),t([e({type:Array}),i("design:type",Array)],n.prototype,"separatorPositions",void 0),t([e({type:Boolean}),i("design:type",Object)],n.prototype,"alphanumeric",void 0),t([e({type:String}),i("design:type",Object)],n.prototype,"value",void 0),t([e({type:Array}),i("design:type",Array)],n.prototype,"validations",void 0),t([e({type:Array}),i("design:type",Array)],n.prototype,"validationErrors",void 0),t([e({type:Boolean}),i("design:type",Object)],n.prototype,"showErrors",void 0),t([e({type:Boolean,reflect:!0}),i("design:type",Object)],n.prototype,"validationActive",void 0),t([e({type:Boolean}),i("design:type",Object)],n.prototype,"withSeparator",void 0),t([e({type:Boolean}),i("design:type",Object)],n.prototype,"masked",void 0),t([e({type:Boolean,reflect:!0}),i("design:type",Boolean)],n.prototype,"invalid",void 0),n=t([r("sky-serial"),i("design:paramtypes",[])],n);export{n as SkySerial};
133
+ //# sourceMappingURL=sky-serial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-serial.js","sources":["../../src/sky-serial/sky-serial.ts"],"sourcesContent":[null],"names":["SkySerial","FormControlBase","constructor","super","this","length","separator","separatorPositions","alphanumeric","value","validations","validationErrors","showErrors","validationActive","withSeparator","masked","invalid","displayValues","_lastCommitted","addEventListener","e","shadowRoot","related","relatedTarget","contains","commit","styles","css","firstUpdated","captureDefaultValue","ensureDisplayBuffer","syncDisplayFromValue","syncFormValue","syncValidity","willUpdate","changed","has","raw","normalizeRaw","canonical","addSeparators","Array","from","_","i","getFormValue","name","disabled","getRawFromDisplay","setValueFromFormState","state","s","queueMicrotask","applyInputsFromDisplay","getValidityAnchor","querySelector","undefined","isEmpty","trim","getNativeControl","validateForForm","valueToValidate","computeValidationErrors","onFormReset","defaultValue","applyInvalidClass","handleInput","index","readonly","preventDefault","inputs","querySelectorAll","target","ie","char","data","slice","isValid","test","rawValue","focus","every","c","handleKeydown","key","handlePaste","clipboardData","getData","firstEmptyIdx","findIndex","errors","dispatchEvent","CustomEvent","detail","bubbles","composed","reset","first","wrapper","classList","remove","offsetWidth","add","validateInput","toggleAttribute","isArray","r","push","err","String","message","v","sep","noSeps","replace","RegExp","allowed","match","join","chars","split","forEach","pos","splice","old","inp","isInvalid","toggle","renderInputFields","fields","separatorIndex","group","positions","html","live","render","__decorate","property","type","Number","prototype","Boolean","reflect","customElement"],"mappings":"gRAsEO,IAAMA,EAAN,cAAwBC,EA4B7B,WAAAC,GACEC,QA5B0BC,KAAAC,OAAS,GACTD,KAAAE,UAAY,IAEbF,KAAAG,mBAA+B,CAAC,GAE9BH,KAAAI,cAAe,EAMhBJ,KAAAK,MAAQ,GAETL,KAAAM,YAAqC,GACrCN,KAAAO,iBAA6B,GAC3BP,KAAAQ,YAAa,EACER,KAAAS,kBAAmB,EAElCT,KAAAU,eAAgB,EAChBV,KAAAW,QAAS,EACMX,KAAAY,SAAmB,EAGvDZ,KAAAa,cAA0B,GAE1Bb,KAAAc,eAAiB,GAMvBd,KAAKe,iBAAiB,WAAaC,IACjC,IAAKhB,KAAKiB,WAAY,OACtB,MAAMC,EAAWF,EAAiBG,gBACZD,GAAWlB,KAAKiB,WAAWG,SAASF,IACxClB,KAAKqB,UAE3B,QAEgBrB,KAAAsB,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkG1B,CAEO,YAAAC,GAEPxB,KAAKyB,oBAAoBzB,KAAKK,OAAS,IAEvCL,KAAK0B,sBACL1B,KAAK2B,uBAEL3B,KAAK4B,gBACL5B,KAAK6B,cACP,CAEmB,UAAAC,CAAWC,GAC5B,GACEA,EAAQC,IAAI,WACZD,EAAQC,IAAI,cACZD,EAAQC,IAAI,uBACZD,EAAQC,IAAI,iBACZD,EAAQC,IAAI,kBACZD,EAAQC,IAAI,SACZ,CAEAhC,KAAK0B,sBAEL,MAAMO,EAAMjC,KAAKkC,aAAalC,KAAKK,OAAS,IACtC8B,EAAYnC,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,GAG5DjC,KAAKK,OAAS,MAAQ8B,IAAWnC,KAAKK,MAAQ8B,GAGnDnC,KAAKa,cAAgBwB,MAAMC,KACzB,CAAErC,OAAQD,KAAKC,QACf,CAACsC,EAAGC,IAAMP,EAAIO,IAAM,IAIlBT,EAAQC,IAAI,WAAUhC,KAAKc,eAAiBqB,EAClD,CACF,CAMmB,YAAAM,GACjB,IAAKzC,KAAK0C,MAAQ1C,KAAK2C,SAAU,OAAO,KAGxC,MAAMV,EAAMjC,KAAK4C,oBACjB,OAAO5C,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,CACxD,CAEmB,qBAAAY,CAAsBC,GACvC,MAAMC,EAAqB,iBAAVD,EAAqBA,EAAQ,GACxCb,EAAMjC,KAAKkC,aAAaa,GAAK,IAC7BZ,EAAYnC,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,EAEjEjC,KAAKK,MAAQ8B,EACbnC,KAAK0B,sBACL1B,KAAKa,cAAgBwB,MAAMC,KACzB,CAAErC,OAAQD,KAAKC,QACf,CAACsC,EAAGC,IAAMP,EAAIO,IAAM,IAEtBxC,KAAKc,eAAiBqB,EAGtBa,eAAe,IAAMhD,KAAKiD,yBAC5B,CAEmB,iBAAAC,GACjB,OACElD,KAAKiB,YAAYkC,cAAgC,sBACjDC,CAEJ,CAEmB,OAAAC,GAGjB,OADYrD,KAAK4C,oBACNU,OAAOrD,OAASD,KAAKC,MAClC,CAEmB,gBAAAsD,GAEjB,OACEvD,KAAKiB,YAAYkC,cAAgC,iBAAmB,IAExE,CAMmB,eAAAK,GACjB,MAAMvB,EAAMjC,KAAK4C,oBACXa,EAAkBzD,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,EAEvE,OADejC,KAAK0D,wBAAwBD,GAC9B,IAAM,EACtB,CAEmB,WAAAE,GACjB,MAAM1B,EAAMjC,KAAKkC,aAAalC,KAAK4D,cAAgB,IAC7CzB,EAAYnC,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,EAEjEjC,KAAKK,MAAQ8B,EACbnC,KAAKO,iBAAmB,GACxBP,KAAKS,kBAAmB,EACxBT,KAAKY,SAAU,EAEfZ,KAAK0B,sBACL1B,KAAKa,cAAgBwB,MAAMC,KACzB,CAAErC,OAAQD,KAAKC,QACf,CAACsC,EAAGC,IAAMP,EAAIO,IAAM,IAGtBxC,KAAKc,eAAiBqB,EAEtBa,eAAe,KACbhD,KAAKiD,yBACLjD,KAAK6D,mBAAkB,IAE3B,CAOQ,WAAAC,CAAY9C,EAAU+C,GAC5B,GAAI/D,KAAK2C,UAAY3C,KAAKgE,SAExB,YADAhD,EAAEiD,iBAIJjE,KAAK0B,sBAEL,MAAMwC,EACJlE,KAAKiB,YAAYkD,iBAAmC,gBAChDC,EAASpD,EAAEoD,OAGXC,EAAKrD,EAELsD,IAD4B,iBAAZD,EAAGE,KAAoBF,EAAGE,KAAOH,EAAO/D,QAAU,IACrDmE,UAEbC,EAAUzE,KAAKI,aAAe,gBAAkB,UACtD,GAAIkE,IAASG,EAAQC,KAAKJ,GAMxB,OALAF,EAAO/D,MAAQ,GACfL,KAAKa,cAAckD,GAAS,QAC5B/D,KAAKK,MAAQL,KAAKU,cACdV,KAAKoC,cAAcpC,KAAK4C,qBACxB5C,KAAK4C,qBAIX5C,KAAKa,cAAckD,GAASO,EAE5B,MAAMK,EAAW3E,KAAK4C,oBACtB5C,KAAKK,MAAQL,KAAKU,cAAgBV,KAAKoC,cAAcuC,GAAYA,EAE7DL,GAAQJ,GAAUH,EAAQ/D,KAAKC,OAAS,GAAGiE,EAAOH,EAAQ,IAAIa,QAG9DN,GAAQtE,KAAKa,cAAcgE,MAAOC,GAAMA,EAAE7E,OAAS,IACrDD,KAAKqB,QAET,CAEQ,aAAA0D,CAAc/D,EAAkB+C,GACtC,MAAMG,EACJlE,KAAKiB,YAAYkD,iBAAmC,gBACtD,GAAKD,EAEL,OAAQlD,EAAEgE,KACR,IAAK,YAEH,IAAKd,EAAOH,GAAO1D,OAAS0D,EAAQ,EAClCG,EAAOH,EAAQ,GAAGa,YACb,CACL5E,KAAK0B,sBACL1B,KAAKa,cAAckD,GAAS,GAC5BG,EAAOH,GAAO1D,MAAQ,GACtB,MAAMsE,EAAW3E,KAAK4C,oBACtB5C,KAAKK,MAAQL,KAAKU,cACdV,KAAKoC,cAAcuC,GACnBA,CACN,CACA,MAEF,IAAK,YACCZ,EAAQ,GAAGG,EAAOH,EAAQ,GAAGa,QACjC,MACF,IAAK,aACCb,EAAQ/D,KAAKC,OAAS,GAAGiE,EAAOH,EAAQ,GAAGa,QAC/C,MACF,IAAK,QACH5E,KAAKqB,SAGX,CAEQ,WAAA4D,CAAYjE,GAClB,GAAIhB,KAAK2C,UAAY3C,KAAKgE,SAExB,YADAhD,EAAEiD,iBAIJjD,EAAEiD,iBAEF,MAAMM,EAAOvD,EAAEkE,eAAeC,QAAQ,SAAW,GAC3ClD,EAAMjC,KAAKkC,aAAaqC,GAE9BvE,KAAK0B,sBACL1B,KAAKa,cAAgBwB,MAAMC,KACzB,CAAErC,OAAQD,KAAKC,QACf,CAACsC,EAAGC,IAAMP,EAAIO,IAAM,IAItBxC,KAAKK,MAAQL,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,EAG5DjC,KAAKqB,SAEL,MAAM6C,EACJlE,KAAKiB,YAAYkD,iBAAmC,gBACtD,GAAID,EAAQ,CACV,MAAMkB,EAAgBpF,KAAKa,cAAcwE,UAAWP,IAAOA,GAC3DZ,EAAOkB,GAAiB,EAAIA,EAAgBpF,KAAKC,OAAS,GAAG2E,OAC/D,CACF,CAGU,MAAAvD,GACR,GAAIrB,KAAK2C,SAAU,OAEnB,MAAMV,EAAMjC,KAAK4C,oBACXT,EAAYnC,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,EAEjEjC,KAAKS,kBAAmB,EAGxB,MAAM6E,EAAStF,KAAK0D,wBAAwBvB,GAC5CnC,KAAKO,iBAAmB+E,EAExBtF,KAAKuF,cACH,IAAIC,YAA4C,mBAAoB,CAClEC,OAAQ,CAAEH,OAAQ,IAAIA,IACtBI,SAAS,EACTC,UAAU,KAId3F,KAAK6D,kBAAkByB,EAAOrF,OAAS,GACvCD,KAAKY,QAAU0E,EAAOrF,OAAS,EAG/BD,KAAK4B,gBACL5B,KAAK6B,eAEDM,IAAcnC,KAAKc,iBACrBd,KAAKc,eAAiBqB,EACtBnC,KAAKuF,cACH,IAAIC,YAAyC,gBAAiB,CAC5DC,OAAQ,CAAEpF,MAAO8B,GACjBuD,SAAS,EACTC,UAAU,KAIlB,CAGA,KAAAC,GACM5F,KAAK2C,WAET3C,KAAKO,iBAAmB,GACxBP,KAAKS,kBAAmB,EACxBT,KAAKY,SAAU,EAEfZ,KAAK0B,sBACL1B,KAAKa,cAAgBwB,MAAMC,KAAK,CAAErC,OAAQD,KAAKC,QAAU,IAAM,IAE/DD,KAAKK,OAAQL,KAAKU,cAAgB,IAClCV,KAAKc,eAAiB,GAEtBkC,eAAe,KACbhD,KAAKiD,yBACLjD,KAAK6D,mBAAkB,KAGzB7D,KAAK4B,gBACL5B,KAAK6B,eAEL7B,KAAKuF,cACH,IAAIC,YAAyC,gBAAiB,CAC5DC,OAAQ,CAAEpF,MAAO,IACjBqF,SAAS,EACTC,UAAU,KAGhB,CAES,KAAAf,GACP,MAAMiB,EACJ7F,KAAKiB,YAAYkC,cAAgC,gBAC7C2C,EACJ9F,KAAKiB,YAAYkC,cAA2B,kBAC1C0C,IACFA,EAAMjB,QACFkB,IACFA,EAAQC,UAAUC,OAAO,SACpBF,EAAQG,YACbH,EAAQC,UAAUG,IAAI,UAG5B,CAOA,aAAAC,GACEnG,KAAKS,kBAAmB,EAExB,MAAMwB,EAAMjC,KAAK4C,oBACXa,EAAkBzD,KAAKU,cAAgBV,KAAKoC,cAAcH,GAAOA,EAEjEqD,EAAStF,KAAK0D,wBAAwBD,GAkB5C,OAjBAzD,KAAKO,iBAAmB+E,EAExBtF,KAAKuF,cACH,IAAIC,YAA4C,mBAAoB,CAClEC,OAAQ,CAAEH,OAAQ,IAAIA,IACtBI,SAAS,EACTC,UAAU,KAId3F,KAAK6D,kBAAkByB,EAAOrF,OAAS,GACvCD,KAAKoG,gBAAgB,eAAgBd,EAAOrF,OAAS,GAGrDD,KAAK4B,gBACL5B,KAAK6B,eAEoB,IAAlByD,EAAOrF,MAChB,CAEQ,uBAAAyD,CAAwBD,GAC9B,MAAM6B,EAAmB,GAMzB,GAFYtF,KAAK4C,oBACQ3C,OAASD,KAAKC,OACrB,OAAOqF,EAEzB,GAAIjD,MAAMgE,QAAQrG,KAAKM,cAAgBN,KAAKM,YAAYL,OACtD,IAAK,IAAIuC,EAAI,EAAGA,EAAIxC,KAAKM,YAAYL,OAAQuC,IAC3C,IACE,MAAM8D,EAAItG,KAAKM,YAAYkC,GAAGiB,IACpB,IAAN6C,GACFhB,EAAOiB,KAAkB,iBAAND,EAAiBA,EAAI,cAAc9D,YAC1D,CAAE,MAAOgE,GACPlB,EAAOiB,KACL,uBAAuB/D,MAAMiE,OAAOD,GAAKE,SAAWF,KAExD,CAGJ,OAAOlB,CACT,CAOQ,YAAApD,CAAayE,GACnB,MAAMC,EAAM5G,KAAKE,WAAa,IACxB2G,GAAUF,GAAK,IAAIG,QAAQ,IAAIC,OAAO,KAAKH,IAAO,KAAM,IACxDI,EAAUhH,KAAKI,aAAe,eAAiB,MAErD,OADkByG,EAAOI,MAAMD,IAAY,IAAIE,KAAK,IACpC1C,MAAM,EAAGxE,KAAKC,OAChC,CAEQ,aAAAmC,CAAcH,GACpB,IAAKA,EAAK,MAAO,GACjB,MAAMkF,EAAQlF,EAAImF,MAAM,IAOxB,OANkB/E,MAAMgE,QAAQrG,KAAKG,oBACjCH,KAAKG,mBACL,IACMkH,QAAQ,CAACC,EAAK9E,KAClB8E,GAAOH,EAAMlH,OAASuC,GAAG2E,EAAMI,OAAOD,EAAM9E,EAAG,EAAGxC,KAAKE,aAEtDiH,EAAMD,KAAK,GACpB,CAEQ,mBAAAxF,GACN,GAAI1B,KAAKa,cAAcZ,SAAWD,KAAKC,OAAQ,CAC7C,MAAMuH,EAAMxH,KAAKa,cACjBb,KAAKa,cAAgBwB,MAAMC,KACzB,CAAErC,OAAQD,KAAKC,QACf,CAACsC,EAAGC,IAAMgF,EAAIhF,IAAM,GAExB,CACF,CAEQ,oBAAAb,GACN,MAAMM,EAAMjC,KAAKkC,aAAalC,KAAKK,OAAS,IAC5CL,KAAKa,cAAgBwB,MAAMC,KACzB,CAAErC,OAAQD,KAAKC,QACf,CAACsC,EAAGC,IAAMP,EAAIO,IAAM,GAExB,CAEQ,iBAAAI,GAEN,OAAQ5C,KAAKa,cAAcqG,KAAK,KAAO,IAAI1C,MAAM,EAAGxE,KAAKC,OAC3D,CAEQ,sBAAAgD,GACN,MAAMiB,EACJlE,KAAKiB,YAAYkD,iBAAmC,gBACjDD,GACLA,EAAOmD,QAAQ,CAACI,EAAKjF,KACnBiF,EAAIpH,MAAQL,KAAKa,cAAc2B,IAAM,IAEzC,CAEQ,iBAAAqB,CAAkB6D,GACxB,MAAMxD,EACJlE,KAAKiB,YAAYkD,iBAAmC,gBACjDD,GACLA,EAAOmD,QAAS7E,GAAMA,EAAEuD,UAAU4B,OAAO,UAAWD,GACtD,CAMQ,iBAAAE,GACN,MAAMC,EAAoB,GAC1B,IAAIC,EAAiB,EACjBC,EAAmB,GAEvB,MAAMC,EAAY3F,MAAMgE,QAAQrG,KAAKG,oBACjCH,KAAKG,mBACL,GAEJ,IAAK,IAAIqC,EAAI,EAAGA,EAAIxC,KAAKC,OAAQuC,IAC3BwF,EAAUF,KAAoBtF,IAChCqF,EAAOtB,KAAK0B,CAAI,mCAAmCF,WACnDF,EAAOtB,KACL0B,CAAI;eACCjI,KAAKE;cAGZ6H,EAAQ,GACRD,KAGFC,EAAMxB,KAAK0B,CAAI;;;;kBAIHjI,KAAKW,OAAS,WAAa;;sBAEvBX,KAAKI,aAAe,OAAS;yBAC1B;mBACN8H,EAAKlI,KAAKa,cAAc2B,IAAM;sBAC3BxC,KAAK2C;sBACL3C,KAAKgE;mBACPhD,GAAahB,KAAK8D,YAAY9C,EAAGwB;qBAC/BxB,GAAqBhB,KAAK+E,cAAc/D,EAAGwB;mBAC7CxB,GAAsBhB,KAAKiF,YAAYjE;oBACvC,IAAMhB,KAAKqB;yBACNrB,KAAKS,kBACpBT,KAAKO,iBAAiBN,OAAS,EAC7B,OACA;yCAC6BuC,EAAI,QAAQxC,KAAKC;;SAOtD,OAFI8H,EAAM9H,QACR4H,EAAOtB,KAAK0B,CAAI,mCAAmCF,WAC9CF,CACT,CAES,MAAAM,GACP,OAAOF,CAAI;;;;;;;UAOLjI,KAAK4H;;;QAGP5H,KAAKQ,YACLR,KAAKO,iBAAiBN,OAAS,GAC/BD,KAAKS,iBACHwH,CAAI;cACAjI,KAAKO,iBAAiB;kBAE1B;KAER,GA3oB4B6H,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAAsB3I,EAAA4I,UAAA,iBACZJ,EAAA,CAA3BC,EAAS,CAAEC,KAAM7B,kCAA0B7G,EAAA4I,UAAA,oBAEjBJ,EAAA,CAA1BC,EAAS,CAAEC,KAAMjG,gCAA4CzC,EAAA4I,UAAA,6BAEjCJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAAgC7I,EAAA4I,UAAA,uBAMtBJ,EAAA,CAA3BC,EAAS,CAAEC,KAAM7B,kCAAqB7G,EAAA4I,UAAA,gBAEZJ,EAAA,CAA1BC,EAAS,CAAEC,KAAMjG,gCAAiDzC,EAAA4I,UAAA,sBACxCJ,EAAA,CAA1BC,EAAS,CAAEC,KAAMjG,gCAAyCzC,EAAA4I,UAAA,2BAC9BJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAA8B7I,EAAA4I,UAAA,qBACJJ,EAAA,CAA3CC,EAAS,CAAEC,KAAMG,QAASC,SAAS,6BAAiC9I,EAAA4I,UAAA,2BAExCJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAAiC7I,EAAA4I,UAAA,wBACtBJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAA0B7I,EAAA4I,UAAA,iBACAJ,EAAA,CAA3CC,EAAS,CAAEC,KAAMG,QAASC,SAAS,8BAAiC9I,EAAA4I,UAAA,kBArB1D5I,EAASwI,EAAA,CADrBO,EAAc,yCACF/I"}
@@ -0,0 +1 @@
1
+ export * from "./sky-sheet";
@@ -0,0 +1 @@
1
+ export * from './sky-sheet.js';
@@ -0,0 +1,70 @@
1
+ import { LitElement, type PropertyValues } from "lit";
2
+ export type SkySheetBackground = "primary" | "secondary" | "tertiary" | "solid" | "transparent";
3
+ export type SkySheetBlurLevel = "none" | "sm" | "md" | "lg";
4
+ export type SkySheetShadow = "none" | "sm" | "md" | "lg" | "inset";
5
+ export type SkySheetBorder = "none" | "sm" | "md" | "lg";
6
+ /** Preset tokens or any CSS length (e.g. `1rem`, `16px`). */
7
+ export type SkySheetRadius = string;
8
+ /** Preset map includes `xl`; arbitrary values pass through like `resolveRadius`. */
9
+ export declare function resolveSheetRadius(input: string): string;
10
+ /**
11
+ * @element sky-sheet
12
+ *
13
+ * @summary Themed surface container with configurable background, blur, border, and shadow.
14
+ *
15
+ * @status stable
16
+ * @since 1.0.0
17
+ *
18
+ * @documentation https://library.sky-ui.com/components/sheet
19
+ *
20
+ * @slot - Content placed inside the sheet container.
21
+ *
22
+ * @property {SkySheetBackground} bg - Background style.
23
+ * @property {SkySheetBlurLevel} blurLevel - Backdrop blur intensity.
24
+ * @property {SkySheetShadow} shadow - Shadow style preset.
25
+ * @property {SkySheetBorder} border - Border style preset.
26
+ * @property {SkySheetRadius} radius - Preset (`none`, `sm`, `md`, `lg`, `xl`) or CSS length (`1rem`, `16px`).
27
+ *
28
+ * @Behavior
29
+ * - Applies visual styles directly on `:host` for compact composition.
30
+ * - Uses theme CSS variables for consistent glass and elevation tokens.
31
+ * - Renders slot content without additional wrappers.
32
+ *
33
+ * @example
34
+ * ```html
35
+ * <sky-sheet bg="solid" blur-level="md" shadow="lg" border="md" radius="lg">
36
+ * <h3>Deployment Summary</h3>
37
+ * <p>All regional checks passed. Ready to promote to production.</p>
38
+ * </sky-sheet>
39
+ * ```
40
+ * ```vue
41
+ * <template>
42
+ * <sky-sheet bg="solid" blur-level="md" shadow="lg" border="md" radius="lg">
43
+ * <h3>Deployment Summary</h3>
44
+ * <p>All regional checks passed. Ready to promote to production.</p>
45
+ * </sky-sheet>
46
+ * </template>
47
+ * ```
48
+ * ```jsx
49
+ * export default function Demo() {
50
+ * return (
51
+ * <sky-sheet bg="solid" blur-level="md" shadow="lg" border="md" radius="lg">
52
+ * <h3>Deployment Summary</h3>
53
+ * <p>All regional checks passed. Ready to promote to production.</p>
54
+ * </sky-sheet>
55
+ * );
56
+ * }
57
+ * ```
58
+ */
59
+ export declare class SkySheet extends LitElement {
60
+ bg: SkySheetBackground;
61
+ blurLevel: SkySheetBlurLevel;
62
+ shadow: SkySheetShadow;
63
+ border: SkySheetBorder;
64
+ radius: SkySheetRadius;
65
+ connectedCallback(): void;
66
+ updated(changed: PropertyValues): void;
67
+ private _applyRadiusVar;
68
+ static styles: import("lit").CSSResult;
69
+ render(): import("lit-html").TemplateResult<1>;
70
+ }
@@ -0,0 +1,47 @@
1
+ import{__decorate as r,__metadata as s}from"tslib";import{LitElement as o,css as t,html as e}from"lit";import{property as a,customElement as d}from"lit/decorators.js";import{resolveRadius as i}from"../helper/utils/size-resolver.js";const y={none:"0",sm:"var(--sky-radius-primary)",md:"var(--sky-radius-secondary)",lg:"var(--sky-radius-tertiary)",xl:"var(--sky-radius-full)"};function b(r){return Object.prototype.hasOwnProperty.call(y,r)?y[r]:i(r)}let l=class extends o{constructor(){super(...arguments),this.bg="primary",this.blurLevel="sm",this.shadow="sm",this.border="sm",this.radius="md"}connectedCallback(){super.connectedCallback(),this._applyRadiusVar()}updated(r){super.updated(r),r.has("radius")&&this._applyRadiusVar()}_applyRadiusVar(){this.style.setProperty("--sheet-radius",b(this.radius))}static{this.styles=t`
2
+ :host {
3
+ display: block;
4
+ width: 100%;
5
+ height: 100%;
6
+ box-sizing: border-box;
7
+ font-family: var(--sky-font);
8
+ padding: 12px;
9
+ border-radius: var(--sheet-radius, var(--sky-radius-secondary));
10
+ }
11
+
12
+
13
+ /* background */
14
+ :host([bg="primary"]) { background: var(--sky-glass-primary); }
15
+ :host([bg="secondary"]) { background: var(--sky-glass-secondary); }
16
+ :host([bg="tertiary"]) { background: var(--sky-glass-tertiary); }
17
+ :host([bg="solid"]) { background: var(--sky-glass-solid); }
18
+ :host([bg="transparent"]) { background: transparent; }
19
+
20
+
21
+ :host([blurLevel="none"]) {
22
+ backdrop-filter: none; -webkit-backdrop-filter: none;
23
+ }
24
+ :host([blurLevel="sm"]) {
25
+ backdrop-filter: var(--sky-blur-primary); -webkit-backdrop-filter: var(--sky-blur-primary);
26
+ }
27
+ :host([blurLevel="md"]) {
28
+ backdrop-filter: var(--sky-blur-secondary); -webkit-backdrop-filter: var(--sky-blur-secondary);
29
+ }
30
+ :host([blurLevel="lg"]) {
31
+ backdrop-filter: var(--sky-blur-tertiary); -webkit-backdrop-filter: var(--sky-blur-tertiary);
32
+ }
33
+
34
+ /* shadow */
35
+ :host([shadow="none"]) { box-shadow: none; }
36
+ :host([shadow="sm"]) { box-shadow: var(--sky-box-shadow-primary); }
37
+ :host([shadow="md"]) { box-shadow: var(--sky-box-shadow-secondary); }
38
+ :host([shadow="lg"]) { box-shadow: var(--sky-box-shadow-tertiary); }
39
+ :host([shadow="inset"]) { box-shadow: var(--sky-box-shadow-inset); }
40
+
41
+ /* border */
42
+ :host([border="none"]) { border: none; }
43
+ :host([border="sm"]) { border: var(--sky-border-primary); }
44
+ :host([border="md"]) { border: var(--sky-border-secondary); }
45
+ :host([border="lg"]) { border: var(--sky-border-tertiary); }
46
+ `}render(){return e`<slot></slot>`}};r([a({type:String,reflect:!0}),s("design:type",String)],l.prototype,"bg",void 0),r([a({type:String,reflect:!0}),s("design:type",String)],l.prototype,"blurLevel",void 0),r([a({type:String,reflect:!0}),s("design:type",String)],l.prototype,"shadow",void 0),r([a({type:String,reflect:!0}),s("design:type",String)],l.prototype,"border",void 0),r([a({type:String,reflect:!0}),s("design:type",String)],l.prototype,"radius",void 0),l=r([d("sky-sheet")],l);export{l as SkySheet,b as resolveSheetRadius};
47
+ //# sourceMappingURL=sky-sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-sheet.js","sources":["../../src/sky-sheet/sky-sheet.ts"],"sourcesContent":[null],"names":["SHEET_RADIUS_PRESETS","none","sm","md","lg","xl","resolveSheetRadius","input","Object","prototype","hasOwnProperty","call","resolveRadius","SkySheet","LitElement","constructor","this","bg","blurLevel","shadow","border","radius","connectedCallback","super","_applyRadiusVar","updated","changed","has","style","setProperty","styles","css","render","html","__decorate","property","type","String","reflect","customElement"],"mappings":"wOAYA,MAAMA,EAA+C,CACnDC,KAAM,IACNC,GAAI,4BACJC,GAAI,8BACJC,GAAI,6BACJC,GAAI,0BAIA,SAAUC,EAAmBC,GACjC,OAAIC,OAAOC,UAAUC,eAAeC,KAAKX,EAAsBO,GACtDP,EAAqBO,GAEvBK,EAAcL,EACvB,CAoDO,IAAMM,EAAN,cAAuBC,EAAvB,WAAAC,uBAGLC,KAAAC,GAAyB,UAGzBD,KAAAE,UAA+B,KAG/BF,KAAAG,OAAyB,KAGzBH,KAAAI,OAAyB,KAGzBJ,KAAAK,OAAyB,IAoE3B,CAlEW,iBAAAC,GACPC,MAAMD,oBACNN,KAAKQ,iBACP,CAES,OAAAC,CAAQC,GACfH,MAAME,QAAQC,GACVA,EAAQC,IAAI,WAAWX,KAAKQ,iBAClC,CAEQ,eAAAA,GACNR,KAAKY,MAAMC,YAAY,iBAAkBvB,EAAmBU,KAAKK,QACnE,QAEgBL,KAAAc,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6C1B,CAGO,MAAAC,GACP,OAAOC,CAAI,eACb,GA9EAC,EAAA,CADCC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,6BACAzB,EAAAJ,UAAA,aAGnCyB,EAAA,CADCC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,6BACCzB,EAAAJ,UAAA,oBAGpCyB,EAAA,CADCC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,6BACLzB,EAAAJ,UAAA,iBAG9ByB,EAAA,CADCC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,6BACLzB,EAAAJ,UAAA,iBAG9ByB,EAAA,CADCC,EAAS,CAAEC,KAAMC,OAAQC,SAAS,6BACLzB,EAAAJ,UAAA,iBAfnBI,EAAQqB,EAAA,CADpBK,EAAc,cACF1B"}
@@ -0,0 +1 @@
1
+ export * from "./sky-skeleton";
@@ -0,0 +1 @@
1
+ export * from './sky-skeleton.js';
@@ -0,0 +1,80 @@
1
+ import { LitElement } from "lit";
2
+ /**
3
+ * @element sky-skeleton
4
+ *
5
+ * @summary Skeleton loader with preset shapes and shimmer animation.
6
+ *
7
+ * @status stable
8
+ * @since 1.0.0
9
+ *
10
+ * @documentation https://library.sky-ui.com/components/skeleton
11
+ *
12
+ * @slot - Default slot for the real content that is revealed when `loading=false`.
13
+ *
14
+ * @csspart container - The outer container for skeleton/slot regions.
15
+ * @csspart skeleton-wrapper - Wrapper that contains the skeleton items.
16
+ * @csspart slot-wrapper - Wrapper that contains the slotted content.
17
+ * @csspart item - Each individual skeleton block (applies to all presets).
18
+ * @csspart shimmer - The animated overlay (implemented via `::after`).
19
+ *
20
+ * @property {string} type - Comma-separated list of skeleton presets.
21
+ * @property {boolean} loading - Shows skeletons when true and slot content when false.
22
+ * @property {string} width - Width for the fallback default block.
23
+ * @property {string} height - Height for the fallback default block.
24
+ * @property {string} radius - Border radius for the fallback default block: token (`none`, `sm`, `md`, `lg`, `full`) or CSS length.
25
+ *
26
+ * @Behavior
27
+ * - Renders one or more preset skeleton blocks based on `type`.
28
+ * - Toggles `aria-busy` with `loading` to expose loading state.
29
+ * - Reveals slotted content when loading completes.
30
+ *
31
+ * @example
32
+ * ```html
33
+ * <sky-skeleton loading type="avatar, text, actions">
34
+ * <article>
35
+ * <h3>Quarterly Report</h3>
36
+ * <p>Revenue and adoption trends are now available.</p>
37
+ * </article>
38
+ * </sky-skeleton>
39
+ * ```
40
+ * ```vue
41
+ * <template>
42
+ * <sky-skeleton loading type="avatar, text, actions">
43
+ * <article>
44
+ * <h3>Quarterly Report</h3>
45
+ * <p>Revenue and adoption trends are now available.</p>
46
+ * </article>
47
+ * </sky-skeleton>
48
+ * </template>
49
+ * ```
50
+ * ```jsx
51
+ * export default function Demo() {
52
+ * return (
53
+ * <sky-skeleton loading type="avatar, text, actions">
54
+ * <article>
55
+ * <h3>Quarterly Report</h3>
56
+ * <p>Revenue and adoption trends are now available.</p>
57
+ * </article>
58
+ * </sky-skeleton>
59
+ * );
60
+ * }
61
+ * ```
62
+ */
63
+ export declare class SkySkeleton extends LitElement {
64
+ /** Comma‑separated preset types, e.g., `"avatar, text"`. */
65
+ type: string;
66
+ /** Show skeletons when true; show slotted content when false. */
67
+ loading: boolean;
68
+ /** Width for the fallback `default` block. */
69
+ width: string;
70
+ /** Height for the fallback `default` block. */
71
+ height: string;
72
+ /** Border‑radius for the fallback `default` block (token or CSS length). */
73
+ radius: string;
74
+ connectedCallback(): void;
75
+ static styles: import("lit").CSSResult;
76
+ protected updated(changed: Map<string, unknown>): void;
77
+ render(): import("lit-html").TemplateResult<1>;
78
+ /** Render a single skeleton preset block. */
79
+ private renderSkeleton;
80
+ }