@masmarino/gabarit 1.4.0 → 2.1.0

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 (348) hide show
  1. package/README.md +231 -144
  2. package/accordion/README.md +56 -0
  3. package/alert/README.md +87 -0
  4. package/app-shell/README.md +133 -0
  5. package/auth/README.md +155 -0
  6. package/auth-activate/README.md +119 -0
  7. package/auth-login/README.md +113 -0
  8. package/auth-register/README.md +104 -0
  9. package/auth-reset-password/README.md +120 -0
  10. package/autocomplete/README.md +77 -0
  11. package/avatar/README.md +34 -0
  12. package/avatar-group/README.md +47 -0
  13. package/badge/README.md +177 -0
  14. package/bar-chart/README.md +44 -0
  15. package/breadcrumb/README.md +38 -0
  16. package/button/README.md +175 -0
  17. package/card/README.md +179 -0
  18. package/checkbox/README.md +50 -0
  19. package/checkbox-group/README.md +78 -0
  20. package/confirm-danger-modal/README.md +77 -0
  21. package/copy-button/README.md +90 -0
  22. package/copy-field/README.md +54 -0
  23. package/date-picker/README.md +84 -0
  24. package/description-list/README.md +63 -0
  25. package/dimension-card/README.md +39 -0
  26. package/disclosure/README.md +48 -0
  27. package/divider/README.md +31 -0
  28. package/drawer/README.md +49 -0
  29. package/empty-state/README.md +84 -0
  30. package/fesm2022/masmarino-gabarit-accordion.mjs +243 -0
  31. package/fesm2022/masmarino-gabarit-accordion.mjs.map +1 -0
  32. package/fesm2022/masmarino-gabarit-alert.mjs +208 -0
  33. package/fesm2022/masmarino-gabarit-alert.mjs.map +1 -0
  34. package/fesm2022/masmarino-gabarit-app-shell.mjs +378 -0
  35. package/fesm2022/masmarino-gabarit-app-shell.mjs.map +1 -0
  36. package/fesm2022/masmarino-gabarit-auth-activate.mjs +415 -0
  37. package/fesm2022/masmarino-gabarit-auth-activate.mjs.map +1 -0
  38. package/fesm2022/masmarino-gabarit-auth-login.mjs +467 -0
  39. package/fesm2022/masmarino-gabarit-auth-login.mjs.map +1 -0
  40. package/fesm2022/masmarino-gabarit-auth-register.mjs +457 -0
  41. package/fesm2022/masmarino-gabarit-auth-register.mjs.map +1 -0
  42. package/fesm2022/masmarino-gabarit-auth-reset-password.mjs +364 -0
  43. package/fesm2022/masmarino-gabarit-auth-reset-password.mjs.map +1 -0
  44. package/fesm2022/masmarino-gabarit-auth.mjs +844 -0
  45. package/fesm2022/masmarino-gabarit-auth.mjs.map +1 -0
  46. package/fesm2022/masmarino-gabarit-autocomplete.mjs +477 -0
  47. package/fesm2022/masmarino-gabarit-autocomplete.mjs.map +1 -0
  48. package/fesm2022/masmarino-gabarit-avatar-group.mjs +199 -0
  49. package/fesm2022/masmarino-gabarit-avatar-group.mjs.map +1 -0
  50. package/fesm2022/masmarino-gabarit-avatar.mjs +107 -0
  51. package/fesm2022/masmarino-gabarit-avatar.mjs.map +1 -0
  52. package/fesm2022/masmarino-gabarit-badge.mjs +449 -0
  53. package/fesm2022/masmarino-gabarit-badge.mjs.map +1 -0
  54. package/fesm2022/masmarino-gabarit-bar-chart.mjs +408 -0
  55. package/fesm2022/masmarino-gabarit-bar-chart.mjs.map +1 -0
  56. package/fesm2022/masmarino-gabarit-breadcrumb.mjs +59 -0
  57. package/fesm2022/masmarino-gabarit-breadcrumb.mjs.map +1 -0
  58. package/fesm2022/masmarino-gabarit-button.mjs +374 -0
  59. package/fesm2022/masmarino-gabarit-button.mjs.map +1 -0
  60. package/fesm2022/masmarino-gabarit-card.mjs +400 -0
  61. package/fesm2022/masmarino-gabarit-card.mjs.map +1 -0
  62. package/fesm2022/masmarino-gabarit-chart.mjs +1289 -0
  63. package/fesm2022/masmarino-gabarit-chart.mjs.map +1 -0
  64. package/fesm2022/masmarino-gabarit-checkbox-group.mjs +335 -0
  65. package/fesm2022/masmarino-gabarit-checkbox-group.mjs.map +1 -0
  66. package/fesm2022/masmarino-gabarit-checkbox.mjs +170 -0
  67. package/fesm2022/masmarino-gabarit-checkbox.mjs.map +1 -0
  68. package/fesm2022/masmarino-gabarit-confirm-danger-modal.mjs +387 -0
  69. package/fesm2022/masmarino-gabarit-confirm-danger-modal.mjs.map +1 -0
  70. package/fesm2022/masmarino-gabarit-copy-button.mjs +407 -0
  71. package/fesm2022/masmarino-gabarit-copy-button.mjs.map +1 -0
  72. package/fesm2022/masmarino-gabarit-copy-field.mjs +229 -0
  73. package/fesm2022/masmarino-gabarit-copy-field.mjs.map +1 -0
  74. package/fesm2022/masmarino-gabarit-date-picker.mjs +1238 -0
  75. package/fesm2022/masmarino-gabarit-date-picker.mjs.map +1 -0
  76. package/fesm2022/masmarino-gabarit-description-list.mjs +127 -0
  77. package/fesm2022/masmarino-gabarit-description-list.mjs.map +1 -0
  78. package/fesm2022/masmarino-gabarit-dimension-card.mjs +162 -0
  79. package/fesm2022/masmarino-gabarit-dimension-card.mjs.map +1 -0
  80. package/fesm2022/masmarino-gabarit-disclosure.mjs +154 -0
  81. package/fesm2022/masmarino-gabarit-disclosure.mjs.map +1 -0
  82. package/fesm2022/masmarino-gabarit-divider.mjs +90 -0
  83. package/fesm2022/masmarino-gabarit-divider.mjs.map +1 -0
  84. package/fesm2022/masmarino-gabarit-docs.mjs +21 -11
  85. package/fesm2022/masmarino-gabarit-docs.mjs.map +1 -1
  86. package/fesm2022/masmarino-gabarit-drawer.mjs +209 -0
  87. package/fesm2022/masmarino-gabarit-drawer.mjs.map +1 -0
  88. package/fesm2022/masmarino-gabarit-empty-state.mjs +226 -0
  89. package/fesm2022/masmarino-gabarit-empty-state.mjs.map +1 -0
  90. package/fesm2022/masmarino-gabarit-file-upload.mjs +335 -0
  91. package/fesm2022/masmarino-gabarit-file-upload.mjs.map +1 -0
  92. package/fesm2022/masmarino-gabarit-floating-panel.mjs +13 -0
  93. package/fesm2022/masmarino-gabarit-floating-panel.mjs.map +1 -0
  94. package/fesm2022/masmarino-gabarit-format.mjs +345 -0
  95. package/fesm2022/masmarino-gabarit-format.mjs.map +1 -0
  96. package/fesm2022/masmarino-gabarit-funnel-chart.mjs +247 -0
  97. package/fesm2022/masmarino-gabarit-funnel-chart.mjs.map +1 -0
  98. package/fesm2022/masmarino-gabarit-gauge-bar.mjs +180 -0
  99. package/fesm2022/masmarino-gabarit-gauge-bar.mjs.map +1 -0
  100. package/fesm2022/masmarino-gabarit-git-field.mjs +127 -0
  101. package/fesm2022/masmarino-gabarit-git-field.mjs.map +1 -0
  102. package/fesm2022/masmarino-gabarit-icon-marker.mjs +150 -0
  103. package/fesm2022/masmarino-gabarit-icon-marker.mjs.map +1 -0
  104. package/fesm2022/masmarino-gabarit-icon.mjs +308 -0
  105. package/fesm2022/masmarino-gabarit-icon.mjs.map +1 -0
  106. package/fesm2022/masmarino-gabarit-input.mjs +493 -0
  107. package/fesm2022/masmarino-gabarit-input.mjs.map +1 -0
  108. package/fesm2022/masmarino-gabarit-job-graph.mjs +216 -0
  109. package/fesm2022/masmarino-gabarit-job-graph.mjs.map +1 -0
  110. package/fesm2022/masmarino-gabarit-job-status.mjs +104 -0
  111. package/fesm2022/masmarino-gabarit-job-status.mjs.map +1 -0
  112. package/fesm2022/masmarino-gabarit-line-chart.mjs +574 -0
  113. package/fesm2022/masmarino-gabarit-line-chart.mjs.map +1 -0
  114. package/fesm2022/masmarino-gabarit-list-card.mjs +320 -0
  115. package/fesm2022/masmarino-gabarit-list-card.mjs.map +1 -0
  116. package/fesm2022/masmarino-gabarit-list-row.mjs +58 -0
  117. package/fesm2022/masmarino-gabarit-list-row.mjs.map +1 -0
  118. package/fesm2022/masmarino-gabarit-list-toolbar.mjs +369 -0
  119. package/fesm2022/masmarino-gabarit-list-toolbar.mjs.map +1 -0
  120. package/fesm2022/masmarino-gabarit-menu.mjs +461 -0
  121. package/fesm2022/masmarino-gabarit-menu.mjs.map +1 -0
  122. package/fesm2022/masmarino-gabarit-mfa-enrollment.mjs +897 -0
  123. package/fesm2022/masmarino-gabarit-mfa-enrollment.mjs.map +1 -0
  124. package/fesm2022/masmarino-gabarit-mfa-settings.mjs +629 -0
  125. package/fesm2022/masmarino-gabarit-mfa-settings.mjs.map +1 -0
  126. package/fesm2022/masmarino-gabarit-modal.mjs +260 -0
  127. package/fesm2022/masmarino-gabarit-modal.mjs.map +1 -0
  128. package/fesm2022/masmarino-gabarit-nav-tabs.mjs +332 -0
  129. package/fesm2022/masmarino-gabarit-nav-tabs.mjs.map +1 -0
  130. package/fesm2022/masmarino-gabarit-notification-dot.mjs +119 -0
  131. package/fesm2022/masmarino-gabarit-notification-dot.mjs.map +1 -0
  132. package/fesm2022/masmarino-gabarit-page-header.mjs +78 -0
  133. package/fesm2022/masmarino-gabarit-page-header.mjs.map +1 -0
  134. package/fesm2022/masmarino-gabarit-page-layout.mjs +157 -0
  135. package/fesm2022/masmarino-gabarit-page-layout.mjs.map +1 -0
  136. package/fesm2022/masmarino-gabarit-pagination.mjs +415 -0
  137. package/fesm2022/masmarino-gabarit-pagination.mjs.map +1 -0
  138. package/fesm2022/masmarino-gabarit-panel.mjs +80 -0
  139. package/fesm2022/masmarino-gabarit-panel.mjs.map +1 -0
  140. package/fesm2022/masmarino-gabarit-passkey-settings.mjs +606 -0
  141. package/fesm2022/masmarino-gabarit-passkey-settings.mjs.map +1 -0
  142. package/fesm2022/masmarino-gabarit-pie-chart.mjs +317 -0
  143. package/fesm2022/masmarino-gabarit-pie-chart.mjs.map +1 -0
  144. package/fesm2022/masmarino-gabarit-popover.mjs +139 -0
  145. package/fesm2022/masmarino-gabarit-popover.mjs.map +1 -0
  146. package/fesm2022/masmarino-gabarit-radio-group.mjs +202 -0
  147. package/fesm2022/masmarino-gabarit-radio-group.mjs.map +1 -0
  148. package/fesm2022/masmarino-gabarit-save-status.mjs +142 -0
  149. package/fesm2022/masmarino-gabarit-save-status.mjs.map +1 -0
  150. package/fesm2022/masmarino-gabarit-search-bar.mjs +576 -0
  151. package/fesm2022/masmarino-gabarit-search-bar.mjs.map +1 -0
  152. package/fesm2022/masmarino-gabarit-secret-reveal.mjs +348 -0
  153. package/fesm2022/masmarino-gabarit-secret-reveal.mjs.map +1 -0
  154. package/fesm2022/masmarino-gabarit-segmented-control.mjs +272 -0
  155. package/fesm2022/masmarino-gabarit-segmented-control.mjs.map +1 -0
  156. package/fesm2022/masmarino-gabarit-select.mjs +510 -0
  157. package/fesm2022/masmarino-gabarit-select.mjs.map +1 -0
  158. package/fesm2022/masmarino-gabarit-skeleton-list.mjs +189 -0
  159. package/fesm2022/masmarino-gabarit-skeleton-list.mjs.map +1 -0
  160. package/fesm2022/masmarino-gabarit-skeleton.mjs +109 -0
  161. package/fesm2022/masmarino-gabarit-skeleton.mjs.map +1 -0
  162. package/fesm2022/masmarino-gabarit-slider.mjs +239 -0
  163. package/fesm2022/masmarino-gabarit-slider.mjs.map +1 -0
  164. package/fesm2022/masmarino-gabarit-sparkline.mjs +276 -0
  165. package/fesm2022/masmarino-gabarit-sparkline.mjs.map +1 -0
  166. package/fesm2022/masmarino-gabarit-spinner.mjs +86 -0
  167. package/fesm2022/masmarino-gabarit-spinner.mjs.map +1 -0
  168. package/fesm2022/masmarino-gabarit-stat-grid.mjs +139 -0
  169. package/fesm2022/masmarino-gabarit-stat-grid.mjs.map +1 -0
  170. package/fesm2022/masmarino-gabarit-stat-tile.mjs +312 -0
  171. package/fesm2022/masmarino-gabarit-stat-tile.mjs.map +1 -0
  172. package/fesm2022/masmarino-gabarit-stepper.mjs +219 -0
  173. package/fesm2022/masmarino-gabarit-stepper.mjs.map +1 -0
  174. package/fesm2022/masmarino-gabarit-switch.mjs +151 -0
  175. package/fesm2022/masmarino-gabarit-switch.mjs.map +1 -0
  176. package/fesm2022/masmarino-gabarit-table.mjs +206 -0
  177. package/fesm2022/masmarino-gabarit-table.mjs.map +1 -0
  178. package/fesm2022/masmarino-gabarit-tabs.mjs +210 -0
  179. package/fesm2022/masmarino-gabarit-tabs.mjs.map +1 -0
  180. package/fesm2022/masmarino-gabarit-tag-input.mjs +288 -0
  181. package/fesm2022/masmarino-gabarit-tag-input.mjs.map +1 -0
  182. package/fesm2022/masmarino-gabarit-tag.mjs +155 -0
  183. package/fesm2022/masmarino-gabarit-tag.mjs.map +1 -0
  184. package/fesm2022/masmarino-gabarit-textarea.mjs +369 -0
  185. package/fesm2022/masmarino-gabarit-textarea.mjs.map +1 -0
  186. package/fesm2022/masmarino-gabarit-timeline-chart.mjs +521 -0
  187. package/fesm2022/masmarino-gabarit-timeline-chart.mjs.map +1 -0
  188. package/fesm2022/masmarino-gabarit-toaster.mjs +220 -0
  189. package/fesm2022/masmarino-gabarit-toaster.mjs.map +1 -0
  190. package/fesm2022/masmarino-gabarit-tooltip.mjs +182 -0
  191. package/fesm2022/masmarino-gabarit-tooltip.mjs.map +1 -0
  192. package/fesm2022/masmarino-gabarit-tree.mjs +258 -0
  193. package/fesm2022/masmarino-gabarit-tree.mjs.map +1 -0
  194. package/fesm2022/masmarino-gabarit-user-chip.mjs +106 -0
  195. package/fesm2022/masmarino-gabarit-user-chip.mjs.map +1 -0
  196. package/fesm2022/masmarino-gabarit.mjs +83 -24785
  197. package/fesm2022/masmarino-gabarit.mjs.map +1 -1
  198. package/file-upload/README.md +47 -0
  199. package/fonts/OFL-ibm-plex.txt +93 -0
  200. package/fonts/ibm-plex-mono-400.woff2 +0 -0
  201. package/fonts/ibm-plex-mono-500.woff2 +0 -0
  202. package/fonts/ibm-plex-sans-400.woff2 +0 -0
  203. package/fonts/ibm-plex-sans-500.woff2 +0 -0
  204. package/fonts/ibm-plex-sans-600.woff2 +0 -0
  205. package/fonts/ibm-plex-sans-condensed-600.woff2 +0 -0
  206. package/fonts/index.scss +28 -0
  207. package/funnel-chart/README.md +39 -0
  208. package/gauge-bar/README.md +35 -0
  209. package/git-field/README.md +34 -0
  210. package/icon/README.md +52 -0
  211. package/icon-marker/README.md +37 -0
  212. package/input/README.md +120 -0
  213. package/job-graph/README.md +76 -0
  214. package/job-status/README.md +34 -0
  215. package/line-chart/README.md +52 -0
  216. package/list-card/README.md +144 -0
  217. package/list-row/README.md +72 -0
  218. package/list-toolbar/README.md +52 -0
  219. package/menu/README.md +90 -0
  220. package/mfa-enrollment/README.md +189 -0
  221. package/mfa-settings/README.md +154 -0
  222. package/modal/README.md +72 -0
  223. package/nav-tabs/README.md +106 -0
  224. package/notification-dot/README.md +43 -0
  225. package/package.json +335 -1
  226. package/page-header/README.md +56 -0
  227. package/page-layout/README.md +76 -0
  228. package/pagination/README.md +73 -0
  229. package/panel/README.md +56 -0
  230. package/passkey-settings/README.md +120 -0
  231. package/pie-chart/README.md +85 -0
  232. package/popover/README.md +62 -0
  233. package/radio-group/README.md +47 -0
  234. package/save-status/README.md +44 -0
  235. package/search-bar/README.md +84 -0
  236. package/secret-reveal/README.md +60 -0
  237. package/segmented-control/README.md +79 -0
  238. package/select/README.md +61 -0
  239. package/skeleton/README.md +49 -0
  240. package/skeleton-list/README.md +40 -0
  241. package/slider/README.md +44 -0
  242. package/sparkline/README.md +37 -0
  243. package/spinner/README.md +41 -0
  244. package/src/lib/tokens/_a11y.scss +22 -0
  245. package/src/lib/tokens/_base.scss +31 -0
  246. package/src/lib/tokens/_palette.scss +52 -51
  247. package/src/lib/tokens/_semantic.scss +17 -124
  248. package/src/lib/tokens/_themes.scss +144 -0
  249. package/src/lib/tokens/_utilities.scss +10 -10
  250. package/src/lib/tokens/index.scss +3 -0
  251. package/stat-grid/README.md +47 -0
  252. package/stat-tile/README.md +75 -0
  253. package/stepper/README.md +67 -0
  254. package/switch/README.md +51 -0
  255. package/table/README.md +75 -0
  256. package/tabs/README.md +34 -0
  257. package/tag/README.md +34 -0
  258. package/tag-input/README.md +45 -0
  259. package/textarea/README.md +76 -0
  260. package/timeline-chart/README.md +49 -0
  261. package/toaster/README.md +92 -0
  262. package/tooltip/README.md +50 -0
  263. package/tree/README.md +79 -0
  264. package/types/masmarino-gabarit-accordion.d.ts +54 -0
  265. package/types/masmarino-gabarit-alert.d.ts +65 -0
  266. package/types/masmarino-gabarit-app-shell.d.ts +102 -0
  267. package/types/masmarino-gabarit-auth-activate.d.ts +70 -0
  268. package/types/masmarino-gabarit-auth-login.d.ts +63 -0
  269. package/types/masmarino-gabarit-auth-register.d.ts +66 -0
  270. package/types/masmarino-gabarit-auth-reset-password.d.ts +53 -0
  271. package/types/masmarino-gabarit-auth.d.ts +543 -0
  272. package/types/masmarino-gabarit-autocomplete.d.ts +139 -0
  273. package/types/masmarino-gabarit-avatar-group.d.ts +59 -0
  274. package/types/masmarino-gabarit-avatar.d.ts +31 -0
  275. package/types/masmarino-gabarit-badge.d.ts +139 -0
  276. package/types/masmarino-gabarit-bar-chart.d.ts +111 -0
  277. package/types/masmarino-gabarit-breadcrumb.d.ts +12 -0
  278. package/types/masmarino-gabarit-button.d.ts +108 -0
  279. package/types/masmarino-gabarit-card.d.ts +102 -0
  280. package/types/masmarino-gabarit-chart.d.ts +361 -0
  281. package/types/masmarino-gabarit-checkbox-group.d.ts +113 -0
  282. package/types/masmarino-gabarit-checkbox.d.ts +49 -0
  283. package/types/masmarino-gabarit-confirm-danger-modal.d.ts +94 -0
  284. package/types/masmarino-gabarit-copy-button.d.ts +111 -0
  285. package/types/masmarino-gabarit-copy-field.d.ts +64 -0
  286. package/types/masmarino-gabarit-date-picker.d.ts +397 -0
  287. package/types/masmarino-gabarit-description-list.d.ts +40 -0
  288. package/types/masmarino-gabarit-dimension-card.d.ts +55 -0
  289. package/types/masmarino-gabarit-disclosure.d.ts +44 -0
  290. package/types/masmarino-gabarit-divider.d.ts +20 -0
  291. package/types/masmarino-gabarit-docs.d.ts +20 -59
  292. package/types/masmarino-gabarit-drawer.d.ts +51 -0
  293. package/types/masmarino-gabarit-empty-state.d.ts +67 -0
  294. package/types/masmarino-gabarit-file-upload.d.ts +95 -0
  295. package/types/masmarino-gabarit-floating-panel.d.ts +7 -0
  296. package/types/masmarino-gabarit-format.d.ts +54 -0
  297. package/types/masmarino-gabarit-funnel-chart.d.ts +78 -0
  298. package/types/masmarino-gabarit-gauge-bar.d.ts +54 -0
  299. package/types/masmarino-gabarit-git-field.d.ts +39 -0
  300. package/types/masmarino-gabarit-icon-marker.d.ts +47 -0
  301. package/types/masmarino-gabarit-icon.d.ts +23 -0
  302. package/types/masmarino-gabarit-input.d.ts +181 -0
  303. package/types/masmarino-gabarit-job-graph.d.ts +63 -0
  304. package/types/masmarino-gabarit-job-status.d.ts +20 -0
  305. package/types/masmarino-gabarit-line-chart.d.ts +153 -0
  306. package/types/masmarino-gabarit-list-card.d.ts +87 -0
  307. package/types/masmarino-gabarit-list-row.d.ts +14 -0
  308. package/types/masmarino-gabarit-list-toolbar.d.ts +100 -0
  309. package/types/masmarino-gabarit-menu.d.ts +92 -0
  310. package/types/masmarino-gabarit-mfa-enrollment.d.ts +142 -0
  311. package/types/masmarino-gabarit-mfa-settings.d.ts +89 -0
  312. package/types/masmarino-gabarit-modal.d.ts +60 -0
  313. package/types/masmarino-gabarit-nav-tabs.d.ts +65 -0
  314. package/types/masmarino-gabarit-notification-dot.d.ts +34 -0
  315. package/types/masmarino-gabarit-page-header.d.ts +20 -0
  316. package/types/masmarino-gabarit-page-layout.d.ts +46 -0
  317. package/types/masmarino-gabarit-pagination.d.ts +109 -0
  318. package/types/masmarino-gabarit-panel.d.ts +21 -0
  319. package/types/masmarino-gabarit-passkey-settings.d.ts +94 -0
  320. package/types/masmarino-gabarit-pie-chart.d.ts +94 -0
  321. package/types/masmarino-gabarit-popover.d.ts +32 -0
  322. package/types/masmarino-gabarit-radio-group.d.ts +66 -0
  323. package/types/masmarino-gabarit-save-status.d.ts +39 -0
  324. package/types/masmarino-gabarit-search-bar.d.ts +183 -0
  325. package/types/masmarino-gabarit-secret-reveal.d.ts +95 -0
  326. package/types/masmarino-gabarit-segmented-control.d.ts +76 -0
  327. package/types/masmarino-gabarit-select.d.ts +145 -0
  328. package/types/masmarino-gabarit-skeleton-list.d.ts +54 -0
  329. package/types/masmarino-gabarit-skeleton.d.ts +26 -0
  330. package/types/masmarino-gabarit-slider.d.ts +73 -0
  331. package/types/masmarino-gabarit-sparkline.d.ts +70 -0
  332. package/types/masmarino-gabarit-spinner.d.ts +20 -0
  333. package/types/masmarino-gabarit-stat-grid.d.ts +39 -0
  334. package/types/masmarino-gabarit-stat-tile.d.ts +79 -0
  335. package/types/masmarino-gabarit-stepper.d.ts +67 -0
  336. package/types/masmarino-gabarit-switch.d.ts +42 -0
  337. package/types/masmarino-gabarit-table.d.ts +60 -0
  338. package/types/masmarino-gabarit-tabs.d.ts +40 -0
  339. package/types/masmarino-gabarit-tag-input.d.ts +78 -0
  340. package/types/masmarino-gabarit-tag.d.ts +35 -0
  341. package/types/masmarino-gabarit-textarea.d.ts +109 -0
  342. package/types/masmarino-gabarit-timeline-chart.d.ts +145 -0
  343. package/types/masmarino-gabarit-toaster.d.ts +62 -0
  344. package/types/masmarino-gabarit-tooltip.d.ts +38 -0
  345. package/types/masmarino-gabarit-tree.d.ts +71 -0
  346. package/types/masmarino-gabarit-user-chip.d.ts +26 -0
  347. package/types/masmarino-gabarit.d.ts +83 -6605
  348. package/user-chip/README.md +42 -0
@@ -0,0 +1,332 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, DestroyRef, InjectionToken, afterEveryRender, afterRenderEffect, booleanAttribute, computed, contentChildren, inject, input, signal, viewChild } from "@angular/core";
3
+ import { Icon } from "@masmarino/gabarit/icon";
4
+ import { NgTemplateOutlet } from "@angular/common";
5
+ const GBT_NAV_TABS = new InjectionToken("GBT_NAV_TABS");
6
+ var NavTab = class NavTab {
7
+ active = input(false, {
8
+ ...ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {},
9
+ transform: booleanAttribute
10
+ });
11
+ icon = input(null, ...ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []);
12
+ badge = input(null, ...ngDevMode ? [{ debugName: "badge" }] : /* istanbul ignore next */ []);
13
+ nav = inject(GBT_NAV_TABS, { optional: true });
14
+ label = viewChild("label", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
15
+ orientation = computed(() => this.nav?.orientation() ?? "horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
16
+ hasBadge = computed(() => {
17
+ const badge = this.badge();
18
+ return badge !== null && badge !== void 0 && badge !== "";
19
+ }, ...ngDevMode ? [{ debugName: "hasBadge" }] : /* istanbul ignore next */ []);
20
+ constructor() {
21
+ afterEveryRender({ write: () => {
22
+ const label = this.label()?.nativeElement;
23
+ const text = label?.textContent?.trim() ?? "";
24
+ if (label && label.getAttribute("data-label") !== text) label.setAttribute("data-label", text);
25
+ } });
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({
28
+ minVersion: "12.0.0",
29
+ version: "22.2.0",
30
+ ngImport: i0,
31
+ type: NavTab,
32
+ deps: [],
33
+ target: i0.ɵɵFactoryTarget.Component
34
+ });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({
36
+ minVersion: "17.0.0",
37
+ version: "22.2.0",
38
+ type: NavTab,
39
+ isStandalone: true,
40
+ selector: "a[gbtNavTab]",
41
+ inputs: {
42
+ active: {
43
+ classPropertyName: "active",
44
+ publicName: "active",
45
+ isSignal: true,
46
+ isRequired: false,
47
+ transformFunction: null
48
+ },
49
+ icon: {
50
+ classPropertyName: "icon",
51
+ publicName: "icon",
52
+ isSignal: true,
53
+ isRequired: false,
54
+ transformFunction: null
55
+ },
56
+ badge: {
57
+ classPropertyName: "badge",
58
+ publicName: "badge",
59
+ isSignal: true,
60
+ isRequired: false,
61
+ transformFunction: null
62
+ }
63
+ },
64
+ host: {
65
+ properties: {
66
+ "attr.aria-current": "active() ? \"page\" : null",
67
+ "attr.data-active": "active() ? \"\" : null",
68
+ "attr.data-orientation": "orientation()"
69
+ },
70
+ classAttribute: "gbt-nav-tab"
71
+ },
72
+ viewQueries: [{
73
+ propertyName: "label",
74
+ first: true,
75
+ predicate: ["label"],
76
+ descendants: true,
77
+ isSignal: true
78
+ }],
79
+ ngImport: i0,
80
+ template: "@if (icon(); as name) {\n <gbt-icon class=\"gbt-nav-tab__icon\" [name]=\"name\" />\n}\n<span #label class=\"gbt-nav-tab__label\"><ng-content /></span>\n@if (hasBadge()) {\n &ngsp;<span class=\"gbt-nav-tab__badge\">{{ badge() }}</span>\n}\n",
81
+ styles: [":host{position:relative;display:flex;align-items:center;gap:.625rem;min-width:0;box-sizing:border-box;color:var(--text-secondary);font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color var(--site-transition-fast),border-color var(--site-transition-fast),color var(--site-transition-fast)}:host(:hover){color:var(--text-primary)}:host(:focus-visible){outline:2px solid var(--gbt-focus-ring, var(--focus-ring));outline-offset:-2px}.gbt-nav-tab__icon{width:1rem;height:1rem;color:var(--text-secondary);transition:color var(--site-transition-fast)}:host(:hover) .gbt-nav-tab__icon{color:var(--text-primary)}:host([data-active]) .gbt-nav-tab__icon{color:var(--primary)}.gbt-nav-tab__label{min-width:0}.gbt-nav-tab__badge{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:var(--gbt-radius-badge, 3px);background:color-mix(in srgb,var(--border-color) 14%,transparent);box-shadow:inset 0 0 0 1px var(--gbt-hairline);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}:host([data-active]) .gbt-nav-tab__badge{background:var(--primary);box-shadow:none;color:var(--text-on-primary)}:host([data-orientation=vertical]){flex:none;min-height:36px;padding:.4375rem .75rem;border-radius:var(--site-border-radius-sm);border-bottom:0;white-space:normal}:host([data-orientation=vertical]:hover){background:var(--bg-hover)}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:1;overflow-wrap:anywhere}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:\"\";position:absolute;top:50%;left:0;width:3px;height:1.125rem;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}:host([data-orientation=horizontal]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=horizontal]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=horizontal]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=horizontal]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=horizontal]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=horizontal][data-active]),:host([data-orientation=horizontal][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=horizontal][data-active]):before{content:none}@container gbt-page-layout (max-width: 768px){:host([data-orientation=vertical]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=vertical]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=vertical]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=vertical]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:none}}@media(pointer:coarse){:host([data-orientation=vertical]),:host([data-orientation=horizontal]){min-height:44px}}@media(prefers-reduced-motion:reduce){:host,.gbt-nav-tab__icon{transition:none}}\n"],
82
+ dependencies: [{
83
+ kind: "component",
84
+ type: Icon,
85
+ selector: "gbt-icon",
86
+ inputs: ["name"]
87
+ }],
88
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
89
+ });
90
+ };
91
+ i0.ɵɵngDeclareClassMetadata({
92
+ minVersion: "12.0.0",
93
+ version: "22.2.0",
94
+ ngImport: i0,
95
+ type: NavTab,
96
+ decorators: [{
97
+ type: Component,
98
+ args: [{
99
+ selector: "a[gbtNavTab]",
100
+ standalone: true,
101
+ imports: [Icon],
102
+ changeDetection: ChangeDetectionStrategy.OnPush,
103
+ host: {
104
+ class: "gbt-nav-tab",
105
+ "[attr.aria-current]": "active() ? \"page\" : null",
106
+ "[attr.data-active]": "active() ? \"\" : null",
107
+ "[attr.data-orientation]": "orientation()"
108
+ },
109
+ template: "@if (icon(); as name) {\n <gbt-icon class=\"gbt-nav-tab__icon\" [name]=\"name\" />\n}\n<span #label class=\"gbt-nav-tab__label\"><ng-content /></span>\n@if (hasBadge()) {\n &ngsp;<span class=\"gbt-nav-tab__badge\">{{ badge() }}</span>\n}\n",
110
+ styles: [":host{position:relative;display:flex;align-items:center;gap:.625rem;min-width:0;box-sizing:border-box;color:var(--text-secondary);font-size:.875rem;line-height:1.4;text-decoration:none;transition:background-color var(--site-transition-fast),border-color var(--site-transition-fast),color var(--site-transition-fast)}:host(:hover){color:var(--text-primary)}:host(:focus-visible){outline:2px solid var(--gbt-focus-ring, var(--focus-ring));outline-offset:-2px}.gbt-nav-tab__icon{width:1rem;height:1rem;color:var(--text-secondary);transition:color var(--site-transition-fast)}:host(:hover) .gbt-nav-tab__icon{color:var(--text-primary)}:host([data-active]) .gbt-nav-tab__icon{color:var(--primary)}.gbt-nav-tab__label{min-width:0}.gbt-nav-tab__badge{flex:none;min-width:1.25rem;box-sizing:border-box;padding:0 .375rem;border-radius:var(--gbt-radius-badge, 3px);background:color-mix(in srgb,var(--border-color) 14%,transparent);box-shadow:inset 0 0 0 1px var(--gbt-hairline);color:var(--text-primary);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25rem;text-align:center}:host([data-active]) .gbt-nav-tab__badge{background:var(--primary);box-shadow:none;color:var(--text-on-primary)}:host([data-orientation=vertical]){flex:none;min-height:36px;padding:.4375rem .75rem;border-radius:var(--site-border-radius-sm);border-bottom:0;white-space:normal}:host([data-orientation=vertical]:hover){background:var(--bg-hover)}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:1;overflow-wrap:anywhere}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:\"\";position:absolute;top:50%;left:0;width:3px;height:1.125rem;border-radius:0 3px 3px 0;background:var(--primary);transform:translateY(-50%)}:host([data-orientation=horizontal]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=horizontal]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=horizontal]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=horizontal]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=horizontal]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=horizontal][data-active]),:host([data-orientation=horizontal][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=horizontal][data-active]):before{content:none}@container gbt-page-layout (max-width: 768px){:host([data-orientation=vertical]){flex:none;gap:.5rem;min-height:40px;padding:.5rem .75rem;border-radius:0;border-bottom:2px solid transparent;background:none;font-weight:500;white-space:nowrap}:host([data-orientation=vertical]:hover){border-bottom-color:var(--gbt-card-border);background:none}:host([data-orientation=vertical]:focus-visible){border-radius:var(--site-border-radius-sm) var(--site-border-radius-sm) 0 0}:host([data-orientation=vertical]) .gbt-nav-tab__label{flex:none;display:inline-flex;flex-direction:column;overflow-wrap:normal}:host([data-orientation=vertical]) .gbt-nav-tab__label:after{content:attr(data-label);content:attr(data-label)/\"\";height:0;overflow:hidden;font-weight:600;visibility:hidden}:host([data-orientation=vertical][data-active]),:host([data-orientation=vertical][data-active]:hover){border-bottom-color:var(--primary);background:none;color:var(--text-primary);font-weight:600}:host([data-orientation=vertical][data-active]):before{content:none}}@media(pointer:coarse){:host([data-orientation=vertical]),:host([data-orientation=horizontal]){min-height:44px}}@media(prefers-reduced-motion:reduce){:host,.gbt-nav-tab__icon{transition:none}}\n"]
111
+ }]
112
+ }],
113
+ ctorParameters: () => [],
114
+ propDecorators: {
115
+ active: [{
116
+ type: i0.Input,
117
+ args: [{
118
+ isSignal: true,
119
+ alias: "active",
120
+ required: false
121
+ }]
122
+ }],
123
+ icon: [{
124
+ type: i0.Input,
125
+ args: [{
126
+ isSignal: true,
127
+ alias: "icon",
128
+ required: false
129
+ }]
130
+ }],
131
+ badge: [{
132
+ type: i0.Input,
133
+ args: [{
134
+ isSignal: true,
135
+ alias: "badge",
136
+ required: false
137
+ }]
138
+ }],
139
+ label: [{
140
+ type: i0.ViewChild,
141
+ args: ["label", { isSignal: true }]
142
+ }]
143
+ }
144
+ });
145
+ var NavTabs = class NavTabs {
146
+ ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
147
+ orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
148
+ landmark = input(true, {
149
+ ...ngDevMode ? { debugName: "landmark" } : /* istanbul ignore next */ {},
150
+ transform: booleanAttribute
151
+ });
152
+ list = viewChild("list", ...ngDevMode ? [{ debugName: "list" }] : /* istanbul ignore next */ []);
153
+ tabs = contentChildren(NavTab, {
154
+ ...ngDevMode ? { debugName: "tabs" } : /* istanbul ignore next */ {},
155
+ descendants: true
156
+ });
157
+ hiddenBefore = signal(false, ...ngDevMode ? [{ debugName: "hiddenBefore" }] : /* istanbul ignore next */ []);
158
+ hiddenAfter = signal(false, ...ngDevMode ? [{ debugName: "hiddenAfter" }] : /* istanbul ignore next */ []);
159
+ updateOverflow() {
160
+ const list = this.list()?.nativeElement;
161
+ if (!list) return;
162
+ const hidden = list.scrollWidth - list.clientWidth;
163
+ this.hiddenBefore.set(hidden > 1 && list.scrollLeft > 1);
164
+ this.hiddenAfter.set(hidden > 1 && list.scrollLeft < hidden - 1);
165
+ }
166
+ constructor() {
167
+ afterRenderEffect({ write: () => {
168
+ this.tabs().forEach((tab) => tab.active());
169
+ const list = this.list()?.nativeElement;
170
+ if (!list) return;
171
+ const active = list.querySelector("[aria-current=\"page\"]");
172
+ if (active && list.scrollWidth > list.clientWidth) {
173
+ const start = active.offsetLeft;
174
+ const end = start + active.offsetWidth;
175
+ const glimpse = 40;
176
+ if (start - glimpse < list.scrollLeft) list.scrollLeft = Math.max(0, start - glimpse);
177
+ else if (end + glimpse > list.scrollLeft + list.clientWidth) list.scrollLeft = end + glimpse - list.clientWidth;
178
+ }
179
+ this.updateOverflow();
180
+ } });
181
+ if (typeof ResizeObserver !== "undefined") {
182
+ const observer = new ResizeObserver(() => this.updateOverflow());
183
+ const observed = /* @__PURE__ */ new Set();
184
+ afterRenderEffect({ write: () => {
185
+ this.tabs();
186
+ const list = this.list()?.nativeElement;
187
+ if (!list) return;
188
+ const wanted = /* @__PURE__ */ new Set([list, ...Array.from(list.children)]);
189
+ for (const element of observed) if (!wanted.has(element)) {
190
+ observer.unobserve(element);
191
+ observed.delete(element);
192
+ }
193
+ for (const element of wanted) if (!observed.has(element)) {
194
+ observer.observe(element);
195
+ observed.add(element);
196
+ }
197
+ } });
198
+ inject(DestroyRef).onDestroy(() => observer.disconnect());
199
+ }
200
+ }
201
+ static ɵfac = i0.ɵɵngDeclareFactory({
202
+ minVersion: "12.0.0",
203
+ version: "22.2.0",
204
+ ngImport: i0,
205
+ type: NavTabs,
206
+ deps: [],
207
+ target: i0.ɵɵFactoryTarget.Component
208
+ });
209
+ static ɵcmp = i0.ɵɵngDeclareComponent({
210
+ minVersion: "17.0.0",
211
+ version: "22.2.0",
212
+ type: NavTabs,
213
+ isStandalone: true,
214
+ selector: "gbt-nav-tabs",
215
+ inputs: {
216
+ ariaLabel: {
217
+ classPropertyName: "ariaLabel",
218
+ publicName: "ariaLabel",
219
+ isSignal: true,
220
+ isRequired: false,
221
+ transformFunction: null
222
+ },
223
+ orientation: {
224
+ classPropertyName: "orientation",
225
+ publicName: "orientation",
226
+ isSignal: true,
227
+ isRequired: false,
228
+ transformFunction: null
229
+ },
230
+ landmark: {
231
+ classPropertyName: "landmark",
232
+ publicName: "landmark",
233
+ isSignal: true,
234
+ isRequired: false,
235
+ transformFunction: null
236
+ }
237
+ },
238
+ providers: [{
239
+ provide: GBT_NAV_TABS,
240
+ useExisting: NavTabs
241
+ }],
242
+ queries: [{
243
+ propertyName: "tabs",
244
+ predicate: NavTab,
245
+ descendants: true,
246
+ isSignal: true
247
+ }],
248
+ viewQueries: [{
249
+ propertyName: "list",
250
+ first: true,
251
+ predicate: ["list"],
252
+ descendants: true,
253
+ isSignal: true
254
+ }],
255
+ ngImport: i0,
256
+ template: "@if (landmark()) {\n <nav\n class=\"gbt-nav-tabs\"\n [attr.data-orientation]=\"orientation()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n <ng-container [ngTemplateOutlet]=\"links\" />\n </nav>\n} @else {\n <div class=\"gbt-nav-tabs\" [attr.data-orientation]=\"orientation()\">\n <ng-container [ngTemplateOutlet]=\"links\" />\n </div>\n}\n\n<ng-template #links>\n <div\n #list\n class=\"gbt-nav-tabs__list\"\n [attr.data-hidden-before]=\"hiddenBefore() ? '' : null\"\n [attr.data-hidden-after]=\"hiddenAfter() ? '' : null\"\n (scroll)=\"updateOverflow()\"\n >\n <ng-content />\n </div>\n</ng-template>\n",
257
+ styles: [":host{display:block;min-width:0}.gbt-nav-tabs{min-width:0}.gbt-nav-tabs__list{position:relative;display:flex;margin:0;padding:0}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list{flex-direction:column;gap:2px}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list{flex-direction:row;gap:.25rem;overflow-x:auto;box-shadow:inset 0 -1px 0 var(--gbt-hairline);scrollbar-width:none}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list[data-hidden-before]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem);mask-image:linear-gradient(to right,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list[data-hidden-after]{-webkit-mask-image:linear-gradient(to left,transparent,#000 2.5rem);mask-image:linear-gradient(to left,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list[data-hidden-before][data-hidden-after]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}@container gbt-page-layout (max-width: 768px){.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list{flex-direction:row;gap:.25rem;overflow-x:auto;box-shadow:inset 0 -1px 0 var(--gbt-hairline);scrollbar-width:none}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list[data-hidden-before]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem);mask-image:linear-gradient(to right,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list[data-hidden-after]{-webkit-mask-image:linear-gradient(to left,transparent,#000 2.5rem);mask-image:linear-gradient(to left,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list[data-hidden-before][data-hidden-after]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}}\n"],
258
+ dependencies: [{
259
+ kind: "directive",
260
+ type: NgTemplateOutlet,
261
+ selector: "[ngTemplateOutlet]",
262
+ inputs: [
263
+ "ngTemplateOutletContext",
264
+ "ngTemplateOutlet",
265
+ "ngTemplateOutletInjector"
266
+ ]
267
+ }],
268
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
269
+ });
270
+ };
271
+ i0.ɵɵngDeclareClassMetadata({
272
+ minVersion: "12.0.0",
273
+ version: "22.2.0",
274
+ ngImport: i0,
275
+ type: NavTabs,
276
+ decorators: [{
277
+ type: Component,
278
+ args: [{
279
+ selector: "gbt-nav-tabs",
280
+ standalone: true,
281
+ imports: [NgTemplateOutlet],
282
+ changeDetection: ChangeDetectionStrategy.OnPush,
283
+ providers: [{
284
+ provide: GBT_NAV_TABS,
285
+ useExisting: NavTabs
286
+ }],
287
+ template: "@if (landmark()) {\n <nav\n class=\"gbt-nav-tabs\"\n [attr.data-orientation]=\"orientation()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n <ng-container [ngTemplateOutlet]=\"links\" />\n </nav>\n} @else {\n <div class=\"gbt-nav-tabs\" [attr.data-orientation]=\"orientation()\">\n <ng-container [ngTemplateOutlet]=\"links\" />\n </div>\n}\n\n<ng-template #links>\n <div\n #list\n class=\"gbt-nav-tabs__list\"\n [attr.data-hidden-before]=\"hiddenBefore() ? '' : null\"\n [attr.data-hidden-after]=\"hiddenAfter() ? '' : null\"\n (scroll)=\"updateOverflow()\"\n >\n <ng-content />\n </div>\n</ng-template>\n",
288
+ styles: [":host{display:block;min-width:0}.gbt-nav-tabs{min-width:0}.gbt-nav-tabs__list{position:relative;display:flex;margin:0;padding:0}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list{flex-direction:column;gap:2px}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list{flex-direction:row;gap:.25rem;overflow-x:auto;box-shadow:inset 0 -1px 0 var(--gbt-hairline);scrollbar-width:none}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list[data-hidden-before]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem);mask-image:linear-gradient(to right,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list[data-hidden-after]{-webkit-mask-image:linear-gradient(to left,transparent,#000 2.5rem);mask-image:linear-gradient(to left,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=horizontal] .gbt-nav-tabs__list[data-hidden-before][data-hidden-after]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}@container gbt-page-layout (max-width: 768px){.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list{flex-direction:row;gap:.25rem;overflow-x:auto;box-shadow:inset 0 -1px 0 var(--gbt-hairline);scrollbar-width:none}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list[data-hidden-before]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem);mask-image:linear-gradient(to right,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list[data-hidden-after]{-webkit-mask-image:linear-gradient(to left,transparent,#000 2.5rem);mask-image:linear-gradient(to left,transparent,#000 2.5rem)}.gbt-nav-tabs[data-orientation=vertical] .gbt-nav-tabs__list[data-hidden-before][data-hidden-after]{-webkit-mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(to right,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}}\n"]
289
+ }]
290
+ }],
291
+ ctorParameters: () => [],
292
+ propDecorators: {
293
+ ariaLabel: [{
294
+ type: i0.Input,
295
+ args: [{
296
+ isSignal: true,
297
+ alias: "ariaLabel",
298
+ required: false
299
+ }]
300
+ }],
301
+ orientation: [{
302
+ type: i0.Input,
303
+ args: [{
304
+ isSignal: true,
305
+ alias: "orientation",
306
+ required: false
307
+ }]
308
+ }],
309
+ landmark: [{
310
+ type: i0.Input,
311
+ args: [{
312
+ isSignal: true,
313
+ alias: "landmark",
314
+ required: false
315
+ }]
316
+ }],
317
+ list: [{
318
+ type: i0.ViewChild,
319
+ args: ["list", { isSignal: true }]
320
+ }],
321
+ tabs: [{
322
+ type: i0.ContentChildren,
323
+ args: [i0.forwardRef(() => NavTab), {
324
+ descendants: true,
325
+ isSignal: true
326
+ }]
327
+ }]
328
+ }
329
+ });
330
+ export { NavTab, NavTabs };
331
+
332
+ //# sourceMappingURL=masmarino-gabarit-nav-tabs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masmarino-gabarit-nav-tabs.mjs","names":[],"sources":["../../../projects/gabarit/nav-tabs/nav-tabs.token.ts","../../../projects/gabarit/nav-tabs/nav-tab.ts","../../../projects/gabarit/nav-tabs/nav-tab.html","../../../projects/gabarit/nav-tabs/nav-tabs.ts","../../../projects/gabarit/nav-tabs/nav-tabs.html"],"sourcesContent":["import { InjectionToken, type Signal } from '@angular/core'\n\nexport type NavTabsOrientation = 'horizontal' | 'vertical'\n\nexport interface NavTabsHost {\n readonly orientation: Signal<NavTabsOrientation>\n}\n\nexport const GBT_NAV_TABS = new InjectionToken<NavTabsHost>('GBT_NAV_TABS')\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n afterEveryRender,\n booleanAttribute,\n computed,\n inject,\n input,\n viewChild,\n} from '@angular/core'\nimport { Icon } from '@masmarino/gabarit/icon'\nimport { GBT_NAV_TABS } from './nav-tabs.token'\n\n@Component({\n selector: 'a[gbtNavTab]',\n standalone: true,\n imports: [Icon],\n templateUrl: './nav-tab.html',\n styleUrl: './nav-tab.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'gbt-nav-tab',\n '[attr.aria-current]': 'active() ? \"page\" : null',\n '[attr.data-active]': 'active() ? \"\" : null',\n '[attr.data-orientation]': 'orientation()',\n },\n})\nexport class NavTab {\n active = input(false, { transform: booleanAttribute })\n icon = input<string | null>(null)\n badge = input<number | string | null>(null)\n\n private readonly nav = inject(GBT_NAV_TABS, { optional: true })\n private readonly label = viewChild<ElementRef<HTMLElement>>('label')\n\n protected readonly orientation = computed(() => this.nav?.orientation() ?? 'horizontal')\n\n protected readonly hasBadge = computed(() => {\n const badge = this.badge()\n return badge !== null && badge !== undefined && badge !== ''\n })\n\n constructor() {\n afterEveryRender({\n write: () => {\n const label = this.label()?.nativeElement\n const text = label?.textContent?.trim() ?? ''\n if (label && label.getAttribute('data-label') !== text) {\n label.setAttribute('data-label', text)\n }\n },\n })\n }\n}\n","@if (icon(); as name) {\n <gbt-icon class=\"gbt-nav-tab__icon\" [name]=\"name\" />\n}\n<span #label class=\"gbt-nav-tab__label\"><ng-content /></span>\n@if (hasBadge()) {\n &ngsp;<span class=\"gbt-nav-tab__badge\">{{ badge() }}</span>\n}\n","import { NgTemplateOutlet } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n afterRenderEffect,\n booleanAttribute,\n contentChildren,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core'\nimport { NavTab } from './nav-tab'\nimport { GBT_NAV_TABS, type NavTabsOrientation } from './nav-tabs.token'\n\nexport type { NavTabsOrientation } from './nav-tabs.token'\n\n@Component({\n selector: 'gbt-nav-tabs',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './nav-tabs.html',\n styleUrl: './nav-tabs.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: GBT_NAV_TABS, useExisting: NavTabs }],\n})\nexport class NavTabs {\n ariaLabel = input<string>('')\n orientation = input<NavTabsOrientation>('horizontal')\n landmark = input(true, { transform: booleanAttribute })\n\n private readonly list = viewChild<ElementRef<HTMLElement>>('list')\n private readonly tabs = contentChildren(NavTab, { descendants: true })\n\n protected readonly hiddenBefore = signal(false)\n protected readonly hiddenAfter = signal(false)\n\n protected updateOverflow(): void {\n const list = this.list()?.nativeElement\n if (!list) return\n const hidden = list.scrollWidth - list.clientWidth\n this.hiddenBefore.set(hidden > 1 && list.scrollLeft > 1)\n this.hiddenAfter.set(hidden > 1 && list.scrollLeft < hidden - 1)\n }\n\n constructor() {\n afterRenderEffect({\n write: () => {\n this.tabs().forEach((tab) => tab.active())\n const list = this.list()?.nativeElement\n if (!list) return\n const active = list.querySelector<HTMLElement>('[aria-current=\"page\"]')\n if (active && list.scrollWidth > list.clientWidth) {\n const start = active.offsetLeft\n const end = start + active.offsetWidth\n const glimpse = 40\n if (start - glimpse < list.scrollLeft) {\n list.scrollLeft = Math.max(0, start - glimpse)\n } else if (end + glimpse > list.scrollLeft + list.clientWidth) {\n list.scrollLeft = end + glimpse - list.clientWidth\n }\n }\n this.updateOverflow()\n },\n })\n\n if (typeof ResizeObserver !== 'undefined') {\n const observer = new ResizeObserver(() => this.updateOverflow())\n const observed = new Set<Element>()\n afterRenderEffect({\n write: () => {\n this.tabs()\n const list = this.list()?.nativeElement\n if (!list) return\n const wanted = new Set<Element>([list, ...Array.from(list.children)])\n for (const element of observed) {\n if (!wanted.has(element)) {\n observer.unobserve(element)\n observed.delete(element)\n }\n }\n for (const element of wanted) {\n if (!observed.has(element)) {\n observer.observe(element)\n observed.add(element)\n }\n }\n },\n })\n inject(DestroyRef).onDestroy(() => observer.disconnect())\n }\n }\n}\n","@if (landmark()) {\n <nav\n class=\"gbt-nav-tabs\"\n [attr.data-orientation]=\"orientation()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n <ng-container [ngTemplateOutlet]=\"links\" />\n </nav>\n} @else {\n <div class=\"gbt-nav-tabs\" [attr.data-orientation]=\"orientation()\">\n <ng-container [ngTemplateOutlet]=\"links\" />\n </div>\n}\n\n<ng-template #links>\n <div\n #list\n class=\"gbt-nav-tabs__list\"\n [attr.data-hidden-before]=\"hiddenBefore() ? '' : null\"\n [attr.data-hidden-after]=\"hiddenAfter() ? '' : null\"\n (scroll)=\"updateOverflow()\"\n >\n <ng-content />\n </div>\n</ng-template>\n"],"mappings":";;;;AAQA,MAAa,eAAe,IAAI,eAA4B,cAAc;ACoB1E,IAAa,SAAb,MAAa,OAAM;CACjB,SAAS,MAAM,OAAK;EAAA,GAAA,YAAA,EAAA,WAAA,SAAA,+BAAA,CAAA;EAAI,WAAW;CAAgB,CAAA;CACnD,OAAO,MAAqB,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACjC,QAAQ,MAA8B,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,QAAA,CAAA,+BAAA,CAAA,CAAA;CAE1B,MAAM,OAAO,cAAc,EAAE,UAAU,KAAI,CAAE;CAC7C,QAAQ,UAAmC,SAAQ,GAAA,YAAA,CAAA,EAAA,WAAA,QAAA,CAAA,+BAAA,CAAA,CAAA;CAEjD,cAAc,eAAe,KAAK,KAAK,YAAW,KAAM,cAAa,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CAErE,WAAW,eAAc;EAC1C,MAAM,QAAQ,KAAK,MAAK;EACxB,OAAO,UAAU,QAAQ,UAAU,UAAa,UAAU;CAC5D,GAAE,GAAA,YAAA,CAAA,EAAA,WAAA,WAAA,CAAA,+BAAA,CAAA,CAAA;CAEF,cAAA;EACE,iBAAiB,EACf,aAAY;GACV,MAAM,QAAQ,KAAK,MAAK,CAAE,EAAE;GAC5B,MAAM,OAAO,OAAO,aAAa,KAAI,KAAM;GAC3C,IAAI,SAAS,MAAM,aAAa,YAAY,MAAM,MAChD,MAAM,aAAa,cAAc,IAAI;EAEzC,EACD,CAAA;CACH;CAzBW,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAM,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAN,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAM,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,QAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,OAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,MAAA;GAAA,YAAA;IAAA,qBAAA;IAAA,oBAAA;IAAA,yBAAA;GAAA;GAAA,gBAAA;EAAA;EAAA,aAAA,CAAA;GAAA,cAAA;GAAA,OAAA;GAAA,WAAA,CAAA,OAAA;GAAA,aAAA;GAAA,UAAA;EAAA,CAAA;EAAA,UAAA;EAAA,UC5BnB;EAOA,QAAA,CAAA,ykIAAA;EAAA,cAAA,CAAA;GAAA,MAAA;GAAA,MDUY;GAAI,UAAA;GAAA,QAAA,CAAA,MAAA;EAAA,CAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAWH,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAM,YAAA,CAAA;EAdlB,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAc,YACZ;GAAI,SACP,CAAC,IAAI;GAAC,iBAGE,wBAAwB;GAAM,MACzC;IACJ,OAAO;IACP,uBAAuB;IACvB,sBAAsB;IACtB,2BAA2B;GAC5B;GAAA,UAAA;GAAA,QAAA,CAAA,ykIAAA;EAAA,CAAA;CAQ2D,CAAA;CAAA,sBAAA,CAAA;CAAA,gBAAA;EAAA,QAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA;IAAA,UAAA;IAAA,OAAA;IAAA,UAAA;GAAA,CAAA;EAAA,CAAA;EAAA,MAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA;IAAA,UAAA;IAAA,OAAA;IAAA,UAAA;GAAA,CAAA;EAAA,CAAA;EAAA,OAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA;IAAA,UAAA;IAAA,OAAA;IAAA,UAAA;GAAA,CAAA;EAAA,CAAA;EAAA,OAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA,SAAO,EAAA,UAAA,KAAA,CAAA;EAAA,CAAA;CAAA;AAAA,CAAA;AENrE,IAAa,UAAb,MAAa,QAAO;CAClB,YAAY,MAAc,IAAG,GAAA,YAAA,CAAA,EAAA,WAAA,YAAA,CAAA,+BAAA,CAAA,CAAA;CAC7B,cAAc,MAA0B,cAAa,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CACrD,WAAW,MAAM,MAAI;EAAA,GAAA,YAAA,EAAA,WAAA,WAAA,+BAAA,CAAA;EAAI,WAAW;CAAgB,CAAA;CAEnC,OAAO,UAAmC,QAAO,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACjD,OAAO,gBAAgB,QAAM;EAAA,GAAA,YAAA,EAAA,WAAA,OAAA,+BAAA,CAAA;EAAI,aAAa;CAAI,CAAA;CAEhD,eAAe,OAAO,OAAM,GAAA,YAAA,CAAA,EAAA,WAAA,eAAA,CAAA,+BAAA,CAAA,CAAA;CAC5B,cAAc,OAAO,OAAM,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CAEpC,iBAAc;EACtB,MAAM,OAAO,KAAK,KAAI,CAAE,EAAE;EAC1B,IAAI,CAAC,MAAM;EACX,MAAM,SAAS,KAAK,cAAc,KAAK;EACvC,KAAK,aAAa,IAAI,SAAS,KAAK,KAAK,aAAa,CAAC;EACvD,KAAK,YAAY,IAAI,SAAS,KAAK,KAAK,aAAa,SAAS,CAAC;CACjE;CAEA,cAAA;EACE,kBAAkB,EAChB,aAAY;GACV,KAAK,KAAI,CAAE,CAAC,SAAS,QAAQ,IAAI,OAAM,CAAE;GACzC,MAAM,OAAO,KAAK,KAAI,CAAE,EAAE;GAC1B,IAAI,CAAC,MAAM;GACX,MAAM,SAAS,KAAK,cAA2B,yBAAuB;GACtE,IAAI,UAAU,KAAK,cAAc,KAAK,aAAa;IACjD,MAAM,QAAQ,OAAO;IACrB,MAAM,MAAM,QAAQ,OAAO;IAC3B,MAAM,UAAU;IAChB,IAAI,QAAQ,UAAU,KAAK,YACzB,KAAK,aAAa,KAAK,IAAI,GAAG,QAAQ,OAAO;SACxC,IAAI,MAAM,UAAU,KAAK,aAAa,KAAK,aAChD,KAAK,aAAa,MAAM,UAAU,KAAK;GAE3C;GACA,KAAK,eAAc;EACrB,EACD,CAAA;EAED,IAAI,OAAO,mBAAmB,aAAa;GACzC,MAAM,WAAW,IAAI,qBAAqB,KAAK,eAAc,CAAE;GAC/D,MAAM,2BAAW,IAAI,IAAG;GACxB,kBAAkB,EAChB,aAAY;IACV,KAAK,KAAI;IACT,MAAM,OAAO,KAAK,KAAI,CAAE,EAAE;IAC1B,IAAI,CAAC,MAAM;IACX,MAAM,yBAAS,IAAI,IAAa,CAAC,MAAM,GAAG,MAAM,KAAK,KAAK,QAAQ,CAAC,CAAC;IACpE,KAAK,MAAM,WAAW,UACpB,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG;KACxB,SAAS,UAAU,OAAO;KAC1B,SAAS,OAAO,OAAO;IACzB;IAEF,KAAK,MAAM,WAAW,QACpB,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;KAC1B,SAAS,QAAQ,OAAO;KACxB,SAAS,IAAI,OAAO;IACtB;GAEJ,EACD,CAAA;GACD,OAAO,UAAU,CAAC,CAAC,gBAAgB,SAAS,WAAU,CAAE;EAC1D;CACF;CAjEW,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAO,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAP,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAO,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,WAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,aAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,UAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,WAFP,CAAC;GAAE,SAAS;GAAc,aAAa;EAAO,CAAE;EAAC,SAAA,CAAA;GAAA,cAAA;GAAA,WAQpB;GAAM,aAAA;GAAA,UAAA;EAAA,CAAA;EAAA,aAAA,CAAA;GAAA,cAAA;GAAA,OAAA;GAAA,WAAA,CAAA,MAAA;GAAA,aAAA;GAAA,UAAA;EAAA,CAAA;EAAA,UAAA;EAAA,UClChD;EAyBA,QAAA,CAAA,whEAAA;EAAA,cAAA,CAAA;GAAA,MAAA;GAAA,MDHY;GAAgB,UAAA;GAAA,QAAA;IAAA;IAAA;IAAA;GAAA;EAAA,CAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAMf,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAO,YAAA,CAAA;EATnB,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAc,YACZ;GAAI,SACP,CAAC,gBAAgB;GAAC,iBAGV,wBAAwB;GAAM,WACpC,CAAC;IAAE,SAAS;IAAc,aAAW;GAAS,CAAE;GAAC,UAAA;GAAA,QAAA,CAAA,whEAAA;EAAA,CAAA;CAOD,CAAA;CAAA,sBAAA,CAAA;CAAA,gBAAA;EAAA,WAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA;IAAA,UAAA;IAAA,OAAA;IAAA,UAAA;GAAA,CAAA;EAAA,CAAA;EAAA,aAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA;IAAA,UAAA;IAAA,OAAA;IAAA,UAAA;GAAA,CAAA;EAAA,CAAA;EAAA,UAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA;IAAA,UAAA;IAAA,OAAA;IAAA,UAAA;GAAA,CAAA;EAAA,CAAA;EAAA,MAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA,QAAM,EAAA,UAAA,KAAA,CAAA;EAAA,CAAA;EAAA,MAAA,CAAA;GAAA,MAAA,GAAA;GAAA,MAAA,CAAA,GAAA,iBACzB,MAAM,GAAA;IAAI,aAAa;IAAM,UAAA;GAAA,CAAA;EAAA,CAAA;CAAA;AAAA,CAAA"}
@@ -0,0 +1,119 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, computed, input } from "@angular/core";
3
+ var NotificationDot = class NotificationDot {
4
+ count = input(null, ...ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []);
5
+ max = input(99, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
6
+ variant = input("error", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
7
+ hidden = input(false, ...ngDevMode ? [{ debugName: "hidden" }] : /* istanbul ignore next */ []);
8
+ showDot = computed(() => !this.hidden() && this.count() !== 0, ...ngDevMode ? [{ debugName: "showDot" }] : /* istanbul ignore next */ []);
9
+ displayValue = computed(() => {
10
+ const count = this.count();
11
+ if (count === null) return "";
12
+ const max = this.max();
13
+ return count > max ? `${max}+` : `${count}`;
14
+ }, ...ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []);
15
+ static ɵfac = i0.ɵɵngDeclareFactory({
16
+ minVersion: "12.0.0",
17
+ version: "22.2.0",
18
+ ngImport: i0,
19
+ type: NotificationDot,
20
+ deps: [],
21
+ target: i0.ɵɵFactoryTarget.Component
22
+ });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({
24
+ minVersion: "17.0.0",
25
+ version: "22.2.0",
26
+ type: NotificationDot,
27
+ isStandalone: true,
28
+ selector: "gbt-notification-dot",
29
+ inputs: {
30
+ count: {
31
+ classPropertyName: "count",
32
+ publicName: "count",
33
+ isSignal: true,
34
+ isRequired: false,
35
+ transformFunction: null
36
+ },
37
+ max: {
38
+ classPropertyName: "max",
39
+ publicName: "max",
40
+ isSignal: true,
41
+ isRequired: false,
42
+ transformFunction: null
43
+ },
44
+ variant: {
45
+ classPropertyName: "variant",
46
+ publicName: "variant",
47
+ isSignal: true,
48
+ isRequired: false,
49
+ transformFunction: null
50
+ },
51
+ hidden: {
52
+ classPropertyName: "hidden",
53
+ publicName: "hidden",
54
+ isSignal: true,
55
+ isRequired: false,
56
+ transformFunction: null
57
+ }
58
+ },
59
+ exportAs: ["gbtNotificationDot"],
60
+ ngImport: i0,
61
+ template: "<span class=\"gbt-notification-dot__anchor\">\n <ng-content></ng-content>\n</span>\n@if (showDot()) {\n <span\n class=\"gbt-notification-dot__badge\"\n [class.gbt-notification-dot__badge--count]=\"count() !== null\"\n [attr.data-variant]=\"variant()\"\n aria-hidden=\"true\"\n >{{ displayValue() }}</span\n >\n}\n",
62
+ styles: [":host{position:relative;display:inline-flex}.gbt-notification-dot__anchor{display:inline-flex}.gbt-notification-dot__badge{box-sizing:border-box;position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;min-width:8px;height:8px;padding:0;background:var(--color-error-base);border:2px solid var(--bg-principal);border-radius:999px}.gbt-notification-dot__badge[data-variant=warning]{background:var(--color-warning-base)}.gbt-notification-dot__badge[data-variant=success]{background:var(--color-success-base)}.gbt-notification-dot__badge[data-variant=info]{background:var(--color-info-vivid-base)}.gbt-notification-dot__badge--count{min-width:16px;height:16px;padding:0 4px;background:var(--color-error-bg);color:var(--color-error-bg-text);font-size:10px;font-weight:700;line-height:1}.gbt-notification-dot__badge--count[data-variant=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-notification-dot__badge--count[data-variant=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-notification-dot__badge--count[data-variant=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}\n"],
63
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
64
+ });
65
+ };
66
+ i0.ɵɵngDeclareClassMetadata({
67
+ minVersion: "12.0.0",
68
+ version: "22.2.0",
69
+ ngImport: i0,
70
+ type: NotificationDot,
71
+ decorators: [{
72
+ type: Component,
73
+ args: [{
74
+ selector: "gbt-notification-dot",
75
+ standalone: true,
76
+ exportAs: "gbtNotificationDot",
77
+ changeDetection: ChangeDetectionStrategy.OnPush,
78
+ template: "<span class=\"gbt-notification-dot__anchor\">\n <ng-content></ng-content>\n</span>\n@if (showDot()) {\n <span\n class=\"gbt-notification-dot__badge\"\n [class.gbt-notification-dot__badge--count]=\"count() !== null\"\n [attr.data-variant]=\"variant()\"\n aria-hidden=\"true\"\n >{{ displayValue() }}</span\n >\n}\n",
79
+ styles: [":host{position:relative;display:inline-flex}.gbt-notification-dot__anchor{display:inline-flex}.gbt-notification-dot__badge{box-sizing:border-box;position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;min-width:8px;height:8px;padding:0;background:var(--color-error-base);border:2px solid var(--bg-principal);border-radius:999px}.gbt-notification-dot__badge[data-variant=warning]{background:var(--color-warning-base)}.gbt-notification-dot__badge[data-variant=success]{background:var(--color-success-base)}.gbt-notification-dot__badge[data-variant=info]{background:var(--color-info-vivid-base)}.gbt-notification-dot__badge--count{min-width:16px;height:16px;padding:0 4px;background:var(--color-error-bg);color:var(--color-error-bg-text);font-size:10px;font-weight:700;line-height:1}.gbt-notification-dot__badge--count[data-variant=warning]{background:var(--color-warning-bg);color:var(--color-warning-bg-text)}.gbt-notification-dot__badge--count[data-variant=success]{background:var(--color-success-bg);color:var(--color-success-bg-text)}.gbt-notification-dot__badge--count[data-variant=info]{background:var(--color-info-bg);color:var(--color-info-bg-text)}\n"]
80
+ }]
81
+ }],
82
+ propDecorators: {
83
+ count: [{
84
+ type: i0.Input,
85
+ args: [{
86
+ isSignal: true,
87
+ alias: "count",
88
+ required: false
89
+ }]
90
+ }],
91
+ max: [{
92
+ type: i0.Input,
93
+ args: [{
94
+ isSignal: true,
95
+ alias: "max",
96
+ required: false
97
+ }]
98
+ }],
99
+ variant: [{
100
+ type: i0.Input,
101
+ args: [{
102
+ isSignal: true,
103
+ alias: "variant",
104
+ required: false
105
+ }]
106
+ }],
107
+ hidden: [{
108
+ type: i0.Input,
109
+ args: [{
110
+ isSignal: true,
111
+ alias: "hidden",
112
+ required: false
113
+ }]
114
+ }]
115
+ }
116
+ });
117
+ export { NotificationDot };
118
+
119
+ //# sourceMappingURL=masmarino-gabarit-notification-dot.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masmarino-gabarit-notification-dot.mjs","names":[],"sources":["../../../projects/gabarit/notification-dot/notification-dot.ts","../../../projects/gabarit/notification-dot/notification-dot.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core'\n\nexport type NotificationDotVariant = 'error' | 'warning' | 'success' | 'info'\n\n@Component({\n selector: 'gbt-notification-dot',\n standalone: true,\n exportAs: 'gbtNotificationDot',\n templateUrl: './notification-dot.html',\n styleUrl: './notification-dot.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NotificationDot {\n count = input<number | null>(null)\n max = input<number>(99)\n variant = input<NotificationDotVariant>('error')\n hidden = input(false)\n\n protected readonly showDot = computed(() => !this.hidden() && this.count() !== 0)\n\n protected readonly displayValue = computed(() => {\n const count = this.count()\n if (count === null) {\n return ''\n }\n const max = this.max()\n return count > max ? `${max}+` : `${count}`\n })\n}\n","<span class=\"gbt-notification-dot__anchor\">\n <ng-content></ng-content>\n</span>\n@if (showDot()) {\n <span\n class=\"gbt-notification-dot__badge\"\n [class.gbt-notification-dot__badge--count]=\"count() !== null\"\n [attr.data-variant]=\"variant()\"\n aria-hidden=\"true\"\n >{{ displayValue() }}</span\n >\n}\n"],"mappings":";;AAYA,IAAa,kBAAb,MAAa,gBAAe;CAC1B,QAAQ,MAAqB,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,QAAA,CAAA,+BAAA,CAAA,CAAA;CAClC,MAAM,MAAc,IAAG,GAAA,YAAA,CAAA,EAAA,WAAA,MAAA,CAAA,+BAAA,CAAA,CAAA;CACvB,UAAU,MAA8B,SAAQ,GAAA,YAAA,CAAA,EAAA,WAAA,UAAA,CAAA,+BAAA,CAAA,CAAA;CAChD,SAAS,MAAM,OAAM,GAAA,YAAA,CAAA,EAAA,WAAA,SAAA,CAAA,+BAAA,CAAA,CAAA;CAEF,UAAU,eAAe,CAAC,KAAK,OAAM,KAAM,KAAK,MAAK,MAAO,GAAE,GAAA,YAAA,CAAA,EAAA,WAAA,UAAA,CAAA,+BAAA,CAAA,CAAA;CAE9D,eAAe,eAAc;EAC9C,MAAM,QAAQ,KAAK,MAAK;EACxB,IAAI,UAAU,MACZ,OAAO;EAET,MAAM,MAAM,KAAK,IAAG;EACpB,OAAO,QAAQ,MAAM,GAAG,IAAG,KAAM,GAAG;CACtC,GAAE,GAAA,YAAA,CAAA,EAAA,WAAA,eAAA,CAAA,+BAAA,CAAA,CAAA;CAfS,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAe,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAf,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAe,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,OAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,KAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,SAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,QAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,UAAA,CAAA,oBAAA;EAAA,UAAA;EAAA,UCZ5B;EAYA,QAAA,CAAA,4qCAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;ADAa,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAe,YAAA,CAAA;EAR3B,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAsB,YACpB;GAAI,UACN;GAAoB,iBAGb,wBAAwB;GAAM,UAAA;GAAA,QAAA,CAAA,4qCAAA;EAAA,CAAA"}
@@ -0,0 +1,78 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, input } from "@angular/core";
3
+ var PageHeader = class PageHeader {
4
+ heading = input.required(...ngDevMode ? [{ debugName: "heading" }] : /* istanbul ignore next */ []);
5
+ headingLevel = input(1, ...ngDevMode ? [{ debugName: "headingLevel" }] : /* istanbul ignore next */ []);
6
+ static ɵfac = i0.ɵɵngDeclareFactory({
7
+ minVersion: "12.0.0",
8
+ version: "22.2.0",
9
+ ngImport: i0,
10
+ type: PageHeader,
11
+ deps: [],
12
+ target: i0.ɵɵFactoryTarget.Component
13
+ });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({
15
+ minVersion: "17.0.0",
16
+ version: "22.2.0",
17
+ type: PageHeader,
18
+ isStandalone: true,
19
+ selector: "gbt-page-header",
20
+ inputs: {
21
+ heading: {
22
+ classPropertyName: "heading",
23
+ publicName: "heading",
24
+ isSignal: true,
25
+ isRequired: true,
26
+ transformFunction: null
27
+ },
28
+ headingLevel: {
29
+ classPropertyName: "headingLevel",
30
+ publicName: "headingLevel",
31
+ isSignal: true,
32
+ isRequired: false,
33
+ transformFunction: null
34
+ }
35
+ },
36
+ ngImport: i0,
37
+ template: "<header class=\"gbt-page-header\">\n <div class=\"gbt-page-header__main\">\n <div class=\"gbt-page-header__title-row\">\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-page-header__title\">{{ heading() }}</h2>\n }\n @case (3) {\n <h3 class=\"gbt-page-header__title\">{{ heading() }}</h3>\n }\n @default {\n <h1 class=\"gbt-page-header__title\">{{ heading() }}</h1>\n }\n }\n <ng-content select=\"[header-title]\" />\n <div class=\"gbt-page-header__badges\"><ng-content select=\"[header-badges]\" /></div>\n </div>\n <div class=\"gbt-page-header__meta\"><ng-content select=\"[header-meta]\" /></div>\n </div>\n <div class=\"gbt-page-header__actions\"><ng-content select=\"[header-actions]\" /></div>\n</header>\n",
38
+ styles: [":host{display:block;margin-bottom:1.5rem}.gbt-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gbt-hairline)}.gbt-page-header__main{flex:1 1 18rem;min-width:0}.gbt-page-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__title{font-family:var(--gbt-font-display, var(--font-display));min-width:0;margin:0;color:var(--text-primary);font-size:1.75rem;font-weight:600;line-height:1.2;letter-spacing:-.01em;overflow-wrap:anywhere}.gbt-page-header__badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.gbt-page-header__meta{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.gbt-page-header__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__badges:empty,.gbt-page-header__meta:empty,.gbt-page-header__actions:empty{display:none}\n"],
39
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
40
+ });
41
+ };
42
+ i0.ɵɵngDeclareClassMetadata({
43
+ minVersion: "12.0.0",
44
+ version: "22.2.0",
45
+ ngImport: i0,
46
+ type: PageHeader,
47
+ decorators: [{
48
+ type: Component,
49
+ args: [{
50
+ selector: "gbt-page-header",
51
+ standalone: true,
52
+ changeDetection: ChangeDetectionStrategy.OnPush,
53
+ template: "<header class=\"gbt-page-header\">\n <div class=\"gbt-page-header__main\">\n <div class=\"gbt-page-header__title-row\">\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-page-header__title\">{{ heading() }}</h2>\n }\n @case (3) {\n <h3 class=\"gbt-page-header__title\">{{ heading() }}</h3>\n }\n @default {\n <h1 class=\"gbt-page-header__title\">{{ heading() }}</h1>\n }\n }\n <ng-content select=\"[header-title]\" />\n <div class=\"gbt-page-header__badges\"><ng-content select=\"[header-badges]\" /></div>\n </div>\n <div class=\"gbt-page-header__meta\"><ng-content select=\"[header-meta]\" /></div>\n </div>\n <div class=\"gbt-page-header__actions\"><ng-content select=\"[header-actions]\" /></div>\n</header>\n",
54
+ styles: [":host{display:block;margin-bottom:1.5rem}.gbt-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gbt-hairline)}.gbt-page-header__main{flex:1 1 18rem;min-width:0}.gbt-page-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__title{font-family:var(--gbt-font-display, var(--font-display));min-width:0;margin:0;color:var(--text-primary);font-size:1.75rem;font-weight:600;line-height:1.2;letter-spacing:-.01em;overflow-wrap:anywhere}.gbt-page-header__badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem}.gbt-page-header__meta{margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.gbt-page-header__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:var(--gbt-control-height-md)}.gbt-page-header__badges:empty,.gbt-page-header__meta:empty,.gbt-page-header__actions:empty{display:none}\n"]
55
+ }]
56
+ }],
57
+ propDecorators: {
58
+ heading: [{
59
+ type: i0.Input,
60
+ args: [{
61
+ isSignal: true,
62
+ alias: "heading",
63
+ required: true
64
+ }]
65
+ }],
66
+ headingLevel: [{
67
+ type: i0.Input,
68
+ args: [{
69
+ isSignal: true,
70
+ alias: "headingLevel",
71
+ required: false
72
+ }]
73
+ }]
74
+ }
75
+ });
76
+ export { PageHeader };
77
+
78
+ //# sourceMappingURL=masmarino-gabarit-page-header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"masmarino-gabarit-page-header.mjs","names":[],"sources":["../../../projects/gabarit/page-header/page-header.ts","../../../projects/gabarit/page-header/page-header.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core'\n\nexport type PageHeaderLevel = 1 | 2 | 3\n\n@Component({\n selector: 'gbt-page-header',\n standalone: true,\n templateUrl: './page-header.html',\n styleUrl: './page-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PageHeader {\n heading = input.required<string>()\n headingLevel = input<PageHeaderLevel>(1)\n}\n","<header class=\"gbt-page-header\">\n <div class=\"gbt-page-header__main\">\n <div class=\"gbt-page-header__title-row\">\n @switch (headingLevel()) {\n @case (2) {\n <h2 class=\"gbt-page-header__title\">{{ heading() }}</h2>\n }\n @case (3) {\n <h3 class=\"gbt-page-header__title\">{{ heading() }}</h3>\n }\n @default {\n <h1 class=\"gbt-page-header__title\">{{ heading() }}</h1>\n }\n }\n <ng-content select=\"[header-title]\" />\n <div class=\"gbt-page-header__badges\"><ng-content select=\"[header-badges]\" /></div>\n </div>\n <div class=\"gbt-page-header__meta\"><ng-content select=\"[header-meta]\" /></div>\n </div>\n <div class=\"gbt-page-header__actions\"><ng-content select=\"[header-actions]\" /></div>\n</header>\n"],"mappings":";;AAWA,IAAa,aAAb,MAAa,WAAU;CACrB,UAAU,MAAM,SAAkB,GAAA,YAAA,CAAA,EAAA,WAAA,UAAA,CAAA,+BAAA,CAAA,CAAA;CAClC,eAAe,MAAuB,GAAE,GAAA,YAAA,CAAA,EAAA,WAAA,eAAA,CAAA,+BAAA,CAAA,CAAA;CAF7B,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAU,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAV,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAU,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,SAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,cAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,UAAA;EAAA,UCXvB;EAqBA,QAAA,CAAA,siCAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;ADVa,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAU,YAAA,CAAA;EAPtB,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAiB,YACf;GAAI,iBAGC,wBAAwB;GAAM,UAAA;GAAA,QAAA,CAAA,siCAAA;EAAA,CAAA"}