@vadem/ui 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/LICENSE-lucide.txt +43 -0
  2. package/README.md +19 -2
  3. package/fesm2022/vadem-ui-accordion.mjs +139 -0
  4. package/fesm2022/vadem-ui-accordion.mjs.map +1 -0
  5. package/fesm2022/vadem-ui-active-filters.mjs +355 -0
  6. package/fesm2022/vadem-ui-active-filters.mjs.map +1 -0
  7. package/fesm2022/vadem-ui-alert-dialog.mjs +433 -0
  8. package/fesm2022/vadem-ui-alert-dialog.mjs.map +1 -0
  9. package/fesm2022/vadem-ui-alert.mjs +266 -0
  10. package/fesm2022/vadem-ui-alert.mjs.map +1 -0
  11. package/fesm2022/vadem-ui-autocomplete.mjs +715 -0
  12. package/fesm2022/vadem-ui-autocomplete.mjs.map +1 -0
  13. package/fesm2022/vadem-ui-avatar.mjs +219 -0
  14. package/fesm2022/vadem-ui-avatar.mjs.map +1 -0
  15. package/fesm2022/vadem-ui-badge.mjs +86 -0
  16. package/fesm2022/vadem-ui-badge.mjs.map +1 -0
  17. package/fesm2022/vadem-ui-breadcrumbs.mjs +61 -0
  18. package/fesm2022/vadem-ui-breadcrumbs.mjs.map +1 -0
  19. package/fesm2022/vadem-ui-button.mjs +220 -0
  20. package/fesm2022/vadem-ui-button.mjs.map +1 -0
  21. package/fesm2022/vadem-ui-calendar.mjs +1314 -0
  22. package/fesm2022/vadem-ui-calendar.mjs.map +1 -0
  23. package/fesm2022/vadem-ui-card.mjs +271 -0
  24. package/fesm2022/vadem-ui-card.mjs.map +1 -0
  25. package/fesm2022/vadem-ui-character-count.mjs +269 -0
  26. package/fesm2022/vadem-ui-character-count.mjs.map +1 -0
  27. package/fesm2022/vadem-ui-chart.mjs +1984 -0
  28. package/fesm2022/vadem-ui-chart.mjs.map +1 -0
  29. package/fesm2022/vadem-ui-checkbox.mjs +67 -0
  30. package/fesm2022/vadem-ui-checkbox.mjs.map +1 -0
  31. package/fesm2022/vadem-ui-color-picker.mjs +815 -0
  32. package/fesm2022/vadem-ui-color-picker.mjs.map +1 -0
  33. package/fesm2022/vadem-ui-command.mjs +735 -0
  34. package/fesm2022/vadem-ui-command.mjs.map +1 -0
  35. package/fesm2022/vadem-ui-copy-button.mjs +375 -0
  36. package/fesm2022/vadem-ui-copy-button.mjs.map +1 -0
  37. package/fesm2022/vadem-ui-date-range-picker.mjs +1011 -0
  38. package/fesm2022/vadem-ui-date-range-picker.mjs.map +1 -0
  39. package/fesm2022/vadem-ui-description-list.mjs +59 -0
  40. package/fesm2022/vadem-ui-description-list.mjs.map +1 -0
  41. package/fesm2022/vadem-ui-dialog.mjs +587 -0
  42. package/fesm2022/vadem-ui-dialog.mjs.map +1 -0
  43. package/fesm2022/vadem-ui-dropzone.mjs +176 -0
  44. package/fesm2022/vadem-ui-dropzone.mjs.map +1 -0
  45. package/fesm2022/vadem-ui-editable-text.mjs +641 -0
  46. package/fesm2022/vadem-ui-editable-text.mjs.map +1 -0
  47. package/fesm2022/vadem-ui-empty-state.mjs +175 -0
  48. package/fesm2022/vadem-ui-empty-state.mjs.map +1 -0
  49. package/fesm2022/vadem-ui-expandable-text.mjs +244 -0
  50. package/fesm2022/vadem-ui-expandable-text.mjs.map +1 -0
  51. package/fesm2022/vadem-ui-field.mjs +583 -0
  52. package/fesm2022/vadem-ui-field.mjs.map +1 -0
  53. package/fesm2022/vadem-ui-file-preview.mjs +532 -0
  54. package/fesm2022/vadem-ui-file-preview.mjs.map +1 -0
  55. package/fesm2022/vadem-ui-file-size.mjs +83 -0
  56. package/fesm2022/vadem-ui-file-size.mjs.map +1 -0
  57. package/fesm2022/vadem-ui-form-error-summary.mjs +201 -0
  58. package/fesm2022/vadem-ui-form-error-summary.mjs.map +1 -0
  59. package/fesm2022/vadem-ui-icon.mjs +303 -0
  60. package/fesm2022/vadem-ui-icon.mjs.map +1 -0
  61. package/fesm2022/vadem-ui-input.mjs +120 -0
  62. package/fesm2022/vadem-ui-input.mjs.map +1 -0
  63. package/fesm2022/vadem-ui-kbd.mjs +286 -0
  64. package/fesm2022/vadem-ui-kbd.mjs.map +1 -0
  65. package/fesm2022/vadem-ui-keyboard.mjs +105 -0
  66. package/fesm2022/vadem-ui-keyboard.mjs.map +1 -0
  67. package/fesm2022/vadem-ui-locale.mjs +443 -0
  68. package/fesm2022/vadem-ui-locale.mjs.map +1 -0
  69. package/fesm2022/vadem-ui-menu.mjs +637 -0
  70. package/fesm2022/vadem-ui-menu.mjs.map +1 -0
  71. package/fesm2022/vadem-ui-navigation-list.mjs +130 -0
  72. package/fesm2022/vadem-ui-navigation-list.mjs.map +1 -0
  73. package/fesm2022/vadem-ui-number-input.mjs +264 -0
  74. package/fesm2022/vadem-ui-number-input.mjs.map +1 -0
  75. package/fesm2022/vadem-ui-otp-input.mjs +86 -0
  76. package/fesm2022/vadem-ui-otp-input.mjs.map +1 -0
  77. package/fesm2022/vadem-ui-pagination.mjs +353 -0
  78. package/fesm2022/vadem-ui-pagination.mjs.map +1 -0
  79. package/fesm2022/vadem-ui-password-input.mjs +213 -0
  80. package/fesm2022/vadem-ui-password-input.mjs.map +1 -0
  81. package/fesm2022/vadem-ui-popover.mjs +178 -0
  82. package/fesm2022/vadem-ui-popover.mjs.map +1 -0
  83. package/fesm2022/vadem-ui-progress.mjs +331 -0
  84. package/fesm2022/vadem-ui-progress.mjs.map +1 -0
  85. package/fesm2022/vadem-ui-radio.mjs +39 -0
  86. package/fesm2022/vadem-ui-radio.mjs.map +1 -0
  87. package/fesm2022/vadem-ui-range-slider.mjs +561 -0
  88. package/fesm2022/vadem-ui-range-slider.mjs.map +1 -0
  89. package/fesm2022/vadem-ui-rating.mjs +404 -0
  90. package/fesm2022/vadem-ui-rating.mjs.map +1 -0
  91. package/fesm2022/vadem-ui-relative-time.mjs +217 -0
  92. package/fesm2022/vadem-ui-relative-time.mjs.map +1 -0
  93. package/fesm2022/vadem-ui-reorder-list.mjs +601 -0
  94. package/fesm2022/vadem-ui-reorder-list.mjs.map +1 -0
  95. package/fesm2022/vadem-ui-scroll-area.mjs +65 -0
  96. package/fesm2022/vadem-ui-scroll-area.mjs.map +1 -0
  97. package/fesm2022/vadem-ui-search-input.mjs +307 -0
  98. package/fesm2022/vadem-ui-search-input.mjs.map +1 -0
  99. package/fesm2022/vadem-ui-segmented.mjs +297 -0
  100. package/fesm2022/vadem-ui-segmented.mjs.map +1 -0
  101. package/fesm2022/vadem-ui-select.mjs +1462 -0
  102. package/fesm2022/vadem-ui-select.mjs.map +1 -0
  103. package/fesm2022/vadem-ui-sidebar.mjs +493 -0
  104. package/fesm2022/vadem-ui-sidebar.mjs.map +1 -0
  105. package/fesm2022/vadem-ui-skeleton.mjs +106 -0
  106. package/fesm2022/vadem-ui-skeleton.mjs.map +1 -0
  107. package/fesm2022/vadem-ui-slider.mjs +60 -0
  108. package/fesm2022/vadem-ui-slider.mjs.map +1 -0
  109. package/fesm2022/vadem-ui-splitter.mjs +438 -0
  110. package/fesm2022/vadem-ui-splitter.mjs.map +1 -0
  111. package/fesm2022/vadem-ui-stat.mjs +369 -0
  112. package/fesm2022/vadem-ui-stat.mjs.map +1 -0
  113. package/fesm2022/vadem-ui-stepper.mjs +483 -0
  114. package/fesm2022/vadem-ui-stepper.mjs.map +1 -0
  115. package/fesm2022/vadem-ui-switch.mjs +45 -0
  116. package/fesm2022/vadem-ui-switch.mjs.map +1 -0
  117. package/fesm2022/vadem-ui-table.mjs +593 -0
  118. package/fesm2022/vadem-ui-table.mjs.map +1 -0
  119. package/fesm2022/vadem-ui-tabs.mjs +405 -0
  120. package/fesm2022/vadem-ui-tabs.mjs.map +1 -0
  121. package/fesm2022/vadem-ui-tag-input.mjs +685 -0
  122. package/fesm2022/vadem-ui-tag-input.mjs.map +1 -0
  123. package/fesm2022/vadem-ui-text-highlight.mjs +126 -0
  124. package/fesm2022/vadem-ui-text-highlight.mjs.map +1 -0
  125. package/fesm2022/vadem-ui-time-input.mjs +430 -0
  126. package/fesm2022/vadem-ui-time-input.mjs.map +1 -0
  127. package/fesm2022/vadem-ui-timeline.mjs +313 -0
  128. package/fesm2022/vadem-ui-timeline.mjs.map +1 -0
  129. package/fesm2022/vadem-ui-toast.mjs +397 -0
  130. package/fesm2022/vadem-ui-toast.mjs.map +1 -0
  131. package/fesm2022/vadem-ui-toolbar.mjs +396 -0
  132. package/fesm2022/vadem-ui-toolbar.mjs.map +1 -0
  133. package/fesm2022/vadem-ui-tooltip.mjs +218 -0
  134. package/fesm2022/vadem-ui-tooltip.mjs.map +1 -0
  135. package/fesm2022/vadem-ui-tree.mjs +551 -0
  136. package/fesm2022/vadem-ui-tree.mjs.map +1 -0
  137. package/fesm2022/vadem-ui-upload-list.mjs +408 -0
  138. package/fesm2022/vadem-ui-upload-list.mjs.map +1 -0
  139. package/fesm2022/vadem-ui.mjs +4 -0
  140. package/fesm2022/vadem-ui.mjs.map +1 -0
  141. package/fonts/jetbrains-mono/OFL.txt +93 -0
  142. package/fonts/jetbrains-mono/jetbrains-mono-cyrillic.woff2 +0 -0
  143. package/fonts/jetbrains-mono/jetbrains-mono-latin.woff2 +0 -0
  144. package/fonts/manrope/OFL.txt +93 -0
  145. package/fonts/manrope/manrope-cyrillic.woff2 +0 -0
  146. package/fonts/manrope/manrope-latin.woff2 +0 -0
  147. package/package.json +306 -3
  148. package/styles/base.css +160 -0
  149. package/styles/components/accordion.css +130 -0
  150. package/styles/components/active-filters.css +42 -0
  151. package/styles/components/alert-dialog.css +34 -0
  152. package/styles/components/alert.css +159 -0
  153. package/styles/components/autocomplete.css +97 -0
  154. package/styles/components/avatar.css +90 -0
  155. package/styles/components/badge.css +91 -0
  156. package/styles/components/breadcrumbs.css +94 -0
  157. package/styles/components/button.css +174 -0
  158. package/styles/components/calendar.css +186 -0
  159. package/styles/components/card.css +206 -0
  160. package/styles/components/character-count.css +41 -0
  161. package/styles/components/chart.css +308 -0
  162. package/styles/components/checkbox.css +115 -0
  163. package/styles/components/color-picker.css +158 -0
  164. package/styles/components/command.css +175 -0
  165. package/styles/components/copy-button.css +58 -0
  166. package/styles/components/date-range-picker.css +153 -0
  167. package/styles/components/description-list.css +69 -0
  168. package/styles/components/dialog.css +334 -0
  169. package/styles/components/dropzone.css +89 -0
  170. package/styles/components/editable-text.css +58 -0
  171. package/styles/components/empty-state.css +72 -0
  172. package/styles/components/expandable-text.css +24 -0
  173. package/styles/components/field.css +148 -0
  174. package/styles/components/file-preview.css +65 -0
  175. package/styles/components/form-error-summary.css +71 -0
  176. package/styles/components/icon.css +38 -0
  177. package/styles/components/index.css +80 -0
  178. package/styles/components/input.css +171 -0
  179. package/styles/components/kbd.css +42 -0
  180. package/styles/components/menu.css +168 -0
  181. package/styles/components/multi-select.css +156 -0
  182. package/styles/components/navigation-list.css +147 -0
  183. package/styles/components/number-input.css +33 -0
  184. package/styles/components/otp-input.css +26 -0
  185. package/styles/components/pagination.css +127 -0
  186. package/styles/components/password-input.css +20 -0
  187. package/styles/components/popover.css +93 -0
  188. package/styles/components/progress-ring.css +112 -0
  189. package/styles/components/progress.css +162 -0
  190. package/styles/components/radio.css +117 -0
  191. package/styles/components/range-slider.css +158 -0
  192. package/styles/components/rating.css +100 -0
  193. package/styles/components/reorder-list.css +143 -0
  194. package/styles/components/scroll-area.css +39 -0
  195. package/styles/components/search-input.css +25 -0
  196. package/styles/components/segmented.css +136 -0
  197. package/styles/components/select.css +257 -0
  198. package/styles/components/sidebar.css +105 -0
  199. package/styles/components/skeleton.css +83 -0
  200. package/styles/components/slider.css +132 -0
  201. package/styles/components/splitter.css +83 -0
  202. package/styles/components/stat.css +62 -0
  203. package/styles/components/stepper.css +236 -0
  204. package/styles/components/switch.css +107 -0
  205. package/styles/components/table.css +195 -0
  206. package/styles/components/tabs.css +198 -0
  207. package/styles/components/tag-input.css +138 -0
  208. package/styles/components/text-highlight.css +22 -0
  209. package/styles/components/time-input.css +96 -0
  210. package/styles/components/timeline.css +182 -0
  211. package/styles/components/toast.css +146 -0
  212. package/styles/components/toolbar.css +72 -0
  213. package/styles/components/tooltip.css +93 -0
  214. package/styles/components/tree.css +88 -0
  215. package/styles/components/upload-list.css +113 -0
  216. package/styles/fonts.css +67 -0
  217. package/styles/index.css +14 -0
  218. package/styles/reset.css +57 -0
  219. package/styles/tokens/primitives.css +364 -0
  220. package/styles/tokens/semantic.css +233 -0
  221. package/types/vadem-ui-accordion.d.ts +43 -0
  222. package/types/vadem-ui-active-filters.d.ts +73 -0
  223. package/types/vadem-ui-alert-dialog.d.ts +87 -0
  224. package/types/vadem-ui-alert.d.ts +64 -0
  225. package/types/vadem-ui-autocomplete.d.ts +156 -0
  226. package/types/vadem-ui-avatar.d.ts +59 -0
  227. package/types/vadem-ui-badge.d.ts +25 -0
  228. package/types/vadem-ui-breadcrumbs.d.ts +22 -0
  229. package/types/vadem-ui-button.d.ts +52 -0
  230. package/types/vadem-ui-calendar.d.ts +327 -0
  231. package/types/vadem-ui-card.d.ts +58 -0
  232. package/types/vadem-ui-character-count.d.ts +71 -0
  233. package/types/vadem-ui-chart.d.ts +452 -0
  234. package/types/vadem-ui-checkbox.d.ts +20 -0
  235. package/types/vadem-ui-color-picker.d.ts +171 -0
  236. package/types/vadem-ui-command.d.ts +145 -0
  237. package/types/vadem-ui-copy-button.d.ts +90 -0
  238. package/types/vadem-ui-date-range-picker.d.ts +216 -0
  239. package/types/vadem-ui-description-list.d.ts +15 -0
  240. package/types/vadem-ui-dialog.d.ts +174 -0
  241. package/types/vadem-ui-dropzone.d.ts +73 -0
  242. package/types/vadem-ui-editable-text.d.ts +141 -0
  243. package/types/vadem-ui-empty-state.d.ts +34 -0
  244. package/types/vadem-ui-expandable-text.d.ts +52 -0
  245. package/types/vadem-ui-field.d.ts +180 -0
  246. package/types/vadem-ui-file-preview.d.ts +108 -0
  247. package/types/vadem-ui-file-size.d.ts +18 -0
  248. package/types/vadem-ui-form-error-summary.d.ts +46 -0
  249. package/types/vadem-ui-icon.d.ts +152 -0
  250. package/types/vadem-ui-input.d.ts +31 -0
  251. package/types/vadem-ui-kbd.d.ts +66 -0
  252. package/types/vadem-ui-keyboard.d.ts +61 -0
  253. package/types/vadem-ui-locale.d.ts +241 -0
  254. package/types/vadem-ui-menu.d.ts +132 -0
  255. package/types/vadem-ui-navigation-list.d.ts +28 -0
  256. package/types/vadem-ui-number-input.d.ts +39 -0
  257. package/types/vadem-ui-otp-input.d.ts +15 -0
  258. package/types/vadem-ui-pagination.d.ts +96 -0
  259. package/types/vadem-ui-password-input.d.ts +36 -0
  260. package/types/vadem-ui-popover.d.ts +48 -0
  261. package/types/vadem-ui-progress.d.ts +95 -0
  262. package/types/vadem-ui-radio.d.ts +11 -0
  263. package/types/vadem-ui-range-slider.d.ts +136 -0
  264. package/types/vadem-ui-rating.d.ts +95 -0
  265. package/types/vadem-ui-relative-time.d.ts +58 -0
  266. package/types/vadem-ui-reorder-list.d.ts +120 -0
  267. package/types/vadem-ui-scroll-area.d.ts +13 -0
  268. package/types/vadem-ui-search-input.d.ts +58 -0
  269. package/types/vadem-ui-segmented.d.ts +76 -0
  270. package/types/vadem-ui-select.d.ts +303 -0
  271. package/types/vadem-ui-sidebar.d.ts +70 -0
  272. package/types/vadem-ui-skeleton.d.ts +28 -0
  273. package/types/vadem-ui-slider.d.ts +17 -0
  274. package/types/vadem-ui-splitter.d.ts +99 -0
  275. package/types/vadem-ui-stat.d.ts +101 -0
  276. package/types/vadem-ui-stepper.d.ts +108 -0
  277. package/types/vadem-ui-switch.d.ts +10 -0
  278. package/types/vadem-ui-table.d.ts +172 -0
  279. package/types/vadem-ui-tabs.d.ts +101 -0
  280. package/types/vadem-ui-tag-input.d.ts +170 -0
  281. package/types/vadem-ui-text-highlight.d.ts +27 -0
  282. package/types/vadem-ui-time-input.d.ts +47 -0
  283. package/types/vadem-ui-timeline.d.ts +54 -0
  284. package/types/vadem-ui-toast.d.ts +104 -0
  285. package/types/vadem-ui-toolbar.d.ts +80 -0
  286. package/types/vadem-ui-tooltip.d.ts +71 -0
  287. package/types/vadem-ui-tree.d.ts +123 -0
  288. package/types/vadem-ui-upload-list.d.ts +70 -0
  289. package/types/vadem-ui.d.ts +1 -0
@@ -0,0 +1,313 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, Directive, ViewEncapsulation, computed, input } from "@angular/core";
3
+ import { VdIcon } from "@vadem/ui/icon";
4
+ import { vdTexts } from "@vadem/ui/locale";
5
+ const STATUS = {
6
+ neutral: {
7
+ label: "Event",
8
+ icon: null
9
+ },
10
+ success: {
11
+ label: "Completed",
12
+ icon: "check"
13
+ },
14
+ warning: {
15
+ label: "Attention required",
16
+ icon: "alert-triangle"
17
+ },
18
+ danger: {
19
+ label: "Error",
20
+ icon: "x"
21
+ },
22
+ info: {
23
+ label: "Update",
24
+ icon: "info"
25
+ }
26
+ };
27
+ var VdTimeline = class VdTimeline {
28
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
29
+ t = vdTexts("timeline", { label: this.label });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({
31
+ minVersion: "12.0.0",
32
+ version: "22.2.1",
33
+ ngImport: i0,
34
+ type: VdTimeline,
35
+ deps: [],
36
+ target: i0.ɵɵFactoryTarget.Directive
37
+ });
38
+ static ɵdir = i0.ɵɵngDeclareDirective({
39
+ minVersion: "17.1.0",
40
+ version: "22.2.1",
41
+ type: VdTimeline,
42
+ isStandalone: true,
43
+ selector: "ol[vdTimeline]",
44
+ inputs: { label: {
45
+ classPropertyName: "label",
46
+ publicName: "label",
47
+ isSignal: true,
48
+ isRequired: false,
49
+ transformFunction: null
50
+ } },
51
+ host: {
52
+ attributes: { "role": "list" },
53
+ properties: { "attr.aria-label": "t().label" },
54
+ classAttribute: "vd-timeline"
55
+ },
56
+ ngImport: i0
57
+ });
58
+ };
59
+ i0.ɵɵngDeclareClassMetadata({
60
+ minVersion: "12.0.0",
61
+ version: "22.2.1",
62
+ ngImport: i0,
63
+ type: VdTimeline,
64
+ decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ selector: "ol[vdTimeline]",
68
+ host: {
69
+ class: "vd-timeline",
70
+ role: "list",
71
+ "[attr.aria-label]": "t().label"
72
+ }
73
+ }]
74
+ }],
75
+ propDecorators: { label: [{
76
+ type: i0.Input,
77
+ args: [{
78
+ isSignal: true,
79
+ alias: "label",
80
+ required: false
81
+ }]
82
+ }] }
83
+ });
84
+ var VdTimelineItem = class VdTimelineItem {
85
+ status = input("neutral", ...ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []);
86
+ statusLabel = input(...ngDevMode ? [void 0, { debugName: "statusLabel" }] : /* istanbul ignore next */ []);
87
+ icon = computed(() => STATUS[this.status()].icon, ...ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []);
88
+ resolvedLabel = computed(() => this.statusLabel()?.trim() || STATUS[this.status()].label, ...ngDevMode ? [{ debugName: "resolvedLabel" }] : /* istanbul ignore next */ []);
89
+ static ɵfac = i0.ɵɵngDeclareFactory({
90
+ minVersion: "12.0.0",
91
+ version: "22.2.1",
92
+ ngImport: i0,
93
+ type: VdTimelineItem,
94
+ deps: [],
95
+ target: i0.ɵɵFactoryTarget.Component
96
+ });
97
+ static ɵcmp = i0.ɵɵngDeclareComponent({
98
+ minVersion: "17.0.0",
99
+ version: "22.2.1",
100
+ type: VdTimelineItem,
101
+ isStandalone: true,
102
+ selector: "li[vdTimelineItem]",
103
+ inputs: {
104
+ status: {
105
+ classPropertyName: "status",
106
+ publicName: "status",
107
+ isSignal: true,
108
+ isRequired: false,
109
+ transformFunction: null
110
+ },
111
+ statusLabel: {
112
+ classPropertyName: "statusLabel",
113
+ publicName: "statusLabel",
114
+ isSignal: true,
115
+ isRequired: false,
116
+ transformFunction: null
117
+ }
118
+ },
119
+ host: {
120
+ properties: { "attr.data-status": "status()" },
121
+ classAttribute: "vd-timeline-item"
122
+ },
123
+ ngImport: i0,
124
+ template: `
125
+ <span class="vd-timeline-item__marker" aria-hidden="true">
126
+ @if (icon(); as name) {
127
+ <vd-icon [name]="name" />
128
+ } @else {
129
+ <span class="vd-timeline-item__dot"></span>
130
+ }
131
+ </span>
132
+ <div class="vd-timeline-item__content">
133
+ <div class="vd-timeline-item__meta">
134
+ <ng-content select="[vdTimelineTime]" />
135
+ <span class="vd-timeline-item__status">{{ resolvedLabel() }}</span>
136
+ </div>
137
+ <ng-content select="[vdTimelineTitle]" />
138
+ <ng-content select="[vdTimelineDescription]" />
139
+ <ng-content />
140
+ </div>
141
+ `,
142
+ isInline: true,
143
+ dependencies: [{
144
+ kind: "component",
145
+ type: VdIcon,
146
+ selector: "vd-icon",
147
+ inputs: ["name", "label"]
148
+ }],
149
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
150
+ encapsulation: i0.ViewEncapsulation.None
151
+ });
152
+ };
153
+ i0.ɵɵngDeclareClassMetadata({
154
+ minVersion: "12.0.0",
155
+ version: "22.2.1",
156
+ ngImport: i0,
157
+ type: VdTimelineItem,
158
+ decorators: [{
159
+ type: Component,
160
+ args: [{
161
+ selector: "li[vdTimelineItem]",
162
+ imports: [VdIcon],
163
+ template: `
164
+ <span class="vd-timeline-item__marker" aria-hidden="true">
165
+ @if (icon(); as name) {
166
+ <vd-icon [name]="name" />
167
+ } @else {
168
+ <span class="vd-timeline-item__dot"></span>
169
+ }
170
+ </span>
171
+ <div class="vd-timeline-item__content">
172
+ <div class="vd-timeline-item__meta">
173
+ <ng-content select="[vdTimelineTime]" />
174
+ <span class="vd-timeline-item__status">{{ resolvedLabel() }}</span>
175
+ </div>
176
+ <ng-content select="[vdTimelineTitle]" />
177
+ <ng-content select="[vdTimelineDescription]" />
178
+ <ng-content />
179
+ </div>
180
+ `,
181
+ host: {
182
+ class: "vd-timeline-item",
183
+ "[attr.data-status]": "status()"
184
+ },
185
+ changeDetection: ChangeDetectionStrategy.OnPush,
186
+ encapsulation: ViewEncapsulation.None
187
+ }]
188
+ }],
189
+ propDecorators: {
190
+ status: [{
191
+ type: i0.Input,
192
+ args: [{
193
+ isSignal: true,
194
+ alias: "status",
195
+ required: false
196
+ }]
197
+ }],
198
+ statusLabel: [{
199
+ type: i0.Input,
200
+ args: [{
201
+ isSignal: true,
202
+ alias: "statusLabel",
203
+ required: false
204
+ }]
205
+ }]
206
+ }
207
+ });
208
+ var VdTimelineTitle = class VdTimelineTitle {
209
+ static ɵfac = i0.ɵɵngDeclareFactory({
210
+ minVersion: "12.0.0",
211
+ version: "22.2.1",
212
+ ngImport: i0,
213
+ type: VdTimelineTitle,
214
+ deps: [],
215
+ target: i0.ɵɵFactoryTarget.Directive
216
+ });
217
+ static ɵdir = i0.ɵɵngDeclareDirective({
218
+ minVersion: "14.0.0",
219
+ version: "22.2.1",
220
+ type: VdTimelineTitle,
221
+ isStandalone: true,
222
+ selector: "[vdTimelineTitle]",
223
+ host: { classAttribute: "vd-timeline-item__title" },
224
+ ngImport: i0
225
+ });
226
+ };
227
+ i0.ɵɵngDeclareClassMetadata({
228
+ minVersion: "12.0.0",
229
+ version: "22.2.1",
230
+ ngImport: i0,
231
+ type: VdTimelineTitle,
232
+ decorators: [{
233
+ type: Directive,
234
+ args: [{
235
+ selector: "[vdTimelineTitle]",
236
+ host: { class: "vd-timeline-item__title" }
237
+ }]
238
+ }]
239
+ });
240
+ var VdTimelineDescription = class VdTimelineDescription {
241
+ static ɵfac = i0.ɵɵngDeclareFactory({
242
+ minVersion: "12.0.0",
243
+ version: "22.2.1",
244
+ ngImport: i0,
245
+ type: VdTimelineDescription,
246
+ deps: [],
247
+ target: i0.ɵɵFactoryTarget.Directive
248
+ });
249
+ static ɵdir = i0.ɵɵngDeclareDirective({
250
+ minVersion: "14.0.0",
251
+ version: "22.2.1",
252
+ type: VdTimelineDescription,
253
+ isStandalone: true,
254
+ selector: "[vdTimelineDescription]",
255
+ host: { classAttribute: "vd-timeline-item__description" },
256
+ ngImport: i0
257
+ });
258
+ };
259
+ i0.ɵɵngDeclareClassMetadata({
260
+ minVersion: "12.0.0",
261
+ version: "22.2.1",
262
+ ngImport: i0,
263
+ type: VdTimelineDescription,
264
+ decorators: [{
265
+ type: Directive,
266
+ args: [{
267
+ selector: "[vdTimelineDescription]",
268
+ host: { class: "vd-timeline-item__description" }
269
+ }]
270
+ }]
271
+ });
272
+ var VdTimelineTime = class VdTimelineTime {
273
+ static ɵfac = i0.ɵɵngDeclareFactory({
274
+ minVersion: "12.0.0",
275
+ version: "22.2.1",
276
+ ngImport: i0,
277
+ type: VdTimelineTime,
278
+ deps: [],
279
+ target: i0.ɵɵFactoryTarget.Directive
280
+ });
281
+ static ɵdir = i0.ɵɵngDeclareDirective({
282
+ minVersion: "14.0.0",
283
+ version: "22.2.1",
284
+ type: VdTimelineTime,
285
+ isStandalone: true,
286
+ selector: "time[vdTimelineTime]",
287
+ host: { classAttribute: "vd-timeline-item__time" },
288
+ ngImport: i0
289
+ });
290
+ };
291
+ i0.ɵɵngDeclareClassMetadata({
292
+ minVersion: "12.0.0",
293
+ version: "22.2.1",
294
+ ngImport: i0,
295
+ type: VdTimelineTime,
296
+ decorators: [{
297
+ type: Directive,
298
+ args: [{
299
+ selector: "time[vdTimelineTime]",
300
+ host: { class: "vd-timeline-item__time" }
301
+ }]
302
+ }]
303
+ });
304
+ const VD_TIMELINE = [
305
+ VdTimeline,
306
+ VdTimelineItem,
307
+ VdTimelineTitle,
308
+ VdTimelineDescription,
309
+ VdTimelineTime
310
+ ];
311
+ export { VD_TIMELINE, VdTimeline, VdTimelineDescription, VdTimelineItem, VdTimelineTime, VdTimelineTitle };
312
+
313
+ //# sourceMappingURL=vadem-ui-timeline.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vadem-ui-timeline.mjs","names":[],"sources":["../../../projects/ui/timeline/src/timeline.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\nimport { VdIcon, VdIconName } from '@vadem/ui/icon';\nimport { vdTexts } from '@vadem/ui/locale';\n\nexport type VdTimelineStatus = 'neutral' | 'success' | 'warning' | 'danger' | 'info';\n\nconst STATUS: Record<VdTimelineStatus, { label: string; icon: VdIconName | null }> = {\n neutral: { label: 'Event', icon: null },\n success: { label: 'Completed', icon: 'check' },\n warning: { label: 'Attention required', icon: 'alert-triangle' },\n danger: { label: 'Error', icon: 'x' },\n info: { label: 'Update', icon: 'info' },\n};\n\n/** Named chronological list; consumers own ordering and timestamps. */\n@Directive({\n selector: 'ol[vdTimeline]',\n host: { class: 'vd-timeline', role: 'list', '[attr.aria-label]': 't().label' },\n})\nexport class VdTimeline {\n readonly label = input<string>();\n /** Text inputs resolved against the active VD_LOCALE. */\n protected readonly t = vdTexts('timeline', { label: this.label });\n}\n\n/** Native list item with a decorative marker and visible localized status text. */\n@Component({\n // Native li preserves list semantics without adding a wrapper between ol and li.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[vdTimelineItem]',\n imports: [VdIcon],\n template: `\n <span class=\"vd-timeline-item__marker\" aria-hidden=\"true\">\n @if (icon(); as name) {\n <vd-icon [name]=\"name\" />\n } @else {\n <span class=\"vd-timeline-item__dot\"></span>\n }\n </span>\n <div class=\"vd-timeline-item__content\">\n <div class=\"vd-timeline-item__meta\">\n <ng-content select=\"[vdTimelineTime]\" />\n <span class=\"vd-timeline-item__status\">{{ resolvedLabel() }}</span>\n </div>\n <ng-content select=\"[vdTimelineTitle]\" />\n <ng-content select=\"[vdTimelineDescription]\" />\n <ng-content />\n </div>\n `,\n host: { class: 'vd-timeline-item', '[attr.data-status]': 'status()' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class VdTimelineItem {\n readonly status = input<VdTimelineStatus>('neutral');\n readonly statusLabel = input<string>();\n protected readonly icon = computed(() => STATUS[this.status()].icon);\n protected readonly resolvedLabel = computed(\n () => this.statusLabel()?.trim() || STATUS[this.status()].label,\n );\n}\n\n/** Keep the consumer's heading level and any native link semantics. */\n@Directive({ selector: '[vdTimelineTitle]', host: { class: 'vd-timeline-item__title' } })\nexport class VdTimelineTitle {}\n\n@Directive({\n selector: '[vdTimelineDescription]',\n host: { class: 'vd-timeline-item__description' },\n})\nexport class VdTimelineDescription {}\n\n/** Native datetime and localized text are supplied by the consumer. */\n@Directive({ selector: 'time[vdTimelineTime]', host: { class: 'vd-timeline-item__time' } })\nexport class VdTimelineTime {}\n\nexport const VD_TIMELINE = [\n VdTimeline,\n VdTimelineItem,\n VdTimelineTitle,\n VdTimelineDescription,\n VdTimelineTime,\n] as const;\n"],"mappings":";;;;AAaA,MAAM,SAA+E;CACnF,SAAS;EAAE,OAAO;EAAS,MAAM;CAAI;CACrC,SAAS;EAAE,OAAO;EAAa,MAAM;CAAO;CAC5C,SAAS;EAAE,OAAO;EAAsB,MAAM;CAAgB;CAC9D,QAAQ;EAAE,OAAO;EAAS,MAAM;CAAG;CACnC,MAAM;EAAE,OAAO;EAAU,MAAM;CAAM;AACtC;AAOD,IAAa,aAAb,MAAa,WAAU;CACZ,QAAQ,MAAe,GAAA,YAAA,CAAA,QAAA,EAAA,WAAA,QAAA,CAAA,+BAAA,CAAA,CAAA;CAEb,IAAI,QAAQ,YAAY,EAAE,OAAO,KAAK,MAAK,CAAE;CAHrD,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAU,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAV,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAU,cAAA;EAAA,UAAA;EAAA,QAAA,EAAA,OAAA;GAAA,mBAAA;GAAA,YAAA;GAAA,UAAA;GAAA,YAAA;GAAA,mBAAA;EAAA,EAAA;EAAA,MAAA;GAAA,YAAA,EAAA,QAAA,OAAA;GAAA,YAAA,EAAA,mBAAA,YAAA;GAAA,gBAAA;EAAA;EAAA,UAAA;CAAA,CAAA;;AAAV,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAU,YAAA,CAAA;EAJtB,MAAA;EAAU,MAAA,CAAA;GACT,UAAU;GACV,MAAM;IAAE,OAAO;IAAe,MAAM;IAAQ,qBAAqB;GAAW;EAC7E,CAAA;;;;;;;;;;;AAmCD,IAAa,iBAAb,MAAa,eAAc;CAChB,SAAS,MAAwB,WAAU,GAAA,YAAA,CAAA,EAAA,WAAA,SAAA,CAAA,+BAAA,CAAA,CAAA;CAC3C,cAAc,MAAe,GAAA,YAAA,CAAA,QAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CACnB,OAAO,eAAe,OAAO,KAAK,OAAM,EAAG,CAAC,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACjD,gBAAgB,eAC3B,KAAK,YAAW,CAAE,EAAE,KAAI,KAAM,OAAO,KAAK,OAAM,EAAG,CAAC,OAC3D,GAAA,YAAA,CAAA,EAAA,WAAA,gBAAA,CAAA,+BAAA,CAAA,CAAA;CANU,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAc,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAd,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAc,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,QAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,aAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,MAAA;GAAA,YAAA,EAAA,oBAAA,WAAA;GAAA,gBAAA;EAAA;EAAA,UAAA;EAAA,UAtBf;;;;;;;;;;;;;;;;;;EAiBT,UAAA;EAAA,cAAA,CAAA;GAAA,MAAA;GAAA,MAlBS;GAAM,UAAA;GAAA,QAAA,CAAA,QAAA,OAAA;EAAA,CAAA;EAAA,iBAAA,GAAA,wBAAA;EAAA,eAAA,GAAA,kBAAA;CAAA,CAAA;;AAuBL,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAc,YAAA,CAAA;EA3B1B,MAAA;EAAU,MAAA,CAAA;GAGT,UAAU;GACV,SAAS,CAAC,MAAM;GAChB,UAAU;;;;;;;;;;;;;;;;;;GAkBV,MAAM;IAAE,OAAO;IAAoB,sBAAsB;GAAU;GACnE,iBAAiB,wBAAwB;GACzC,eAAe,kBAAkB;EAClC,CAAA;;;;;;;;;;;;;;;;;;;;;AAYD,IAAa,kBAAb,MAAa,gBAAe;CAAf,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAe,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAf,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAe,cAAA;EAAA,UAAA;EAAA,MAAA,EAAA,gBAAA,0BAAA;EAAA,UAAA;CAAA,CAAA;;AAAf,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAe,YAAA,CAAA;EAD3B,MAAA;EAAU,MAAA,CAAA;GAAE,UAAU;GAAqB,MAAM,EAAE,OAAO,0BAAyB;EAAE,CAAE;;;AAOxF,IAAa,wBAAb,MAAa,sBAAqB;CAArB,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAqB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAArB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAqB,cAAA;EAAA,UAAA;EAAA,MAAA,EAAA,gBAAA,gCAAA;EAAA,UAAA;CAAA,CAAA;;AAArB,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAqB,YAAA,CAAA;EAJjC,MAAA;EAAU,MAAA,CAAA;GACT,UAAU;GACV,MAAM,EAAE,OAAO,gCAA+B;EAC/C,CAAA;;;AAKD,IAAa,iBAAb,MAAa,eAAc;CAAd,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAc,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAd,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAc,cAAA;EAAA,UAAA;EAAA,MAAA,EAAA,gBAAA,yBAAA;EAAA,UAAA;CAAA,CAAA;;AAAd,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAc,YAAA,CAAA;EAD1B,MAAA;EAAU,MAAA,CAAA;GAAE,UAAU;GAAwB,MAAM,EAAE,OAAO,yBAAwB;EAAE,CAAE;;;AAG1F,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;AACQ"}