@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,186 @@
1
+ import{__decorate as t,__metadata as e}from"tslib";import{LitElement as r,css as o,html as s}from"lit";import{property as a,customElement as i}from"lit/decorators.js";import{classMap as n}from"lit/directives/class-map.js";import{resolveRadius as d}from"../helper/utils/size-resolver.js";import{resolveColor as l}from"../helper/utils/color-resolver.js";var h;let p=class extends r{constructor(){super(...arguments),this.bg="primary",this.blurLevel="none",this.radius="md",this.bodyPadding="none",this.elevation="md",this.outlined=!1,this.clickable=!1,this.headerBg="transparent",this.headerBlur="none",this.headerPadding="md",this.headerLayout="inline",this.headerInsetGap="sm",this.headerRadius="md",this.headerSeparatorColor="border-light",this.footerBg="transparent",this.footerBlur="none",this.footerPadding="md",this.footerLayout="inline",this.footerInsetGap="sm",this.footerRadius="md",this.footerSeparatorColor="border-light",this.padRatio=1,this.separators="none",this.overlays="none",this.insets="none",this._effHeaderSeparator=!1,this._effFooterSeparator=!1,this._effHeaderOverlay=!1,this._effFooterOverlay=!1,this._effHeaderInset=!1,this._effFooterInset=!1,this._varsCache={}}static{h=this}static{this.BG_MAP={primary:"var(--sky-glass-primary)",secondary:"var(--sky-glass-secondary)",tertiary:"var(--sky-glass-tertiary)",transparent:"transparent"}}static{this.BLUR_MAP={none:"none",xs:"blur(2px)",sm:"var(--sky-blur-primary)",md:"var(--sky-blur-secondary)",lg:"var(--sky-blur-tertiary)"}}static{this.SIZE_MAP={none:"0",sm:"6px",md:"16px",lg:"24px",xl:"32px"}}static{this.ELEVATION_MAP={none:"none",sm:"var(--sky-box-shadow-primary)",md:"var(--sky-box-shadow-secondary)",lg:"var(--sky-box-shadow-tertiary)"}}static{this.styles=o`
2
+ :host {
3
+ display: block;
4
+ }
5
+
6
+ .card {
7
+ display: flex;
8
+ flex-direction: column;
9
+ width: 100%;
10
+ position: relative;
11
+ overflow: hidden;
12
+ box-sizing: border-box;
13
+ background: var(--_card-bg, var(--sky-glass-primary));
14
+ border-radius: var(--_card-radius, var(--sky-radius-secondary));
15
+ backdrop-filter: var(--_card-blur, none);
16
+ box-shadow: var(--_card-shadow, var(--sky-box-shadow-primary));
17
+ border: var(--_card-border, 1px solid var(--sky-border-light));
18
+ transition: box-shadow 0.18s ease, transform 0.12s ease;
19
+
20
+ }
21
+
22
+ :host([outlined]) .card {
23
+ box-shadow: none;
24
+ border-width: 1px;
25
+ border-color: var(--sky-border-light);
26
+ }
27
+ :host([clickable]) .card {
28
+ cursor: pointer;
29
+ }
30
+ :host([clickable]) .card:hover {
31
+ box-shadow: var(--_card-shadow-hover, var(--sky-box-shadow-hover));
32
+ }
33
+
34
+ .section {
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: space-between;
38
+ gap: 5px;
39
+ box-sizing: border-box;
40
+ min-width: 0;
41
+ background: transparent;
42
+ }
43
+ .section.stack {
44
+ flex-direction: column;
45
+ align-items: stretch;
46
+ gap: 5px;
47
+ }
48
+ .section.row {
49
+ flex-direction: row;
50
+ }
51
+
52
+ .overlay-top {
53
+ position: absolute;
54
+ top: 0;
55
+ left: 0;
56
+ right: 0;
57
+ z-index: 1;
58
+ }
59
+ .overlay-bottom {
60
+ position: absolute;
61
+ bottom: 0;
62
+ left: 0;
63
+ right: 0;
64
+ z-index: 1;
65
+ }
66
+
67
+ .inset {
68
+ border-radius: var(--_section-radius, var(--sky-radius-secondary));
69
+ overflow: hidden;
70
+ border: var(--_inset-border, 0 solid transparent);
71
+ box-shadow: var(--_inset-shadow, none);
72
+ }
73
+ .overlay-top.inset {
74
+ top: var(--_inset-gap, 8px);
75
+ left: var(--_inset-gap, 8px);
76
+ right: var(--_inset-gap, 8px);
77
+ }
78
+ .overlay-bottom.inset {
79
+ bottom: var(--_inset-gap, 8px);
80
+ left: var(--_inset-gap, 8px);
81
+ right: var(--_inset-gap, 8px);
82
+ }
83
+
84
+ .section[part="header"]:has(slot:not([empty])),
85
+ .section[part="header"][has-content] {
86
+ background: var(--_header-bg);
87
+ backdrop-filter: var(--_header-blur, none);
88
+ padding-block: var(--_header-pad-y, 12px);
89
+ padding-inline: var(--_header-pad-x, 18px);
90
+
91
+ }
92
+ .section[part="footer"]:has(slot:not([empty])),
93
+ .section[part="footer"][has-content] {
94
+ background: var(--_footer-bg);
95
+ backdrop-filter: var(--_footer-blur, none);
96
+ padding-block: var(--_footer-pad-y, 12px);
97
+ padding-inline: var(--_footer-pad-x, 18px);
98
+
99
+ }
100
+
101
+ .section[part="header"]:not(.inset):has(slot:not([empty])),
102
+ .section[part="header"]:not(.inset)[has-content] {
103
+ border-bottom: var(--_header-separator, 0px) solid
104
+ var(--_header-separator-color, var(--sky-border-light));
105
+ }
106
+ .section[part="footer"]:not(.inset):has(slot:not([empty])),
107
+ .section[part="footer"]:not(.inset)[has-content] {
108
+ border-top: var(--_footer-separator, 0px) solid
109
+ var(--_footer-separator-color, var(--sky-border-light));
110
+ }
111
+
112
+ ::slotted(:not([slot])) {
113
+ box-sizing: border-box;
114
+ padding-block: var(--_body-pad-y, 12px);
115
+ padding-inline: var(--_body-pad-x, 18px);
116
+ }
117
+ slot[empty] {
118
+ display: none;
119
+ }
120
+
121
+ ::slotted([slot="title"]) {
122
+ font-size: 18px;
123
+ font-weight: 600;
124
+ margin: 0;
125
+ color: var(--sky-text-primary);
126
+ text-align: start;
127
+ text-shadow: var(--sky-text-shadow-on-glass, none);
128
+ }
129
+ ::slotted([slot="subtitle"]) {
130
+ font-size: 14px;
131
+ margin: 0;
132
+ color: var(--sky-text-secondary);
133
+ text-align: start;
134
+ text-shadow: var(--sky-text-shadow-on-glass, none);
135
+ }
136
+ ::slotted([slot="actions"]) {
137
+ display: inline-flex;
138
+ gap: 5px;
139
+ align-items: center;
140
+ margin-left: auto;
141
+ }
142
+ ::slotted([slot="footer-title"]) {
143
+ font-size: 16px;
144
+ font-weight: 500;
145
+ margin: 0;
146
+ color: var(--sky-text-primary);
147
+ text-align: start;
148
+ }
149
+ ::slotted([slot="footer-subtitle"]) {
150
+ font-size: 12px;
151
+ margin: 0;
152
+ color: var(--sky-text-secondary);
153
+ text-align: start;
154
+ }
155
+ ::slotted([slot="footer-actions"]) {
156
+ display: inline-flex;
157
+ gap: 5px;
158
+ align-items: center;
159
+ margin-left: auto;
160
+ }
161
+
162
+ .main {
163
+ width: 100%;
164
+ }
165
+ `}firstUpdated(){this._wireSlotChangeHandlers(),this._syncHeader(),this._syncFooter()}willUpdate(t){(t.has("separators")||t.has("overlays")||t.has("insets"))&&this._computeEffectiveFlags(),(t.has("bg")||t.has("blurLevel")||t.has("radius")||t.has("elevation"))&&this._applyCardVars(),(t.has("headerPadding")||t.has("bodyPadding")||t.has("footerPadding")||t.has("padRatio"))&&this._applyPaddingVars(),(t.has("headerBg")||t.has("footerBg")||t.has("headerBlur")||t.has("footerBlur")||t.has("headerRadius")||t.has("footerRadius")||t.has("headerInsetGap")||t.has("footerInsetGap")||t.has("headerSeparatorColor")||t.has("footerSeparatorColor")||t.has("separators")||t.has("insets"))&&this._applySectionChrome()}_wireSlotChangeHandlers(){this.renderRoot.querySelector("#slot-title")?.addEventListener("slotchange",()=>this._syncHeader()),this.renderRoot.querySelector("#slot-subtitle")?.addEventListener("slotchange",()=>this._syncHeader()),this.renderRoot.querySelector("#slot-actions")?.addEventListener("slotchange",()=>this._syncHeader()),this.renderRoot.querySelector("#slot-f-title")?.addEventListener("slotchange",()=>this._syncFooter()),this.renderRoot.querySelector("#slot-f-subtitle")?.addEventListener("slotchange",()=>this._syncFooter()),this.renderRoot.querySelector("#slot-f-actions")?.addEventListener("slotchange",()=>this._syncFooter())}_syncHeader(){const t=this.renderRoot.querySelector("#hdr"),e=[this.renderRoot.querySelector("#slot-title"),this.renderRoot.querySelector("#slot-subtitle"),this.renderRoot.querySelector("#slot-actions")].filter(Boolean),r=e.some(t=>t.assignedNodes({flatten:!0}).length>0);t?.toggleAttribute("has-content",r),e.forEach(t=>t.toggleAttribute("empty",0===t.assignedNodes({flatten:!0}).length))}_syncFooter(){const t=this.renderRoot.querySelector("#ftr"),e=[this.renderRoot.querySelector("#slot-f-title"),this.renderRoot.querySelector("#slot-f-subtitle"),this.renderRoot.querySelector("#slot-f-actions")].filter(Boolean),r=e.some(t=>t.assignedNodes({flatten:!0}).length>0);t?.toggleAttribute("has-content",r),e.forEach(t=>t.toggleAttribute("empty",0===t.assignedNodes({flatten:!0}).length))}_expandPair(t){switch(t){case"both":return[!0,!0];case"header":return[!0,!1];case"footer":return[!1,!0];default:return[!1,!1]}}_computeEffectiveFlags(){[this._effHeaderSeparator,this._effFooterSeparator]=this._expandPair(this.separators),[this._effHeaderOverlay,this._effFooterOverlay]=this._expandPair(this.overlays),[this._effHeaderInset,this._effFooterInset]=this._expandPair(this.insets)}_setVar(t,e){this._varsCache[t]!==e&&(this.style.setProperty(t,e),this._varsCache[t]=e)}_applyCardVars(){this._setVar("--_card-bg",h.BG_MAP[this.bg]??this.bg),this._setVar("--_card-blur",h.BLUR_MAP[this.blurLevel]??this.blurLevel),this._setVar("--_card-radius",d(this.radius)),this._setVar("--_card-shadow",h.ELEVATION_MAP[this.elevation]??this.elevation);const t="none"===this.elevation?h.ELEVATION_MAP.sm:"sm"===this.elevation?h.ELEVATION_MAP.md:h.ELEVATION_MAP.lg;this._setVar("--_card-shadow-hover",t)}_applyPaddingVars(){const t=h.SIZE_MAP[this.headerPadding]??this.headerPadding,e=h.SIZE_MAP[this.bodyPadding]??this.bodyPadding,r=h.SIZE_MAP[this.footerPadding]??this.footerPadding,o=Number.isFinite(this.padRatio)?Math.max(0,this.padRatio):1;this._setVar("--_header-pad-y",t),this._setVar("--_header-pad-x",`calc(${t} * ${o})`),this._setVar("--_body-pad-y",e),this._setVar("--_body-pad-x",`calc(${e} * ${o})`),this._setVar("--_footer-pad-y",r),this._setVar("--_footer-pad-x",`calc(${r} * ${o})`)}_applySectionChrome(){const t=this._effHeaderInset?"0px":this._effHeaderSeparator?"1px":"0px",e=this._effFooterInset?"0px":this._effFooterSeparator?"1px":"0px";this._setVar("--_header-separator",t),this._setVar("--_footer-separator",e),this._setVar("--_header-separator-color",l(this.headerSeparatorColor)),this._setVar("--_footer-separator-color",l(this.footerSeparatorColor));const r=this._effHeaderInset&&this._effHeaderSeparator?"1px solid var(--sky-border-light)":"0 solid transparent",o=this._effFooterInset&&this._effFooterSeparator?"1px solid var(--sky-border-light)":"0 solid transparent";this._setVar("--_header-inset-border",r),this._setVar("--_footer-inset-border",o),this._setVar("--_header-bg",h.BG_MAP[this.headerBg]??this.headerBg),this._setVar("--_header-blur",h.BLUR_MAP[this.headerBlur]??this.headerBlur),this._setVar("--_footer-bg",h.BG_MAP[this.footerBg]??this.footerBg),this._setVar("--_footer-blur",h.BLUR_MAP[this.footerBlur]??this.footerBlur),this._setVar("--_header-radius",d(this.headerRadius)),this._setVar("--_footer-radius",d(this.footerRadius)),this._setVar("--_header-inset-gap",h.SIZE_MAP[this.headerInsetGap]??this.headerInsetGap),this._setVar("--_footer-inset-gap",h.SIZE_MAP[this.footerInsetGap]??this.footerInsetGap)}refreshLayout(){this._computeEffectiveFlags(),this._applyCardVars(),this._applyPaddingVars(),this._applySectionChrome(),this._syncHeader(),this._syncFooter()}render(){const t="inline"===this.headerLayout?"row":"stack",e="inline"===this.footerLayout?"row":"stack",r=n({section:!0,[t]:!0,"overlay-top":!!this._effHeaderOverlay,inset:!!this._effHeaderInset}),o=n({section:!0,[e]:!0,"overlay-bottom":!!this._effFooterOverlay,inset:!!this._effFooterInset});return s`
166
+ <div class="card" part="card">
167
+ <div class=${r} part="header" id="hdr">
168
+ <div class="main">
169
+ <slot name="title" id="slot-title"></slot>
170
+ <slot name="subtitle" id="slot-subtitle"></slot>
171
+ </div>
172
+ <slot name="actions" id="slot-actions"></slot>
173
+ </div>
174
+
175
+ <slot></slot>
176
+
177
+ <div class=${o} part="footer" id="ftr">
178
+ <div class="main">
179
+ <slot name="footer-title" id="slot-f-title"></slot>
180
+ <slot name="footer-subtitle" id="slot-f-subtitle"></slot>
181
+ </div>
182
+ <slot name="footer-actions" id="slot-f-actions"></slot>
183
+ </div>
184
+ </div>
185
+ `}};t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"bg",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"blurLevel",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"radius",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"bodyPadding",void 0),t([a({type:String,reflect:!0}),e("design:type",String)],p.prototype,"elevation",void 0),t([a({type:Boolean,reflect:!0}),e("design:type",Object)],p.prototype,"outlined",void 0),t([a({type:Boolean,reflect:!0}),e("design:type",Object)],p.prototype,"clickable",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"headerBg",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"headerBlur",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"headerPadding",void 0),t([a({type:String}),e("design:type",String)],p.prototype,"headerLayout",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"headerInsetGap",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"headerRadius",void 0),t([a({type:String}),e("design:type",Object)],p.prototype,"headerSeparatorColor",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"footerBg",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"footerBlur",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"footerPadding",void 0),t([a({type:String}),e("design:type",String)],p.prototype,"footerLayout",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"footerInsetGap",void 0),t([a({type:String,reflect:!0}),e("design:type",Object)],p.prototype,"footerRadius",void 0),t([a({type:String}),e("design:type",Object)],p.prototype,"footerSeparatorColor",void 0),t([a({type:Number}),e("design:type",Object)],p.prototype,"padRatio",void 0),t([a({type:String}),e("design:type",String)],p.prototype,"separators",void 0),t([a({type:String}),e("design:type",String)],p.prototype,"overlays",void 0),t([a({type:String}),e("design:type",String)],p.prototype,"insets",void 0),p=h=t([i("sky-card")],p);export{p as SkyCard};
186
+ //# sourceMappingURL=sky-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-card.js","sources":["../../src/sky-card/sky-card.ts"],"sourcesContent":[null],"names":["SkyCard","LitElement","constructor","this","bg","blurLevel","radius","bodyPadding","elevation","outlined","clickable","headerBg","headerBlur","headerPadding","headerLayout","headerInsetGap","headerRadius","headerSeparatorColor","footerBg","footerBlur","footerPadding","footerLayout","footerInsetGap","footerRadius","footerSeparatorColor","padRatio","separators","overlays","insets","_effHeaderSeparator","_effFooterSeparator","_effHeaderOverlay","_effFooterOverlay","_effHeaderInset","_effFooterInset","_varsCache","BG_MAP","primary","secondary","tertiary","transparent","BLUR_MAP","none","xs","sm","md","lg","SIZE_MAP","xl","ELEVATION_MAP","styles","css","firstUpdated","_wireSlotChangeHandlers","_syncHeader","_syncFooter","willUpdate","changed","has","_computeEffectiveFlags","_applyCardVars","_applyPaddingVars","_applySectionChrome","renderRoot","querySelector","addEventListener","hdr","slots","filter","Boolean","some","s","assignedNodes","flatten","length","toggleAttribute","forEach","ftr","_expandPair","sh","_setVar","name","value","style","setProperty","SkyCard_1","resolveRadius","hoverShadow","h","b","f","ratio","Number","isFinite","Math","max","headerSep","footerSep","resolveColor","headerInsetBorder","footerInsetBorder","refreshLayout","render","headerLayoutClass","footerLayoutClass","headerClasses","classMap","section","inset","footerClasses","html","__decorate","property","type","String","reflect","prototype","customElement"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./sky-carousel";
@@ -0,0 +1 @@
1
+ export * from './sky-carousel.js';
@@ -0,0 +1,265 @@
1
+ import { LitElement } from "lit";
2
+ export type SkyCarouselAxis = "horizontal" | "vertical";
3
+ /**
4
+ * @element sky-carousel
5
+ *
6
+ * @summary Carousel component with auto-slide, swipe gestures, navigation controls, and loading state.
7
+ *
8
+ * @status stable
9
+ * @since 1.0.0
10
+ *
11
+ * @documentation https://library.sky-ui.com/components/carousel
12
+ * @dependency sky-icon
13
+ *
14
+ * @uiVModel currentIndex slide-changed detail=index
15
+ *
16
+ * @slot - Default slot for carousel slides.
17
+ *
18
+ * @csspart slider-container - The container element that holds the slides.
19
+ * @csspart nav-button - The navigation buttons (previous/next).
20
+ * @csspart index-display - The index display (e.g., "1 / 5").
21
+ * @csspart bullet-navigation - The container for the bullet navigation.
22
+ * @csspart loading-overlay - The overlay shown while the carousel is loading.
23
+ * @csspart loading-spinner - The spinner displayed in the loading overlay.
24
+ *
25
+ * @property {number} currentIndex - Current active slide index. Default: `0`.
26
+ * @property {number} slideCount - Total number of slides (auto-calculated). Default: `0`.
27
+ * @property {string} maxWidth - Max width of the carousel container. Default: `"600px"`.
28
+ * @property {boolean} showBullets - Whether to show bullet navigation. Default: `true`.
29
+ * @property {boolean} auto - Whether to enable auto-sliding. Default: `true`.
30
+ * @property {boolean} showIndex - Whether to show index display (e.g., "1 / 5"). Default: `false`.
31
+ * @property {boolean} showButton - Whether to show next/previous navigation buttons. Default: `false`.
32
+ * @property {number} autoSlideInterval - Interval in ms for auto-sliding. Default: `3000`.
33
+ * @property {boolean} isLoading - Show loading overlay/spinner. Default: `false`.
34
+ * @property {number} slidesVisible - Number of slides visible at once. Default: `1`.
35
+ * @property {number} slidesToScroll - Number of slides to scroll per navigation. Default: `1`.
36
+ * @property {boolean} partialVisible - Whether non-active slides are partially visible. Default: `false`.
37
+ * @property {string} slideGap - Gap size between slides. Default: `"0"`.
38
+ * @method updateSlideCount Recomputes the number of assigned slide elements.
39
+ * @method startAutoSlide Starts automatic slide progression when eligible.
40
+ * @method stopAutoSlide Stops automatic slide progression.
41
+ * @method nextSlide Moves to the next slide window.
42
+ * @method prevSlide Moves to the previous slide window.
43
+ * @method setSlide Sets the active slide index and restarts auto-slide timer.
44
+ *
45
+ * @fires {CustomEvent<{ index: number }>} slide-changed - Fired when the active slide index changes.
46
+ *
47
+ * @Behavior
48
+ * - Supports pointer drag/swipe to change slides.
49
+ * - Restarts auto-slide timer when index is explicitly changed via `setSlide`.
50
+ * - Hides controls when slide count does not exceed `slidesVisible`.
51
+ *
52
+ * @example
53
+ * ```html
54
+ * <sky-carousel showbutton showbullets autoslideinterval="4000">
55
+ * <div>Overview</div>
56
+ * <div>Performance</div>
57
+ * <div>Forecast</div>
58
+ * </sky-carousel>
59
+ * ```
60
+ * ```vue
61
+ * <template>
62
+ * <sky-carousel showbutton showbullets autoslideinterval="4000">
63
+ * <div>Overview</div>
64
+ * <div>Performance</div>
65
+ * <div>Forecast</div>
66
+ * </sky-carousel>
67
+ * </template>
68
+ * ```
69
+ * ```jsx
70
+ * export default function Demo() {
71
+ * return (
72
+ * <sky-carousel showbutton showbullets autoslideinterval="4000">
73
+ * <div>Overview</div>
74
+ * <div>Performance</div>
75
+ * <div>Forecast</div>
76
+ * </sky-carousel>
77
+ * );
78
+ * }
79
+ * ```
80
+ */
81
+ export declare class SkyCarousel extends LitElement {
82
+ static dependencies: Record<string, CustomElementConstructor>;
83
+ /** Current active slide index. @default 0 */
84
+ currentIndex: number;
85
+ /** Total number of slides (auto-calculated). @default 0 */
86
+ slideCount: number;
87
+ /** Max width of the carousel container. @default "600px" */
88
+ maxWidth: string;
89
+ /** Whether to show bullet navigation. @default true */
90
+ showBullets: boolean;
91
+ /** Whether to enable auto-sliding. @default true */
92
+ auto: boolean;
93
+ /** Whether to show index display (e.g., "1 / 5"). @default false */
94
+ showIndex: boolean;
95
+ /** Whether to show next/previous navigation buttons. @default false */
96
+ showButton: boolean;
97
+ /** Interval in ms for auto-sliding. @default 3000 */
98
+ autoSlideInterval: number;
99
+ /** Show loading overlay/spinner. @default false */
100
+ isLoading: boolean;
101
+ /** Number of slides visible at once. @default 1 */
102
+ slidesVisible: number;
103
+ /** Number of slides to scroll per navigation. @default 1 */
104
+ slidesToScroll: number;
105
+ /** Whether non-active slides are partially visible. @default false */
106
+ partialVisible: boolean;
107
+ /** Gap size between slides. @default "0" */
108
+ slideGap: string;
109
+ private isDragging;
110
+ private startX;
111
+ private currentX;
112
+ private autoSlideTimer;
113
+ static styles: import("lit").CSSResult;
114
+ /**
115
+ * Lifecycle callback that is invoked when the custom element is added to the DOM.
116
+ *
117
+ * This method performs the following actions:
118
+ * - Calls the parent class's `connectedCallback` method.
119
+ * - Updates the slide count for the carousel.
120
+ * - Sets the maximum width of the carousel if `maxWidth` is defined.
121
+ * - Starts the automatic slide transition.
122
+ * - Registers pointer event listeners for drag/swipe interactions.
123
+ */
124
+ connectedCallback(): void;
125
+ /**
126
+ * Called when the custom element is disconnected from the document's DOM.
127
+ *
128
+ * This method performs cleanup by stopping the auto-slide functionality and
129
+ * removing all pointer event listeners that were previously attached.
130
+ * It also calls the superclass's `disconnectedCallback` to ensure proper teardown.
131
+ *
132
+ * @override
133
+ */
134
+ disconnectedCallback(): void;
135
+ /**
136
+ * Lifecycle method called before the component updates.
137
+ *
138
+ * @param changedProps - A map containing the properties that have changed and their previous values.
139
+ * @override
140
+ *
141
+ * Calls the superclass's `willUpdate` method, then checks if the `autoSlideInterval` property has changed.
142
+ * If so, it starts the auto-slide functionality by calling `startAutoSlide()`.
143
+ */
144
+ willUpdate(changedProps: Map<string | number | symbol, unknown>): void;
145
+ /**
146
+ * Handles the pointer down event to initiate dragging.
147
+ *
148
+ * Sets the `isDragging` flag to `true` and records the starting X position
149
+ * of the pointer. Also initializes the current X position for tracking movement.
150
+ *
151
+ * @param e - The pointer event containing the X coordinate of the pointer.
152
+ */
153
+ private onPointerDown;
154
+ /**
155
+ * Handles the pointer move event during a drag operation.
156
+ *
157
+ * Updates the `currentX` property with the current horizontal position of the pointer
158
+ * if a drag is in progress (`isDragging` is true). If not dragging, the function returns early.
159
+ *
160
+ * @param e - The pointer event containing the current pointer position.
161
+ */
162
+ private onPointerMove;
163
+ /**
164
+ * Handles the pointer up event for the carousel.
165
+ *
166
+ * Determines if a swipe gesture has occurred based on the horizontal movement
167
+ * between the pointer down and pointer up events. If the swipe distance exceeds
168
+ * a defined threshold, it triggers navigation to the previous or next slide.
169
+ * Resets dragging state and pointer positions after handling the event.
170
+ *
171
+ * @remarks
172
+ * - Swiping right (delta > threshold) navigates to the previous slide.
173
+ * - Swiping left (delta < -threshold) navigates to the next slide.
174
+ * - No action is taken if the swipe distance does not exceed the threshold.
175
+ */
176
+ private onPointerUp;
177
+ /**
178
+ * Updates the `slideCount` property based on the number of elements assigned to the default slot.
179
+ *
180
+ * This method queries the shadow DOM for a <slot> element, retrieves its assigned elements,
181
+ * and sets the `slideCount` to the number of these elements. If the slot is not found,
182
+ * `slideCount` remains unchanged.
183
+ */
184
+ /**
185
+ * Recomputes slide count from assigned default-slot elements.
186
+ *
187
+ * @returns {void}
188
+ */
189
+ updateSlideCount(): void;
190
+ /**
191
+ * Starts the automatic slide transition for the carousel.
192
+ *
193
+ * This method first stops any existing auto-slide timer, then checks if
194
+ * auto-sliding is enabled (`this.auto`), the interval is greater than zero,
195
+ * and there are more slides than are currently visible. If all conditions
196
+ * are met, it sets up a timer to automatically advance to the next slide
197
+ * at the specified interval (`this.autoSlideInterval`).
198
+ *
199
+ * @remarks
200
+ * - If auto-sliding is already running, it will be restarted.
201
+ * - The auto-slide will only start if there are enough slides to scroll.
202
+ */
203
+ /**
204
+ * Starts automatic slide progression when eligible.
205
+ *
206
+ * @returns {void}
207
+ */
208
+ startAutoSlide(): void;
209
+ /**
210
+ * Stops the automatic slide transition by clearing the interval timer.
211
+ * If the auto-slide timer is active, this method will clear it and reset the timer variable to null.
212
+ */
213
+ /**
214
+ * Stops automatic slide progression.
215
+ *
216
+ * @returns {void}
217
+ */
218
+ stopAutoSlide(): void;
219
+ /**
220
+ * Advances the carousel to the next set of slides.
221
+ *
222
+ * Calculates the next index based on the current index and the number of slides to scroll.
223
+ * If the next index exceeds the maximum possible starting index for visible slides,
224
+ * the carousel wraps around to the beginning (index 0).
225
+ * Otherwise, it moves to the next calculated index, ensuring it does not exceed the bounds.
226
+ *
227
+ * @returns {void}
228
+ */
229
+ /**
230
+ * Moves to the next slide window.
231
+ *
232
+ * @returns {void}
233
+ */
234
+ nextSlide: () => void;
235
+ /**
236
+ * Moves the carousel to the previous set of slides.
237
+ *
238
+ * Decrements the `currentIndex` by the number of slides to scroll.
239
+ * If the new index is less than zero, wraps around to the last visible set of slides.
240
+ * Otherwise, ensures the index does not go below zero.
241
+ *
242
+ * @returns void
243
+ */
244
+ /**
245
+ * Moves to the previous slide window.
246
+ *
247
+ * @returns {void}
248
+ */
249
+ prevSlide: () => void;
250
+ /**
251
+ * Sets the current slide index, ensuring it does not exceed the maximum allowed index
252
+ * based on the total slide count and the number of visible slides.
253
+ * Also restarts the auto-slide timer by stopping and starting it.
254
+ *
255
+ * @param index - The target slide index to display.
256
+ */
257
+ /**
258
+ * Sets the active slide index and restarts auto-slide timing.
259
+ *
260
+ * @param index Target slide index.
261
+ * @returns {void}
262
+ */
263
+ setSlide(index: number): void;
264
+ render(): import("lit-html").TemplateResult<1>;
265
+ }