@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,292 @@
1
+ import{__decorate as t,__metadata as e}from"tslib";import{LitElement as r,css as i,html as o}from"lit";import{property as s,state as n,customElement as a}from"lit/decorators.js";import{styleMap as l}from"lit/directives/style-map.js";import{classMap as p}from"lit/directives/class-map.js";import{when as d}from"lit/directives/when.js";import{resolveRadius as c}from"../helper/utils/size-resolver.js";import{resolveColor as h,resolveTextColorForToken as g,tuneSurfaceVariantForDefaultColor as y,isDefaultColorToken as m,hoverShade as v,fadeMix as u}from"../helper/utils/color-resolver.js";import{SkyIcon as b}from"../sky-icon/sky-icon.js";let f=class extends r{constructor(){super(...arguments),this.title="",this.message="",this.removable=!1,this.color="primary",this.size="md",this.radius="md",this.icon=null,this.strip="none",this.stripColor="currentColor",this.variant="solid",this.loading=!1,this.roleType="alert",this._styleVars={},this._sizeCache=null,this._hasActionsSlotContent=!1}static{this.dependencies={"sky-icon":b}}static{this.styles=i`
2
+ :host {
3
+ display: block;
4
+ font-family: var(--sky-font);
5
+ width: 100%;
6
+ }
7
+
8
+ .alert {
9
+ position: relative;
10
+ width: 100%;
11
+ box-sizing: border-box;
12
+ display: flex;
13
+ align-items: stretch;
14
+ gap: var(--alert-gap, var(--sky-space-2, 8px));
15
+ padding: var(--alert-padding);
16
+ border-radius: var(--alert-radius);
17
+ border: var(--alert-border, none);
18
+ color: var(--alert-color, var(--sky-text-primary));
19
+ background-color: var(--alert-bg, transparent);
20
+ transition: background-color var(--sky-duration-slow, 300ms) var(--sky-ease-default, ease),
21
+ color var(--sky-duration-slow, 300ms) var(--sky-ease-default, ease),
22
+ border-color var(--sky-duration-slow, 300ms) var(--sky-ease-default, ease);
23
+ min-height: var(--alert-min-height, 36px);
24
+ animation: skyc-fade-in var(--sky-duration-fast, 120ms) var(--sky-ease-out, ease-out);
25
+ }
26
+
27
+ @media (prefers-reduced-motion: reduce) {
28
+ .alert {
29
+ animation: none;
30
+ transition: none;
31
+ }
32
+ }
33
+
34
+ /* Strip styles (logical properties for RTL) */
35
+ .alert.strip-start::before,
36
+ .alert.strip-end::after {
37
+ content: "";
38
+ position: absolute;
39
+ top: 0;
40
+ bottom: 0;
41
+ width: var(--strip-width, 4px);
42
+ background: var(--strip-color, currentColor);
43
+ z-index: 1;
44
+ }
45
+
46
+ .alert.strip-start::before {
47
+ inset-inline-start: 0;
48
+ border-start-start-radius: inherit;
49
+ border-end-start-radius: inherit;
50
+ }
51
+
52
+ .alert.strip-end::after {
53
+ inset-inline-end: 0;
54
+ border-start-end-radius: inherit;
55
+ border-end-end-radius: inherit;
56
+ }
57
+
58
+ .alert.strip-start {
59
+ border-start-start-radius: 0 !important;
60
+ border-end-start-radius: 0 !important;
61
+ }
62
+ .alert.strip-end {
63
+ border-start-end-radius: 0 !important;
64
+ border-end-end-radius: 0 !important;
65
+ }
66
+
67
+ .alert.strip-start.strip-end {
68
+ border-radius: 0 !important;
69
+ }
70
+
71
+ /* Remove borders on strip sides */
72
+ .alert.strip-start.bordered {
73
+ border-inline-start: none !important;
74
+ }
75
+ .alert.strip-end.bordered {
76
+ border-inline-end: none !important;
77
+ }
78
+ .alert.strip-start.strip-end.bordered {
79
+ border-inline-start: none !important;
80
+ border-inline-end: none !important;
81
+ }
82
+
83
+ .alert.faded.strip-start {
84
+ border-inline-start: none !important;
85
+ }
86
+ .alert.faded.strip-end {
87
+ border-inline-end: none !important;
88
+ }
89
+ .alert.faded.strip-start.strip-end {
90
+ border-inline-start: none !important;
91
+ border-inline-end: none !important;
92
+ }
93
+
94
+ .icon {
95
+ align-self: flex-start;
96
+ display: flex;
97
+ align-items: center;
98
+ justify-content: center;
99
+ font-size: var(--icon-size, 20px);
100
+ color: inherit;
101
+ flex-shrink: 0;
102
+ padding-block-start: 2px;
103
+ }
104
+
105
+ .content {
106
+ flex: 1 1 auto;
107
+ min-width: 0;
108
+ display: flex;
109
+ flex-direction: column;
110
+ justify-content: center;
111
+ }
112
+
113
+ .title {
114
+ font-size: var(--title-font-size, var(--sky-font-size-md, 1rem));
115
+ font-weight: var(--sky-font-weight-bold, 700);
116
+ line-height: var(--sky-line-height-tight, 1.2);
117
+ letter-spacing: var(--sky-letter-spacing-normal, 0);
118
+ font-family: var(--sky-font);
119
+ color: inherit;
120
+ margin: 0 0 var(--sky-space-1, 4px) 0;
121
+ }
122
+
123
+ .message {
124
+ margin: 0;
125
+ text-align: start;
126
+ font-size: var(--message-font-size, var(--sky-font-size-sm, 0.875rem));
127
+ line-height: var(--sky-line-height-normal, 1.5);
128
+ letter-spacing: var(--sky-letter-spacing-normal, 0);
129
+ font-family: var(--sky-font);
130
+ color: inherit;
131
+ }
132
+
133
+ ::slotted(*) {
134
+ font-size: var(--message-font-size, var(--sky-font-size-sm, 0.875rem));
135
+ line-height: var(--sky-line-height-normal, 1.5);
136
+ }
137
+
138
+ .actions {
139
+ display: inline-flex;
140
+ gap: var(--sky-space-2, 8px);
141
+ align-items: center;
142
+ justify-content: flex-end;
143
+ flex: 0 0 auto;
144
+ align-self: stretch;
145
+ border-inline-start: 1px solid var(--sky-border-light, rgba(0, 0, 0, 0.15));
146
+ padding-inline-start: var(--sky-space-2, 8px);
147
+ margin-inline-start: var(--sky-space-1, 4px);
148
+ }
149
+
150
+ .actions-slot-placeholder {
151
+ position: absolute;
152
+ width: 0;
153
+ height: 0;
154
+ overflow: hidden;
155
+ opacity: 0;
156
+ pointer-events: none;
157
+ }
158
+
159
+ .close-button {
160
+ margin-inline-start: var(--sky-space-1.5, 6px);
161
+ display: inline-flex;
162
+ aspect-ratio: 1 / 1;
163
+ justify-content: center;
164
+ align-items: center;
165
+ width: var(--close-size, 24px);
166
+ height: var(--close-size, 24px);
167
+ box-sizing: border-box;
168
+ background: var(--close-bg, var(--sky-hover-primary));
169
+ border: none;
170
+ border-radius: var(--sky-radius-full, 50%);
171
+ font-size: var(--close-font-size, 16px);
172
+ cursor: pointer;
173
+ font-weight: var(--sky-font-weight-bold, 700);
174
+ color: var(--close-color, currentColor);
175
+ transition: transform var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease),
176
+ background-color var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease),
177
+ color var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease);
178
+ -webkit-tap-highlight-color: transparent;
179
+ }
180
+
181
+ .close-button:hover {
182
+ transform: rotate(90deg);
183
+ background: var(--close-hover-bg, var(--sky-hover-secondary));
184
+ color: var(--close-hover-color, currentColor);
185
+ }
186
+
187
+ .close-button:focus-visible {
188
+ outline: none;
189
+ box-shadow: var(--sky-focus-ring);
190
+ background: var(--close-hover-bg, var(--sky-hover-secondary));
191
+ color: var(--close-hover-color, currentColor);
192
+ }
193
+
194
+ @media (prefers-reduced-motion: reduce) {
195
+ .close-button {
196
+ transition: none;
197
+ }
198
+ .close-button:hover,
199
+ .close-button:focus-visible {
200
+ transform: none;
201
+ }
202
+ }
203
+
204
+ .loading-overlay {
205
+ position: absolute;
206
+ inset: 0;
207
+ display: flex;
208
+ align-items: center;
209
+ justify-content: center;
210
+ background: var(--sky-overlay-primary);
211
+ border-radius: inherit;
212
+ backdrop-filter: var(--sky-blur-primary);
213
+ z-index: 2;
214
+
215
+ }
216
+
217
+ .loading-spinner {
218
+ width: var(--spinner-size, 16px);
219
+ height: var(--spinner-size, 16px);
220
+ border: 2px solid currentColor;
221
+ border-top-color: transparent;
222
+ border-radius: var(--sky-radius-full, 50%);
223
+ animation: skyc-spin 0.8s linear infinite;
224
+ }
225
+
226
+ @media (prefers-reduced-motion: reduce) {
227
+ .loading-spinner {
228
+ animation: none;
229
+ }
230
+ }
231
+
232
+ @keyframes skyc-spin {
233
+ to {
234
+ transform: rotate(360deg);
235
+ }
236
+ }
237
+
238
+ @keyframes skyc-fade-in {
239
+ from {
240
+ opacity: 0;
241
+ transform: translateY(-2px);
242
+ }
243
+ to {
244
+ opacity: 1;
245
+ transform: translateY(0);
246
+ }
247
+ }
248
+ `}_resolveSize(t){const e=String(t).trim();if(this._sizeCache&&this._sizeCache.size===e)return this._sizeCache.result;const r={xs:{padding:"3px 7px",titleFontSize:"12px",messageFontSize:"11px",gap:"4px",icon:"14px",closeSize:"18px",closeFontSize:"12px",spinner:"12px",stripWidth:"2px",minHeight:"28px"},sm:{padding:"5px 9px",titleFontSize:"14px",messageFontSize:"13px",gap:"6px",icon:"16px",closeSize:"20px",closeFontSize:"14px",spinner:"14px",stripWidth:"3px",minHeight:"32px"},md:{padding:"8px 12px",titleFontSize:"16px",messageFontSize:"14px",gap:"8px",icon:"20px",closeSize:"24px",closeFontSize:"16px",spinner:"16px",stripWidth:"4px",minHeight:"36px"},lg:{padding:"10px 14px",titleFontSize:"18px",messageFontSize:"15px",gap:"10px",icon:"22px",closeSize:"28px",closeFontSize:"18px",spinner:"18px",stripWidth:"5px",minHeight:"40px"},xl:{padding:"12px 16px",titleFontSize:"20px",messageFontSize:"16px",gap:"12px",icon:"24px",closeSize:"32px",closeFontSize:"20px",spinner:"20px",stripWidth:"6px",minHeight:"44px"}};if(r[t])return this._sizeCache={size:e,result:r[t]},r[t];const i=String(t).trim().match(/^([\d.]+)(px|rem|em)?$/i),o=i?.[2]||"px",s=i?parseFloat(i[1]):16,n=t=>`${Math.round(100*t)/100}${o}`,a=(t,e,r)=>Math.max(e,Math.min(r,t)),l=`${s}${o}`,p=a(.875*s,11,16),d=a(.5*s,3,12),c=a(.75*s,7,16),h=a(.5*s,4,12),g=a(1.25*s,14,24),y=a(1.5*s,18,32),m=a(1*s,12,20),v=a(1*s,12,20),u=a(.25*s,2,6),b=a(2.25*s,28,44);return{padding:`${n(d)} ${n(c)}`,titleFontSize:l,messageFontSize:n(p),gap:n(h),icon:n(g),closeSize:n(y),closeFontSize:n(m),spinner:n(v),stripWidth:n(u),minHeight:n(b)}}willUpdate(t){super.willUpdate(t),(t.has("color")||t.has("variant")||t.has("stripColor")||t.has("radius")||t.has("size"))&&this._updateStyleVars()}firstUpdated(){queueMicrotask(()=>this._checkActionsSlot())}_updateStyleVars(){const t=h(this.color),e=g(this.color),r="currentColor"===this.stripColor?t:h(this.stripColor),i=this._resolveSize(this.size),o={solid:{bg:t,color:e,border:"none"},flat:{bg:u(t,20),color:v(t,30),border:"none"},faded:{bg:"var(--sky-hover-tertiary)",color:t,border:"1px solid var(--sky-text-tertiary)"},bordered:{bg:"transparent",color:t,border:`2px solid ${t}`},light:{bg:"transparent",color:t,border:"none"}},s=this.variant in o?this.variant:"flat",n=y(this.color,s,o[s]);let a="var(--sky-hover-primary)",l="currentColor",p="var(--sky-hover-secondary)",d="currentColor";"solid"===s?(a=u(e,20),l=e,p=u(e,30),d=e):"flat"!==s&&"faded"!==s||(m(this.color)?(a="var(--sky-hover-tertiary)",l=n.color,p="var(--sky-hover-secondary)",d=n.color):(a=u(t,15),l=n.color,p=u(t,25),d=n.color)),this._styleVars={"--alert-bg":n.bg,"--alert-color":n.color,"--alert-border":n.border,"--alert-radius":c(this.radius),"--alert-padding":i.padding,"--alert-gap":i.gap,"--alert-min-height":i.minHeight,"--title-font-size":i.titleFontSize,"--message-font-size":i.messageFontSize,"--icon-size":i.icon,"--close-size":i.closeSize,"--close-font-size":i.closeFontSize,"--spinner-size":i.spinner,"--strip-color":r,"--strip-width":i.stripWidth,"--close-bg":a,"--close-color":l,"--close-hover-bg":p,"--close-hover-color":d}}close(){const t=new CustomEvent("alert-closed",{detail:{title:this.title,message:this.message},bubbles:!0,composed:!0});this.dispatchEvent(t),this.remove()}getAriaRole(){return this.roleType}_checkActionsSlot(){const t=this.renderRoot?.querySelector('slot[name="actions"]');if(!t)return;const e=t.assignedNodes({flatten:!0}).some(t=>t.nodeType!==Node.TEXT_NODE||(t.textContent?.trim().length??0)>0);e!==this._hasActionsSlotContent&&(this._hasActionsSlotContent=e)}_onActionsSlotChange(t){const e=t.target.assignedNodes({flatten:!0}).some(t=>t.nodeType!==Node.TEXT_NODE||(t.textContent?.trim().length??0)>0);this._hasActionsSlotContent=e}render(){const t=this.getAriaRole(),e=p({alert:!0,[this.variant]:!0,"strip-start":"start"===this.strip||"both"===this.strip,"strip-end":"end"===this.strip||"both"===this.strip});return o`
249
+ <div
250
+ part="alert"
251
+ class=${e}
252
+ role="${t}"
253
+ aria-live="${"alert"===this.roleType?"assertive":"polite"}"
254
+ style=${l(this._styleVars)}
255
+ >
256
+ ${d(this.icon,()=>o`<sky-icon part="icon" class="icon" icon="${this.icon}"></sky-icon>`)}
257
+
258
+ <div part="content" class="content">
259
+ ${d(this.title,()=>o`<div part="title" class="title">${this.title}</div>`)}
260
+ ${d(this.message,()=>o`<p part="message" class="message">${this.message}</p>`,()=>o`<slot></slot>`)}
261
+ </div>
262
+
263
+ ${d(this._hasActionsSlotContent||this.removable,()=>o`
264
+ <div part="actions" class="actions">
265
+ <slot name="actions" @slotchange=${this._onActionsSlotChange}></slot>
266
+ ${d(this.removable,()=>o`
267
+ <button
268
+ part="close-button"
269
+ class="close-button"
270
+ type="button"
271
+ @click=${this.close}
272
+ aria-label="Dismiss alert"
273
+ title="Dismiss"
274
+ >
275
+ <sky-icon icon="ion:close"></sky-icon>
276
+ </button>
277
+ `)}
278
+ </div>
279
+ `,()=>o`
280
+ <div class="actions-slot-placeholder" aria-hidden="true">
281
+ <slot name="actions" @slotchange=${this._onActionsSlotChange}></slot>
282
+ </div>
283
+ `)}
284
+
285
+ ${d(this.loading,()=>o`
286
+ <div part="loading-overlay" class="loading-overlay">
287
+ <div part="loading-spinner" class="loading-spinner"></div>
288
+ </div>
289
+ `)}
290
+ </div>
291
+ `}};t([s({type:String}),e("design:type",String)],f.prototype,"title",void 0),t([s({type:String}),e("design:type",String)],f.prototype,"message",void 0),t([s({type:Boolean}),e("design:type",Boolean)],f.prototype,"removable",void 0),t([s({type:String}),e("design:type",String)],f.prototype,"color",void 0),t([s({type:String}),e("design:type",String)],f.prototype,"size",void 0),t([s({type:String}),e("design:type",String)],f.prototype,"radius",void 0),t([s({type:String}),e("design:type",Object)],f.prototype,"icon",void 0),t([s({type:String,reflect:!0}),e("design:type",String)],f.prototype,"strip",void 0),t([s({type:String}),e("design:type",String)],f.prototype,"stripColor",void 0),t([s({type:String,reflect:!0}),e("design:type",String)],f.prototype,"variant",void 0),t([s({type:Boolean}),e("design:type",Boolean)],f.prototype,"loading",void 0),t([s({type:String,reflect:!0}),e("design:type",String)],f.prototype,"roleType",void 0),t([n(),e("design:type",Object)],f.prototype,"_hasActionsSlotContent",void 0),f=t([a("sky-alert")],f);export{f as SkyAlert};
292
+ //# sourceMappingURL=sky-alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-alert.js","sources":["../../src/sky-alert/sky-alert.ts"],"sourcesContent":[null],"names":["SkyAlert","LitElement","constructor","this","title","message","removable","color","size","radius","icon","strip","stripColor","variant","loading","roleType","_styleVars","_sizeCache","_hasActionsSlotContent","dependencies","SkyIcon","styles","css","_resolveSize","input","key","String","trim","result","presets","xs","padding","titleFontSize","messageFontSize","gap","closeSize","closeFontSize","spinner","stripWidth","minHeight","sm","md","lg","xl","m","match","unit","fsNum","parseFloat","to","n","Math","round","clamp","min","max","titleFs","messageFs","py","px","closeFont","willUpdate","changedProperties","super","has","_updateStyleVars","firstUpdated","queueMicrotask","_checkActionsSlot","baseColor","resolveColor","textColor","resolveTextColorForToken","stripColorResolved","s","variantStyles","solid","bg","border","flat","fadeMix","hoverShade","faded","bordered","light","currentVariant","v","tuneSurfaceVariantForDefaultColor","closeBg","closeColor","closeHoverBg","closeHoverColor","isDefaultColorToken","resolveRadius","close","evt","CustomEvent","detail","bubbles","composed","dispatchEvent","remove","getAriaRole","slot","renderRoot","querySelector","hasContent","assignedNodes","flatten","some","nodeType","Node","TEXT_NODE","textContent","length","_onActionsSlotChange","e","target","render","roleAttr","alertClasses","classMap","alert","html","styleMap","when","__decorate","property","type","prototype","Boolean","reflect","state","customElement"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./sky-appbar";
@@ -0,0 +1 @@
1
+ export * from './sky-appbar.js';
@@ -0,0 +1,84 @@
1
+ import { LitElement, PropertyValues } from "lit";
2
+ /**
3
+ * @element sky-appbar
4
+ *
5
+ * @summary Application top bar with title, optional leading control, trailing actions, and optional color/image background.
6
+ *
7
+ * @status stable
8
+ * @since 1.0.0
9
+ *
10
+ * @documentation https://library.sky-ui.com/components/appbar
11
+ * @dependency sky-icon
12
+ *
13
+ * @slot button - Leading area (e.g., menu/back button). Defaults to a hamburger icon.
14
+ * @slot - Trailing actions (icons/buttons). This is the default slot.
15
+ *
16
+ * @property {string} title - Title text displayed in the app bar.
17
+ * @property {string} color - Semantic token or CSS color for bar background; foreground color is derived for contrast.
18
+ * @property {string} url - Background image URL.
19
+ * @property {boolean} banner - Uses `role="banner"` when true, otherwise `role="group"`.
20
+ * @property {boolean} dense - Enables compact vertical spacing.
21
+ * @property {boolean} elevated - Applies elevated shadow styling.
22
+ * @property {string} leadingLabel - Accessible label for default leading button fallback.
23
+ *
24
+ * @csspart content - Wrapper that contains the leading slot, title, and actions.
25
+ * @csspart leading - Container for the leading slot (e.g. menu button).
26
+ * @csspart title - The title area (contains .title-text with the title string).
27
+ * @csspart actions - The trailing actions container.
28
+ *
29
+ * @Behavior
30
+ * - `color` resolves background via `resolveColor()` and text/icon color via `resolveTextColorForToken()`.
31
+ * - `url` renders a background layer behind content.
32
+ * - `banner` should be true only for the primary page app bar landmark.
33
+ * - In RTL contexts, the default leading icon is mirrored unless reduced motion is enabled.
34
+ *
35
+ * @example
36
+ * ```html
37
+ * <sky-appbar title="Dashboard" color="primary" dense>
38
+ * <button slot="button">Menu</button>
39
+ * <sky-icon icon="ion:search"></sky-icon>
40
+ * </sky-appbar>
41
+ * ```
42
+ * ```vue
43
+ * <template>
44
+ * <sky-appbar title="Dashboard" color="primary" dense>
45
+ * <button slot="button">Menu</button>
46
+ * <sky-icon icon="ion:search"></sky-icon>
47
+ * </sky-appbar>
48
+ * </template>
49
+ * ```
50
+ * ```jsx
51
+ * export default function Demo() {
52
+ * return (
53
+ * <sky-appbar title="Dashboard" color="primary" dense>
54
+ * <button slot="button">Menu</button>
55
+ * <sky-icon icon="ion:search"></sky-icon>
56
+ * </sky-appbar>
57
+ * );
58
+ * }
59
+ * ```
60
+ */
61
+ export declare class SkyAppbar extends LitElement {
62
+ static dependencies: Record<string, CustomElementConstructor>;
63
+ /** Title text displayed in the app bar. @default "App Bar" */
64
+ title: string;
65
+ /**
66
+ * Bar background token or CSS color; when set, foreground uses `resolveTextColorForToken` for contrast.
67
+ * @default "default"
68
+ */
69
+ color: string;
70
+ /** Background image URL. @default "" */
71
+ url: string;
72
+ /** When true, the bar has role="banner" (main app header). Set false for secondary bars. @default true */
73
+ banner: boolean;
74
+ /** When true, reduces vertical padding for a compact bar. @default false */
75
+ dense: boolean;
76
+ /** When true, applies stronger shadow (e.g. for sticky bar after scroll). @default false */
77
+ elevated: boolean;
78
+ /** Accessible label for the default leading button when no slot content is provided. @default "Open menu" */
79
+ leadingLabel: string;
80
+ static styles: import("lit").CSSResult;
81
+ /** Updates host style variables when visual input properties change. */
82
+ protected updated(changedProperties: PropertyValues): void;
83
+ render(): import("lit-html").TemplateResult<1>;
84
+ }
@@ -0,0 +1,173 @@
1
+ import{__decorate as t,__metadata as e}from"tslib";import{LitElement as o,css as i,nothing as r,html as s}from"lit";import{property as n,customElement as a}from"lit/decorators.js";import{resolveColor as l,resolveTextColorForToken as p}from"../helper/utils/color-resolver.js";import{SkyIcon as d}from"../sky-icon/sky-icon.js";let c=class extends o{constructor(){super(...arguments),this.title="App Bar",this.color="default",this.url="",this.banner=!0,this.dense=!1,this.elevated=!1,this.leadingLabel="Open menu"}static{this.dependencies={"sky-icon":d}}static{this.styles=i`
2
+ :host {
3
+ width: 100%;
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: space-between;
7
+ background-color: var(--appbar-bg-color, var(--sky-glass-primary));
8
+ color: var(--appbar-text-color, var(--sky-text-primary));
9
+ position: relative;
10
+ font-family: var(--sky-font);
11
+ overflow: hidden;
12
+ box-shadow: var(--sky-box-shadow-primary);
13
+ border-bottom: 1px solid var(--sky-border-light);
14
+ }
15
+
16
+ :host([elevated]) {
17
+ box-shadow: var(--appbar-shadow-elevated, var(--sky-box-shadow-secondary, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)));
18
+ }
19
+
20
+ .background {
21
+ position: absolute;
22
+ inset: 0;
23
+ width: 100%;
24
+ height: 100%;
25
+ background-image: var(--appbar-bg-image, none);
26
+ background-size: cover;
27
+ background-position: center;
28
+ z-index: -2;
29
+ }
30
+
31
+ .background-overlay {
32
+ position: absolute;
33
+ inset: 0;
34
+ background: var(--appbar-bg-overlay, transparent);
35
+ z-index: -1;
36
+ pointer-events: none;
37
+ }
38
+
39
+ .content {
40
+ display: flex;
41
+ padding: var(--sky-space-2, 8px) var(--sky-space-4, 16px);
42
+ align-items: center;
43
+ justify-content: space-between;
44
+ width: 100%;
45
+ position: relative;
46
+ gap: var(--sky-space-2, 8px);
47
+ }
48
+
49
+ :host([dense]) .content {
50
+ padding-block: var(--sky-space-1, 4px);
51
+ }
52
+
53
+ .title-area {
54
+ flex: 1 1 auto;
55
+ min-width: 0;
56
+ padding-inline-start: var(--sky-space-2.5, 10px);
57
+ }
58
+
59
+ .title-text {
60
+ font-size: var(--sky-font-size-md, 1rem);
61
+ font-weight: var(--sky-font-weight-semibold, 600);
62
+ line-height: var(--sky-line-height-snug, 1.25);
63
+ font-family: var(--sky-font);
64
+ }
65
+
66
+ .leading {
67
+ display: flex;
68
+ align-items: center;
69
+ flex-shrink: 0;
70
+ }
71
+
72
+ .leading ::slotted(*) {
73
+ cursor: pointer;
74
+ }
75
+
76
+ .leading-button {
77
+ display: inline-flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ margin: 0;
81
+ padding: 0;
82
+ border: none;
83
+ background: none;
84
+ cursor: pointer;
85
+ font: inherit;
86
+ color: inherit;
87
+ -webkit-tap-highlight-color: transparent;
88
+ min-width: var(--sky-touch-target, 44px);
89
+ min-height: var(--sky-touch-target, 44px);
90
+ box-sizing: border-box;
91
+ border-radius: var(--sky-radius-md, 0.375rem);
92
+ }
93
+
94
+ .leading-button:focus-visible,
95
+ .leading ::slotted(*:focus-visible),
96
+ .actions ::slotted(*:focus-visible) {
97
+ outline: none;
98
+ box-shadow: var(--sky-focus-ring);
99
+ }
100
+
101
+ .icon {
102
+ cursor: pointer;
103
+ font-size: var(--sky-font-size-xl, 1.25rem);
104
+ display: flex;
105
+ align-items: center;
106
+ }
107
+
108
+ .actions {
109
+ display: flex;
110
+ align-items: center;
111
+ gap: var(--sky-space-2, 8px);
112
+ padding-inline-start: var(--sky-space-2.5, 10px);
113
+ flex-shrink: 0;
114
+ }
115
+
116
+ .actions ::slotted(button),
117
+ .actions ::slotted([role="button"]) {
118
+ min-width: var(--sky-touch-target, 44px);
119
+ min-height: var(--sky-touch-target, 44px);
120
+ box-sizing: border-box;
121
+ }
122
+
123
+ :host-context([dir="rtl"]) .leading-button .icon {
124
+ transform: scaleX(-1);
125
+ }
126
+
127
+ @media (prefers-reduced-motion: reduce) {
128
+ :host,
129
+ .content,
130
+ .leading-button,
131
+ .leading ::slotted(*),
132
+ .actions ::slotted(*) {
133
+ transition: none;
134
+ }
135
+
136
+ :host-context([dir="rtl"]) .leading-button .icon {
137
+ transform: none;
138
+ }
139
+ }
140
+
141
+ `}updated(t){if(t.has("color")&&(this.color?(this.style.setProperty("--appbar-bg-color",l(this.color)),this.style.setProperty("--appbar-text-color",p(this.color))):(this.style.removeProperty("--appbar-bg-color"),this.style.removeProperty("--appbar-text-color"))),t.has("url")){const t=this.url?`url(${this.url})`:"none";this.style.setProperty("--appbar-bg-image",t)}}render(){return s`
142
+ ${this.url?s`
143
+ <div
144
+ class="background"
145
+ style="background-image: url(${this.url});"
146
+ ></div>
147
+ <div class="background-overlay" aria-hidden="true"></div>
148
+ `:r}
149
+ <div
150
+ class="content"
151
+ part="content"
152
+ role="${this.banner?"banner":"group"}"
153
+ >
154
+ <div class="leading" part="leading">
155
+ <slot name="button">
156
+ <button
157
+ type="button"
158
+ class="leading-button"
159
+ aria-label="${this.leadingLabel}"
160
+ >
161
+ <sky-icon class="icon" icon="mdi:menu"></sky-icon>
162
+ </button>
163
+ </slot>
164
+ </div>
165
+ <div class="title-area" part="title">
166
+ <span class="title-text">${this.title}</span>
167
+ </div>
168
+ <div class="actions" part="actions">
169
+ <slot></slot>
170
+ </div>
171
+ </div>
172
+ `}};t([n({type:String}),e("design:type",Object)],c.prototype,"title",void 0),t([n({type:String}),e("design:type",Object)],c.prototype,"color",void 0),t([n({type:String}),e("design:type",Object)],c.prototype,"url",void 0),t([n({type:Boolean}),e("design:type",Object)],c.prototype,"banner",void 0),t([n({type:Boolean}),e("design:type",Object)],c.prototype,"dense",void 0),t([n({type:Boolean}),e("design:type",Object)],c.prototype,"elevated",void 0),t([n({type:String}),e("design:type",Object)],c.prototype,"leadingLabel",void 0),c=t([a("sky-appbar")],c);export{c as SkyAppbar};
173
+ //# sourceMappingURL=sky-appbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sky-appbar.js","sources":["../../src/sky-appbar/sky-appbar.ts"],"sourcesContent":[null],"names":["SkyAppbar","LitElement","constructor","this","title","color","url","banner","dense","elevated","leadingLabel","dependencies","SkyIcon","styles","css","updated","changedProperties","has","style","setProperty","resolveColor","resolveTextColorForToken","removeProperty","image","render","html","nothing","__decorate","property","type","String","prototype","Boolean","customElement"],"mappings":"qUAoEO,IAAMA,EAAN,cAAwBC,EAAxB,WAAAC,uBAOuBC,KAAAC,MAAQ,UAMRD,KAAAE,MAAQ,UAGRF,KAAAG,IAAM,GAGLH,KAAAI,QAAS,EAGTJ,KAAAK,OAAQ,EAGRL,KAAAM,UAAW,EAGZN,KAAAO,aAAe,WAyM7C,QAnOSP,KAAAQ,aAAyD,CAC9D,WAAYC,EACZ,QA0BcT,KAAAU,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4I1B,CAGiB,OAAAC,CAAQC,GAczB,GAbIA,EAAkBC,IAAI,WACpBd,KAAKE,OACPF,KAAKe,MAAMC,YAAY,oBAAqBC,EAAajB,KAAKE,QAC9DF,KAAKe,MAAMC,YACT,sBACAE,EAAyBlB,KAAKE,UAGhCF,KAAKe,MAAMI,eAAe,qBAC1BnB,KAAKe,MAAMI,eAAe,yBAI1BN,EAAkBC,IAAI,OAAQ,CAChC,MAAMM,EAAQpB,KAAKG,IAAM,OAAOH,KAAKG,OAAS,OAC9CH,KAAKe,MAAMC,YAAY,oBAAqBI,EAC9C,CACF,CAES,MAAAC,GACP,OAAOC,CAAI;QACPtB,KAAKG,IACHmB,CAAI;;;6CAG+BtB,KAAKG;;;YAIxCoB;;;;gBAIMvB,KAAKI,OAAS,SAAW;;;;;;;4BAObJ,KAAKO;;;;;;;qCAOIP,KAAKC;;;;;;KAOxC,GA7N4BuB,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAA4B9B,EAAA+B,UAAA,gBAMlBJ,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAA4B9B,EAAA+B,UAAA,gBAGlBJ,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAAmB9B,EAAA+B,UAAA,cAGRJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAAyBhC,EAAA+B,UAAA,iBAGdJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAAyBhC,EAAA+B,UAAA,gBAGdJ,EAAA,CAA5BC,EAAS,CAAEC,KAAMG,mCAA4BhC,EAAA+B,UAAA,mBAGlBJ,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAAqC9B,EAAA+B,UAAA,uBA5B5C/B,EAAS2B,EAAA,CADrBM,EAAc,eACFjC"}
@@ -0,0 +1 @@
1
+ export * from "./sky-avatar";
@@ -0,0 +1 @@
1
+ export * from './sky-avatar.js';