aeico-components 0.1.2 → 0.1.4

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 (224) hide show
  1. package/dist/alert.cjs +6 -0
  2. package/dist/alert.cjs.map +1 -0
  3. package/dist/alert.js +6 -0
  4. package/dist/alert.js.map +1 -0
  5. package/dist/badge.cjs +6 -0
  6. package/dist/badge.cjs.map +1 -0
  7. package/dist/badge.js +6 -0
  8. package/dist/badge.js.map +1 -0
  9. package/dist/breadcrumb.cjs +7 -0
  10. package/dist/breadcrumb.cjs.map +1 -0
  11. package/dist/breadcrumb.js +7 -0
  12. package/dist/breadcrumb.js.map +1 -0
  13. package/dist/button-group.cjs +6 -0
  14. package/dist/button-group.cjs.map +1 -0
  15. package/dist/button-group.js +6 -0
  16. package/dist/button-group.js.map +1 -0
  17. package/dist/button.cjs +6 -0
  18. package/dist/button.cjs.map +1 -0
  19. package/dist/button.js +6 -0
  20. package/dist/button.js.map +1 -0
  21. package/dist/card.cjs +6 -0
  22. package/dist/card.cjs.map +1 -0
  23. package/dist/card.js +6 -0
  24. package/dist/card.js.map +1 -0
  25. package/dist/checkbox.cjs +6 -0
  26. package/dist/checkbox.cjs.map +1 -0
  27. package/dist/checkbox.js +6 -0
  28. package/dist/checkbox.js.map +1 -0
  29. package/dist/chunks/aeico-component.cjs +17 -0
  30. package/dist/chunks/aeico-component.cjs.map +1 -0
  31. package/dist/chunks/aeico-component.js +18 -0
  32. package/dist/chunks/aeico-component.js.map +1 -0
  33. package/dist/chunks/aeico-field.cjs +179 -0
  34. package/dist/chunks/aeico-field.cjs.map +1 -0
  35. package/dist/chunks/aeico-field.js +180 -0
  36. package/dist/chunks/aeico-field.js.map +1 -0
  37. package/dist/chunks/alert.cjs +170 -0
  38. package/dist/chunks/alert.cjs.map +1 -0
  39. package/dist/chunks/alert.js +171 -0
  40. package/dist/chunks/alert.js.map +1 -0
  41. package/dist/chunks/badge.cjs +85 -0
  42. package/dist/chunks/badge.cjs.map +1 -0
  43. package/dist/chunks/badge.js +86 -0
  44. package/dist/chunks/badge.js.map +1 -0
  45. package/dist/chunks/breadcrumb-item.cjs +261 -0
  46. package/dist/chunks/breadcrumb-item.cjs.map +1 -0
  47. package/dist/chunks/breadcrumb-item.js +262 -0
  48. package/dist/chunks/breadcrumb-item.js.map +1 -0
  49. package/dist/chunks/button-group.cjs +79 -0
  50. package/dist/chunks/button-group.cjs.map +1 -0
  51. package/dist/chunks/button-group.js +80 -0
  52. package/dist/chunks/button-group.js.map +1 -0
  53. package/dist/chunks/button.cjs +351 -0
  54. package/dist/chunks/button.cjs.map +1 -0
  55. package/dist/chunks/button.js +352 -0
  56. package/dist/chunks/button.js.map +1 -0
  57. package/dist/chunks/card.cjs +93 -0
  58. package/dist/chunks/card.cjs.map +1 -0
  59. package/dist/chunks/card.js +94 -0
  60. package/dist/chunks/card.js.map +1 -0
  61. package/dist/chunks/checkbox.cjs +73 -0
  62. package/dist/chunks/checkbox.cjs.map +1 -0
  63. package/dist/chunks/checkbox.js +74 -0
  64. package/dist/chunks/checkbox.js.map +1 -0
  65. package/dist/chunks/color.cjs +4 -0
  66. package/dist/chunks/color.cjs.map +1 -0
  67. package/dist/chunks/color.js +5 -0
  68. package/dist/chunks/color.js.map +1 -0
  69. package/dist/chunks/detail.cjs +143 -0
  70. package/dist/chunks/detail.cjs.map +1 -0
  71. package/dist/chunks/detail.js +144 -0
  72. package/dist/chunks/detail.js.map +1 -0
  73. package/dist/chunks/dialog.cjs +117 -0
  74. package/dist/chunks/dialog.cjs.map +1 -0
  75. package/dist/chunks/dialog.js +118 -0
  76. package/dist/chunks/dialog.js.map +1 -0
  77. package/dist/chunks/divider.cjs +80 -0
  78. package/dist/chunks/divider.cjs.map +1 -0
  79. package/dist/chunks/divider.js +81 -0
  80. package/dist/chunks/divider.js.map +1 -0
  81. package/dist/chunks/dropdown-button.cjs +534 -0
  82. package/dist/chunks/dropdown-button.cjs.map +1 -0
  83. package/dist/chunks/dropdown-button.js +535 -0
  84. package/dist/chunks/dropdown-button.js.map +1 -0
  85. package/dist/chunks/icon-button.cjs +35 -0
  86. package/dist/chunks/icon-button.cjs.map +1 -0
  87. package/dist/chunks/icon-button.js +36 -0
  88. package/dist/chunks/icon-button.js.map +1 -0
  89. package/dist/chunks/icon.cjs +78 -0
  90. package/dist/chunks/icon.cjs.map +1 -0
  91. package/dist/chunks/icon.js +79 -0
  92. package/dist/chunks/icon.js.map +1 -0
  93. package/dist/chunks/navbar.cjs +143 -0
  94. package/dist/chunks/navbar.cjs.map +1 -0
  95. package/dist/chunks/navbar.js +144 -0
  96. package/dist/chunks/navbar.js.map +1 -0
  97. package/dist/chunks/radio.cjs +181 -0
  98. package/dist/chunks/radio.cjs.map +1 -0
  99. package/dist/chunks/radio.js +182 -0
  100. package/dist/chunks/radio.js.map +1 -0
  101. package/dist/chunks/select.cjs +350 -0
  102. package/dist/chunks/select.cjs.map +1 -0
  103. package/dist/chunks/select.js +351 -0
  104. package/dist/chunks/select.js.map +1 -0
  105. package/dist/chunks/size.cjs +4 -0
  106. package/dist/chunks/size.cjs.map +1 -0
  107. package/dist/chunks/size.js +5 -0
  108. package/dist/chunks/size.js.map +1 -0
  109. package/dist/chunks/slider.cjs +648 -0
  110. package/dist/chunks/slider.cjs.map +1 -0
  111. package/dist/chunks/slider.js +649 -0
  112. package/dist/chunks/slider.js.map +1 -0
  113. package/dist/chunks/switch.cjs +73 -0
  114. package/dist/chunks/switch.cjs.map +1 -0
  115. package/dist/chunks/switch.js +74 -0
  116. package/dist/chunks/switch.js.map +1 -0
  117. package/dist/chunks/tab-panel.cjs +166 -0
  118. package/dist/chunks/tab-panel.cjs.map +1 -0
  119. package/dist/chunks/tab-panel.js +167 -0
  120. package/dist/chunks/tab-panel.js.map +1 -0
  121. package/dist/chunks/tag.cjs +108 -0
  122. package/dist/chunks/tag.cjs.map +1 -0
  123. package/dist/chunks/tag.js +109 -0
  124. package/dist/chunks/tag.js.map +1 -0
  125. package/dist/chunks/text-input.cjs +59 -0
  126. package/dist/chunks/text-input.cjs.map +1 -0
  127. package/dist/chunks/text-input.js +60 -0
  128. package/dist/chunks/text-input.js.map +1 -0
  129. package/dist/chunks/variables.cjs +372 -0
  130. package/dist/chunks/variables.cjs.map +1 -0
  131. package/dist/chunks/variables.js +373 -0
  132. package/dist/chunks/variables.js.map +1 -0
  133. package/dist/detail.cjs +6 -0
  134. package/dist/detail.cjs.map +1 -0
  135. package/dist/detail.js +6 -0
  136. package/dist/detail.js.map +1 -0
  137. package/dist/dialog.cjs +6 -0
  138. package/dist/dialog.cjs.map +1 -0
  139. package/dist/dialog.js +6 -0
  140. package/dist/dialog.js.map +1 -0
  141. package/dist/divider.cjs +6 -0
  142. package/dist/divider.cjs.map +1 -0
  143. package/dist/divider.js +6 -0
  144. package/dist/divider.js.map +1 -0
  145. package/dist/dropdown.cjs +7 -0
  146. package/dist/dropdown.cjs.map +1 -0
  147. package/dist/dropdown.js +7 -0
  148. package/dist/dropdown.js.map +1 -0
  149. package/dist/icon-button.cjs +6 -0
  150. package/dist/icon-button.cjs.map +1 -0
  151. package/dist/icon-button.js +6 -0
  152. package/dist/icon-button.js.map +1 -0
  153. package/dist/icon.cjs +6 -0
  154. package/dist/icon.cjs.map +1 -0
  155. package/dist/icon.js +6 -0
  156. package/dist/icon.js.map +1 -0
  157. package/dist/index.cjs +49 -4223
  158. package/dist/index.cjs.map +1 -1
  159. package/dist/index.js +49 -4223
  160. package/dist/index.js.map +1 -1
  161. package/dist/navbar.cjs +6 -0
  162. package/dist/navbar.cjs.map +1 -0
  163. package/dist/navbar.js +6 -0
  164. package/dist/navbar.js.map +1 -0
  165. package/dist/radio-group.cjs +7 -0
  166. package/dist/radio-group.cjs.map +1 -0
  167. package/dist/radio-group.js +7 -0
  168. package/dist/radio-group.js.map +1 -0
  169. package/dist/select.cjs +99 -0
  170. package/dist/select.cjs.map +1 -0
  171. package/dist/select.js +99 -0
  172. package/dist/select.js.map +1 -0
  173. package/dist/slider.cjs +6 -0
  174. package/dist/slider.cjs.map +1 -0
  175. package/dist/slider.js +6 -0
  176. package/dist/slider.js.map +1 -0
  177. package/dist/switch.cjs +6 -0
  178. package/dist/switch.cjs.map +1 -0
  179. package/dist/switch.js +6 -0
  180. package/dist/switch.js.map +1 -0
  181. package/dist/tabs.cjs +8 -0
  182. package/dist/tabs.cjs.map +1 -0
  183. package/dist/tabs.js +8 -0
  184. package/dist/tabs.js.map +1 -0
  185. package/dist/tag.cjs +5 -0
  186. package/dist/tag.cjs.map +1 -0
  187. package/dist/tag.js +5 -0
  188. package/dist/tag.js.map +1 -0
  189. package/dist/text-input.cjs +6 -0
  190. package/dist/text-input.cjs.map +1 -0
  191. package/dist/text-input.js +6 -0
  192. package/dist/text-input.js.map +1 -0
  193. package/package.json +75 -63
  194. package/src/styles/color.css +117 -117
  195. package/src/styles/components/alert.css +104 -104
  196. package/src/styles/components/badge.css +67 -67
  197. package/src/styles/components/breadcrumb-item.css +59 -59
  198. package/src/styles/components/breadcrumb.css +19 -19
  199. package/src/styles/components/button-group.css +25 -25
  200. package/src/styles/components/button.css +213 -213
  201. package/src/styles/components/card.css +64 -64
  202. package/src/styles/components/checkbox.css +78 -78
  203. package/src/styles/components/detail.css +127 -127
  204. package/src/styles/components/dialog.css +103 -103
  205. package/src/styles/components/divider.css +18 -18
  206. package/src/styles/components/dropdown-item.css +91 -91
  207. package/src/styles/components/dropdown.css +179 -179
  208. package/src/styles/components/icon-button.css +116 -116
  209. package/src/styles/components/icon.css +29 -29
  210. package/src/styles/components/navbar.css +250 -250
  211. package/src/styles/components/radio-group.css +360 -360
  212. package/src/styles/components/select-option.css +43 -43
  213. package/src/styles/components/select.css +222 -222
  214. package/src/styles/components/slider.css +326 -326
  215. package/src/styles/components/switch.css +117 -117
  216. package/src/styles/components/tab-panel.css +8 -8
  217. package/src/styles/components/tab.css +44 -44
  218. package/src/styles/components/tabs.css +16 -16
  219. package/src/styles/components/tag.css +107 -107
  220. package/src/styles/components/text-input.css +110 -110
  221. package/src/styles/layout.css +43 -43
  222. package/src/styles/size.css +7 -7
  223. package/src/styles/variables.css +368 -368
  224. package/src/utils.ts +1 -0
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ const variables = require("./variables.cjs");
6
+ const color = require("./color.cjs");
7
+ const aeicoComponent = require("./aeico-component.cjs");
8
+ const aeico = require("aeico");
9
+ const aeicoLocalize = require("aeico-localize");
10
+ const alertStyle = `.alert {
11
+ position: relative;
12
+ padding: 12px 16px;
13
+ margin-bottom: 12px;
14
+ border-radius: 4px;
15
+ font-size: 12px;
16
+ line-height: 1.6;
17
+ background-color: var(--alert-solid-bg);
18
+ color: var(--alert-solid-color);
19
+ border: 1px solid var(--alert-solid-bg);
20
+ }
21
+
22
+ .alert:last-child {
23
+ margin-bottom: 0;
24
+ }
25
+
26
+ :host {
27
+ --color-solid: var(--color-primary);
28
+ --color-on-solid: var(--color-text-main);
29
+ --color-border: var(--color-primary);
30
+ --color-bg-subtle: var(--color-primary-bg-subtle);
31
+ --color-text-subtle: var(--color-primary-text-emphasis);
32
+ --color-border-subtle: var(--color-primary-border-subtle);
33
+
34
+ --alert-solid-bg: var(--color-solid);
35
+ --alert-solid-color: var(--color-on-solid);
36
+ --alert-border: var(--color-border);
37
+ --alert-subtle-bg: var(--color-bg-subtle);
38
+ --alert-subtle-color: var(--color-text-subtle);
39
+ --alert-subtle-border:var(--color-border-subtle);
40
+ }
41
+
42
+
43
+ :host([variant="faint"]) .alert {
44
+ background-color: var(--alert-subtle-bg);
45
+ color: var(--alert-subtle-color);
46
+ border-color: var(--alert-subtle-border);
47
+ }
48
+
49
+ :host([variant="subtle"]) .alert {
50
+ background-color: var(--alert-subtle-bg);
51
+ color: var(--alert-subtle-color);
52
+ border-color: transparent;
53
+ }
54
+
55
+ :host([variant="filled"]) .alert {
56
+ background-color: var(--alert-solid-bg);
57
+ color: var(--alert-solid-color);
58
+ border-color: var(--alert-solid-bg);
59
+ }
60
+
61
+ :host([variant="outlined"]) .alert {
62
+ background-color: transparent;
63
+ color: var(--alert-subtle-color);
64
+ border-color: var(--alert-border);
65
+ }
66
+
67
+ :host([dismissible]) .alert {
68
+ padding-right: 40px;
69
+ }
70
+
71
+ :host([icon]) .alert {
72
+ display: flex;
73
+ align-items: flex-start;
74
+ gap: 10px;
75
+ }
76
+
77
+ :host([icon]) .alert::before {
78
+ content: '';
79
+ flex-shrink: 0;
80
+ width: 16px;
81
+ height: 16px;
82
+ margin-top: 2px;
83
+ }
84
+
85
+ .alert-close {
86
+ position: absolute;
87
+ top: 50%;
88
+ right: 12px;
89
+ transform: translateY(-50%);
90
+ background: transparent;
91
+ border: none;
92
+ color: inherit;
93
+ opacity: 0.6;
94
+ cursor: pointer;
95
+ padding: 4px;
96
+ font-size: 18px;
97
+ line-height: 1;
98
+ transition: opacity 0.15s;
99
+ }
100
+
101
+ .alert-close:hover {
102
+ opacity: 1;
103
+ }
104
+
105
+ :host([size="sm"]) .alert {
106
+ padding: 8px 12px;
107
+ font-size: 11px;
108
+ }
109
+
110
+ :host([size="lg"]) .alert {
111
+ padding: 16px 20px;
112
+ font-size: 13px;
113
+ }
114
+ `;
115
+ class Alert extends aeicoComponent.AeicoComponent {
116
+ constructor() {
117
+ super(...arguments);
118
+ __publicField(this, "_handleClose", () => {
119
+ this.emit("alert-close", { detail: { target: this } });
120
+ this.remove();
121
+ });
122
+ }
123
+ render() {
124
+ return aeico.html(({ div, slot, button, span }) => {
125
+ div(
126
+ {
127
+ className: "alert",
128
+ role: "alert",
129
+ part: "alert",
130
+ style: { display: this.invisible ? "none" : "" }
131
+ },
132
+ () => {
133
+ slot();
134
+ if (this.dismissible) {
135
+ button(
136
+ {
137
+ className: "alert-close",
138
+ "@click": () => this._handleClose(),
139
+ title: aeicoLocalize.t("alert.close", "Close alert")
140
+ },
141
+ () => {
142
+ span({ "aria-hidden": "true", textContent: "×" });
143
+ }
144
+ );
145
+ }
146
+ }
147
+ );
148
+ });
149
+ }
150
+ show() {
151
+ if (this.invisible) {
152
+ this.invisible = false;
153
+ }
154
+ }
155
+ hide() {
156
+ this.invisible = true;
157
+ }
158
+ }
159
+ __publicField(Alert, "props", {
160
+ color: { type: String },
161
+ variant: { type: String },
162
+ size: { type: String },
163
+ dismissible: { type: Boolean },
164
+ invisible: { type: Boolean }
165
+ });
166
+ __publicField(Alert, "useStyles", ["alert"]);
167
+ __publicField(Alert, "styles", [variables.styleVariables, color.colorCSS, alertStyle]);
168
+ Alert.register();
169
+ exports.Alert = Alert;
170
+ //# sourceMappingURL=alert.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.cjs","sources":["../../src/alert/alert.ts"],"sourcesContent":["import type { InferProps, Props } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport alertStyle from '../styles/components/alert.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\nimport { t } from 'aeico-localize';\nimport type { AlertColor, AlertSize, AlertVariant } from './defines';\n\n/**\n * Alert Component\n *\n * A customizable alert/notification component with multiple variants and sizes.\n * Supports dismissible alerts and icon display.\n *\n * @example\n * ```typescript\n * // Using the static create method\n * const alert = Alert.create({\n * variant: 'info',\n * dismissible: true\n * })\n * alert.textContent = 'This is an informational message'\n * document.body.appendChild(alert)\n * ```\n *\n * @example\n * ```html\n * <!-- Using as Web Component -->\n * <ae-alert variant=\"info\">Information message</ae-alert>\n * <ae-alert variant=\"success\" dismissible>Operation successful!</ae-alert>\n * <ae-alert variant=\"warning\" size=\"sm\">Small warning</ae-alert>\n * ```\n */\nclass Alert extends AeicoComponent {\n static props: Props = {\n color: { type: String },\n variant: { type: String },\n size: { type: String },\n dismissible: { type: Boolean },\n invisible: { type: Boolean },\n };\n\n protected static useStyles = ['alert'];\n protected static styles = [styleVariables, colorCSS, alertStyle];\n\n declare color?: AlertColor;\n declare variant?: AlertVariant;\n declare size?: AlertSize;\n declare dismissible?: boolean;\n declare invisible?: boolean;\n\n protected render() {\n return html(({ div, slot, button, span }) => {\n div(\n {\n className: 'alert',\n role: 'alert',\n part: 'alert',\n style: { display: this.invisible ? 'none' : '' },\n },\n () => {\n slot();\n\n if (this.dismissible) {\n button(\n {\n className: 'alert-close',\n '@click': () => this._handleClose(),\n title: t('alert.close', 'Close alert'),\n },\n () => {\n span({ 'aria-hidden': 'true', textContent: '\\u00d7' });\n },\n );\n }\n },\n );\n });\n }\n\n show() {\n if (this.invisible) {\n this.invisible = false;\n }\n }\n\n hide() {\n this.invisible = true;\n }\n\n private _handleClose = () => {\n this.emit('alert-close', { detail: { target: this } });\n this.remove();\n };\n}\n\nAlert.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-alert': Alert;\n }\n}\n\nexport default Alert;\nexport type AlertProps = InferProps<typeof Alert>;\n"],"names":["AeicoComponent","html","t","styleVariables","colorCSS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,cAAcA,eAAAA,eAAe;AAAA,EAAnC;AAAA;AAyDU,wCAAe,MAAM;AAC3B,WAAK,KAAK,eAAe,EAAE,QAAQ,EAAE,QAAQ,KAAA,GAAQ;AACrD,WAAK,OAAA;AAAA,IACP;AAAA;AAAA,EA1CU,SAAS;AACjB,WAAOC,MAAAA,KAAK,CAAC,EAAE,KAAK,MAAM,QAAQ,WAAW;AAC3C;AAAA,QACE;AAAA,UACE,WAAW;AAAA,UACX,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO,EAAE,SAAS,KAAK,YAAY,SAAS,GAAA;AAAA,QAAG;AAAA,QAEjD,MAAM;AACJ,eAAA;AAEA,cAAI,KAAK,aAAa;AACpB;AAAA,cACE;AAAA,gBACE,WAAW;AAAA,gBACX,UAAU,MAAM,KAAK,aAAA;AAAA,gBACrB,OAAOC,cAAAA,EAAE,eAAe,aAAa;AAAA,cAAA;AAAA,cAEvC,MAAM;AACJ,qBAAK,EAAE,eAAe,QAAQ,aAAa,KAAU;AAAA,cACvD;AAAA,YAAA;AAAA,UAEJ;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AACL,QAAI,KAAK,WAAW;AAClB,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA,EAEA,OAAO;AACL,SAAK,YAAY;AAAA,EACnB;AAMF;AA5DE,cADI,OACG,SAAe;AAAA,EACpB,OAAO,EAAE,MAAM,OAAA;AAAA,EACf,SAAS,EAAE,MAAM,OAAA;AAAA,EACjB,MAAM,EAAE,MAAM,OAAA;AAAA,EACd,aAAa,EAAE,MAAM,QAAA;AAAA,EACrB,WAAW,EAAE,MAAM,QAAA;AAAQ;AAG7B,cATI,OASa,aAAY,CAAC,OAAO;AACrC,cAVI,OAUa,UAAS,CAACC,0BAAgBC,MAAAA,UAAU,UAAU;AAqDjE,MAAM,SAAA;;"}
@@ -0,0 +1,171 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import { s as styleVariables } from "./variables.js";
5
+ import { c as colorCSS } from "./color.js";
6
+ import { A as AeicoComponent } from "./aeico-component.js";
7
+ import { html } from "aeico";
8
+ import { t } from "aeico-localize";
9
+ const alertStyle = `.alert {
10
+ position: relative;
11
+ padding: 12px 16px;
12
+ margin-bottom: 12px;
13
+ border-radius: 4px;
14
+ font-size: 12px;
15
+ line-height: 1.6;
16
+ background-color: var(--alert-solid-bg);
17
+ color: var(--alert-solid-color);
18
+ border: 1px solid var(--alert-solid-bg);
19
+ }
20
+
21
+ .alert:last-child {
22
+ margin-bottom: 0;
23
+ }
24
+
25
+ :host {
26
+ --color-solid: var(--color-primary);
27
+ --color-on-solid: var(--color-text-main);
28
+ --color-border: var(--color-primary);
29
+ --color-bg-subtle: var(--color-primary-bg-subtle);
30
+ --color-text-subtle: var(--color-primary-text-emphasis);
31
+ --color-border-subtle: var(--color-primary-border-subtle);
32
+
33
+ --alert-solid-bg: var(--color-solid);
34
+ --alert-solid-color: var(--color-on-solid);
35
+ --alert-border: var(--color-border);
36
+ --alert-subtle-bg: var(--color-bg-subtle);
37
+ --alert-subtle-color: var(--color-text-subtle);
38
+ --alert-subtle-border:var(--color-border-subtle);
39
+ }
40
+
41
+
42
+ :host([variant="faint"]) .alert {
43
+ background-color: var(--alert-subtle-bg);
44
+ color: var(--alert-subtle-color);
45
+ border-color: var(--alert-subtle-border);
46
+ }
47
+
48
+ :host([variant="subtle"]) .alert {
49
+ background-color: var(--alert-subtle-bg);
50
+ color: var(--alert-subtle-color);
51
+ border-color: transparent;
52
+ }
53
+
54
+ :host([variant="filled"]) .alert {
55
+ background-color: var(--alert-solid-bg);
56
+ color: var(--alert-solid-color);
57
+ border-color: var(--alert-solid-bg);
58
+ }
59
+
60
+ :host([variant="outlined"]) .alert {
61
+ background-color: transparent;
62
+ color: var(--alert-subtle-color);
63
+ border-color: var(--alert-border);
64
+ }
65
+
66
+ :host([dismissible]) .alert {
67
+ padding-right: 40px;
68
+ }
69
+
70
+ :host([icon]) .alert {
71
+ display: flex;
72
+ align-items: flex-start;
73
+ gap: 10px;
74
+ }
75
+
76
+ :host([icon]) .alert::before {
77
+ content: '';
78
+ flex-shrink: 0;
79
+ width: 16px;
80
+ height: 16px;
81
+ margin-top: 2px;
82
+ }
83
+
84
+ .alert-close {
85
+ position: absolute;
86
+ top: 50%;
87
+ right: 12px;
88
+ transform: translateY(-50%);
89
+ background: transparent;
90
+ border: none;
91
+ color: inherit;
92
+ opacity: 0.6;
93
+ cursor: pointer;
94
+ padding: 4px;
95
+ font-size: 18px;
96
+ line-height: 1;
97
+ transition: opacity 0.15s;
98
+ }
99
+
100
+ .alert-close:hover {
101
+ opacity: 1;
102
+ }
103
+
104
+ :host([size="sm"]) .alert {
105
+ padding: 8px 12px;
106
+ font-size: 11px;
107
+ }
108
+
109
+ :host([size="lg"]) .alert {
110
+ padding: 16px 20px;
111
+ font-size: 13px;
112
+ }
113
+ `;
114
+ class Alert extends AeicoComponent {
115
+ constructor() {
116
+ super(...arguments);
117
+ __publicField(this, "_handleClose", () => {
118
+ this.emit("alert-close", { detail: { target: this } });
119
+ this.remove();
120
+ });
121
+ }
122
+ render() {
123
+ return html(({ div, slot, button, span }) => {
124
+ div(
125
+ {
126
+ className: "alert",
127
+ role: "alert",
128
+ part: "alert",
129
+ style: { display: this.invisible ? "none" : "" }
130
+ },
131
+ () => {
132
+ slot();
133
+ if (this.dismissible) {
134
+ button(
135
+ {
136
+ className: "alert-close",
137
+ "@click": () => this._handleClose(),
138
+ title: t("alert.close", "Close alert")
139
+ },
140
+ () => {
141
+ span({ "aria-hidden": "true", textContent: "×" });
142
+ }
143
+ );
144
+ }
145
+ }
146
+ );
147
+ });
148
+ }
149
+ show() {
150
+ if (this.invisible) {
151
+ this.invisible = false;
152
+ }
153
+ }
154
+ hide() {
155
+ this.invisible = true;
156
+ }
157
+ }
158
+ __publicField(Alert, "props", {
159
+ color: { type: String },
160
+ variant: { type: String },
161
+ size: { type: String },
162
+ dismissible: { type: Boolean },
163
+ invisible: { type: Boolean }
164
+ });
165
+ __publicField(Alert, "useStyles", ["alert"]);
166
+ __publicField(Alert, "styles", [styleVariables, colorCSS, alertStyle]);
167
+ Alert.register();
168
+ export {
169
+ Alert as A
170
+ };
171
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sources":["../../src/alert/alert.ts"],"sourcesContent":["import type { InferProps, Props } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport alertStyle from '../styles/components/alert.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\nimport { t } from 'aeico-localize';\nimport type { AlertColor, AlertSize, AlertVariant } from './defines';\n\n/**\n * Alert Component\n *\n * A customizable alert/notification component with multiple variants and sizes.\n * Supports dismissible alerts and icon display.\n *\n * @example\n * ```typescript\n * // Using the static create method\n * const alert = Alert.create({\n * variant: 'info',\n * dismissible: true\n * })\n * alert.textContent = 'This is an informational message'\n * document.body.appendChild(alert)\n * ```\n *\n * @example\n * ```html\n * <!-- Using as Web Component -->\n * <ae-alert variant=\"info\">Information message</ae-alert>\n * <ae-alert variant=\"success\" dismissible>Operation successful!</ae-alert>\n * <ae-alert variant=\"warning\" size=\"sm\">Small warning</ae-alert>\n * ```\n */\nclass Alert extends AeicoComponent {\n static props: Props = {\n color: { type: String },\n variant: { type: String },\n size: { type: String },\n dismissible: { type: Boolean },\n invisible: { type: Boolean },\n };\n\n protected static useStyles = ['alert'];\n protected static styles = [styleVariables, colorCSS, alertStyle];\n\n declare color?: AlertColor;\n declare variant?: AlertVariant;\n declare size?: AlertSize;\n declare dismissible?: boolean;\n declare invisible?: boolean;\n\n protected render() {\n return html(({ div, slot, button, span }) => {\n div(\n {\n className: 'alert',\n role: 'alert',\n part: 'alert',\n style: { display: this.invisible ? 'none' : '' },\n },\n () => {\n slot();\n\n if (this.dismissible) {\n button(\n {\n className: 'alert-close',\n '@click': () => this._handleClose(),\n title: t('alert.close', 'Close alert'),\n },\n () => {\n span({ 'aria-hidden': 'true', textContent: '\\u00d7' });\n },\n );\n }\n },\n );\n });\n }\n\n show() {\n if (this.invisible) {\n this.invisible = false;\n }\n }\n\n hide() {\n this.invisible = true;\n }\n\n private _handleClose = () => {\n this.emit('alert-close', { detail: { target: this } });\n this.remove();\n };\n}\n\nAlert.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-alert': Alert;\n }\n}\n\nexport default Alert;\nexport type AlertProps = InferProps<typeof Alert>;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,cAAc,eAAe;AAAA,EAAnC;AAAA;AAyDU,wCAAe,MAAM;AAC3B,WAAK,KAAK,eAAe,EAAE,QAAQ,EAAE,QAAQ,KAAA,GAAQ;AACrD,WAAK,OAAA;AAAA,IACP;AAAA;AAAA,EA1CU,SAAS;AACjB,WAAO,KAAK,CAAC,EAAE,KAAK,MAAM,QAAQ,WAAW;AAC3C;AAAA,QACE;AAAA,UACE,WAAW;AAAA,UACX,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO,EAAE,SAAS,KAAK,YAAY,SAAS,GAAA;AAAA,QAAG;AAAA,QAEjD,MAAM;AACJ,eAAA;AAEA,cAAI,KAAK,aAAa;AACpB;AAAA,cACE;AAAA,gBACE,WAAW;AAAA,gBACX,UAAU,MAAM,KAAK,aAAA;AAAA,gBACrB,OAAO,EAAE,eAAe,aAAa;AAAA,cAAA;AAAA,cAEvC,MAAM;AACJ,qBAAK,EAAE,eAAe,QAAQ,aAAa,KAAU;AAAA,cACvD;AAAA,YAAA;AAAA,UAEJ;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AACL,QAAI,KAAK,WAAW;AAClB,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA,EAEA,OAAO;AACL,SAAK,YAAY;AAAA,EACnB;AAMF;AA5DE,cADI,OACG,SAAe;AAAA,EACpB,OAAO,EAAE,MAAM,OAAA;AAAA,EACf,SAAS,EAAE,MAAM,OAAA;AAAA,EACjB,MAAM,EAAE,MAAM,OAAA;AAAA,EACd,aAAa,EAAE,MAAM,QAAA;AAAA,EACrB,WAAW,EAAE,MAAM,QAAA;AAAQ;AAG7B,cATI,OASa,aAAY,CAAC,OAAO;AACrC,cAVI,OAUa,UAAS,CAAC,gBAAgB,UAAU,UAAU;AAqDjE,MAAM,SAAA;"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ const variables = require("./variables.cjs");
3
+ const size = require("./size.cjs");
4
+ const color = require("./color.cjs");
5
+ const aeicoComponent = require("./aeico-component.cjs");
6
+ const aeico = require("aeico");
7
+ const badgeStyle = ':host {\n display: inline-flex;\n align-items: center;\n --badge-solid-bg: var(--color-solid);\n --badge-solid-color: var(--color-on-solid);\n --badge-border: var(--color-border);\n --badge-accent: var(--color-accent);\n --badge-subtle-bg: var(--color-bg-subtle);\n --badge-subtle-color: var(--color-text-subtle);\n --badge-subtle-border: var(--color-border-subtle);\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-family: inherit;\n font-weight: 500;\n white-space: nowrap;\n vertical-align: middle;\n line-height: 1.2;\n font-size: 1em;\n padding: 0.15em 0.6em;\n border-radius: 4px;\n border: 1px solid var(--badge-solid-bg);\n background: var(--badge-solid-bg);\n color: var(--badge-solid-color);\n}\n\n/* Default (no [variant]) = filled */\n\n/* --- Variants --- */\n\n:host([variant="outlined"]) .badge {\n background: transparent;\n border-color: var(--badge-border);\n color: var(--badge-accent);\n}\n\n:host([variant="faint"]) .badge {\n background: var(--badge-subtle-bg);\n border-color: var(--badge-subtle-border);\n color: var(--badge-subtle-color);\n}\n\n:host([variant="subtle"]) .badge {\n background: var(--badge-subtle-bg);\n border-color: transparent;\n color: var(--badge-subtle-color);\n}\n\n:host([variant="text"]) .badge {\n background: transparent;\n border-color: transparent;\n color: var(--badge-accent);\n padding-left: 0;\n padding-right: 0;\n}\n\n:host([pill]) .badge {\n border-radius: 999px;\n}\n\n/* Icon slots */\n::slotted(ae-icon) {\n font-size: 1.1em;\n}\n';
8
+ var __create = Object.create;
9
+ var __defProp = Object.defineProperty;
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
12
+ var __typeError = (msg) => {
13
+ throw TypeError(msg);
14
+ };
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
17
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
18
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
19
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
20
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
21
+ var __runInitializers = (array, flags, self, value) => {
22
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
23
+ return value;
24
+ };
25
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
26
+ var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
27
+ var j = array.length + 1, key = __decoratorStrings[k + 5];
28
+ var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
29
+ var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
30
+ return __privateGet(this, extra);
31
+ }, set [name](x) {
32
+ return __privateSet(this, extra, x);
33
+ } }, name));
34
+ for (var i = decorators.length - 1; i >= 0; i--) {
35
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
36
+ {
37
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
38
+ access.get = (x) => x[name];
39
+ access.set = (x, y) => x[name] = y;
40
+ }
41
+ it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
42
+ if (it === void 0) __expectFn(it) && (desc[key] = it);
43
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
44
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
45
+ }
46
+ return desc && __defProp(target, name, desc), target;
47
+ };
48
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
49
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
50
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
51
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
52
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
53
+ var _pill_dec, _size_dec, _variant_dec, _color_dec, _a, _init, _color, _variant, _size, _pill;
54
+ class Badge extends (_a = aeicoComponent.AeicoComponent, _color_dec = [aeico.prop({ type: String })], _variant_dec = [aeico.prop({ type: String })], _size_dec = [aeico.prop({ type: String })], _pill_dec = [aeico.prop({ type: Boolean })], _a) {
55
+ constructor() {
56
+ super(...arguments);
57
+ __privateAdd(this, _color, __runInitializers(_init, 8, this, "default")), __runInitializers(_init, 11, this);
58
+ __privateAdd(this, _variant, __runInitializers(_init, 12, this, "filled")), __runInitializers(_init, 15, this);
59
+ __privateAdd(this, _size, __runInitializers(_init, 16, this, "md")), __runInitializers(_init, 19, this);
60
+ __privateAdd(this, _pill, __runInitializers(_init, 20, this, false)), __runInitializers(_init, 23, this);
61
+ }
62
+ render() {
63
+ return aeico.html(({ span, slot }) => {
64
+ span({ part: "badge", className: "badge" }, () => {
65
+ slot({ name: "start" });
66
+ slot();
67
+ slot({ name: "end" });
68
+ });
69
+ });
70
+ }
71
+ }
72
+ _init = __decoratorStart(_a);
73
+ _color = /* @__PURE__ */ new WeakMap();
74
+ _variant = /* @__PURE__ */ new WeakMap();
75
+ _size = /* @__PURE__ */ new WeakMap();
76
+ _pill = /* @__PURE__ */ new WeakMap();
77
+ __decorateElement(_init, 4, "color", _color_dec, Badge, _color);
78
+ __decorateElement(_init, 4, "variant", _variant_dec, Badge, _variant);
79
+ __decorateElement(_init, 4, "size", _size_dec, Badge, _size);
80
+ __decorateElement(_init, 4, "pill", _pill_dec, Badge, _pill);
81
+ __decoratorMetadata(_init, Badge);
82
+ __publicField(Badge, "styles", [variables.styleVariables, size.sizeCSS, color.colorCSS, badgeStyle]);
83
+ Badge.register();
84
+ exports.Badge = Badge;
85
+ //# sourceMappingURL=badge.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.cjs","sources":["../../src/badge/badge.ts"],"sourcesContent":["import type { InferProps } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport badgeStyle from '../styles/components/badge.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\nimport type { BadgeColor, BadgeSize, BadgeVariant } from './defines';\nimport { prop } from 'aeico';\n\n/**\n * Badge Component\n *\n * A small inline label for status, category, or count indicators.\n * Supports color, variant, size, and an optional leading/trailing ae-icon slot.\n *\n * @example\n * ```html\n * <ae-badge color=\"primary\">New</ae-badge>\n * <ae-badge variant=\"outlined\" color=\"success\">Active</ae-badge>\n * <ae-badge variant=\"subtle\" color=\"danger\" size=\"sm\">\n * <ae-icon slot=\"start\" name=\"warning\"></ae-icon>\n * Error\n * </ae-badge>\n * ```\n */\nclass Badge extends AeicoComponent {\n protected static styles = [styleVariables, sizeCSS, colorCSS, badgeStyle];\n\n @prop({ type: String })\n accessor color: BadgeColor = 'default';\n\n @prop({ type: String })\n accessor variant: BadgeVariant = 'filled';\n\n @prop({ type: String })\n accessor size: BadgeSize = 'md';\n\n @prop({ type: Boolean })\n accessor pill: boolean = false;\n\n protected render() {\n return html(({ span, slot }) => {\n span({ part: 'badge', className: 'badge' }, () => {\n slot({ name: 'start' });\n slot();\n slot({ name: 'end' });\n });\n });\n }\n}\n\nBadge.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-badge': Badge;\n }\n}\n\nexport default Badge;\nexport type BadgeProps = InferProps<typeof Badge>;\n"],"names":["AeicoComponent","prop","html","styleVariables","sizeCSS","colorCSS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,WAAA,WAAA,cAAA,YAAA,IAAA,OAAA,QAAA,UAAA,OAAA;AA0BA,MAAM,eAAc,KAAAA,eAAAA,gBAGlB,aAAA,CAACC,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,eAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,YAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,YAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,QAAA,CAAS,IAZL,IAAe;AAAA,EAAnC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,QAAoB,kBAA7B,OAAA,GAAA,MAA6B,SAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,UAAwB,kBAAjC,OAAA,IAAA,MAAiC,QAAA,CAAA,GAAjC,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAkB,kBAA3B,OAAA,IAAA,MAA2B,IAAA,CAAA,GAA3B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAgB,kBAAzB,OAAA,IAAA,MAAyB,KAAA,CAAA,GAAzB,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAEU,SAAS;AACjB,WAAOC,WAAK,CAAC,EAAE,MAAM,WAAW;AAC9B,WAAK,EAAE,MAAM,SAAS,WAAW,QAAA,GAAW,MAAM;AAChD,aAAK,EAAE,MAAM,SAAS;AACtB,aAAA;AACA,aAAK,EAAE,MAAM,OAAO;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAxBA,QAAA,iBAAA,EAAA;AAIW,SAAA,oBAAA,QAAA;AAGA,WAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AATT,kBAAA,OAAA,GAAS,SADT,YAHI,OAIK,MAAA;AAGT,kBAAA,OAAA,GAAS,WADT,cANI,OAOK,QAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WATI,OAUK,KAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WAZI,OAaK,KAAA;AAbX,oBAAA,OAAM,KAAA;AACJ,cADI,OACa,UAAS,CAACC,UAAAA,gBAAgBC,KAAAA,SAASC,MAAAA,UAAU,UAAU,CAAA;AAyB1E,MAAM,SAAA;;"}
@@ -0,0 +1,86 @@
1
+ import { s as styleVariables } from "./variables.js";
2
+ import { s as sizeCSS } from "./size.js";
3
+ import { c as colorCSS } from "./color.js";
4
+ import { A as AeicoComponent } from "./aeico-component.js";
5
+ import { prop, html } from "aeico";
6
+ const badgeStyle = ':host {\n display: inline-flex;\n align-items: center;\n --badge-solid-bg: var(--color-solid);\n --badge-solid-color: var(--color-on-solid);\n --badge-border: var(--color-border);\n --badge-accent: var(--color-accent);\n --badge-subtle-bg: var(--color-bg-subtle);\n --badge-subtle-color: var(--color-text-subtle);\n --badge-subtle-border: var(--color-border-subtle);\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-family: inherit;\n font-weight: 500;\n white-space: nowrap;\n vertical-align: middle;\n line-height: 1.2;\n font-size: 1em;\n padding: 0.15em 0.6em;\n border-radius: 4px;\n border: 1px solid var(--badge-solid-bg);\n background: var(--badge-solid-bg);\n color: var(--badge-solid-color);\n}\n\n/* Default (no [variant]) = filled */\n\n/* --- Variants --- */\n\n:host([variant="outlined"]) .badge {\n background: transparent;\n border-color: var(--badge-border);\n color: var(--badge-accent);\n}\n\n:host([variant="faint"]) .badge {\n background: var(--badge-subtle-bg);\n border-color: var(--badge-subtle-border);\n color: var(--badge-subtle-color);\n}\n\n:host([variant="subtle"]) .badge {\n background: var(--badge-subtle-bg);\n border-color: transparent;\n color: var(--badge-subtle-color);\n}\n\n:host([variant="text"]) .badge {\n background: transparent;\n border-color: transparent;\n color: var(--badge-accent);\n padding-left: 0;\n padding-right: 0;\n}\n\n:host([pill]) .badge {\n border-radius: 999px;\n}\n\n/* Icon slots */\n::slotted(ae-icon) {\n font-size: 1.1em;\n}\n';
7
+ var __create = Object.create;
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
11
+ var __typeError = (msg) => {
12
+ throw TypeError(msg);
13
+ };
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
16
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
17
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
18
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
19
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
20
+ var __runInitializers = (array, flags, self, value) => {
21
+ for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
22
+ return value;
23
+ };
24
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
25
+ var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
26
+ var j = array.length + 1, key = __decoratorStrings[k + 5];
27
+ var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
28
+ var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
29
+ return __privateGet(this, extra);
30
+ }, set [name](x) {
31
+ return __privateSet(this, extra, x);
32
+ } }, name));
33
+ for (var i = decorators.length - 1; i >= 0; i--) {
34
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
35
+ {
36
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
37
+ access.get = (x) => x[name];
38
+ access.set = (x, y) => x[name] = y;
39
+ }
40
+ it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
41
+ if (it === void 0) __expectFn(it) && (desc[key] = it);
42
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
43
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
44
+ }
45
+ return desc && __defProp(target, name, desc), target;
46
+ };
47
+ var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
48
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
49
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
50
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
51
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
52
+ var _pill_dec, _size_dec, _variant_dec, _color_dec, _a, _init, _color, _variant, _size, _pill;
53
+ class Badge extends (_a = AeicoComponent, _color_dec = [prop({ type: String })], _variant_dec = [prop({ type: String })], _size_dec = [prop({ type: String })], _pill_dec = [prop({ type: Boolean })], _a) {
54
+ constructor() {
55
+ super(...arguments);
56
+ __privateAdd(this, _color, __runInitializers(_init, 8, this, "default")), __runInitializers(_init, 11, this);
57
+ __privateAdd(this, _variant, __runInitializers(_init, 12, this, "filled")), __runInitializers(_init, 15, this);
58
+ __privateAdd(this, _size, __runInitializers(_init, 16, this, "md")), __runInitializers(_init, 19, this);
59
+ __privateAdd(this, _pill, __runInitializers(_init, 20, this, false)), __runInitializers(_init, 23, this);
60
+ }
61
+ render() {
62
+ return html(({ span, slot }) => {
63
+ span({ part: "badge", className: "badge" }, () => {
64
+ slot({ name: "start" });
65
+ slot();
66
+ slot({ name: "end" });
67
+ });
68
+ });
69
+ }
70
+ }
71
+ _init = __decoratorStart(_a);
72
+ _color = /* @__PURE__ */ new WeakMap();
73
+ _variant = /* @__PURE__ */ new WeakMap();
74
+ _size = /* @__PURE__ */ new WeakMap();
75
+ _pill = /* @__PURE__ */ new WeakMap();
76
+ __decorateElement(_init, 4, "color", _color_dec, Badge, _color);
77
+ __decorateElement(_init, 4, "variant", _variant_dec, Badge, _variant);
78
+ __decorateElement(_init, 4, "size", _size_dec, Badge, _size);
79
+ __decorateElement(_init, 4, "pill", _pill_dec, Badge, _pill);
80
+ __decoratorMetadata(_init, Badge);
81
+ __publicField(Badge, "styles", [styleVariables, sizeCSS, colorCSS, badgeStyle]);
82
+ Badge.register();
83
+ export {
84
+ Badge as B
85
+ };
86
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sources":["../../src/badge/badge.ts"],"sourcesContent":["import type { InferProps } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport badgeStyle from '../styles/components/badge.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\nimport type { BadgeColor, BadgeSize, BadgeVariant } from './defines';\nimport { prop } from 'aeico';\n\n/**\n * Badge Component\n *\n * A small inline label for status, category, or count indicators.\n * Supports color, variant, size, and an optional leading/trailing ae-icon slot.\n *\n * @example\n * ```html\n * <ae-badge color=\"primary\">New</ae-badge>\n * <ae-badge variant=\"outlined\" color=\"success\">Active</ae-badge>\n * <ae-badge variant=\"subtle\" color=\"danger\" size=\"sm\">\n * <ae-icon slot=\"start\" name=\"warning\"></ae-icon>\n * Error\n * </ae-badge>\n * ```\n */\nclass Badge extends AeicoComponent {\n protected static styles = [styleVariables, sizeCSS, colorCSS, badgeStyle];\n\n @prop({ type: String })\n accessor color: BadgeColor = 'default';\n\n @prop({ type: String })\n accessor variant: BadgeVariant = 'filled';\n\n @prop({ type: String })\n accessor size: BadgeSize = 'md';\n\n @prop({ type: Boolean })\n accessor pill: boolean = false;\n\n protected render() {\n return html(({ span, slot }) => {\n span({ part: 'badge', className: 'badge' }, () => {\n slot({ name: 'start' });\n slot();\n slot({ name: 'end' });\n });\n });\n }\n}\n\nBadge.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-badge': Badge;\n }\n}\n\nexport default Badge;\nexport type BadgeProps = InferProps<typeof Badge>;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,WAAA,WAAA,cAAA,YAAA,IAAA,OAAA,QAAA,UAAA,OAAA;AA0BA,MAAM,eAAc,KAAA,gBAGlB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,eAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,YAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,YAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,IAZL,IAAe;AAAA,EAAnC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,QAAoB,kBAA7B,OAAA,GAAA,MAA6B,SAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,UAAwB,kBAAjC,OAAA,IAAA,MAAiC,QAAA,CAAA,GAAjC,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAkB,kBAA3B,OAAA,IAAA,MAA2B,IAAA,CAAA,GAA3B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,OAAgB,kBAAzB,OAAA,IAAA,MAAyB,KAAA,CAAA,GAAzB,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAEU,SAAS;AACjB,WAAO,KAAK,CAAC,EAAE,MAAM,WAAW;AAC9B,WAAK,EAAE,MAAM,SAAS,WAAW,QAAA,GAAW,MAAM;AAChD,aAAK,EAAE,MAAM,SAAS;AACtB,aAAA;AACA,aAAK,EAAE,MAAM,OAAO;AAAA,MACtB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAxBA,QAAA,iBAAA,EAAA;AAIW,SAAA,oBAAA,QAAA;AAGA,WAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AAGA,QAAA,oBAAA,QAAA;AATT,kBAAA,OAAA,GAAS,SADT,YAHI,OAIK,MAAA;AAGT,kBAAA,OAAA,GAAS,WADT,cANI,OAOK,QAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WATI,OAUK,KAAA;AAGT,kBAAA,OAAA,GAAS,QADT,WAZI,OAaK,KAAA;AAbX,oBAAA,OAAM,KAAA;AACJ,cADI,OACa,UAAS,CAAC,gBAAgB,SAAS,UAAU,UAAU,CAAA;AAyB1E,MAAM,SAAA;"}