aeico-components 0.1.5 → 0.1.7

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 (337) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -0
  3. package/dist/chunks/action-button.cjs +296 -0
  4. package/dist/chunks/action-button.cjs.map +1 -0
  5. package/dist/chunks/action-button.js +297 -0
  6. package/dist/chunks/action-button.js.map +1 -0
  7. package/dist/chunks/alert.cjs +26 -32
  8. package/dist/chunks/alert.cjs.map +1 -1
  9. package/dist/chunks/alert.js +27 -33
  10. package/dist/chunks/alert.js.map +1 -1
  11. package/dist/chunks/badge.cjs +2 -2
  12. package/dist/chunks/badge.cjs.map +1 -1
  13. package/dist/chunks/badge.js +3 -3
  14. package/dist/chunks/badge.js.map +1 -1
  15. package/dist/chunks/breadcrumb-item.cjs +9 -9
  16. package/dist/chunks/breadcrumb-item.cjs.map +1 -1
  17. package/dist/chunks/breadcrumb-item.js +10 -10
  18. package/dist/chunks/breadcrumb-item.js.map +1 -1
  19. package/dist/chunks/button-group.cjs +1 -1
  20. package/dist/chunks/button-group.cjs.map +1 -1
  21. package/dist/chunks/button-group.js +2 -2
  22. package/dist/chunks/button-group.js.map +1 -1
  23. package/dist/chunks/button.cjs +40 -51
  24. package/dist/chunks/button.cjs.map +1 -1
  25. package/dist/chunks/button.js +41 -52
  26. package/dist/chunks/button.js.map +1 -1
  27. package/dist/chunks/card.cjs +2 -2
  28. package/dist/chunks/card.cjs.map +1 -1
  29. package/dist/chunks/card.js +3 -3
  30. package/dist/chunks/card.js.map +1 -1
  31. package/dist/chunks/checkbox.cjs +18 -5
  32. package/dist/chunks/checkbox.cjs.map +1 -1
  33. package/dist/chunks/checkbox.js +18 -5
  34. package/dist/chunks/checkbox.js.map +1 -1
  35. package/dist/chunks/color.cjs +1 -1
  36. package/dist/chunks/color.js +1 -1
  37. package/dist/chunks/copy-button.cjs +171 -0
  38. package/dist/chunks/copy-button.cjs.map +1 -0
  39. package/dist/chunks/copy-button.js +172 -0
  40. package/dist/chunks/copy-button.js.map +1 -0
  41. package/dist/chunks/detail-group.cjs +65 -0
  42. package/dist/chunks/detail-group.cjs.map +1 -0
  43. package/dist/chunks/detail-group.js +66 -0
  44. package/dist/chunks/detail-group.js.map +1 -0
  45. package/dist/chunks/detail.cjs +7 -4
  46. package/dist/chunks/detail.cjs.map +1 -1
  47. package/dist/chunks/detail.js +8 -5
  48. package/dist/chunks/detail.js.map +1 -1
  49. package/dist/chunks/dialog.cjs +2 -2
  50. package/dist/chunks/dialog.cjs.map +1 -1
  51. package/dist/chunks/dialog.js +3 -3
  52. package/dist/chunks/dialog.js.map +1 -1
  53. package/dist/chunks/divider.cjs +2 -2
  54. package/dist/chunks/divider.cjs.map +1 -1
  55. package/dist/chunks/divider.js +3 -3
  56. package/dist/chunks/divider.js.map +1 -1
  57. package/dist/chunks/drawer.cjs +180 -0
  58. package/dist/chunks/drawer.cjs.map +1 -0
  59. package/dist/chunks/drawer.js +181 -0
  60. package/dist/chunks/drawer.js.map +1 -0
  61. package/dist/chunks/dropdown-button.cjs +10 -11
  62. package/dist/chunks/dropdown-button.cjs.map +1 -1
  63. package/dist/chunks/dropdown-button.js +14 -15
  64. package/dist/chunks/dropdown-button.js.map +1 -1
  65. package/dist/chunks/icon.cjs +57 -11
  66. package/dist/chunks/icon.cjs.map +1 -1
  67. package/dist/chunks/icon.js +58 -12
  68. package/dist/chunks/icon.js.map +1 -1
  69. package/dist/chunks/menu.cjs +396 -0
  70. package/dist/chunks/menu.cjs.map +1 -0
  71. package/dist/chunks/menu.js +397 -0
  72. package/dist/chunks/menu.js.map +1 -0
  73. package/dist/chunks/navbar.cjs +2 -2
  74. package/dist/chunks/navbar.cjs.map +1 -1
  75. package/dist/chunks/navbar.js +3 -3
  76. package/dist/chunks/navbar.js.map +1 -1
  77. package/dist/chunks/number-input.cjs +110 -0
  78. package/dist/chunks/number-input.cjs.map +1 -0
  79. package/dist/chunks/number-input.js +111 -0
  80. package/dist/chunks/number-input.js.map +1 -0
  81. package/dist/chunks/pagination.cjs +475 -0
  82. package/dist/chunks/pagination.cjs.map +1 -0
  83. package/dist/chunks/pagination.js +476 -0
  84. package/dist/chunks/pagination.js.map +1 -0
  85. package/dist/chunks/progress-bar.cjs +101 -0
  86. package/dist/chunks/progress-bar.cjs.map +1 -0
  87. package/dist/chunks/progress-bar.js +102 -0
  88. package/dist/chunks/progress-bar.js.map +1 -0
  89. package/dist/chunks/radio.cjs +11 -7
  90. package/dist/chunks/radio.cjs.map +1 -1
  91. package/dist/chunks/radio.js +11 -7
  92. package/dist/chunks/radio.js.map +1 -1
  93. package/dist/chunks/select.cjs +97 -66
  94. package/dist/chunks/select.cjs.map +1 -1
  95. package/dist/chunks/select.js +97 -66
  96. package/dist/chunks/select.js.map +1 -1
  97. package/dist/chunks/size.cjs +1 -1
  98. package/dist/chunks/size.js +1 -1
  99. package/dist/chunks/slider.cjs +35 -75
  100. package/dist/chunks/slider.cjs.map +1 -1
  101. package/dist/chunks/slider.js +35 -75
  102. package/dist/chunks/slider.js.map +1 -1
  103. package/dist/chunks/spinner.cjs +102 -0
  104. package/dist/chunks/spinner.cjs.map +1 -0
  105. package/dist/chunks/spinner.js +103 -0
  106. package/dist/chunks/spinner.js.map +1 -0
  107. package/dist/chunks/switch.cjs +110 -16
  108. package/dist/chunks/switch.cjs.map +1 -1
  109. package/dist/chunks/switch.js +111 -17
  110. package/dist/chunks/switch.js.map +1 -1
  111. package/dist/chunks/tab-panel.cjs +14 -5
  112. package/dist/chunks/tab-panel.cjs.map +1 -1
  113. package/dist/chunks/tab-panel.js +15 -6
  114. package/dist/chunks/tab-panel.js.map +1 -1
  115. package/dist/chunks/tag.cjs +2 -2
  116. package/dist/chunks/tag.cjs.map +1 -1
  117. package/dist/chunks/tag.js +3 -3
  118. package/dist/chunks/tag.js.map +1 -1
  119. package/dist/chunks/text-input.cjs +11 -16
  120. package/dist/chunks/text-input.cjs.map +1 -1
  121. package/dist/chunks/text-input.js +11 -16
  122. package/dist/chunks/text-input.js.map +1 -1
  123. package/dist/chunks/textarea.cjs +137 -0
  124. package/dist/chunks/textarea.cjs.map +1 -0
  125. package/dist/chunks/textarea.js +138 -0
  126. package/dist/chunks/textarea.js.map +1 -0
  127. package/dist/chunks/tooltip.cjs +292 -0
  128. package/dist/chunks/tooltip.cjs.map +1 -0
  129. package/dist/chunks/tooltip.js +293 -0
  130. package/dist/chunks/tooltip.js.map +1 -0
  131. package/dist/chunks/tree.cjs +468 -0
  132. package/dist/chunks/tree.cjs.map +1 -0
  133. package/dist/chunks/tree.js +469 -0
  134. package/dist/chunks/tree.js.map +1 -0
  135. package/dist/chunks/variables.cjs +273 -249
  136. package/dist/chunks/variables.cjs.map +1 -1
  137. package/dist/chunks/variables.js +273 -249
  138. package/dist/chunks/variables.js.map +1 -1
  139. package/dist/copy-button.cjs +6 -0
  140. package/dist/copy-button.cjs.map +1 -0
  141. package/dist/copy-button.js +6 -0
  142. package/dist/copy-button.js.map +1 -0
  143. package/dist/detail-group.cjs +6 -0
  144. package/dist/detail-group.cjs.map +1 -0
  145. package/dist/detail-group.js +6 -0
  146. package/dist/detail-group.js.map +1 -0
  147. package/dist/drawer.cjs +6 -0
  148. package/dist/drawer.cjs.map +1 -0
  149. package/dist/drawer.js +6 -0
  150. package/dist/drawer.js.map +1 -0
  151. package/dist/dropdown.js +4 -4
  152. package/dist/index.cjs +24 -99
  153. package/dist/index.cjs.map +1 -1
  154. package/dist/index.js +41 -116
  155. package/dist/index.js.map +1 -1
  156. package/dist/menu.cjs +6 -0
  157. package/dist/menu.cjs.map +1 -0
  158. package/dist/menu.js +6 -0
  159. package/dist/menu.js.map +1 -0
  160. package/dist/number-input.cjs +6 -0
  161. package/dist/number-input.cjs.map +1 -0
  162. package/dist/number-input.js +6 -0
  163. package/dist/number-input.js.map +1 -0
  164. package/dist/pagination.cjs +6 -0
  165. package/dist/pagination.cjs.map +1 -0
  166. package/dist/pagination.js +6 -0
  167. package/dist/pagination.js.map +1 -0
  168. package/dist/progress-bar.cjs +6 -0
  169. package/dist/progress-bar.cjs.map +1 -0
  170. package/dist/progress-bar.js +6 -0
  171. package/dist/progress-bar.js.map +1 -0
  172. package/dist/select.cjs +2 -2
  173. package/dist/select.cjs.map +1 -1
  174. package/dist/select.js +3 -3
  175. package/dist/select.js.map +1 -1
  176. package/dist/spinner.cjs +6 -0
  177. package/dist/spinner.cjs.map +1 -0
  178. package/dist/spinner.js +6 -0
  179. package/dist/spinner.js.map +1 -0
  180. package/dist/textarea.cjs +5 -0
  181. package/dist/textarea.cjs.map +1 -0
  182. package/dist/textarea.js +5 -0
  183. package/dist/textarea.js.map +1 -0
  184. package/dist/tooltip.cjs +6 -0
  185. package/dist/tooltip.cjs.map +1 -0
  186. package/dist/tooltip.js +6 -0
  187. package/dist/tooltip.js.map +1 -0
  188. package/dist/tree.cjs +6 -0
  189. package/dist/tree.cjs.map +1 -0
  190. package/dist/tree.js +6 -0
  191. package/dist/tree.js.map +1 -0
  192. package/dist/types/aeico-field.d.ts +52 -0
  193. package/dist/types/alert/alert.d.ts +1 -0
  194. package/dist/types/card/defines.d.ts +1 -1
  195. package/dist/types/copy-button/copy-button.d.ts +32 -0
  196. package/dist/types/copy-button/defines.d.ts +1 -0
  197. package/dist/types/copy-button/index.d.ts +3 -0
  198. package/dist/types/detail/defines.d.ts +2 -1
  199. package/dist/types/detail/detail.d.ts +3 -1
  200. package/dist/types/detail/index.d.ts +1 -1
  201. package/dist/types/detail-group/detail-group.d.ts +39 -0
  202. package/dist/types/detail-group/index.d.ts +2 -0
  203. package/dist/types/drawer/defines.d.ts +1 -0
  204. package/dist/types/drawer/drawer.d.ts +31 -0
  205. package/dist/types/drawer/index.d.ts +3 -0
  206. package/dist/types/icon/built-in-icons.d.ts +1 -0
  207. package/dist/types/icon/defines.d.ts +5 -1
  208. package/dist/types/icon/icon.d.ts +1 -0
  209. package/dist/types/icon/index.d.ts +1 -1
  210. package/dist/types/icon/registry.d.ts +8 -0
  211. package/dist/types/index.d.ts +17 -0
  212. package/dist/types/menu/defines.d.ts +15 -0
  213. package/dist/types/menu/index.d.ts +5 -0
  214. package/dist/types/menu/menu-item.d.ts +63 -0
  215. package/dist/types/menu/menu.d.ts +34 -0
  216. package/dist/types/number-input/index.d.ts +2 -0
  217. package/dist/types/number-input/number-input.d.ts +35 -0
  218. package/dist/types/pagination/defines.d.ts +2 -0
  219. package/dist/types/pagination/index.d.ts +3 -0
  220. package/dist/types/pagination/pagination.d.ts +77 -0
  221. package/dist/types/select/select.d.ts +2 -2
  222. package/dist/types/spinner/defines.d.ts +3 -0
  223. package/dist/types/spinner/index.d.ts +3 -0
  224. package/dist/types/spinner/spinner.d.ts +35 -0
  225. package/dist/types/switch/defines.d.ts +1 -0
  226. package/dist/types/switch/switch.d.ts +8 -4
  227. package/dist/types/tabs/defines.d.ts +1 -0
  228. package/dist/types/tabs/tabs.d.ts +3 -0
  229. package/dist/types/text-input/text-input.d.ts +0 -4
  230. package/dist/types/textarea/index.d.ts +1 -0
  231. package/dist/types/textarea/textarea.d.ts +26 -0
  232. package/dist/types/tooltip/defines.d.ts +2 -0
  233. package/dist/types/tooltip/index.d.ts +4 -0
  234. package/dist/types/tooltip/tooltip.d.ts +48 -0
  235. package/dist/types/tree/defines.d.ts +23 -0
  236. package/dist/types/tree/index.d.ts +5 -0
  237. package/dist/types/tree/tree-item.d.ts +54 -0
  238. package/dist/types/tree/tree.d.ts +64 -0
  239. package/package.json +5 -5
  240. package/src/aeico-field.ts +142 -7
  241. package/src/alert/alert.ts +3 -2
  242. package/src/card/defines.ts +1 -1
  243. package/src/checkbox/checkbox.ts +17 -2
  244. package/src/copy-button/copy-button.ts +150 -0
  245. package/src/copy-button/defines.ts +5 -0
  246. package/src/copy-button/index.ts +3 -0
  247. package/src/detail/defines.ts +2 -1
  248. package/src/detail/detail.ts +5 -1
  249. package/src/detail/index.ts +1 -1
  250. package/src/detail-group/detail-group.ts +104 -0
  251. package/src/detail-group/index.ts +2 -0
  252. package/src/drawer/defines.ts +1 -0
  253. package/src/drawer/drawer.ts +157 -0
  254. package/src/drawer/index.ts +3 -0
  255. package/src/icon/built-in-icons.ts +21 -0
  256. package/src/icon/defines.ts +6 -1
  257. package/src/icon/icon.ts +29 -10
  258. package/src/icon/index.ts +1 -1
  259. package/src/icon/registry.ts +23 -1
  260. package/src/index.ts +30 -0
  261. package/src/menu/defines.ts +17 -0
  262. package/src/menu/index.ts +5 -0
  263. package/src/menu/menu-item.ts +315 -0
  264. package/src/menu/menu.ts +81 -0
  265. package/src/number-input/index.ts +2 -0
  266. package/src/number-input/number-input.ts +137 -0
  267. package/src/pagination/defines.ts +2 -0
  268. package/src/pagination/index.ts +3 -0
  269. package/src/pagination/pagination.ts +310 -0
  270. package/src/radio-group/radio-group.ts +11 -4
  271. package/src/select/select.ts +111 -70
  272. package/src/slider/slider.ts +9 -2
  273. package/src/spinner/defines.ts +12 -0
  274. package/src/spinner/index.ts +3 -0
  275. package/src/spinner/spinner.ts +81 -0
  276. package/src/styles/color.css +91 -91
  277. package/src/styles/components/action-button.css +37 -0
  278. package/src/styles/components/alert.css +22 -28
  279. package/src/styles/components/badge.css +13 -20
  280. package/src/styles/components/breadcrumb-item.css +7 -7
  281. package/src/styles/components/button.css +39 -50
  282. package/src/styles/components/card.css +45 -30
  283. package/src/styles/components/checkbox.css +9 -36
  284. package/src/styles/components/copy-button.css +108 -0
  285. package/src/styles/components/detail-group.css +10 -0
  286. package/src/styles/components/detail.css +56 -35
  287. package/src/styles/components/dialog.css +11 -11
  288. package/src/styles/components/divider.css +3 -3
  289. package/src/styles/components/drawer.css +152 -0
  290. package/src/styles/components/dropdown-item.css +7 -8
  291. package/src/styles/components/dropdown.css +3 -4
  292. package/src/styles/components/field-label.css +120 -0
  293. package/src/styles/components/icon-button.css +25 -36
  294. package/src/styles/components/icon.css +1 -1
  295. package/src/styles/components/menu-item.css +167 -0
  296. package/src/styles/components/menu.css +17 -0
  297. package/src/styles/components/navbar.css +16 -16
  298. package/src/styles/components/number-input.css +158 -0
  299. package/src/styles/components/pagination.css +205 -0
  300. package/src/styles/components/progress-bar.css +2 -3
  301. package/src/styles/components/radio-group.css +69 -106
  302. package/src/styles/components/select-option.css +5 -5
  303. package/src/styles/components/select.css +30 -69
  304. package/src/styles/components/slider.css +26 -71
  305. package/src/styles/components/spinner.css +78 -0
  306. package/src/styles/components/switch.css +64 -27
  307. package/src/styles/components/tab-panel.css +1 -1
  308. package/src/styles/components/tab.css +4 -5
  309. package/src/styles/components/tabs.css +49 -1
  310. package/src/styles/components/tag.css +14 -21
  311. package/src/styles/components/text-input.css +17 -64
  312. package/src/styles/components/textarea.css +66 -0
  313. package/src/styles/components/tooltip.css +102 -0
  314. package/src/styles/components/tree-item.css +152 -0
  315. package/src/styles/components/tree.css +10 -0
  316. package/src/styles/layout.css +457 -25
  317. package/src/styles/radius.css +10 -0
  318. package/src/styles/size.css +7 -7
  319. package/src/styles/variables.css +271 -247
  320. package/src/switch/defines.ts +1 -0
  321. package/src/switch/switch.ts +61 -12
  322. package/src/tabs/defines.ts +1 -0
  323. package/src/tabs/tabs.ts +12 -0
  324. package/src/text-input/text-input.ts +10 -15
  325. package/src/textarea/index.ts +1 -0
  326. package/src/textarea/textarea.ts +107 -0
  327. package/src/tooltip/defines.ts +11 -0
  328. package/src/tooltip/index.ts +4 -0
  329. package/src/tooltip/tooltip.ts +183 -0
  330. package/src/tree/defines.ts +26 -0
  331. package/src/tree/index.ts +5 -0
  332. package/src/tree/tree-item.ts +258 -0
  333. package/src/tree/tree.ts +237 -0
  334. package/dist/chunks/aeico-field.cjs +0 -179
  335. package/dist/chunks/aeico-field.cjs.map +0 -1
  336. package/dist/chunks/aeico-field.js +0 -180
  337. package/dist/chunks/aeico-field.js.map +0 -1
@@ -0,0 +1,475 @@
1
+ "use strict";
2
+ const aeico = require("aeico");
3
+ const aeicoComponent = require("./aeico-component.cjs");
4
+ const variables = require("./variables.cjs");
5
+ const size = require("./size.cjs");
6
+ const paginationStyle = `:host {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ font-size: var(--ae-size-m);
10
+ }
11
+
12
+ nav {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 4px;
16
+ margin: 0;
17
+ padding: 0;
18
+ }
19
+
20
+ button {
21
+ display: inline-flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ min-width: 2em;
25
+ height: 2em;
26
+ padding: 0 0.5em;
27
+ font-family: inherit;
28
+ font-size: inherit;
29
+ line-height: 1;
30
+ cursor: pointer;
31
+ user-select: none;
32
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
33
+ border: 1px solid var(--ae-border-default);
34
+ background: transparent;
35
+ color: var(--ae-color-text-main);
36
+ transition: background 0.15s, border-color 0.15s, color 0.15s;
37
+ outline: none;
38
+ }
39
+
40
+ button:focus-visible {
41
+ box-shadow: 0 0 0 2px var(--ae-focus-ring);
42
+ border-color: var(--ae-border-focus);
43
+ }
44
+
45
+ button:hover:not(:disabled) {
46
+ border-color: var(--ae-color-primary);
47
+ color: var(--ae-color-primary);
48
+ background: var(--ae-color-primary-bg-subtle);
49
+ }
50
+
51
+ button:active:not(:disabled) {
52
+ background: color-mix(in srgb, var(--ae-color-primary-bg-subtle), var(--ae-color-primary) 10%);
53
+ }
54
+
55
+ button:disabled {
56
+ opacity: 0.45;
57
+ cursor: not-allowed;
58
+ }
59
+
60
+ button.active {
61
+ background: var(--ae-color-primary);
62
+ border-color: var(--ae-color-primary);
63
+ color: white;
64
+ font-weight: 600;
65
+ cursor: default;
66
+ }
67
+
68
+ button.active:hover:not(:disabled) {
69
+ background: var(--ae-color-primary-hover);
70
+ border-color: var(--ae-color-primary-hover);
71
+ color: white;
72
+ }
73
+
74
+ button.nav-btn {
75
+ min-width: 2em;
76
+ width: 2em;
77
+ padding: 0;
78
+ }
79
+
80
+ [part="ellipsis"] {
81
+ display: inline-flex;
82
+ align-items: flex-end;
83
+ justify-content: center;
84
+ min-width: 2em;
85
+ height: 2em;
86
+ color: var(--ae-color-text-muted);
87
+ user-select: none;
88
+ letter-spacing: 0.1em;
89
+ padding-bottom: 0.2em;
90
+ }
91
+
92
+ input[part="page-input"] {
93
+ width: 3em;
94
+ height: 2em;
95
+ padding: 0 0.4em;
96
+ text-align: center;
97
+ border: 1px solid var(--ae-border-subtle);
98
+ border-radius: var(--ae-border-radius, var(--ae-border-radius));
99
+ font-size: inherit;
100
+ font-family: inherit;
101
+ color: var(--ae-color-text-main);
102
+ background: var(--ae-surface-base);
103
+ box-shadow: none;
104
+ -webkit-appearance: none;
105
+ -moz-appearance: textfield;
106
+ appearance: textfield;
107
+ outline: none;
108
+ transition: border-color 0.15s, box-shadow 0.15s;
109
+ }
110
+
111
+ input[part="page-input"]:hover:not(:disabled) {
112
+ border-color: var(--ae-border-default);
113
+ }
114
+
115
+ input[part="page-input"]::-webkit-inner-spin-button,
116
+ input[part="page-input"]::-webkit-outer-spin-button {
117
+ -webkit-appearance: none;
118
+ appearance: none;
119
+ }
120
+
121
+ input[part="page-input"]:focus {
122
+ border-color: var(--ae-border-focus);
123
+ box-shadow: 0 0 0 2px var(--ae-focus-ring);
124
+ }
125
+
126
+ input[part="page-input"]:disabled {
127
+ opacity: 0.45;
128
+ cursor: not-allowed;
129
+ }
130
+
131
+ [part="page-total"] {
132
+ color: var(--ae-color-text-muted);
133
+ white-space: nowrap;
134
+ padding: 0 0.25em;
135
+ line-height: 2em;
136
+ }
137
+
138
+ /* ── Borderless variant ──────────────────────────────────────────────── */
139
+ :host([variant='borderless']) button {
140
+ border-color: transparent;
141
+ }
142
+
143
+ :host([variant='borderless']) button:hover:not(:disabled) {
144
+ border-color: transparent;
145
+ }
146
+
147
+ :host([variant='borderless']) button.active {
148
+ border-color: transparent;
149
+ }
150
+
151
+ :host([variant='borderless']) input[part='page-input'] {
152
+ border-color: transparent;
153
+ }
154
+
155
+ :host([variant='borderless']) input[part='page-input']:hover:not(:disabled) {
156
+ border-color: transparent;
157
+ }
158
+
159
+ :host([variant='borderless']) input[part='page-input']:focus {
160
+ border-color: var(--ae-border-focus);
161
+ }
162
+
163
+ /* ── Link variant ────────────────────────────────────────────────────── */
164
+ :host([variant='link']) button {
165
+ border-color: transparent;
166
+ background: transparent;
167
+ }
168
+
169
+ :host([variant='link']) button:hover:not(:disabled) {
170
+ border-color: transparent;
171
+ background: transparent;
172
+ color: var(--ae-color-primary);
173
+ }
174
+
175
+ :host([variant='link']) button:active:not(:disabled) {
176
+ background: transparent;
177
+ }
178
+
179
+ :host([variant='link']) button:focus-visible {
180
+ border-color: transparent;
181
+ }
182
+
183
+ :host([variant='link']) button.active {
184
+ background: transparent;
185
+ border-color: transparent;
186
+ color: var(--ae-color-primary);
187
+ font-weight: 600;
188
+ }
189
+
190
+ :host([variant='link']) button.active:hover:not(:disabled) {
191
+ background: transparent;
192
+ color: var(--ae-color-primary);
193
+ }
194
+
195
+ :host([variant='link']) input[part='page-input'] {
196
+ border-color: transparent;
197
+ border-bottom-color: var(--ae-border-subtle);
198
+ border-radius: var(--ae-border-radius, var(--ae-radius-sm));
199
+ }
200
+
201
+ :host([variant='link']) input[part='page-input']:hover:not(:disabled) {
202
+ border-color: transparent;
203
+ border-bottom-color: var(--ae-border-default);
204
+ }
205
+
206
+ :host([variant='link']) input[part='page-input']:focus {
207
+ border-color: transparent;
208
+ border-bottom-color: var(--ae-border-focus);
209
+ box-shadow: none;
210
+ }
211
+ `;
212
+ var __create = Object.create;
213
+ var __defProp = Object.defineProperty;
214
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
215
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
216
+ var __typeError = (msg) => {
217
+ throw TypeError(msg);
218
+ };
219
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
220
+ var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
221
+ var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
222
+ var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
223
+ var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
224
+ var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
225
+ var __runInitializers = (array, flags, self, value) => {
226
+ 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);
227
+ return value;
228
+ };
229
+ var __decorateElement = (array, flags, name, decorators, target, extra) => {
230
+ var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
231
+ var j = array.length + 1, key = __decoratorStrings[k + 5];
232
+ var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
233
+ var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
234
+ return __privateGet(this, extra);
235
+ }, set [name](x) {
236
+ return __privateSet(this, extra, x);
237
+ } }, name));
238
+ for (var i = decorators.length - 1; i >= 0; i--) {
239
+ ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
240
+ {
241
+ ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
242
+ access.get = (x) => x[name];
243
+ access.set = (x, y) => x[name] = y;
244
+ }
245
+ it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
246
+ if (it === void 0) __expectFn(it) && (desc[key] = it);
247
+ else if (typeof it !== "object" || it === null) __typeError("Object expected");
248
+ else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
249
+ }
250
+ return desc && __defProp(target, name, desc), target;
251
+ };
252
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
253
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
254
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
255
+ 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);
256
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
257
+ var _variant_dec, _showFirstLast_dec, _simple_dec, _disabled_dec, _size_dec, _siblingCount_dec, _pageCount_dec, _total_dec, _pageSize_dec, _page_dec, _a, _init, _page, _pageSize, _total, _pageCount, _siblingCount, _size, _disabled, _simple, _showFirstLast, _variant;
258
+ class Pagination extends (_a = aeicoComponent.AeicoComponent, _page_dec = [aeico.prop({ type: Number })], _pageSize_dec = [aeico.prop({ type: Number })], _total_dec = [aeico.prop({ type: Number })], _pageCount_dec = [aeico.prop({ type: Number })], _siblingCount_dec = [aeico.prop({ type: Number })], _size_dec = [aeico.prop({ type: String })], _disabled_dec = [aeico.prop({ type: Boolean })], _simple_dec = [aeico.prop({ type: Boolean })], _showFirstLast_dec = [aeico.prop({ type: Boolean })], _variant_dec = [aeico.prop({ type: String })], _a) {
259
+ constructor() {
260
+ super(...arguments);
261
+ __privateAdd(this, _page, __runInitializers(_init, 8, this, 1)), __runInitializers(_init, 11, this);
262
+ __privateAdd(this, _pageSize, __runInitializers(_init, 12, this, 10)), __runInitializers(_init, 15, this);
263
+ __privateAdd(this, _total, __runInitializers(_init, 16, this, 0)), __runInitializers(_init, 19, this);
264
+ __privateAdd(this, _pageCount, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
265
+ __privateAdd(this, _siblingCount, __runInitializers(_init, 24, this, 1)), __runInitializers(_init, 27, this);
266
+ __privateAdd(this, _size, __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
267
+ __privateAdd(this, _disabled, __runInitializers(_init, 32, this, false)), __runInitializers(_init, 35, this);
268
+ __privateAdd(this, _simple, __runInitializers(_init, 36, this, false)), __runInitializers(_init, 39, this);
269
+ __privateAdd(this, _showFirstLast, __runInitializers(_init, 40, this, false)), __runInitializers(_init, 43, this);
270
+ __privateAdd(this, _variant, __runInitializers(_init, 44, this)), __runInitializers(_init, 47, this);
271
+ __publicField(this, "_simpleInput", null);
272
+ __publicField(this, "_handleItemClick", (e) => {
273
+ const btn = e.currentTarget;
274
+ const p = Number(btn.dataset.page);
275
+ if (!isNaN(p)) this._goToPage(p);
276
+ });
277
+ __publicField(this, "_handlePrevClick", () => {
278
+ this._goToPage(this._currentPage - 1);
279
+ });
280
+ __publicField(this, "_handleNextClick", () => {
281
+ this._goToPage(this._currentPage + 1);
282
+ });
283
+ __publicField(this, "_handleFirstClick", () => {
284
+ this._goToPage(1);
285
+ });
286
+ __publicField(this, "_handleLastClick", () => {
287
+ this._goToPage(this._computedPageCount);
288
+ });
289
+ __publicField(this, "_handleSimpleInputChange", (e) => {
290
+ const input = e.target;
291
+ const val = parseInt(input.value, 10);
292
+ if (!isNaN(val)) {
293
+ this._goToPage(val);
294
+ }
295
+ input.value = String(this._currentPage);
296
+ });
297
+ }
298
+ get _computedPageCount() {
299
+ if (this.pageCount != null) return Math.max(1, this.pageCount);
300
+ const ps = this.pageSize > 0 ? this.pageSize : 10;
301
+ return Math.max(1, Math.ceil(this.total / ps));
302
+ }
303
+ get _currentPage() {
304
+ const count = this._computedPageCount;
305
+ return Math.max(1, Math.min(this.page ?? 1, count));
306
+ }
307
+ _getPageItems() {
308
+ const count = this._computedPageCount;
309
+ const page = this._currentPage;
310
+ const sc = Math.max(0, this.siblingCount ?? 1);
311
+ const rangeStart = Math.max(2, page - sc);
312
+ const rangeEnd = Math.min(count - 1, page + sc);
313
+ const showLeftEllipsis = rangeStart > 2;
314
+ const showRightEllipsis = rangeEnd < count - 1;
315
+ const items = [];
316
+ items.push(1);
317
+ if (count <= 1) return items;
318
+ if (showLeftEllipsis) {
319
+ items.push("ellipsis-start");
320
+ } else {
321
+ for (let i = 2; i < rangeStart; i++) items.push(i);
322
+ }
323
+ for (let i = rangeStart; i <= rangeEnd; i++) items.push(i);
324
+ if (showRightEllipsis) {
325
+ items.push("ellipsis-end");
326
+ } else {
327
+ for (let i = rangeEnd + 1; i < count; i++) items.push(i);
328
+ }
329
+ items.push(count);
330
+ return items;
331
+ }
332
+ _goToPage(page) {
333
+ const count = this._computedPageCount;
334
+ const next = Math.max(1, Math.min(count, page));
335
+ if (next === this._currentPage) return;
336
+ this.page = next;
337
+ this.emit("change", { detail: { page: this.page } });
338
+ }
339
+ onUpdated() {
340
+ if (this._simpleInput) {
341
+ this._simpleInput.value = String(this._currentPage);
342
+ }
343
+ }
344
+ _renderNavBtn(name, iconName, label, disabled, onClick) {
345
+ const { button, slot, aeIcon } = aeico.tags;
346
+ button(
347
+ {
348
+ key: name,
349
+ part: name,
350
+ className: "nav-btn",
351
+ disabled,
352
+ "aria-label": label,
353
+ "@click": onClick
354
+ },
355
+ () => {
356
+ slot({ name }, () => {
357
+ aeIcon({ name: iconName });
358
+ });
359
+ }
360
+ );
361
+ }
362
+ _renderSimpleMode(page, count, disabled) {
363
+ this._simpleInput = aeico.tags.input({
364
+ key: "page-input",
365
+ part: "page-input",
366
+ type: "number",
367
+ min: "1",
368
+ max: String(count),
369
+ value: String(page),
370
+ disabled,
371
+ "aria-label": "Page number",
372
+ "@change": this._handleSimpleInputChange
373
+ });
374
+ aeico.tags.span({ key: "page-total", part: "page-total", textContent: `/ ${count}` });
375
+ }
376
+ _renderPageItems(page, disabled) {
377
+ for (const item of this._getPageItems()) {
378
+ if (item === "ellipsis-start" || item === "ellipsis-end") {
379
+ aeico.tags.span({
380
+ key: item,
381
+ part: "ellipsis",
382
+ className: "ellipsis",
383
+ "aria-hidden": "true",
384
+ textContent: "…"
385
+ });
386
+ } else {
387
+ const isActive = item === page;
388
+ aeico.tags.button({
389
+ key: `item-${item}`,
390
+ part: isActive ? "item item-active" : "item",
391
+ className: isActive ? "item active" : "item",
392
+ disabled,
393
+ "aria-current": isActive ? "page" : void 0,
394
+ "aria-label": `Page ${item}`,
395
+ "data-page": String(item),
396
+ textContent: String(item),
397
+ "@click": this._handleItemClick
398
+ });
399
+ }
400
+ }
401
+ }
402
+ render() {
403
+ const count = this._computedPageCount;
404
+ const page = this._currentPage;
405
+ const disabled = this.disabled;
406
+ const isFirst = page <= 1;
407
+ const isLast = page >= count;
408
+ return aeico.html(({ nav }) => {
409
+ nav({ part: "root", role: "navigation", "aria-label": "Pagination" }, () => {
410
+ if (this.showFirstLast)
411
+ this._renderNavBtn(
412
+ "first",
413
+ "chevrons-left",
414
+ "First page",
415
+ disabled || isFirst,
416
+ this._handleFirstClick
417
+ );
418
+ this._renderNavBtn(
419
+ "prev",
420
+ "chevron-left",
421
+ "Previous page",
422
+ disabled || isFirst,
423
+ this._handlePrevClick
424
+ );
425
+ if (this.simple) {
426
+ this._renderSimpleMode(page, count, disabled);
427
+ } else {
428
+ this._renderPageItems(page, disabled);
429
+ }
430
+ this._renderNavBtn(
431
+ "next",
432
+ "chevron-right",
433
+ "Next page",
434
+ disabled || isLast,
435
+ this._handleNextClick
436
+ );
437
+ if (this.showFirstLast)
438
+ this._renderNavBtn(
439
+ "last",
440
+ "chevrons-right",
441
+ "Last page",
442
+ disabled || isLast,
443
+ this._handleLastClick
444
+ );
445
+ });
446
+ });
447
+ }
448
+ }
449
+ _init = __decoratorStart(_a);
450
+ _page = /* @__PURE__ */ new WeakMap();
451
+ _pageSize = /* @__PURE__ */ new WeakMap();
452
+ _total = /* @__PURE__ */ new WeakMap();
453
+ _pageCount = /* @__PURE__ */ new WeakMap();
454
+ _siblingCount = /* @__PURE__ */ new WeakMap();
455
+ _size = /* @__PURE__ */ new WeakMap();
456
+ _disabled = /* @__PURE__ */ new WeakMap();
457
+ _simple = /* @__PURE__ */ new WeakMap();
458
+ _showFirstLast = /* @__PURE__ */ new WeakMap();
459
+ _variant = /* @__PURE__ */ new WeakMap();
460
+ __decorateElement(_init, 4, "page", _page_dec, Pagination, _page);
461
+ __decorateElement(_init, 4, "pageSize", _pageSize_dec, Pagination, _pageSize);
462
+ __decorateElement(_init, 4, "total", _total_dec, Pagination, _total);
463
+ __decorateElement(_init, 4, "pageCount", _pageCount_dec, Pagination, _pageCount);
464
+ __decorateElement(_init, 4, "siblingCount", _siblingCount_dec, Pagination, _siblingCount);
465
+ __decorateElement(_init, 4, "size", _size_dec, Pagination, _size);
466
+ __decorateElement(_init, 4, "disabled", _disabled_dec, Pagination, _disabled);
467
+ __decorateElement(_init, 4, "simple", _simple_dec, Pagination, _simple);
468
+ __decorateElement(_init, 4, "showFirstLast", _showFirstLast_dec, Pagination, _showFirstLast);
469
+ __decorateElement(_init, 4, "variant", _variant_dec, Pagination, _variant);
470
+ __decoratorMetadata(_init, Pagination);
471
+ __publicField(Pagination, "tagName", "pagination");
472
+ __publicField(Pagination, "styles", [variables.variables, size.sizeCSS, paginationStyle]);
473
+ Pagination.register();
474
+ exports.Pagination = Pagination;
475
+ //# sourceMappingURL=pagination.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.cjs","sources":["../../src/pagination/pagination.ts"],"sourcesContent":["import { html, prop, tags } from 'aeico';\nimport type { InferProps } from 'aeico';\nimport AeicoComponent from '../aeico-component';\nimport styleVariables from '../styles/variables.css?inline';\nimport sizeCSS from '../styles/size.css?inline';\nimport paginationStyle from '../styles/components/pagination.css?inline';\nimport type { PaginationSize, PaginationVariant } from './defines';\nimport '../icon/icon';\n\ntype PageItem = number | 'ellipsis-start' | 'ellipsis-end';\n\n/**\n * Pagination component for navigating between pages of content.\n *\n * @prop {number} page - Current page number (1-indexed). Default: 1.\n * @prop {number} pageSize - Number of items per page. Default: 10.\n * @prop {number} total - Total number of items. Used to compute pageCount when pageCount is not set.\n * @prop {number} pageCount - Total number of pages. Overrides total/pageSize calculation when set.\n * @prop {number} siblingCount - Number of page buttons to show on each side of the current page. Default: 1.\n * @prop {'xs'|'sm'|'md'|'lg'} size - Size variant.\n * @prop {boolean} disabled - Disables all interactive controls.\n * @prop {boolean} simple - Simple mode: shows only prev/next buttons and a page number input.\n * @prop {boolean} showFirstLast - Show dedicated first-page and last-page jump buttons.\n * @prop {'borderless'|'link'} variant - Visual variant. `borderless` removes borders; `link` renders page numbers as plain text links with no borders or backgrounds.\n *\n * @event {CustomEvent<{page: number}>} change - Fired when the page changes.\n *\n * @slot prev - Custom content for the previous-page button (default: chevron-left icon).\n * @slot next - Custom content for the next-page button (default: chevron-right icon).\n * @slot first - Custom content for the first-page button (default: chevrons-left icon). Requires showFirstLast.\n * @slot last - Custom content for the last-page button (default: chevrons-right icon). Requires showFirstLast.\n *\n * @csspart root - The outer <nav> element.\n * @csspart prev - The previous-page button.\n * @csspart next - The next-page button.\n * @csspart first - The first-page button (visible when showFirstLast).\n * @csspart last - The last-page button (visible when showFirstLast).\n * @csspart item - A page number button.\n * @csspart ellipsis - An ellipsis span between page groups.\n * @csspart page-input - The page number input in simple mode.\n * @csspart page-total - The \"/ N\" label in simple mode.\n *\n * @example\n * ```html\n * <ae-pagination total=\"100\" page-size=\"10\" page=\"1\"></ae-pagination>\n * ```\n */\nclass Pagination extends AeicoComponent {\n static tagName = 'pagination';\n\n protected static styles = [styleVariables, sizeCSS, paginationStyle];\n\n @prop({ type: Number })\n accessor page: number = 1;\n\n @prop({ type: Number })\n accessor pageSize: number = 10;\n\n @prop({ type: Number })\n accessor total: number = 0;\n\n @prop({ type: Number })\n accessor pageCount: number | undefined;\n\n @prop({ type: Number })\n accessor siblingCount: number = 1;\n\n @prop({ type: String })\n accessor size: PaginationSize | undefined;\n\n @prop({ type: Boolean })\n accessor disabled: boolean = false;\n\n @prop({ type: Boolean })\n accessor simple: boolean = false;\n\n @prop({ type: Boolean })\n accessor showFirstLast: boolean = false;\n\n @prop({ type: String })\n accessor variant: PaginationVariant | undefined;\n\n private _simpleInput: HTMLInputElement | null = null;\n\n private get _computedPageCount(): number {\n if (this.pageCount != null) return Math.max(1, this.pageCount);\n const ps = this.pageSize > 0 ? this.pageSize : 10;\n return Math.max(1, Math.ceil(this.total / ps));\n }\n\n private get _currentPage(): number {\n const count = this._computedPageCount;\n return Math.max(1, Math.min(this.page ?? 1, count));\n }\n\n private _getPageItems(): PageItem[] {\n const count = this._computedPageCount;\n const page = this._currentPage;\n const sc = Math.max(0, this.siblingCount ?? 1);\n\n const rangeStart = Math.max(2, page - sc);\n const rangeEnd = Math.min(count - 1, page + sc);\n\n const showLeftEllipsis = rangeStart > 2;\n const showRightEllipsis = rangeEnd < count - 1;\n\n const items: PageItem[] = [];\n\n // First page always shown\n items.push(1);\n\n if (count <= 1) return items;\n\n // Left side\n if (showLeftEllipsis) {\n items.push('ellipsis-start');\n } else {\n for (let i = 2; i < rangeStart; i++) items.push(i);\n }\n\n // Sibling range (bounded to 2..count-1)\n for (let i = rangeStart; i <= rangeEnd; i++) items.push(i);\n\n // Right side\n if (showRightEllipsis) {\n items.push('ellipsis-end');\n } else {\n for (let i = rangeEnd + 1; i < count; i++) items.push(i);\n }\n\n // Last page always shown\n items.push(count);\n\n return items;\n }\n\n private _goToPage(page: number): void {\n const count = this._computedPageCount;\n const next = Math.max(1, Math.min(count, page));\n if (next === this._currentPage) return;\n this.page = next;\n this.emit('change', { detail: { page: this.page } });\n }\n\n private _handleItemClick = (e: Event): void => {\n const btn = e.currentTarget as HTMLElement;\n const p = Number(btn.dataset.page);\n if (!isNaN(p)) this._goToPage(p);\n };\n\n private _handlePrevClick = (): void => {\n this._goToPage(this._currentPage - 1);\n };\n private _handleNextClick = (): void => {\n this._goToPage(this._currentPage + 1);\n };\n private _handleFirstClick = (): void => {\n this._goToPage(1);\n };\n private _handleLastClick = (): void => {\n this._goToPage(this._computedPageCount);\n };\n\n private _handleSimpleInputChange = (e: Event): void => {\n const input = e.target as HTMLInputElement;\n const val = parseInt(input.value, 10);\n if (!isNaN(val)) {\n this._goToPage(val);\n }\n\n input.value = String(this._currentPage);\n };\n\n protected onUpdated(): void {\n if (this._simpleInput) {\n this._simpleInput.value = String(this._currentPage);\n }\n }\n\n private _renderNavBtn(\n name: 'first' | 'prev' | 'next' | 'last',\n iconName: string,\n label: string,\n disabled: boolean,\n onClick: () => void,\n ): void {\n const { button, slot, aeIcon } = tags;\n\n button(\n {\n key: name,\n part: name,\n className: 'nav-btn',\n disabled,\n 'aria-label': label,\n '@click': onClick,\n },\n () => {\n slot({ name }, () => {\n aeIcon({ name: iconName });\n });\n },\n );\n }\n\n private _renderSimpleMode(page: number, count: number, disabled: boolean): void {\n this._simpleInput = tags.input({\n key: 'page-input',\n part: 'page-input',\n type: 'number',\n min: '1',\n max: String(count),\n value: String(page),\n disabled,\n 'aria-label': 'Page number',\n '@change': this._handleSimpleInputChange,\n });\n tags.span({ key: 'page-total', part: 'page-total', textContent: `/ ${count}` });\n }\n\n private _renderPageItems(page: number, disabled: boolean): void {\n for (const item of this._getPageItems()) {\n if (item === 'ellipsis-start' || item === 'ellipsis-end') {\n tags.span({\n key: item,\n part: 'ellipsis',\n className: 'ellipsis',\n 'aria-hidden': 'true',\n textContent: '…',\n });\n } else {\n const isActive = item === page;\n tags.button({\n key: `item-${item}`,\n part: isActive ? 'item item-active' : 'item',\n className: isActive ? 'item active' : 'item',\n disabled,\n 'aria-current': isActive ? 'page' : undefined,\n 'aria-label': `Page ${item}`,\n 'data-page': String(item),\n textContent: String(item),\n '@click': this._handleItemClick,\n });\n }\n }\n }\n\n protected render() {\n const count = this._computedPageCount;\n const page = this._currentPage;\n const disabled = this.disabled;\n const isFirst = page <= 1;\n const isLast = page >= count;\n\n return html(({ nav }) => {\n nav({ part: 'root', role: 'navigation', 'aria-label': 'Pagination' }, () => {\n if (this.showFirstLast)\n this._renderNavBtn(\n 'first',\n 'chevrons-left',\n 'First page',\n disabled || isFirst,\n this._handleFirstClick,\n );\n\n this._renderNavBtn(\n 'prev',\n 'chevron-left',\n 'Previous page',\n disabled || isFirst,\n this._handlePrevClick,\n );\n\n if (this.simple) {\n this._renderSimpleMode(page, count, disabled);\n } else {\n this._renderPageItems(page, disabled);\n }\n\n this._renderNavBtn(\n 'next',\n 'chevron-right',\n 'Next page',\n disabled || isLast,\n this._handleNextClick,\n );\n\n if (this.showFirstLast)\n this._renderNavBtn(\n 'last',\n 'chevrons-right',\n 'Last page',\n disabled || isLast,\n this._handleLastClick,\n );\n });\n });\n }\n}\n\nPagination.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-pagination': Pagination;\n }\n}\n\nexport default Pagination;\nexport type PaginationProps = InferProps<typeof Pagination>;\n"],"names":["AeicoComponent","prop","tags","html","styleVariables","sizeCSS"],"mappings":"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"}