agnosticui-core 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (249) hide show
  1. package/README.md +67 -33
  2. package/dist/{VueButton.vue_vue_type_script_setup_true_lang-Bq8IPXqd.js → VueButton.vue_vue_type_script_setup_true_lang-D1jGatE9.js} +17 -15
  3. package/dist/{VueButtonFx.vue_vue_type_script_setup_true_lang-BUudF-lg.js → VueButtonFx.vue_vue_type_script_setup_true_lang-BRrt6Nxs.js} +1 -0
  4. package/dist/{VueCheckbox.vue_vue_type_script_setup_true_lang-DERDRO2P.js → VueCheckbox.vue_vue_type_script_setup_true_lang-VtQfJ-6f.js} +9 -10
  5. package/dist/{VueCombobox.vue_vue_type_script_setup_true_lang-C7gDMrYJ.js → VueCombobox.vue_vue_type_script_setup_true_lang-BSTZGX2X.js} +15 -13
  6. package/dist/VueIcon.vue_vue_type_script_setup_true_lang-C2Sky3bU.js +22 -0
  7. package/dist/{VueImage.vue_vue_type_script_setup_true_lang-CUwbK3NF.js → VueImage.vue_vue_type_script_setup_true_lang-SddK93SB.js} +23 -17
  8. package/dist/{VueInput.vue_vue_type_script_setup_true_lang-Dsxo7DuX.js → VueInput.vue_vue_type_script_setup_true_lang-wYdAqg-i.js} +19 -19
  9. package/dist/{VueMenu.vue_vue_type_script_setup_true_lang-bnn7ochj.js → VueMenu.vue_vue_type_script_setup_true_lang-BXc7397e.js} +5 -4
  10. package/dist/{VueRadio.vue_vue_type_script_setup_true_lang-DxNhH12d.js → VueRadio.vue_vue_type_script_setup_true_lang-C7Z-sWpa.js} +10 -12
  11. package/dist/{VueRating.vue_vue_type_script_setup_true_lang-CICncp71.js → VueRating.vue_vue_type_script_setup_true_lang-Bm2nRrqr.js} +11 -9
  12. package/dist/VueSelectionButton.vue_vue_type_script_setup_true_lang-DJN-Uk6n.js +24 -0
  13. package/dist/VueSelectionButtonGroup.vue_vue_type_script_setup_true_lang-DwYrIMVO.js +46 -0
  14. package/dist/VueSelectionCard.vue_vue_type_script_setup_true_lang-DJiyPsXH.js +24 -0
  15. package/dist/VueSelectionCardGroup.vue_vue_type_script_setup_true_lang-D5CycLY5.js +40 -0
  16. package/dist/{VueToggle.vue_vue_type_script_setup_true_lang-BxrvAsse.js → VueToggle.vue_vue_type_script_setup_true_lang-DLPCBOqZ.js} +18 -16
  17. package/dist/components/Alert/core/_Alert.d.ts.map +1 -1
  18. package/dist/components/Alert/core/_Alert.js +38 -19
  19. package/dist/components/Button/core/_Button.d.ts +5 -0
  20. package/dist/components/Button/core/_Button.d.ts.map +1 -1
  21. package/dist/components/Button/core/_Button.js +147 -65
  22. package/dist/components/Button/vue/VueButton.js +1 -1
  23. package/dist/components/Button/vue/VueButton.vue.d.ts +3 -0
  24. package/dist/components/Button/vue/VueButton.vue.d.ts.map +1 -1
  25. package/dist/components/Button/vue/index.js +1 -1
  26. package/dist/components/ButtonFx/vue/VueButtonFx.js +1 -1
  27. package/dist/components/ButtonFx/vue/index.js +1 -1
  28. package/dist/components/Card/core/_Card.d.ts +9 -1
  29. package/dist/components/Card/core/_Card.d.ts.map +1 -1
  30. package/dist/components/Card/core/_Card.js +83 -29
  31. package/dist/components/Card/vue/VueCard.js +29 -16
  32. package/dist/components/Card/vue/VueCard.vue.d.ts +25 -5
  33. package/dist/components/Card/vue/VueCard.vue.d.ts.map +1 -1
  34. package/dist/components/Checkbox/core/_Checkbox.d.ts +37 -11
  35. package/dist/components/Checkbox/core/_Checkbox.d.ts.map +1 -1
  36. package/dist/components/Checkbox/core/_Checkbox.js +73 -42
  37. package/dist/components/Checkbox/vue/VueCheckbox.js +1 -1
  38. package/dist/components/Checkbox/vue/VueCheckbox.vue.d.ts +3 -3
  39. package/dist/components/Checkbox/vue/VueCheckbox.vue.d.ts.map +1 -1
  40. package/dist/components/Checkbox/vue/index.js +1 -1
  41. package/dist/components/Combobox/core/_Combobox.d.ts +24 -1
  42. package/dist/components/Combobox/core/_Combobox.d.ts.map +1 -1
  43. package/dist/components/Combobox/core/_Combobox.js +141 -92
  44. package/dist/components/Combobox/vue/VueCombobox.js +1 -1
  45. package/dist/components/Combobox/vue/index.js +1 -1
  46. package/dist/components/Fieldset/vue/VueFieldset.vue.d.ts +1 -1
  47. package/dist/components/Icon/vue/VueIcon.js +1 -1
  48. package/dist/components/Icon/vue/VueIcon.vue.d.ts.map +1 -1
  49. package/dist/components/Icon/vue/index.js +1 -1
  50. package/dist/components/Image/vue/VueImage.js +1 -1
  51. package/dist/components/Image/vue/VueImage.vue.d.ts.map +1 -1
  52. package/dist/components/Image/vue/index.js +1 -1
  53. package/dist/components/Input/core/_Input.d.ts +21 -2
  54. package/dist/components/Input/core/_Input.d.ts.map +1 -1
  55. package/dist/components/Input/core/_Input.js +71 -35
  56. package/dist/components/Input/vue/VueInput.js +1 -1
  57. package/dist/components/Input/vue/VueInput.vue.d.ts.map +1 -1
  58. package/dist/components/Input/vue/index.js +1 -1
  59. package/dist/components/Link/core/_Link.d.ts.map +1 -1
  60. package/dist/components/Link/core/_Link.js +1 -0
  61. package/dist/components/Link/vue/VueLink.js +6 -5
  62. package/dist/components/Link/vue/VueLink.vue.d.ts.map +1 -1
  63. package/dist/components/Menu/vue/VueMenu.js +1 -1
  64. package/dist/components/Menu/vue/index.js +1 -1
  65. package/dist/components/Pagination/core/_Pagination.d.ts +0 -1
  66. package/dist/components/Pagination/core/_Pagination.d.ts.map +1 -1
  67. package/dist/components/Pagination/core/_Pagination.js +6 -9
  68. package/dist/components/Radio/core/_Radio.d.ts +55 -10
  69. package/dist/components/Radio/core/_Radio.d.ts.map +1 -1
  70. package/dist/components/Radio/core/_Radio.js +165 -116
  71. package/dist/components/Radio/vue/VueRadio.js +1 -1
  72. package/dist/components/Radio/vue/VueRadio.vue.d.ts.map +1 -1
  73. package/dist/components/Radio/vue/index.js +1 -1
  74. package/dist/components/Rating/core/_Rating.d.ts +23 -2
  75. package/dist/components/Rating/core/_Rating.d.ts.map +1 -1
  76. package/dist/components/Rating/core/_Rating.js +97 -64
  77. package/dist/components/Rating/vue/VueRating.js +1 -1
  78. package/dist/components/Rating/vue/VueRating.vue.d.ts +2 -0
  79. package/dist/components/Rating/vue/VueRating.vue.d.ts.map +1 -1
  80. package/dist/components/Rating/vue/index.js +1 -1
  81. package/dist/components/Select/core/_Select.d.ts +20 -2
  82. package/dist/components/Select/core/_Select.d.ts.map +1 -1
  83. package/dist/components/Select/core/_Select.js +99 -69
  84. package/dist/components/SelectionButton/core/SelectionButton.d.ts +9 -0
  85. package/dist/components/SelectionButton/core/SelectionButton.d.ts.map +1 -0
  86. package/dist/components/SelectionButton/core/SelectionButton.js +5 -0
  87. package/dist/components/SelectionButton/core/_SelectionButton.d.ts +47 -0
  88. package/dist/components/SelectionButton/core/_SelectionButton.d.ts.map +1 -0
  89. package/dist/components/SelectionButton/core/_SelectionButton.js +474 -0
  90. package/dist/components/SelectionButton/react/ReactSelectionButton.d.ts +9 -0
  91. package/dist/components/SelectionButton/react/ReactSelectionButton.d.ts.map +1 -0
  92. package/dist/components/SelectionButton/react/ReactSelectionButton.js +12 -0
  93. package/dist/components/SelectionButton/react/index.d.ts +3 -0
  94. package/dist/components/SelectionButton/react/index.d.ts.map +1 -0
  95. package/dist/components/SelectionButton/react/index.js +4 -0
  96. package/dist/components/SelectionButton/vue/VueSelectionButton.js +4 -0
  97. package/dist/components/SelectionButton/vue/VueSelectionButton.vue.d.ts +55 -0
  98. package/dist/components/SelectionButton/vue/VueSelectionButton.vue.d.ts.map +1 -0
  99. package/dist/components/SelectionButton/vue/index.d.ts +6 -0
  100. package/dist/components/SelectionButton/vue/index.d.ts.map +1 -0
  101. package/dist/components/SelectionButton/vue/index.js +4 -0
  102. package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts +9 -0
  103. package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.d.ts.map +1 -0
  104. package/dist/components/SelectionButtonGroup/core/SelectionButtonGroup.js +5 -0
  105. package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.d.ts +87 -0
  106. package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.d.ts.map +1 -0
  107. package/dist/components/SelectionButtonGroup/core/_SelectionButtonGroup.js +235 -0
  108. package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.d.ts +13 -0
  109. package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.d.ts.map +1 -0
  110. package/dist/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.js +15 -0
  111. package/dist/components/SelectionButtonGroup/react/index.d.ts +3 -0
  112. package/dist/components/SelectionButtonGroup/react/index.d.ts.map +1 -0
  113. package/dist/components/SelectionButtonGroup/react/index.js +4 -0
  114. package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.js +4 -0
  115. package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue.d.ts +101 -0
  116. package/dist/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue.d.ts.map +1 -0
  117. package/dist/components/SelectionButtonGroup/vue/index.d.ts +6 -0
  118. package/dist/components/SelectionButtonGroup/vue/index.d.ts.map +1 -0
  119. package/dist/components/SelectionButtonGroup/vue/index.js +4 -0
  120. package/dist/components/SelectionCard/core/SelectionCard.d.ts +9 -0
  121. package/dist/components/SelectionCard/core/SelectionCard.d.ts.map +1 -0
  122. package/dist/components/SelectionCard/core/SelectionCard.js +5 -0
  123. package/dist/components/SelectionCard/core/_SelectionCard.d.ts +39 -0
  124. package/dist/components/SelectionCard/core/_SelectionCard.d.ts.map +1 -0
  125. package/dist/components/SelectionCard/core/_SelectionCard.js +318 -0
  126. package/dist/components/SelectionCard/react/ReactSelectionCard.d.ts +9 -0
  127. package/dist/components/SelectionCard/react/ReactSelectionCard.d.ts.map +1 -0
  128. package/dist/components/SelectionCard/react/ReactSelectionCard.js +12 -0
  129. package/dist/components/SelectionCard/react/index.d.ts +3 -0
  130. package/dist/components/SelectionCard/react/index.d.ts.map +1 -0
  131. package/dist/components/SelectionCard/react/index.js +4 -0
  132. package/dist/components/SelectionCard/vue/VueSelectionCard.js +4 -0
  133. package/dist/components/SelectionCard/vue/VueSelectionCard.vue.d.ts +55 -0
  134. package/dist/components/SelectionCard/vue/VueSelectionCard.vue.d.ts.map +1 -0
  135. package/dist/components/SelectionCard/vue/index.d.ts +6 -0
  136. package/dist/components/SelectionCard/vue/index.d.ts.map +1 -0
  137. package/dist/components/SelectionCard/vue/index.js +4 -0
  138. package/dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts +9 -0
  139. package/dist/components/SelectionCardGroup/core/SelectionCardGroup.d.ts.map +1 -0
  140. package/dist/components/SelectionCardGroup/core/SelectionCardGroup.js +5 -0
  141. package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.d.ts +69 -0
  142. package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.d.ts.map +1 -0
  143. package/dist/components/SelectionCardGroup/core/_SelectionCardGroup.js +220 -0
  144. package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.d.ts +13 -0
  145. package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.d.ts.map +1 -0
  146. package/dist/components/SelectionCardGroup/react/ReactSelectionCardGroup.js +15 -0
  147. package/dist/components/SelectionCardGroup/react/index.d.ts +3 -0
  148. package/dist/components/SelectionCardGroup/react/index.d.ts.map +1 -0
  149. package/dist/components/SelectionCardGroup/react/index.js +4 -0
  150. package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.js +4 -0
  151. package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue.d.ts +86 -0
  152. package/dist/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue.d.ts.map +1 -0
  153. package/dist/components/SelectionCardGroup/vue/index.d.ts +6 -0
  154. package/dist/components/SelectionCardGroup/vue/index.d.ts.map +1 -0
  155. package/dist/components/SelectionCardGroup/vue/index.js +4 -0
  156. package/dist/components/Slider/core/_Slider.d.ts +10 -16
  157. package/dist/components/Slider/core/_Slider.d.ts.map +1 -1
  158. package/dist/components/Slider/core/_Slider.js +28 -39
  159. package/dist/components/Timeline/core/_Timeline.d.ts.map +1 -1
  160. package/dist/components/Timeline/core/_Timeline.js +8 -3
  161. package/dist/components/Timeline/react/ReactTimeline.d.ts +23 -9
  162. package/dist/components/Timeline/react/ReactTimeline.d.ts.map +1 -1
  163. package/dist/components/Timeline/react/ReactTimeline.js +18 -14
  164. package/dist/components/Toggle/core/_Toggle.d.ts +36 -6
  165. package/dist/components/Toggle/core/_Toggle.d.ts.map +1 -1
  166. package/dist/components/Toggle/core/_Toggle.js +117 -77
  167. package/dist/components/Toggle/vue/VueToggle.js +1 -1
  168. package/dist/components/Toggle/vue/VueToggle.vue.d.ts.map +1 -1
  169. package/dist/components/Toggle/vue/index.js +1 -1
  170. package/dist/shared/face-mixin.d.ts +82 -0
  171. package/dist/shared/face-mixin.d.ts.map +1 -0
  172. package/dist/shared/face-mixin.js +86 -0
  173. package/dist/shared/form-control-styles.js +1 -1
  174. package/dist/styles/ag-tokens-dark.css +4 -0
  175. package/dist/styles/ag-tokens.css +18 -13
  176. package/dist/test-setup.js +340 -255
  177. package/package.json +51 -13
  178. package/src/components/Alert/core/_Alert.ts +21 -2
  179. package/src/components/Button/core/_Button.ts +111 -21
  180. package/src/components/Button/vue/VueButton.vue +2 -0
  181. package/src/components/Card/core/_Card.ts +70 -3
  182. package/src/components/Card/vue/VueCard.vue +19 -3
  183. package/src/components/Checkbox/core/_Checkbox.ts +78 -18
  184. package/src/components/Checkbox/vue/VueCheckbox.vue +0 -6
  185. package/src/components/Combobox/core/_Combobox.ts +84 -2
  186. package/src/components/Combobox/vue/VueCombobox.vue +1 -0
  187. package/src/components/Drawer/v1/dialog--drawer-bottom.hbs +48 -0
  188. package/src/components/Drawer/v1/dialog--drawer-end.hbs +48 -0
  189. package/src/components/Drawer/v1/dialog--drawer-start.hbs +48 -0
  190. package/src/components/Drawer/v1/dialog--drawer-top.hbs +48 -0
  191. package/src/components/Drawer/v1/dialog-demo.css +13 -0
  192. package/src/components/Drawer/v1/dialog.config.yml +5 -0
  193. package/src/components/Drawer/v1/dialog.css +99 -0
  194. package/src/components/Drawer/v1/dialog.hbs +48 -0
  195. package/src/components/Drawer/v1/drawer-animations.css +52 -0
  196. package/src/components/Drawer/v1/drawer.css +50 -0
  197. package/src/components/Icon/vue/VueIcon.vue +2 -5
  198. package/src/components/Image/vue/VueImage.vue +17 -13
  199. package/src/components/Input/core/_Input.ts +58 -3
  200. package/src/components/Input/vue/VueInput.vue +2 -6
  201. package/src/components/Link/core/_Link.ts +1 -0
  202. package/src/components/Link/vue/VueLink.vue +1 -0
  203. package/src/components/Pagination/core/_Pagination.ts +10 -18
  204. package/src/components/Radio/core/_Radio.ts +131 -41
  205. package/src/components/Radio/vue/VueRadio.vue +1 -5
  206. package/src/components/Rating/core/_Rating.ts +62 -5
  207. package/src/components/Rating/vue/VueRating.vue +3 -0
  208. package/src/components/Select/core/_Select.ts +55 -6
  209. package/src/components/SelectionButton/core/SelectionButton.ts +13 -0
  210. package/src/components/SelectionButton/core/_SelectionButton.ts +551 -0
  211. package/src/components/SelectionButton/react/ReactSelectionButton.tsx +16 -0
  212. package/src/components/SelectionButton/react/index.ts +4 -0
  213. package/src/components/SelectionButton/vue/VueSelectionButton.vue +33 -0
  214. package/src/components/SelectionButton/vue/index.ts +5 -0
  215. package/src/components/SelectionButtonGroup/core/SelectionButtonGroup.ts +13 -0
  216. package/src/components/SelectionButtonGroup/core/_SelectionButtonGroup.ts +423 -0
  217. package/src/components/SelectionButtonGroup/react/ReactSelectionButtonGroup.tsx +29 -0
  218. package/src/components/SelectionButtonGroup/react/index.ts +9 -0
  219. package/src/components/SelectionButtonGroup/vue/VueSelectionButtonGroup.vue +89 -0
  220. package/src/components/SelectionButtonGroup/vue/index.ts +5 -0
  221. package/src/components/SelectionCard/core/SelectionCard.ts +13 -0
  222. package/src/components/SelectionCard/core/_SelectionCard.ts +384 -0
  223. package/src/components/SelectionCard/react/ReactSelectionCard.tsx +16 -0
  224. package/src/components/SelectionCard/react/index.ts +4 -0
  225. package/src/components/SelectionCard/vue/VueSelectionCard.vue +33 -0
  226. package/src/components/SelectionCard/vue/index.ts +5 -0
  227. package/src/components/SelectionCardGroup/core/SelectionCardGroup.ts +13 -0
  228. package/src/components/SelectionCardGroup/core/_SelectionCardGroup.ts +396 -0
  229. package/src/components/SelectionCardGroup/react/ReactSelectionCardGroup.tsx +29 -0
  230. package/src/components/SelectionCardGroup/react/index.ts +9 -0
  231. package/src/components/SelectionCardGroup/vue/VueSelectionCardGroup.vue +71 -0
  232. package/src/components/SelectionCardGroup/vue/index.ts +5 -0
  233. package/src/components/Slider/core/_Slider.ts +28 -28
  234. package/src/components/Timeline/core/_Timeline.ts +5 -0
  235. package/src/components/Timeline/react/ReactTimeline.tsx +47 -24
  236. package/src/components/Toggle/core/_Toggle.ts +83 -9
  237. package/src/components/Toggle/vue/VueToggle.vue +2 -0
  238. package/src/shared/face-mixin.ts +233 -0
  239. package/src/shared/form-control-styles.ts +1 -1
  240. package/src/styles/ag-tokens-dark.css +4 -0
  241. package/src/styles/ag-tokens.css +18 -13
  242. package/RTL_IMPLEMENTATION_PLAN.md +0 -295
  243. package/dist/VueIcon.vue_vue_type_script_setup_true_lang-kC-nzMyu.js +0 -25
  244. package/dist/components/Input/core/_Input.BACKUP.d.ts +0 -114
  245. package/dist/components/Input/core/_Input.BACKUP.d.ts.map +0 -1
  246. package/dist/components/Input/core/_Input.BACKUP.js +0 -511
  247. package/dist/global.d.js +0 -1
  248. package/src/components/Input/core/_Input.BACKUP.ts +0 -710
  249. package/src/global.d.ts +0 -43
@@ -1,17 +1,26 @@
1
- import { LitElement as h, css as l, html as c } from "lit";
2
- import { n as a } from "../../../property-CemaeiRl.js";
3
- import { o as i } from "../../../if-defined-C8i28hSj.js";
4
- var b = Object.defineProperty, o = (g, r, e, v) => {
5
- for (var n = void 0, s = g.length - 1, u; s >= 0; s--)
6
- (u = g[s]) && (n = u(r, e, n) || n);
7
- return n && b(r, e, n), n;
1
+ import { LitElement as l, css as c, html as h } from "lit";
2
+ import { n as r } from "../../../property-CemaeiRl.js";
3
+ import { o as s } from "../../../if-defined-C8i28hSj.js";
4
+ var b = Object.defineProperty, o = (g, a, e, v) => {
5
+ for (var n = void 0, i = g.length - 1, u; i >= 0; i--)
6
+ (u = g[i]) && (n = u(a, e, n) || n);
7
+ return n && b(a, e, n), n;
8
8
  };
9
- const d = class d extends h {
9
+ const d = class d extends l {
10
10
  constructor() {
11
- super(), this.disabled = !1, this.loading = !1, this.toggle = !1, this.pressed = !1, this.bordered = !1, this.ghost = !1, this.link = !1, this.grouped = !1, this.type = "button", this.ariaLabel = "", this.variant = "", this.size = "md", this.shape = "";
11
+ super(), this.disabled = !1, this.loading = !1, this.toggle = !1, this.pressed = !1, this.bordered = !1, this.ghost = !1, this.link = !1, this.grouped = !1, this.fullWidth = !1, this.type = "button", this.ariaLabel = "", this.variant = "", this.size = "md", this.shape = "";
12
12
  }
13
- _handleClick(r) {
14
- if (this.onClick && this.onClick(r), this.toggle && !this.disabled && !this.loading && !r.defaultPrevented) {
13
+ _handleClick(a) {
14
+ if (this.onClick && this.onClick(a), !this.disabled && !this.loading && !a.defaultPrevented) {
15
+ if (this.type === "submit") {
16
+ const e = this.closest("form");
17
+ e && e.requestSubmit();
18
+ } else if (this.type === "reset") {
19
+ const e = this.closest("form");
20
+ e && e.reset();
21
+ }
22
+ }
23
+ if (this.toggle && !this.disabled && !this.loading && !a.defaultPrevented) {
15
24
  this.pressed = !this.pressed;
16
25
  const e = new CustomEvent("toggle", {
17
26
  detail: { pressed: this.pressed },
@@ -21,16 +30,16 @@ const d = class d extends h {
21
30
  this.dispatchEvent(e), this.onToggle && this.onToggle(e);
22
31
  }
23
32
  }
24
- _handleFocus(r) {
25
- this.onFocus && this.onFocus(r);
33
+ _handleFocus(a) {
34
+ this.onFocus && this.onFocus(a);
26
35
  const e = new FocusEvent("focus", {
27
36
  bubbles: !0,
28
37
  composed: !0
29
38
  });
30
39
  this.dispatchEvent(e);
31
40
  }
32
- _handleBlur(r) {
33
- this.onBlur && this.onBlur(r);
41
+ _handleBlur(a) {
42
+ this.onBlur && this.onBlur(a);
34
43
  const e = new FocusEvent("blur", {
35
44
  bubbles: !0,
36
45
  composed: !0
@@ -41,27 +50,27 @@ const d = class d extends h {
41
50
  * Focus the internal button element
42
51
  */
43
52
  focus() {
44
- const r = this.shadowRoot?.querySelector("button");
45
- r && r.focus();
53
+ const a = this.shadowRoot?.querySelector("button");
54
+ a && a.focus();
46
55
  }
47
56
  /**
48
57
  * Blur the internal button element
49
58
  */
50
59
  blur() {
51
- const r = this.shadowRoot?.querySelector("button");
52
- r && r.blur();
60
+ const a = this.shadowRoot?.querySelector("button");
61
+ a && a.blur();
53
62
  }
54
63
  render() {
55
- const r = this.disabled || this.loading;
56
- return c`
64
+ const a = this.disabled || this.loading;
65
+ return h`
57
66
  <button
58
67
  type=${this.type}
59
68
  part="ag-button"
60
- ?disabled=${r}
61
- aria-disabled=${r ? "true" : "false"}
62
- aria-busy=${i(this.loading ? "true" : void 0)}
63
- aria-pressed=${i(this.toggle ? String(this.pressed) : void 0)}
64
- aria-label=${i(this.ariaLabel || void 0)}
69
+ ?disabled=${a}
70
+ aria-disabled=${a ? "true" : "false"}
71
+ aria-busy=${s(this.loading ? "true" : void 0)}
72
+ aria-pressed=${s(this.toggle ? String(this.pressed) : void 0)}
73
+ aria-label=${s(this.ariaLabel || void 0)}
65
74
  @click=${this._handleClick}
66
75
  @focus=${this._handleFocus}
67
76
  @blur=${this._handleBlur}
@@ -71,7 +80,7 @@ const d = class d extends h {
71
80
  `;
72
81
  }
73
82
  };
74
- d.styles = l`
83
+ d.styles = c`
75
84
  /* MINIMALIST & THEMEABLE - Styling via --ag-* design tokens */
76
85
  :host {
77
86
  /* Inline-flex for perfect centering while maintaining inline behavior */
@@ -80,10 +89,20 @@ d.styles = l`
80
89
  justify-content: center;
81
90
  }
82
91
 
92
+ /* Full-width variant */
93
+ :host([full-width]) {
94
+ display: block;
95
+ width: 100%;
96
+ }
97
+
98
+ :host([full-width]) button {
99
+ width: 100%;
100
+ }
101
+
83
102
  button {
84
103
  /* Reset browser defaults */
85
104
  margin: 0;
86
- border: none;
105
+ border: 1px solid transparent;
87
106
  background: var(--ag-background-tertiary);
88
107
 
89
108
  /* Inherit font styling from parent */
@@ -117,32 +136,32 @@ d.styles = l`
117
136
  background: var(--ag-neutral-500);
118
137
  }
119
138
 
120
- /* Primary, success, warning, and danger all have white text and get
121
- darker on hover */
139
+ /* Primary, success, warning, and danger use variant-specific foreground
140
+ tokens (--ag-{variant}-fg) and get darker on hover */
122
141
  :host([variant="primary"]) button {
123
142
  background: var(--ag-primary);
124
- color: var(--ag-white);
143
+ color: var(--ag-primary-fg);
125
144
  }
126
145
  :host([variant="primary"]) button:hover {
127
146
  background: var(--ag-primary-dark);
128
147
  }
129
148
  :host([variant="success"]) button {
130
149
  background: var(--ag-success);
131
- color: var(--ag-white);
150
+ color: var(--ag-success-fg);
132
151
  }
133
152
  :host([variant="success"]) button:hover {
134
153
  background: var(--ag-success-dark);
135
154
  }
136
155
  :host([variant="warning"]) button {
137
156
  background: var(--ag-warning);
138
- color: var(--ag-neutral-900);
157
+ color: var(--ag-warning-fg);
139
158
  }
140
159
  :host([variant="warning"]) button:hover {
141
160
  background: var(--ag-warning-dark);
142
161
  }
143
162
  :host([variant="danger"]) button {
144
163
  background: var(--ag-danger);
145
- color: var(--ag-white);
164
+ color: var(--ag-danger-fg);
146
165
  }
147
166
  :host([variant="danger"]) button:hover {
148
167
  background: var(--ag-danger-dark);
@@ -159,30 +178,45 @@ d.styles = l`
159
178
 
160
179
  /* Size variants */
161
180
  :host([size="x-sm"]) button {
181
+ height: var(--ag-space-8);
182
+ min-height: var(--ag-space-8);
162
183
  font-size: calc(var(--ag-font-size-base) - 0.375rem);
163
- padding: var(--ag-space-1) var(--ag-space-2);
184
+ padding-inline: var(--ag-space-2);
185
+ padding-block: 0;
164
186
  }
165
187
 
166
188
  :host([size="sm"]) button {
189
+ height: var(--ag-space-9);
190
+ min-height: var(--ag-space-9);
167
191
  font-size: var(--ag-font-size-xs);
168
- padding: var(--ag-space-2) var(--ag-space-3);
192
+ padding-inline: var(--ag-space-3);
193
+ padding-block: 0;
169
194
  }
170
195
 
171
196
  /* Default size (md) - applies when no size attribute or size="md" */
172
197
  button,
173
198
  :host([size="md"]) button {
199
+ height: var(--ag-space-10);
200
+ min-height: var(--ag-space-10);
174
201
  font-size: var(--ag-font-size-sm);
175
- padding: var(--ag-space-3) var(--ag-space-4);
202
+ padding-inline: var(--ag-space-4);
203
+ padding-block: 0;
176
204
  }
177
205
 
178
206
  :host([size="lg"]) button {
207
+ height: var(--ag-space-12);
208
+ min-height: var(--ag-space-12);
179
209
  font-size: var(--ag-font-size-base);
180
- padding: var(--ag-space-3) var(--ag-space-5);
210
+ padding-inline: var(--ag-space-5);
211
+ padding-block: 0;
181
212
  }
182
213
 
183
214
  :host([size="xl"]) button {
215
+ height: var(--ag-space-14);
216
+ min-height: var(--ag-space-14);
184
217
  font-size: var(--ag-font-size-md);
185
- padding: var(--ag-space-3) var(--ag-space-6);
218
+ padding-inline: var(--ag-space-6);
219
+ padding-block: 0;
186
220
  }
187
221
 
188
222
  /* Shape variants */
@@ -225,7 +259,7 @@ d.styles = l`
225
259
  :host([ghost]) button,
226
260
  :host([link]) button {
227
261
  background: transparent;
228
- border: none;
262
+ border-color: transparent;
229
263
  box-shadow: none;
230
264
  }
231
265
 
@@ -306,7 +340,7 @@ d.styles = l`
306
340
  /* Bordered variant - outline style */
307
341
  :host([bordered]) button {
308
342
  background: transparent;
309
- border: 1px solid var(--ag-neutral-500);
343
+ border-color: var(--ag-neutral-500);
310
344
  }
311
345
 
312
346
  :host([bordered][variant="primary"]) button {
@@ -314,11 +348,11 @@ d.styles = l`
314
348
  border-color: var(--ag-primary-text);
315
349
  }
316
350
 
317
- /* Bordered Buttons on Hover have a filled background with white text. The
318
- Default Bordered is an exception to this rule. */
351
+ /* Bordered Buttons on Hover have a filled background with variant-specific
352
+ foreground text. The Default Bordered is an exception to this rule. */
319
353
  :host([bordered][variant="primary"]) button:hover {
320
354
  background: var(--ag-primary);
321
- color: var(--ag-white);
355
+ color: var(--ag-primary-fg);
322
356
  }
323
357
 
324
358
  :host([bordered][variant="secondary"]) button,
@@ -333,7 +367,7 @@ d.styles = l`
333
367
  }
334
368
 
335
369
  :host([bordered][variant="success"]) button:hover {
336
- color: var(--ag-white);
370
+ color: var(--ag-success-fg);
337
371
  background: var(--ag-success);
338
372
  }
339
373
 
@@ -344,7 +378,7 @@ d.styles = l`
344
378
 
345
379
  :host([bordered][variant="warning"]) button:hover {
346
380
  background: var(--ag-warning);
347
- color: var(--ag-neutral-900);
381
+ color: var(--ag-warning-fg);
348
382
  }
349
383
 
350
384
  :host([bordered][variant="danger"]) button {
@@ -354,7 +388,7 @@ d.styles = l`
354
388
 
355
389
  :host([bordered][variant="danger"]) button:hover {
356
390
  background: var(--ag-danger);
357
- color: var(--ag-white);
391
+ color: var(--ag-danger-fg);
358
392
  }
359
393
 
360
394
  :host([bordered][variant="monochrome"]) button {
@@ -375,11 +409,56 @@ d.styles = l`
375
409
  background: var(--ag-background-secondary);
376
410
  }
377
411
 
412
+ /* Disabled states - per-variant to maintain tonal identity */
413
+
414
+ /* Filled buttons - use lighter background tokens */
415
+ :host([variant="primary"]) button:disabled {
416
+ background: var(--ag-primary-background);
417
+ color: var(--ag-primary-text);
418
+ }
419
+
420
+ :host([variant="success"]) button:disabled {
421
+ background: var(--ag-success-background);
422
+ color: var(--ag-success-text);
423
+ }
424
+
425
+ :host([variant="warning"]) button:disabled {
426
+ background: var(--ag-warning-background);
427
+ color: var(--ag-warning-text);
428
+ }
429
+
430
+ :host([variant="danger"]) button:disabled {
431
+ background: var(--ag-danger-background);
432
+ color: var(--ag-danger-text);
433
+ }
434
+
435
+ :host([variant="secondary"]) button:disabled,
378
436
  button:disabled {
379
- cursor: not-allowed;
380
437
  background: var(--ag-background-disabled);
381
438
  }
382
439
 
440
+ :host([variant="monochrome"]) button:disabled {
441
+ background: var(--ag-background-tertiary);
442
+ }
443
+
444
+ /* Bordered buttons - dim the border and text with opacity */
445
+ :host([bordered]) button:disabled {
446
+ opacity: 60%;
447
+ background: transparent;
448
+ }
449
+
450
+ /* Ghost and link buttons - dim with opacity */
451
+ :host([ghost]) button:disabled,
452
+ :host([link]) button:disabled {
453
+ opacity: 60%;
454
+ background: transparent;
455
+ }
456
+
457
+ /* All disabled buttons get not-allowed cursor */
458
+ button:disabled {
459
+ cursor: not-allowed;
460
+ }
461
+
383
462
  button:focus-visible,
384
463
  button:focus:not(:hover) {
385
464
  /* Softer focus ring using alpha channel */
@@ -390,55 +469,58 @@ d.styles = l`
390
469
  `;
391
470
  let t = d;
392
471
  o([
393
- a({ type: String, reflect: !0 })
472
+ r({ type: String, reflect: !0 })
394
473
  ], t.prototype, "variant");
395
474
  o([
396
- a({ type: String, reflect: !0 })
475
+ r({ type: String, reflect: !0 })
397
476
  ], t.prototype, "size");
398
477
  o([
399
- a({ type: String, reflect: !0 })
478
+ r({ type: String, reflect: !0 })
400
479
  ], t.prototype, "shape");
401
480
  o([
402
- a({ type: Boolean, reflect: !0 })
481
+ r({ type: Boolean, reflect: !0 })
403
482
  ], t.prototype, "bordered");
404
483
  o([
405
- a({ type: Boolean, reflect: !0 })
484
+ r({ type: Boolean, reflect: !0 })
406
485
  ], t.prototype, "ghost");
407
486
  o([
408
- a({ type: Boolean, reflect: !0 })
487
+ r({ type: Boolean, reflect: !0 })
409
488
  ], t.prototype, "link");
410
489
  o([
411
- a({ type: Boolean, reflect: !0 })
490
+ r({ type: Boolean, reflect: !0 })
412
491
  ], t.prototype, "grouped");
413
492
  o([
414
- a({ type: String })
493
+ r({ type: Boolean, reflect: !0, attribute: "full-width" })
494
+ ], t.prototype, "fullWidth");
495
+ o([
496
+ r({ type: String })
415
497
  ], t.prototype, "type");
416
498
  o([
417
- a({ type: Boolean })
499
+ r({ type: Boolean })
418
500
  ], t.prototype, "disabled");
419
501
  o([
420
- a({ type: Boolean })
502
+ r({ type: Boolean })
421
503
  ], t.prototype, "loading");
422
504
  o([
423
- a({ type: Boolean })
505
+ r({ type: Boolean })
424
506
  ], t.prototype, "toggle");
425
507
  o([
426
- a({ type: Boolean })
508
+ r({ type: Boolean })
427
509
  ], t.prototype, "pressed");
428
510
  o([
429
- a({ type: String, reflect: !0, attribute: "aria-label" })
511
+ r({ type: String, reflect: !0, attribute: "aria-label" })
430
512
  ], t.prototype, "ariaLabel");
431
513
  o([
432
- a({ attribute: !1 })
514
+ r({ attribute: !1 })
433
515
  ], t.prototype, "onClick");
434
516
  o([
435
- a({ attribute: !1 })
517
+ r({ attribute: !1 })
436
518
  ], t.prototype, "onFocus");
437
519
  o([
438
- a({ attribute: !1 })
520
+ r({ attribute: !1 })
439
521
  ], t.prototype, "onBlur");
440
522
  o([
441
- a({ attribute: !1 })
523
+ r({ attribute: !1 })
442
524
  ], t.prototype, "onToggle");
443
525
  export {
444
526
  t as AgButton
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../../../VueButton.vue_vue_type_script_setup_true_lang-Bq8IPXqd.js";
1
+ import { _ as f } from "../../../VueButton.vue_vue_type_script_setup_true_lang-D1jGatE9.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -18,6 +18,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
18
18
  ghost: boolean;
19
19
  link: boolean;
20
20
  grouped: boolean;
21
+ fullWidth: boolean;
21
22
  ariaLabel: string;
22
23
  }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
24
  blur: (event: FocusEvent) => void;
@@ -38,6 +39,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
38
39
  ghost: boolean;
39
40
  link: boolean;
40
41
  grouped: boolean;
42
+ fullWidth: boolean;
41
43
  ariaLabel: string;
42
44
  }>>> & Readonly<{
43
45
  onBlur?: ((event: FocusEvent) => any) | undefined;
@@ -57,6 +59,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
57
59
  shape: "capsule" | "rounded" | "circle" | "square" | "rounded-square" | "";
58
60
  ghost: boolean;
59
61
  grouped: boolean;
62
+ fullWidth: boolean;
60
63
  loading: boolean;
61
64
  pressed: boolean;
62
65
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"VueButton.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/vue/VueButton.vue"],"names":[],"mappings":"AAyBA;AAGA,OAAO,KAAK,EACV,WAAW,EAEX,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AAGxB,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;CAAG;AAiF7E,iBAAS,cAAc;qBAmDO,GAAG;EAKhC;AAcD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"VueButton.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/vue/VueButton.vue"],"names":[],"mappings":"AA0BA;AAGA,OAAO,KAAK,EACV,WAAW,EAEX,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,gBAAgB,CAAC;AAGxB,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;CAAG;AAmF7E,iBAAS,cAAc;qBAmDO,GAAG;EAKhC;AAcD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { _ as e, _ as o } from "../../../VueButton.vue_vue_type_script_setup_true_lang-Bq8IPXqd.js";
1
+ import { _ as e, _ as o } from "../../../VueButton.vue_vue_type_script_setup_true_lang-D1jGatE9.js";
2
2
  export {
3
3
  e as VueButton,
4
4
  o as default
@@ -1,4 +1,4 @@
1
- import { _ as f } from "../../../VueButtonFx.vue_vue_type_script_setup_true_lang-BUudF-lg.js";
1
+ import { _ as f } from "../../../VueButtonFx.vue_vue_type_script_setup_true_lang-BRrt6Nxs.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as e } from "../../../VueButtonFx.vue_vue_type_script_setup_true_lang-BUudF-lg.js";
1
+ import { _ as e } from "../../../VueButtonFx.vue_vue_type_script_setup_true_lang-BRrt6Nxs.js";
2
2
  export {
3
3
  e as VueButtonFx
4
4
  };
@@ -2,12 +2,18 @@ import { LitElement } from 'lit';
2
2
 
3
3
  export type CardVariant = 'success' | 'info' | 'error' | 'warning' | 'monochrome' | '';
4
4
  export type CardRounded = 'sm' | 'md' | 'lg' | '';
5
+ export type CardMediaPosition = 'top' | 'bottom';
5
6
  export interface CardProps {
6
7
  stacked?: boolean;
7
8
  shadow?: boolean;
8
9
  animated?: boolean;
9
- rounded?: CardRounded;
10
+ /** Border radius size. Use 'sm', 'md', 'lg' or true (defaults to 'md') */
11
+ rounded?: CardRounded | boolean;
10
12
  variant?: CardVariant;
13
+ /** Enables the media slot for edge-to-edge image/video rendering */
14
+ hasMedia?: boolean;
15
+ /** Whether media renders above or below the header/content/footer */
16
+ mediaPosition?: CardMediaPosition;
11
17
  }
12
18
  export declare class AgCard extends LitElement implements CardProps {
13
19
  stacked: boolean;
@@ -15,6 +21,8 @@ export declare class AgCard extends LitElement implements CardProps {
15
21
  animated: boolean;
16
22
  rounded: CardRounded;
17
23
  variant: CardVariant;
24
+ hasMedia: boolean;
25
+ mediaPosition: CardMediaPosition;
18
26
  private _hasHeaderSlotContent;
19
27
  private _hasFooterSlotContent;
20
28
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"_Card.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/core/_Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC;AACvF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,qBAAa,MAAO,SAAQ,UAAW,YAAW,SAAS;IACL,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IAExE,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,qBAAqB,CAAS;;IAWtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAahB,YAAY;IAUrB,MAAM,CAAC,MAAM,0BAsIX;IAEF,MAAM;CAkBP"}
1
+ {"version":3,"file":"_Card.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/core/_Card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC;AACvF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAkBjD,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,qBAAa,MAAO,SAAQ,UAAW,YAAW,SAAS;IACL,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IACJ,OAAO,EAAE,WAAW,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC;IACI,QAAQ,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,iBAAiB,CAAC;IAEjH,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,qBAAqB,CAAS;;IAatC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAahB,YAAY;IAUrB,MAAM,CAAC,MAAM,0BAqKX;IAEF,MAAM;CA4BP"}
@@ -1,31 +1,43 @@
1
- import { LitElement as g, css as p, html as v } from "lit";
2
- import { n as e } from "../../../property-CemaeiRl.js";
3
- import { hasSlotContent as d } from "../../../utils/slot.js";
4
- var m = Object.defineProperty, s = (l, a, t, n) => {
5
- for (var o = void 0, i = l.length - 1, h; i >= 0; i--)
6
- (h = l[i]) && (o = h(a, t, o) || o);
7
- return o && m(a, t, o), o;
1
+ import { LitElement as p, css as u, nothing as g, html as l } from "lit";
2
+ import { n as o } from "../../../property-CemaeiRl.js";
3
+ import { hasSlotContent as i } from "../../../utils/slot.js";
4
+ var v = Object.defineProperty, d = (a, e, t, n) => {
5
+ for (var s = void 0, c = a.length - 1, m; c >= 0; c--)
6
+ (m = a[c]) && (s = m(e, t, s) || s);
7
+ return s && v(e, t, s), s;
8
8
  };
9
- const c = class c extends g {
9
+ const b = {
10
+ fromAttribute(a) {
11
+ return a === "" || a === "true" ? "md" : a === "false" || a === null ? "" : a || "";
12
+ },
13
+ toAttribute(a) {
14
+ return typeof a == "boolean" ? a ? "md" : null : a || null;
15
+ }
16
+ }, h = class h extends p {
10
17
  constructor() {
11
- super(), this._hasHeaderSlotContent = !1, this._hasFooterSlotContent = !1, this.stacked = !1, this.shadow = !1, this.animated = !1, this.rounded = "", this.variant = "";
18
+ super(), this._hasHeaderSlotContent = !1, this._hasFooterSlotContent = !1, this.stacked = !1, this.shadow = !1, this.animated = !1, this.rounded = "", this.variant = "", this.hasMedia = !1, this.mediaPosition = "top";
12
19
  }
13
20
  /**
14
21
  * Handle slot changes to detect if header/footer are empty
15
22
  */
16
- _handleSlotChange(a) {
17
- const t = a.target, n = t.name;
18
- n === "header" ? this._hasHeaderSlotContent = d(t) : n === "footer" && (this._hasFooterSlotContent = d(t)), this.requestUpdate();
23
+ _handleSlotChange(e) {
24
+ const t = e.target, n = t.name;
25
+ n === "header" ? this._hasHeaderSlotContent = i(t) : n === "footer" && (this._hasFooterSlotContent = i(t)), this.requestUpdate();
19
26
  }
20
27
  firstUpdated() {
21
- const a = this.shadowRoot?.querySelector('slot[name="header"]'), t = this.shadowRoot?.querySelector('slot[name="footer"]');
22
- this._hasHeaderSlotContent = d(a), this._hasFooterSlotContent = d(t), this.requestUpdate();
28
+ const e = this.shadowRoot?.querySelector('slot[name="header"]'), t = this.shadowRoot?.querySelector('slot[name="footer"]');
29
+ this._hasHeaderSlotContent = i(e), this._hasFooterSlotContent = i(t), this.requestUpdate();
23
30
  }
24
31
  render() {
25
- const a = this._hasHeaderSlotContent ? "card-header" : "card-header empty", t = this._hasFooterSlotContent ? "card-footer" : "card-footer empty";
26
- return v`
32
+ const e = this._hasHeaderSlotContent ? "card-header" : "card-header empty", t = this._hasFooterSlotContent ? "card-footer" : "card-footer empty";
33
+ return l`
27
34
  <div class="card-wrapper" part="ag-card-wrapper">
28
- <div class="${a}" part="ag-card-header">
35
+ ${this.hasMedia && this.mediaPosition === "top" ? l`
36
+ <div class="card-media card-media--top" part="ag-card-media">
37
+ <slot name="media"></slot>
38
+ </div>` : g}
39
+
40
+ <div class="${e}" part="ag-card-header">
29
41
  <slot name="header" @slotchange=${this._handleSlotChange}></slot>
30
42
  </div>
31
43
  <div class="card-content" part="ag-card-content">
@@ -34,11 +46,16 @@ const c = class c extends g {
34
46
  <div class="${t}" part="ag-card-footer">
35
47
  <slot name="footer" @slotchange=${this._handleSlotChange}></slot>
36
48
  </div>
49
+
50
+ ${this.hasMedia && this.mediaPosition === "bottom" ? l`
51
+ <div class="card-media card-media--bottom" part="ag-card-media">
52
+ <slot name="media"></slot>
53
+ </div>` : g}
37
54
  </div>
38
55
  `;
39
56
  }
40
57
  };
41
- c.styles = p`
58
+ h.styles = u`
42
59
  :host {
43
60
  display: block;
44
61
  position: relative;
@@ -172,23 +189,60 @@ c.styles = p`
172
189
  position: relative;
173
190
  z-index: 2;
174
191
  }
192
+
193
+ /* ── Media slot ─────────────────────────────────────────────────── */
194
+
195
+ /* Clip image corners to the card's border-radius for non-shadow cards */
196
+ :host([has-media]) {
197
+ overflow: hidden;
198
+ }
199
+
200
+ .card-media {
201
+ overflow: hidden; /* belt-and-suspenders for non-rounded cards */
202
+ line-height: 0; /* collapses inline whitespace below slotted img */
203
+ }
204
+
205
+ /* Top media: clip only the card's top two corners */
206
+ :host([rounded="sm"]) .card-media--top { border-radius: var(--ag-radius-sm) var(--ag-radius-sm) 0 0; }
207
+ :host([rounded="md"]) .card-media--top { border-radius: var(--ag-radius-md) var(--ag-radius-md) 0 0; }
208
+ :host([rounded="lg"]) .card-media--top { border-radius: var(--ag-radius-lg) var(--ag-radius-lg) 0 0; }
209
+
210
+ /* Bottom media: clip only the card's bottom two corners */
211
+ :host([rounded="sm"]) .card-media--bottom { border-radius: 0 0 var(--ag-radius-sm) var(--ag-radius-sm); }
212
+ :host([rounded="md"]) .card-media--bottom { border-radius: 0 0 var(--ag-radius-md) var(--ag-radius-md); }
213
+ :host([rounded="lg"]) .card-media--bottom { border-radius: 0 0 var(--ag-radius-lg) var(--ag-radius-lg); }
214
+
215
+ /* Sensible defaults for slotted media elements */
216
+ .card-media ::slotted(img),
217
+ .card-media ::slotted(video) {
218
+ display: block;
219
+ width: 100%;
220
+ height: auto;
221
+ object-fit: cover;
222
+ }
175
223
  `;
176
- let r = c;
177
- s([
178
- e({ type: Boolean, reflect: !0 })
224
+ let r = h;
225
+ d([
226
+ o({ type: Boolean, reflect: !0 })
179
227
  ], r.prototype, "stacked");
180
- s([
181
- e({ type: Boolean, reflect: !0 })
228
+ d([
229
+ o({ type: Boolean, reflect: !0 })
182
230
  ], r.prototype, "shadow");
183
- s([
184
- e({ type: Boolean, reflect: !0 })
231
+ d([
232
+ o({ type: Boolean, reflect: !0 })
185
233
  ], r.prototype, "animated");
186
- s([
187
- e({ type: String, reflect: !0 })
234
+ d([
235
+ o({ converter: b, reflect: !0 })
188
236
  ], r.prototype, "rounded");
189
- s([
190
- e({ type: String, reflect: !0 })
237
+ d([
238
+ o({ type: String, reflect: !0 })
191
239
  ], r.prototype, "variant");
240
+ d([
241
+ o({ type: Boolean, reflect: !0, attribute: "has-media" })
242
+ ], r.prototype, "hasMedia");
243
+ d([
244
+ o({ type: String, reflect: !0, attribute: "media-position" })
245
+ ], r.prototype, "mediaPosition");
192
246
  export {
193
247
  r as AgCard
194
248
  };