@tartaguti/ui-components 0.0.0-stage → 0.2.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 (392) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +21 -0
  3. package/README.md +192 -2
  4. package/THIRD-PARTY-NOTICES.md +29 -0
  5. package/custom-elements.json +16899 -0
  6. package/dist/accordion/tt-accordion-item.d.ts +32 -0
  7. package/dist/accordion/tt-accordion-item.d.ts.map +1 -0
  8. package/dist/accordion/tt-accordion-item.js +247 -0
  9. package/dist/accordion/tt-accordion-item.js.map +1 -0
  10. package/dist/accordion/tt-accordion.d.ts +28 -0
  11. package/dist/accordion/tt-accordion.d.ts.map +1 -0
  12. package/dist/accordion/tt-accordion.js +148 -0
  13. package/dist/accordion/tt-accordion.js.map +1 -0
  14. package/dist/bento/tt-bento-item.d.ts +35 -0
  15. package/dist/bento/tt-bento-item.d.ts.map +1 -0
  16. package/dist/bento/tt-bento-item.js +201 -0
  17. package/dist/bento/tt-bento-item.js.map +1 -0
  18. package/dist/bento/tt-bento.d.ts +25 -0
  19. package/dist/bento/tt-bento.d.ts.map +1 -0
  20. package/dist/bento/tt-bento.js +314 -0
  21. package/dist/bento/tt-bento.js.map +1 -0
  22. package/dist/floating.d.ts +61 -0
  23. package/dist/floating.d.ts.map +1 -0
  24. package/dist/floating.js +120 -0
  25. package/dist/floating.js.map +1 -0
  26. package/dist/index.d.ts +92 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +96 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/interaction/tt-draggable.d.ts +29 -0
  31. package/dist/interaction/tt-draggable.d.ts.map +1 -0
  32. package/dist/interaction/tt-draggable.js +66 -0
  33. package/dist/interaction/tt-draggable.js.map +1 -0
  34. package/dist/interaction/tt-droppable.d.ts +37 -0
  35. package/dist/interaction/tt-droppable.d.ts.map +1 -0
  36. package/dist/interaction/tt-droppable.js +108 -0
  37. package/dist/interaction/tt-droppable.js.map +1 -0
  38. package/dist/interaction/tt-resizable.d.ts +45 -0
  39. package/dist/interaction/tt-resizable.d.ts.map +1 -0
  40. package/dist/interaction/tt-resizable.js +210 -0
  41. package/dist/interaction/tt-resizable.js.map +1 -0
  42. package/dist/interaction/tt-reveal.d.ts +54 -0
  43. package/dist/interaction/tt-reveal.d.ts.map +1 -0
  44. package/dist/interaction/tt-reveal.js +302 -0
  45. package/dist/interaction/tt-reveal.js.map +1 -0
  46. package/dist/motion.d.ts +8 -0
  47. package/dist/motion.d.ts.map +1 -0
  48. package/dist/motion.js +49 -0
  49. package/dist/motion.js.map +1 -0
  50. package/dist/overlay.d.ts +7 -0
  51. package/dist/overlay.d.ts.map +1 -0
  52. package/dist/overlay.js +121 -0
  53. package/dist/overlay.js.map +1 -0
  54. package/dist/safe-url.d.ts +14 -0
  55. package/dist/safe-url.d.ts.map +1 -0
  56. package/dist/safe-url.js +46 -0
  57. package/dist/safe-url.js.map +1 -0
  58. package/dist/scroll-lock.d.ts +22 -0
  59. package/dist/scroll-lock.d.ts.map +1 -0
  60. package/dist/scroll-lock.js +56 -0
  61. package/dist/scroll-lock.js.map +1 -0
  62. package/dist/sidebar/tt-menu-group.d.ts +69 -0
  63. package/dist/sidebar/tt-menu-group.d.ts.map +1 -0
  64. package/dist/sidebar/tt-menu-group.js +358 -0
  65. package/dist/sidebar/tt-menu-group.js.map +1 -0
  66. package/dist/sidebar/tt-menu-item.d.ts +70 -0
  67. package/dist/sidebar/tt-menu-item.d.ts.map +1 -0
  68. package/dist/sidebar/tt-menu-item.js +502 -0
  69. package/dist/sidebar/tt-menu-item.js.map +1 -0
  70. package/dist/sidebar/tt-sidebar-footer.d.ts +39 -0
  71. package/dist/sidebar/tt-sidebar-footer.d.ts.map +1 -0
  72. package/dist/sidebar/tt-sidebar-footer.js +205 -0
  73. package/dist/sidebar/tt-sidebar-footer.js.map +1 -0
  74. package/dist/sidebar/tt-sidebar-header.d.ts +31 -0
  75. package/dist/sidebar/tt-sidebar-header.d.ts.map +1 -0
  76. package/dist/sidebar/tt-sidebar-header.js +150 -0
  77. package/dist/sidebar/tt-sidebar-header.js.map +1 -0
  78. package/dist/sidebar/tt-sidebar.d.ts +72 -0
  79. package/dist/sidebar/tt-sidebar.d.ts.map +1 -0
  80. package/dist/sidebar/tt-sidebar.js +539 -0
  81. package/dist/sidebar/tt-sidebar.js.map +1 -0
  82. package/dist/sr-only.d.ts +15 -0
  83. package/dist/sr-only.d.ts.map +1 -0
  84. package/dist/sr-only.js +27 -0
  85. package/dist/sr-only.js.map +1 -0
  86. package/dist/tokens.css +1124 -0
  87. package/dist/tt-alert.d.ts +26 -0
  88. package/dist/tt-alert.d.ts.map +1 -0
  89. package/dist/tt-alert.js +165 -0
  90. package/dist/tt-alert.js.map +1 -0
  91. package/dist/tt-aspect-ratio.d.ts +40 -0
  92. package/dist/tt-aspect-ratio.d.ts.map +1 -0
  93. package/dist/tt-aspect-ratio.js +98 -0
  94. package/dist/tt-aspect-ratio.js.map +1 -0
  95. package/dist/tt-auth.d.ts +75 -0
  96. package/dist/tt-auth.d.ts.map +1 -0
  97. package/dist/tt-auth.js +520 -0
  98. package/dist/tt-auth.js.map +1 -0
  99. package/dist/tt-avatar.d.ts +26 -0
  100. package/dist/tt-avatar.d.ts.map +1 -0
  101. package/dist/tt-avatar.js +169 -0
  102. package/dist/tt-avatar.js.map +1 -0
  103. package/dist/tt-badge.d.ts +36 -0
  104. package/dist/tt-badge.d.ts.map +1 -0
  105. package/dist/tt-badge.js +135 -0
  106. package/dist/tt-badge.js.map +1 -0
  107. package/dist/tt-breadcrumbs.d.ts +22 -0
  108. package/dist/tt-breadcrumbs.d.ts.map +1 -0
  109. package/dist/tt-breadcrumbs.js +144 -0
  110. package/dist/tt-breadcrumbs.js.map +1 -0
  111. package/dist/tt-button-group.d.ts +32 -0
  112. package/dist/tt-button-group.d.ts.map +1 -0
  113. package/dist/tt-button-group.js +132 -0
  114. package/dist/tt-button-group.js.map +1 -0
  115. package/dist/tt-button.d.ts +31 -0
  116. package/dist/tt-button.d.ts.map +1 -0
  117. package/dist/tt-button.js +483 -0
  118. package/dist/tt-button.js.map +1 -0
  119. package/dist/tt-card.d.ts +26 -0
  120. package/dist/tt-card.d.ts.map +1 -0
  121. package/dist/tt-card.js +429 -0
  122. package/dist/tt-card.js.map +1 -0
  123. package/dist/tt-chart.d.ts +36 -0
  124. package/dist/tt-chart.d.ts.map +1 -0
  125. package/dist/tt-chart.js +332 -0
  126. package/dist/tt-chart.js.map +1 -0
  127. package/dist/tt-checkbox-group.d.ts +38 -0
  128. package/dist/tt-checkbox-group.d.ts.map +1 -0
  129. package/dist/tt-checkbox-group.js +243 -0
  130. package/dist/tt-checkbox-group.js.map +1 -0
  131. package/dist/tt-checkbox.d.ts +35 -0
  132. package/dist/tt-checkbox.d.ts.map +1 -0
  133. package/dist/tt-checkbox.js +354 -0
  134. package/dist/tt-checkbox.js.map +1 -0
  135. package/dist/tt-code-block.d.ts +37 -0
  136. package/dist/tt-code-block.d.ts.map +1 -0
  137. package/dist/tt-code-block.js +409 -0
  138. package/dist/tt-code-block.js.map +1 -0
  139. package/dist/tt-collapsible.d.ts +71 -0
  140. package/dist/tt-collapsible.d.ts.map +1 -0
  141. package/dist/tt-collapsible.js +206 -0
  142. package/dist/tt-collapsible.js.map +1 -0
  143. package/dist/tt-combobox.d.ts +107 -0
  144. package/dist/tt-combobox.d.ts.map +1 -0
  145. package/dist/tt-combobox.js +816 -0
  146. package/dist/tt-combobox.js.map +1 -0
  147. package/dist/tt-company-card.d.ts +30 -0
  148. package/dist/tt-company-card.d.ts.map +1 -0
  149. package/dist/tt-company-card.js +382 -0
  150. package/dist/tt-company-card.js.map +1 -0
  151. package/dist/tt-comparison-table.d.ts +59 -0
  152. package/dist/tt-comparison-table.d.ts.map +1 -0
  153. package/dist/tt-comparison-table.js +441 -0
  154. package/dist/tt-comparison-table.js.map +1 -0
  155. package/dist/tt-component-doc.d.ts +63 -0
  156. package/dist/tt-component-doc.d.ts.map +1 -0
  157. package/dist/tt-component-doc.js +585 -0
  158. package/dist/tt-component-doc.js.map +1 -0
  159. package/dist/tt-confirm.d.ts +45 -0
  160. package/dist/tt-confirm.d.ts.map +1 -0
  161. package/dist/tt-confirm.js +151 -0
  162. package/dist/tt-confirm.js.map +1 -0
  163. package/dist/tt-contact-list.d.ts +18 -0
  164. package/dist/tt-contact-list.d.ts.map +1 -0
  165. package/dist/tt-contact-list.js +101 -0
  166. package/dist/tt-contact-list.js.map +1 -0
  167. package/dist/tt-copy-button.d.ts +25 -0
  168. package/dist/tt-copy-button.d.ts.map +1 -0
  169. package/dist/tt-copy-button.js +194 -0
  170. package/dist/tt-copy-button.js.map +1 -0
  171. package/dist/tt-data-table.d.ts +96 -0
  172. package/dist/tt-data-table.d.ts.map +1 -0
  173. package/dist/tt-data-table.js +812 -0
  174. package/dist/tt-data-table.js.map +1 -0
  175. package/dist/tt-divider.d.ts +19 -0
  176. package/dist/tt-divider.d.ts.map +1 -0
  177. package/dist/tt-divider.js +104 -0
  178. package/dist/tt-divider.js.map +1 -0
  179. package/dist/tt-drawer.d.ts +38 -0
  180. package/dist/tt-drawer.d.ts.map +1 -0
  181. package/dist/tt-drawer.js +433 -0
  182. package/dist/tt-drawer.js.map +1 -0
  183. package/dist/tt-dropdown-menu.d.ts +57 -0
  184. package/dist/tt-dropdown-menu.d.ts.map +1 -0
  185. package/dist/tt-dropdown-menu.js +631 -0
  186. package/dist/tt-dropdown-menu.js.map +1 -0
  187. package/dist/tt-empty-state.d.ts +13 -0
  188. package/dist/tt-empty-state.d.ts.map +1 -0
  189. package/dist/tt-empty-state.js +94 -0
  190. package/dist/tt-empty-state.js.map +1 -0
  191. package/dist/tt-example.d.ts +33 -0
  192. package/dist/tt-example.d.ts.map +1 -0
  193. package/dist/tt-example.js +250 -0
  194. package/dist/tt-example.js.map +1 -0
  195. package/dist/tt-file-upload.d.ts +85 -0
  196. package/dist/tt-file-upload.d.ts.map +1 -0
  197. package/dist/tt-file-upload.js +662 -0
  198. package/dist/tt-file-upload.js.map +1 -0
  199. package/dist/tt-filter.d.ts +62 -0
  200. package/dist/tt-filter.d.ts.map +1 -0
  201. package/dist/tt-filter.js +393 -0
  202. package/dist/tt-filter.js.map +1 -0
  203. package/dist/tt-form.d.ts +33 -0
  204. package/dist/tt-form.d.ts.map +1 -0
  205. package/dist/tt-form.js +202 -0
  206. package/dist/tt-form.js.map +1 -0
  207. package/dist/tt-grid.d.ts +22 -0
  208. package/dist/tt-grid.d.ts.map +1 -0
  209. package/dist/tt-grid.js +106 -0
  210. package/dist/tt-grid.js.map +1 -0
  211. package/dist/tt-icon.d.ts +20 -0
  212. package/dist/tt-icon.d.ts.map +1 -0
  213. package/dist/tt-icon.js +510 -0
  214. package/dist/tt-icon.js.map +1 -0
  215. package/dist/tt-image.d.ts +59 -0
  216. package/dist/tt-image.d.ts.map +1 -0
  217. package/dist/tt-image.js +314 -0
  218. package/dist/tt-image.js.map +1 -0
  219. package/dist/tt-inbox.d.ts +45 -0
  220. package/dist/tt-inbox.d.ts.map +1 -0
  221. package/dist/tt-inbox.js +275 -0
  222. package/dist/tt-inbox.js.map +1 -0
  223. package/dist/tt-input.d.ts +43 -0
  224. package/dist/tt-input.d.ts.map +1 -0
  225. package/dist/tt-input.js +476 -0
  226. package/dist/tt-input.js.map +1 -0
  227. package/dist/tt-kbd.d.ts +39 -0
  228. package/dist/tt-kbd.d.ts.map +1 -0
  229. package/dist/tt-kbd.js +145 -0
  230. package/dist/tt-kbd.js.map +1 -0
  231. package/dist/tt-key-values.d.ts +17 -0
  232. package/dist/tt-key-values.d.ts.map +1 -0
  233. package/dist/tt-key-values.js +126 -0
  234. package/dist/tt-key-values.js.map +1 -0
  235. package/dist/tt-knowledge-doc.d.ts +24 -0
  236. package/dist/tt-knowledge-doc.d.ts.map +1 -0
  237. package/dist/tt-knowledge-doc.js +120 -0
  238. package/dist/tt-knowledge-doc.js.map +1 -0
  239. package/dist/tt-layout.d.ts +36 -0
  240. package/dist/tt-layout.d.ts.map +1 -0
  241. package/dist/tt-layout.js +318 -0
  242. package/dist/tt-layout.js.map +1 -0
  243. package/dist/tt-modal.d.ts +32 -0
  244. package/dist/tt-modal.d.ts.map +1 -0
  245. package/dist/tt-modal.js +553 -0
  246. package/dist/tt-modal.js.map +1 -0
  247. package/dist/tt-navbar.d.ts +33 -0
  248. package/dist/tt-navbar.d.ts.map +1 -0
  249. package/dist/tt-navbar.js +390 -0
  250. package/dist/tt-navbar.js.map +1 -0
  251. package/dist/tt-page-header.d.ts +28 -0
  252. package/dist/tt-page-header.d.ts.map +1 -0
  253. package/dist/tt-page-header.js +166 -0
  254. package/dist/tt-page-header.js.map +1 -0
  255. package/dist/tt-page.d.ts +14 -0
  256. package/dist/tt-page.d.ts.map +1 -0
  257. package/dist/tt-page.js +163 -0
  258. package/dist/tt-page.js.map +1 -0
  259. package/dist/tt-pagination.d.ts +27 -0
  260. package/dist/tt-pagination.d.ts.map +1 -0
  261. package/dist/tt-pagination.js +194 -0
  262. package/dist/tt-pagination.js.map +1 -0
  263. package/dist/tt-preview.d.ts +11 -0
  264. package/dist/tt-preview.d.ts.map +1 -0
  265. package/dist/tt-preview.js +68 -0
  266. package/dist/tt-preview.js.map +1 -0
  267. package/dist/tt-product.d.ts +40 -0
  268. package/dist/tt-product.d.ts.map +1 -0
  269. package/dist/tt-product.js +590 -0
  270. package/dist/tt-product.js.map +1 -0
  271. package/dist/tt-profile-card.d.ts +23 -0
  272. package/dist/tt-profile-card.d.ts.map +1 -0
  273. package/dist/tt-profile-card.js +199 -0
  274. package/dist/tt-profile-card.js.map +1 -0
  275. package/dist/tt-progress.d.ts +26 -0
  276. package/dist/tt-progress.d.ts.map +1 -0
  277. package/dist/tt-progress.js +156 -0
  278. package/dist/tt-progress.js.map +1 -0
  279. package/dist/tt-quantity.d.ts +36 -0
  280. package/dist/tt-quantity.d.ts.map +1 -0
  281. package/dist/tt-quantity.js +396 -0
  282. package/dist/tt-quantity.js.map +1 -0
  283. package/dist/tt-radio-group.d.ts +50 -0
  284. package/dist/tt-radio-group.d.ts.map +1 -0
  285. package/dist/tt-radio-group.js +372 -0
  286. package/dist/tt-radio-group.js.map +1 -0
  287. package/dist/tt-rating.d.ts +54 -0
  288. package/dist/tt-rating.d.ts.map +1 -0
  289. package/dist/tt-rating.js +312 -0
  290. package/dist/tt-rating.js.map +1 -0
  291. package/dist/tt-search.d.ts +47 -0
  292. package/dist/tt-search.d.ts.map +1 -0
  293. package/dist/tt-search.js +360 -0
  294. package/dist/tt-search.js.map +1 -0
  295. package/dist/tt-section.d.ts +13 -0
  296. package/dist/tt-section.d.ts.map +1 -0
  297. package/dist/tt-section.js +98 -0
  298. package/dist/tt-section.js.map +1 -0
  299. package/dist/tt-select.d.ts +62 -0
  300. package/dist/tt-select.d.ts.map +1 -0
  301. package/dist/tt-select.js +662 -0
  302. package/dist/tt-select.js.map +1 -0
  303. package/dist/tt-skeleton.d.ts +20 -0
  304. package/dist/tt-skeleton.d.ts.map +1 -0
  305. package/dist/tt-skeleton.js +143 -0
  306. package/dist/tt-skeleton.js.map +1 -0
  307. package/dist/tt-slider.d.ts +74 -0
  308. package/dist/tt-slider.d.ts.map +1 -0
  309. package/dist/tt-slider.js +426 -0
  310. package/dist/tt-slider.js.map +1 -0
  311. package/dist/tt-social-links.d.ts +34 -0
  312. package/dist/tt-social-links.d.ts.map +1 -0
  313. package/dist/tt-social-links.js +242 -0
  314. package/dist/tt-social-links.js.map +1 -0
  315. package/dist/tt-sparkline.d.ts +19 -0
  316. package/dist/tt-sparkline.d.ts.map +1 -0
  317. package/dist/tt-sparkline.js +191 -0
  318. package/dist/tt-sparkline.js.map +1 -0
  319. package/dist/tt-spinner.d.ts +19 -0
  320. package/dist/tt-spinner.d.ts.map +1 -0
  321. package/dist/tt-spinner.js +93 -0
  322. package/dist/tt-spinner.js.map +1 -0
  323. package/dist/tt-stack.d.ts +42 -0
  324. package/dist/tt-stack.d.ts.map +1 -0
  325. package/dist/tt-stack.js +158 -0
  326. package/dist/tt-stack.js.map +1 -0
  327. package/dist/tt-stat.d.ts +17 -0
  328. package/dist/tt-stat.d.ts.map +1 -0
  329. package/dist/tt-stat.js +134 -0
  330. package/dist/tt-stat.js.map +1 -0
  331. package/dist/tt-switch.d.ts +39 -0
  332. package/dist/tt-switch.d.ts.map +1 -0
  333. package/dist/tt-switch.js +254 -0
  334. package/dist/tt-switch.js.map +1 -0
  335. package/dist/tt-switcher.d.ts +23 -0
  336. package/dist/tt-switcher.d.ts.map +1 -0
  337. package/dist/tt-switcher.js +203 -0
  338. package/dist/tt-switcher.js.map +1 -0
  339. package/dist/tt-table-cell.d.ts +26 -0
  340. package/dist/tt-table-cell.d.ts.map +1 -0
  341. package/dist/tt-table-cell.js +121 -0
  342. package/dist/tt-table-cell.js.map +1 -0
  343. package/dist/tt-table-row.d.ts +31 -0
  344. package/dist/tt-table-row.d.ts.map +1 -0
  345. package/dist/tt-table-row.js +72 -0
  346. package/dist/tt-table-row.js.map +1 -0
  347. package/dist/tt-table.d.ts +44 -0
  348. package/dist/tt-table.d.ts.map +1 -0
  349. package/dist/tt-table.js +270 -0
  350. package/dist/tt-table.js.map +1 -0
  351. package/dist/tt-tabs.d.ts +31 -0
  352. package/dist/tt-tabs.d.ts.map +1 -0
  353. package/dist/tt-tabs.js +223 -0
  354. package/dist/tt-tabs.js.map +1 -0
  355. package/dist/tt-tag-list.d.ts +19 -0
  356. package/dist/tt-tag-list.d.ts.map +1 -0
  357. package/dist/tt-tag-list.js +136 -0
  358. package/dist/tt-tag-list.js.map +1 -0
  359. package/dist/tt-text.d.ts +52 -0
  360. package/dist/tt-text.d.ts.map +1 -0
  361. package/dist/tt-text.js +337 -0
  362. package/dist/tt-text.js.map +1 -0
  363. package/dist/tt-textarea.d.ts +43 -0
  364. package/dist/tt-textarea.d.ts.map +1 -0
  365. package/dist/tt-textarea.js +356 -0
  366. package/dist/tt-textarea.js.map +1 -0
  367. package/dist/tt-thread.d.ts +62 -0
  368. package/dist/tt-thread.d.ts.map +1 -0
  369. package/dist/tt-thread.js +374 -0
  370. package/dist/tt-thread.js.map +1 -0
  371. package/dist/tt-toast.d.ts +49 -0
  372. package/dist/tt-toast.d.ts.map +1 -0
  373. package/dist/tt-toast.js +440 -0
  374. package/dist/tt-toast.js.map +1 -0
  375. package/dist/tt-toggle-group.d.ts +73 -0
  376. package/dist/tt-toggle-group.d.ts.map +1 -0
  377. package/dist/tt-toggle-group.js +273 -0
  378. package/dist/tt-toggle-group.js.map +1 -0
  379. package/dist/tt-toggle.d.ts +54 -0
  380. package/dist/tt-toggle.d.ts.map +1 -0
  381. package/dist/tt-toggle.js +232 -0
  382. package/dist/tt-toggle.js.map +1 -0
  383. package/dist/tt-toolbar.d.ts +26 -0
  384. package/dist/tt-toolbar.d.ts.map +1 -0
  385. package/dist/tt-toolbar.js +164 -0
  386. package/dist/tt-toolbar.js.map +1 -0
  387. package/dist/tt-tooltip.d.ts +42 -0
  388. package/dist/tt-tooltip.d.ts.map +1 -0
  389. package/dist/tt-tooltip.js +299 -0
  390. package/dist/tt-tooltip.js.map +1 -0
  391. package/package.json +84 -4
  392. package/vscode.html-custom-data.json +2911 -0
@@ -0,0 +1,429 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, css, nothing } from "lit";
8
+ import { customElement, property, state } from "lit/decorators.js";
9
+ import { ifDefined } from "lit/directives/if-defined.js";
10
+ let TTCard = class TTCard extends LitElement {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.variant = "default";
14
+ // Reflected, like radius, because the presets are :host([padding])
15
+ // rules. They have to live on :host, next to the --tt-card-* variables
16
+ // they set; see the styles for why that level matters.
17
+ this.padding = "medium";
18
+ this.radius = "medium";
19
+ this.clickable = false;
20
+ // Hugs its content instead of filling the row. Reflected so the
21
+ // :host([inline]) selector below can react to it.
22
+ this.inline = false;
23
+ /*
24
+ The title row. Most cards are "a title, maybe a line under it, maybe
25
+ an action on the right", and hand-built headers had drifted: a bare
26
+ div on one page, a <strong> on the next, each styled by whoever wrote
27
+ it. These give every card the same header; the header slot stays for
28
+ anything they do not cover.
29
+ */
30
+ this.heading = "";
31
+ this.description = "";
32
+ // A card cannot know where it sits in the page outline, so the level is
33
+ // the author's call, as on tt-accordion-item.
34
+ this.headingLevel = 3;
35
+ // Whether anything is slotted into header or actions. There is no CSS
36
+ // selector for "this slot has content", so slotchange records it, and
37
+ // an empty header row takes no space and adds no gap.
38
+ this.hasHeaderSlot = false;
39
+ this.hasActions = false;
40
+ this.onKeydown = (event) => {
41
+ /*
42
+ Only a key pressed on the card itself. Keys bubble, so Enter on a
43
+ button slotted inside the card reaches this handler too, and would
44
+ click the card as well as the button.
45
+ */
46
+ if (event.target !== event.currentTarget)
47
+ return;
48
+ if (event.key === "Enter" || event.key === " ") {
49
+ event.preventDefault();
50
+ this.click();
51
+ }
52
+ };
53
+ }
54
+ static { this.styles = css `
55
+ /* The browser's own [hidden] rule loses to any :host display, so a
56
+ hidden element would still show. Important, so it always wins. */
57
+ :host([hidden]) {
58
+ display: none !important;
59
+ }
60
+
61
+ :host {
62
+ /*
63
+ Public knobs. Set them on the card itself, inline or with a class:
64
+ <tt-card style="--tt-card-padding-x: 2rem">.
65
+
66
+ Declared on :host and nowhere lower. A consumer's rule on the
67
+ element beats :host, but loses to anything declared further down
68
+ inside the shadow root, and the presets used to set these on the
69
+ inner .card, which silently overrode every consumer value.
70
+ */
71
+ /*
72
+ The medium defaults. Were 16px padding on an 8px corner, the
73
+ CONTROL radius, while tokens.css assigns lg to cards. Every block
74
+ overrode both upwards, and a card nobody could override, such as
75
+ the one inside tt-stat, stayed tight beside them: a dashboard's
76
+ stat tiles had sharper, more cramped corners than the chart card
77
+ under them.
78
+ */
79
+ --tt-card-padding-y: var(--tt-space-5);
80
+ --tt-card-padding-x: var(--tt-space-5);
81
+ --tt-card-gap: var(--tt-space-4);
82
+ --tt-card-radius: var(--tt-radius-lg);
83
+
84
+ /*
85
+ Concentric corners. A slotted child that fills the padding box
86
+ reads --tt-radius-nested and gets a curve parallel to the card's,
87
+ instead of two unrelated arcs meeting at the corner. The smaller
88
+ padding is the one the eye measures against; floored at sm so a
89
+ tight card cannot produce a negative radius.
90
+
91
+ Computed HERE, next to the presets. A custom property resolves its
92
+ var()s on the element that declares it, so while this sat on :host
93
+ and the presets sat on the inner .card, it always used the host
94
+ defaults: an xlarge card with small padding still handed its
95
+ children a 4px corner.
96
+ */
97
+ --tt-radius-nested: max(
98
+ var(--tt-radius-sm),
99
+ calc(
100
+ var(--tt-card-radius) -
101
+ min(var(--tt-card-padding-x), var(--tt-card-padding-y))
102
+ )
103
+ );
104
+
105
+ display: block;
106
+
107
+ /*
108
+ Grid and flex items default to min-width:auto, so they refuse to
109
+ shrink below their content. A long URL then pushes the card wider
110
+ than its cell. This lets it shrink and the content wrap instead.
111
+ */
112
+ min-width: 0;
113
+
114
+ /*
115
+ text-align inherits, so a card inside a centred section centred its
116
+ heading and body by accident. Same fix as tt-product. A consumer
117
+ who wants a centred card still gets one: their rule beats :host.
118
+ */
119
+ text-align: start;
120
+
121
+ color: var(--tt-card-foreground);
122
+ font-family: var(--tt-font-sans);
123
+ -webkit-font-smoothing: antialiased;
124
+ text-rendering: optimizeLegibility;
125
+ }
126
+
127
+ :host([inline]) {
128
+ display: inline-block;
129
+ vertical-align: top;
130
+ }
131
+
132
+ /* ---- Padding presets (medium is the :host default) ---- */
133
+
134
+ :host([padding="none"]) {
135
+ --tt-card-padding-y: 0px;
136
+ --tt-card-padding-x: 0px;
137
+ --tt-card-gap: 0px;
138
+ }
139
+
140
+ :host([padding="small"]) {
141
+ --tt-card-padding-y: var(--tt-space-2);
142
+ --tt-card-padding-x: var(--tt-space-2);
143
+ --tt-card-gap: var(--tt-space-2);
144
+ }
145
+
146
+ :host([padding="large"]) {
147
+ --tt-card-padding-y: var(--tt-space-6);
148
+ --tt-card-padding-x: var(--tt-space-8);
149
+ --tt-card-gap: var(--tt-space-6);
150
+ }
151
+
152
+ /* ---- Radius presets (medium is the :host default) ----
153
+ One rung up the token scale from where they started, so the
154
+ default lands on lg, the card rung, and the five words still name
155
+ five different corners: small is a control's corner, large a
156
+ panel's, xlarge a bento tile's. */
157
+
158
+ :host([radius="none"]) {
159
+ --tt-card-radius: 0px;
160
+ }
161
+
162
+ :host([radius="small"]) {
163
+ --tt-card-radius: var(--tt-radius-md);
164
+ }
165
+
166
+ :host([radius="large"]) {
167
+ --tt-card-radius: var(--tt-radius-xl);
168
+ }
169
+
170
+ :host([radius="xlarge"]) {
171
+ --tt-card-radius: var(--tt-radius-2xl);
172
+ }
173
+
174
+ .card {
175
+ box-sizing: border-box;
176
+ display: flex;
177
+ flex-direction: column;
178
+ gap: var(--tt-card-gap);
179
+ min-width: 0;
180
+ width: 100%;
181
+
182
+ /*
183
+ Fill the host. Grid and flex stretch the HOST to the tallest card
184
+ in the row; without this the visible box stays content-sized and
185
+ a row of cards looks ragged. Pairs with the footer's margin-top:
186
+ auto below.
187
+ */
188
+ height: 100%;
189
+
190
+ padding: var(--tt-card-padding-y) var(--tt-card-padding-x);
191
+
192
+ background: var(--tt-card);
193
+ color: var(--tt-card-foreground);
194
+
195
+ border: 1px solid var(--tt-border);
196
+ border-radius: var(--tt-card-radius);
197
+
198
+ /* Rung 1 of the elevation table in tokens.css, which lists cards:
199
+ the card surface AND its shadow. The default had the surface and
200
+ no shadow, so a card on the page grey had a hairline and no edge
201
+ underneath. A theme decides how much this shows: sharp sets it
202
+ to none. */
203
+ box-shadow: var(--tt-elevation-1);
204
+
205
+ transition:
206
+ border-color var(--tt-duration-normal) var(--tt-ease),
207
+ box-shadow var(--tt-duration-normal) var(--tt-ease),
208
+ background-color var(--tt-duration-normal) var(--tt-ease);
209
+ }
210
+
211
+ /* ---- Variants ---- */
212
+
213
+ /* No surface, so no shadow: a shadow under a see-through box reads
214
+ as a smudge, not as height. */
215
+ .variant-outlined {
216
+ background: transparent;
217
+ box-shadow: none;
218
+ }
219
+
220
+ .variant-elevated {
221
+ border-color: transparent;
222
+ box-shadow: var(--tt-elevation-1);
223
+ }
224
+
225
+ /* ---- Interaction ---- */
226
+
227
+ .clickable {
228
+ cursor: pointer;
229
+ -webkit-user-select: none;
230
+ user-select: none;
231
+ }
232
+
233
+ .clickable:hover {
234
+ border-color: var(--tt-border-strong);
235
+ box-shadow: var(--tt-elevation-1);
236
+ }
237
+
238
+ .variant-elevated.clickable:hover {
239
+ box-shadow: var(--tt-elevation-2);
240
+ }
241
+
242
+ .clickable:active {
243
+ box-shadow: none;
244
+ }
245
+
246
+ .clickable:focus-visible {
247
+ outline: var(--tt-ring-width) solid var(--tt-ring);
248
+ outline-offset: var(--tt-ring-offset);
249
+ }
250
+
251
+ /* ---- Header ---- */
252
+
253
+ /* Sits a little closer to the body than the gap: it labels what
254
+ follows, so it belongs with it. */
255
+ .header {
256
+ display: flex;
257
+ align-items: flex-start;
258
+ gap: var(--tt-space-3);
259
+ margin-bottom: calc(var(--tt-card-gap) * -0.5);
260
+ }
261
+
262
+ /* The author rule above would otherwise beat the UA's [hidden]. */
263
+ .header[hidden] {
264
+ display: none;
265
+ }
266
+
267
+ /* The titles take what is left and wrap; the actions keep their size. */
268
+ .titles {
269
+ flex: 1;
270
+ min-width: 0;
271
+
272
+ display: flex;
273
+ flex-direction: column;
274
+ gap: var(--tt-space-1);
275
+ }
276
+
277
+ .heading {
278
+ color: var(--tt-foreground);
279
+ font-size: var(--tt-text-md);
280
+ font-weight: var(--tt-weight-semibold);
281
+ line-height: var(--tt-leading-tight);
282
+ letter-spacing: -0.01em;
283
+ overflow-wrap: break-word;
284
+ }
285
+
286
+ .description {
287
+ color: var(--tt-muted-foreground);
288
+ font-size: var(--tt-text-sm);
289
+ line-height: var(--tt-leading-normal);
290
+ }
291
+
292
+ /* ---- Slotted content ---- */
293
+
294
+ ::slotted(*) {
295
+ min-width: 0;
296
+ margin: 0;
297
+ }
298
+
299
+ ::slotted([slot="actions"]) {
300
+ flex: none;
301
+ }
302
+
303
+ /* auto pushes the footer to the bottom of a stretched card, so
304
+ footers line up across a row whatever the content above them. */
305
+ ::slotted([slot="footer"]) {
306
+ margin-top: auto;
307
+ }
308
+
309
+ /*
310
+ Full-bleed image. The card's padding is cancelled with a matching
311
+ negative margin, and the width grows by the horizontal padding on
312
+ both sides so the image reaches the card edges.
313
+
314
+ The image rounds its own top corners rather than the card clipping
315
+ them with overflow:hidden, which would also cut off anything else
316
+ that needs to escape the card, such as a dropdown. The inner radius
317
+ is the card's less its 1px border.
318
+ */
319
+ ::slotted([slot="image"]) {
320
+ display: block;
321
+ box-sizing: border-box;
322
+ width: calc(100% + var(--tt-card-padding-x) * 2);
323
+
324
+ margin: calc(var(--tt-card-padding-y) * -1)
325
+ calc(var(--tt-card-padding-x) * -1) calc(var(--tt-card-gap) * -0.5);
326
+
327
+ border-radius: calc(var(--tt-card-radius) - 1px)
328
+ calc(var(--tt-card-radius) - 1px) 0 0;
329
+
330
+ object-fit: cover;
331
+ }
332
+
333
+ @media (prefers-reduced-motion: reduce) {
334
+ .card {
335
+ transition: none;
336
+ }
337
+ }
338
+ `; }
339
+ onSlotChange(event) {
340
+ const slot = event.target;
341
+ // Whitespace between tags is not content.
342
+ const filled = slot
343
+ .assignedNodes({ flatten: true })
344
+ .some((node) => node.nodeType === Node.ELEMENT_NODE ||
345
+ (node.textContent ?? "").trim() !== "");
346
+ if (slot.name === "actions")
347
+ this.hasActions = filled;
348
+ else
349
+ this.hasHeaderSlot = filled;
350
+ }
351
+ render() {
352
+ const interactive = this.clickable;
353
+ const hasHeader = Boolean(this.heading || this.description || this.hasHeaderSlot || this.hasActions);
354
+ return html `
355
+ <div
356
+ part="card"
357
+ class="card variant-${this.variant} ${interactive ? "clickable" : ""}"
358
+ tabindex=${ifDefined(interactive ? "0" : undefined)}
359
+ role=${ifDefined(interactive ? "button" : undefined)}
360
+ @keydown=${interactive ? this.onKeydown : nothing}
361
+ >
362
+ <slot name="image"></slot>
363
+
364
+ <!-- Always rendered, so its slots exist and report slotchange;
365
+ hidden when there is nothing to show. -->
366
+ <div class="header" part="header" ?hidden=${!hasHeader}>
367
+ <div class="titles">
368
+ ${this.heading
369
+ ? html `<div
370
+ class="heading"
371
+ part="heading"
372
+ role="heading"
373
+ aria-level=${this.headingLevel}
374
+ >
375
+ ${this.heading}
376
+ </div>`
377
+ : nothing}
378
+ ${this.description
379
+ ? html `<div class="description" part="description">
380
+ ${this.description}
381
+ </div>`
382
+ : nothing}
383
+ <slot name="header" @slotchange=${this.onSlotChange}></slot>
384
+ </div>
385
+
386
+ <slot name="actions" @slotchange=${this.onSlotChange}></slot>
387
+ </div>
388
+
389
+ <slot></slot>
390
+ <slot name="footer"></slot>
391
+ </div>
392
+ `;
393
+ }
394
+ };
395
+ __decorate([
396
+ property({ type: String })
397
+ ], TTCard.prototype, "variant", void 0);
398
+ __decorate([
399
+ property({ type: String, reflect: true })
400
+ ], TTCard.prototype, "padding", void 0);
401
+ __decorate([
402
+ property({ type: String, reflect: true })
403
+ ], TTCard.prototype, "radius", void 0);
404
+ __decorate([
405
+ property({ type: Boolean })
406
+ ], TTCard.prototype, "clickable", void 0);
407
+ __decorate([
408
+ property({ type: Boolean, reflect: true })
409
+ ], TTCard.prototype, "inline", void 0);
410
+ __decorate([
411
+ property({ type: String })
412
+ ], TTCard.prototype, "heading", void 0);
413
+ __decorate([
414
+ property({ type: String })
415
+ ], TTCard.prototype, "description", void 0);
416
+ __decorate([
417
+ property({ type: Number, attribute: "heading-level" })
418
+ ], TTCard.prototype, "headingLevel", void 0);
419
+ __decorate([
420
+ state()
421
+ ], TTCard.prototype, "hasHeaderSlot", void 0);
422
+ __decorate([
423
+ state()
424
+ ], TTCard.prototype, "hasActions", void 0);
425
+ TTCard = __decorate([
426
+ customElement("tt-card")
427
+ ], TTCard);
428
+ export { TTCard };
429
+ //# sourceMappingURL=tt-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tt-card.js","sourceRoot":"","sources":["../src/tt-card.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { LitElement } from "lit";
2
+ import type { PropertyValues } from "lit";
3
+ import type { ChartType } from "chart.js";
4
+ export interface ChartSeries {
5
+ label: string;
6
+ data: number[];
7
+ }
8
+ export declare class TTChart extends LitElement {
9
+ type: ChartType;
10
+ labels: string[];
11
+ series: ChartSeries[];
12
+ legend: boolean;
13
+ stacked: boolean;
14
+ label: string;
15
+ private canvas;
16
+ private chart?;
17
+ private resizeObserver?;
18
+ private themeObserver?;
19
+ private token;
20
+ private get palette();
21
+ connectedCallback(): void;
22
+ disconnectedCallback(): void;
23
+ firstUpdated(): void;
24
+ private observeSize;
25
+ updated(changed: PropertyValues): void;
26
+ private waited;
27
+ private rebuild;
28
+ static styles: import("lit").CSSResult[];
29
+ render(): import("lit-html").TemplateResult<1>;
30
+ }
31
+ declare global {
32
+ interface HTMLElementTagNameMap {
33
+ "tt-chart": TTChart;
34
+ }
35
+ }
36
+ //# sourceMappingURL=tt-chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tt-chart.d.ts","sourceRoot":"","sources":["../src/tt-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1C,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,UAAU,CAAC;AAM9D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,qBACa,OAAQ,SAAQ,UAAU;IACT,IAAI,EAAE,SAAS,CAAS;IAEzB,MAAM,EAAE,MAAM,EAAE,CAAM;IAEtB,MAAM,EAAE,WAAW,EAAE,CAAM;IAEzB,MAAM,UAAS;IAEf,OAAO,UAAS;IAIjB,KAAK,SAAM;IAEtB,OAAO,CAAC,MAAM,CAAqB;IAEpD,OAAO,CAAC,KAAK,CAAC,CAAQ;IAEtB,OAAO,CAAC,cAAc,CAAC,CAAiB;IAKxC,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEzC,OAAO,CAAC,KAAK;IAIb,OAAO,KAAK,OAAO,GAQlB;IAED,iBAAiB;IAyBjB,oBAAoB;IAkBpB,YAAY;IAOZ,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,OAAO,EAAE,cAAc;IAiB/B,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,OAAO;IAuJf,MAAM,CAAC,MAAM,4BA2BX;IAEF,MAAM;CAuCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}