voa-ds-core 1.0.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 (782) hide show
  1. package/dist/cjs/icons-zJ6d3Dsx.js +43 -0
  2. package/dist/cjs/icons-zJ6d3Dsx.js.map +1 -0
  3. package/dist/cjs/index-TzstRlIU.js +1895 -0
  4. package/dist/cjs/index-TzstRlIU.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +3 -0
  6. package/dist/cjs/index.cjs.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +13 -0
  8. package/dist/cjs/loader.cjs.js.map +1 -0
  9. package/dist/cjs/voa-accordion.cjs.entry.js +75 -0
  10. package/dist/cjs/voa-accordion.entry.cjs.js.map +1 -0
  11. package/dist/cjs/voa-alert.cjs.entry.js +73 -0
  12. package/dist/cjs/voa-alert.entry.cjs.js.map +1 -0
  13. package/dist/cjs/voa-avatar.cjs.entry.js +80 -0
  14. package/dist/cjs/voa-avatar.entry.cjs.js.map +1 -0
  15. package/dist/cjs/voa-badge.cjs.entry.js +99 -0
  16. package/dist/cjs/voa-badge.entry.cjs.js.map +1 -0
  17. package/dist/cjs/voa-breadcrumbs-divider.cjs.entry.js +40 -0
  18. package/dist/cjs/voa-breadcrumbs-divider.entry.cjs.js.map +1 -0
  19. package/dist/cjs/voa-breadcrumbs-item.cjs.entry.js +27 -0
  20. package/dist/cjs/voa-breadcrumbs-item.entry.cjs.js.map +1 -0
  21. package/dist/cjs/voa-breadcrumbs.cjs.entry.js +26 -0
  22. package/dist/cjs/voa-breadcrumbs.entry.cjs.js.map +1 -0
  23. package/dist/cjs/voa-button.cjs.entry.js +90 -0
  24. package/dist/cjs/voa-button.entry.cjs.js.map +1 -0
  25. package/dist/cjs/voa-card.cjs.entry.js +18 -0
  26. package/dist/cjs/voa-card.entry.cjs.js.map +1 -0
  27. package/dist/cjs/voa-checkbox.cjs.entry.js +124 -0
  28. package/dist/cjs/voa-checkbox.entry.cjs.js.map +1 -0
  29. package/dist/cjs/voa-container-multi-select.cjs.entry.js +90 -0
  30. package/dist/cjs/voa-container-multi-select.entry.cjs.js.map +1 -0
  31. package/dist/cjs/voa-datepicker.cjs.entry.js +22 -0
  32. package/dist/cjs/voa-datepicker.entry.cjs.js.map +1 -0
  33. package/dist/cjs/voa-drawer.cjs.entry.js +23 -0
  34. package/dist/cjs/voa-drawer.entry.cjs.js.map +1 -0
  35. package/dist/cjs/voa-dropdown.cjs.entry.js +27 -0
  36. package/dist/cjs/voa-dropdown.entry.cjs.js.map +1 -0
  37. package/dist/cjs/voa-input-addon.cjs.entry.js +123 -0
  38. package/dist/cjs/voa-input-addon.entry.cjs.js.map +1 -0
  39. package/dist/cjs/voa-input.cjs.entry.js +191 -0
  40. package/dist/cjs/voa-input.entry.cjs.js.map +1 -0
  41. package/dist/cjs/voa-keybinding.cjs.entry.js +30 -0
  42. package/dist/cjs/voa-keybinding.entry.cjs.js.map +1 -0
  43. package/dist/cjs/voa-link.cjs.entry.js +19 -0
  44. package/dist/cjs/voa-link.entry.cjs.js.map +1 -0
  45. package/dist/cjs/voa-list.cjs.entry.js +19 -0
  46. package/dist/cjs/voa-list.entry.cjs.js.map +1 -0
  47. package/dist/cjs/voa-modal.cjs.entry.js +23 -0
  48. package/dist/cjs/voa-modal.entry.cjs.js.map +1 -0
  49. package/dist/cjs/voa-option.cjs.entry.js +85 -0
  50. package/dist/cjs/voa-option.entry.cjs.js.map +1 -0
  51. package/dist/cjs/voa-pagination-item.cjs.entry.js +53 -0
  52. package/dist/cjs/voa-pagination-item.entry.cjs.js.map +1 -0
  53. package/dist/cjs/voa-pagination.cjs.entry.js +82 -0
  54. package/dist/cjs/voa-pagination.entry.cjs.js.map +1 -0
  55. package/dist/cjs/voa-progress.cjs.entry.js +19 -0
  56. package/dist/cjs/voa-progress.entry.cjs.js.map +1 -0
  57. package/dist/cjs/voa-radio.cjs.entry.js +61 -0
  58. package/dist/cjs/voa-radio.entry.cjs.js.map +1 -0
  59. package/dist/cjs/voa-select-base.cjs.entry.js +177 -0
  60. package/dist/cjs/voa-select-base.entry.cjs.js.map +1 -0
  61. package/dist/cjs/voa-select.cjs.entry.js +142 -0
  62. package/dist/cjs/voa-select.entry.cjs.js.map +1 -0
  63. package/dist/cjs/voa-skeleton.cjs.entry.js +24 -0
  64. package/dist/cjs/voa-skeleton.entry.cjs.js.map +1 -0
  65. package/dist/cjs/voa-stepper.cjs.entry.js +26 -0
  66. package/dist/cjs/voa-stepper.entry.cjs.js.map +1 -0
  67. package/dist/cjs/voa-switch.cjs.entry.js +107 -0
  68. package/dist/cjs/voa-switch.entry.cjs.js.map +1 -0
  69. package/dist/cjs/voa-tab-item.cjs.entry.js +85 -0
  70. package/dist/cjs/voa-tab-item.entry.cjs.js.map +1 -0
  71. package/dist/cjs/voa-tab.cjs.entry.js +129 -0
  72. package/dist/cjs/voa-tab.entry.cjs.js.map +1 -0
  73. package/dist/cjs/voa-table.cjs.entry.js +20 -0
  74. package/dist/cjs/voa-table.entry.cjs.js.map +1 -0
  75. package/dist/cjs/voa-tag.cjs.entry.js +45 -0
  76. package/dist/cjs/voa-tag.entry.cjs.js.map +1 -0
  77. package/dist/cjs/voa-text-area.cjs.entry.js +118 -0
  78. package/dist/cjs/voa-text-area.entry.cjs.js.map +1 -0
  79. package/dist/cjs/voa-timepicker.cjs.entry.js +18 -0
  80. package/dist/cjs/voa-timepicker.entry.cjs.js.map +1 -0
  81. package/dist/cjs/voa-tooltip-arrow.cjs.entry.js +32 -0
  82. package/dist/cjs/voa-tooltip-arrow.entry.cjs.js.map +1 -0
  83. package/dist/cjs/voa-tooltip.cjs.entry.js +78 -0
  84. package/dist/cjs/voa-tooltip.entry.cjs.js.map +1 -0
  85. package/dist/cjs/voa-upload.cjs.entry.js +18 -0
  86. package/dist/cjs/voa-upload.entry.cjs.js.map +1 -0
  87. package/dist/cjs/voa.cjs.js +25 -0
  88. package/dist/cjs/voa.cjs.js.map +1 -0
  89. package/dist/collection/Stories/SaasDashboard.stories.js +527 -0
  90. package/dist/collection/Stories/SaasDashboard.stories.js.map +1 -0
  91. package/dist/collection/Stories/styles/voa-radio.styles.js +155 -0
  92. package/dist/collection/Stories/styles/voa-radio.styles.js.map +1 -0
  93. package/dist/collection/collection-manifest.json +50 -0
  94. package/dist/collection/components/GetStarted/AddingNewBrand.stories.js +214 -0
  95. package/dist/collection/components/GetStarted/AddingNewBrand.stories.js.map +1 -0
  96. package/dist/collection/components/GetStarted/ComoUsar.stories.js +457 -0
  97. package/dist/collection/components/GetStarted/ComoUsar.stories.js.map +1 -0
  98. package/dist/collection/components/GetStarted/GetStarted.stories.js +202 -0
  99. package/dist/collection/components/GetStarted/GetStarted.stories.js.map +1 -0
  100. package/dist/collection/components/SaasDashboard/SaasDashboard.stories.js +693 -0
  101. package/dist/collection/components/SaasDashboard/SaasDashboard.stories.js.map +1 -0
  102. package/dist/collection/components/Theme/ThemeProvider.js +71 -0
  103. package/dist/collection/components/Theme/ThemeProvider.js.map +1 -0
  104. package/dist/collection/components/Theme/generate-css-variables.js +32 -0
  105. package/dist/collection/components/Theme/generate-css-variables.js.map +1 -0
  106. package/dist/collection/components/voa-accordion/voa-accordion.css +75 -0
  107. package/dist/collection/components/voa-accordion/voa-accordion.js +188 -0
  108. package/dist/collection/components/voa-accordion/voa-accordion.js.map +1 -0
  109. package/dist/collection/components/voa-accordion/voa-accordion.stories.js +332 -0
  110. package/dist/collection/components/voa-accordion/voa-accordion.stories.js.map +1 -0
  111. package/dist/collection/components/voa-alert/voa-alert.css +78 -0
  112. package/dist/collection/components/voa-alert/voa-alert.js +342 -0
  113. package/dist/collection/components/voa-alert/voa-alert.js.map +1 -0
  114. package/dist/collection/components/voa-alert/voa-alert.stories.js +495 -0
  115. package/dist/collection/components/voa-alert/voa-alert.stories.js.map +1 -0
  116. package/dist/collection/components/voa-avatar/voa-avatar.css +103 -0
  117. package/dist/collection/components/voa-avatar/voa-avatar.js +221 -0
  118. package/dist/collection/components/voa-avatar/voa-avatar.js.map +1 -0
  119. package/dist/collection/components/voa-avatar/voa-avatar.stories.js +423 -0
  120. package/dist/collection/components/voa-avatar/voa-avatar.stories.js.map +1 -0
  121. package/dist/collection/components/voa-badge/voa-badge.css +59 -0
  122. package/dist/collection/components/voa-badge/voa-badge.js +266 -0
  123. package/dist/collection/components/voa-badge/voa-badge.js.map +1 -0
  124. package/dist/collection/components/voa-badge/voa-badge.stories.js +387 -0
  125. package/dist/collection/components/voa-badge/voa-badge.stories.js.map +1 -0
  126. package/dist/collection/components/voa-breadcrumbs/voa-breadcrumbs.css +29 -0
  127. package/dist/collection/components/voa-breadcrumbs/voa-breadcrumbs.js +58 -0
  128. package/dist/collection/components/voa-breadcrumbs/voa-breadcrumbs.js.map +1 -0
  129. package/dist/collection/components/voa-breadcrumbs/voa-breadcrumbs.stories.js +410 -0
  130. package/dist/collection/components/voa-breadcrumbs/voa-breadcrumbs.stories.js.map +1 -0
  131. package/dist/collection/components/voa-breadcrumbs-divider/voa-breadcrumbs-divider.css +39 -0
  132. package/dist/collection/components/voa-breadcrumbs-divider/voa-breadcrumbs-divider.js +77 -0
  133. package/dist/collection/components/voa-breadcrumbs-divider/voa-breadcrumbs-divider.js.map +1 -0
  134. package/dist/collection/components/voa-breadcrumbs-item/voa-breadcrumbs-item.css +62 -0
  135. package/dist/collection/components/voa-breadcrumbs-item/voa-breadcrumbs-item.js +92 -0
  136. package/dist/collection/components/voa-breadcrumbs-item/voa-breadcrumbs-item.js.map +1 -0
  137. package/dist/collection/components/voa-button/voa-button.css +95 -0
  138. package/dist/collection/components/voa-button/voa-button.js +292 -0
  139. package/dist/collection/components/voa-button/voa-button.js.map +1 -0
  140. package/dist/collection/components/voa-button/voa-button.stories.js +435 -0
  141. package/dist/collection/components/voa-button/voa-button.stories.js.map +1 -0
  142. package/dist/collection/components/voa-card/voa-card.css +22 -0
  143. package/dist/collection/components/voa-card/voa-card.js +19 -0
  144. package/dist/collection/components/voa-card/voa-card.js.map +1 -0
  145. package/dist/collection/components/voa-card/voa-card.stories.js +270 -0
  146. package/dist/collection/components/voa-card/voa-card.stories.js.map +1 -0
  147. package/dist/collection/components/voa-checkbox/voa-checkbox.css +75 -0
  148. package/dist/collection/components/voa-checkbox/voa-checkbox.js +275 -0
  149. package/dist/collection/components/voa-checkbox/voa-checkbox.js.map +1 -0
  150. package/dist/collection/components/voa-checkbox/voa-checkbox.stories.js +377 -0
  151. package/dist/collection/components/voa-checkbox/voa-checkbox.stories.js.map +1 -0
  152. package/dist/collection/components/voa-datepicker/datepicker.css +7 -0
  153. package/dist/collection/components/voa-datepicker/datepicker.js +53 -0
  154. package/dist/collection/components/voa-datepicker/datepicker.js.map +1 -0
  155. package/dist/collection/components/voa-datepicker/datepicker.stories.js +23 -0
  156. package/dist/collection/components/voa-datepicker/datepicker.stories.js.map +1 -0
  157. package/dist/collection/components/voa-drawer/drawer.css +16 -0
  158. package/dist/collection/components/voa-drawer/drawer.js +55 -0
  159. package/dist/collection/components/voa-drawer/drawer.js.map +1 -0
  160. package/dist/collection/components/voa-drawer/drawer.stories.js +25 -0
  161. package/dist/collection/components/voa-drawer/drawer.stories.js.map +1 -0
  162. package/dist/collection/components/voa-dropdown/dropdown.css +36 -0
  163. package/dist/collection/components/voa-dropdown/dropdown.js +58 -0
  164. package/dist/collection/components/voa-dropdown/dropdown.js.map +1 -0
  165. package/dist/collection/components/voa-dropdown/dropdown.stories.js +23 -0
  166. package/dist/collection/components/voa-dropdown/dropdown.stories.js.map +1 -0
  167. package/dist/collection/components/voa-input/voa-input.css +90 -0
  168. package/dist/collection/components/voa-input/voa-input.js +640 -0
  169. package/dist/collection/components/voa-input/voa-input.js.map +1 -0
  170. package/dist/collection/components/voa-input/voa-input.stories.js +448 -0
  171. package/dist/collection/components/voa-input/voa-input.stories.js.map +1 -0
  172. package/dist/collection/components/voa-input-addon/voa-input-addon.css +58 -0
  173. package/dist/collection/components/voa-input-addon/voa-input-addon.js +346 -0
  174. package/dist/collection/components/voa-input-addon/voa-input-addon.js.map +1 -0
  175. package/dist/collection/components/voa-input-addon/voa-input-addon.stories.js +380 -0
  176. package/dist/collection/components/voa-input-addon/voa-input-addon.stories.js.map +1 -0
  177. package/dist/collection/components/voa-keybinding/voa-keybinding.css +25 -0
  178. package/dist/collection/components/voa-keybinding/voa-keybinding.js +87 -0
  179. package/dist/collection/components/voa-keybinding/voa-keybinding.js.map +1 -0
  180. package/dist/collection/components/voa-keybinding/voa-keybinding.stories.js +241 -0
  181. package/dist/collection/components/voa-keybinding/voa-keybinding.stories.js.map +1 -0
  182. package/dist/collection/components/voa-link/link.css +9 -0
  183. package/dist/collection/components/voa-link/link.js +65 -0
  184. package/dist/collection/components/voa-link/link.js.map +1 -0
  185. package/dist/collection/components/voa-link/link.stories.js +21 -0
  186. package/dist/collection/components/voa-link/link.stories.js.map +1 -0
  187. package/dist/collection/components/voa-list/list.css +14 -0
  188. package/dist/collection/components/voa-list/list.js +44 -0
  189. package/dist/collection/components/voa-list/list.js.map +1 -0
  190. package/dist/collection/components/voa-list/list.stories.js +16 -0
  191. package/dist/collection/components/voa-list/list.stories.js.map +1 -0
  192. package/dist/collection/components/voa-modal/modal.css +40 -0
  193. package/dist/collection/components/voa-modal/modal.js +55 -0
  194. package/dist/collection/components/voa-modal/modal.js.map +1 -0
  195. package/dist/collection/components/voa-modal/modal.stories.js +18 -0
  196. package/dist/collection/components/voa-modal/modal.stories.js.map +1 -0
  197. package/dist/collection/components/voa-option/voa-option.css +55 -0
  198. package/dist/collection/components/voa-option/voa-option.js +222 -0
  199. package/dist/collection/components/voa-option/voa-option.js.map +1 -0
  200. package/dist/collection/components/voa-option/voa-option.stories.js +581 -0
  201. package/dist/collection/components/voa-option/voa-option.stories.js.map +1 -0
  202. package/dist/collection/components/voa-pagination/voa-pagination-item.css +34 -0
  203. package/dist/collection/components/voa-pagination/voa-pagination-item.js +137 -0
  204. package/dist/collection/components/voa-pagination/voa-pagination-item.js.map +1 -0
  205. package/dist/collection/components/voa-pagination/voa-pagination.css +20 -0
  206. package/dist/collection/components/voa-pagination/voa-pagination.js +174 -0
  207. package/dist/collection/components/voa-pagination/voa-pagination.js.map +1 -0
  208. package/dist/collection/components/voa-pagination/voa-pagination.stories.js +257 -0
  209. package/dist/collection/components/voa-pagination/voa-pagination.stories.js.map +1 -0
  210. package/dist/collection/components/voa-progress/progress.css +12 -0
  211. package/dist/collection/components/voa-progress/progress.js +46 -0
  212. package/dist/collection/components/voa-progress/progress.js.map +1 -0
  213. package/dist/collection/components/voa-progress/progress.stories.js +16 -0
  214. package/dist/collection/components/voa-progress/progress.stories.js.map +1 -0
  215. package/dist/collection/components/voa-radio/voa-radio.css +82 -0
  216. package/dist/collection/components/voa-radio/voa-radio.js +227 -0
  217. package/dist/collection/components/voa-radio/voa-radio.js.map +1 -0
  218. package/dist/collection/components/voa-radio/voa-radio.stories.js +363 -0
  219. package/dist/collection/components/voa-radio/voa-radio.stories.js.map +1 -0
  220. package/dist/collection/components/voa-select/voa-container-multi-select.css +177 -0
  221. package/dist/collection/components/voa-select/voa-container-multi-select.js +192 -0
  222. package/dist/collection/components/voa-select/voa-container-multi-select.js.map +1 -0
  223. package/dist/collection/components/voa-select/voa-container-multi-select.stories.js +218 -0
  224. package/dist/collection/components/voa-select/voa-container-multi-select.stories.js.map +1 -0
  225. package/dist/collection/components/voa-select/voa-select-base.css +170 -0
  226. package/dist/collection/components/voa-select/voa-select-base.js +357 -0
  227. package/dist/collection/components/voa-select/voa-select-base.js.map +1 -0
  228. package/dist/collection/components/voa-select/voa-select.css +109 -0
  229. package/dist/collection/components/voa-select/voa-select.js +449 -0
  230. package/dist/collection/components/voa-select/voa-select.js.map +1 -0
  231. package/dist/collection/components/voa-select/voa-select.stories.js +581 -0
  232. package/dist/collection/components/voa-select/voa-select.stories.js.map +1 -0
  233. package/dist/collection/components/voa-skeleton/skeleton.css +30 -0
  234. package/dist/collection/components/voa-skeleton/skeleton.js +90 -0
  235. package/dist/collection/components/voa-skeleton/skeleton.js.map +1 -0
  236. package/dist/collection/components/voa-skeleton/skeleton.stories.js +36 -0
  237. package/dist/collection/components/voa-skeleton/skeleton.stories.js.map +1 -0
  238. package/dist/collection/components/voa-stepper/stepper.css +23 -0
  239. package/dist/collection/components/voa-stepper/stepper.js +93 -0
  240. package/dist/collection/components/voa-stepper/stepper.js.map +1 -0
  241. package/dist/collection/components/voa-stepper/stepper.stories.js +21 -0
  242. package/dist/collection/components/voa-stepper/stepper.stories.js.map +1 -0
  243. package/dist/collection/components/voa-switch/voa-switch.css +81 -0
  244. package/dist/collection/components/voa-switch/voa-switch.js +232 -0
  245. package/dist/collection/components/voa-switch/voa-switch.js.map +1 -0
  246. package/dist/collection/components/voa-switch/voa-switch.stories.js +359 -0
  247. package/dist/collection/components/voa-switch/voa-switch.stories.js.map +1 -0
  248. package/dist/collection/components/voa-tab/voa-tab.css +32 -0
  249. package/dist/collection/components/voa-tab/voa-tab.js +209 -0
  250. package/dist/collection/components/voa-tab/voa-tab.js.map +1 -0
  251. package/dist/collection/components/voa-tab/voa-tab.stories.js +405 -0
  252. package/dist/collection/components/voa-tab/voa-tab.stories.js.map +1 -0
  253. package/dist/collection/components/voa-tab-item/voa-tab-item.css +52 -0
  254. package/dist/collection/components/voa-tab-item/voa-tab-item.js +261 -0
  255. package/dist/collection/components/voa-tab-item/voa-tab-item.js.map +1 -0
  256. package/dist/collection/components/voa-table/table.css +15 -0
  257. package/dist/collection/components/voa-table/table.js +63 -0
  258. package/dist/collection/components/voa-table/table.js.map +1 -0
  259. package/dist/collection/components/voa-table/table.stories.js +21 -0
  260. package/dist/collection/components/voa-table/table.stories.js.map +1 -0
  261. package/dist/collection/components/voa-tag/voa-tag.css +31 -0
  262. package/dist/collection/components/voa-tag/voa-tag.js +183 -0
  263. package/dist/collection/components/voa-tag/voa-tag.js.map +1 -0
  264. package/dist/collection/components/voa-tag/voa-tag.stories.js +347 -0
  265. package/dist/collection/components/voa-tag/voa-tag.stories.js.map +1 -0
  266. package/dist/collection/components/voa-text-area/voa-text-area.css +68 -0
  267. package/dist/collection/components/voa-text-area/voa-text-area.js +519 -0
  268. package/dist/collection/components/voa-text-area/voa-text-area.js.map +1 -0
  269. package/dist/collection/components/voa-text-area/voa-text-area.stories.js +390 -0
  270. package/dist/collection/components/voa-text-area/voa-text-area.stories.js.map +1 -0
  271. package/dist/collection/components/voa-timepicker/timepicker.css +7 -0
  272. package/dist/collection/components/voa-timepicker/timepicker.js +42 -0
  273. package/dist/collection/components/voa-timepicker/timepicker.js.map +1 -0
  274. package/dist/collection/components/voa-timepicker/timepicker.stories.js +16 -0
  275. package/dist/collection/components/voa-timepicker/timepicker.stories.js.map +1 -0
  276. package/dist/collection/components/voa-tooltip/voa-tooltip.css +283 -0
  277. package/dist/collection/components/voa-tooltip/voa-tooltip.js +230 -0
  278. package/dist/collection/components/voa-tooltip/voa-tooltip.js.map +1 -0
  279. package/dist/collection/components/voa-tooltip/voa-tooltip.stories.js +471 -0
  280. package/dist/collection/components/voa-tooltip/voa-tooltip.stories.js.map +1 -0
  281. package/dist/collection/components/voa-tooltip-arrow/voa-tooltip-arrow.css +158 -0
  282. package/dist/collection/components/voa-tooltip-arrow/voa-tooltip-arrow.js +89 -0
  283. package/dist/collection/components/voa-tooltip-arrow/voa-tooltip-arrow.js.map +1 -0
  284. package/dist/collection/components/voa-upload/upload.css +28 -0
  285. package/dist/collection/components/voa-upload/upload.js +19 -0
  286. package/dist/collection/components/voa-upload/upload.js.map +1 -0
  287. package/dist/collection/components/voa-upload/upload.stories.js +8 -0
  288. package/dist/collection/components/voa-upload/upload.stories.js.map +1 -0
  289. package/dist/collection/icons/arrow.svg +3 -0
  290. package/dist/collection/icons/bell.svg +1 -0
  291. package/dist/collection/icons/calendar.svg +1 -0
  292. package/dist/collection/icons/check.svg +4 -0
  293. package/dist/collection/icons/chevron-right.svg +3 -0
  294. package/dist/collection/icons/circle.svg +4 -0
  295. package/dist/collection/icons/clear.svg +1 -0
  296. package/dist/collection/icons/close.svg +3 -0
  297. package/dist/collection/icons/error.svg +3 -0
  298. package/dist/collection/icons/eye-off.svg +1 -0
  299. package/dist/collection/icons/eye.svg +1 -0
  300. package/dist/collection/icons/home.svg +3 -0
  301. package/dist/collection/icons/index.js +18 -0
  302. package/dist/collection/icons/index.js.map +1 -0
  303. package/dist/collection/icons/info.svg +3 -0
  304. package/dist/collection/icons/loading.svg +1 -0
  305. package/dist/collection/icons/person.svg +4 -0
  306. package/dist/collection/icons/resize-handle.svg +3 -0
  307. package/dist/collection/icons/search.svg +1 -0
  308. package/dist/collection/icons/settings.svg +1 -0
  309. package/dist/collection/icons/warning.svg +3 -0
  310. package/dist/collection/token/base/colors.js +42 -0
  311. package/dist/collection/token/base/colors.js.map +1 -0
  312. package/dist/collection/token/base/mediaQueries.js +12 -0
  313. package/dist/collection/token/base/mediaQueries.js.map +1 -0
  314. package/dist/collection/token/base/radius.js +8 -0
  315. package/dist/collection/token/base/radius.js.map +1 -0
  316. package/dist/collection/token/base/spacing.js +13 -0
  317. package/dist/collection/token/base/spacing.js.map +1 -0
  318. package/dist/collection/token/branding/coi.js +58 -0
  319. package/dist/collection/token/branding/coi.js.map +1 -0
  320. package/dist/collection/token/branding/devops.js +58 -0
  321. package/dist/collection/token/branding/devops.js.map +1 -0
  322. package/dist/collection/token/branding/godrive.js +58 -0
  323. package/dist/collection/token/branding/godrive.js.map +1 -0
  324. package/dist/collection/token/branding/index.js +9 -0
  325. package/dist/collection/token/branding/index.js.map +1 -0
  326. package/dist/collection/token/branding/type.js +2 -0
  327. package/dist/collection/token/branding/type.js.map +1 -0
  328. package/dist/collection/token/colors.js +84 -0
  329. package/dist/collection/token/colors.js.map +1 -0
  330. package/dist/collection/tokens/global.css +867 -0
  331. package/dist/collection/tokens/voa-tokens.css +776 -0
  332. package/dist/collection/utils/icons.js +35 -0
  333. package/dist/collection/utils/icons.js.map +1 -0
  334. package/dist/collection/utils/utils.js +4 -0
  335. package/dist/collection/utils/utils.js.map +1 -0
  336. package/dist/custom-elements/index.d.ts +33 -0
  337. package/dist/custom-elements/index.js +1463 -0
  338. package/dist/custom-elements/index.js.map +1 -0
  339. package/dist/custom-elements/p-B2P7cgN3.js +125 -0
  340. package/dist/custom-elements/p-B2P7cgN3.js.map +1 -0
  341. package/dist/custom-elements/p-CQr0ZKZZ.js +75 -0
  342. package/dist/custom-elements/p-CQr0ZKZZ.js.map +1 -0
  343. package/dist/custom-elements/p-Cp28eWhS.js +40 -0
  344. package/dist/custom-elements/p-Cp28eWhS.js.map +1 -0
  345. package/dist/custom-elements/p-DKnM_Ozb.js +207 -0
  346. package/dist/custom-elements/p-DKnM_Ozb.js.map +1 -0
  347. package/dist/custom-elements/p-DPyVgztA.js +51 -0
  348. package/dist/custom-elements/p-DPyVgztA.js.map +1 -0
  349. package/dist/custom-elements/p-Dto9R8Te.js +117 -0
  350. package/dist/custom-elements/p-Dto9R8Te.js.map +1 -0
  351. package/dist/custom-elements/voa-accordion.d.ts +11 -0
  352. package/dist/custom-elements/voa-accordion.js +104 -0
  353. package/dist/custom-elements/voa-accordion.js.map +1 -0
  354. package/dist/custom-elements/voa-alert.d.ts +11 -0
  355. package/dist/custom-elements/voa-alert.js +111 -0
  356. package/dist/custom-elements/voa-alert.js.map +1 -0
  357. package/dist/custom-elements/voa-avatar.d.ts +11 -0
  358. package/dist/custom-elements/voa-avatar.js +108 -0
  359. package/dist/custom-elements/voa-avatar.js.map +1 -0
  360. package/dist/custom-elements/voa-badge.d.ts +11 -0
  361. package/dist/custom-elements/voa-badge.js +9 -0
  362. package/dist/custom-elements/voa-badge.js.map +1 -0
  363. package/dist/custom-elements/voa-breadcrumbs-divider.d.ts +11 -0
  364. package/dist/custom-elements/voa-breadcrumbs-divider.js +63 -0
  365. package/dist/custom-elements/voa-breadcrumbs-divider.js.map +1 -0
  366. package/dist/custom-elements/voa-breadcrumbs-item.d.ts +11 -0
  367. package/dist/custom-elements/voa-breadcrumbs-item.js +52 -0
  368. package/dist/custom-elements/voa-breadcrumbs-item.js.map +1 -0
  369. package/dist/custom-elements/voa-breadcrumbs.d.ts +11 -0
  370. package/dist/custom-elements/voa-breadcrumbs.js +49 -0
  371. package/dist/custom-elements/voa-breadcrumbs.js.map +1 -0
  372. package/dist/custom-elements/voa-button.d.ts +11 -0
  373. package/dist/custom-elements/voa-button.js +9 -0
  374. package/dist/custom-elements/voa-button.js.map +1 -0
  375. package/dist/custom-elements/voa-card.d.ts +11 -0
  376. package/dist/custom-elements/voa-card.js +39 -0
  377. package/dist/custom-elements/voa-card.js.map +1 -0
  378. package/dist/custom-elements/voa-checkbox.d.ts +11 -0
  379. package/dist/custom-elements/voa-checkbox.js +149 -0
  380. package/dist/custom-elements/voa-checkbox.js.map +1 -0
  381. package/dist/custom-elements/voa-container-multi-select.d.ts +11 -0
  382. package/dist/custom-elements/voa-container-multi-select.js +122 -0
  383. package/dist/custom-elements/voa-container-multi-select.js.map +1 -0
  384. package/dist/custom-elements/voa-datepicker.d.ts +11 -0
  385. package/dist/custom-elements/voa-datepicker.js +46 -0
  386. package/dist/custom-elements/voa-datepicker.js.map +1 -0
  387. package/dist/custom-elements/voa-drawer.d.ts +11 -0
  388. package/dist/custom-elements/voa-drawer.js +47 -0
  389. package/dist/custom-elements/voa-drawer.js.map +1 -0
  390. package/dist/custom-elements/voa-dropdown.d.ts +11 -0
  391. package/dist/custom-elements/voa-dropdown.js +52 -0
  392. package/dist/custom-elements/voa-dropdown.js.map +1 -0
  393. package/dist/custom-elements/voa-input-addon.d.ts +11 -0
  394. package/dist/custom-elements/voa-input-addon.js +160 -0
  395. package/dist/custom-elements/voa-input-addon.js.map +1 -0
  396. package/dist/custom-elements/voa-input.d.ts +11 -0
  397. package/dist/custom-elements/voa-input.js +237 -0
  398. package/dist/custom-elements/voa-input.js.map +1 -0
  399. package/dist/custom-elements/voa-keybinding.d.ts +11 -0
  400. package/dist/custom-elements/voa-keybinding.js +9 -0
  401. package/dist/custom-elements/voa-keybinding.js.map +1 -0
  402. package/dist/custom-elements/voa-link.d.ts +11 -0
  403. package/dist/custom-elements/voa-link.js +43 -0
  404. package/dist/custom-elements/voa-link.js.map +1 -0
  405. package/dist/custom-elements/voa-list.d.ts +11 -0
  406. package/dist/custom-elements/voa-list.js +42 -0
  407. package/dist/custom-elements/voa-list.js.map +1 -0
  408. package/dist/custom-elements/voa-modal.d.ts +11 -0
  409. package/dist/custom-elements/voa-modal.js +47 -0
  410. package/dist/custom-elements/voa-modal.js.map +1 -0
  411. package/dist/custom-elements/voa-option.d.ts +11 -0
  412. package/dist/custom-elements/voa-option.js +109 -0
  413. package/dist/custom-elements/voa-option.js.map +1 -0
  414. package/dist/custom-elements/voa-pagination-item.d.ts +11 -0
  415. package/dist/custom-elements/voa-pagination-item.js +9 -0
  416. package/dist/custom-elements/voa-pagination-item.js.map +1 -0
  417. package/dist/custom-elements/voa-pagination.d.ts +11 -0
  418. package/dist/custom-elements/voa-pagination.js +116 -0
  419. package/dist/custom-elements/voa-pagination.js.map +1 -0
  420. package/dist/custom-elements/voa-progress.d.ts +11 -0
  421. package/dist/custom-elements/voa-progress.js +42 -0
  422. package/dist/custom-elements/voa-progress.js.map +1 -0
  423. package/dist/custom-elements/voa-radio.d.ts +11 -0
  424. package/dist/custom-elements/voa-radio.js +88 -0
  425. package/dist/custom-elements/voa-radio.js.map +1 -0
  426. package/dist/custom-elements/voa-select-base.d.ts +11 -0
  427. package/dist/custom-elements/voa-select-base.js +9 -0
  428. package/dist/custom-elements/voa-select-base.js.map +1 -0
  429. package/dist/custom-elements/voa-select.d.ts +11 -0
  430. package/dist/custom-elements/voa-select.js +189 -0
  431. package/dist/custom-elements/voa-select.js.map +1 -0
  432. package/dist/custom-elements/voa-skeleton.d.ts +11 -0
  433. package/dist/custom-elements/voa-skeleton.js +48 -0
  434. package/dist/custom-elements/voa-skeleton.js.map +1 -0
  435. package/dist/custom-elements/voa-stepper.d.ts +11 -0
  436. package/dist/custom-elements/voa-stepper.js +51 -0
  437. package/dist/custom-elements/voa-stepper.js.map +1 -0
  438. package/dist/custom-elements/voa-switch.d.ts +11 -0
  439. package/dist/custom-elements/voa-switch.js +131 -0
  440. package/dist/custom-elements/voa-switch.js.map +1 -0
  441. package/dist/custom-elements/voa-tab-item.d.ts +11 -0
  442. package/dist/custom-elements/voa-tab-item.js +114 -0
  443. package/dist/custom-elements/voa-tab-item.js.map +1 -0
  444. package/dist/custom-elements/voa-tab.d.ts +11 -0
  445. package/dist/custom-elements/voa-tab.js +156 -0
  446. package/dist/custom-elements/voa-tab.js.map +1 -0
  447. package/dist/custom-elements/voa-table.d.ts +11 -0
  448. package/dist/custom-elements/voa-table.js +44 -0
  449. package/dist/custom-elements/voa-table.js.map +1 -0
  450. package/dist/custom-elements/voa-tag.d.ts +11 -0
  451. package/dist/custom-elements/voa-tag.js +73 -0
  452. package/dist/custom-elements/voa-tag.js.map +1 -0
  453. package/dist/custom-elements/voa-text-area.d.ts +11 -0
  454. package/dist/custom-elements/voa-text-area.js +155 -0
  455. package/dist/custom-elements/voa-text-area.js.map +1 -0
  456. package/dist/custom-elements/voa-timepicker.d.ts +11 -0
  457. package/dist/custom-elements/voa-timepicker.js +41 -0
  458. package/dist/custom-elements/voa-timepicker.js.map +1 -0
  459. package/dist/custom-elements/voa-tooltip-arrow.d.ts +11 -0
  460. package/dist/custom-elements/voa-tooltip-arrow.js +56 -0
  461. package/dist/custom-elements/voa-tooltip-arrow.js.map +1 -0
  462. package/dist/custom-elements/voa-tooltip.d.ts +11 -0
  463. package/dist/custom-elements/voa-tooltip.js +107 -0
  464. package/dist/custom-elements/voa-tooltip.js.map +1 -0
  465. package/dist/custom-elements/voa-upload.d.ts +11 -0
  466. package/dist/custom-elements/voa-upload.js +39 -0
  467. package/dist/custom-elements/voa-upload.js.map +1 -0
  468. package/dist/esm/icons-Bjdap-bM.js +40 -0
  469. package/dist/esm/icons-Bjdap-bM.js.map +1 -0
  470. package/dist/esm/index-Dh8480Ec.js +1867 -0
  471. package/dist/esm/index-Dh8480Ec.js.map +1 -0
  472. package/dist/esm/index.js +2 -0
  473. package/dist/esm/index.js.map +1 -0
  474. package/dist/esm/loader.js +11 -0
  475. package/dist/esm/loader.js.map +1 -0
  476. package/dist/esm/voa-accordion.entry.js +73 -0
  477. package/dist/esm/voa-accordion.entry.js.map +1 -0
  478. package/dist/esm/voa-alert.entry.js +71 -0
  479. package/dist/esm/voa-alert.entry.js.map +1 -0
  480. package/dist/esm/voa-avatar.entry.js +78 -0
  481. package/dist/esm/voa-avatar.entry.js.map +1 -0
  482. package/dist/esm/voa-badge.entry.js +97 -0
  483. package/dist/esm/voa-badge.entry.js.map +1 -0
  484. package/dist/esm/voa-breadcrumbs-divider.entry.js +38 -0
  485. package/dist/esm/voa-breadcrumbs-divider.entry.js.map +1 -0
  486. package/dist/esm/voa-breadcrumbs-item.entry.js +25 -0
  487. package/dist/esm/voa-breadcrumbs-item.entry.js.map +1 -0
  488. package/dist/esm/voa-breadcrumbs.entry.js +24 -0
  489. package/dist/esm/voa-breadcrumbs.entry.js.map +1 -0
  490. package/dist/esm/voa-button.entry.js +88 -0
  491. package/dist/esm/voa-button.entry.js.map +1 -0
  492. package/dist/esm/voa-card.entry.js +16 -0
  493. package/dist/esm/voa-card.entry.js.map +1 -0
  494. package/dist/esm/voa-checkbox.entry.js +122 -0
  495. package/dist/esm/voa-checkbox.entry.js.map +1 -0
  496. package/dist/esm/voa-container-multi-select.entry.js +88 -0
  497. package/dist/esm/voa-container-multi-select.entry.js.map +1 -0
  498. package/dist/esm/voa-datepicker.entry.js +20 -0
  499. package/dist/esm/voa-datepicker.entry.js.map +1 -0
  500. package/dist/esm/voa-drawer.entry.js +21 -0
  501. package/dist/esm/voa-drawer.entry.js.map +1 -0
  502. package/dist/esm/voa-dropdown.entry.js +25 -0
  503. package/dist/esm/voa-dropdown.entry.js.map +1 -0
  504. package/dist/esm/voa-input-addon.entry.js +121 -0
  505. package/dist/esm/voa-input-addon.entry.js.map +1 -0
  506. package/dist/esm/voa-input.entry.js +189 -0
  507. package/dist/esm/voa-input.entry.js.map +1 -0
  508. package/dist/esm/voa-keybinding.entry.js +28 -0
  509. package/dist/esm/voa-keybinding.entry.js.map +1 -0
  510. package/dist/esm/voa-link.entry.js +17 -0
  511. package/dist/esm/voa-link.entry.js.map +1 -0
  512. package/dist/esm/voa-list.entry.js +17 -0
  513. package/dist/esm/voa-list.entry.js.map +1 -0
  514. package/dist/esm/voa-modal.entry.js +21 -0
  515. package/dist/esm/voa-modal.entry.js.map +1 -0
  516. package/dist/esm/voa-option.entry.js +83 -0
  517. package/dist/esm/voa-option.entry.js.map +1 -0
  518. package/dist/esm/voa-pagination-item.entry.js +51 -0
  519. package/dist/esm/voa-pagination-item.entry.js.map +1 -0
  520. package/dist/esm/voa-pagination.entry.js +80 -0
  521. package/dist/esm/voa-pagination.entry.js.map +1 -0
  522. package/dist/esm/voa-progress.entry.js +17 -0
  523. package/dist/esm/voa-progress.entry.js.map +1 -0
  524. package/dist/esm/voa-radio.entry.js +59 -0
  525. package/dist/esm/voa-radio.entry.js.map +1 -0
  526. package/dist/esm/voa-select-base.entry.js +175 -0
  527. package/dist/esm/voa-select-base.entry.js.map +1 -0
  528. package/dist/esm/voa-select.entry.js +140 -0
  529. package/dist/esm/voa-select.entry.js.map +1 -0
  530. package/dist/esm/voa-skeleton.entry.js +22 -0
  531. package/dist/esm/voa-skeleton.entry.js.map +1 -0
  532. package/dist/esm/voa-stepper.entry.js +24 -0
  533. package/dist/esm/voa-stepper.entry.js.map +1 -0
  534. package/dist/esm/voa-switch.entry.js +105 -0
  535. package/dist/esm/voa-switch.entry.js.map +1 -0
  536. package/dist/esm/voa-tab-item.entry.js +83 -0
  537. package/dist/esm/voa-tab-item.entry.js.map +1 -0
  538. package/dist/esm/voa-tab.entry.js +127 -0
  539. package/dist/esm/voa-tab.entry.js.map +1 -0
  540. package/dist/esm/voa-table.entry.js +18 -0
  541. package/dist/esm/voa-table.entry.js.map +1 -0
  542. package/dist/esm/voa-tag.entry.js +43 -0
  543. package/dist/esm/voa-tag.entry.js.map +1 -0
  544. package/dist/esm/voa-text-area.entry.js +116 -0
  545. package/dist/esm/voa-text-area.entry.js.map +1 -0
  546. package/dist/esm/voa-timepicker.entry.js +16 -0
  547. package/dist/esm/voa-timepicker.entry.js.map +1 -0
  548. package/dist/esm/voa-tooltip-arrow.entry.js +30 -0
  549. package/dist/esm/voa-tooltip-arrow.entry.js.map +1 -0
  550. package/dist/esm/voa-tooltip.entry.js +76 -0
  551. package/dist/esm/voa-tooltip.entry.js.map +1 -0
  552. package/dist/esm/voa-upload.entry.js +16 -0
  553. package/dist/esm/voa-upload.entry.js.map +1 -0
  554. package/dist/esm/voa.js +21 -0
  555. package/dist/esm/voa.js.map +1 -0
  556. package/dist/index.cjs.js +1 -0
  557. package/dist/index.js +1 -0
  558. package/dist/types/Stories/SaasDashboard.stories.d.ts +22 -0
  559. package/dist/types/Stories/styles/voa-radio.styles.d.ts +1 -0
  560. package/dist/types/components/GetStarted/AddingNewBrand.stories.d.ts +4 -0
  561. package/dist/types/components/GetStarted/ComoUsar.stories.d.ts +4 -0
  562. package/dist/types/components/GetStarted/GetStarted.stories.d.ts +4 -0
  563. package/dist/types/components/SaasDashboard/SaasDashboard.stories.d.ts +17 -0
  564. package/dist/types/components/Theme/ThemeProvider.d.ts +26 -0
  565. package/dist/types/components/Theme/generate-css-variables.d.ts +2 -0
  566. package/dist/types/components/voa-accordion/voa-accordion.d.ts +29 -0
  567. package/dist/types/components/voa-accordion/voa-accordion.stories.d.ts +70 -0
  568. package/dist/types/components/voa-alert/voa-alert.d.ts +82 -0
  569. package/dist/types/components/voa-alert/voa-alert.stories.d.ts +88 -0
  570. package/dist/types/components/voa-avatar/voa-avatar.d.ts +48 -0
  571. package/dist/types/components/voa-avatar/voa-avatar.stories.d.ts +73 -0
  572. package/dist/types/components/voa-badge/voa-badge.d.ts +91 -0
  573. package/dist/types/components/voa-badge/voa-badge.stories.d.ts +21 -0
  574. package/dist/types/components/voa-breadcrumbs/voa-breadcrumbs.d.ts +13 -0
  575. package/dist/types/components/voa-breadcrumbs/voa-breadcrumbs.stories.d.ts +57 -0
  576. package/dist/types/components/voa-breadcrumbs-divider/voa-breadcrumbs-divider.d.ts +19 -0
  577. package/dist/types/components/voa-breadcrumbs-item/voa-breadcrumbs-item.d.ts +17 -0
  578. package/dist/types/components/voa-button/voa-button.d.ts +69 -0
  579. package/dist/types/components/voa-button/voa-button.stories.d.ts +78 -0
  580. package/dist/types/components/voa-card/voa-card.d.ts +3 -0
  581. package/dist/types/components/voa-card/voa-card.stories.d.ts +30 -0
  582. package/dist/types/components/voa-checkbox/voa-checkbox.d.ts +73 -0
  583. package/dist/types/components/voa-checkbox/voa-checkbox.stories.d.ts +126 -0
  584. package/dist/types/components/voa-datepicker/datepicker.d.ts +6 -0
  585. package/dist/types/components/voa-datepicker/datepicker.stories.d.ts +4 -0
  586. package/dist/types/components/voa-drawer/drawer.d.ts +6 -0
  587. package/dist/types/components/voa-drawer/drawer.stories.d.ts +4 -0
  588. package/dist/types/components/voa-dropdown/dropdown.d.ts +8 -0
  589. package/dist/types/components/voa-dropdown/dropdown.stories.d.ts +4 -0
  590. package/dist/types/components/voa-input/voa-input.d.ts +153 -0
  591. package/dist/types/components/voa-input/voa-input.stories.d.ts +140 -0
  592. package/dist/types/components/voa-input-addon/voa-input-addon.d.ts +70 -0
  593. package/dist/types/components/voa-input-addon/voa-input-addon.stories.d.ts +139 -0
  594. package/dist/types/components/voa-keybinding/voa-keybinding.d.ts +22 -0
  595. package/dist/types/components/voa-keybinding/voa-keybinding.stories.d.ts +58 -0
  596. package/dist/types/components/voa-link/link.d.ts +5 -0
  597. package/dist/types/components/voa-link/link.stories.d.ts +4 -0
  598. package/dist/types/components/voa-list/list.d.ts +4 -0
  599. package/dist/types/components/voa-list/list.stories.d.ts +4 -0
  600. package/dist/types/components/voa-modal/modal.d.ts +6 -0
  601. package/dist/types/components/voa-modal/modal.stories.d.ts +4 -0
  602. package/dist/types/components/voa-option/voa-option.d.ts +58 -0
  603. package/dist/types/components/voa-option/voa-option.stories.d.ts +114 -0
  604. package/dist/types/components/voa-pagination/voa-pagination-item.d.ts +23 -0
  605. package/dist/types/components/voa-pagination/voa-pagination.d.ts +21 -0
  606. package/dist/types/components/voa-pagination/voa-pagination.stories.d.ts +28 -0
  607. package/dist/types/components/voa-progress/progress.d.ts +4 -0
  608. package/dist/types/components/voa-progress/progress.stories.d.ts +4 -0
  609. package/dist/types/components/voa-radio/voa-radio.d.ts +56 -0
  610. package/dist/types/components/voa-radio/voa-radio.stories.d.ts +42 -0
  611. package/dist/types/components/voa-select/voa-container-multi-select.d.ts +53 -0
  612. package/dist/types/components/voa-select/voa-container-multi-select.stories.d.ts +33 -0
  613. package/dist/types/components/voa-select/voa-select-base.d.ts +76 -0
  614. package/dist/types/components/voa-select/voa-select.d.ts +115 -0
  615. package/dist/types/components/voa-select/voa-select.stories.d.ts +100 -0
  616. package/dist/types/components/voa-skeleton/skeleton.d.ts +7 -0
  617. package/dist/types/components/voa-skeleton/skeleton.stories.d.ts +6 -0
  618. package/dist/types/components/voa-stepper/stepper.d.ts +9 -0
  619. package/dist/types/components/voa-stepper/stepper.stories.d.ts +4 -0
  620. package/dist/types/components/voa-switch/voa-switch.d.ts +28 -0
  621. package/dist/types/components/voa-switch/voa-switch.stories.d.ts +124 -0
  622. package/dist/types/components/voa-tab/voa-tab.d.ts +38 -0
  623. package/dist/types/components/voa-tab/voa-tab.stories.d.ts +81 -0
  624. package/dist/types/components/voa-tab-item/voa-tab-item.d.ts +66 -0
  625. package/dist/types/components/voa-table/table.d.ts +5 -0
  626. package/dist/types/components/voa-table/table.stories.d.ts +4 -0
  627. package/dist/types/components/voa-tag/voa-tag.d.ts +40 -0
  628. package/dist/types/components/voa-tag/voa-tag.stories.d.ts +66 -0
  629. package/dist/types/components/voa-text-area/voa-text-area.d.ts +47 -0
  630. package/dist/types/components/voa-text-area/voa-text-area.stories.d.ts +74 -0
  631. package/dist/types/components/voa-timepicker/timepicker.d.ts +4 -0
  632. package/dist/types/components/voa-timepicker/timepicker.stories.d.ts +4 -0
  633. package/dist/types/components/voa-tooltip/voa-tooltip.d.ts +54 -0
  634. package/dist/types/components/voa-tooltip/voa-tooltip.stories.d.ts +69 -0
  635. package/dist/types/components/voa-tooltip-arrow/voa-tooltip-arrow.d.ts +24 -0
  636. package/dist/types/components/voa-upload/upload.d.ts +3 -0
  637. package/dist/types/components/voa-upload/upload.stories.d.ts +4 -0
  638. package/dist/types/components.d.ts +2731 -0
  639. package/dist/types/icons/index.d.ts +16 -0
  640. package/dist/types/stencil-public-runtime.d.ts +1756 -0
  641. package/dist/types/token/base/colors.d.ts +2 -0
  642. package/dist/types/token/base/mediaQueries.d.ts +11 -0
  643. package/dist/types/token/base/radius.d.ts +7 -0
  644. package/dist/types/token/base/spacing.d.ts +12 -0
  645. package/dist/types/token/branding/coi.d.ts +2 -0
  646. package/dist/types/token/branding/devops.d.ts +2 -0
  647. package/dist/types/token/branding/godrive.d.ts +2 -0
  648. package/dist/types/token/branding/index.d.ts +2 -0
  649. package/dist/types/token/branding/type.d.ts +102 -0
  650. package/dist/types/token/colors.d.ts +16 -0
  651. package/dist/types/utils/icons.d.ts +45 -0
  652. package/dist/types/utils/utils.d.ts +1 -0
  653. package/dist/voa/index.esm.js +2 -0
  654. package/dist/voa/index.esm.js.map +1 -0
  655. package/dist/voa/loader.esm.js.map +1 -0
  656. package/dist/voa/p-01b6b7f5.entry.js +2 -0
  657. package/dist/voa/p-01b6b7f5.entry.js.map +1 -0
  658. package/dist/voa/p-0470367c.entry.js +2 -0
  659. package/dist/voa/p-0470367c.entry.js.map +1 -0
  660. package/dist/voa/p-17dfc5c3.entry.js +2 -0
  661. package/dist/voa/p-17dfc5c3.entry.js.map +1 -0
  662. package/dist/voa/p-19e64a8c.entry.js +2 -0
  663. package/dist/voa/p-19e64a8c.entry.js.map +1 -0
  664. package/dist/voa/p-3830cf95.entry.js +2 -0
  665. package/dist/voa/p-3830cf95.entry.js.map +1 -0
  666. package/dist/voa/p-3a2ad02b.entry.js +2 -0
  667. package/dist/voa/p-3a2ad02b.entry.js.map +1 -0
  668. package/dist/voa/p-41fce5ed.entry.js +2 -0
  669. package/dist/voa/p-41fce5ed.entry.js.map +1 -0
  670. package/dist/voa/p-4fdf73ab.entry.js +2 -0
  671. package/dist/voa/p-4fdf73ab.entry.js.map +1 -0
  672. package/dist/voa/p-52c0c7b6.entry.js +2 -0
  673. package/dist/voa/p-52c0c7b6.entry.js.map +1 -0
  674. package/dist/voa/p-5e5cadf6.entry.js +2 -0
  675. package/dist/voa/p-5e5cadf6.entry.js.map +1 -0
  676. package/dist/voa/p-61ff0737.entry.js +2 -0
  677. package/dist/voa/p-61ff0737.entry.js.map +1 -0
  678. package/dist/voa/p-6216d4ee.entry.js +2 -0
  679. package/dist/voa/p-6216d4ee.entry.js.map +1 -0
  680. package/dist/voa/p-6dbe9bf2.entry.js +2 -0
  681. package/dist/voa/p-6dbe9bf2.entry.js.map +1 -0
  682. package/dist/voa/p-77a4cdda.entry.js +2 -0
  683. package/dist/voa/p-77a4cdda.entry.js.map +1 -0
  684. package/dist/voa/p-788024a5.entry.js +2 -0
  685. package/dist/voa/p-788024a5.entry.js.map +1 -0
  686. package/dist/voa/p-8ba8f569.entry.js +2 -0
  687. package/dist/voa/p-8ba8f569.entry.js.map +1 -0
  688. package/dist/voa/p-8e0271ec.entry.js +2 -0
  689. package/dist/voa/p-8e0271ec.entry.js.map +1 -0
  690. package/dist/voa/p-8e20a0ce.entry.js +2 -0
  691. package/dist/voa/p-8e20a0ce.entry.js.map +1 -0
  692. package/dist/voa/p-9409e8a0.entry.js +2 -0
  693. package/dist/voa/p-9409e8a0.entry.js.map +1 -0
  694. package/dist/voa/p-Dh8480Ec.js +3 -0
  695. package/dist/voa/p-Dh8480Ec.js.map +1 -0
  696. package/dist/voa/p-Du_B3oI3.js +2 -0
  697. package/dist/voa/p-Du_B3oI3.js.map +1 -0
  698. package/dist/voa/p-a9d14872.entry.js +2 -0
  699. package/dist/voa/p-a9d14872.entry.js.map +1 -0
  700. package/dist/voa/p-b305463b.entry.js +2 -0
  701. package/dist/voa/p-b305463b.entry.js.map +1 -0
  702. package/dist/voa/p-b36a6198.entry.js +2 -0
  703. package/dist/voa/p-b36a6198.entry.js.map +1 -0
  704. package/dist/voa/p-b7133c1f.entry.js +2 -0
  705. package/dist/voa/p-b7133c1f.entry.js.map +1 -0
  706. package/dist/voa/p-ba6839f4.entry.js +2 -0
  707. package/dist/voa/p-ba6839f4.entry.js.map +1 -0
  708. package/dist/voa/p-c1226e48.entry.js +2 -0
  709. package/dist/voa/p-c1226e48.entry.js.map +1 -0
  710. package/dist/voa/p-c1481257.entry.js +2 -0
  711. package/dist/voa/p-c1481257.entry.js.map +1 -0
  712. package/dist/voa/p-c3867e8e.entry.js +2 -0
  713. package/dist/voa/p-c3867e8e.entry.js.map +1 -0
  714. package/dist/voa/p-c9b7e0e5.entry.js +2 -0
  715. package/dist/voa/p-c9b7e0e5.entry.js.map +1 -0
  716. package/dist/voa/p-cc7ec720.entry.js +2 -0
  717. package/dist/voa/p-cc7ec720.entry.js.map +1 -0
  718. package/dist/voa/p-d5d426cc.entry.js +2 -0
  719. package/dist/voa/p-d5d426cc.entry.js.map +1 -0
  720. package/dist/voa/p-dce8719e.entry.js +2 -0
  721. package/dist/voa/p-dce8719e.entry.js.map +1 -0
  722. package/dist/voa/p-de0944ab.entry.js +2 -0
  723. package/dist/voa/p-de0944ab.entry.js.map +1 -0
  724. package/dist/voa/p-decd2e4d.entry.js +2 -0
  725. package/dist/voa/p-decd2e4d.entry.js.map +1 -0
  726. package/dist/voa/p-e56f72ee.entry.js +2 -0
  727. package/dist/voa/p-e56f72ee.entry.js.map +1 -0
  728. package/dist/voa/p-f28e13b2.entry.js +2 -0
  729. package/dist/voa/p-f28e13b2.entry.js.map +1 -0
  730. package/dist/voa/p-f432a015.entry.js +2 -0
  731. package/dist/voa/p-f432a015.entry.js.map +1 -0
  732. package/dist/voa/p-f5c3d298.entry.js +2 -0
  733. package/dist/voa/p-f5c3d298.entry.js.map +1 -0
  734. package/dist/voa/p-faec36a5.entry.js +2 -0
  735. package/dist/voa/p-faec36a5.entry.js.map +1 -0
  736. package/dist/voa/p-fd7aa1e3.entry.js +2 -0
  737. package/dist/voa/p-fd7aa1e3.entry.js.map +1 -0
  738. package/dist/voa/tokens/global.css +867 -0
  739. package/dist/voa/tokens/voa-tokens.css +776 -0
  740. package/dist/voa/voa-accordion.entry.esm.js.map +1 -0
  741. package/dist/voa/voa-alert.entry.esm.js.map +1 -0
  742. package/dist/voa/voa-avatar.entry.esm.js.map +1 -0
  743. package/dist/voa/voa-badge.entry.esm.js.map +1 -0
  744. package/dist/voa/voa-breadcrumbs-divider.entry.esm.js.map +1 -0
  745. package/dist/voa/voa-breadcrumbs-item.entry.esm.js.map +1 -0
  746. package/dist/voa/voa-breadcrumbs.entry.esm.js.map +1 -0
  747. package/dist/voa/voa-button.entry.esm.js.map +1 -0
  748. package/dist/voa/voa-card.entry.esm.js.map +1 -0
  749. package/dist/voa/voa-checkbox.entry.esm.js.map +1 -0
  750. package/dist/voa/voa-container-multi-select.entry.esm.js.map +1 -0
  751. package/dist/voa/voa-datepicker.entry.esm.js.map +1 -0
  752. package/dist/voa/voa-drawer.entry.esm.js.map +1 -0
  753. package/dist/voa/voa-dropdown.entry.esm.js.map +1 -0
  754. package/dist/voa/voa-input-addon.entry.esm.js.map +1 -0
  755. package/dist/voa/voa-input.entry.esm.js.map +1 -0
  756. package/dist/voa/voa-keybinding.entry.esm.js.map +1 -0
  757. package/dist/voa/voa-link.entry.esm.js.map +1 -0
  758. package/dist/voa/voa-list.entry.esm.js.map +1 -0
  759. package/dist/voa/voa-modal.entry.esm.js.map +1 -0
  760. package/dist/voa/voa-option.entry.esm.js.map +1 -0
  761. package/dist/voa/voa-pagination-item.entry.esm.js.map +1 -0
  762. package/dist/voa/voa-pagination.entry.esm.js.map +1 -0
  763. package/dist/voa/voa-progress.entry.esm.js.map +1 -0
  764. package/dist/voa/voa-radio.entry.esm.js.map +1 -0
  765. package/dist/voa/voa-select-base.entry.esm.js.map +1 -0
  766. package/dist/voa/voa-select.entry.esm.js.map +1 -0
  767. package/dist/voa/voa-skeleton.entry.esm.js.map +1 -0
  768. package/dist/voa/voa-stepper.entry.esm.js.map +1 -0
  769. package/dist/voa/voa-switch.entry.esm.js.map +1 -0
  770. package/dist/voa/voa-tab-item.entry.esm.js.map +1 -0
  771. package/dist/voa/voa-tab.entry.esm.js.map +1 -0
  772. package/dist/voa/voa-table.entry.esm.js.map +1 -0
  773. package/dist/voa/voa-tag.entry.esm.js.map +1 -0
  774. package/dist/voa/voa-text-area.entry.esm.js.map +1 -0
  775. package/dist/voa/voa-timepicker.entry.esm.js.map +1 -0
  776. package/dist/voa/voa-tooltip-arrow.entry.esm.js.map +1 -0
  777. package/dist/voa/voa-tooltip.entry.esm.js.map +1 -0
  778. package/dist/voa/voa-upload.entry.esm.js.map +1 -0
  779. package/dist/voa/voa.css +1 -0
  780. package/dist/voa/voa.esm.js +2 -0
  781. package/dist/voa/voa.esm.js.map +1 -0
  782. package/package.json +27 -0
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+
5
+ const defineCustomElements = async (win, options) => {
6
+ if (typeof window === 'undefined') return undefined;
7
+ await index.globalScripts();
8
+ return index.bootstrapLazy([["voa-alert.cjs",[[257,"voa-alert",{"variant":[513],"type":[513],"closable":[4],"closeButtonLabel":[1,"close-button-label"],"alertTitle":[1,"alert-title"],"description":[1],"showButtons":[4,"show-buttons"],"primaryButtonText":[1,"primary-button-text"],"secondaryButtonText":[1,"secondary-button-text"],"setFocus":[64]}]]],["voa-container-multi-select.cjs",[[257,"voa-container-multi-select",{"items":[16],"disabled":[4],"placeholder":[1],"selectedItems":[32]}]]],["voa-input-addon.cjs",[[257,"voa-input-addon",{"variant":[513],"prependContent":[1,"prepend-content"],"countryCode":[1,"country-code"],"buttonLabel":[1,"button-label"],"currency":[1],"currencyName":[1,"currency-name"],"shortcut":[1],"platform":[1],"setFocus":[64]}]]],["voa-pagination.cjs",[[257,"voa-pagination",{"currentPage":[2,"current-page"],"totalPages":[2,"total-pages"],"siblingCount":[2,"sibling-count"],"internalPage":[32]},null,{"currentPage":["handlePageChange"]}]]],["voa-select.cjs",[[257,"voa-select",{"type":[513],"label":[1],"showLabel":[4,"show-label"],"info":[4],"infoMessage":[1,"info-message"],"error":[4],"errorMessage":[1,"error-message"],"placeholder":[1],"value":[1],"options":[16],"disabled":[4],"innerValue":[32],"isFocused":[32],"currentState":[32],"setFocus":[64]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"]],{"value":["syncValue"],"disabled":["updateState"],"isFocused":["updateState"]}]]],["voa-accordion.cjs",[[257,"voa-accordion",{"open":[516],"size":[513],"divider":[516],"isExpanded":[32],"setFocus":[64]},null,{"open":["watchOpenHandler"]}]]],["voa-avatar.cjs",[[257,"voa-avatar",{"type":[1],"size":[1],"initials":[1],"src":[1],"alt":[1],"setFocus":[64]}]]],["voa-breadcrumbs.cjs",[[257,"voa-breadcrumbs",{"type":[513]}]]],["voa-breadcrumbs-divider.cjs",[[257,"voa-breadcrumbs-divider",{"icon":[513]}]]],["voa-breadcrumbs-item.cjs",[[257,"voa-breadcrumbs-item",{"href":[1],"target":[1],"active":[516]}]]],["voa-card.cjs",[[257,"voa-card"]]],["voa-checkbox.cjs",[[337,"voa-checkbox",{"state":[513],"disabled":[516],"showLabel":[4,"show-label"],"name":[1],"value":[1],"internalState":[32]},null,{"state":["stateChanged"],"internalState":["internalStateChanged"]}]]],["voa-datepicker.cjs",[[257,"voa-datepicker",{"value":[1],"selectedDate":[32]}]]],["voa-drawer.cjs",[[257,"voa-drawer",{"open":[4],"isOpen":[32]}]]],["voa-dropdown.cjs",[[257,"voa-dropdown",{"options":[16],"isOpen":[32],"selected":[32]}]]],["voa-input.cjs",[[257,"voa-input",{"inputId":[1,"input-id"],"type":[1],"name":[1],"value":[1],"placeholder":[1],"label":[1],"helperText":[1,"helper-text"],"error":[516],"valid":[516],"warning":[516],"disabled":[516],"readonly":[516],"required":[516],"fill":[516],"size":[513],"showInfoIcon":[4,"show-info-icon"],"isFocused":[32],"hasPrefix":[32],"hasSuffix":[32],"hasInfo":[32],"internalValue":[32],"setFocus":[64]},null,{"value":["valueChanged"]}]]],["voa-link.cjs",[[257,"voa-link",{"href":[1],"target":[1]}]]],["voa-list.cjs",[[257,"voa-list",{"items":[16]}]]],["voa-modal.cjs",[[257,"voa-modal",{"open":[4],"isOpen":[32]}]]],["voa-option.cjs",[[337,"voa-option",{"checked":[516],"disabled":[516],"label":[1],"name":[1],"value":[1],"internalChecked":[32]},null,{"checked":["checkedChanged"]}]]],["voa-progress.cjs",[[257,"voa-progress",{"value":[2]}]]],["voa-radio.cjs",[[257,"voa-radio",{"checked":[516],"disabled":[516],"name":[1],"value":[1],"setFocus":[64]}]]],["voa-skeleton.cjs",[[256,"voa-skeleton",{"width":[1],"height":[1],"variant":[1]}]]],["voa-stepper.cjs",[[257,"voa-stepper",{"steps":[16],"currentStep":[2,"current-step"],"activeStep":[32]}]]],["voa-switch.cjs",[[337,"voa-switch",{"checked":[4],"disabled":[4],"showLabel":[4,"show-label"],"name":[1],"value":[1],"internalChecked":[32]},null,{"checked":["checkedChanged"]}]]],["voa-tab.cjs",[[257,"voa-tab",{"direction":[513],"activeIndex":[2,"active-index"],"internalIndex":[32]},[[0,"tabClick","handleTabSelected"]],{"activeIndex":["handleActiveIndexChange"]}]]],["voa-tab-item.cjs",[[257,"voa-tab-item",{"state":[513],"position":[513],"showBadge":[516,"show-badge"],"badgeCount":[2,"badge-count"],"disabled":[516],"itemIndex":[514,"item-index"],"setFocus":[64]}]]],["voa-table.cjs",[[257,"voa-table",{"data":[16],"columns":[16]}]]],["voa-tag.cjs",[[257,"voa-tag",{"label":[513],"variant":[513],"shape":[513],"size":[513],"iconLeft":[516,"icon-left"],"iconRight":[516,"icon-right"]}]]],["voa-text-area.cjs",[[337,"voa-text-area",{"textareaId":[1,"textarea-id"],"name":[1],"label":[1],"info":[4],"infoText":[1,"info-text"],"placeholder":[1],"value":[1],"maxLength":[2,"max-length"],"disabled":[516],"readonly":[516],"required":[4],"rows":[2],"cols":[2],"errorMessage":[1,"error-message"],"hasError":[516,"has-error"],"internalValue":[32],"isFocused":[32],"characterCount":[32],"setFocus":[64]},null,{"value":["valueChanged"]}]]],["voa-timepicker.cjs",[[257,"voa-timepicker",{"value":[1]}]]],["voa-tooltip.cjs",[[257,"voa-tooltip",{"position":[513],"theme":[513],"icon":[516],"text":[1],"ariaLabel":[1,"aria-label"],"isVisible":[32],"setFocus":[64]}]]],["voa-tooltip-arrow.cjs",[[257,"voa-tooltip-arrow",{"position":[513],"theme":[513]}]]],["voa-upload.cjs",[[257,"voa-upload"]]],["voa-badge.cjs",[[257,"voa-badge",{"label":[513],"count":[2],"icon":[513],"variant":[1],"shape":[513],"size":[1],"setFocus":[64]}]]],["voa-button.cjs",[[257,"voa-button",{"variant":[513],"size":[513],"disabled":[516],"loading":[516],"label":[1],"ariaLabel":[1,"aria-label"],"type":[1],"setFocus":[64]}]]],["voa-keybinding.cjs",[[257,"voa-keybinding",{"shortcut":[1],"platform":[1]}]]],["voa-pagination-item.cjs",[[257,"voa-pagination-item",{"type":[513],"active":[516],"disabled":[516]}]]],["voa-select-base.cjs",[[257,"voa-select-base",{"options":[16],"placeholder":[1],"disabled":[516],"error":[516],"value":[1],"innerValue":[32],"isOpen":[32],"activeIndex":[32],"setFocus":[64]},[[8,"click","handleOutsideClick"]],{"value":["syncValue"]}]]]], options);
9
+ };
10
+
11
+ exports.setNonce = index.setNonce;
12
+ exports.defineCustomElements = defineCustomElements;
13
+ //# sourceMappingURL=loader.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.cjs.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":["globalScripts","bootstrapLazy"],"mappings":";;;;AAGY,MAAC,oBAAoB,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;AACrD,EAAE,MAAMA,mBAAa,EAAE;AACvB,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D;;;;;"}
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+
5
+ const voaAccordionCss = ":host{display:block;width:100%}.voa-accordion{display:flex;flex-direction:column}.voa-accordion__trigger{appearance:none;background:transparent;border:none;width:100%;padding:0;cursor:pointer;text-align:left}.voa-accordion__header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.voa-accordion__title{flex-grow:1}.voa-accordion__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.voa-accordion__content{display:grid;grid-template-rows:1fr;}.voa-accordion__content-inner{overflow:hidden;min-height:0}";
6
+
7
+ // Helper for unique IDs
8
+ let accordionIds = 0;
9
+ const VoaAccordion = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.voaToggle = index.createEvent(this, "voaToggle");
13
+ this.componentId = `voa-accordion-${accordionIds++}`;
14
+ /**
15
+ * If true, the accordion is expanded.
16
+ */
17
+ this.open = false;
18
+ /**
19
+ * Size variant.
20
+ */
21
+ this.size = 'md';
22
+ /**
23
+ * Shows the top divider.
24
+ */
25
+ this.divider = true;
26
+ // Internal state ensures the component works even if the parent doesn't update the prop immediately
27
+ this.isExpanded = false;
28
+ this.handleToggle = () => {
29
+ // Invert internal state immediately for UI responsiveness
30
+ this.isExpanded = !this.isExpanded;
31
+ // Update the open prop to reflect in the DOM attribute (for CSS selectors)
32
+ this.open = this.isExpanded;
33
+ // Tell the world what happened
34
+ this.voaToggle.emit(this.isExpanded);
35
+ };
36
+ this.handleKeyDown = (ev) => {
37
+ if (ev.key === 'Enter' || ev.key === ' ') {
38
+ ev.preventDefault();
39
+ this.handleToggle();
40
+ }
41
+ };
42
+ }
43
+ watchOpenHandler(newValue) {
44
+ this.isExpanded = newValue;
45
+ }
46
+ componentWillLoad() {
47
+ this.isExpanded = this.open;
48
+ }
49
+ async setFocus() {
50
+ var _a;
51
+ const button = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button');
52
+ button === null || button === void 0 ? void 0 : button.focus();
53
+ }
54
+ render() {
55
+ const headerId = `${this.componentId}-header`;
56
+ const contentId = `${this.componentId}-content`;
57
+ return (index.h(index.Host, { key: '9e50265508e1515149432b8d619a780735bf88d2' }, index.h("div", { key: 'b6ce00c6185e8fc23e3263eb926cf6f40696a3a4', part: "base", class: {
58
+ 'voa-accordion': true,
59
+ [`voa-accordion--${this.size}`]: true,
60
+ 'voa-accordion--open': this.isExpanded,
61
+ 'voa-accordion--closed': !this.isExpanded,
62
+ 'voa-accordion--divider': this.divider,
63
+ } }, index.h("div", { key: '57ed4fa16a27073d90106ffd92c5c1192ad14327', class: "voa-accordion__header-wrapper" }, index.h("button", { key: '08ed553d1436df26f636b1b2756c00f4a2911a25', part: "header", id: headerId, class: "voa-accordion__trigger", onClick: this.handleToggle, onKeyDown: this.handleKeyDown, "aria-expanded": this.isExpanded ? 'true' : 'false', "aria-controls": contentId }, index.h("div", { key: 'a5af08c83ebad9df32032d7dac6ff99234a08069', part: "header-content", class: "voa-accordion__header-content" }, index.h("span", { key: 'c4347d7274f9d8a03f55074dd2dee707991fa77a', part: "title", class: "voa-accordion__title" }, index.h("slot", { key: '5bd0e7b181595ad554b4fa477e442ad77f88d24e', name: "header" }, "Title")), index.h("span", { key: '37957ebe29ddde5e45c6f40e030ac2c10d75b791', part: "icon", class: "voa-accordion__icon" }, index.h("slot", { key: '99258f2cd2f0c3e8e75521757499007054c6264f', name: "icon" }, index.h("svg", { key: 'ae58b580cadc0d25042fd3d14938f6f1c47711e2', width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", style: {
64
+ transform: this.isExpanded ? 'rotate(180deg)' : 'rotate(0deg)'
65
+ } }, index.h("path", { key: '7be1b4f5f63665e22d5e0adeabcc156d0dc8fbb0', d: "M7 10L12 15L17 10", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))), index.h("div", { key: 'e4602e8b9d42936dd0d69f4c56601197ac5182ab', part: "content", id: contentId, class: "voa-accordion__content", role: "region", "aria-labelledby": headerId, "aria-hidden": !this.isExpanded ? 'true' : 'false' }, index.h("div", { key: 'fe6de94d8c6394e9ff3bac0476bb9a43c4751d66', class: "voa-accordion__content-inner" }, index.h("slot", { key: '20f6ab4c9ea0656c9d8ed81c1335694507765634' }))))));
66
+ }
67
+ get host() { return index.getElement(this); }
68
+ static get watchers() { return {
69
+ "open": ["watchOpenHandler"]
70
+ }; }
71
+ };
72
+ VoaAccordion.style = voaAccordionCss;
73
+
74
+ exports.voa_accordion = VoaAccordion;
75
+ //# sourceMappingURL=voa-accordion.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voa-accordion.entry.cjs.js","sources":["src/components/voa-accordion/voa-accordion.css?tag=voa-accordion&encapsulation=shadow","src/components/voa-accordion/voa-accordion.tsx"],"sourcesContent":[":host {\r\n display: block;\r\n width: 100%;\r\n}\r\n\r\n.voa-accordion {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.voa-accordion__trigger {\r\n appearance: none;\r\n background: transparent;\r\n border: none;\r\n width: 100%;\r\n padding: 0;\r\n cursor: pointer;\r\n text-align: left;\r\n}\r\n\r\n.voa-accordion__header-content {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n width: 100%;\r\n}\r\n\r\n.voa-accordion__title {\r\n flex-grow: 1;\r\n}\r\n\r\n.voa-accordion__icon {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n /* Removed fixed width/height. Let the SVG or the Part define it. */\r\n flex-shrink: 0;\r\n}\r\n\r\n/* ============================================\r\n ANIMATION ARCHITECTURE\r\n ============================================\r\n \r\n This component uses CSS Grid to enable smooth height animations.\r\n \r\n STRUCTURAL (Internal CSS):\r\n - Sets up grid context: display: grid; grid-template-rows: 1fr;\r\n - Provides .voa-accordion__content-inner wrapper for height calculation\r\n \r\n ANIMATION (External CSS):\r\n - Consumer controls transition timing via ::part(content)\r\n - Consumer defines closed state: grid-template-rows: 0fr;\r\n - Consumer handles prefers-reduced-motion\r\n \r\n Why? Performance, Accessibility, and Brand Flexibility.\r\n ============================================ */\r\n\r\n.voa-accordion__content {\r\n /* STRUCTURAL PREP FOR ANIMATION */\r\n display: grid;\r\n \r\n /* Default state is open structurally to allow the 'fr' transition to work.\r\n We control the 'closed' state via the grid-template-rows property. */\r\n grid-template-rows: 1fr;\r\n \r\n /* IMPORTANT: We do NOT use display: none here.\r\n If we did, the external CSS couldn't animate the opening. */\r\n}\r\n\r\n.voa-accordion__content-inner {\r\n /* This inner wrapper is required for the grid trick to work.\r\n The parent animates the grid track, this container calculates the height. */\r\n overflow: hidden;\r\n min-height: 0;\r\n}","import { Component, h, Prop, State, Event, EventEmitter, Method, Element, Host, Watch } from '@stencil/core';\r\n\r\n// Helper for unique IDs\r\nlet accordionIds = 0;\r\n\r\n@Component({\r\n tag: 'voa-accordion',\r\n styleUrl: 'voa-accordion.css',\r\n shadow: true,\r\n})\r\nexport class VoaAccordion {\r\n @Element() host: HTMLVoaAccordionElement;\r\n\r\n private componentId = `voa-accordion-${accordionIds++}`;\r\n\r\n /**\r\n * If true, the accordion is expanded.\r\n */\r\n @Prop({ reflect: true }) open: boolean = false;\r\n\r\n /**\r\n * Size variant.\r\n */\r\n @Prop({ reflect: true }) size: 'md' | 'lg' = 'md';\r\n\r\n /**\r\n * Shows the top divider.\r\n */\r\n @Prop({ reflect: true }) divider: boolean = true;\r\n\r\n /**\r\n * Emitted when the user interacts with the header.\r\n * Payload: the requested new state (boolean).\r\n */\r\n @Event() voaToggle: EventEmitter<boolean>;\r\n\r\n // Internal state ensures the component works even if the parent doesn't update the prop immediately\r\n @State() isExpanded: boolean = false;\r\n\r\n @Watch('open')\r\n watchOpenHandler(newValue: boolean) {\r\n this.isExpanded = newValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.isExpanded = this.open;\r\n }\r\n\r\n private handleToggle = () => {\r\n // Invert internal state immediately for UI responsiveness\r\n this.isExpanded = !this.isExpanded;\r\n // Update the open prop to reflect in the DOM attribute (for CSS selectors)\r\n this.open = this.isExpanded;\r\n // Tell the world what happened\r\n this.voaToggle.emit(this.isExpanded);\r\n };\r\n\r\n private handleKeyDown = (ev: KeyboardEvent) => {\r\n if (ev.key === 'Enter' || ev.key === ' ') {\r\n ev.preventDefault();\r\n this.handleToggle();\r\n }\r\n };\r\n\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n const button = this.host.shadowRoot?.querySelector('button');\r\n button?.focus();\r\n }\r\n\r\n render() {\r\n const headerId = `${this.componentId}-header`;\r\n const contentId = `${this.componentId}-content`;\r\n\r\n return (\r\n <Host>\r\n <div\r\n part=\"base\"\r\n class={{\r\n 'voa-accordion': true,\r\n [`voa-accordion--${this.size}`]: true,\r\n 'voa-accordion--open': this.isExpanded,\r\n 'voa-accordion--closed': !this.isExpanded,\r\n 'voa-accordion--divider': this.divider,\r\n }}\r\n >\r\n {/* Header wraps a button for semantics */}\r\n <div class=\"voa-accordion__header-wrapper\">\r\n <button\r\n part=\"header\"\r\n id={headerId}\r\n class=\"voa-accordion__trigger\"\r\n onClick={this.handleToggle}\r\n onKeyDown={this.handleKeyDown}\r\n aria-expanded={this.isExpanded ? 'true' : 'false'}\r\n aria-controls={contentId}\r\n >\r\n <div part=\"header-content\" class=\"voa-accordion__header-content\">\r\n <span part=\"title\" class=\"voa-accordion__title\">\r\n <slot name=\"header\">Title</slot>\r\n </span>\r\n\r\n {/* ICON SLOT: Allows external replacement */}\r\n <span part=\"icon\" class=\"voa-accordion__icon\">\r\n <slot name=\"icon\">\r\n {/* Default Fallback Icon (Chevron) */}\r\n <svg\r\n width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"\r\n style={{\r\n transform: this.isExpanded ? 'rotate(180deg)' : 'rotate(0deg)'\r\n }}\r\n >\r\n <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </slot>\r\n </span>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n {/* CONTENT: Kept in DOM for animation support via CSS Grid Trick */}\r\n <div\r\n part=\"content\"\r\n id={contentId}\r\n class=\"voa-accordion__content\"\r\n role=\"region\"\r\n aria-labelledby={headerId}\r\n aria-hidden={!this.isExpanded ? 'true' : 'false'}\r\n >\r\n <div class=\"voa-accordion__content-inner\">\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,8iBAA8iB;;ACEtkB;AACA,IAAI,YAAY,GAAG,CAAC;MAOP,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAQU,QAAA,IAAA,CAAA,WAAW,GAAG,iBAAiB,YAAY,EAAE,EAAE;AAEvD;;AAEG;AACsB,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAE9C;;AAEG;AACsB,QAAA,IAAI,CAAA,IAAA,GAAgB,IAAI;AAEjD;;AAEG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI;;AASvC,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAW5B,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;;AAE1B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;;AAElC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU;;YAE3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACtC,SAAC;AAEO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,EAAiB,KAAI;AAC5C,YAAA,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE;gBACxC,EAAE,CAAC,cAAc,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE;;AAEvB,SAAC;AA2EF;AAjGC,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ;;IAG5B,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI;;AAoB7B,IAAA,MAAM,QAAQ,GAAA;;AACZ,QAAA,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAC,QAAQ,CAAC;AAC5D,QAAA,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,KAAK,EAAE;;IAGjB,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,SAAS;AAC7C,QAAA,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,UAAU;QAE/C,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;AACL,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;gBACrC,qBAAqB,EAAE,IAAI,CAAC,UAAU;AACtC,gBAAA,uBAAuB,EAAE,CAAC,IAAI,CAAC,UAAU;gBACzC,wBAAwB,EAAE,IAAI,CAAC,OAAO;AACvC,aAAA,EAAA,EAGDA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxCA,OAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAC,wBAAwB,EAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,aAAa,EACd,eAAA,EAAA,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,mBAClC,SAAS,EAAA,EAExBA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,+BAA+B,EAAA,EAC9DA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,sBAAsB,EAAA,EAC7CA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,EAAA,OAAA,CAAa,CAC3B,EAGPA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,qBAAqB,EAAA,EAC3CA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EAEfA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EACtD,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,UAAU,GAAG,gBAAgB,GAAG;aACjD,EAAA,EAEDA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,CAAC,EAAC,mBAAmB,EAAC,MAAM,EAAC,cAAc,EAAc,cAAA,EAAA,GAAG,oBAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAG,CAAA,CAChH,CACD,CACF,CACH,CACC,CACL,EAGNA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,SAAS,EACd,EAAE,EAAE,SAAS,EACb,KAAK,EAAC,wBAAwB,EAC9B,IAAI,EAAC,QAAQ,EAAA,iBAAA,EACI,QAAQ,EAAA,aAAA,EACZ,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,EAAA,EAEhDA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,8BAA8B,EAAA,EACvCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACF,CACD;;;;;;;;;;;"}
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+ var icons = require('./icons-zJ6d3Dsx.js');
5
+
6
+ const voaAlertCss = ":host{display:block;box-sizing:border-box;width:100%}.alert-container{display:flex;flex-direction:column;position:relative;box-sizing:border-box;width:100%}.alert-inline{flex-direction:row;align-items:center}.content-wrapper{display:flex;align-items:flex-start;flex:1;width:100%;box-sizing:border-box}.alert-inline .content-wrapper{align-items:center}.alert-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.content{flex:1;display:flex;flex-direction:column;box-sizing:border-box;min-width:0;}.alert-inline .content{flex-direction:row;align-items:center}.text-group{display:flex;flex-direction:column}.close-button{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;margin:0;flex-shrink:0}.actions-wrapper{display:flex;justify-content:flex-end;align-items:center;width:100%;box-sizing:border-box;flex-wrap:wrap}";
7
+
8
+ const VoaAlert = class {
9
+ constructor(hostRef) {
10
+ index.registerInstance(this, hostRef);
11
+ this.voaDismiss = index.createEvent(this, "voaDismiss");
12
+ this.voaPrimaryClick = index.createEvent(this, "voaPrimaryClick");
13
+ this.voaSecondaryClick = index.createEvent(this, "voaSecondaryClick");
14
+ /**
15
+ * Variante do alerta: 'default' (layout vertical) ou 'inline' (layout horizontal).
16
+ * Padrão é 'default'.
17
+ */
18
+ this.variant = 'default';
19
+ /**
20
+ * O tipo de alerta a ser exibido. Influencia a cor e o ícone.
21
+ * Padrão é 'info'.
22
+ */
23
+ this.type = 'info';
24
+ /**
25
+ * Determina se o alerta pode ser fechado pelo usuário.
26
+ */
27
+ this.closable = false;
28
+ /**
29
+ * Texto do rótulo para o botão de fechar, para acessibilidade.
30
+ * Padrão é "Fechar alerta".
31
+ */
32
+ this.closeButtonLabel = 'Fechar alerta';
33
+ /**
34
+ * Determina se os botões devem ser exibidos.
35
+ * Se true, os botões serão exibidos (desde que pelo menos primaryButtonText seja fornecido).
36
+ * Se false, os botões não serão exibidos, independente das outras props.
37
+ */
38
+ this.showButtons = false;
39
+ this.handleClose = (e) => {
40
+ e.stopPropagation();
41
+ this.voaDismiss.emit();
42
+ };
43
+ }
44
+ /**
45
+ * Método para acessibilidade WCAG 2.2 AA
46
+ * Delega foco ao botão de fechar se existir
47
+ */
48
+ async setFocus() {
49
+ var _a;
50
+ const closeBtn = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part="close-button"]');
51
+ if (closeBtn) {
52
+ closeBtn.focus();
53
+ }
54
+ }
55
+ renderIcon() {
56
+ const iconType = this.variant === 'inline' && this.type === 'warning' ? 'warning-inline' : this.type;
57
+ const IconComponent = icons.getAlertIcon(iconType, this.variant);
58
+ return (index.h("div", { part: "icon", class: "alert-icon" }, index.h(IconComponent, null)));
59
+ }
60
+ render() {
61
+ const hasButtons = this.variant === 'default' && this.showButtons && !!this.primaryButtonText;
62
+ return (index.h(index.Host, { key: '3e04be2859dc5ef25212fd5df6cba4ba2eff5c88', role: "alert", "aria-hidden": !this.closable ? null : "false" }, index.h("div", { key: '98f0d6a88ef58e7692818154090ca4150e2ce404', part: "base", class: {
63
+ 'alert-container': true,
64
+ [`alert-${this.variant}`]: true,
65
+ [`alert-type-${this.type}`]: true
66
+ } }, index.h("div", { key: '41ba5dcd37cdf3fbf4afb4593f4eea352f30453c', part: "content-wrapper", class: "content-wrapper" }, this.renderIcon(), index.h("div", { key: '274c21ee707d150d83ee405b62464f98c31d34f4', part: "content", class: "content" }, (this.alertTitle || this.description) ? (index.h("div", { class: "text-group" }, this.alertTitle && index.h("div", { part: "title", class: "title" }, this.alertTitle), this.variant === 'default' && this.description && (index.h("div", { part: "description", class: "description" }, this.description)))) : (index.h("slot", null))), this.closable && (index.h("button", { key: '03da877fab62fab406fac41e4c94e71298af132c', part: "close-button", type: "button", class: "close-button", onClick: this.handleClose, "aria-label": this.closeButtonLabel }, icons.getAlertIcon('close', this.variant)()))), hasButtons && (index.h("div", { key: '98b4b495e98dc4bb7105df40e34071ffb03965cb', part: "actions", class: "actions-wrapper" }, this.secondaryButtonText && (index.h("voa-button", { key: '8006d6fbdb687ce60b7dc832eb0bb91e28bf5195', variant: "ghost", size: "sm", onDsClick: () => this.voaSecondaryClick.emit(), exportparts: "base: secondary-btn-base" }, this.secondaryButtonText)), index.h("voa-button", { key: '9917cb71af08d6956dc0359b8a66bfb094d5c18c', variant: "primary", size: "sm", onDsClick: () => this.voaPrimaryClick.emit(), exportparts: "base: primary-btn-base" }, this.primaryButtonText))))));
67
+ }
68
+ get host() { return index.getElement(this); }
69
+ };
70
+ VoaAlert.style = voaAlertCss;
71
+
72
+ exports.voa_alert = VoaAlert;
73
+ //# sourceMappingURL=voa-alert.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voa-alert.entry.cjs.js","sources":["src/components/voa-alert/voa-alert.css?tag=voa-alert&encapsulation=shadow","src/components/voa-alert/voa-alert.tsx"],"sourcesContent":["/* UNSTYLED PATTERN: Structural Only */\r\n\r\n:host {\r\n display: block;\r\n box-sizing: border-box;\r\n width: 100%;\r\n}\r\n\r\n.alert-container {\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n box-sizing: border-box;\r\n width: 100%;\r\n}\r\n\r\n.alert-inline {\r\n flex-direction: row;\r\n align-items: center;\r\n}\r\n\r\n.content-wrapper {\r\n display: flex;\r\n align-items: flex-start;\r\n flex: 1;\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n\r\n.alert-inline .content-wrapper {\r\n align-items: center;\r\n}\r\n\r\n.alert-icon {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n}\r\n\r\n.content {\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n min-width: 0; /* Prevents text overflow issues */\r\n}\r\n\r\n.alert-inline .content {\r\n flex-direction: row;\r\n align-items: center;\r\n}\r\n\r\n.text-group {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.close-button {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: none;\r\n border: none;\r\n cursor: pointer;\r\n padding: 0;\r\n margin: 0;\r\n flex-shrink: 0;\r\n}\r\n\r\n.actions-wrapper {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n width: 100%;\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n}\r\n","import { Component, Event, EventEmitter, Prop, h, Element, Method, Host } from '@stencil/core';\r\nimport { getAlertIcon } from '../../utils/icons';\r\n\r\n/**\r\n * O componente voa-alert é usado para exibir mensagens importantes para o usuário.\r\n * Pode ser de diferentes tipos (success, warning, error, info, basic) e opcionalmente dispensável.\r\n * Suporta variantes default (layout vertical) e inline (layout horizontal).\r\n * \r\n * @part base - O elemento raiz do alerta\r\n * @part content-wrapper - Wrapper do conteúdo principal\r\n * @part icon - Container do ícone\r\n * @part content - Container do conteúdo (slot padrão)\r\n * @part title - Container do título\r\n * @part description - Container da descrição\r\n * @part close-button - Botão de fechar\r\n * @part actions - Container dos botões de ação\r\n * @part primary-btn-base - Expõe o part \"base\" do botão primário para estilização externa\r\n * @part secondary-btn-base - Expõe o part \"base\" do botão secundário para estilização externa\r\n */\r\n@Component({\r\n tag: 'voa-alert',\r\n styleUrl: 'voa-alert.css',\r\n shadow: true,\r\n})\r\nexport class VoaAlert {\r\n @Element() host: HTMLVoaAlertElement;\r\n\r\n /**\r\n * Variante do alerta: 'default' (layout vertical) ou 'inline' (layout horizontal).\r\n * Padrão é 'default'.\r\n */\r\n @Prop({ reflect: true }) variant: 'default' | 'inline' = 'default';\r\n\r\n /**\r\n * O tipo de alerta a ser exibido. Influencia a cor e o ícone.\r\n * Padrão é 'info'.\r\n */\r\n @Prop({ reflect: true }) type: 'basic' | 'success' | 'warning' | 'warning-inline' | 'error' | 'info' = 'info';\r\n\r\n /**\r\n * Determina se o alerta pode ser fechado pelo usuário.\r\n */\r\n @Prop() closable: boolean = false;\r\n\r\n /**\r\n * Texto do rótulo para o botão de fechar, para acessibilidade.\r\n * Padrão é \"Fechar alerta\".\r\n */\r\n @Prop() closeButtonLabel: string = 'Fechar alerta';\r\n\r\n /**\r\n * Título do alerta. Quando fornecido, será exibido como título principal.\r\n * Para variant inline, apenas o título é exibido.\r\n */\r\n @Prop() alertTitle?: string;\r\n\r\n /**\r\n * Descrição do alerta. Apenas exibida na variante default.\r\n */\r\n @Prop() description?: string;\r\n\r\n /**\r\n * Determina se os botões devem ser exibidos.\r\n * Se true, os botões serão exibidos (desde que pelo menos primaryButtonText seja fornecido).\r\n * Se false, os botões não serão exibidos, independente das outras props.\r\n */\r\n @Prop() showButtons: boolean = false;\r\n\r\n /**\r\n * Texto do botão primário. Só será exibido se showButtons for true.\r\n */\r\n @Prop() primaryButtonText?: string;\r\n\r\n /**\r\n * Texto do botão secundário. Só será exibido se showButtons for true e primaryButtonText também for fornecido.\r\n */\r\n @Prop() secondaryButtonText?: string;\r\n\r\n /**\r\n * Evento emitido quando o alerta é dispensado (fechado).\r\n */\r\n @Event() voaDismiss: EventEmitter<void>;\r\n\r\n /**\r\n * Evento emitido quando o botão primário é clicado.\r\n */\r\n @Event() voaPrimaryClick: EventEmitter<void>;\r\n\r\n /**\r\n * Evento emitido quando o botão secundário é clicado.\r\n */\r\n @Event() voaSecondaryClick: EventEmitter<void>;\r\n\r\n /**\r\n * Método para acessibilidade WCAG 2.2 AA\r\n * Delega foco ao botão de fechar se existir\r\n */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n const closeBtn = this.host.shadowRoot?.querySelector('[part=\"close-button\"]') as HTMLElement;\r\n if (closeBtn) {\r\n closeBtn.focus();\r\n }\r\n }\r\n\r\n private handleClose = (e: Event) => {\r\n e.stopPropagation();\r\n this.voaDismiss.emit();\r\n };\r\n\r\n private renderIcon() {\r\n const iconType = this.variant === 'inline' && this.type === 'warning' ? 'warning-inline' : this.type;\r\n const IconComponent = getAlertIcon(iconType, this.variant);\r\n \r\n return (\r\n <div part=\"icon\" class=\"alert-icon\">\r\n <IconComponent />\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n const hasButtons = this.variant === 'default' && this.showButtons && !!this.primaryButtonText;\r\n\r\n return (\r\n <Host \r\n role=\"alert\" \r\n aria-hidden={!this.closable ? null : \"false\"}\r\n >\r\n <div\r\n part=\"base\"\r\n class={{\r\n 'alert-container': true,\r\n [`alert-${this.variant}`]: true,\r\n [`alert-type-${this.type}`]: true\r\n }}\r\n >\r\n <div part=\"content-wrapper\" class=\"content-wrapper\">\r\n {this.renderIcon()}\r\n \r\n <div part=\"content\" class=\"content\">\r\n {(this.alertTitle || this.description) ? (\r\n <div class=\"text-group\">\r\n {this.alertTitle && <div part=\"title\" class=\"title\">{this.alertTitle}</div>}\r\n {this.variant === 'default' && this.description && (\r\n <div part=\"description\" class=\"description\">{this.description}</div>\r\n )}\r\n </div>\r\n ) : (\r\n <slot />\r\n )}\r\n </div>\r\n\r\n {this.closable && (\r\n <button\r\n part=\"close-button\"\r\n type=\"button\"\r\n class=\"close-button\"\r\n onClick={this.handleClose}\r\n aria-label={this.closeButtonLabel}\r\n >\r\n {getAlertIcon('close', this.variant)()}\r\n </button>\r\n )}\r\n </div>\r\n\r\n {/* Action Buttons */}\r\n {hasButtons && (\r\n <div part=\"actions\" class=\"actions-wrapper\">\r\n {this.secondaryButtonText && (\r\n <voa-button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onDsClick={() => this.voaSecondaryClick.emit()}\r\n exportparts=\"base: secondary-btn-base\" \r\n >\r\n {this.secondaryButtonText}\r\n </voa-button>\r\n )}\r\n \r\n <voa-button\r\n variant=\"primary\"\r\n size=\"sm\"\r\n onDsClick={() => this.voaPrimaryClick.emit()}\r\n exportparts=\"base: primary-btn-base\"\r\n >\r\n {this.primaryButtonText}\r\n </voa-button>\r\n </div>\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n} "],"names":["getAlertIcon","h","Host"],"mappings":";;;;;AAAA,MAAM,WAAW,GAAG,+3BAA+3B;;MCwBt4B,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;AAQE;;;AAGG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAyB,SAAS;AAElE;;;AAGG;AACsB,QAAA,IAAI,CAAA,IAAA,GAA0E,MAAM;AAE7G;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;;AAGG;AACK,QAAA,IAAgB,CAAA,gBAAA,GAAW,eAAe;AAalD;;;;AAIG;AACK,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAuC5B,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,CAAQ,KAAI;YACjC,CAAC,CAAC,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AACxB,SAAC;AAsFF;AArGC;;;AAGG;AAEH,IAAA,MAAM,QAAQ,GAAA;;AACZ,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAC,uBAAuB,CAAgB;QAC5F,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,KAAK,EAAE;;;IASZ,UAAU,GAAA;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAAC,IAAI;QACpG,MAAM,aAAa,GAAGA,kBAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QAE1D,QACEC,iBAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,EAAA,EACjCA,OAAA,CAAC,aAAa,EAAA,IAAA,CAAG,CACb;;IAIV,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB;QAE7F,QACEA,OAAC,CAAAC,UAAI,qDACH,IAAI,EAAC,OAAO,EACC,aAAA,EAAA,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,OAAO,EAAA,EAE5CD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;AACL,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,CAAC,SAAS,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAC/B,gBAAA,CAAC,cAAc,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG;AAC9B,aAAA,EAAA,EAEDA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,iBAAiB,EAAA,EAChD,IAAI,CAAC,UAAU,EAAE,EAElBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAA,EAChC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,KACnCA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,YAAY,EAAA,EACnB,IAAI,CAAC,UAAU,IAAIA,OAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAA,EAAE,IAAI,CAAC,UAAU,CAAO,EAC1E,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAC7CA,OAAA,CAAA,KAAA,EAAA,EAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,EAAE,EAAA,IAAI,CAAC,WAAW,CAAO,CACrE,CACE,KAENA,OAAA,CAAA,MAAA,EAAA,IAAA,CAAQ,CACT,CACG,EAEL,IAAI,CAAC,QAAQ,KACZA,OAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACb,YAAA,EAAA,IAAI,CAAC,gBAAgB,IAEhCD,kBAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAC/B,CACV,CACG,EAGL,UAAU,KACTC,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,iBAAiB,EAAA,EACxC,IAAI,CAAC,mBAAmB,KACvBA,yEACE,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAC9C,WAAW,EAAC,0BAA0B,EAErC,EAAA,IAAI,CAAC,mBAAmB,CACd,CACd,EAEDA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAC5C,WAAW,EAAC,wBAAwB,EAEnC,EAAA,IAAI,CAAC,iBAAiB,CACZ,CACT,CACP,CACG,CACD;;;;;;;;"}
@@ -0,0 +1,80 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+
5
+ const voaAvatarCss = ":host{display:inline-block;--avatar-size-xs:var(--spacing-spacing-md);--avatar-size-sm:var(--spacing-spacing-lg);--avatar-size-md:var(--spacing-spacing-xl);--avatar-size-lg:var(--spacing-spacing-xxl);--avatar-size-xl:var(--spacing-spacing-xxxl);}.voa-avatar{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0;box-sizing:border-box;}.voa-avatar--xs{width:var(--avatar-size-xs);height:var(--avatar-size-xs)}.voa-avatar--sm{width:var(--avatar-size-sm);height:var(--avatar-size-sm)}.voa-avatar--md{width:var(--avatar-size-md);height:var(--avatar-size-md)}.voa-avatar--lg{width:var(--avatar-size-lg);height:var(--avatar-size-lg)}.voa-avatar--xl{width:var(--avatar-size-xl);height:var(--avatar-size-xl)}.voa-avatar img{width:100%;height:100%;object-fit:cover;display:block;box-sizing:border-box}.avatar-initials{display:inline-block;text-transform:uppercase;user-select:none;line-height:1;box-sizing:border-box;}.avatar-icon{width:60%;height:60%;display:block;box-sizing:border-box;}";
6
+
7
+ const VoaAvatar = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ /**
11
+ * Tipo de avatar a ser exibido.
12
+ * - 'icon': Exibe um ícone de usuário padrão
13
+ * - 'photo': Exibe uma imagem (requer prop src)
14
+ * - 'initials': Exibe iniciais de texto (requer prop initials)
15
+ */
16
+ this.type = 'icon';
17
+ /**
18
+ * Tamanho do avatar.
19
+ * Mapeado do Figma: xs (16px), sm (24px), md (32px), lg (48px), xl (56px)
20
+ */
21
+ this.size = 'md';
22
+ }
23
+ /**
24
+ * Método para acessibilidade WCAG 2.2 AA.
25
+ * Delega foco ao elemento interno do avatar.
26
+ */
27
+ async setFocus() {
28
+ var _a;
29
+ const focusable = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[part="base"]');
30
+ if (focusable) {
31
+ focusable.focus();
32
+ }
33
+ }
34
+ getAriaLabel() {
35
+ if (this.alt) {
36
+ return this.alt;
37
+ }
38
+ if (this.type === 'initials' && this.initials) {
39
+ return `Avatar com iniciais ${this.initials}`;
40
+ }
41
+ if (this.type === 'photo' && this.src) {
42
+ return 'Avatar com foto de perfil';
43
+ }
44
+ return 'Avatar de usuário';
45
+ }
46
+ renderContent() {
47
+ switch (this.type) {
48
+ case 'photo':
49
+ if (this.src) {
50
+ return index.h("img", { part: "image", src: this.src, alt: this.alt || 'Avatar' });
51
+ }
52
+ // Fallback para icon se src não fornecido
53
+ return this.renderIcon();
54
+ case 'initials':
55
+ if (this.initials) {
56
+ return index.h("span", { class: "avatar-initials", part: "initials" }, this.initials);
57
+ }
58
+ // Fallback para icon se initials não fornecido
59
+ return this.renderIcon();
60
+ case 'icon':
61
+ default:
62
+ return this.renderIcon();
63
+ }
64
+ }
65
+ renderIcon() {
66
+ return (index.h("svg", { class: "avatar-icon", part: "icon", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true" }, index.h("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })));
67
+ }
68
+ render() {
69
+ return (index.h(index.Host, { key: '3da67acafc6bd4af69d45ae6ee662e2e2bc3aa10', role: "img", "aria-label": this.getAriaLabel() }, index.h("div", { key: '32391b690e317f36d4a8b5cc4ad9956c70cea493', part: "base", class: {
70
+ 'voa-avatar': true,
71
+ [`voa-avatar--${this.size}`]: true,
72
+ [`voa-avatar--${this.type}`]: true,
73
+ } }, this.renderContent())));
74
+ }
75
+ get host() { return index.getElement(this); }
76
+ };
77
+ VoaAvatar.style = voaAvatarCss;
78
+
79
+ exports.voa_avatar = VoaAvatar;
80
+ //# sourceMappingURL=voa-avatar.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voa-avatar.entry.cjs.js","sources":["src/components/voa-avatar/voa-avatar.css?tag=voa-avatar&encapsulation=shadow","src/components/voa-avatar/voa-avatar.tsx"],"sourcesContent":["/* \r\n * UNSTYLED PATTERN: This file contains ONLY structural CSS (layout, positioning).\r\n * All visual styles (colors, backgrounds, fonts, spacing) must be applied externally\r\n * via CSS Parts API (::part() selectors) using design tokens.\r\n * \r\n * Design Tokens utilizados (aplicados externamente):\r\n * - --structure-colors-bg-elevated: Background do avatar (✅ existe em voa-tokens.css)\r\n * - --text-primary: Cor do texto/iniciais (✅ existe em voa-tokens.css, valor: #0b1215)\r\n * - --spacing-spacing-md: 16px (xs) (✅ existe em voa-tokens.css)\r\n * - --spacing-spacing-lg: 24px (sm) (✅ existe em voa-tokens.css)\r\n * - --spacing-spacing-xl: 32px (md) (✅ existe em voa-tokens.css)\r\n * - --spacing-spacing-xxl: 48px (lg) (✅ existe em voa-tokens.css)\r\n * - --spacing-spacing-xxxl: 56px (xl) (✅ existe em voa-tokens.css)\r\n * - --radius-round: Border-radius circular (✅ existe em voa-tokens.css, valor: 64rem)\r\n * \r\n * Exemplo de estilização externa:\r\n * voa-avatar::part(base) {\r\n * background-color: var(--structure-colors-bg-elevated);\r\n * border-radius: var(--radius-round);\r\n * }\r\n * voa-avatar::part(initials) {\r\n * color: var(--text-primary);\r\n * font-family: var(--font-family-body);\r\n * font-weight: var(--font-weight-semibold);\r\n * }\r\n */\r\n\r\n:host {\r\n display: inline-block;\r\n \r\n /* Definir variáveis CSS para tamanhos usando tokens semânticos */\r\n --avatar-size-xs: var(--spacing-spacing-md); /* 16px */\r\n --avatar-size-sm: var(--spacing-spacing-lg); /* 24px */\r\n --avatar-size-md: var(--spacing-spacing-xl); /* 32px */\r\n --avatar-size-lg: var(--spacing-spacing-xxl); /* 48px */\r\n --avatar-size-xl: var(--spacing-spacing-xxxl); /* 56px */\r\n}\r\n\r\n.voa-avatar {\r\n /* APENAS estilos estruturais */\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n /* Border-radius será aplicado externamente via tokens */\r\n}\r\n\r\n/* Tamanhos do Avatar - usando tokens semânticos */\r\n.voa-avatar--xs {\r\n width: var(--avatar-size-xs);\r\n height: var(--avatar-size-xs);\r\n}\r\n\r\n.voa-avatar--sm {\r\n width: var(--avatar-size-sm);\r\n height: var(--avatar-size-sm);\r\n}\r\n\r\n.voa-avatar--md {\r\n width: var(--avatar-size-md);\r\n height: var(--avatar-size-md);\r\n}\r\n\r\n.voa-avatar--lg {\r\n width: var(--avatar-size-lg);\r\n height: var(--avatar-size-lg);\r\n}\r\n\r\n.voa-avatar--xl {\r\n width: var(--avatar-size-xl);\r\n height: var(--avatar-size-xl);\r\n}\r\n\r\n/* Estilos estruturais para imagem */\r\n.voa-avatar img {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n display: block;\r\n box-sizing: border-box;\r\n}\r\n\r\n/* Estilos estruturais para iniciais */\r\n.avatar-initials {\r\n display: inline-block;\r\n text-transform: uppercase;\r\n user-select: none;\r\n line-height: 1;\r\n box-sizing: border-box;\r\n /* Font-size, color, font-weight serão aplicados externamente via tokens */\r\n}\r\n\r\n/* Estilos estruturais para ícone */\r\n.avatar-icon {\r\n width: 60%;\r\n height: 60%;\r\n display: block;\r\n box-sizing: border-box;\r\n /* Color será aplicado externamente via tokens */\r\n} ","import { Component, Host, Prop, Element, Method, h } from '@stencil/core';\r\n\r\n/**\r\n * Componente Avatar do Voa Design System, baseado no design do Figma.\r\n * Suporta exibição de ícone, iniciais ou imagem de perfil.\r\n * \r\n * O componente segue o padrão \"unstyled\" - apenas estrutura e lógica.\r\n * Estilos visuais devem ser aplicados externamente via CSS Parts API usando design tokens.\r\n * \r\n * @part base - O elemento raiz do avatar (container circular)\r\n * @part image - O elemento de imagem (quando type=\"photo\" e src é fornecido)\r\n * @part initials - O wrapper do texto de iniciais (quando type=\"initials\")\r\n * @part icon - O wrapper do ícone SVG padrão (quando type=\"icon\")\r\n */\r\n@Component({\r\n tag: 'voa-avatar',\r\n styleUrl: 'voa-avatar.css',\r\n shadow: true,\r\n scoped: false, // Permite herdar variáveis CSS do contexto pai\r\n})\r\nexport class VoaAvatar {\r\n @Element() host: HTMLVoaAvatarElement;\r\n\r\n /**\r\n * Tipo de avatar a ser exibido.\r\n * - 'icon': Exibe um ícone de usuário padrão\r\n * - 'photo': Exibe uma imagem (requer prop src)\r\n * - 'initials': Exibe iniciais de texto (requer prop initials)\r\n */\r\n @Prop() type: 'icon' | 'photo' | 'initials' = 'icon';\r\n\r\n /**\r\n * Tamanho do avatar.\r\n * Mapeado do Figma: xs (16px), sm (24px), md (32px), lg (48px), xl (56px)\r\n */\r\n @Prop() size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'md';\r\n\r\n /**\r\n * As iniciais a serem exibidas quando type=\"initials\".\r\n */\r\n @Prop() initials?: string;\r\n\r\n /**\r\n * URL da imagem do avatar quando type=\"photo\".\r\n */\r\n @Prop() src?: string;\r\n\r\n /**\r\n * Texto alternativo para a imagem do avatar.\r\n */\r\n @Prop() alt?: string;\r\n\r\n /**\r\n * Método para acessibilidade WCAG 2.2 AA.\r\n * Delega foco ao elemento interno do avatar.\r\n */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n const focusable = this.host.shadowRoot?.querySelector('[part=\"base\"]') as HTMLElement;\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n private getAriaLabel(): string {\r\n if (this.alt) {\r\n return this.alt;\r\n }\r\n if (this.type === 'initials' && this.initials) {\r\n return `Avatar com iniciais ${this.initials}`;\r\n }\r\n if (this.type === 'photo' && this.src) {\r\n return 'Avatar com foto de perfil';\r\n }\r\n return 'Avatar de usuário';\r\n }\r\n\r\n private renderContent() {\r\n switch (this.type) {\r\n case 'photo':\r\n if (this.src) {\r\n return <img part=\"image\" src={this.src} alt={this.alt || 'Avatar'} />;\r\n }\r\n // Fallback para icon se src não fornecido\r\n return this.renderIcon();\r\n \r\n case 'initials':\r\n if (this.initials) {\r\n return <span class=\"avatar-initials\" part=\"initials\">{this.initials}</span>;\r\n }\r\n // Fallback para icon se initials não fornecido\r\n return this.renderIcon();\r\n \r\n case 'icon':\r\n default:\r\n return this.renderIcon();\r\n }\r\n }\r\n\r\n private renderIcon() {\r\n return (\r\n <svg class=\"avatar-icon\" part=\"icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/>\r\n </svg>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n role=\"img\"\r\n aria-label={this.getAriaLabel()}\r\n >\r\n <div\r\n part=\"base\"\r\n class={{\r\n 'voa-avatar': true,\r\n [`voa-avatar--${this.size}`]: true,\r\n [`voa-avatar--${this.type}`]: true,\r\n }}\r\n >\r\n {this.renderContent()}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n} "],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,YAAY,GAAG,ugCAAugC;;MCoB/gC,SAAS,GAAA,MAAA;AANtB,IAAA,WAAA,CAAA,OAAA,EAAA;;AASE;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,MAAM;AAEpD;;;AAGG;AACK,QAAA,IAAI,CAAA,IAAA,GAAqC,IAAI;AA2FtD;AA1EC;;;AAGG;AAEH,IAAA,MAAM,QAAQ,GAAA;;AACZ,QAAA,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAAC,eAAe,CAAgB;QACrF,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,KAAK,EAAE;;;IAIb,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,GAAG;;QAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC7C,YAAA,OAAO,CAAuB,oBAAA,EAAA,IAAI,CAAC,QAAQ,EAAE;;QAE/C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;AACrC,YAAA,OAAO,2BAA2B;;AAEpC,QAAA,OAAO,mBAAmB;;IAGpB,aAAa,GAAA;AACnB,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,IAAI,CAAC,GAAG,EAAE;oBACZ,OAAOA,iBAAK,IAAI,EAAC,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAI;;;AAGvE,gBAAA,OAAO,IAAI,CAAC,UAAU,EAAE;AAE1B,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,OAAOA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,UAAU,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAQ;;;AAG7E,gBAAA,OAAO,IAAI,CAAC,UAAU,EAAE;AAE1B,YAAA,KAAK,MAAM;AACX,YAAA;AACE,gBAAA,OAAO,IAAI,CAAC,UAAU,EAAE;;;IAItB,UAAU,GAAA;AAChB,QAAA,QACEA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,EAAA,EAC7FA,OAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,+GAA+G,EAAE,CAAA,CACrH;;IAIV,MAAM,GAAA;AACJ,QAAA,QACEA,OAAC,CAAAC,UAAI,EACH,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EACE,YAAA,EAAA,IAAI,CAAC,YAAY,EAAE,EAAA,EAE/BD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;AACL,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,CAAC,eAAe,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAClC,gBAAA,CAAC,eAAe,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;aACnC,EAAA,EAEA,IAAI,CAAC,aAAa,EAAE,CACjB,CACD;;;;;;;;"}
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+ var icons = require('./icons-zJ6d3Dsx.js');
5
+
6
+ const voaBadgeCss = ":host{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.voa-badge__container{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.voa-badge__label{display:inline-block}.voa-badge__counter{display:inline-flex;align-items:center;justify-content:center}.voa-badge__indicator{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:pre-wrap}.voa-badge__indicator-only{display:inline-block}.voa-badge__icon,.voa-badge__icon-leading,.voa-badge__icon-trailing{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.voa-badge__icon svg,.voa-badge__icon-leading svg,.voa-badge__icon-trailing svg{display:inline-flex;align-items:center;justify-content:center}";
7
+
8
+ const VoaBadgeComponent = class {
9
+ constructor(hostRef) {
10
+ index.registerInstance(this, hostRef);
11
+ /**
12
+ * A variante do badge conforme design do Figma
13
+ */
14
+ this.variant = 'plain';
15
+ /**
16
+ * Forma do badge conforme design do Figma
17
+ */
18
+ this.shape = 'default';
19
+ /**
20
+ * Tamanho do badge conforme design do Figma
21
+ */
22
+ this.size = 'md';
23
+ }
24
+ /**
25
+ * Método para acessibilidade WCAG 2.2 AA
26
+ * Delega foco ao elemento interno nativo
27
+ */
28
+ async setFocus() {
29
+ var _a;
30
+ const focusable = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[tabindex]');
31
+ if (focusable) {
32
+ focusable.focus();
33
+ }
34
+ }
35
+ renderIcon(iconName) {
36
+ const IconComponent = icons.Icons[iconName];
37
+ if (!IconComponent) {
38
+ console.warn(`Ícone não encontrado: ${iconName}`);
39
+ return null;
40
+ }
41
+ return index.h(IconComponent, null);
42
+ }
43
+ getAriaLabel() {
44
+ if (this.variant === 'indicator' || this.variant === 'indicator-overlay') {
45
+ return `${this.count || 0} items`;
46
+ }
47
+ if (this.variant === 'indicator-only') {
48
+ return 'Notification indicator';
49
+ }
50
+ if (this.variant === 'icon-only') {
51
+ return 'Icon badge';
52
+ }
53
+ return this.label || 'Badge';
54
+ }
55
+ getRole() {
56
+ // All indicator variants use role="status" for dynamic updates
57
+ // Non-indicator variants use role="status" as 'badge' is not a valid ARIA role
58
+ return 'status';
59
+ }
60
+ getAriaLive() {
61
+ // Only indicator variants need live region announcements
62
+ if (this.variant === 'indicator' || this.variant === 'indicator-overlay' || this.variant === 'indicator-only') {
63
+ return 'polite';
64
+ }
65
+ return 'off';
66
+ }
67
+ render() {
68
+ const containerClasses = {
69
+ 'voa-badge__container': true,
70
+ [`voa-badge--${this.variant}`]: true,
71
+ [`voa-badge--${this.shape}`]: true,
72
+ [`voa-badge--${this.size}`]: true,
73
+ };
74
+ const renderContent = () => {
75
+ switch (this.variant) {
76
+ case 'plain':
77
+ return index.h("span", { part: "label", class: "voa-badge__label" }, this.label);
78
+ case 'icons':
79
+ return (index.h("div", null, index.h("span", { part: "icon-leading", class: "voa-badge__icon-leading" }, index.h("slot", { name: "start" }, this.icon && this.renderIcon(this.icon))), index.h("span", { part: "label", class: "voa-badge__label" }, this.label), index.h("span", { part: "icon-trailing", class: "voa-badge__icon-trailing" }, index.h("slot", { name: "end" }, this.icon && this.renderIcon(this.icon)))));
80
+ case 'icon-only':
81
+ return (index.h("span", { part: "icon", class: "voa-badge__icon" }, this.icon && this.renderIcon(this.icon)));
82
+ case 'indicator':
83
+ return (index.h("span", { part: "indicator", class: "voa-badge__indicator", role: "status", "aria-live": "polite" }, this.count !== undefined ? this.count : 0));
84
+ case 'indicator-overlay':
85
+ return (index.h("span", { part: "indicator", class: "voa-badge__indicator", role: "status", "aria-live": "polite" }, this.count !== undefined ? this.count : 0));
86
+ case 'indicator-only':
87
+ return index.h("span", { part: "indicator", class: "voa-badge__indicator-only", "aria-hidden": "true" });
88
+ default:
89
+ return null;
90
+ }
91
+ };
92
+ return (index.h(index.Host, { role: this.getRole(), "aria-label": this.getAriaLabel(), "aria-live": this.getAriaLive() }, index.h("div", { part: "base", class: containerClasses }, renderContent())));
93
+ }
94
+ get host() { return index.getElement(this); }
95
+ };
96
+ VoaBadgeComponent.style = voaBadgeCss;
97
+
98
+ exports.voa_badge = VoaBadgeComponent;
99
+ //# sourceMappingURL=voa-badge.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voa-badge.entry.cjs.js","sources":["src/components/voa-badge/voa-badge.css?tag=voa-badge&encapsulation=shadow","src/components/voa-badge/voa-badge.tsx"],"sourcesContent":["/* \r\n * UNSTYLED PATTERN: This file contains ONLY structural CSS (layout, positioning).\r\n * All visual styles (colors, backgrounds, fonts, spacing) must be applied externally\r\n * via CSS Parts API (::part() selectors) using design tokens.\r\n */\r\n\r\n:host {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n}\r\n\r\n.voa-badge__container {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n}\r\n\r\n.voa-badge__label {\r\n display: inline-block;\r\n}\r\n\r\n.voa-badge__counter {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.voa-badge__indicator {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n text-align: center;\r\n white-space: pre-wrap;\r\n}\r\n\r\n.voa-badge__indicator-only {\r\n display: inline-block;\r\n}\r\n\r\n.voa-badge__icon,\r\n.voa-badge__icon-leading,\r\n.voa-badge__icon-trailing {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n}\r\n\r\n.voa-badge__icon svg,\r\n.voa-badge__icon-leading svg,\r\n.voa-badge__icon-trailing svg {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n","import { Component, Prop, h, Host, Element, Method } from '@stencil/core';\r\nimport { Icons } from '../../utils/icons';\r\n\r\nexport interface VoaBadge {\r\n /**\r\n * O texto a ser exibido no badge (mapeado do Figma como \"label\")\r\n */\r\n label?: string;\r\n\r\n /**\r\n * O número a ser exibido como contador (para variantes indicator e indicator-overlay)\r\n */\r\n count?: number;\r\n\r\n /**\r\n * O nome do ícone a ser exibido (para variantes icon-only e icons)\r\n */\r\n icon?: 'success' | 'warning' | 'error' | 'info' | 'close' | 'check' | 'star' | 'heart' | 'bell';\r\n\r\n /**\r\n * A variante do badge conforme design do Figma\r\n * - plain: Badge com texto apenas\r\n * - icons: Badge com texto e ícones (leading/trailing)\r\n * - icon-only: Badge apenas com ícone\r\n * - indicator: Badge numérico (contador)\r\n * - indicator-overlay: Badge numérico com fundo vermelho (danger)\r\n * - indicator-only: Badge apenas indicador (ponto vermelho)\r\n */\r\n variant?: 'plain' | 'icons' | 'icon-only' | 'indicator' | 'indicator-overlay' | 'indicator-only';\r\n\r\n /**\r\n * Forma do badge conforme design do Figma\r\n * - default: Forma retangular com bordas arredondadas\r\n * - pill: Forma completamente arredondada (pill-shaped)\r\n */\r\n shape?: 'default' | 'pill';\r\n\r\n /**\r\n * Tamanho do badge conforme design do Figma\r\n * - sm: Tamanho pequeno\r\n * - md: Tamanho médio (padrão)\r\n */\r\n size?: 'sm' | 'md';\r\n}\r\n\r\n/**\r\n * Badge component para exibir indicadores visuais como texto, contadores ou status.\r\n * Baseado no design do Figma (node-id: 397-3352).\r\n * \r\n * O componente segue o padrão \"unstyled\" - apenas estrutura e lógica.\r\n * Estilos visuais devem ser aplicados externamente via CSS Parts API usando design tokens.\r\n * \r\n * @part base - O container interno do badge (onde as classes são aplicadas)\r\n * @part label - O wrapper do texto (para variantes plain e icons)\r\n * @part counter - O wrapper do número (para variantes indicator e indicator-overlay)\r\n * @part icon-leading - Container do ícone à esquerda (para variante icons)\r\n * @part icon-trailing - Container do ícone à direita (para variante icons)\r\n * @part icon - Container do ícone (para variante icon-only)\r\n * @part indicator - O indicador numérico ou ponto (para variantes indicator, indicator-overlay, indicator-only)\r\n * \r\n * @slot start - Slot para ícone no início do badge (usado em variante icons)\r\n * @slot end - Slot para ícone no final do badge (usado em variante icons)\r\n */\r\n@Component({\r\n tag: 'voa-badge',\r\n styleUrl: 'voa-badge.css',\r\n shadow: true,\r\n scoped: false, // Permite herdar variáveis CSS do contexto pai\r\n})\r\nexport class VoaBadgeComponent implements VoaBadge {\r\n @Element() host: HTMLVoaBadgeElement;\r\n\r\n /**\r\n * O texto a ser exibido no badge (mapeado do Figma como \"label\")\r\n */\r\n @Prop({ reflect: true }) label?: string;\r\n\r\n /**\r\n * O número a ser exibido como contador (para variantes indicator e indicator-overlay)\r\n */\r\n @Prop() count?: number;\r\n\r\n /**\r\n * O nome do ícone a ser exibido (para variantes icon-only e icons)\r\n */\r\n @Prop({ reflect: true }) icon?: 'success' | 'warning' | 'error' | 'info' | 'close' | 'check' | 'star' | 'heart' | 'bell';\r\n\r\n /**\r\n * A variante do badge conforme design do Figma\r\n */\r\n @Prop() variant: 'plain' | 'icons' | 'icon-only' | 'indicator' | 'indicator-overlay' | 'indicator-only' = 'plain';\r\n\r\n /**\r\n * Forma do badge conforme design do Figma\r\n */\r\n @Prop({ reflect: true }) shape: 'default' | 'pill' = 'default';\r\n\r\n /**\r\n * Tamanho do badge conforme design do Figma\r\n */\r\n @Prop() size: 'sm' | 'md' = 'md';\r\n\r\n /**\r\n * Método para acessibilidade WCAG 2.2 AA\r\n * Delega foco ao elemento interno nativo\r\n */\r\n @Method()\r\n async setFocus(): Promise<void> {\r\n const focusable = this.host.shadowRoot?.querySelector('[tabindex]') as HTMLElement;\r\n if (focusable) {\r\n focusable.focus();\r\n }\r\n }\r\n\r\n private renderIcon(iconName: string) {\r\n const IconComponent = Icons[iconName];\r\n if (!IconComponent) {\r\n console.warn(`Ícone não encontrado: ${iconName}`);\r\n return null;\r\n }\r\n return <IconComponent />;\r\n }\r\n\r\n private getAriaLabel(): string {\r\n if (this.variant === 'indicator' || this.variant === 'indicator-overlay') {\r\n return `${this.count || 0} items`;\r\n }\r\n if (this.variant === 'indicator-only') {\r\n return 'Notification indicator';\r\n }\r\n if (this.variant === 'icon-only') {\r\n return 'Icon badge';\r\n }\r\n return this.label || 'Badge';\r\n }\r\n\r\n private getRole(): string {\r\n // All indicator variants use role=\"status\" for dynamic updates\r\n // Non-indicator variants use role=\"status\" as 'badge' is not a valid ARIA role\r\n return 'status';\r\n }\r\n\r\n private getAriaLive(): 'polite' | 'off' {\r\n // Only indicator variants need live region announcements\r\n if (this.variant === 'indicator' || this.variant === 'indicator-overlay' || this.variant === 'indicator-only') {\r\n return 'polite';\r\n }\r\n return 'off';\r\n }\r\n\r\n render() {\r\n const containerClasses = {\r\n 'voa-badge__container': true,\r\n [`voa-badge--${this.variant}`]: true,\r\n [`voa-badge--${this.shape}`]: true,\r\n [`voa-badge--${this.size}`]: true,\r\n };\r\n\r\n const renderContent = () => {\r\n switch (this.variant) {\r\n case 'plain':\r\n return <span part=\"label\" class=\"voa-badge__label\">{this.label}</span>;\r\n\r\n case 'icons':\r\n return (\r\n <div>\r\n <span part=\"icon-leading\" class=\"voa-badge__icon-leading\">\r\n <slot name=\"start\">\r\n {this.icon && this.renderIcon(this.icon)}\r\n </slot>\r\n </span>\r\n <span part=\"label\" class=\"voa-badge__label\">{this.label}</span>\r\n <span part=\"icon-trailing\" class=\"voa-badge__icon-trailing\">\r\n <slot name=\"end\">\r\n {this.icon && this.renderIcon(this.icon)}\r\n </slot>\r\n </span>\r\n </div>\r\n );\r\n\r\n case 'icon-only':\r\n return (\r\n <span part=\"icon\" class=\"voa-badge__icon\">\r\n {this.icon && this.renderIcon(this.icon)}\r\n </span>\r\n );\r\n\r\n case 'indicator':\r\n return (\r\n <span part=\"indicator\" class=\"voa-badge__indicator\" role=\"status\" aria-live=\"polite\">\r\n {this.count !== undefined ? this.count : 0}\r\n </span>\r\n );\r\n\r\n case 'indicator-overlay':\r\n return (\r\n <span part=\"indicator\" class=\"voa-badge__indicator\" role=\"status\" aria-live=\"polite\">\r\n {this.count !== undefined ? this.count : 0}\r\n </span>\r\n );\r\n\r\n case 'indicator-only':\r\n return <span part=\"indicator\" class=\"voa-badge__indicator-only\" aria-hidden=\"true\"></span>;\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n <Host\r\n role={this.getRole()}\r\n aria-label={this.getAriaLabel()}\r\n aria-live={this.getAriaLive()}\r\n >\r\n <div part=\"base\" class={containerClasses}>\r\n {renderContent()}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"names":["Icons","h","Host"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+ var icons = require('./icons-zJ6d3Dsx.js');
5
+
6
+ const voaBreadcrumbsDividerCss = ":host{display:inline-flex;box-sizing:border-box}.voa-breadcrumbs-divider{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box}.voa-breadcrumbs-divider__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.voa-breadcrumbs-divider__icon svg{display:block;width:100%;height:100%;flex-shrink:0}";
7
+
8
+ const VoaBreadcrumbsDivider = class {
9
+ constructor(hostRef) {
10
+ index.registerInstance(this, hostRef);
11
+ /**
12
+ * Tipo de ícone a ser exibido como divisor.
13
+ * Mapeia as variantes do Figma: chevron, arrow, arrow-alt.
14
+ */
15
+ this.icon = 'chevron';
16
+ }
17
+ getIconComponent() {
18
+ switch (this.icon) {
19
+ case 'chevron':
20
+ return icons.Icons['chevron-right'];
21
+ case 'arrow':
22
+ return icons.Icons['arrow-right'];
23
+ case 'arrow-alt':
24
+ return icons.Icons['arrow-right-alt'];
25
+ default:
26
+ return icons.Icons['chevron-right'];
27
+ }
28
+ }
29
+ render() {
30
+ const IconComponent = this.getIconComponent();
31
+ return (index.h(index.Host, { key: '3ca0a38193c0c6d61ec4905cd95e12209fa00a57', role: "separator", "aria-hidden": "true" }, index.h("div", { key: 'd6d136f7c9e8e4965938a4a23e77fe19ec16c369', part: "base", class: {
32
+ 'voa-breadcrumbs-divider': true,
33
+ [`voa-breadcrumbs-divider--${this.icon}`]: true,
34
+ } }, index.h("span", { key: 'c57435ac5dd5fe8d1abc40f75676709b04b1e185', part: "icon", class: "voa-breadcrumbs-divider__icon" }, index.h(IconComponent, { key: '066b4d14c8e02969e04d43630329c7483a788ac5' })))));
35
+ }
36
+ };
37
+ VoaBreadcrumbsDivider.style = voaBreadcrumbsDividerCss;
38
+
39
+ exports.voa_breadcrumbs_divider = VoaBreadcrumbsDivider;
40
+ //# sourceMappingURL=voa-breadcrumbs-divider.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voa-breadcrumbs-divider.entry.cjs.js","sources":["src/components/voa-breadcrumbs-divider/voa-breadcrumbs-divider.css?tag=voa-breadcrumbs-divider&encapsulation=shadow","src/components/voa-breadcrumbs-divider/voa-breadcrumbs-divider.tsx"],"sourcesContent":["/* \r\n * UNSTYLED PATTERN: This file contains ONLY structural CSS (layout, positioning).\r\n * All visual styles (colors, backgrounds, fonts, spacing) must be applied externally\r\n * via CSS Parts API (::part() selectors) using design tokens.\r\n * \r\n * IMPORTANT: NÃO incluir cores, fontes, espaçamentos ou valores hardcoded.\r\n * Apenas estrutura: display, position, flexbox, grid, box-sizing, cursor, etc.\r\n */\r\n\r\n:host {\r\n display: inline-flex;\r\n box-sizing: border-box;\r\n}\r\n\r\n.voa-breadcrumbs-divider {\r\n /* APENAS estilos estruturais */\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n box-sizing: border-box;\r\n}\r\n\r\n.voa-breadcrumbs-divider__icon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n overflow: hidden;\r\n}\r\n\r\n/* Layout para o SVG interno */\r\n.voa-breadcrumbs-divider__icon svg {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n}\r\n\r\n","import { Component, Prop, h, Host } from '@stencil/core';\r\nimport { Icons } from '../../utils/icons';\r\n\r\n/**\r\n * Componente de divisor para breadcrumbs.\r\n * Baseado no design do Figma (node-id: 443-9825).\r\n * \r\n * O componente segue o padrão \"unstyled\" - apenas estrutura e lógica.\r\n * Estilos visuais devem ser aplicados externamente via CSS Parts API usando design tokens.\r\n * \r\n * @part base - O container interno do divisor\r\n * @part icon - O container do ícone SVG\r\n */\r\n@Component({\r\n tag: 'voa-breadcrumbs-divider',\r\n styleUrl: 'voa-breadcrumbs-divider.css',\r\n shadow: true,\r\n scoped: false, // Permite herdar variáveis CSS do contexto pai\r\n})\r\nexport class VoaBreadcrumbsDivider {\r\n /**\r\n * Tipo de ícone a ser exibido como divisor.\r\n * Mapeia as variantes do Figma: chevron, arrow, arrow-alt.\r\n */\r\n @Prop({ reflect: true }) icon: 'chevron' | 'arrow' | 'arrow-alt' = 'chevron';\r\n\r\n private getIconComponent() {\r\n switch (this.icon) {\r\n case 'chevron':\r\n return Icons['chevron-right'];\r\n case 'arrow':\r\n return Icons['arrow-right'];\r\n case 'arrow-alt':\r\n return Icons['arrow-right-alt'];\r\n default:\r\n return Icons['chevron-right'];\r\n }\r\n }\r\n\r\n render() {\r\n const IconComponent = this.getIconComponent();\r\n\r\n return (\r\n <Host\r\n role=\"separator\"\r\n aria-hidden=\"true\"\r\n >\r\n <div\r\n part=\"base\"\r\n class={{\r\n 'voa-breadcrumbs-divider': true,\r\n [`voa-breadcrumbs-divider--${this.icon}`]: true,\r\n }}\r\n >\r\n <span part=\"icon\" class=\"voa-breadcrumbs-divider__icon\">\r\n <IconComponent />\r\n </span>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n\r\n"],"names":["Icons","h","Host"],"mappings":";;;;;AAAA,MAAM,wBAAwB,GAAG,kYAAkY;;MCmBtZ,qBAAqB,GAAA,MAAA;AANlC,IAAA,WAAA,CAAA,OAAA,EAAA;;AAOE;;;AAGG;AACsB,QAAA,IAAI,CAAA,IAAA,GAAsC,SAAS;AAqC7E;IAnCS,gBAAgB,GAAA;AACtB,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAOA,WAAK,CAAC,eAAe,CAAC;AAC/B,YAAA,KAAK,OAAO;AACV,gBAAA,OAAOA,WAAK,CAAC,aAAa,CAAC;AAC7B,YAAA,KAAK,WAAW;AACd,gBAAA,OAAOA,WAAK,CAAC,iBAAiB,CAAC;AACjC,YAAA;AACE,gBAAA,OAAOA,WAAK,CAAC,eAAe,CAAC;;;IAInC,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAE7C,QAAA,QACEC,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,IAAI,EAAC,WAAW,iBACJ,MAAM,EAAA,EAElBD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;AACL,gBAAA,yBAAyB,EAAE,IAAI;AAC/B,gBAAA,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAChD,aAAA,EAAA,EAEDA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,+BAA+B,EAAA,EACrDA,OAAA,CAAC,aAAa,EAAG,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACZ,CACH,CACD;;;;;;;"}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-TzstRlIU.js');
4
+
5
+ const voaBreadcrumbsItemCss = ":host{display:inline-flex;align-items:center}.breadcrumbs-item-wrapper{display:inline-flex;align-items:center}.breadcrumbs-content{display:inline-flex;align-items:center;text-decoration:none;color:inherit;box-sizing:border-box;cursor:pointer}.breadcrumbs-content[aria-current=\"page\"]{cursor:default;pointer-events:none}.breadcrumbs-separator{display:inline-flex;align-items:center;justify-content:center;margin-inline:0;user-select:none}:host(:last-of-type) .breadcrumbs-separator{display:none}.voa-breadcrumbs-item__icon svg{display:block;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);flex-shrink:0}";
6
+
7
+ const VoaBreadcrumbsItem = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ /**
11
+ * Is this the current/active page?
12
+ */
13
+ this.active = false;
14
+ }
15
+ render() {
16
+ // Determine the tag type
17
+ const Tag = this.href && !this.active ? 'a' : 'span';
18
+ // Accessibility: Current page should rely on aria-current
19
+ const ariaCurrent = this.active ? 'page' : undefined;
20
+ return (index.h(index.Host, { key: 'f72dd6b4030693ed8e9b4b965ba3ae02dc957b47' }, index.h("li", { key: '75c354b98c337adb9fdaa7f4a538d45cb4db51fe', class: "breadcrumbs-item-wrapper" }, index.h(Tag, { key: '4dc895812b0facd3fe860e9038aeb4cde310d582', part: "content", class: "breadcrumbs-content", href: this.href, target: this.target, "aria-current": ariaCurrent }, index.h("slot", { key: '9f0886dcf1720ec06e5bdbd0c51f636c6c75f93d' })), index.h("span", { key: '82607218bc31771e6ba480e4259815792a02db3c', part: "separator", class: "breadcrumbs-separator", "aria-hidden": "true" }, index.h("slot", { key: 'b4e36ccdd8c24daa626366e3ec8b9a1f6c0d6e8e', name: "separator" }, index.h("svg", { key: '0740e3781c0a16a2f7de592f7bd6750a17af3dc9', width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, index.h("polyline", { key: '14ba6ed15eccf0e93104bd414e0db239c176be16', points: "9 18 15 12 9 6" })))))));
21
+ }
22
+ get host() { return index.getElement(this); }
23
+ };
24
+ VoaBreadcrumbsItem.style = voaBreadcrumbsItemCss;
25
+
26
+ exports.voa_breadcrumbs_item = VoaBreadcrumbsItem;
27
+ //# sourceMappingURL=voa-breadcrumbs-item.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voa-breadcrumbs-item.entry.cjs.js","sources":["src/components/voa-breadcrumbs-item/voa-breadcrumbs-item.css?tag=voa-breadcrumbs-item&encapsulation=shadow","src/components/voa-breadcrumbs-item/voa-breadcrumbs-item.tsx"],"sourcesContent":["/* \r\n * UNSTYLED PATTERN: This file contains ONLY structural CSS (layout, positioning).\r\n * All visual styles (colors, backgrounds, fonts, spacing) must be applied externally\r\n * via CSS Parts API (::part() selectors) using design tokens.\r\n * \r\n * IMPORTANT: NÃO incluir cores, fontes, espaçamentos ou valores hardcoded.\r\n * Apenas estrutura: display, position, flexbox, grid, box-sizing, cursor, etc.\r\n */\r\n\r\n:host {\r\n display: inline-flex;\r\n align-items: center;\r\n}\r\n\r\n.breadcrumbs-item-wrapper {\r\n display: inline-flex;\r\n align-items: center;\r\n}\r\n\r\n.breadcrumbs-content {\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n color: inherit;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n}\r\n\r\n/* Remove pointer events/cursor for active (current) item */\r\n.breadcrumbs-content[aria-current=\"page\"] {\r\n cursor: default;\r\n pointer-events: none; \r\n}\r\n\r\n.breadcrumbs-separator {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin-inline: 0; /* Spacing handled via CSS Parts */\r\n user-select: none;\r\n}\r\n\r\n/* * CRITICAL: Hide separator on the last item.\r\n * Since we are inside Shadow DOM, :host(:last-child) refers to the \r\n * custom element itself within the parent's light DOM/slot context.\r\n */\r\n:host(:last-of-type) .breadcrumbs-separator {\r\n display: none;\r\n}\r\n\r\n/* Layout para o SVG interno do ícone */\r\n.voa-breadcrumbs-item__icon svg {\r\n display: block;\r\n width: 16px;\r\n height: 16px;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n flex-shrink: 0;\r\n}\r\n\r\n","import { Component, Prop, h, Host, Element } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'voa-breadcrumbs-item',\r\n styleUrl: 'voa-breadcrumbs-item.css',\r\n shadow: true,\r\n})\r\nexport class VoaBreadcrumbsItem {\r\n @Element() host: HTMLElement;\r\n\r\n /**\r\n * HREF destination. If provided, renders an anchor tag.\r\n * If missing, renders a span (current page or static item).\r\n */\r\n @Prop() href?: string;\r\n\r\n /**\r\n * Target for the link (e.g., _blank)\r\n */\r\n @Prop() target?: string;\r\n\r\n /**\r\n * Is this the current/active page?\r\n */\r\n @Prop({ reflect: true }) active: boolean = false;\r\n\r\n render() {\r\n // Determine the tag type\r\n const Tag = this.href && !this.active ? 'a' : 'span';\r\n \r\n // Accessibility: Current page should rely on aria-current\r\n const ariaCurrent = this.active ? 'page' : undefined;\r\n\r\n return (\r\n <Host>\r\n <li class=\"breadcrumbs-item-wrapper\">\r\n \r\n {/* 1. The Content Part */}\r\n <Tag \r\n part=\"content\" \r\n class=\"breadcrumbs-content\"\r\n href={this.href}\r\n target={this.target}\r\n aria-current={ariaCurrent}\r\n >\r\n <slot />\r\n </Tag>\r\n\r\n {/* 2. The Separator Part \r\n We render it always, and hide it via CSS for the last item.\r\n This is much more robust than JS logic.\r\n */}\r\n <span part=\"separator\" class=\"breadcrumbs-separator\" aria-hidden=\"true\">\r\n <slot name=\"separator\">\r\n {/* Default Icon: Chevron Right */}\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polyline points=\"9 18 15 12 9 6\"></polyline>\r\n </svg>\r\n </slot>\r\n </span>\r\n\r\n </li>\r\n </Host>\r\n );\r\n }\r\n}\r\n\r\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,qBAAqB,GAAG,woBAAwoB;;MCOzpB,kBAAkB,GAAA,MAAA;AAL/B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAmBE;;AAEG;AACsB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAyCjD;IAvCC,MAAM,GAAA;;AAEJ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM;;AAGpD,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS;AAEpD,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EAGlCA,OAAC,CAAA,GAAG,qDACF,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EAAA,cAAA,EACL,WAAW,EAAA,EAEzBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,EAMNA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,uBAAuB,iBAAa,MAAM,EAAA,EACpEA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,WAAW,EAAA,EAEpBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,EAC/IA,OAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,MAAM,EAAC,gBAAgB,EAAY,CAAA,CACzC,CACD,CACH,CAEJ,CACA;;;;;;;;"}