@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masmarino/gabarit",
3
- "version": "1.4.0",
3
+ "version": "2.1.0",
4
4
  "description": "Angular design system — UI components and dataviz for self-hosted applications.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/Masmarino/Gabarit",
@@ -39,6 +39,12 @@
39
39
  "style": "./src/lib/tokens/index.scss",
40
40
  "default": "./src/lib/tokens/index.scss"
41
41
  },
42
+ "./fonts": {
43
+ "sass": "./fonts/index.scss",
44
+ "style": "./fonts/index.scss",
45
+ "default": "./fonts/index.scss"
46
+ },
47
+ "./fonts/*": "./fonts/*",
42
48
  "./package.json": {
43
49
  "default": "./package.json"
44
50
  },
@@ -46,9 +52,337 @@
46
52
  "types": "./types/masmarino-gabarit.d.ts",
47
53
  "default": "./fesm2022/masmarino-gabarit.mjs"
48
54
  },
55
+ "./accordion": {
56
+ "types": "./types/masmarino-gabarit-accordion.d.ts",
57
+ "default": "./fesm2022/masmarino-gabarit-accordion.mjs"
58
+ },
59
+ "./alert": {
60
+ "types": "./types/masmarino-gabarit-alert.d.ts",
61
+ "default": "./fesm2022/masmarino-gabarit-alert.mjs"
62
+ },
63
+ "./app-shell": {
64
+ "types": "./types/masmarino-gabarit-app-shell.d.ts",
65
+ "default": "./fesm2022/masmarino-gabarit-app-shell.mjs"
66
+ },
67
+ "./auth": {
68
+ "types": "./types/masmarino-gabarit-auth.d.ts",
69
+ "default": "./fesm2022/masmarino-gabarit-auth.mjs"
70
+ },
71
+ "./auth-activate": {
72
+ "types": "./types/masmarino-gabarit-auth-activate.d.ts",
73
+ "default": "./fesm2022/masmarino-gabarit-auth-activate.mjs"
74
+ },
75
+ "./auth-login": {
76
+ "types": "./types/masmarino-gabarit-auth-login.d.ts",
77
+ "default": "./fesm2022/masmarino-gabarit-auth-login.mjs"
78
+ },
79
+ "./auth-register": {
80
+ "types": "./types/masmarino-gabarit-auth-register.d.ts",
81
+ "default": "./fesm2022/masmarino-gabarit-auth-register.mjs"
82
+ },
83
+ "./auth-reset-password": {
84
+ "types": "./types/masmarino-gabarit-auth-reset-password.d.ts",
85
+ "default": "./fesm2022/masmarino-gabarit-auth-reset-password.mjs"
86
+ },
87
+ "./autocomplete": {
88
+ "types": "./types/masmarino-gabarit-autocomplete.d.ts",
89
+ "default": "./fesm2022/masmarino-gabarit-autocomplete.mjs"
90
+ },
91
+ "./avatar": {
92
+ "types": "./types/masmarino-gabarit-avatar.d.ts",
93
+ "default": "./fesm2022/masmarino-gabarit-avatar.mjs"
94
+ },
95
+ "./avatar-group": {
96
+ "types": "./types/masmarino-gabarit-avatar-group.d.ts",
97
+ "default": "./fesm2022/masmarino-gabarit-avatar-group.mjs"
98
+ },
99
+ "./badge": {
100
+ "types": "./types/masmarino-gabarit-badge.d.ts",
101
+ "default": "./fesm2022/masmarino-gabarit-badge.mjs"
102
+ },
103
+ "./bar-chart": {
104
+ "types": "./types/masmarino-gabarit-bar-chart.d.ts",
105
+ "default": "./fesm2022/masmarino-gabarit-bar-chart.mjs"
106
+ },
107
+ "./breadcrumb": {
108
+ "types": "./types/masmarino-gabarit-breadcrumb.d.ts",
109
+ "default": "./fesm2022/masmarino-gabarit-breadcrumb.mjs"
110
+ },
111
+ "./button": {
112
+ "types": "./types/masmarino-gabarit-button.d.ts",
113
+ "default": "./fesm2022/masmarino-gabarit-button.mjs"
114
+ },
115
+ "./card": {
116
+ "types": "./types/masmarino-gabarit-card.d.ts",
117
+ "default": "./fesm2022/masmarino-gabarit-card.mjs"
118
+ },
119
+ "./chart": {
120
+ "types": "./types/masmarino-gabarit-chart.d.ts",
121
+ "default": "./fesm2022/masmarino-gabarit-chart.mjs"
122
+ },
123
+ "./checkbox": {
124
+ "types": "./types/masmarino-gabarit-checkbox.d.ts",
125
+ "default": "./fesm2022/masmarino-gabarit-checkbox.mjs"
126
+ },
127
+ "./checkbox-group": {
128
+ "types": "./types/masmarino-gabarit-checkbox-group.d.ts",
129
+ "default": "./fesm2022/masmarino-gabarit-checkbox-group.mjs"
130
+ },
131
+ "./confirm-danger-modal": {
132
+ "types": "./types/masmarino-gabarit-confirm-danger-modal.d.ts",
133
+ "default": "./fesm2022/masmarino-gabarit-confirm-danger-modal.mjs"
134
+ },
135
+ "./copy-button": {
136
+ "types": "./types/masmarino-gabarit-copy-button.d.ts",
137
+ "default": "./fesm2022/masmarino-gabarit-copy-button.mjs"
138
+ },
139
+ "./copy-field": {
140
+ "types": "./types/masmarino-gabarit-copy-field.d.ts",
141
+ "default": "./fesm2022/masmarino-gabarit-copy-field.mjs"
142
+ },
143
+ "./date-picker": {
144
+ "types": "./types/masmarino-gabarit-date-picker.d.ts",
145
+ "default": "./fesm2022/masmarino-gabarit-date-picker.mjs"
146
+ },
147
+ "./description-list": {
148
+ "types": "./types/masmarino-gabarit-description-list.d.ts",
149
+ "default": "./fesm2022/masmarino-gabarit-description-list.mjs"
150
+ },
151
+ "./dimension-card": {
152
+ "types": "./types/masmarino-gabarit-dimension-card.d.ts",
153
+ "default": "./fesm2022/masmarino-gabarit-dimension-card.mjs"
154
+ },
155
+ "./disclosure": {
156
+ "types": "./types/masmarino-gabarit-disclosure.d.ts",
157
+ "default": "./fesm2022/masmarino-gabarit-disclosure.mjs"
158
+ },
159
+ "./divider": {
160
+ "types": "./types/masmarino-gabarit-divider.d.ts",
161
+ "default": "./fesm2022/masmarino-gabarit-divider.mjs"
162
+ },
49
163
  "./docs": {
50
164
  "types": "./types/masmarino-gabarit-docs.d.ts",
51
165
  "default": "./fesm2022/masmarino-gabarit-docs.mjs"
166
+ },
167
+ "./drawer": {
168
+ "types": "./types/masmarino-gabarit-drawer.d.ts",
169
+ "default": "./fesm2022/masmarino-gabarit-drawer.mjs"
170
+ },
171
+ "./empty-state": {
172
+ "types": "./types/masmarino-gabarit-empty-state.d.ts",
173
+ "default": "./fesm2022/masmarino-gabarit-empty-state.mjs"
174
+ },
175
+ "./file-upload": {
176
+ "types": "./types/masmarino-gabarit-file-upload.d.ts",
177
+ "default": "./fesm2022/masmarino-gabarit-file-upload.mjs"
178
+ },
179
+ "./floating-panel": {
180
+ "types": "./types/masmarino-gabarit-floating-panel.d.ts",
181
+ "default": "./fesm2022/masmarino-gabarit-floating-panel.mjs"
182
+ },
183
+ "./format": {
184
+ "types": "./types/masmarino-gabarit-format.d.ts",
185
+ "default": "./fesm2022/masmarino-gabarit-format.mjs"
186
+ },
187
+ "./funnel-chart": {
188
+ "types": "./types/masmarino-gabarit-funnel-chart.d.ts",
189
+ "default": "./fesm2022/masmarino-gabarit-funnel-chart.mjs"
190
+ },
191
+ "./gauge-bar": {
192
+ "types": "./types/masmarino-gabarit-gauge-bar.d.ts",
193
+ "default": "./fesm2022/masmarino-gabarit-gauge-bar.mjs"
194
+ },
195
+ "./git-field": {
196
+ "types": "./types/masmarino-gabarit-git-field.d.ts",
197
+ "default": "./fesm2022/masmarino-gabarit-git-field.mjs"
198
+ },
199
+ "./icon": {
200
+ "types": "./types/masmarino-gabarit-icon.d.ts",
201
+ "default": "./fesm2022/masmarino-gabarit-icon.mjs"
202
+ },
203
+ "./icon-marker": {
204
+ "types": "./types/masmarino-gabarit-icon-marker.d.ts",
205
+ "default": "./fesm2022/masmarino-gabarit-icon-marker.mjs"
206
+ },
207
+ "./input": {
208
+ "types": "./types/masmarino-gabarit-input.d.ts",
209
+ "default": "./fesm2022/masmarino-gabarit-input.mjs"
210
+ },
211
+ "./job-graph": {
212
+ "types": "./types/masmarino-gabarit-job-graph.d.ts",
213
+ "default": "./fesm2022/masmarino-gabarit-job-graph.mjs"
214
+ },
215
+ "./job-status": {
216
+ "types": "./types/masmarino-gabarit-job-status.d.ts",
217
+ "default": "./fesm2022/masmarino-gabarit-job-status.mjs"
218
+ },
219
+ "./line-chart": {
220
+ "types": "./types/masmarino-gabarit-line-chart.d.ts",
221
+ "default": "./fesm2022/masmarino-gabarit-line-chart.mjs"
222
+ },
223
+ "./list-card": {
224
+ "types": "./types/masmarino-gabarit-list-card.d.ts",
225
+ "default": "./fesm2022/masmarino-gabarit-list-card.mjs"
226
+ },
227
+ "./list-row": {
228
+ "types": "./types/masmarino-gabarit-list-row.d.ts",
229
+ "default": "./fesm2022/masmarino-gabarit-list-row.mjs"
230
+ },
231
+ "./list-toolbar": {
232
+ "types": "./types/masmarino-gabarit-list-toolbar.d.ts",
233
+ "default": "./fesm2022/masmarino-gabarit-list-toolbar.mjs"
234
+ },
235
+ "./menu": {
236
+ "types": "./types/masmarino-gabarit-menu.d.ts",
237
+ "default": "./fesm2022/masmarino-gabarit-menu.mjs"
238
+ },
239
+ "./mfa-enrollment": {
240
+ "types": "./types/masmarino-gabarit-mfa-enrollment.d.ts",
241
+ "default": "./fesm2022/masmarino-gabarit-mfa-enrollment.mjs"
242
+ },
243
+ "./mfa-settings": {
244
+ "types": "./types/masmarino-gabarit-mfa-settings.d.ts",
245
+ "default": "./fesm2022/masmarino-gabarit-mfa-settings.mjs"
246
+ },
247
+ "./modal": {
248
+ "types": "./types/masmarino-gabarit-modal.d.ts",
249
+ "default": "./fesm2022/masmarino-gabarit-modal.mjs"
250
+ },
251
+ "./nav-tabs": {
252
+ "types": "./types/masmarino-gabarit-nav-tabs.d.ts",
253
+ "default": "./fesm2022/masmarino-gabarit-nav-tabs.mjs"
254
+ },
255
+ "./notification-dot": {
256
+ "types": "./types/masmarino-gabarit-notification-dot.d.ts",
257
+ "default": "./fesm2022/masmarino-gabarit-notification-dot.mjs"
258
+ },
259
+ "./page-header": {
260
+ "types": "./types/masmarino-gabarit-page-header.d.ts",
261
+ "default": "./fesm2022/masmarino-gabarit-page-header.mjs"
262
+ },
263
+ "./page-layout": {
264
+ "types": "./types/masmarino-gabarit-page-layout.d.ts",
265
+ "default": "./fesm2022/masmarino-gabarit-page-layout.mjs"
266
+ },
267
+ "./pagination": {
268
+ "types": "./types/masmarino-gabarit-pagination.d.ts",
269
+ "default": "./fesm2022/masmarino-gabarit-pagination.mjs"
270
+ },
271
+ "./panel": {
272
+ "types": "./types/masmarino-gabarit-panel.d.ts",
273
+ "default": "./fesm2022/masmarino-gabarit-panel.mjs"
274
+ },
275
+ "./passkey-settings": {
276
+ "types": "./types/masmarino-gabarit-passkey-settings.d.ts",
277
+ "default": "./fesm2022/masmarino-gabarit-passkey-settings.mjs"
278
+ },
279
+ "./pie-chart": {
280
+ "types": "./types/masmarino-gabarit-pie-chart.d.ts",
281
+ "default": "./fesm2022/masmarino-gabarit-pie-chart.mjs"
282
+ },
283
+ "./popover": {
284
+ "types": "./types/masmarino-gabarit-popover.d.ts",
285
+ "default": "./fesm2022/masmarino-gabarit-popover.mjs"
286
+ },
287
+ "./radio-group": {
288
+ "types": "./types/masmarino-gabarit-radio-group.d.ts",
289
+ "default": "./fesm2022/masmarino-gabarit-radio-group.mjs"
290
+ },
291
+ "./save-status": {
292
+ "types": "./types/masmarino-gabarit-save-status.d.ts",
293
+ "default": "./fesm2022/masmarino-gabarit-save-status.mjs"
294
+ },
295
+ "./search-bar": {
296
+ "types": "./types/masmarino-gabarit-search-bar.d.ts",
297
+ "default": "./fesm2022/masmarino-gabarit-search-bar.mjs"
298
+ },
299
+ "./secret-reveal": {
300
+ "types": "./types/masmarino-gabarit-secret-reveal.d.ts",
301
+ "default": "./fesm2022/masmarino-gabarit-secret-reveal.mjs"
302
+ },
303
+ "./segmented-control": {
304
+ "types": "./types/masmarino-gabarit-segmented-control.d.ts",
305
+ "default": "./fesm2022/masmarino-gabarit-segmented-control.mjs"
306
+ },
307
+ "./select": {
308
+ "types": "./types/masmarino-gabarit-select.d.ts",
309
+ "default": "./fesm2022/masmarino-gabarit-select.mjs"
310
+ },
311
+ "./skeleton": {
312
+ "types": "./types/masmarino-gabarit-skeleton.d.ts",
313
+ "default": "./fesm2022/masmarino-gabarit-skeleton.mjs"
314
+ },
315
+ "./skeleton-list": {
316
+ "types": "./types/masmarino-gabarit-skeleton-list.d.ts",
317
+ "default": "./fesm2022/masmarino-gabarit-skeleton-list.mjs"
318
+ },
319
+ "./slider": {
320
+ "types": "./types/masmarino-gabarit-slider.d.ts",
321
+ "default": "./fesm2022/masmarino-gabarit-slider.mjs"
322
+ },
323
+ "./sparkline": {
324
+ "types": "./types/masmarino-gabarit-sparkline.d.ts",
325
+ "default": "./fesm2022/masmarino-gabarit-sparkline.mjs"
326
+ },
327
+ "./spinner": {
328
+ "types": "./types/masmarino-gabarit-spinner.d.ts",
329
+ "default": "./fesm2022/masmarino-gabarit-spinner.mjs"
330
+ },
331
+ "./stat-grid": {
332
+ "types": "./types/masmarino-gabarit-stat-grid.d.ts",
333
+ "default": "./fesm2022/masmarino-gabarit-stat-grid.mjs"
334
+ },
335
+ "./stat-tile": {
336
+ "types": "./types/masmarino-gabarit-stat-tile.d.ts",
337
+ "default": "./fesm2022/masmarino-gabarit-stat-tile.mjs"
338
+ },
339
+ "./stepper": {
340
+ "types": "./types/masmarino-gabarit-stepper.d.ts",
341
+ "default": "./fesm2022/masmarino-gabarit-stepper.mjs"
342
+ },
343
+ "./switch": {
344
+ "types": "./types/masmarino-gabarit-switch.d.ts",
345
+ "default": "./fesm2022/masmarino-gabarit-switch.mjs"
346
+ },
347
+ "./table": {
348
+ "types": "./types/masmarino-gabarit-table.d.ts",
349
+ "default": "./fesm2022/masmarino-gabarit-table.mjs"
350
+ },
351
+ "./tabs": {
352
+ "types": "./types/masmarino-gabarit-tabs.d.ts",
353
+ "default": "./fesm2022/masmarino-gabarit-tabs.mjs"
354
+ },
355
+ "./tag": {
356
+ "types": "./types/masmarino-gabarit-tag.d.ts",
357
+ "default": "./fesm2022/masmarino-gabarit-tag.mjs"
358
+ },
359
+ "./tag-input": {
360
+ "types": "./types/masmarino-gabarit-tag-input.d.ts",
361
+ "default": "./fesm2022/masmarino-gabarit-tag-input.mjs"
362
+ },
363
+ "./textarea": {
364
+ "types": "./types/masmarino-gabarit-textarea.d.ts",
365
+ "default": "./fesm2022/masmarino-gabarit-textarea.mjs"
366
+ },
367
+ "./timeline-chart": {
368
+ "types": "./types/masmarino-gabarit-timeline-chart.d.ts",
369
+ "default": "./fesm2022/masmarino-gabarit-timeline-chart.mjs"
370
+ },
371
+ "./toaster": {
372
+ "types": "./types/masmarino-gabarit-toaster.d.ts",
373
+ "default": "./fesm2022/masmarino-gabarit-toaster.mjs"
374
+ },
375
+ "./tooltip": {
376
+ "types": "./types/masmarino-gabarit-tooltip.d.ts",
377
+ "default": "./fesm2022/masmarino-gabarit-tooltip.mjs"
378
+ },
379
+ "./tree": {
380
+ "types": "./types/masmarino-gabarit-tree.d.ts",
381
+ "default": "./fesm2022/masmarino-gabarit-tree.mjs"
382
+ },
383
+ "./user-chip": {
384
+ "types": "./types/masmarino-gabarit-user-chip.d.ts",
385
+ "default": "./fesm2022/masmarino-gabarit-user-chip.mjs"
52
386
  }
53
387
  },
54
388
  "peerDependenciesMeta": {
@@ -0,0 +1,56 @@
1
+ # PageHeader
2
+
3
+ The heading block at the top of a page: the title (the page's `<h1>`), badges
4
+ on its row, one muted meta line under it and the page's actions on the right.
5
+ Below a title-plus-actions width the actions wrap under the title instead of
6
+ squeezing it.
7
+
8
+ **Selector**: `gbt-page-header`
9
+
10
+ ## Inputs
11
+
12
+ | Input | Type | Default | Role |
13
+ | -------------- | ------------- | ------- | ----------------------------------------------------------------------------------------------------------------- |
14
+ | `heading` | `string` | — | Required. The title. It is `heading`, not `title`: a `title` attribute would stay on the host and show a tooltip. |
15
+ | `headingLevel` | `1 \| 2 \| 3` | `1` | `1` is the page title (once per page). `2` / `3` for a header repeated inside a page, a tab or a dialog. |
16
+
17
+ ## Slots
18
+
19
+ | Selector | Role |
20
+ | ------------------ | ------------------------------------------------------------------------------------------------- |
21
+ | `[header-title]` | On the title's row, right after it, outside the heading: a `#128` suffix, an icon… |
22
+ | `[header-badges]` | Status or visibility badges on the same row. Collapses when empty. |
23
+ | `[header-meta]` | One muted line under the title (author, dates, a description). Collapses when empty. |
24
+ | `[header-actions]` | Right aligned, level with the title; wraps as a row of its own when narrow. Collapses when empty. |
25
+
26
+ Empty slots collapse (`:empty`), including a slot filled by an `@if` that is currently false.
27
+
28
+ ## Example
29
+
30
+ ```html
31
+ <gbt-page-header heading="harbor">
32
+ <gbt-badge header-badges>Public</gbt-badge>
33
+ <span header-meta>florian · A self-hosted Git forge</span>
34
+ <gbt-button header-actions variant="secondary" size="small" text="Follow" />
35
+ </gbt-page-header>
36
+ ```
37
+
38
+ An issue page, with a number after the title:
39
+
40
+ ```html
41
+ <gbt-page-header heading="The label picker reloads in a loop">
42
+ <span header-title class="muted">#128</span>
43
+ <gbt-badge header-badges variant="success" icon="check">Open</gbt-badge>
44
+ <span header-meta><gbt-user-chip name="Alice Martin" /> opened this 2 days ago</span>
45
+ </gbt-page-header>
46
+ ```
47
+
48
+ ## Layout
49
+
50
+ The host is a block with a `1.5rem` bottom margin; the header has a hairline
51
+ (`--gbt-hairline`) under it. Give the header the same width as the content
52
+ below it: put both under the same `gbt-page-layout` or the same max-width.
53
+
54
+ ## Accessibility
55
+
56
+ See [AUDIT.md](AUDIT.md).
@@ -0,0 +1,76 @@
1
+ # PageLayout
2
+
3
+ The grid a page is built on: a main column, an optional side panel
4
+ (`[page-aside]`) and an optional navigation column (`[page-nav]`, on the
5
+ start side). It centres itself within a maximum width and **responds to the
6
+ width it actually gets** (a container query), not to the window's: inside an
7
+ application shell a 1024 px window leaves ~780 px beside a sidebar, which
8
+ cannot hold a 300 px aside next to readable content.
9
+
10
+ **Selector**: `gbt-page-layout`
11
+
12
+ ## Inputs
13
+
14
+ | Input | Type | Default | Role |
15
+ | --------------- | ------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
16
+ | `width` | `'narrow' \| 'default' \| 'wide' \| 'full'` | `'default'` | Max width, centred: 640 px (forms) \| 1200 px \| 1440 px \| none. |
17
+ | `asideWidth` | `'sm' \| 'md' \| 'lg'` | `'md'` | Aside column: 240 px \| 300 px \| 360 px. |
18
+ | `asidePosition` | `'start' \| 'end'` | `'end'` | Side of the aside when there is no nav column (with a nav, the aside always goes at the end). |
19
+ | `navLabel` | `string` | `'Page navigation'` | Accessible name of the `[page-nav]` landmark (the application shell has its own main navigation). |
20
+ | `asideLabel` | `string \| null` | `null` | Accessible name of the `[page-aside]` landmark (a complementary region). No name when `null`. |
21
+ | `stickyNav` | `boolean` | `false` | Keeps the nav column in view while a long main column scrolls (from two columns up). |
22
+
23
+ ## Slots
24
+
25
+ | Selector | Role |
26
+ | -------------- | -------------------------------------------------------------------------------------------------------------- |
27
+ | (default) | The main column. |
28
+ | `[page-nav]` | A navigation column on the start side, rendered in a `<nav>` named by `navLabel`. |
29
+ | `[page-aside]` | A side column, rendered in an `<aside>`. Typically a stack of [`gbt-panel`](../panel/README.md)s. |
30
+
31
+ Empty `[page-nav]` and `[page-aside]` are hidden (`:empty`): no column, no gap, no empty landmark.
32
+ The layout adds no `<main>`: the application shell already has one.
33
+
34
+ ## Columns (measured on the layout's own width)
35
+
36
+ | Layout width | Columns |
37
+ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
38
+ | up to 768 px | One column: nav, main, aside stacked in DOM order. The stacked aside opens with a hairline. |
39
+ | 769 to 1100 px | Main + aside, or nav + main (with an aside under main). Aside on the `asidePosition` side when there is no nav. |
40
+ | from 1101 px | Nav + main + aside side by side. The aside sticks (`top: 1rem`) while the main column scrolls, and so does the nav with `stickyNav`. |
41
+
42
+ ## Things to know
43
+
44
+ - **`@if` around a slot**: content projected into `[page-aside]` / `[page-nav]` inside an `@if` needs a
45
+ **single root element** carrying the attribute: `@if (x) { <div page-aside>…</div> }`.
46
+ - **Never make the layout a shrink-to-fit flex or grid item.** The host is a size container
47
+ (`container-type: inline-size`), which has no intrinsic width: give it a width or let it fill a block.
48
+ - Header and layout should share a frame: put a `gbt-page-header` inside the same `width`, or use
49
+ `width="wide"` for both.
50
+ - **Custom column widths**: `--gbt-page-aside-width` (240 / 300 / 360 px from `asideWidth`) and
51
+ `--gbt-page-nav-width` (240 px) are declared on the host, and setting either on the host (a class of
52
+ yours, a `style` binding) overrides the column width: `.blob-layout { --gbt-page-nav-width: 280px }`.
53
+ - **Your own responsive rules** query the same container: `@container gbt-page-layout (min-width: 769px)`
54
+ for anything inside the layout follows the layout's own width, exactly like the layout does.
55
+
56
+ ## Example
57
+
58
+ ```html
59
+ <gbt-page-header heading="harbor" />
60
+
61
+ <gbt-page-layout width="wide" asideWidth="sm" navLabel="Repository files" [stickyNav]="true">
62
+ <div page-nav>…files…</div>
63
+
64
+ <article>…main content…</article>
65
+
66
+ @if (about()) {
67
+ <div page-aside>
68
+ <gbt-panel heading="About" [headingLevel]="2">…</gbt-panel>
69
+ </div>
70
+ }
71
+ </gbt-page-layout>
72
+ ```
73
+
74
+ ## Accessibility
75
+
76
+ See [AUDIT.md](AUDIT.md).
@@ -0,0 +1,73 @@
1
+ # Pagination
2
+
3
+ Page navigation for a long list or table — fully controlled, like
4
+ `AppShell`'s `collapsed`: `Pagination` never slices your data or holds
5
+ its own page state, it only tells you which page the user picked.
6
+
7
+ **Selector**: `gbt-pagination`
8
+
9
+ ## Inputs
10
+
11
+ | Input | Type | Default | Role |
12
+ | -------------- | ---------------------------- | --------------------------- | --------------------------------------------------------------------- |
13
+ | `page` | `number` | `1` | The current page (1-indexed). Fully controlled — bind `[(page)]`. |
14
+ | `pageSize` | `number` | `10` | Items per page, used with `totalItems` to compute the page count. |
15
+ | `totalItems` | `number` | required | Total item count across all pages. |
16
+ | `siblingCount` | `number` | `1` | Page numbers shown on each side of the current page before an ellipsis takes over. |
17
+ | `disabled` | `boolean` | `false` | Disables every button and the page-size selector — e.g. while a page fetch is in flight, to prevent a second click from racing it. |
18
+ | `ariaLabel` | `string` | `'Pagination'` | Accessible name of the `<nav>`. |
19
+ | `previousLabel`| `string` | `'Previous page'` | Accessible name of the previous-page button. |
20
+ | `nextLabel` | `string` | `'Next page'` | Accessible name of the next-page button. |
21
+ | `pageLabel` | `(page: number) => string` | `` (page) => `Page ${page}` ``| Accessible name of each page-number button. |
22
+ | `pageSizeOptions` | `number[]` | `[]` | Page-size choices (e.g. `[10, 20, 30, 50, 100]`). Empty (default) hides the page-size selector entirely. |
23
+ | `pageSizeLabel` | `(size: number) => string`| `` (size) => `${size} / page` ``| Text for each option in the page-size selector. |
24
+ | `pageSizeSelectLabel` | `string` | `'Rows per page'` | Visible label of the page-size selector. |
25
+ | `showItemsSummary`| `boolean` | `false` | Shows "N of M items" next to the page-size selector. |
26
+ | `itemsSummaryLabel`| `(shown: number, total: number) => string` | `` (shown, total) => `${shown} of ${total} items` `` | Text of the items summary — `shown` already accounts for a shorter last page. |
27
+
28
+ ## Outputs
29
+
30
+ | Output | Type | Role |
31
+ | ---------------- | -------- | --------------------------------------------------------------- |
32
+ | `pageChange` | `number` | Emitted when a page number, or previous/next, is clicked — `Pagination` does not update `page` itself. Also emitted with `1` right after `pageSizeChange`, and automatically whenever the current `page` ends up outside `[1, pageCount]` (e.g. `totalItems` shrinks under a filter) — `Pagination` self-corrects instead of getting stuck with no page marked current. |
33
+ | `pageSizeChange` | `number` | Emitted when a new page size is picked from the selector — `Pagination` does not update `pageSize` itself. |
34
+
35
+ ## Example
36
+
37
+ ```html
38
+ <gbt-pagination
39
+ [totalItems]="users.length"
40
+ [pageSize]="pageSize"
41
+ [page]="page()"
42
+ (pageChange)="page.set($event)"
43
+ />
44
+ ```
45
+
46
+ Long lists get a windowed display with an ellipsis (`1 … 4 5 6 7 8 … 20`)
47
+ instead of every page number — widen or narrow the window with
48
+ `siblingCount`.
49
+
50
+ With `pageSizeOptions` and `showItemsSummary`: the items summary sits on
51
+ the left, the page-size selector on the right, and the page numbers stay
52
+ truly centered on the row regardless of how wide either side is:
53
+
54
+ ```html
55
+ <gbt-pagination
56
+ [totalItems]="users.length"
57
+ [pageSize]="pageSize()"
58
+ [page]="page()"
59
+ [pageSizeOptions]="[10, 20, 30, 50, 100]"
60
+ [showItemsSummary]="true"
61
+ (pageChange)="page.set($event)"
62
+ (pageSizeChange)="pageSize.set($event)"
63
+ />
64
+ ```
65
+
66
+ ## With Table
67
+
68
+ `Table` has no pagination logic of its own — it just renders whatever
69
+ `data` it's given — so it composes with `Pagination` without any extra
70
+ API on either side: slice the full dataset to the current page's slot
71
+ yourself and drive both from the same `page` value. See the `Table`
72
+ story `WithPagination` for a working example.
73
+
@@ -0,0 +1,56 @@
1
+ # Panel
2
+
3
+ A flat side-panel section: a small heading, an optional action on its
4
+ right, then the content. It sits on the page background (no card, no
5
+ shadow); consecutive panels are separated by a hairline. Made for the
6
+ `[page-aside]` of [`gbt-page-layout`](../page-layout/README.md)
7
+ (about, metadata, participants, filters…).
8
+
9
+ **Selector**: `gbt-panel`
10
+
11
+ ## Inputs
12
+
13
+ | Input | Type | Default | Role |
14
+ | -------------- | ------------- | ------- | ------------------------------------------------------------------------------------------------- |
15
+ | `heading` | `string` | — | Required. The small heading; it also names the `<section>` (`aria-labelledby`). |
16
+ | `headingLevel` | `2 \| 3 \| 4` | `3` | `3` under the page's `h1` + section `h2`s; `2` when the panel is a top-level section of the page. |
17
+
18
+ ## Slots
19
+
20
+ | Selector | Role |
21
+ | ----------------- | -------------------------------------------------------------------- |
22
+ | `[panel-actions]` | Right of the heading (an icon button, a link). Collapses when empty. |
23
+ | (default) | The panel's content (14 px text in `--text-primary`). |
24
+
25
+ ## Separator between panels
26
+
27
+ A panel that directly follows another gets `margin-top: 1rem`, `padding-top: 1rem` and a
28
+ `--gbt-hairline` border on top. Emulated view encapsulation cannot express "a panel after a panel"
29
+ from inside the component, so this is one rule that is not scoped to the component
30
+ (`gbt-panel + gbt-panel`), keyed on the element name. Put other content between two panels and the
31
+ separator is gone: it is the panels' business, not a general divider.
32
+
33
+ ## Example
34
+
35
+ ```html
36
+ <gbt-page-layout>
37
+ <p>Main content</p>
38
+
39
+ <div page-aside>
40
+ <gbt-panel heading="About" [headingLevel]="2">
41
+ <p>A self-hosted Git forge.</p>
42
+ </gbt-panel>
43
+ <gbt-panel heading="Contributors" [headingLevel]="2">
44
+ <gbt-button panel-actions variant="ghost" size="small" text="See all" />
45
+ <gbt-user-chip name="Alice Martin" />
46
+ </gbt-panel>
47
+ </div>
48
+ </gbt-page-layout>
49
+ ```
50
+
51
+ ## Accessibility
52
+
53
+ Each panel is a `<section>` labelled by its heading, so it is a named
54
+ region for screen reader users. Pick `headingLevel` so the panels fit your
55
+ outline (`2` for the panels of an aside next to a page `h1`, `3` inside a
56
+ section). See [AUDIT.md](AUDIT.md).