@tartaguti/ui-components 0.0.0-stage → 0.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 (392) hide show
  1. package/CHANGELOG.md +7 -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 +16731 -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 +69 -0
  172. package/dist/tt-data-table.d.ts.map +1 -0
  173. package/dist/tt-data-table.js +542 -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 +2907 -0
@@ -0,0 +1,94 @@
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 } from "lit";
8
+ import { property, customElement } from "lit/decorators.js";
9
+ let TTEmptyState = class TTEmptyState extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.heading = "";
13
+ this.description = "";
14
+ }
15
+ static { this.styles = css `
16
+ /* The browser's own [hidden] rule loses to any :host display, so a
17
+ hidden element would still show. Important, so it always wins. */
18
+ :host([hidden]) {
19
+ display: none !important;
20
+ }
21
+
22
+ :host {
23
+ display: block;
24
+ font-family: var(--tt-font-sans);
25
+ }
26
+
27
+ .empty {
28
+ display: flex;
29
+ flex-direction: column;
30
+ align-items: center;
31
+ gap: var(--tt-space-3);
32
+
33
+ padding: var(--tt-space-12) var(--tt-space-6);
34
+
35
+ border: 1px dashed var(--tt-border);
36
+ border-radius: var(--tt-radius-lg);
37
+
38
+ text-align: center;
39
+ }
40
+
41
+ .heading {
42
+ color: var(--tt-foreground);
43
+ font-size: var(--tt-text-sm);
44
+ font-weight: var(--tt-weight-semibold);
45
+ }
46
+
47
+ .description {
48
+ max-width: 40ch;
49
+
50
+ color: var(--tt-muted-foreground);
51
+ font-size: var(--tt-text-sm);
52
+ line-height: var(--tt-leading-normal);
53
+ }
54
+
55
+ /* Sized here rather than by the caller, so every empty state matches. */
56
+ ::slotted([slot="icon"]) {
57
+ width: 32px;
58
+ height: 32px;
59
+ color: var(--tt-muted-foreground);
60
+ }
61
+ `; }
62
+ render() {
63
+ return html `
64
+ <div class="empty" part="empty">
65
+ <slot name="icon"></slot>
66
+
67
+ ${this.heading
68
+ ? html `<div class="heading" part="heading">${this.heading}</div>`
69
+ : ""}
70
+
71
+ ${this.description
72
+ ? html `
73
+ <div class="description" part="description">
74
+ ${this.description}
75
+ </div>
76
+ `
77
+ : ""}
78
+
79
+ <slot name="actions"></slot>
80
+ </div>
81
+ `;
82
+ }
83
+ };
84
+ __decorate([
85
+ property({ type: String })
86
+ ], TTEmptyState.prototype, "heading", void 0);
87
+ __decorate([
88
+ property({ type: String })
89
+ ], TTEmptyState.prototype, "description", void 0);
90
+ TTEmptyState = __decorate([
91
+ customElement("tt-empty-state")
92
+ ], TTEmptyState);
93
+ export { TTEmptyState };
94
+ //# sourceMappingURL=tt-empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tt-empty-state.js","sourceRoot":"","sources":["../src/tt-empty-state.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QACuB,YAAO,GAAG,EAAE,CAAC;QACb,gBAAW,GAAG,EAAE,CAAC;IAuE/C,CAAC;aArEQ,WAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8ClB,AA9CY,CA8CX;IAEF,MAAM;QACJ,OAAO,IAAI,CAAA;;;;UAIL,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,IAAI,CAAA,uCAAuC,IAAI,CAAC,OAAO,QAAQ;YACjE,CAAC,CAAC,EAAE;;UAEJ,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,IAAI,CAAA;;kBAEE,IAAI,CAAC,WAAW;;aAErB;YACH,CAAC,CAAC,EAAE;;;;KAIT,CAAC;IACJ,CAAC;;AAvE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAc;AACb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAkB;AAFlC,YAAY;IADxB,aAAa,CAAC,gBAAgB,CAAC;GACnB,YAAY,CAyExB"}
@@ -0,0 +1,33 @@
1
+ import { LitElement } from "lit";
2
+ import "./tt-preview.js";
3
+ import "./tt-code-block.js";
4
+ /**
5
+ * One worked example: a live rendering and the markup that produced it,
6
+ * behind a Preview / Code switch.
7
+ *
8
+ * <tt-example heading="Multiple open" code=${snippet}>
9
+ * <tt-accordion multiple>...</tt-accordion>
10
+ * </tt-example>
11
+ *
12
+ * The point is that the two halves cannot drift apart on the page the way a
13
+ * separate preview box and a separate code block do. Both panels stay in the
14
+ * DOM and are toggled with `hidden`, so switching does not tear down and
15
+ * rebuild a live component you were in the middle of poking at.
16
+ */
17
+ export declare class TTExample extends LitElement {
18
+ heading: string;
19
+ description: string;
20
+ code: string;
21
+ language: string;
22
+ align: "center" | "start" | "stretch";
23
+ private view;
24
+ private show;
25
+ static styles: import("lit").CSSResult;
26
+ render(): import("lit-html").TemplateResult<1>;
27
+ }
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ "tt-example": TTExample;
31
+ }
32
+ }
33
+ //# sourceMappingURL=tt-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tt-example.d.ts","sourceRoot":"","sources":["../src/tt-example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,qBACa,SAAU,SAAQ,UAAU;IAEvC,OAAO,SAAM;IAGb,WAAW,SAAM;IAGjB,IAAI,SAAM;IAGV,QAAQ,SAAU;IAQlB,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAY;IAGjD,OAAO,CAAC,IAAI,CAAiC;IAE7C,OAAO,CAAC,IAAI;IAIZ,MAAM,CAAC,MAAM,0BA+HX;IAEF,MAAM;CA0DP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
@@ -0,0 +1,250 @@
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 } from "lit";
8
+ import { customElement, property, state } from "lit/decorators.js";
9
+ import "./tt-preview.js";
10
+ import "./tt-code-block.js";
11
+ /**
12
+ * One worked example: a live rendering and the markup that produced it,
13
+ * behind a Preview / Code switch.
14
+ *
15
+ * <tt-example heading="Multiple open" code=${snippet}>
16
+ * <tt-accordion multiple>...</tt-accordion>
17
+ * </tt-example>
18
+ *
19
+ * The point is that the two halves cannot drift apart on the page the way a
20
+ * separate preview box and a separate code block do. Both panels stay in the
21
+ * DOM and are toggled with `hidden`, so switching does not tear down and
22
+ * rebuild a live component you were in the middle of poking at.
23
+ */
24
+ let TTExample = class TTExample extends LitElement {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.heading = "";
28
+ this.description = "";
29
+ this.code = "";
30
+ this.language = "html";
31
+ /*
32
+ How the live half lays its content out. `center` suits a handful of small
33
+ controls, `stretch` suits anything that owns its width (tables, cards,
34
+ accordions) and looks wrong floating in the middle.
35
+ */
36
+ this.align = "center";
37
+ this.view = "preview";
38
+ }
39
+ show(view) {
40
+ this.view = view;
41
+ }
42
+ static { this.styles = css `
43
+ /* The browser's own [hidden] rule loses to any :host display, so a
44
+ hidden element would still show. Important, so it always wins. */
45
+ :host([hidden]) {
46
+ display: none !important;
47
+ }
48
+
49
+ :host {
50
+ display: block;
51
+
52
+ font-family: var(--tt-font-sans);
53
+ -webkit-font-smoothing: antialiased;
54
+
55
+ color: var(--tt-foreground);
56
+ }
57
+
58
+ .head {
59
+ display: flex;
60
+ align-items: flex-start;
61
+ justify-content: space-between;
62
+ gap: var(--tt-space-4);
63
+
64
+ margin-bottom: var(--tt-space-3);
65
+ }
66
+
67
+ .text {
68
+ min-width: 0;
69
+ }
70
+
71
+ .heading {
72
+ margin: 0;
73
+
74
+ font-size: var(--tt-text-md);
75
+ font-weight: var(--tt-weight-semibold);
76
+
77
+ color: var(--tt-foreground);
78
+ }
79
+
80
+ .description {
81
+ margin: var(--tt-space-1) 0 0;
82
+
83
+ font-size: var(--tt-text-sm);
84
+ line-height: var(--tt-leading-relaxed);
85
+
86
+ color: var(--tt-muted-foreground);
87
+ }
88
+
89
+ /* Segmented control. Two options, so a tablist beats a select. */
90
+ .switch {
91
+ display: inline-flex;
92
+ flex: none;
93
+
94
+ padding: 2px;
95
+
96
+ border: 1px solid var(--tt-border);
97
+ border-radius: var(--tt-radius);
98
+
99
+ background: var(--tt-muted);
100
+ }
101
+
102
+ .switch button {
103
+ border: none;
104
+ border-radius: calc(var(--tt-radius) - 2px);
105
+
106
+ padding: var(--tt-space-1) var(--tt-space-3);
107
+
108
+ background: transparent;
109
+
110
+ font: inherit;
111
+ font-size: var(--tt-text-xs);
112
+ font-weight: var(--tt-weight-medium);
113
+
114
+ color: var(--tt-muted-foreground);
115
+
116
+ cursor: pointer;
117
+
118
+ transition:
119
+ background var(--tt-duration-fast) var(--tt-ease),
120
+ color var(--tt-duration-fast) var(--tt-ease);
121
+ }
122
+
123
+ .switch button[aria-pressed="true"] {
124
+ background: var(--tt-background);
125
+ color: var(--tt-foreground);
126
+
127
+ box-shadow: var(--tt-elevation-1);
128
+ }
129
+
130
+ .switch button:focus-visible {
131
+ outline: var(--tt-ring-width) solid var(--tt-ring);
132
+ outline-offset: calc(var(--tt-ring-width) * -1);
133
+ }
134
+
135
+ tt-preview {
136
+ display: block;
137
+ overflow-x: auto;
138
+ }
139
+
140
+ /*
141
+ tt-preview centres its slot content. Examples that own their width need
142
+ to fill the box instead, which is what ::part is for: the inner div is
143
+ published, so this reaches it without tt-preview knowing about us.
144
+ */
145
+ :host([align="start"]) tt-preview::part(preview) {
146
+ align-items: flex-start;
147
+ justify-content: flex-start;
148
+ }
149
+
150
+ :host([align="stretch"]) tt-preview::part(preview) {
151
+ display: block;
152
+ }
153
+
154
+ [hidden] {
155
+ display: none !important;
156
+ }
157
+
158
+ @media (max-width: 480px) {
159
+ .head {
160
+ flex-direction: column;
161
+ align-items: stretch;
162
+ }
163
+
164
+ .switch {
165
+ align-self: flex-end;
166
+ }
167
+ }
168
+
169
+ `; }
170
+ render() {
171
+ const isPreview = this.view === "preview";
172
+ return html `
173
+ <div class="head">
174
+ <div class="text">
175
+ ${this.heading
176
+ ? html `<h3 class="heading">${this.heading}</h3>`
177
+ : ""}
178
+ ${this.description
179
+ ? html `<p class="description">${this.description}</p>`
180
+ : ""}
181
+ </div>
182
+
183
+ ${this.code
184
+ ? html `
185
+ <!--
186
+ Toggle buttons, not tabs. role="tab" promises arrow keys, one
187
+ Tab stop and a tabpanel, and none of those existed, so a screen
188
+ reader announced a tab list that did not behave like one.
189
+ aria-pressed is the honest name for "one of these is on".
190
+ -->
191
+ <div class="switch" role="group" aria-label="Example view">
192
+ <button
193
+ type="button"
194
+ aria-pressed=${isPreview ? "true" : "false"}
195
+ @click=${() => this.show("preview")}
196
+ >
197
+ Preview
198
+ </button>
199
+
200
+ <button
201
+ type="button"
202
+ aria-pressed=${!isPreview ? "true" : "false"}
203
+ @click=${() => this.show("code")}
204
+ >
205
+ Code
206
+ </button>
207
+ </div>
208
+ `
209
+ : ""}
210
+ </div>
211
+
212
+ <tt-preview ?hidden=${!isPreview}>
213
+ <slot></slot>
214
+ </tt-preview>
215
+
216
+ ${this.code
217
+ ? html `
218
+ <tt-code-block show-line-numbers
219
+ ?hidden=${isPreview}
220
+ .code=${this.code}
221
+ language=${this.language}
222
+ ></tt-code-block>
223
+ `
224
+ : ""}
225
+ `;
226
+ }
227
+ };
228
+ __decorate([
229
+ property({ type: String })
230
+ ], TTExample.prototype, "heading", void 0);
231
+ __decorate([
232
+ property({ type: String })
233
+ ], TTExample.prototype, "description", void 0);
234
+ __decorate([
235
+ property({ type: String })
236
+ ], TTExample.prototype, "code", void 0);
237
+ __decorate([
238
+ property({ type: String })
239
+ ], TTExample.prototype, "language", void 0);
240
+ __decorate([
241
+ property({ type: String, reflect: true })
242
+ ], TTExample.prototype, "align", void 0);
243
+ __decorate([
244
+ state()
245
+ ], TTExample.prototype, "view", void 0);
246
+ TTExample = __decorate([
247
+ customElement("tt-example")
248
+ ], TTExample);
249
+ export { TTExample };
250
+ //# sourceMappingURL=tt-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tt-example.js","sourceRoot":"","sources":["../src/tt-example.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;GAYG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QAEL,YAAO,GAAG,EAAE,CAAC;QAGb,gBAAW,GAAG,EAAE,CAAC;QAGjB,SAAI,GAAG,EAAE,CAAC;QAGV,aAAQ,GAAG,MAAM,CAAC;QAElB;;;;UAIE;QAEF,UAAK,GAAmC,QAAQ,CAAC;QAGzC,SAAI,GAAuB,SAAS,CAAC;IAiM/C,CAAC;IA/LS,IAAI,CAAC,IAAwB;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;aAEM,WAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HlB,AA/HY,CA+HX;IAEF,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QAE1C,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,IAAI,CAAA,uBAAuB,IAAI,CAAC,OAAO,OAAO;YAChD,CAAC,CAAC,EAAE;YACJ,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,IAAI,CAAA,0BAA0B,IAAI,CAAC,WAAW,MAAM;YACtD,CAAC,CAAC,EAAE;;;UAGN,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;;;;;;;;;iCAUiB,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;2BAClC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;;;;;;iCAOpB,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;2BACnC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;aAKrC;YACH,CAAC,CAAC,EAAE;;;4BAGc,CAAC,SAAS;;;;QAI9B,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;wBAEU,SAAS;sBACX,IAAI,CAAC,IAAI;yBACN,IAAI,CAAC,QAAQ;;WAE3B;YACH,CAAC,CAAC,EAAE;KACP,CAAC;IACJ,CAAC;;AApND;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACd;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACV;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCACjB;AAGV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACT;AAQlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCACO;AAGzC;IADP,KAAK,EAAE;uCACqC;AAtBlC,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CAuNrB"}
@@ -0,0 +1,85 @@
1
+ import { LitElement } from "lit";
2
+ import type { PropertyValues } from "lit";
3
+ import "./tt-icon.js";
4
+ /** Why a file was turned away. */
5
+ export type FileRejectReason = "type" | "size" | "empty" | "count";
6
+ export interface FileRejection {
7
+ file: File;
8
+ reason: FileRejectReason;
9
+ }
10
+ /**
11
+ * True when a file matches an `accept` list ("image/*,.pdf"), the same
12
+ * rules the native picker uses. An empty list accepts anything.
13
+ *
14
+ * This is for the person choosing, not for security: a file's type comes
15
+ * from its name, so anyone can rename one. The server must check again.
16
+ */
17
+ export declare function matchesAccept(file: File, accept: string): boolean;
18
+ export declare function displayName(name: string): string;
19
+ /** 820 B, 14 KB, 2.5 MB. Powers of 1024, as file managers show them. */
20
+ export declare function formatBytes(bytes: number): string;
21
+ /**
22
+ * Chooses files, by tapping a button or dropping them on the box. Checks
23
+ * type, size and count before keeping a file, previews images, and
24
+ * submits the files with its form under `name`.
25
+ *
26
+ * @fires tt-change - { files } after files are added or removed: the whole list.
27
+ * @fires tt-reject - { rejected: { file, reason }[] } when files were turned away.
28
+ */
29
+ export declare class TTFileUpload extends LitElement {
30
+ static formAssociated: boolean;
31
+ private internals;
32
+ name: string;
33
+ label: string;
34
+ labelHidden: boolean;
35
+ description: string;
36
+ accept: string;
37
+ multiple: boolean;
38
+ maxSize: number;
39
+ maxFiles: number;
40
+ required: boolean;
41
+ disabled: boolean;
42
+ error: string;
43
+ /** The files kept so far. Setting it replaces them. */
44
+ files: File[];
45
+ private dragging;
46
+ private notice;
47
+ private input;
48
+ private chooseButton;
49
+ private fieldId;
50
+ private previews;
51
+ private dragDepth;
52
+ get form(): HTMLFormElement | null;
53
+ focus(options?: FocusOptions): void;
54
+ /** Removes every file. */
55
+ clear(): void;
56
+ disconnectedCallback(): void;
57
+ formResetCallback(): void;
58
+ updated(changed: PropertyValues): void;
59
+ private syncFormState;
60
+ private emit;
61
+ /** Keeps a new list and says so. Every add, remove and clear ends here. */
62
+ private commit;
63
+ private add;
64
+ private removeFile;
65
+ private preview;
66
+ private revokeAll;
67
+ private openPicker;
68
+ private handlePicked;
69
+ private carriesFiles;
70
+ private handleDragEnter;
71
+ private handleDragOver;
72
+ private handleDragLeave;
73
+ private handleDrop;
74
+ /** "Up to 3 files, 5 MB each", from the limits that are set. */
75
+ private limits;
76
+ static styles: import("lit").CSSResult[];
77
+ render(): import("lit-html").TemplateResult<1>;
78
+ private renderFile;
79
+ }
80
+ declare global {
81
+ interface HTMLElementTagNameMap {
82
+ "tt-file-upload": TTFileUpload;
83
+ }
84
+ }
85
+ //# sourceMappingURL=tt-file-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tt-file-upload.d.ts","sourceRoot":"","sources":["../src/tt-file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1C,OAAO,cAAc,CAAC;AAEtB,kCAAkC;AAClC,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAgBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAcjE;AAYD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAID,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASjD;AAWD;;;;;;;GAOG;AACH,qBACa,YAAa,SAAQ,UAAU;IAG1C,MAAM,CAAC,cAAc,UAAQ;IAE7B,OAAO,CAAC,SAAS,CAA0B;IAGA,IAAI,SAAM;IACzB,KAAK,SAAM;IAEvC,WAAW,UAAS;IAIQ,WAAW,SAAM;IAIjB,MAAM,SAAM;IAGI,QAAQ,UAAS;IAGV,OAAO,SAAK;IAGX,QAAQ,SAAK;IAErB,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjC,KAAK,SAAM;IAEvC,uDAAuD;IACvB,KAAK,EAAE,IAAI,EAAE,CAAM;IAE1C,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,MAAM,CAAM;IAEb,OAAO,CAAC,KAAK,CAAoB;IAC/B,OAAO,CAAC,YAAY,CAAqB;IAE3D,OAAO,CAAC,OAAO,CAA6B;IAE5C,OAAO,CAAC,QAAQ,CAA2B;IAE3C,OAAO,CAAC,SAAS,CAAK;IAEtB,IAAI,IAAI,2BAEP;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAI5B,0BAA0B;IAC1B,KAAK;IAIL,oBAAoB;IAKpB,iBAAiB;IAKjB,OAAO,CAAC,OAAO,EAAE,cAAc;IAe/B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,IAAI;IAIZ,2EAA2E;IAC3E,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,GAAG;YA0CG,UAAU;IAYxB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,cAAc,CAKpB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,UAAU,CAMhB;IAEF,gEAAgE;IAChE,OAAO,CAAC,MAAM;IAYd,MAAM,CAAC,MAAM,4BAgNV;IAEH,MAAM;IA6EN,OAAO,CAAC,UAAU;CAwBnB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}