@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,265 @@
1
+ import{__decorate as e,__metadata as t}from"tslib";import{LitElement as o,css as i,html as s}from"lit";import{property as a,state as n,query as r,customElement as d}from"lit/decorators.js";import{when as l}from"lit/directives/when.js";import{createRef as p,ref as g}from"lit/directives/ref.js";import{classMap as h}from"lit/directives/class-map.js";import{animate as c}from"@lit-labs/motion";import{SkyIcon as y}from"../sky-icon/sky-icon.js";let m=0,v=0,b=class extends o{static{this.dependencies={"sky-icon":y}}static{this.styles=i`
2
+ :host {
3
+ display: contents;
4
+ font-family: var(--sky-font);
5
+ }
6
+
7
+ dialog {
8
+ border: var(--sky-border-primary);
9
+ background: transparent;
10
+ padding: 0;
11
+ margin: auto;
12
+ color: var(--sky-text-primary);
13
+ position: fixed;
14
+ border-radius: var(--sky-radius-secondary);
15
+ box-shadow: var(--sky-box-shadow-secondary);
16
+ border: var(--sky-border-primary);
17
+ box-sizing: border-box;
18
+ width: 100%;
19
+ text-align: center;
20
+ overflow: hidden;
21
+ z-index: 1000;
22
+
23
+ }
24
+
25
+ dialog::backdrop {
26
+ background-color: transparent;
27
+ backdrop-filter: none;
28
+ transition: all 0.3s ease-in-out;
29
+ }
30
+
31
+ :host([overlay]) dialog::backdrop {
32
+ background-color: var(--sky-overlay-primary);
33
+ backdrop-filter: var(--sky-blur-primary);
34
+ }
35
+
36
+ /* Variant backgrounds */
37
+ :host([variant="primary"]) dialog,
38
+ :host([variant="secondary"]) dialog,
39
+ :host([variant="tertiary"]) dialog {
40
+ backdrop-filter: var(--sky-blur-primary) var(--sky-saturation-primary)
41
+ var(--sky-brightness-primary);
42
+ -webkit-backdrop-filter: var(--sky-blur-primary)
43
+ var(--sky-saturation-primary) var(--sky-brightness-primary);
44
+ }
45
+
46
+ :host([variant="primary"]) dialog {
47
+ background: var(--sky-glass-primary);
48
+ }
49
+
50
+ :host([variant="secondary"]) dialog {
51
+ background: var(--sky-glass-secondary);
52
+ }
53
+
54
+ :host([variant="tertiary"]) dialog {
55
+ background: var(--sky-glass-tertiary);
56
+ }
57
+
58
+ :host([variant="solid"]) dialog {
59
+ background: var(--sky-glass-solid);
60
+ }
61
+
62
+ /* Padding CSS variables */
63
+ :host {
64
+ --sky-padding-none: 0;
65
+ --sky-padding-xs: 4px;
66
+ --sky-padding-sm: 8px;
67
+ --sky-padding-md: 16px;
68
+ --sky-padding-lg: 24px;
69
+ --sky-padding-xl: 32px;
70
+ --sky-close-size: 22px;
71
+ --sky-close-gap: 6px;
72
+ }
73
+
74
+ .header-padding-none {
75
+ padding: var(--sky-padding-none);
76
+ }
77
+
78
+ .header-padding-xs {
79
+ padding: var(--sky-padding-xs);
80
+ }
81
+
82
+ .header-padding-sm {
83
+ padding: var(--sky-padding-sm);
84
+ }
85
+
86
+ .header-padding-md {
87
+ padding: var(--sky-padding-md);
88
+ }
89
+
90
+ .header-padding-lg {
91
+ padding: var(--sky-padding-lg);
92
+ }
93
+
94
+ .header-padding-xl {
95
+ padding: var(--sky-padding-xl);
96
+ }
97
+
98
+ .body-padding-none {
99
+ padding: var(--sky-padding-none);
100
+ }
101
+
102
+ .body-padding-xs {
103
+ padding: var(--sky-padding-xs);
104
+ }
105
+
106
+ .body-padding-sm {
107
+ padding: var(--sky-padding-sm);
108
+ }
109
+
110
+ .body-padding-md {
111
+ padding: var(--sky-padding-md);
112
+ }
113
+
114
+ .body-padding-lg {
115
+ padding: var(--sky-padding-lg);
116
+ }
117
+
118
+ .body-padding-xl {
119
+ padding: var(--sky-padding-xl);
120
+ }
121
+
122
+ .footer-padding-none {
123
+ padding: var(--sky-padding-none);
124
+ }
125
+
126
+ .footer-padding-xs {
127
+ padding: var(--sky-padding-xs);
128
+ }
129
+
130
+ .footer-padding-sm {
131
+ padding: var(--sky-padding-sm);
132
+ }
133
+
134
+ .footer-padding-md {
135
+ padding: var(--sky-padding-md);
136
+ }
137
+
138
+ .footer-padding-lg {
139
+ padding: var(--sky-padding-lg);
140
+ }
141
+
142
+ .footer-padding-xl {
143
+ padding: var(--sky-padding-xl);
144
+ }
145
+
146
+ /* Close button */
147
+ .close-button {
148
+ position: absolute;
149
+ top: var(--sky-close-gap);
150
+ right: var(--sky-close-gap);
151
+ display: flex;
152
+ align-items: center;
153
+ justify-content: center;
154
+ width: var(--sky-close-size);
155
+ height: var(--sky-close-size);
156
+ box-sizing: border-box;
157
+ border-radius: 50%;
158
+ box-shadow: var(--sky-box-shadow-primary);
159
+ font-size: calc(var(--sky-close-size) * 0.8);
160
+ cursor: pointer;
161
+ color: var(--sky-text-primary);
162
+ border: var(--sky-border-primary);
163
+ transition: all 0.3s ease;
164
+ background: var(--sky-hover-primary);
165
+ backdrop-filter: var(--sky-blur-tertiary) var(--sky-brightness-tertiary)
166
+ var(--sky-saturation-tertiary);
167
+ -webkit-backdrop-filter: var(--sky-blur-tertiary)
168
+ var(--sky-brightness-tertiary) var(--sky-saturation-tertiary);
169
+ z-index: 1;
170
+
171
+ }
172
+
173
+ .close-button:hover {
174
+ color: var(--sky-danger-primary) !important;
175
+ }
176
+
177
+ /* Message */
178
+ .message {
179
+ padding: 16px 0;
180
+ margin: 0;
181
+ }
182
+
183
+ ::slotted([slot="header"]) {
184
+ font-size: 16px;
185
+ font-weight: bold;
186
+ color: var(--sky-text-primary);
187
+ box-sizing: border-box;
188
+ }
189
+
190
+ dialog:focus,
191
+ dialog:focus-visible {
192
+ outline: none;
193
+ }
194
+
195
+ .header-separator {
196
+ border-bottom: var(--sky-border-primary);
197
+ }
198
+
199
+ .footer-separator {
200
+ border-top: var(--sky-border-primary);
201
+ }
202
+
203
+ sky-icon {
204
+ display: inline-block;
205
+ width: 1em;
206
+ height: 1em;
207
+ }
208
+
209
+ /* RTL support */
210
+ :host([dir="rtl"]) .close-button {
211
+ right: auto;
212
+ left: var(--sky-close-gap);
213
+ }
214
+
215
+ /* Animation classes */
216
+ dialog.opening {
217
+ opacity: 0;
218
+ }
219
+
220
+ dialog.closing {
221
+ opacity: 1;
222
+ }
223
+ `}constructor(){super(),this.open=!1,this.closable=!1,this.message="",this.overlay=!1,this.width="auto",this.variant="primary",this.separator=!1,this.persistent=!1,this.closeOnEsc=!1,this.headerPadding="sm",this.bodyPadding="sm",this.footerPadding="sm",this.highlightOnOutsideClick=!0,this._hasHeader=!1,this._hasBody=!1,this._hasFooter=!1,this._isClosing=!1,this._openAnimation=null,this._closeAnimation=null,this._highlightAnimation=null,this.dialogRef=p(),this._onBackdropPointerDown=e=>{const t=this.dialogElement;t&&t.open&&e.target===t&&(this.persistent?this._highlightDialog():this._requestClose("backdrop"))},this._onNativeClose=()=>{this.open&&requestAnimationFrame(()=>{this.dialogElement?.open||this.dialogElement?.showModal()})},this._onHeaderSlotChange=e=>{const t=e.target;this._hasHeader=this._slotHasContent(t)},this._onBodySlotChange=e=>{const t=e.target;this._hasBody=this._slotHasContent(t)},this._onFooterSlotChange=e=>{const t=e.target;this._hasFooter=this._slotHasContent(t)},this._onKeyDown=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),!this.persistent&&this.closeOnEsc?this._requestClose("escape"):this._highlightDialog())},this._handleCancel=this._handleCancel.bind(this)}firstUpdated(){const e=this.dialogElement;e&&(e.addEventListener("keydown",this._onKeyDown,{capture:!0}),e.addEventListener("pointerdown",this._onBackdropPointerDown),e.addEventListener("cancel",this._handleCancel),e.addEventListener("close",this._onNativeClose))}disconnectedCallback(){const e=this.dialogElement;e&&(e.removeEventListener("keydown",this._onKeyDown,{capture:!0}),e.removeEventListener("pointerdown",this._onBackdropPointerDown),e.removeEventListener("cancel",this._handleCancel),e.removeEventListener("close",this._onNativeClose)),super.disconnectedCallback(),this._unlockScroll(),e?.open&&e.close()}show(){this.open=!0}hide(){this.open=!1}focusDialog(){this.dialogElement&&this.dialogElement.focus()}getDialogElement(){return this.dialogElement}updated(e){e.has("open")&&requestAnimationFrame(()=>{this._handleOpenChange(e.get("open"))})}_handleOpenChange(e){this.dialogElement&&(this.open&&!this.dialogElement.open?(this._lockScroll(),this.dialogElement.showModal(),requestAnimationFrame(()=>{this._animateOpen()})):!this.open&&e&&(this._isClosing=!0,this._animateClose()))}_lockScroll(){"undefined"!=typeof window&&"undefined"!=typeof document&&(0===m&&(v=window.scrollY,window.scrollTo(0,0)),m++,document.documentElement.setAttribute("data-sky-dialog-open","true"))}_unlockScroll(){"undefined"!=typeof window&&"undefined"!=typeof document&&(m=Math.max(0,m-1),0===m&&(document.documentElement.removeAttribute("data-sky-dialog-open"),window.scrollTo(0,v)))}_prefersReducedMotion(){return!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}_animateOpen(){const e=this.dialogElement;if(!e)return;this._openAnimation?.cancel(),this._closeAnimation?.cancel();const t=this._prefersReducedMotion()?0:300,o=e.animate([{opacity:0,transform:"scale(0.95)",transformOrigin:"center center"},{opacity:1,transform:"scale(1)",transformOrigin:"center center"}],{duration:t,easing:"ease-out",fill:"forwards"});o.onfinish=()=>{this.dispatchEvent(new CustomEvent("dialog-opened",{bubbles:!0,composed:!0}))},this._openAnimation=o}_animateClose(){const e=this.dialogElement;if(!e)return;this._openAnimation?.cancel(),this._closeAnimation?.cancel();const t=this._prefersReducedMotion()?0:150,o=e.animate([{opacity:1,transform:"scale(1)",transformOrigin:"center center"},{opacity:0,transform:"scale(0.95)",transformOrigin:"center center"}],{duration:t,easing:"ease-out",fill:"forwards"});o.onfinish=()=>{e.close(),this._unlockScroll(),this._isClosing=!1,this.dispatchEvent(new CustomEvent("dialog-closed",{bubbles:!0,composed:!0}))},this._closeAnimation=o}_handleCancel(e){e.preventDefault(),!this.persistent&&this.closeOnEsc?this._requestClose("escape"):this._highlightDialog()}_highlightDialog(){if(!this.highlightOnOutsideClick)return;if(this._prefersReducedMotion())return;const e=this.dialogElement;if(!e)return;this._highlightAnimation?.cancel();const t=e.animate([{transform:"scale(1)"},{transform:"scale(1.05)"},{transform:"scale(1)"}],{duration:300,easing:"ease-in-out"});this._highlightAnimation=t}_requestClose(e){this._isClosing||this.dispatchEvent(new CustomEvent("request-close",{detail:{reason:e},bubbles:!0,composed:!0}))}_slotHasContent(e){return e.assignedNodes({flatten:!0}).some(e=>e.nodeType!==Node.TEXT_NODE||!!e.textContent?.trim())}render(){const e={none:!0,xs:!0,sm:!0,md:!0,lg:!0,xl:!0},t=e[this.headerPadding]?this.headerPadding:"md",o=e[this.bodyPadding]?this.bodyPadding:"md",i=e[this.footerPadding]?this.footerPadding:"md",a={};this._hasHeader&&(a[`header-padding-${t}`]=!0,this.separator&&(a["header-separator"]=!0));const n={};return this._hasFooter?(n.actions=!0,n[`footer-padding-${i}`]=!0,this.separator&&(n["footer-separator"]=!0)):n.actions=!0,s`
224
+ <dialog
225
+ part="dialog"
226
+ aria-modal="true"
227
+ style="max-width: ${this.width};"
228
+ @cancel="${this._handleCancel}"
229
+ ${g(this.dialogRef)}
230
+ ${c({keyframeOptions:{duration:300,easing:"ease-out"}})}
231
+ >
232
+ <slot></slot>
233
+
234
+ ${l(this.message,()=>s`
235
+ <p class="message" part="message">${this.message}</p>
236
+ `)}
237
+
238
+ <div class=${h(a)} part="header">
239
+ <slot name="header" @slotchange=${this._onHeaderSlotChange}></slot>
240
+ </div>
241
+
242
+ <div
243
+ class=${h({[`body-padding-${o}`]:this._hasBody})}
244
+ part="content"
245
+ >
246
+ <slot name="body" @slotchange=${this._onBodySlotChange}></slot>
247
+ </div>
248
+
249
+ <div class=${h(n)} part="actions footer">
250
+ <slot name="footer" @slotchange=${this._onFooterSlotChange}></slot>
251
+ </div>
252
+ ${l(this.closable,()=>s`
253
+ <button
254
+ class="close-button"
255
+ part="close-button"
256
+ type="button"
257
+ aria-label="Close dialog"
258
+ @click=${()=>this._requestClose("close-button")}
259
+ >
260
+ <sky-icon icon="ion:close"></sky-icon>
261
+ </button>
262
+ `)}
263
+ </dialog>
264
+ `}};e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"open",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"closable",void 0),e([a({type:String}),t("design:type",Object)],b.prototype,"message",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"overlay",void 0),e([a({type:String}),t("design:type",Object)],b.prototype,"width",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"variant",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"separator",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"persistent",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"closeOnEsc",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"headerPadding",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"bodyPadding",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],b.prototype,"footerPadding",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],b.prototype,"highlightOnOutsideClick",void 0),e([n(),t("design:type",Object)],b.prototype,"_hasHeader",void 0),e([n(),t("design:type",Object)],b.prototype,"_hasBody",void 0),e([n(),t("design:type",Object)],b.prototype,"_hasFooter",void 0),e([n(),t("design:type",Object)],b.prototype,"_isClosing",void 0),e([r("dialog"),t("design:type",HTMLDialogElement)],b.prototype,"dialogElement",void 0),b=e([d("sky-dialog"),t("design:paramtypes",[])],b);export{b as SkyDialog};
265
+ //# sourceMappingURL=sky-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-dialog.js","sources":["../../src/sky-dialog/sky-dialog.ts"],"sourcesContent":[null],"names":["_dialogOpenCount","_savedScrollY","SkyDialog","LitElement","this","dependencies","SkyIcon","styles","css","constructor","super","open","closable","message","overlay","width","variant","separator","persistent","closeOnEsc","headerPadding","bodyPadding","footerPadding","highlightOnOutsideClick","_hasHeader","_hasBody","_hasFooter","_isClosing","_openAnimation","_closeAnimation","_highlightAnimation","dialogRef","createRef","_onBackdropPointerDown","event","dialog","dialogElement","target","_highlightDialog","_requestClose","_onNativeClose","requestAnimationFrame","showModal","_onHeaderSlotChange","e","slot","_slotHasContent","_onBodySlotChange","_onFooterSlotChange","_onKeyDown","key","preventDefault","stopPropagation","_handleCancel","bind","firstUpdated","d","addEventListener","capture","disconnectedCallback","removeEventListener","_unlockScroll","close","show","hide","focusDialog","focus","getDialogElement","updated","changedProps","has","_handleOpenChange","get","previousOpen","_lockScroll","_animateOpen","_animateClose","window","document","scrollY","scrollTo","documentElement","setAttribute","Math","max","removeAttribute","_prefersReducedMotion","matchMedia","matches","cancel","duration","animation","animate","opacity","transform","transformOrigin","easing","fill","onfinish","dispatchEvent","CustomEvent","bubbles","composed","reason","detail","assignedNodes","flatten","some","n","nodeType","Node","TEXT_NODE","textContent","trim","render","valid","none","xs","sm","md","lg","xl","hp","bp","fp","headerClasses","footerClasses","html","ref","keyframeOptions","when","classMap","__decorate","property","type","Boolean","reflect","prototype","String","state","query","HTMLDialogElement","customElement"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./sky-divider";
@@ -0,0 +1 @@
1
+ export * from './sky-divider.js';
@@ -0,0 +1,120 @@
1
+ import { LitElement } from "lit";
2
+ export type SkyDividerDirection = "horizontal" | "vertical";
3
+ /**
4
+ * @element sky-divider
5
+ *
6
+ * @summary Visual separator component for horizontal and vertical layout separation.
7
+ *
8
+ * @status stable
9
+ * @since 1.0.0
10
+ *
11
+ * @documentation https://library.sky-ui.com/components/divider
12
+ *
13
+ * @csspart divider - The divider line element (either `<hr>` or `<div>` depending on direction).
14
+ *
15
+ * @property {string} color - Divider color token or CSS color.
16
+ * @property {string} thickness - Divider thickness (for example `1px` or `2px`).
17
+ * @property {string} margin - Outer margin around the divider.
18
+ * @property {SkyDividerDirection} direction - Divider orientation.
19
+ * @property {boolean} inset - Enables indented divider layout.
20
+ * @property {string} height - Height used for vertical orientation.
21
+ * @method getComputedColor Returns the resolved runtime divider color.
22
+ * @method getComputedThickness Returns the resolved runtime divider thickness.
23
+ *
24
+ * @cssprop --divider-color - CSS custom property for divider color.
25
+ * @cssprop --divider-thickness - CSS custom property for divider thickness.
26
+ * @cssprop --divider-margin - CSS custom property for divider margin.
27
+ * @cssprop --divider-height - CSS custom property for vertical divider height.
28
+ *
29
+ * @Behavior
30
+ * - Simple visual divider that can be horizontal or vertical
31
+ * - Supports extensive customization via properties
32
+ * - Automatically resolves color values using color resolver
33
+ * - Updates CSS custom properties when properties change
34
+ * - **horizontal**: Renders as `<hr>` element, spans full width
35
+ * - **vertical**: Renders as `<div>` element, spans configurable height
36
+ * - Horizontal dividers use semantic `<hr>` element
37
+ * - Vertical dividers use `<div>` with appropriate styling
38
+ *
39
+ * @example
40
+ * ```html
41
+ * <div style="display: flex; align-items: center;">
42
+ * <span>Left content</span>
43
+ * <sky-divider
44
+ * direction="vertical"
45
+ * height="50px"
46
+ * margin="0 16px"
47
+ * ></sky-divider>
48
+ * <span>Right content</span>
49
+ * </div>
50
+ * ```
51
+ * ```vue
52
+ * <template>
53
+ * <div style="display:flex;align-items:center;">
54
+ * <span>Left content</span>
55
+ * <sky-divider direction="vertical" height="50px" margin="0 16px"></sky-divider>
56
+ * <span>Right content</span>
57
+ * </div>
58
+ * </template>
59
+ * ```
60
+ * ```jsx
61
+ * export default function Demo() {
62
+ * return (
63
+ * <div style={{ display: "flex", alignItems: "center" }}>
64
+ * <span>Left content</span>
65
+ * <sky-divider direction="vertical" height="50px" margin="0 16px"></sky-divider>
66
+ * <span>Right content</span>
67
+ * </div>
68
+ * );
69
+ * }
70
+ * ```
71
+ */
72
+ export declare class SkyDivider extends LitElement {
73
+ /**
74
+ * The color of the divider.
75
+ * @public
76
+ */
77
+ color: string;
78
+ /**
79
+ * The thickness of the divider (e.g., `"1px"`, `"2px"`).
80
+ * @public
81
+ */
82
+ thickness: string;
83
+ /**
84
+ * The margin around the divider.
85
+ * @public
86
+ */
87
+ margin: string;
88
+ /**
89
+ * Divider orientation.
90
+ * @public
91
+ */
92
+ direction: SkyDividerDirection;
93
+ /**
94
+ * Whether the divider should be inset (indented).
95
+ * @public
96
+ */
97
+ inset: boolean;
98
+ /**
99
+ * The height of a vertical divider.
100
+ * @public
101
+ */
102
+ height: string;
103
+ static styles: import("lit").CSSResult;
104
+ /** @protected */
105
+ updated(changedProperties: Map<string, unknown>): void;
106
+ /**
107
+ * Gets the current computed color of the divider.
108
+ * @returns Resolved color value
109
+ * @public
110
+ */
111
+ getComputedColor(): string;
112
+ /**
113
+ * Gets the current computed thickness of the divider.
114
+ * @returns Resolved thickness value
115
+ * @public
116
+ */
117
+ getComputedThickness(): string;
118
+ /** @protected */
119
+ render(): import("lit-html").TemplateResult<1>;
120
+ }
@@ -0,0 +1,42 @@
1
+ import{__decorate as t,__metadata as i}from"tslib";import{LitElement as e,css as r,html as o}from"lit";import{property as s,customElement as d}from"lit/decorators.js";import{when as n}from"lit/directives/when.js";import{classMap as h}from"lit/directives/class-map.js";import{resolveColor as p}from"../helper/utils/color-resolver.js";let a=class extends e{constructor(){super(...arguments),this.color="muted",this.thickness="1px",this.margin="",this.direction="horizontal",this.inset=!1,this.height="100%"}static{this.styles=r`
2
+ hr {
3
+ border: none;
4
+ border-top: var(--divider-thickness, 2px) solid var(--divider-color);
5
+ margin: var(--divider-margin);
6
+ }
7
+
8
+ .vertical {
9
+ border-top: none;
10
+ border-left: var(--divider-thickness, 2px) solid var(--divider-color);
11
+ height: var(--divider-height, 100%);
12
+ width: 0 !important;
13
+ margin: var(--divider-margin);
14
+ }
15
+
16
+ .inset.horizontal {
17
+ margin-left: 20px;
18
+ margin-right: 20px;
19
+ width: calc(100% - 20px * 2);
20
+ }
21
+
22
+ .inset.vertical {
23
+ margin-top: 20px;
24
+ margin-bottom: 20px;
25
+ height: calc(100% - 20px * 2);
26
+ }
27
+ `}updated(t){t.has("color")&&this.style.setProperty("--divider-color",p(this.color)),t.has("thickness")&&this.style.setProperty("--divider-thickness",this.thickness),t.has("margin")&&this.style.setProperty("--divider-margin",this.margin),t.has("height")&&this.style.setProperty("--divider-height",this.height)}getComputedColor(){return getComputedStyle(this).getPropertyValue("--divider-color").trim()||this.color}getComputedThickness(){return getComputedStyle(this).getPropertyValue("--divider-thickness").trim()||this.thickness}render(){const t="vertical"===this.direction,i=h({vertical:!0,inset:this.inset}),e=h({horizontal:!0,inset:this.inset});return n(t,()=>o`
28
+ <div
29
+ class=${i}
30
+ part="divider"
31
+ role="separator"
32
+ aria-orientation="vertical"
33
+ ></div>
34
+ `,()=>o`
35
+ <hr
36
+ class=${e}
37
+ part="divider"
38
+ role="separator"
39
+ aria-orientation="horizontal"
40
+ />
41
+ `)}};t([s({type:String}),i("design:type",Object)],a.prototype,"color",void 0),t([s({type:String}),i("design:type",Object)],a.prototype,"thickness",void 0),t([s({type:String}),i("design:type",Object)],a.prototype,"margin",void 0),t([s({type:String}),i("design:type",String)],a.prototype,"direction",void 0),t([s({type:Boolean}),i("design:type",Object)],a.prototype,"inset",void 0),t([s({type:String}),i("design:type",Object)],a.prototype,"height",void 0),a=t([d("sky-divider")],a);export{a as SkyDivider};
42
+ //# sourceMappingURL=sky-divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-divider.js","sources":["../../src/sky-divider/sky-divider.ts"],"sourcesContent":[null],"names":["SkyDivider","LitElement","constructor","this","color","thickness","margin","direction","inset","height","styles","css","updated","changedProperties","has","style","setProperty","resolveColor","getComputedColor","getComputedStyle","getPropertyValue","trim","getComputedThickness","render","isVertical","verticalClasses","classMap","vertical","horizontalClasses","horizontal","when","html","__decorate","property","type","String","prototype","Boolean","customElement"],"mappings":"6UA8EO,IAAMA,EAAN,cAAyBC,EAAzB,WAAAC,uBAMLC,KAAAC,MAAQ,QAORD,KAAAE,UAAY,MAOZF,KAAAG,OAAS,GAOTH,KAAAI,UAAiC,aAOjCJ,KAAAK,OAAQ,EAORL,KAAAM,OAAS,MAsGX,QApGkBN,KAAAO,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0B1B,CAGO,OAAAC,CAAQC,GACXA,EAAkBC,IAAI,UACxBX,KAAKY,MAAMC,YAAY,kBAAmBC,EAAad,KAAKC,QAE1DS,EAAkBC,IAAI,cACxBX,KAAKY,MAAMC,YAAY,sBAAuBb,KAAKE,WAEjDQ,EAAkBC,IAAI,WACxBX,KAAKY,MAAMC,YAAY,mBAAoBb,KAAKG,QAE9CO,EAAkBC,IAAI,WACxBX,KAAKY,MAAMC,YAAY,mBAAoBb,KAAKM,OAEpD,CAOO,gBAAAS,GACL,OACEC,iBAAiBhB,MAAMiB,iBAAiB,mBAAmBC,QAC3DlB,KAAKC,KAET,CAOO,oBAAAkB,GACL,OACEH,iBAAiBhB,MAAMiB,iBAAiB,uBAAuBC,QAC/DlB,KAAKE,SAET,CAGS,MAAAkB,GACP,MAAMC,EAAgC,aAAnBrB,KAAKI,UAClBkB,EAAkBC,EAAS,CAC/BC,UAAU,EACVnB,MAAOL,KAAKK,QAERoB,EAAoBF,EAAS,CACjCG,YAAY,EACZrB,MAAOL,KAAKK,QAGd,OAAOsB,EACLN,EACA,IAAMO,CAAI;;kBAEEN;;;;;QAMZ,IAAMM,CAAI;;kBAEEH;;;;;QAOhB,GAxIAI,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACFnC,EAAAoC,UAAA,gBAOhBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACAnC,EAAAoC,UAAA,oBAOlBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACNnC,EAAAoC,UAAA,iBAOZJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCAC4BnC,EAAAoC,UAAA,oBAO9CJ,EAAA,CADCC,EAAS,CAAEC,KAAMG,mCACJrC,EAAAoC,UAAA,gBAOdJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,kCACFnC,EAAAoC,UAAA,iBAzCLpC,EAAUgC,EAAA,CADtBM,EAAc,gBACFtC"}
@@ -0,0 +1 @@
1
+ export * from "./sky-drawer";
@@ -0,0 +1 @@
1
+ export * from './sky-drawer.js';
@@ -0,0 +1,161 @@
1
+ import { LitElement } from "lit";
2
+ export type SkyDrawerSide = "left" | "right";
3
+ export type SkyDrawerScope = "viewport" | "parent";
4
+ export type SkyDrawerToggleDetail = {
5
+ open: boolean;
6
+ };
7
+ export type SkyDrawerOverlayClickDetail = {
8
+ side: SkyDrawerSide;
9
+ scope: SkyDrawerScope;
10
+ };
11
+ /**
12
+ * @element sky-drawer
13
+ *
14
+ * @summary Slide-in drawer panel with optional overlay, keyboard dismissal, and viewport/parent scope modes.
15
+ *
16
+ * @status stable
17
+ * @since 1.0.0
18
+ *
19
+ * @documentation https://library.sky-ui.com/components/sidebar
20
+ *
21
+ * @uiVModel open drawer-change
22
+ *
23
+ * @slot - Main content area inside the drawer body.
24
+ * @slot header - Drawer header content (top area).
25
+ * @slot footer - Drawer footer content (bottom area).
26
+ *
27
+ * @csspart overlay - The backdrop overlay element.
28
+ * @csspart panel - The main drawer panel container.
29
+ * @csspart header - Header wrapper inside the drawer.
30
+ * @csspart footer - Footer wrapper inside the drawer.
31
+ * @csspart content - Content/body area inside the drawer.
32
+ *
33
+ * @fires {CustomEvent<SkyDrawerToggleDetail>} drawer-change - Fired whenever drawer open state changes.
34
+ * @fires {CustomEvent<SkyDrawerOverlayClickDetail>} drawer-overlay-click - Fired when user clicks overlay and drawer is dismissable.
35
+ *
36
+ * @property {boolean} open - Whether the drawer is open.
37
+ * @property {SkyDrawerSide} side - Side the drawer slides in from.
38
+ * @property {string} width - Drawer width CSS length.
39
+ * @property {string} height - Drawer height CSS length.
40
+ * @property {string} radius - Drawer panel border radius: token (`none`, `sm`, `md`, `lg`, `full`) or CSS length.
41
+ * @property {boolean} overlay - Shows overlay behind drawer when true.
42
+ * @property {boolean} persistent - Prevents overlay/Escape auto-dismiss.
43
+ * @property {boolean} closeOnEsc - Enables Escape-key dismiss.
44
+ * @property {SkyDrawerScope} scope - Drawer scope: viewport or parent.
45
+ * @property {boolean} separator - Enables separators in slotted header/footer content.
46
+ * @method openDrawer Opens the drawer.
47
+ * @method close Closes the drawer.
48
+ * @method toggle Toggles drawer open state.
49
+ *
50
+ * @Behavior
51
+ * - Slides in from specified side with smooth animation
52
+ * - Supports both viewport-covering and parent-contained modes
53
+ * - Provides overlay with click-to-close (when not persistent)
54
+ * - Handles Escape key dismissal (when not persistent)
55
+ * - Maintains proper stacking context and focus management
56
+ * - **viewport**: Covers entire viewport, fixed positioning, overlay covers entire screen
57
+ * - **parent**: Contained within parent element, absolute positioning, overlay limited to parent bounds
58
+ *
59
+ * @example
60
+ * ```html
61
+ * <sky-drawer open side="right" width="360px" overlay closeonesc>
62
+ * <div slot="header">Settings</div>
63
+ * <p>Drawer content here.</p>
64
+ * <div slot="footer">
65
+ * <button>Close</button>
66
+ * </div>
67
+ * </sky-drawer>
68
+ * ```
69
+ * ```vue
70
+ * <template>
71
+ * <sky-drawer open side="right" width="360px" overlay closeonesc>
72
+ * <div slot="header">Settings</div>
73
+ * <p>Drawer content here.</p>
74
+ * <div slot="footer">
75
+ * <button>Close</button>
76
+ * </div>
77
+ * </sky-drawer>
78
+ * </template>
79
+ * ```
80
+ * ```jsx
81
+ * export default function Demo() {
82
+ * return (
83
+ * <sky-drawer open side="right" width="360px" overlay closeonesc>
84
+ * <div slot="header">Settings</div>
85
+ * <p>Drawer content here.</p>
86
+ * <div slot="footer">
87
+ * <button>Close</button>
88
+ * </div>
89
+ * </sky-drawer>
90
+ * );
91
+ * }
92
+ * ```
93
+ */
94
+ export declare class SkyDrawer extends LitElement {
95
+ /** @public Whether the drawer is open. */
96
+ open: boolean;
97
+ /** @public Which side the drawer slides in from. */
98
+ side: SkyDrawerSide;
99
+ /** @public Drawer width (CSS length). */
100
+ width: string;
101
+ /** @public Drawer height (CSS length). */
102
+ height: string;
103
+ /** @public Drawer border-radius (token or CSS length). */
104
+ radius: string;
105
+ /** @public Whether to show an overlay behind the drawer. */
106
+ overlay: boolean;
107
+ /** @public Whether the drawer is non-dismissable (requires programmatic closing). */
108
+ persistent: boolean;
109
+ /** @public Close on Escape key press. */
110
+ closeOnEsc: boolean;
111
+ /** @public Whether drawer covers viewport or is contained within parent. */
112
+ scope: SkyDrawerScope;
113
+ /** @public Whether to show separators in header/footer slots. */
114
+ separator: boolean;
115
+ static styles: import("lit").CSSResult;
116
+ /**
117
+ * Opens the drawer.
118
+ * @public
119
+ */
120
+ openDrawer(): void;
121
+ /**
122
+ * Closes the drawer.
123
+ * @public
124
+ */
125
+ close(): void;
126
+ /**
127
+ * Toggles the drawer open/closed.
128
+ * @public
129
+ */
130
+ toggle(): void;
131
+ /** @protected */
132
+ connectedCallback(): void;
133
+ /** @protected */
134
+ disconnectedCallback(): void;
135
+ /** @protected */
136
+ protected updated(changed: Map<string, unknown>): void;
137
+ /**
138
+ * Applies dimension properties to CSS custom properties.
139
+ * @private
140
+ */
141
+ private _applyDims;
142
+ /**
143
+ * Handles keydown events for Escape key closing.
144
+ * @param e - Keyboard event
145
+ * @private
146
+ */
147
+ private _onKeydown;
148
+ /**
149
+ * Handles click events on the drawer overlay.
150
+ * @private
151
+ */
152
+ private _onOverlayClick;
153
+ /**
154
+ * Stops event propagation.
155
+ * @param e - Event to stop
156
+ * @private
157
+ */
158
+ private _stop;
159
+ /** @protected */
160
+ render(): import("lit-html").TemplateResult<1>;
161
+ }