@ethlete/components 1.0.0-next.77 → 1.0.0-next.79

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 (318) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/design/accordion.ts +73 -0
  3. package/design/avatar.ts +90 -0
  4. package/design/badge.ts +48 -0
  5. package/design/banner.ts +77 -0
  6. package/design/bracket.ts +457 -0
  7. package/design/breadcrumb.ts +145 -0
  8. package/design/button.ts +49 -0
  9. package/design/calendar.ts +306 -0
  10. package/design/card.ts +92 -0
  11. package/design/carousel.ts +240 -0
  12. package/design/chart.ts +512 -0
  13. package/design/checkbox.ts +275 -0
  14. package/design/chip.ts +64 -0
  15. package/design/config.json +22 -0
  16. package/design/control.ts +19 -0
  17. package/design/copy-button.ts +59 -0
  18. package/design/description-list.ts +41 -0
  19. package/design/dialog.ts +214 -0
  20. package/design/divider.ts +27 -0
  21. package/design/empty-state.ts +45 -0
  22. package/design/floating-action.ts +55 -0
  23. package/design/form-field.ts +40 -1
  24. package/design/grid.ts +148 -0
  25. package/design/icon-set.ts +19 -0
  26. package/design/icon.ts +9 -0
  27. package/design/input.ts +86 -0
  28. package/design/kbd.ts +19 -0
  29. package/design/loader.ts +152 -0
  30. package/design/masonry.ts +115 -0
  31. package/design/match.ts +131 -0
  32. package/design/menu.ts +143 -0
  33. package/design/notification.ts +129 -0
  34. package/design/otp-input.ts +107 -0
  35. package/design/pagination.ts +120 -0
  36. package/design/picture.ts +80 -0
  37. package/design/progress-steps.ts +79 -0
  38. package/design/query-error.ts +60 -0
  39. package/design/radio-group.ts +132 -0
  40. package/design/scheduler.ts +369 -0
  41. package/design/scrollable.ts +218 -0
  42. package/design/scrollbar.ts +47 -0
  43. package/design/sdk/assets/fallback.svg +1 -0
  44. package/design/sdk/assets/tall.svg +1 -0
  45. package/design/sdk/assets/wide.svg +1 -0
  46. package/design/sdk/components/accent-on-light/accent-on-light.css +35 -0
  47. package/design/sdk/components/accent-on-light/accent-on-light.ts +10 -0
  48. package/design/sdk/components/accent-on-light/shared/controls.ts +46 -0
  49. package/design/sdk/components/accordion/accordion.css +17 -0
  50. package/design/sdk/components/accordion/accordion.ts +64 -0
  51. package/design/sdk/components/avatar/avatar.css +14 -0
  52. package/design/sdk/components/avatar/avatar.ts +78 -0
  53. package/design/sdk/components/badge/badge.css +13 -0
  54. package/design/sdk/components/badge/badge.ts +52 -0
  55. package/design/sdk/components/banner/banner.css +18 -0
  56. package/design/sdk/components/banner/banner.ts +87 -0
  57. package/design/sdk/components/bracket/bracket.css +59 -0
  58. package/design/sdk/components/bracket/bracket.ts +143 -0
  59. package/design/sdk/components/breadcrumb/breadcrumb.css +25 -0
  60. package/design/sdk/components/breadcrumb/breadcrumb.ts +81 -0
  61. package/design/sdk/components/button/button.css +33 -0
  62. package/design/sdk/components/button/button.ts +82 -0
  63. package/design/sdk/components/calendar/calendar.css +33 -0
  64. package/design/sdk/components/calendar/calendar.ts +96 -0
  65. package/design/sdk/components/card/card.css +19 -0
  66. package/design/sdk/components/card/card.ts +61 -0
  67. package/design/sdk/components/carousel/carousel.css +44 -0
  68. package/design/sdk/components/carousel/carousel.ts +74 -0
  69. package/design/sdk/components/chart/chart.css +56 -0
  70. package/design/sdk/components/chart/chart.ts +98 -0
  71. package/design/sdk/components/chip/chip.css +18 -0
  72. package/design/sdk/components/chip/chip.ts +76 -0
  73. package/design/sdk/components/copy-button/copy-button.css +14 -0
  74. package/design/sdk/components/copy-button/copy-button.ts +59 -0
  75. package/design/sdk/components/description-list/description-list.css +7 -0
  76. package/design/sdk/components/description-list/description-list.ts +53 -0
  77. package/design/sdk/components/dialog/dialog.css +29 -0
  78. package/design/sdk/components/dialog/dialog.ts +78 -0
  79. package/design/sdk/components/divider/divider.css +26 -0
  80. package/design/sdk/components/divider/divider.ts +43 -0
  81. package/design/sdk/components/empty-state/empty-state.css +15 -0
  82. package/design/sdk/components/empty-state/empty-state.ts +56 -0
  83. package/design/sdk/components/floating-action/floating-action.css +51 -0
  84. package/design/sdk/components/floating-action/floating-action.ts +63 -0
  85. package/design/sdk/components/form-field/form-field.ts +118 -0
  86. package/design/sdk/components/grid/grid.css +17 -0
  87. package/design/sdk/components/grid/grid.ts +80 -0
  88. package/design/sdk/components/input/input.css +75 -0
  89. package/design/sdk/components/input/input.ts +79 -0
  90. package/design/sdk/components/kbd/kbd.css +25 -0
  91. package/design/sdk/components/kbd/kbd.ts +57 -0
  92. package/design/sdk/components/loader/loader.css +37 -0
  93. package/design/sdk/components/loader/loader.ts +68 -0
  94. package/design/sdk/components/masonry/masonry.css +7 -0
  95. package/design/sdk/components/masonry/masonry.ts +42 -0
  96. package/design/sdk/components/match/match.css +25 -0
  97. package/design/sdk/components/match/match.ts +76 -0
  98. package/design/sdk/components/menu/menu.css +22 -0
  99. package/design/sdk/components/menu/menu.ts +91 -0
  100. package/design/sdk/components/notification/notification.css +32 -0
  101. package/design/sdk/components/notification/notification.ts +106 -0
  102. package/design/sdk/components/otp-input/otp-input.css +35 -0
  103. package/design/sdk/components/otp-input/otp-input.ts +64 -0
  104. package/design/sdk/components/pagination/pagination.css +14 -0
  105. package/design/sdk/components/pagination/pagination.ts +75 -0
  106. package/design/sdk/components/picture/picture.css +37 -0
  107. package/design/sdk/components/picture/picture.ts +96 -0
  108. package/design/sdk/components/progress-steps/progress-steps.css +37 -0
  109. package/design/sdk/components/progress-steps/progress-steps.ts +91 -0
  110. package/design/sdk/components/query-error/query-error.css +33 -0
  111. package/design/sdk/components/query-error/query-error.ts +120 -0
  112. package/design/sdk/components/scheduler/scheduler.css +55 -0
  113. package/design/sdk/components/scheduler/scheduler.ts +239 -0
  114. package/design/sdk/components/scrollable/scrollable.css +58 -0
  115. package/design/sdk/components/scrollable/scrollable.ts +133 -0
  116. package/design/sdk/components/scrollbar/scrollbar.css +78 -0
  117. package/design/sdk/components/scrollbar/scrollbar.ts +123 -0
  118. package/design/sdk/components/select/select.css +5 -0
  119. package/design/sdk/components/select/select.ts +16 -0
  120. package/design/sdk/components/select/shared/select-part.ts +75 -0
  121. package/design/sdk/components/select-panel/select-panel.css +3 -0
  122. package/design/sdk/components/select-panel/select-panel.ts +124 -0
  123. package/design/sdk/components/skeleton/skeleton.css +22 -0
  124. package/design/sdk/components/skeleton/skeleton.ts +50 -0
  125. package/design/sdk/components/slider/slider.css +52 -0
  126. package/design/sdk/components/slider/slider.ts +86 -0
  127. package/design/sdk/components/standings/standings.css +33 -0
  128. package/design/sdk/components/standings/standings.ts +130 -0
  129. package/design/sdk/components/stat-tile/stat-tile.css +15 -0
  130. package/design/sdk/components/stat-tile/stat-tile.ts +84 -0
  131. package/design/sdk/components/stream/stream.css +48 -0
  132. package/design/sdk/components/stream/stream.ts +38 -0
  133. package/design/sdk/components/switch/switch.css +35 -0
  134. package/design/sdk/components/switch/switch.ts +63 -0
  135. package/design/sdk/components/table/table.css +67 -0
  136. package/design/sdk/components/table/table.ts +160 -0
  137. package/design/sdk/components/tabs/tabs.css +13 -0
  138. package/design/sdk/components/tabs/tabs.ts +74 -0
  139. package/design/sdk/components/textarea/textarea.css +116 -0
  140. package/design/sdk/components/textarea/textarea.ts +64 -0
  141. package/design/sdk/components/timeline/timeline.css +30 -0
  142. package/design/sdk/components/timeline/timeline.ts +87 -0
  143. package/design/sdk/components/toolbar/toolbar.css +24 -0
  144. package/design/sdk/components/toolbar/toolbar.ts +87 -0
  145. package/design/sdk/components/tooltip/tooltip.css +15 -0
  146. package/design/sdk/components/tooltip/tooltip.ts +28 -0
  147. package/design/sdk/components/tree/selected-tint.css +15 -0
  148. package/design/sdk/components/tree/tree.ts +70 -0
  149. package/design/sdk/fixtures.ts +0 -0
  150. package/design/sdk/foundations/colors/colors.css +632 -0
  151. package/design/sdk/foundations/colors/colors.ts +188 -0
  152. package/design/sdk/foundations/colors/overrides.json +19 -0
  153. package/design/sdk/foundations/colors/shared/contrast.ts +120 -0
  154. package/design/sdk/foundations/elevation/elevation.css +6 -0
  155. package/design/sdk/foundations/elevation/elevation.ts +11 -0
  156. package/design/sdk/foundations/elevation/shared/elevation/scene.css +101 -0
  157. package/design/sdk/foundations/elevation/shared/elevation/scene.ts +74 -0
  158. package/design/sdk/foundations/icons/icons.ts +119 -0
  159. package/design/select.ts +113 -28
  160. package/design/skeleton.ts +67 -0
  161. package/design/slider.ts +155 -0
  162. package/design/standings.ts +161 -0
  163. package/design/stat-tile.ts +109 -0
  164. package/design/stream.ts +92 -0
  165. package/design/switch.ts +83 -0
  166. package/design/table.ts +302 -0
  167. package/design/tabs.ts +75 -0
  168. package/design/textarea.ts +92 -0
  169. package/design/timeline.ts +52 -0
  170. package/design/toolbar.ts +95 -0
  171. package/design/tooltip.ts +87 -0
  172. package/design/tree.ts +106 -0
  173. package/fesm2022/ethlete-components.mjs +240 -199
  174. package/fesm2022/ethlete-components.mjs.map +1 -1
  175. package/package.json +1 -1
  176. package/src/lib/accordion/accordion.component.css +2 -1
  177. package/src/lib/avatar/avatar.component.css +10 -0
  178. package/src/lib/badge/badge.component.css +2 -2
  179. package/src/lib/banner/banner.component.css +3 -1
  180. package/src/lib/breadcrumb/breadcrumb-outlet.component.css +5 -0
  181. package/src/lib/breadcrumb/breadcrumb.component.css +5 -1
  182. package/src/lib/button/button.component.css +19 -0
  183. package/src/lib/button/icon-button.component.css +19 -20
  184. package/src/lib/button/split-button.component.css +5 -1
  185. package/src/lib/calendar/calendar.component.css +13 -3
  186. package/src/lib/card/card.component.css +4 -0
  187. package/src/lib/carousel/carousel-autoplay-styles.component.css +1 -1
  188. package/src/lib/carousel/carousel.component.css +2 -2
  189. package/src/lib/chart/chart-axis.component.css +3 -3
  190. package/src/lib/chip/chip.component.css +8 -2
  191. package/src/lib/description-list/description-list.component.css +2 -1
  192. package/src/lib/empty-state/empty-state.component.css +4 -0
  193. package/src/lib/floating-action/floating-action-styles.component.css +27 -0
  194. package/src/lib/focus-ring/focus-ring-styles.component.css +4 -1
  195. package/src/lib/forms/checkbox/checkbox.component.css +31 -5
  196. package/src/lib/forms/color-input/color-input.component.css +3 -1
  197. package/src/lib/forms/color-input/color-picker-panel.component.css +6 -2
  198. package/src/lib/forms/date-time/date-input/date-input.component.css +1 -1
  199. package/src/lib/forms/date-time/date-time-input/date-time-input.component.css +1 -1
  200. package/src/lib/forms/date-time/duration-input/duration-input.component.css +1 -1
  201. package/src/lib/forms/date-time/range-input-shell-styles.component.css +1 -1
  202. package/src/lib/forms/date-time/time-input/time-input.component.css +1 -1
  203. package/src/lib/forms/description/description.component.css +7 -0
  204. package/src/lib/forms/dropzone/dropzone.component.css +26 -0
  205. package/src/lib/forms/form-field/form-field-control-suffix-styles.component.css +4 -2
  206. package/src/lib/forms/form-field/form-field-text-shell-styles.component.css +74 -17
  207. package/src/lib/forms/form-field/form-field-textarea-styles.component.css +62 -0
  208. package/src/lib/forms/form-field/form-field.component.css +6 -0
  209. package/src/lib/forms/form-field/headless/label.directive.css +1 -1
  210. package/src/lib/forms/input/input.component.css +6 -2
  211. package/src/lib/forms/input/number-input.component.css +2 -2
  212. package/src/lib/forms/input/password-input.component.css +4 -3
  213. package/src/lib/forms/otp-input/otp-input.component.css +23 -4
  214. package/src/lib/forms/phone-input/phone-input.component.css +4 -3
  215. package/src/lib/forms/rating/rating.component.css +2 -1
  216. package/src/lib/forms/rich-text-editor/rich-text-editor.component.css +1 -1
  217. package/src/lib/forms/select/select-option-styles.component.css +3 -2
  218. package/src/lib/forms/selection-card-styles.component.css +3 -2
  219. package/src/lib/forms/selection-list/checkbox-group/checkbox-group-select-all.component.css +4 -2
  220. package/src/lib/forms/selection-list/checkbox-group/checkbox-option.component.css +4 -2
  221. package/src/lib/forms/selection-list/radio-group/radio.component.css +5 -2
  222. package/src/lib/forms/selection-list/segmented-button-group/segmented-button.component.css +2 -1
  223. package/src/lib/forms/slider/range-slider.component.css +98 -6
  224. package/src/lib/forms/slider/slider.component.css +96 -4
  225. package/src/lib/forms/switch/switch.component.css +47 -4
  226. package/src/lib/forms/tag-input/tag-input.component.css +2 -2
  227. package/src/lib/forms/textarea/textarea-autosize-styles.component.css +2 -3
  228. package/src/lib/forms/textarea/textarea.component.css +7 -2
  229. package/src/lib/grid/grid-item-toolbar.component.css +10 -0
  230. package/src/lib/grid/grid-item.component.css +6 -1
  231. package/src/lib/icon/headless/align-icons.ts +30 -0
  232. package/src/lib/icon/headless/arrow-out-up-right-icon.ts +17 -0
  233. package/src/lib/icon/headless/arrow-right-icon.ts +23 -0
  234. package/src/lib/icon/headless/arrow-up-icon.ts +30 -0
  235. package/src/lib/icon/headless/arrows-left-right-icon.ts +31 -0
  236. package/src/lib/icon/headless/bold-icon.ts +11 -0
  237. package/src/lib/icon/headless/calendar-icon.ts +21 -0
  238. package/src/lib/icon/headless/check-icon.ts +14 -0
  239. package/src/lib/icon/headless/chevron-icon.ts +14 -0
  240. package/src/lib/icon/headless/circle-check-icon.ts +14 -0
  241. package/src/lib/icon/headless/circle-info-icon.ts +14 -0
  242. package/src/lib/icon/headless/clipboard-check-icon.ts +28 -0
  243. package/src/lib/icon/headless/clock-icon.ts +21 -0
  244. package/src/lib/icon/headless/code-block-icon.ts +15 -0
  245. package/src/lib/icon/headless/code-icon.ts +14 -0
  246. package/src/lib/icon/headless/ellipsis-icon.ts +13 -0
  247. package/src/lib/icon/headless/ellipsis-vertical-icon.ts +13 -0
  248. package/src/lib/icon/headless/eye-icons.ts +27 -0
  249. package/src/lib/icon/headless/eyedropper-icon.ts +22 -0
  250. package/src/lib/icon/headless/file-icon.ts +16 -0
  251. package/src/lib/icon/headless/filter-icon.ts +11 -0
  252. package/src/lib/icon/headless/floppy-disk-icon.ts +27 -0
  253. package/src/lib/icon/headless/focus-frame-icon.ts +16 -0
  254. package/src/lib/icon/headless/grid-2x2-icon.ts +17 -0
  255. package/src/lib/icon/headless/heading-1-icon.ts +11 -0
  256. package/src/lib/icon/headless/heading-2-icon.ts +11 -0
  257. package/src/lib/icon/headless/heading-3-icon.ts +11 -0
  258. package/src/lib/icon/headless/icon-definition.ts +14 -0
  259. package/src/lib/icon/headless/image-icon.ts +14 -0
  260. package/src/lib/icon/headless/italic-icon.ts +19 -0
  261. package/src/lib/icon/headless/link-icon.ts +17 -0
  262. package/src/lib/icon/headless/list-bulleted-icon.ts +14 -0
  263. package/src/lib/icon/headless/list-numbered-icon.ts +14 -0
  264. package/src/lib/icon/headless/location-icon.ts +21 -0
  265. package/src/lib/icon/headless/lock-icon.ts +14 -0
  266. package/src/lib/icon/headless/minus-icon.ts +14 -0
  267. package/src/lib/icon/headless/paragraph-icon.ts +11 -0
  268. package/src/lib/icon/headless/pause-icon.ts +11 -0
  269. package/src/lib/icon/headless/pencil-icon.ts +21 -0
  270. package/src/lib/icon/headless/play-icon.ts +10 -0
  271. package/src/lib/icon/headless/plus-icon.ts +21 -0
  272. package/src/lib/icon/headless/quote-icon.ts +15 -0
  273. package/src/lib/icon/headless/rotate-right-icon.ts +16 -0
  274. package/src/lib/icon/headless/star-icon.ts +14 -0
  275. package/src/lib/icon/headless/strikethrough-icon.ts +18 -0
  276. package/src/lib/icon/headless/table-icon.ts +15 -0
  277. package/src/lib/icon/headless/thumbtack-icon.ts +18 -0
  278. package/src/lib/icon/headless/times-icon.ts +14 -0
  279. package/src/lib/icon/headless/trash-icon.ts +24 -0
  280. package/src/lib/icon/headless/triangle-exclamation-icon.ts +14 -0
  281. package/src/lib/icon/headless/trophy-icon.ts +24 -0
  282. package/src/lib/icon/headless/underline-icon.ts +12 -0
  283. package/src/lib/icon/headless/undo-redo-icons.ts +24 -0
  284. package/src/lib/icon/headless/upload-icon.ts +16 -0
  285. package/src/lib/loader/brand-loader/brand-loader.component.css +4 -1
  286. package/src/lib/loader/progress-bar/progress-bar.component.css +1 -1
  287. package/src/lib/loader/spinner/spinner-styles.component.css +1 -1
  288. package/src/lib/match/match-card.component.css +9 -3
  289. package/src/lib/match/match-score.component.css +4 -1
  290. package/src/lib/menu/menu-selection-item.component.css +1 -1
  291. package/src/lib/menu/menu.component.css +5 -0
  292. package/src/lib/overlay/overlay-container.component.css +4 -0
  293. package/src/lib/pagination/pagination.component.css +4 -0
  294. package/src/lib/progress-steps/progress-step.component.css +4 -4
  295. package/src/lib/query-error/query-error.component.css +4 -0
  296. package/src/lib/scheduler/scheduler-appointment-styles.component.css +21 -5
  297. package/src/lib/scheduler/scheduler-month-view.component.css +4 -2
  298. package/src/lib/scheduler/scheduler-time-grid-view.component.css +8 -2
  299. package/src/lib/scrollable/headless/scrollable-navigation.component.css +1 -1
  300. package/src/lib/standings/standings-pick.component.css +1 -1
  301. package/src/lib/standings/standings.component.css +10 -10
  302. package/src/lib/stat-tile/stat-tile-sparkline.component.css +1 -1
  303. package/src/lib/stream/consent/stream-consent.component.css +99 -0
  304. package/src/lib/stream/error/stream-player-error.component.css +100 -0
  305. package/src/lib/stream/loading/stream-player-loading.component.css +16 -0
  306. package/src/lib/stream/pip/pip-slot-placeholder.component.css +68 -0
  307. package/src/lib/stream/stream-player-slot-styles.component.css +4 -0
  308. package/src/lib/table/table-resize-grip.component.css +2 -1
  309. package/src/lib/table/table-select-cell.component.css +45 -15
  310. package/src/lib/table/table.component.css +15 -5
  311. package/src/lib/tabs/tab-bar-styles.component.css +1 -1
  312. package/src/lib/tabs/tabs/tab-group.component.css +111 -0
  313. package/src/lib/time-picker/time-picker.component.css +2 -1
  314. package/src/lib/timeline/timeline-item.component.css +5 -1
  315. package/src/lib/toolbar/toolbar.component.css +4 -0
  316. package/src/lib/tooltip/tooltip.component.css +14 -0
  317. package/src/lib/tree/tree.component.css +2 -2
  318. package/types/ethlete-components.d.ts +62 -53
@@ -0,0 +1,16 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ export const ROTATE_RIGHT_ICON: IconDefinition = {
4
+ name: 'et-rotate-right',
5
+ data: `
6
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
7
+ <path
8
+ d="M4 9a8 8 0 0 1 14-3m2-3v6h-6m6 6a8 8 0 0 1-14 3m-2 3v-6h6"
9
+ stroke="currentColor"
10
+ stroke-width="1.5"
11
+ stroke-linecap="round"
12
+ stroke-linejoin="round"
13
+ />
14
+ </svg>
15
+ `,
16
+ };
@@ -0,0 +1,14 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ // Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.
4
+ export const STAR_ICON: IconDefinition = {
5
+ name: 'et-star',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
8
+ <path
9
+ fill="currentColor"
10
+ d="M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"
11
+ />
12
+ </svg>
13
+ `,
14
+ };
@@ -0,0 +1,18 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ // Custom icon.
4
+ export const STRIKETHROUGH_ICON: IconDefinition = {
5
+ name: 'et-strikethrough',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
8
+ <text
9
+ x="8"
10
+ y="12"
11
+ font-size="12"
12
+ text-decoration="line-through"
13
+ text-anchor="middle"
14
+ fill="currentColor"
15
+ >S</text>
16
+ </svg>
17
+ `,
18
+ };
@@ -0,0 +1,15 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ // Custom icon.
4
+ export const TABLE_ICON: IconDefinition = {
5
+ name: 'et-table',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"
8
+ stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round">
9
+ <rect x="2" y="2.5" width="12" height="11" rx="1.5" />
10
+ <line x1="2" y1="6.2" x2="14" y2="6.2" />
11
+ <line x1="2" y1="9.9" x2="14" y2="9.9" />
12
+ <line x1="6.7" y1="2.5" x2="6.7" y2="13.5" />
13
+ </svg>
14
+ `,
15
+ };
@@ -0,0 +1,18 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ /** A pushpin - what the table's column menu pins a column with. */
4
+ export const THUMBTACK_ICON: IconDefinition = {
5
+ name: 'et-thumbtack',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <path
9
+ d="M9 3.5h6M10 3.5v5.5L6.5 14h11L14 9V3.5M12 14v6.5"
10
+ fill="none"
11
+ stroke="currentColor"
12
+ stroke-width="2"
13
+ stroke-linecap="round"
14
+ stroke-linejoin="round"
15
+ />
16
+ </svg>
17
+ `,
18
+ };
@@ -0,0 +1,14 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ // Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.
4
+ export const TIMES_ICON: IconDefinition = {
5
+ name: 'et-times',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
8
+ <path
9
+ fill="currentColor"
10
+ d="M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.6 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z"
11
+ />
12
+ </svg>
13
+ `,
14
+ };
@@ -0,0 +1,24 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ export const TRASH_ICON: IconDefinition = {
4
+ name: 'et-trash',
5
+ data: `
6
+ <svg
7
+ width="100%"
8
+ height="100%"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ viewBox="0 0 24 24"
11
+ fill="none"
12
+ stroke="currentColor"
13
+ stroke-width="1.8"
14
+ stroke-linecap="round"
15
+ stroke-linejoin="round"
16
+ >
17
+ <path d="M4 7h16" />
18
+ <path d="M9 7V4.5A1.5 1.5 0 0 1 10.5 3h3A1.5 1.5 0 0 1 15 4.5V7" />
19
+ <path d="M6 7l1 13a2 2 0 0 0 2 1.9h6a2 2 0 0 0 2-1.9l1-13" />
20
+ <path d="M10 11v6" />
21
+ <path d="M14 11v6" />
22
+ </svg>
23
+ `,
24
+ };
@@ -0,0 +1,14 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ // Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.
4
+ export const TRIANGLE_EXCLAMATION_ICON: IconDefinition = {
5
+ name: 'et-triangle-exclamation',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
8
+ <path
9
+ fill="currentColor"
10
+ d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S489.3 480 475.1 480H36.9c-14.3 0-27.6-7.7-34.8-20.2s-7-27.6 .2-40.1l216-368C225.6 39.5 238.7 32 252.9 32h3.1zm0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"
11
+ />
12
+ </svg>
13
+ `,
14
+ };
@@ -0,0 +1,24 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ export const TROPHY_ICON: IconDefinition = {
4
+ name: 'et-trophy',
5
+ data: `
6
+ <svg
7
+ width="100%"
8
+ height="100%"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ viewBox="0 0 24 24"
11
+ fill="none"
12
+ stroke="currentColor"
13
+ stroke-width="1.8"
14
+ stroke-linecap="round"
15
+ stroke-linejoin="round"
16
+ >
17
+ <path d="M7 4h10v5a5 5 0 0 1-10 0V4Z" />
18
+ <path d="M7 5.5H4.5v1.75a3.25 3.25 0 0 0 2.9 3.23" />
19
+ <path d="M17 5.5h2.5v1.75a3.25 3.25 0 0 1-2.9 3.23" />
20
+ <path d="M12 14v3.5" />
21
+ <path d="M8.5 20.5h7l-.75-3h-5.5l-.75 3Z" />
22
+ </svg>
23
+ `,
24
+ };
@@ -0,0 +1,12 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ // Custom icon.
4
+ export const UNDERLINE_ICON: IconDefinition = {
5
+ name: 'et-underline',
6
+ data: `
7
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none">
8
+ <text x="8" y="10.5" font-size="10" font-weight="700" text-anchor="middle" fill="currentColor">U</text>
9
+ <line x1="4" y1="13.5" x2="12" y2="13.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
10
+ </svg>
11
+ `,
12
+ };
@@ -0,0 +1,24 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ const svg = (path: string) =>
4
+ `<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
5
+ <path
6
+ d="${path}"
7
+ stroke="currentColor"
8
+ stroke-width="1.5"
9
+ stroke-linecap="round"
10
+ stroke-linejoin="round"
11
+ />
12
+ </svg>
13
+ `;
14
+
15
+ // U-turn arrows: the arrow head, then the line running into the half-circle it turns around.
16
+ export const UNDO_ICON: IconDefinition = {
17
+ name: 'et-undo',
18
+ data: /* @__PURE__ */ svg('M9.5 15 4.5 10l5-5M4.5 10h9a5.5 5.5 0 0 1 0 11h-3'),
19
+ };
20
+
21
+ export const REDO_ICON: IconDefinition = {
22
+ name: 'et-redo',
23
+ data: /* @__PURE__ */ svg('M14.5 15l5-5-5-5M19.5 10h-9a5.5 5.5 0 0 0 0 11h3'),
24
+ };
@@ -0,0 +1,16 @@
1
+ import { IconDefinition } from './icon-definition';
2
+
3
+ export const UPLOAD_ICON: IconDefinition = {
4
+ name: 'et-upload',
5
+ data: `
6
+ <svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
7
+ <path
8
+ d="M12 16V4m0 0 4 4m-4-4-4 4M4 16v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"
9
+ stroke="currentColor"
10
+ stroke-width="1.5"
11
+ stroke-linecap="round"
12
+ stroke-linejoin="round"
13
+ />
14
+ </svg>
15
+ `,
16
+ };
@@ -109,7 +109,7 @@
109
109
 
110
110
  .et-brand-loader__outline {
111
111
  fill: none;
112
- stroke: var(--_et-brand-loader-accent);
112
+ stroke: var(--et-brand-loader-accent, var(--et-theme-color-ink-solid, #00ffa1));
113
113
  stroke-width: 1.4;
114
114
  stroke-linecap: round;
115
115
  stroke-linejoin: round;
@@ -121,6 +121,9 @@
121
121
 
122
122
  .et-brand-loader__fill {
123
123
  fill: var(--_et-brand-loader-accent);
124
+ stroke: var(--et-theme-color-ink-solid);
125
+ stroke-width: 0.7;
126
+ stroke-linejoin: round;
124
127
  animation: et-brand-loader-fill-fade var(--_et-brand-loader-duration) ease infinite;
125
128
  }
126
129
 
@@ -172,6 +172,6 @@
172
172
  }
173
173
 
174
174
  .et-progress-bar:where(.et-progress-bar--themed) {
175
- --et-progress-bar-indicator-color: var(--et-theme-color-primary-solid, currentColor);
175
+ --et-progress-bar-indicator-color: var(--et-theme-color-ink-solid);
176
176
  }
177
177
  }
@@ -226,6 +226,6 @@
226
226
  /* `--et-spinner-color` is declared via `@property`, whose `initial-value` cannot contain `var()`, so the theme
227
227
  colour can only be applied by a rule - and only when `color` is set, hence the class gate. */
228
228
  .et-spinner:where(.et-spinner--themed) {
229
- --et-spinner-color: var(--et-theme-color-primary-solid, currentColor);
229
+ --et-spinner-color: var(--et-theme-color-ink-solid);
230
230
  }
231
231
  }
@@ -267,7 +267,7 @@
267
267
  flex: none;
268
268
  inline-size: 6px;
269
269
  block-size: 6px;
270
- background: var(--et-theme-color-primary-solid, currentColor);
270
+ background: light-dark(var(--et-theme-color-ink-solid), var(--et-theme-color-primary-solid));
271
271
  border-radius: 50%;
272
272
  animation: et-match-card-live-pulse 2s ease-in-out infinite;
273
273
  }
@@ -395,9 +395,15 @@
395
395
  .et-match-card:where([data-winner='home']) .et-match-card-side:where([data-side='home']),
396
396
  .et-match-card:where([data-winner='away']) .et-match-card-side:where([data-side='away']) {
397
397
  --_et-match-card-side-color: var(--et-surface-color-solid, currentColor);
398
- --_et-match-card-side-marker-color: var(--et-theme-color-primary-solid, currentColor);
398
+ --_et-match-card-side-marker-color: light-dark(
399
+ var(--et-theme-color-ink-solid),
400
+ var(--et-theme-color-primary-solid)
401
+ );
399
402
  --_et-match-card-side-marker-display: block;
400
- font-weight: 600;
403
+
404
+ .et-match-participant-name {
405
+ font-weight: 600;
406
+ }
401
407
  }
402
408
 
403
409
  .et-match-card-games {
@@ -6,11 +6,14 @@
6
6
  flex: none;
7
7
  place-items: center end;
8
8
  min-inline-size: 1ch;
9
- overflow: hidden;
10
9
  font-variant-numeric: tabular-nums;
11
10
  line-height: 1.2;
12
11
  }
13
12
 
13
+ .et-match-score:has(.et-match-score-digit:is([data-state='in'], [data-state='out']), .et-match-score-flash) {
14
+ overflow: hidden;
15
+ }
16
+
14
17
  /* Both values occupy the same cell — that is what lets one leave while the other arrives. */
15
18
  .et-match-score-digit {
16
19
  grid-area: 1 / 1;
@@ -10,7 +10,7 @@
10
10
  flex: none;
11
11
  inline-size: var(--et-menu-item-icon-size, 16px);
12
12
  block-size: var(--et-menu-item-icon-size, 16px);
13
- color: var(--et-theme-color-primary-solid, currentColor);
13
+ color: var(--et-theme-color-ink-solid, currentColor);
14
14
  }
15
15
 
16
16
  &.et-menu-radio-item .et-menu-item-check::before {
@@ -245,6 +245,11 @@
245
245
  color 120ms ease,
246
246
  opacity 120ms ease;
247
247
 
248
+ &[data-active]:focus-visible {
249
+ outline: 2px solid var(--et-theme-color-ink-solid);
250
+ outline-offset: -2px;
251
+ }
252
+
248
253
  /* the roving focus is applied programmatically on mouse-open too, so :focus-visible (instead
249
254
  of [data-active] alone) keeps the highlight from appearing without a hover or keyboard
250
255
  interaction; a trigger whose submenu is open stays highlighted the whole time, and an item
@@ -164,4 +164,8 @@
164
164
  .et-force-invisible {
165
165
  visibility: hidden !important;
166
166
  }
167
+
168
+ .et-overlay--dialog .et-button:where([data-variant='filled']) {
169
+ --et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);
170
+ }
167
171
  }
@@ -168,4 +168,8 @@
168
168
  white-space: nowrap;
169
169
  color: var(--et-surface-color-muted-solid, CanvasText);
170
170
  }
171
+
172
+ .et-pagination-host .et-pagination-button:where([aria-current='page']) {
173
+ --et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);
174
+ }
171
175
  }
@@ -47,7 +47,7 @@
47
47
  &:is([data-state='complete'], [data-state='success'], [data-state='warning'], [data-state='error']):not(
48
48
  :last-child
49
49
  )::after {
50
- background: var(--et-theme-color-primary-solid, currentColor);
50
+ background: var(--et-theme-color-ink-solid);
51
51
  }
52
52
 
53
53
  .et-progress-step-marker {
@@ -83,13 +83,13 @@
83
83
  }
84
84
 
85
85
  &[data-state='current'] .et-progress-step-marker {
86
- border-color: var(--et-theme-color-primary-solid, currentColor);
86
+ border-color: var(--et-theme-color-ink-solid);
87
87
  color: var(--et-theme-color-ink-solid, currentColor);
88
88
  }
89
89
 
90
90
  &:is([data-state='complete'], [data-state='success'], [data-state='warning'], [data-state='error'])
91
91
  .et-progress-step-marker {
92
- border-color: var(--et-theme-color-primary-solid, currentColor);
92
+ border-color: var(--et-theme-color-ink-solid);
93
93
  background: var(--et-theme-color-primary-solid, currentColor);
94
94
  color: var(--et-theme-color-on-primary-solid, white);
95
95
  }
@@ -175,7 +175,7 @@
175
175
  @media (hover: hover) {
176
176
  &:hover {
177
177
  .et-progress-step-marker {
178
- border-color: var(--et-theme-color-primary-solid, currentColor);
178
+ border-color: var(--et-theme-color-ink-solid);
179
179
  }
180
180
 
181
181
  .et-progress-step-label {
@@ -20,4 +20,8 @@
20
20
  gap: 8px;
21
21
  }
22
22
  }
23
+
24
+ .et-query-error-host .et-button:where([data-variant='filled']) {
25
+ --et-button-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);
26
+ }
23
27
  }
@@ -1,4 +1,12 @@
1
1
  @layer components {
2
+ et-scheduler-badge-color-dot,
3
+ et-scheduler-badge-title,
4
+ et-scheduler-badge-time-range,
5
+ et-scheduler-badge-location,
6
+ et-scheduler-badge-chain-count {
7
+ display: contents;
8
+ }
9
+
2
10
  .et-scheduler-appointment {
3
11
  display: flex;
4
12
  align-items: center;
@@ -22,7 +30,8 @@
22
30
  }
23
31
 
24
32
  &:focus-visible {
25
- outline: 2px solid var(--et-theme-color-primary-solid);
33
+ outline: 2px solid
34
+ light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
26
35
  outline-offset: 1px;
27
36
  }
28
37
 
@@ -50,7 +59,7 @@
50
59
  overflow: hidden;
51
60
  font-weight: 600;
52
61
  min-inline-size: 0;
53
- flex: 1;
62
+ flex: 1 1 auto;
54
63
  text-overflow: ellipsis;
55
64
  white-space: nowrap;
56
65
  }
@@ -69,14 +78,19 @@
69
78
  }
70
79
 
71
80
  .et-scheduler-appointment-time-range {
72
- flex-shrink: 0;
81
+ overflow: hidden;
82
+ min-inline-size: 0;
83
+ flex-shrink: 100;
73
84
  font-variant-numeric: tabular-nums;
85
+ text-overflow: ellipsis;
74
86
  white-space: nowrap;
75
87
  }
76
88
 
77
89
  .et-scheduler-appointment-location {
78
90
  display: flex;
79
- flex-shrink: 0;
91
+ overflow: hidden;
92
+ min-inline-size: 0;
93
+ flex-shrink: 100;
80
94
  align-items: center;
81
95
  gap: 3px;
82
96
  max-inline-size: 40%;
@@ -97,7 +111,9 @@
97
111
 
98
112
  .et-scheduler-appointment-chain-count {
99
113
  display: flex;
100
- flex-shrink: 0;
114
+ overflow: hidden;
115
+ min-inline-size: 0;
116
+ flex-shrink: 100;
101
117
  align-items: center;
102
118
  gap: 2px;
103
119
  font-variant-numeric: tabular-nums;
@@ -58,7 +58,8 @@
58
58
  user-select: none;
59
59
 
60
60
  &:focus-visible {
61
- outline: 2px solid var(--et-theme-color-primary-solid);
61
+ outline: 2px solid
62
+ light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
62
63
  outline-offset: -2px;
63
64
  }
64
65
 
@@ -136,7 +137,8 @@
136
137
 
137
138
  &:focus-visible {
138
139
  border-radius: 4px;
139
- outline: 2px solid var(--et-theme-color-primary-solid);
140
+ outline: 2px solid
141
+ light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
140
142
  outline-offset: 1px;
141
143
  }
142
144
  }
@@ -42,7 +42,10 @@
42
42
  }
43
43
 
44
44
  .et-scheduler-time-grid-body {
45
+ --_et-scheduler-time-grid-hour-label-line-height: 14px;
46
+
45
47
  overflow-y: auto;
48
+ padding-block-start: calc(var(--_et-scheduler-time-grid-hour-label-line-height) / 2);
46
49
  max-block-size: var(--et-scheduler-time-grid-body-max-height);
47
50
  }
48
51
 
@@ -129,7 +132,8 @@
129
132
  .et-scheduler-time-grid-slot,
130
133
  .et-scheduler-time-grid-all-day-cell {
131
134
  &:focus-visible {
132
- outline: 2px solid var(--et-theme-color-primary-solid);
135
+ outline: 2px solid
136
+ light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
133
137
  outline-offset: -2px;
134
138
  }
135
139
  }
@@ -146,6 +150,7 @@
146
150
  inline-size: max-content;
147
151
  transform: translateY(-50%);
148
152
  font-size: 11px;
153
+ line-height: var(--_et-scheduler-time-grid-hour-label-line-height);
149
154
  font-variant-numeric: tabular-nums;
150
155
  color: var(--et-surface-color-muted-solid);
151
156
  }
@@ -253,7 +258,8 @@
253
258
  }
254
259
 
255
260
  &:focus-visible {
256
- outline: 2px solid var(--et-theme-color-primary-solid);
261
+ outline: 2px solid
262
+ light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
257
263
  outline-offset: 1px;
258
264
  }
259
265
 
@@ -18,7 +18,7 @@
18
18
  background-color: transparent;
19
19
 
20
20
  &.et-scrollable-navigation-item--active::after {
21
- background-color: var(--et-theme-color-primary, #c6c6c6);
21
+ background-color: light-dark(var(--et-theme-color-ink-solid), var(--et-theme-color-primary));
22
22
  }
23
23
 
24
24
  &::after {
@@ -156,7 +156,7 @@
156
156
  .et-standings-pick-cut-line {
157
157
  flex: 1;
158
158
  block-size: 1px;
159
- background: var(--et-theme-color-primary-solid, currentColor);
159
+ background: light-dark(var(--et-theme-color-ink-solid), var(--et-theme-color-primary-solid));
160
160
  opacity: 0.5;
161
161
  }
162
162
 
@@ -67,7 +67,6 @@
67
67
  }
68
68
 
69
69
  .et-standings-cell:where([data-column='position']) {
70
- position: relative;
71
70
  inline-size: 1px;
72
71
  padding-inline-start: calc(var(--et-standings-cell-padding-inline) + var(--et-standings-zone-bar-width));
73
72
  color: var(--et-surface-color-muted-solid, currentColor);
@@ -115,13 +114,14 @@
115
114
  background: color-mix(in srgb, var(--et-theme-color-primary-solid, transparent) 7%, transparent);
116
115
  }
117
116
 
118
- .et-standings-row:where([data-zone]) .et-standings-cell:where([data-column='position'])::before {
119
- position: absolute;
120
- inset-block: 0;
121
- inset-inline-start: 0;
122
- inline-size: var(--et-standings-zone-bar-width);
123
- background: var(--et-theme-color-primary-solid, currentColor);
124
- content: '';
117
+ .et-standings-row:where([data-zone]) .et-standings-cell:where([data-column='position']) {
118
+ box-shadow: inset var(--et-standings-zone-bar-width) 0 0
119
+ light-dark(var(--et-theme-color-ink-solid), var(--et-theme-color-primary-solid));
120
+
121
+ &:dir(rtl) {
122
+ box-shadow: inset calc(var(--et-standings-zone-bar-width) * -1) 0 0
123
+ light-dark(var(--et-theme-color-ink-solid), var(--et-theme-color-primary-solid));
124
+ }
125
125
  }
126
126
 
127
127
  .et-standings-row:where([data-highlighted]) {
@@ -167,7 +167,7 @@
167
167
  }
168
168
 
169
169
  .et-standings-form-result:where([data-result='tie']) {
170
- background: color-mix(in srgb, var(--et-surface-color-solid, gray) 45%, transparent);
170
+ background: color-mix(in srgb, var(--et-surface-color-solid, gray) 25%, transparent);
171
171
  }
172
172
 
173
173
  .et-standings-form-result:where([data-result='loss']) {
@@ -195,7 +195,7 @@
195
195
  flex: none;
196
196
  inline-size: 10px;
197
197
  block-size: 3px;
198
- background: var(--et-theme-color-primary-solid, currentColor);
198
+ background: light-dark(var(--et-theme-color-ink-solid), var(--et-theme-color-primary-solid));
199
199
  border-radius: 2px;
200
200
  }
201
201
  }
@@ -43,7 +43,7 @@
43
43
  }
44
44
 
45
45
  .et-stat-tile-sparkline-current {
46
- stroke: var(--et-theme-color-primary-solid, currentColor);
46
+ stroke: var(--et-theme-color-ink-solid, currentColor);
47
47
  stroke-width: var(--et-stat-tile-sparkline-current-size);
48
48
  }
49
49
  }