@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.
- package/CHANGELOG.md +119 -0
- package/design/accordion.ts +73 -0
- package/design/avatar.ts +90 -0
- package/design/badge.ts +48 -0
- package/design/banner.ts +77 -0
- package/design/bracket.ts +457 -0
- package/design/breadcrumb.ts +145 -0
- package/design/button.ts +49 -0
- package/design/calendar.ts +306 -0
- package/design/card.ts +92 -0
- package/design/carousel.ts +240 -0
- package/design/chart.ts +512 -0
- package/design/checkbox.ts +275 -0
- package/design/chip.ts +64 -0
- package/design/config.json +22 -0
- package/design/control.ts +19 -0
- package/design/copy-button.ts +59 -0
- package/design/description-list.ts +41 -0
- package/design/dialog.ts +214 -0
- package/design/divider.ts +27 -0
- package/design/empty-state.ts +45 -0
- package/design/floating-action.ts +55 -0
- package/design/form-field.ts +40 -1
- package/design/grid.ts +148 -0
- package/design/icon-set.ts +19 -0
- package/design/icon.ts +9 -0
- package/design/input.ts +86 -0
- package/design/kbd.ts +19 -0
- package/design/loader.ts +152 -0
- package/design/masonry.ts +115 -0
- package/design/match.ts +131 -0
- package/design/menu.ts +143 -0
- package/design/notification.ts +129 -0
- package/design/otp-input.ts +107 -0
- package/design/pagination.ts +120 -0
- package/design/picture.ts +80 -0
- package/design/progress-steps.ts +79 -0
- package/design/query-error.ts +60 -0
- package/design/radio-group.ts +132 -0
- package/design/scheduler.ts +369 -0
- package/design/scrollable.ts +218 -0
- package/design/scrollbar.ts +47 -0
- package/design/sdk/assets/fallback.svg +1 -0
- package/design/sdk/assets/tall.svg +1 -0
- package/design/sdk/assets/wide.svg +1 -0
- package/design/sdk/components/accent-on-light/accent-on-light.css +35 -0
- package/design/sdk/components/accent-on-light/accent-on-light.ts +10 -0
- package/design/sdk/components/accent-on-light/shared/controls.ts +46 -0
- package/design/sdk/components/accordion/accordion.css +17 -0
- package/design/sdk/components/accordion/accordion.ts +64 -0
- package/design/sdk/components/avatar/avatar.css +14 -0
- package/design/sdk/components/avatar/avatar.ts +78 -0
- package/design/sdk/components/badge/badge.css +13 -0
- package/design/sdk/components/badge/badge.ts +52 -0
- package/design/sdk/components/banner/banner.css +18 -0
- package/design/sdk/components/banner/banner.ts +87 -0
- package/design/sdk/components/bracket/bracket.css +59 -0
- package/design/sdk/components/bracket/bracket.ts +143 -0
- package/design/sdk/components/breadcrumb/breadcrumb.css +25 -0
- package/design/sdk/components/breadcrumb/breadcrumb.ts +81 -0
- package/design/sdk/components/button/button.css +33 -0
- package/design/sdk/components/button/button.ts +82 -0
- package/design/sdk/components/calendar/calendar.css +33 -0
- package/design/sdk/components/calendar/calendar.ts +96 -0
- package/design/sdk/components/card/card.css +19 -0
- package/design/sdk/components/card/card.ts +61 -0
- package/design/sdk/components/carousel/carousel.css +44 -0
- package/design/sdk/components/carousel/carousel.ts +74 -0
- package/design/sdk/components/chart/chart.css +56 -0
- package/design/sdk/components/chart/chart.ts +98 -0
- package/design/sdk/components/chip/chip.css +18 -0
- package/design/sdk/components/chip/chip.ts +76 -0
- package/design/sdk/components/copy-button/copy-button.css +14 -0
- package/design/sdk/components/copy-button/copy-button.ts +59 -0
- package/design/sdk/components/description-list/description-list.css +7 -0
- package/design/sdk/components/description-list/description-list.ts +53 -0
- package/design/sdk/components/dialog/dialog.css +29 -0
- package/design/sdk/components/dialog/dialog.ts +78 -0
- package/design/sdk/components/divider/divider.css +26 -0
- package/design/sdk/components/divider/divider.ts +43 -0
- package/design/sdk/components/empty-state/empty-state.css +15 -0
- package/design/sdk/components/empty-state/empty-state.ts +56 -0
- package/design/sdk/components/floating-action/floating-action.css +51 -0
- package/design/sdk/components/floating-action/floating-action.ts +63 -0
- package/design/sdk/components/form-field/form-field.ts +118 -0
- package/design/sdk/components/grid/grid.css +17 -0
- package/design/sdk/components/grid/grid.ts +80 -0
- package/design/sdk/components/input/input.css +75 -0
- package/design/sdk/components/input/input.ts +79 -0
- package/design/sdk/components/kbd/kbd.css +25 -0
- package/design/sdk/components/kbd/kbd.ts +57 -0
- package/design/sdk/components/loader/loader.css +37 -0
- package/design/sdk/components/loader/loader.ts +68 -0
- package/design/sdk/components/masonry/masonry.css +7 -0
- package/design/sdk/components/masonry/masonry.ts +42 -0
- package/design/sdk/components/match/match.css +25 -0
- package/design/sdk/components/match/match.ts +76 -0
- package/design/sdk/components/menu/menu.css +22 -0
- package/design/sdk/components/menu/menu.ts +91 -0
- package/design/sdk/components/notification/notification.css +32 -0
- package/design/sdk/components/notification/notification.ts +106 -0
- package/design/sdk/components/otp-input/otp-input.css +35 -0
- package/design/sdk/components/otp-input/otp-input.ts +64 -0
- package/design/sdk/components/pagination/pagination.css +14 -0
- package/design/sdk/components/pagination/pagination.ts +75 -0
- package/design/sdk/components/picture/picture.css +37 -0
- package/design/sdk/components/picture/picture.ts +96 -0
- package/design/sdk/components/progress-steps/progress-steps.css +37 -0
- package/design/sdk/components/progress-steps/progress-steps.ts +91 -0
- package/design/sdk/components/query-error/query-error.css +33 -0
- package/design/sdk/components/query-error/query-error.ts +120 -0
- package/design/sdk/components/scheduler/scheduler.css +55 -0
- package/design/sdk/components/scheduler/scheduler.ts +239 -0
- package/design/sdk/components/scrollable/scrollable.css +58 -0
- package/design/sdk/components/scrollable/scrollable.ts +133 -0
- package/design/sdk/components/scrollbar/scrollbar.css +78 -0
- package/design/sdk/components/scrollbar/scrollbar.ts +123 -0
- package/design/sdk/components/select/select.css +5 -0
- package/design/sdk/components/select/select.ts +16 -0
- package/design/sdk/components/select/shared/select-part.ts +75 -0
- package/design/sdk/components/select-panel/select-panel.css +3 -0
- package/design/sdk/components/select-panel/select-panel.ts +124 -0
- package/design/sdk/components/skeleton/skeleton.css +22 -0
- package/design/sdk/components/skeleton/skeleton.ts +50 -0
- package/design/sdk/components/slider/slider.css +52 -0
- package/design/sdk/components/slider/slider.ts +86 -0
- package/design/sdk/components/standings/standings.css +33 -0
- package/design/sdk/components/standings/standings.ts +130 -0
- package/design/sdk/components/stat-tile/stat-tile.css +15 -0
- package/design/sdk/components/stat-tile/stat-tile.ts +84 -0
- package/design/sdk/components/stream/stream.css +48 -0
- package/design/sdk/components/stream/stream.ts +38 -0
- package/design/sdk/components/switch/switch.css +35 -0
- package/design/sdk/components/switch/switch.ts +63 -0
- package/design/sdk/components/table/table.css +67 -0
- package/design/sdk/components/table/table.ts +160 -0
- package/design/sdk/components/tabs/tabs.css +13 -0
- package/design/sdk/components/tabs/tabs.ts +74 -0
- package/design/sdk/components/textarea/textarea.css +116 -0
- package/design/sdk/components/textarea/textarea.ts +64 -0
- package/design/sdk/components/timeline/timeline.css +30 -0
- package/design/sdk/components/timeline/timeline.ts +87 -0
- package/design/sdk/components/toolbar/toolbar.css +24 -0
- package/design/sdk/components/toolbar/toolbar.ts +87 -0
- package/design/sdk/components/tooltip/tooltip.css +15 -0
- package/design/sdk/components/tooltip/tooltip.ts +28 -0
- package/design/sdk/components/tree/selected-tint.css +15 -0
- package/design/sdk/components/tree/tree.ts +70 -0
- package/design/sdk/fixtures.ts +0 -0
- package/design/sdk/foundations/colors/colors.css +632 -0
- package/design/sdk/foundations/colors/colors.ts +188 -0
- package/design/sdk/foundations/colors/overrides.json +19 -0
- package/design/sdk/foundations/colors/shared/contrast.ts +120 -0
- package/design/sdk/foundations/elevation/elevation.css +6 -0
- package/design/sdk/foundations/elevation/elevation.ts +11 -0
- package/design/sdk/foundations/elevation/shared/elevation/scene.css +101 -0
- package/design/sdk/foundations/elevation/shared/elevation/scene.ts +74 -0
- package/design/sdk/foundations/icons/icons.ts +119 -0
- package/design/select.ts +113 -28
- package/design/skeleton.ts +67 -0
- package/design/slider.ts +155 -0
- package/design/standings.ts +161 -0
- package/design/stat-tile.ts +109 -0
- package/design/stream.ts +92 -0
- package/design/switch.ts +83 -0
- package/design/table.ts +302 -0
- package/design/tabs.ts +75 -0
- package/design/textarea.ts +92 -0
- package/design/timeline.ts +52 -0
- package/design/toolbar.ts +95 -0
- package/design/tooltip.ts +87 -0
- package/design/tree.ts +106 -0
- package/fesm2022/ethlete-components.mjs +240 -199
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/accordion/accordion.component.css +2 -1
- package/src/lib/avatar/avatar.component.css +10 -0
- package/src/lib/badge/badge.component.css +2 -2
- package/src/lib/banner/banner.component.css +3 -1
- package/src/lib/breadcrumb/breadcrumb-outlet.component.css +5 -0
- package/src/lib/breadcrumb/breadcrumb.component.css +5 -1
- package/src/lib/button/button.component.css +19 -0
- package/src/lib/button/icon-button.component.css +19 -20
- package/src/lib/button/split-button.component.css +5 -1
- package/src/lib/calendar/calendar.component.css +13 -3
- package/src/lib/card/card.component.css +4 -0
- package/src/lib/carousel/carousel-autoplay-styles.component.css +1 -1
- package/src/lib/carousel/carousel.component.css +2 -2
- package/src/lib/chart/chart-axis.component.css +3 -3
- package/src/lib/chip/chip.component.css +8 -2
- package/src/lib/description-list/description-list.component.css +2 -1
- package/src/lib/empty-state/empty-state.component.css +4 -0
- package/src/lib/floating-action/floating-action-styles.component.css +27 -0
- package/src/lib/focus-ring/focus-ring-styles.component.css +4 -1
- package/src/lib/forms/checkbox/checkbox.component.css +31 -5
- package/src/lib/forms/color-input/color-input.component.css +3 -1
- package/src/lib/forms/color-input/color-picker-panel.component.css +6 -2
- package/src/lib/forms/date-time/date-input/date-input.component.css +1 -1
- package/src/lib/forms/date-time/date-time-input/date-time-input.component.css +1 -1
- package/src/lib/forms/date-time/duration-input/duration-input.component.css +1 -1
- package/src/lib/forms/date-time/range-input-shell-styles.component.css +1 -1
- package/src/lib/forms/date-time/time-input/time-input.component.css +1 -1
- package/src/lib/forms/description/description.component.css +7 -0
- package/src/lib/forms/dropzone/dropzone.component.css +26 -0
- package/src/lib/forms/form-field/form-field-control-suffix-styles.component.css +4 -2
- package/src/lib/forms/form-field/form-field-text-shell-styles.component.css +74 -17
- package/src/lib/forms/form-field/form-field-textarea-styles.component.css +62 -0
- package/src/lib/forms/form-field/form-field.component.css +6 -0
- package/src/lib/forms/form-field/headless/label.directive.css +1 -1
- package/src/lib/forms/input/input.component.css +6 -2
- package/src/lib/forms/input/number-input.component.css +2 -2
- package/src/lib/forms/input/password-input.component.css +4 -3
- package/src/lib/forms/otp-input/otp-input.component.css +23 -4
- package/src/lib/forms/phone-input/phone-input.component.css +4 -3
- package/src/lib/forms/rating/rating.component.css +2 -1
- package/src/lib/forms/rich-text-editor/rich-text-editor.component.css +1 -1
- package/src/lib/forms/select/select-option-styles.component.css +3 -2
- package/src/lib/forms/selection-card-styles.component.css +3 -2
- package/src/lib/forms/selection-list/checkbox-group/checkbox-group-select-all.component.css +4 -2
- package/src/lib/forms/selection-list/checkbox-group/checkbox-option.component.css +4 -2
- package/src/lib/forms/selection-list/radio-group/radio.component.css +5 -2
- package/src/lib/forms/selection-list/segmented-button-group/segmented-button.component.css +2 -1
- package/src/lib/forms/slider/range-slider.component.css +98 -6
- package/src/lib/forms/slider/slider.component.css +96 -4
- package/src/lib/forms/switch/switch.component.css +47 -4
- package/src/lib/forms/tag-input/tag-input.component.css +2 -2
- package/src/lib/forms/textarea/textarea-autosize-styles.component.css +2 -3
- package/src/lib/forms/textarea/textarea.component.css +7 -2
- package/src/lib/grid/grid-item-toolbar.component.css +10 -0
- package/src/lib/grid/grid-item.component.css +6 -1
- package/src/lib/icon/headless/align-icons.ts +30 -0
- package/src/lib/icon/headless/arrow-out-up-right-icon.ts +17 -0
- package/src/lib/icon/headless/arrow-right-icon.ts +23 -0
- package/src/lib/icon/headless/arrow-up-icon.ts +30 -0
- package/src/lib/icon/headless/arrows-left-right-icon.ts +31 -0
- package/src/lib/icon/headless/bold-icon.ts +11 -0
- package/src/lib/icon/headless/calendar-icon.ts +21 -0
- package/src/lib/icon/headless/check-icon.ts +14 -0
- package/src/lib/icon/headless/chevron-icon.ts +14 -0
- package/src/lib/icon/headless/circle-check-icon.ts +14 -0
- package/src/lib/icon/headless/circle-info-icon.ts +14 -0
- package/src/lib/icon/headless/clipboard-check-icon.ts +28 -0
- package/src/lib/icon/headless/clock-icon.ts +21 -0
- package/src/lib/icon/headless/code-block-icon.ts +15 -0
- package/src/lib/icon/headless/code-icon.ts +14 -0
- package/src/lib/icon/headless/ellipsis-icon.ts +13 -0
- package/src/lib/icon/headless/ellipsis-vertical-icon.ts +13 -0
- package/src/lib/icon/headless/eye-icons.ts +27 -0
- package/src/lib/icon/headless/eyedropper-icon.ts +22 -0
- package/src/lib/icon/headless/file-icon.ts +16 -0
- package/src/lib/icon/headless/filter-icon.ts +11 -0
- package/src/lib/icon/headless/floppy-disk-icon.ts +27 -0
- package/src/lib/icon/headless/focus-frame-icon.ts +16 -0
- package/src/lib/icon/headless/grid-2x2-icon.ts +17 -0
- package/src/lib/icon/headless/heading-1-icon.ts +11 -0
- package/src/lib/icon/headless/heading-2-icon.ts +11 -0
- package/src/lib/icon/headless/heading-3-icon.ts +11 -0
- package/src/lib/icon/headless/icon-definition.ts +14 -0
- package/src/lib/icon/headless/image-icon.ts +14 -0
- package/src/lib/icon/headless/italic-icon.ts +19 -0
- package/src/lib/icon/headless/link-icon.ts +17 -0
- package/src/lib/icon/headless/list-bulleted-icon.ts +14 -0
- package/src/lib/icon/headless/list-numbered-icon.ts +14 -0
- package/src/lib/icon/headless/location-icon.ts +21 -0
- package/src/lib/icon/headless/lock-icon.ts +14 -0
- package/src/lib/icon/headless/minus-icon.ts +14 -0
- package/src/lib/icon/headless/paragraph-icon.ts +11 -0
- package/src/lib/icon/headless/pause-icon.ts +11 -0
- package/src/lib/icon/headless/pencil-icon.ts +21 -0
- package/src/lib/icon/headless/play-icon.ts +10 -0
- package/src/lib/icon/headless/plus-icon.ts +21 -0
- package/src/lib/icon/headless/quote-icon.ts +15 -0
- package/src/lib/icon/headless/rotate-right-icon.ts +16 -0
- package/src/lib/icon/headless/star-icon.ts +14 -0
- package/src/lib/icon/headless/strikethrough-icon.ts +18 -0
- package/src/lib/icon/headless/table-icon.ts +15 -0
- package/src/lib/icon/headless/thumbtack-icon.ts +18 -0
- package/src/lib/icon/headless/times-icon.ts +14 -0
- package/src/lib/icon/headless/trash-icon.ts +24 -0
- package/src/lib/icon/headless/triangle-exclamation-icon.ts +14 -0
- package/src/lib/icon/headless/trophy-icon.ts +24 -0
- package/src/lib/icon/headless/underline-icon.ts +12 -0
- package/src/lib/icon/headless/undo-redo-icons.ts +24 -0
- package/src/lib/icon/headless/upload-icon.ts +16 -0
- package/src/lib/loader/brand-loader/brand-loader.component.css +4 -1
- package/src/lib/loader/progress-bar/progress-bar.component.css +1 -1
- package/src/lib/loader/spinner/spinner-styles.component.css +1 -1
- package/src/lib/match/match-card.component.css +9 -3
- package/src/lib/match/match-score.component.css +4 -1
- package/src/lib/menu/menu-selection-item.component.css +1 -1
- package/src/lib/menu/menu.component.css +5 -0
- package/src/lib/overlay/overlay-container.component.css +4 -0
- package/src/lib/pagination/pagination.component.css +4 -0
- package/src/lib/progress-steps/progress-step.component.css +4 -4
- package/src/lib/query-error/query-error.component.css +4 -0
- package/src/lib/scheduler/scheduler-appointment-styles.component.css +21 -5
- package/src/lib/scheduler/scheduler-month-view.component.css +4 -2
- package/src/lib/scheduler/scheduler-time-grid-view.component.css +8 -2
- package/src/lib/scrollable/headless/scrollable-navigation.component.css +1 -1
- package/src/lib/standings/standings-pick.component.css +1 -1
- package/src/lib/standings/standings.component.css +10 -10
- package/src/lib/stat-tile/stat-tile-sparkline.component.css +1 -1
- package/src/lib/stream/consent/stream-consent.component.css +99 -0
- package/src/lib/stream/error/stream-player-error.component.css +100 -0
- package/src/lib/stream/loading/stream-player-loading.component.css +16 -0
- package/src/lib/stream/pip/pip-slot-placeholder.component.css +68 -0
- package/src/lib/stream/stream-player-slot-styles.component.css +4 -0
- package/src/lib/table/table-resize-grip.component.css +2 -1
- package/src/lib/table/table-select-cell.component.css +45 -15
- package/src/lib/table/table.component.css +15 -5
- package/src/lib/tabs/tab-bar-styles.component.css +1 -1
- package/src/lib/tabs/tabs/tab-group.component.css +111 -0
- package/src/lib/time-picker/time-picker.component.css +2 -1
- package/src/lib/timeline/timeline-item.component.css +5 -1
- package/src/lib/toolbar/toolbar.component.css +4 -0
- package/src/lib/tooltip/tooltip.component.css +14 -0
- package/src/lib/tree/tree.component.css +2 -2
- package/types/ethlete-components.d.ts +62 -53
|
@@ -91,9 +91,10 @@
|
|
|
91
91
|
position: relative;
|
|
92
92
|
display: flex;
|
|
93
93
|
align-items: center;
|
|
94
|
-
block-size: max(
|
|
94
|
+
block-size: max(44px, var(--et-slider-thumb-size));
|
|
95
95
|
/* thumbs overhang the rail by half their size at the extremes — keep them inside the box */
|
|
96
96
|
margin-inline: calc(var(--et-slider-thumb-size) / 2);
|
|
97
|
+
container-type: inline-size;
|
|
97
98
|
cursor: pointer;
|
|
98
99
|
}
|
|
99
100
|
|
|
@@ -131,7 +132,8 @@
|
|
|
131
132
|
/* not `:focus-visible` alone: the track focuses the thumb programmatically on a press, and
|
|
132
133
|
Chrome matches `:focus-visible` for that - the ring then stayed on after every click */
|
|
133
134
|
&:focus-visible:not([data-pointer-focused]) {
|
|
134
|
-
outline: 2px solid
|
|
135
|
+
outline: 2px solid
|
|
136
|
+
light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
|
|
135
137
|
outline-offset: 2px;
|
|
136
138
|
}
|
|
137
139
|
|
|
@@ -168,7 +170,13 @@
|
|
|
168
170
|
left: 50%;
|
|
169
171
|
/* clear the thumb (which overhangs the tick by half the size difference), then add the gap */
|
|
170
172
|
inset-block-start: calc(100% + (var(--et-slider-thumb-size) - var(--et-slider-mark-size)) / 2 + 6px);
|
|
171
|
-
|
|
173
|
+
--_et-slider-edge-x: calc(var(--_et-slider-mark-position, 0) * 1cqi);
|
|
174
|
+
translate: clamp(
|
|
175
|
+
-1 * (var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2),
|
|
176
|
+
-50%,
|
|
177
|
+
100cqi - var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2 - 100%
|
|
178
|
+
)
|
|
179
|
+
0;
|
|
172
180
|
inline-size: max-content;
|
|
173
181
|
font-size: var(--et-slider-mark-label-font-size);
|
|
174
182
|
line-height: 1.2;
|
|
@@ -189,7 +197,13 @@
|
|
|
189
197
|
/* physical centering is direction-safe — 50% of the thumb is 50% in both directions */
|
|
190
198
|
left: 50%;
|
|
191
199
|
bottom: calc(100% + 8px);
|
|
192
|
-
|
|
200
|
+
--_et-slider-edge-x: calc(var(--_et-slider-thumb-position, 0) * 1cqi);
|
|
201
|
+
translate: clamp(
|
|
202
|
+
-1 * (var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2),
|
|
203
|
+
-50%,
|
|
204
|
+
100cqi - var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2 - 100%
|
|
205
|
+
)
|
|
206
|
+
0;
|
|
193
207
|
inline-size: max-content;
|
|
194
208
|
padding: 2px 8px;
|
|
195
209
|
border-radius: 6px;
|
|
@@ -203,6 +217,21 @@
|
|
|
203
217
|
user-select: none;
|
|
204
218
|
}
|
|
205
219
|
|
|
220
|
+
.et-range-slider-mark-label:dir(rtl) {
|
|
221
|
+
--_et-slider-edge-x: calc((100 - var(--_et-slider-mark-position, 0)) * 1cqi);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.et-range-slider-thumb-value:dir(rtl) {
|
|
225
|
+
--_et-slider-edge-x: calc((100 - var(--_et-slider-thumb-position, 0)) * 1cqi);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
&:where([data-thumb-value]) .et-range-slider-interaction {
|
|
229
|
+
margin-block-start: calc(
|
|
230
|
+
var(--et-slider-thumb-value-font-size) * 1.4 + 14px -
|
|
231
|
+
(max(44px, var(--et-slider-thumb-size)) - var(--et-slider-thumb-size)) / 2
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
|
|
206
235
|
/* an unresolved bulk-edit range parks both thumbs at the track start — the dashed accent rail
|
|
207
236
|
(not a muted/grey one, which would read as disabled) makes that read as "provisional /
|
|
208
237
|
values differ", not "minimum". The fill is already zero-width while mixed. Consumers
|
|
@@ -261,11 +290,12 @@
|
|
|
261
290
|
.et-range-slider-interaction {
|
|
262
291
|
flex-direction: column;
|
|
263
292
|
align-items: center;
|
|
264
|
-
inline-size: max(
|
|
293
|
+
inline-size: max(44px, var(--et-slider-thumb-size));
|
|
265
294
|
block-size: var(--et-slider-vertical-size);
|
|
266
295
|
margin-inline: 0;
|
|
267
296
|
/* thumbs overhang the rail by half their size at the extremes — keep them inside the box */
|
|
268
297
|
margin-block: calc(var(--et-slider-thumb-size) / 2);
|
|
298
|
+
container-type: normal;
|
|
269
299
|
}
|
|
270
300
|
|
|
271
301
|
.et-range-slider-rail {
|
|
@@ -296,7 +326,17 @@
|
|
|
296
326
|
bottom: auto;
|
|
297
327
|
inset-block-start: 50%;
|
|
298
328
|
inset-inline-start: calc(100% + 8px);
|
|
299
|
-
translate: 0
|
|
329
|
+
translate: 0
|
|
330
|
+
clamp(
|
|
331
|
+
-1 *
|
|
332
|
+
(
|
|
333
|
+
(100 - var(--_et-slider-thumb-position, 0)) * var(--et-slider-vertical-size) / 100 +
|
|
334
|
+
var(--et-slider-thumb-size) / 2
|
|
335
|
+
),
|
|
336
|
+
-50%,
|
|
337
|
+
var(--_et-slider-thumb-position, 0) * var(--et-slider-vertical-size) / 100 + var(--et-slider-thumb-size) /
|
|
338
|
+
2 - 100%
|
|
339
|
+
);
|
|
300
340
|
}
|
|
301
341
|
|
|
302
342
|
.et-range-slider-mark {
|
|
@@ -315,6 +355,58 @@
|
|
|
315
355
|
translate: 0 -50%;
|
|
316
356
|
}
|
|
317
357
|
|
|
358
|
+
&:where([data-mark-labels]) {
|
|
359
|
+
.et-range-slider-interaction {
|
|
360
|
+
display: grid;
|
|
361
|
+
grid-template-columns: auto max(44px, var(--et-slider-thumb-size));
|
|
362
|
+
align-self: flex-start;
|
|
363
|
+
inline-size: auto;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.et-range-slider-rail {
|
|
367
|
+
grid-area: 1 / 2;
|
|
368
|
+
justify-self: center;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.et-range-slider-fill,
|
|
372
|
+
.et-range-slider-thumb {
|
|
373
|
+
grid-area: 1 / 2;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.et-range-slider-marks,
|
|
377
|
+
.et-range-slider-mark {
|
|
378
|
+
display: contents;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.et-range-slider-mark::before {
|
|
382
|
+
content: '';
|
|
383
|
+
position: absolute;
|
|
384
|
+
grid-area: 1 / 2;
|
|
385
|
+
left: 50%;
|
|
386
|
+
bottom: calc(var(--_et-slider-mark-position, 0) * 1% - var(--et-slider-mark-size) / 2);
|
|
387
|
+
translate: -50% 0;
|
|
388
|
+
inline-size: var(--et-slider-mark-size);
|
|
389
|
+
block-size: var(--et-slider-mark-size);
|
|
390
|
+
border-radius: 50%;
|
|
391
|
+
background: inherit;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.et-range-slider-mark-label {
|
|
395
|
+
position: relative;
|
|
396
|
+
grid-area: 1 / 1;
|
|
397
|
+
justify-self: end;
|
|
398
|
+
align-self: end;
|
|
399
|
+
inset: auto;
|
|
400
|
+
bottom: clamp(
|
|
401
|
+
var(--et-slider-thumb-size) / -2,
|
|
402
|
+
var(--_et-slider-mark-position, 0) * 1% - var(--et-slider-mark-label-font-size) * 0.6,
|
|
403
|
+
100% + var(--et-slider-thumb-size) / 2 - var(--et-slider-mark-label-font-size) * 1.2
|
|
404
|
+
);
|
|
405
|
+
translate: none;
|
|
406
|
+
margin-inline-end: calc(var(--et-slider-thumb-size) / 2 + 6px - max(44px, var(--et-slider-thumb-size)) / 2);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
318
410
|
&[data-mixed] {
|
|
319
411
|
.et-range-slider-rail {
|
|
320
412
|
background: repeating-linear-gradient(
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
block-size: max(44px, var(--et-slider-thumb-size));
|
|
94
94
|
/* thumbs overhang the rail by half their size at the extremes — keep them inside the box */
|
|
95
95
|
margin-inline: calc(var(--et-slider-thumb-size) / 2);
|
|
96
|
+
container-type: inline-size;
|
|
96
97
|
cursor: pointer;
|
|
97
98
|
}
|
|
98
99
|
|
|
@@ -130,7 +131,8 @@
|
|
|
130
131
|
/* not `:focus-visible` alone: the track focuses the thumb programmatically on a press, and
|
|
131
132
|
Chrome matches `:focus-visible` for that - the ring then stayed on after every click */
|
|
132
133
|
&:focus-visible:not([data-pointer-focused]) {
|
|
133
|
-
outline: 2px solid
|
|
134
|
+
outline: 2px solid
|
|
135
|
+
light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
|
|
134
136
|
outline-offset: 2px;
|
|
135
137
|
}
|
|
136
138
|
}
|
|
@@ -162,7 +164,13 @@
|
|
|
162
164
|
left: 50%;
|
|
163
165
|
/* clear the thumb (which overhangs the tick by half the size difference), then add the gap */
|
|
164
166
|
inset-block-start: calc(100% + (var(--et-slider-thumb-size) - var(--et-slider-mark-size)) / 2 + 6px);
|
|
165
|
-
|
|
167
|
+
--_et-slider-edge-x: calc(var(--_et-slider-mark-position, 0) * 1cqi);
|
|
168
|
+
translate: clamp(
|
|
169
|
+
-1 * (var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2),
|
|
170
|
+
-50%,
|
|
171
|
+
100cqi - var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2 - 100%
|
|
172
|
+
)
|
|
173
|
+
0;
|
|
166
174
|
inline-size: max-content;
|
|
167
175
|
font-size: var(--et-slider-mark-label-font-size);
|
|
168
176
|
line-height: 1.2;
|
|
@@ -183,7 +191,13 @@
|
|
|
183
191
|
/* physical centering is direction-safe — 50% of the thumb is 50% in both directions */
|
|
184
192
|
left: 50%;
|
|
185
193
|
bottom: calc(100% + 8px);
|
|
186
|
-
|
|
194
|
+
--_et-slider-edge-x: calc(var(--_et-slider-thumb-position, 0) * 1cqi);
|
|
195
|
+
translate: clamp(
|
|
196
|
+
-1 * (var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2),
|
|
197
|
+
-50%,
|
|
198
|
+
100cqi - var(--_et-slider-edge-x) + var(--et-slider-thumb-size) / 2 - 100%
|
|
199
|
+
)
|
|
200
|
+
0;
|
|
187
201
|
inline-size: max-content;
|
|
188
202
|
padding: 2px 8px;
|
|
189
203
|
border-radius: 6px;
|
|
@@ -197,6 +211,21 @@
|
|
|
197
211
|
user-select: none;
|
|
198
212
|
}
|
|
199
213
|
|
|
214
|
+
.et-slider-mark-label:dir(rtl) {
|
|
215
|
+
--_et-slider-edge-x: calc((100 - var(--_et-slider-mark-position, 0)) * 1cqi);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.et-slider-thumb-value:dir(rtl) {
|
|
219
|
+
--_et-slider-edge-x: calc((100 - var(--_et-slider-thumb-position, 0)) * 1cqi);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
&:where([data-thumb-value]) .et-slider-interaction {
|
|
223
|
+
margin-block-start: calc(
|
|
224
|
+
var(--et-slider-thumb-value-font-size) * 1.4 + 14px -
|
|
225
|
+
(max(44px, var(--et-slider-thumb-size)) - var(--et-slider-thumb-size)) / 2
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
|
|
200
229
|
/* an unresolved bulk-edit value parks the thumb at the track start — the dashed accent rail
|
|
201
230
|
(not a muted/grey one, which would read as disabled) makes that read as "provisional /
|
|
202
231
|
values differ", not "minimum". The fill is already zero-width while mixed. Consumers
|
|
@@ -260,6 +289,7 @@
|
|
|
260
289
|
margin-inline: 0;
|
|
261
290
|
/* thumbs overhang the rail by half their size at the extremes — keep them inside the box */
|
|
262
291
|
margin-block: calc(var(--et-slider-thumb-size) / 2);
|
|
292
|
+
container-type: normal;
|
|
263
293
|
}
|
|
264
294
|
|
|
265
295
|
.et-slider-rail {
|
|
@@ -290,7 +320,17 @@
|
|
|
290
320
|
bottom: auto;
|
|
291
321
|
inset-block-start: 50%;
|
|
292
322
|
inset-inline-start: calc(100% + 8px);
|
|
293
|
-
translate: 0
|
|
323
|
+
translate: 0
|
|
324
|
+
clamp(
|
|
325
|
+
-1 *
|
|
326
|
+
(
|
|
327
|
+
(100 - var(--_et-slider-thumb-position, 0)) * var(--et-slider-vertical-size) / 100 +
|
|
328
|
+
var(--et-slider-thumb-size) / 2
|
|
329
|
+
),
|
|
330
|
+
-50%,
|
|
331
|
+
var(--_et-slider-thumb-position, 0) * var(--et-slider-vertical-size) / 100 + var(--et-slider-thumb-size) /
|
|
332
|
+
2 - 100%
|
|
333
|
+
);
|
|
294
334
|
}
|
|
295
335
|
|
|
296
336
|
.et-slider-mark {
|
|
@@ -309,6 +349,58 @@
|
|
|
309
349
|
translate: 0 -50%;
|
|
310
350
|
}
|
|
311
351
|
|
|
352
|
+
&:where([data-mark-labels]) {
|
|
353
|
+
.et-slider-interaction {
|
|
354
|
+
display: grid;
|
|
355
|
+
grid-template-columns: auto max(44px, var(--et-slider-thumb-size));
|
|
356
|
+
align-self: flex-start;
|
|
357
|
+
inline-size: auto;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.et-slider-rail {
|
|
361
|
+
grid-area: 1 / 2;
|
|
362
|
+
justify-self: center;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.et-slider-fill,
|
|
366
|
+
.et-slider-thumb {
|
|
367
|
+
grid-area: 1 / 2;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
.et-slider-marks,
|
|
371
|
+
.et-slider-mark {
|
|
372
|
+
display: contents;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.et-slider-mark::before {
|
|
376
|
+
content: '';
|
|
377
|
+
position: absolute;
|
|
378
|
+
grid-area: 1 / 2;
|
|
379
|
+
left: 50%;
|
|
380
|
+
bottom: calc(var(--_et-slider-mark-position, 0) * 1% - var(--et-slider-mark-size) / 2);
|
|
381
|
+
translate: -50% 0;
|
|
382
|
+
inline-size: var(--et-slider-mark-size);
|
|
383
|
+
block-size: var(--et-slider-mark-size);
|
|
384
|
+
border-radius: 50%;
|
|
385
|
+
background: inherit;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.et-slider-mark-label {
|
|
389
|
+
position: relative;
|
|
390
|
+
grid-area: 1 / 1;
|
|
391
|
+
justify-self: end;
|
|
392
|
+
align-self: end;
|
|
393
|
+
inset: auto;
|
|
394
|
+
bottom: clamp(
|
|
395
|
+
var(--et-slider-thumb-size) / -2,
|
|
396
|
+
var(--_et-slider-mark-position, 0) * 1% - var(--et-slider-mark-label-font-size) * 0.6,
|
|
397
|
+
100% + var(--et-slider-thumb-size) / 2 - var(--et-slider-mark-label-font-size) * 1.2
|
|
398
|
+
);
|
|
399
|
+
translate: none;
|
|
400
|
+
margin-inline-end: calc(var(--et-slider-thumb-size) / 2 + 6px - max(44px, var(--et-slider-thumb-size)) / 2);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
312
404
|
&[data-mixed] {
|
|
313
405
|
.et-slider-rail {
|
|
314
406
|
background: repeating-linear-gradient(
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
height: var(--et-switch-track-height);
|
|
60
60
|
border-radius: calc(var(--et-switch-track-height) / 2);
|
|
61
61
|
background-color: color-mix(in srgb, var(--et-surface-interaction-solid, currentColor) 22%, transparent);
|
|
62
|
+
box-shadow: inset 0 0 0 1px var(--et-surface-interaction-solid);
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
/* hover-capable pointers only — on touch, :hover sticks after a tap */
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
&:not([aria-disabled='true']):not([data-readonly]):not([aria-checked='true']):not([data-indeterminate])
|
|
70
71
|
.et-switch-track {
|
|
71
72
|
background-color: color-mix(in srgb, var(--et-surface-interaction-solid, currentColor) 30%, transparent);
|
|
73
|
+
box-shadow: inset 0 0 0 1px var(--et-surface-interaction-hover-solid);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
|
|
@@ -78,8 +80,45 @@
|
|
|
78
80
|
background-color: color-mix(in srgb, var(--et-theme-color-primary-solid) 40%, transparent);
|
|
79
81
|
}
|
|
80
82
|
|
|
83
|
+
@media (hover: hover) {
|
|
84
|
+
:where(et-choice-field[data-error])
|
|
85
|
+
&:hover:not([aria-disabled='true']):not([data-readonly]):not([aria-checked='true']):not([data-indeterminate])
|
|
86
|
+
.et-switch-track,
|
|
87
|
+
:where(et-choice-field[data-error]:has(.et-choice-field-label-area:hover))
|
|
88
|
+
&:not([aria-disabled='true']):not([data-readonly]):not([aria-checked='true']):not([data-indeterminate])
|
|
89
|
+
.et-switch-track {
|
|
90
|
+
background-color: color-mix(
|
|
91
|
+
in srgb,
|
|
92
|
+
light-dark(
|
|
93
|
+
rgb(var(--et-color-primary-hover, var(--et-color-primary))),
|
|
94
|
+
rgb(
|
|
95
|
+
var(
|
|
96
|
+
--et-color-primary-ink-active,
|
|
97
|
+
var(
|
|
98
|
+
--et-color-primary-ink-focus,
|
|
99
|
+
var(
|
|
100
|
+
--et-color-primary-ink-hover,
|
|
101
|
+
var(
|
|
102
|
+
--et-color-primary-ink,
|
|
103
|
+
var(
|
|
104
|
+
--et-color-primary-active,
|
|
105
|
+
var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)))
|
|
106
|
+
)
|
|
107
|
+
)
|
|
108
|
+
)
|
|
109
|
+
)
|
|
110
|
+
)
|
|
111
|
+
)
|
|
112
|
+
)
|
|
113
|
+
40%,
|
|
114
|
+
transparent
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
81
119
|
&:focus-visible .et-switch-track {
|
|
82
|
-
outline: 2px solid
|
|
120
|
+
outline: 2px solid
|
|
121
|
+
light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
|
|
83
122
|
outline-offset: 2px;
|
|
84
123
|
}
|
|
85
124
|
|
|
@@ -117,6 +156,7 @@
|
|
|
117
156
|
&[aria-checked='true'] {
|
|
118
157
|
.et-switch-track {
|
|
119
158
|
background-color: var(--et-theme-color-primary-solid, currentColor);
|
|
159
|
+
box-shadow: inset 0 0 0 1px light-dark(var(--et-theme-color-ink-solid), transparent);
|
|
120
160
|
}
|
|
121
161
|
|
|
122
162
|
.et-switch-thumb {
|
|
@@ -149,25 +189,28 @@
|
|
|
149
189
|
&[data-indeterminate] {
|
|
150
190
|
.et-switch-track {
|
|
151
191
|
background-color: transparent;
|
|
192
|
+
box-shadow: none;
|
|
152
193
|
|
|
153
194
|
&::before {
|
|
154
195
|
content: '';
|
|
155
196
|
position: absolute;
|
|
156
197
|
inset: 0;
|
|
157
198
|
border-radius: inherit;
|
|
158
|
-
border: 1px dashed var(--et-theme-color-
|
|
199
|
+
border: 1px dashed var(--et-theme-color-ink-solid, currentColor);
|
|
159
200
|
}
|
|
160
201
|
}
|
|
161
202
|
|
|
162
203
|
.et-switch-thumb {
|
|
163
204
|
left: calc((var(--et-switch-track-width) - (var(--et-switch-thumb-size) - 4px)) / 2);
|
|
164
|
-
background-color: var(--et-theme-color-
|
|
205
|
+
background-color: var(--et-theme-color-ink-solid, currentColor);
|
|
165
206
|
}
|
|
166
207
|
}
|
|
167
208
|
|
|
168
209
|
&[data-can-animate] {
|
|
169
210
|
.et-switch-track {
|
|
170
|
-
transition:
|
|
211
|
+
transition:
|
|
212
|
+
background-color var(--et-switch-transition-duration) ease,
|
|
213
|
+
box-shadow var(--et-switch-transition-duration) ease;
|
|
171
214
|
}
|
|
172
215
|
|
|
173
216
|
.et-switch-thumb {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
caret-color: var(--et-theme-color-primary-solid, currentColor);
|
|
36
36
|
|
|
37
37
|
&::placeholder {
|
|
38
|
-
color: color-mix(in srgb, currentColor
|
|
38
|
+
color: color-mix(in srgb, currentColor 60%, transparent);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
&:disabled {
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/* an unresolved bulk-edit value reads as provisional — the mixedLabel placeholder sits
|
|
47
|
-
between committed text (full strength) and the regular placeholder (
|
|
47
|
+
between committed text (full strength) and the regular placeholder (60%). Consumers
|
|
48
48
|
restyle via [data-mixed]. */
|
|
49
49
|
&[data-mixed] .et-tag-input-field::placeholder {
|
|
50
50
|
font-style: italic;
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
run at once - the directive skips measuring exactly when this `@supports` condition holds.
|
|
5
5
|
Delete the fallback once Firefox ESR and iOS Safari 26 both support `field-sizing`.
|
|
6
6
|
|
|
7
|
-
The row bounds
|
|
8
|
-
|
|
9
|
-
field's frame instead. */
|
|
7
|
+
The row bounds count only the content: the native textarea is a border box, so a rule that
|
|
8
|
+
pads it must add its block padding to both bounds, as form-field-textarea-styles does. */
|
|
10
9
|
@supports (field-sizing: content) {
|
|
11
10
|
textarea[data-et-textarea-autosize] {
|
|
12
11
|
field-sizing: content;
|
|
@@ -18,7 +18,11 @@
|
|
|
18
18
|
min-width: 0;
|
|
19
19
|
|
|
20
20
|
&::placeholder {
|
|
21
|
-
color: color-mix(in srgb, currentColor
|
|
21
|
+
color: color-mix(in srgb, currentColor 60%, transparent);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&[rows='1']::placeholder {
|
|
25
|
+
white-space: pre;
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
&[data-resize='none'] {
|
|
@@ -27,11 +31,12 @@
|
|
|
27
31
|
|
|
28
32
|
&[data-resize='vertical'] {
|
|
29
33
|
resize: vertical;
|
|
34
|
+
min-block-size: 1lh;
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
|
|
33
38
|
/* an unresolved bulk-edit value reads as provisional — the mixed label shows as the
|
|
34
|
-
placeholder, between a committed value (full strength) and a real placeholder (
|
|
39
|
+
placeholder, between a committed value (full strength) and a real placeholder (60%) */
|
|
35
40
|
&[data-mixed] .et-textarea-native::placeholder {
|
|
36
41
|
font-style: italic;
|
|
37
42
|
color: color-mix(in srgb, currentColor 72%, transparent);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.et-grid-item-toolbar {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: var(--et-grid-item-toolbar-gap, 4px);
|
|
6
|
+
padding: var(--et-grid-item-toolbar-padding, 4px);
|
|
7
|
+
border-radius: var(--et-grid-item-toolbar-radius, 8px);
|
|
8
|
+
background: var(--et-grid-item-toolbar-background, transparent);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
background: var(--et-grid-item-bg, var(--et-surface-background-solid));
|
|
24
24
|
|
|
25
25
|
&:focus-visible {
|
|
26
|
-
outline: 2px solid
|
|
26
|
+
outline: 2px solid
|
|
27
|
+
light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor));
|
|
27
28
|
outline-offset: -2px;
|
|
28
29
|
}
|
|
29
30
|
|
|
@@ -152,6 +153,10 @@
|
|
|
152
153
|
min-height: 0;
|
|
153
154
|
}
|
|
154
155
|
|
|
156
|
+
.et-grid-item:has(> .et-grid-item__actions:not(:empty)) > .et-grid-item__content {
|
|
157
|
+
padding-inline-end: var(--et-grid-item-actions-reserve, calc(2.4rem + 12px));
|
|
158
|
+
}
|
|
159
|
+
|
|
155
160
|
.et-grid:not(.et-grid--readonly) .et-grid-item__content {
|
|
156
161
|
cursor: grab;
|
|
157
162
|
user-select: none;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IconDefinition } from './icon-definition';
|
|
2
|
+
|
|
3
|
+
const svg = (lines: string) =>
|
|
4
|
+
`<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"
|
|
5
|
+
stroke="currentColor" stroke-width="1.4" stroke-linecap="round">${lines}</svg>`;
|
|
6
|
+
|
|
7
|
+
// Custom icons - horizontal rules representing text-align.
|
|
8
|
+
export const ALIGN_LEFT_ICON: IconDefinition = {
|
|
9
|
+
name: 'et-align-left',
|
|
10
|
+
data: /* @__PURE__ */ svg(`<line x1="2.5" y1="4" x2="13.5" y2="4"/><line x1="2.5" y1="8" x2="9.5" y2="8"/>
|
|
11
|
+
<line x1="2.5" y1="12" x2="12" y2="12"/>`),
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export const ALIGN_CENTER_ICON: IconDefinition = {
|
|
15
|
+
name: 'et-align-center',
|
|
16
|
+
data: /* @__PURE__ */ svg(`<line x1="2.5" y1="4" x2="13.5" y2="4"/><line x1="4.5" y1="8" x2="11.5" y2="8"/>
|
|
17
|
+
<line x1="3.5" y1="12" x2="12.5" y2="12"/>`),
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const ALIGN_RIGHT_ICON: IconDefinition = {
|
|
21
|
+
name: 'et-align-right',
|
|
22
|
+
data: /* @__PURE__ */ svg(`<line x1="2.5" y1="4" x2="13.5" y2="4"/><line x1="6.5" y1="8" x2="13.5" y2="8"/>
|
|
23
|
+
<line x1="4" y1="12" x2="13.5" y2="12"/>`),
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const ALIGN_JUSTIFY_ICON: IconDefinition = {
|
|
27
|
+
name: 'et-align-justify',
|
|
28
|
+
data: /* @__PURE__ */ svg(`<line x1="2.5" y1="4" x2="13.5" y2="4"/><line x1="2.5" y1="8" x2="13.5" y2="8"/>
|
|
29
|
+
<line x1="2.5" y1="12" x2="13.5" y2="12"/>`),
|
|
30
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IconDefinition } from './icon-definition';
|
|
2
|
+
|
|
3
|
+
export const ARROW_OUT_UP_RIGHT_ICON: IconDefinition = {
|
|
4
|
+
name: 'et-arrow-out-up-right',
|
|
5
|
+
data: `
|
|
6
|
+
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
7
|
+
<path
|
|
8
|
+
fill="currentColor"
|
|
9
|
+
d="M5 6.75A1.75 1.75 0 0 1 6.75 5h4.5a.75.75 0 0 1 0 1.5h-4.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-4.5a.75.75 0 0 1 1.5 0v4.5A1.75 1.75 0 0 1 17.25 19H6.75A1.75 1.75 0 0 1 5 17.25V6.75Z"
|
|
10
|
+
/>
|
|
11
|
+
<path
|
|
12
|
+
fill="currentColor"
|
|
13
|
+
d="M11.5 5.75c0-.414.336-.75.75-.75h6c.414 0 .75.336.75.75v6a.75.75 0 0 1-1.5 0V7.56l-6.72 6.72a.75.75 0 1 1-1.06-1.06l6.72-6.72h-4.19a.75.75 0 0 1-.75-.75Z"
|
|
14
|
+
/>
|
|
15
|
+
</svg>
|
|
16
|
+
`,
|
|
17
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IconDefinition } from './icon-definition';
|
|
2
|
+
|
|
3
|
+
export const ARROW_RIGHT_ICON: IconDefinition = {
|
|
4
|
+
name: 'et-arrow-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 12h14"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
stroke-width="1.8"
|
|
11
|
+
stroke-linecap="round"
|
|
12
|
+
stroke-linejoin="round"
|
|
13
|
+
/>
|
|
14
|
+
<path
|
|
15
|
+
d="M13 7l5 5-5 5"
|
|
16
|
+
stroke="currentColor"
|
|
17
|
+
stroke-width="1.8"
|
|
18
|
+
stroke-linecap="round"
|
|
19
|
+
stroke-linejoin="round"
|
|
20
|
+
/>
|
|
21
|
+
</svg>
|
|
22
|
+
`,
|
|
23
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IconDefinition } from './icon-definition';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Upward arrow. Rotate it 180° for the downward one - see the table's sort indicator.
|
|
5
|
+
*
|
|
6
|
+
* Drawn to fill its viewBox and sit centred in it (the shaft spans 3.5–20.5 of 24, so the glyph's
|
|
7
|
+
* midpoint is the box's). An arrow inset from its own box renders far smaller than the text it sits
|
|
8
|
+
* beside, and off-centre against it, however carefully the box itself is aligned.
|
|
9
|
+
*/
|
|
10
|
+
export const ARROW_UP_ICON: IconDefinition = {
|
|
11
|
+
name: 'et-arrow-up',
|
|
12
|
+
data: `
|
|
13
|
+
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
|
14
|
+
<path
|
|
15
|
+
d="M12 20.5V3.5"
|
|
16
|
+
stroke="currentColor"
|
|
17
|
+
stroke-width="2"
|
|
18
|
+
stroke-linecap="round"
|
|
19
|
+
stroke-linejoin="round"
|
|
20
|
+
/>
|
|
21
|
+
<path
|
|
22
|
+
d="M5.5 10L12 3.5 18.5 10"
|
|
23
|
+
stroke="currentColor"
|
|
24
|
+
stroke-width="2"
|
|
25
|
+
stroke-linecap="round"
|
|
26
|
+
stroke-linejoin="round"
|
|
27
|
+
/>
|
|
28
|
+
</svg>
|
|
29
|
+
`,
|
|
30
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { IconDefinition } from './icon-definition';
|
|
2
|
+
|
|
3
|
+
/** Arrows pointing apart along the inline axis - a "fit to width" action (the table's autosize). */
|
|
4
|
+
export const ARROWS_LEFT_RIGHT_ICON: IconDefinition = {
|
|
5
|
+
name: 'et-arrows-left-right',
|
|
6
|
+
data: `
|
|
7
|
+
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
|
8
|
+
<path
|
|
9
|
+
d="M3.5 12h17"
|
|
10
|
+
stroke="currentColor"
|
|
11
|
+
stroke-width="2"
|
|
12
|
+
stroke-linecap="round"
|
|
13
|
+
stroke-linejoin="round"
|
|
14
|
+
/>
|
|
15
|
+
<path
|
|
16
|
+
d="M8 7.5L3.5 12 8 16.5"
|
|
17
|
+
stroke="currentColor"
|
|
18
|
+
stroke-width="2"
|
|
19
|
+
stroke-linecap="round"
|
|
20
|
+
stroke-linejoin="round"
|
|
21
|
+
/>
|
|
22
|
+
<path
|
|
23
|
+
d="M16 7.5L20.5 12 16 16.5"
|
|
24
|
+
stroke="currentColor"
|
|
25
|
+
stroke-width="2"
|
|
26
|
+
stroke-linecap="round"
|
|
27
|
+
stroke-linejoin="round"
|
|
28
|
+
/>
|
|
29
|
+
</svg>
|
|
30
|
+
`,
|
|
31
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IconDefinition } from './icon-definition';
|
|
2
|
+
|
|
3
|
+
// Custom icon.
|
|
4
|
+
export const BOLD_ICON: IconDefinition = {
|
|
5
|
+
name: 'et-bold',
|
|
6
|
+
data: `
|
|
7
|
+
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
8
|
+
<text x="8" y="12" font-size="12" font-weight="700" text-anchor="middle" fill="currentColor">B</text>
|
|
9
|
+
</svg>
|
|
10
|
+
`,
|
|
11
|
+
};
|