@ethlete/components 1.0.0-next.72 → 1.0.0-next.74
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 +79 -0
- package/design/form-field.ts +1 -0
- package/design/select.ts +1 -1
- package/fesm2022/ethlete-components.mjs +1918 -1286
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/accordion/accordion.component.css +40 -24
- package/src/lib/carousel/carousel-autoplay-styles.component.css +5 -0
- package/src/lib/carousel/carousel-transition-styles.component.css +1 -1
- package/src/lib/carousel/carousel.component.css +16 -0
- package/src/lib/command-palette/command-palette-item.component.css +4 -0
- package/src/lib/command-palette/command-palette.component.css +48 -0
- package/src/lib/divider/divider.component.css +7 -3
- package/src/lib/forms/cascader/cascader-panel.component.css +4 -6
- package/src/lib/forms/color-input/color-picker-panel.component.css +1 -1
- package/src/lib/forms/date-time/date-picker-panel.component.css +3 -41
- package/src/lib/forms/form-field/form-field-control-suffix-styles.component.css +49 -0
- package/src/lib/forms/form-field/form-field-suffix-overlap-styles.component.css +27 -0
- package/src/lib/forms/form-field/form-field-text-shell-styles.component.css +9 -12
- package/src/lib/forms/form-field/form-field.component.css +7 -0
- package/src/lib/forms/rich-text-editor/rich-text-editor-token-popup.component.css +4 -0
- package/src/lib/forms/select/select-option-group.component.css +4 -3
- package/src/lib/forms/select/select-option-styles.component.css +5 -0
- package/src/lib/forms/select/select-panel.component.css +14 -6
- package/src/lib/forms/select/select.component.css +77 -10
- package/src/lib/loader/progress-bar/progress-bar.component.css +1 -0
- package/src/lib/menu/menu-search-styles.component.css +27 -0
- package/src/lib/menu/menu.component.css +3 -7
- package/src/lib/notification/notification.component.css +4 -0
- package/src/lib/overlay/floating-panel-styles.component.css +2 -57
- package/src/lib/overlay/floating-tip-styles.component.css +0 -3
- package/src/lib/overlay/routing/overlay-router-outlet.component.css +8 -0
- package/src/lib/overlay/sidebar/overlay-sidebar.component.css +8 -1
- package/src/lib/overlay/strategies/anchored-dialog-styles.component.css +27 -0
- package/src/lib/overlay/strategies/dialog-styles.component.css +27 -0
- package/src/lib/overlay/strategies/full-screen-dialog-styles.component.css +58 -0
- package/src/lib/overlay/strategies/overlay-origin-clone.component.css +29 -0
- package/src/lib/pagination/page-size-select.component.css +0 -96
- package/src/lib/pagination/pagination.component.css +1 -22
- package/src/lib/progress-steps/progress-step.component.css +6 -0
- package/src/lib/scheduler/scheduler-agenda-view.component.css +9 -0
- package/src/lib/scheduler/scheduler-time-grid-view.component.css +5 -0
- package/src/lib/scrollable/headless/scrollable-buttons.component.css +8 -1
- package/src/lib/scrollable/headless/scrollable-footer.css +12 -0
- package/src/lib/scrollable/headless/scrollable-masks.component.css +37 -0
- package/src/lib/scrollbar/scrollbar.component.css +8 -2
- package/types/ethlete-components.d.ts +99 -35
- /package/src/lib/loader/spinner/{spinner.component.css → spinner-styles.component.css} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0-next.74
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Animate the command palette while filtering: the height follows the results on a spring, results slide to their new place, and the list and the empty message cross-fade.
|
|
8
|
+
- A pending async validator now only sets `aria-busy` on the form field, without a spinner. The field and select spinners fade in and out, and the select trigger spinner keeps its 300ms minimum when the panel opens.
|
|
9
|
+
- Notification: render a custom component with inputs below the message, in the normal stack with its status accent.
|
|
10
|
+
- Add `etProgressStepRouterActive` so a progress step written as a `routerLink` becomes the current step while its link is active in the router.
|
|
11
|
+
- An open multi select toggles every visible option with Ctrl+A / Cmd+A and toggles the option Shift+ArrowUp / Shift+ArrowDown moves onto.
|
|
12
|
+
- Animate select options while filtering: options that stay slide to their new place, and others fade in and out.
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- The accordion header's hover tint now sits 4px inside the hairlines instead of touching them, with the text in place.
|
|
17
|
+
- An accordion that starts open now renders open instead of animating in on page load.
|
|
18
|
+
- A looping carousel no longer stops moving after about one lap of quick successive swipes.
|
|
19
|
+
- The carousel track no longer clips the top and bottom border of its slides at fractional device pixel ratios.
|
|
20
|
+
- The carousel `wipe` transition no longer pushes the slides against each other by default (`--et-carousel-wipe-shift` is now `0px`), so the pictures stay still while the edge follows a drag.
|
|
21
|
+
- Fade the command palette's row highlight instead of switching it at once.
|
|
22
|
+
- Use the lib scrollbar in the command palette list instead of the native one.
|
|
23
|
+
- Dialogs, anchored dialogs and full-screen dialogs now leave on a spring curve instead of a fixed ease.
|
|
24
|
+
- Draw the divider rule as a border so every divider renders the same width at fractional browser zoom.
|
|
25
|
+
- Anchored overlay panels (select, tooltip, toggletip, cascader, date picker) now fade opacity only, 140ms in and 100ms out, with no translate.
|
|
26
|
+
- Give select, cascader, date and color picker panels the radius of their form field. A searchable select shows one text cursor over the whole field.
|
|
27
|
+
- An overlay anchored inside a filled form field, such as the select panel, now paints the same surface as with a transparent field instead of one level higher.
|
|
28
|
+
- The form field clear button gets a 24px hit area (44px on touch) that the picker chevron no longer covers, plus hover, press and focus states.
|
|
29
|
+
- A resting floating label no longer overlaps a placeholder (such as the select search input's), and a floated `sm` label no longer touches the value.
|
|
30
|
+
- `injectAnimatedListItems` fades a new item in only after the removed items have faded out, so a select's "No results" or loading row cross-fades with the options instead of overlapping them.
|
|
31
|
+
- Remove floating panel motion variables from the menu that no longer have an effect.
|
|
32
|
+
- A menu item activated from the keyboard keeps its highlight while the menu fades out, instead of losing it as focus returns to the trigger.
|
|
33
|
+
- An arrow key pressed in the menu search right after typing now moves to the filtered items instead of an item from the previous list.
|
|
34
|
+
- The menu search spinner fades in and out instead of popping, matching the select.
|
|
35
|
+
- Let routed overlay pages slide all the way to the overlay's edge instead of being clipped at the body padding.
|
|
36
|
+
- Use the lib scrollbar in the overlay sidebar instead of the native one.
|
|
37
|
+
- The paginator keeps its ellipsis elements when the page window trims, instead of re-creating them.
|
|
38
|
+
- The paginator's jump-to-page field is now an `et-number-input` in a form field instead of a native number input with spin arrows.
|
|
39
|
+
- `et-page-size-select` now uses `et-select` in a form field instead of a native `<select>`, so it matches the other form controls.
|
|
40
|
+
- A custom PiP chrome built on `et-pip-window` now draws on the dark stream surface instead of the light page surface.
|
|
41
|
+
- `et-progress-bar` now starts its fill at the inline start inside an ancestor with `text-align: center`.
|
|
42
|
+
- Fade the progress step marker, label and connector colours when a step changes state.
|
|
43
|
+
- Use the lib scrollbar in the rich text editor token popup instead of the native one.
|
|
44
|
+
- Scroll the active row of the rich-text-editor `#` token popup into view when ArrowDown / ArrowUp moves past the visible rows.
|
|
45
|
+
- Use the lib scrollbar in the scheduler time grid and agenda view instead of the native one.
|
|
46
|
+
- Draw a 32px fade next to the scrollable border mask's edge line so the edge reads clearly.
|
|
47
|
+
- A quick mouse flick on a snapping scrollable or carousel now carries on to the next child in its direction instead of gliding back to the nearest one.
|
|
48
|
+
- A quick mouse drag that already reaches the next child of a snapping scrollable or carousel now rests on that child instead of skipping on to the one after it.
|
|
49
|
+
- Place the scrollable navigation dots between the previous and next buttons in the footer.
|
|
50
|
+
- Sticky scrollable buttons now stay centred in the visible part of the track instead of sitting too low on a track shorter than the window.
|
|
51
|
+
- Inset the scrollbar track 4px from both ends of its container, so the thumb no longer touches a rounded panel edge. Set `--et-scrollbar-inset` to change the gap.
|
|
52
|
+
- A wheel turned over an `et-scrollbar` track or thumb now scrolls the container it mirrors, instead of
|
|
53
|
+
being swallowed. At the end of the container the wheel chains to the page, like a native wheel.
|
|
54
|
+
- A select option's check mark now fades in and out instead of popping, and stays unchanged while the panel closes after a pick.
|
|
55
|
+
- Chips in a multi select now fade in and out, and the remaining chips and the search input slide to their new place, so a committed custom value no longer pops into the field.
|
|
56
|
+
- A multi select lists its selected custom values as checked options in the panel, so they filter with the search and can be unchecked there.
|
|
57
|
+
- Fix `et-select` committing a stale option or partial query when Enter follows fast typing.
|
|
58
|
+
- The select state, load-more and add-new rows now move and fade with the options while the list filters.
|
|
59
|
+
- Multi select chips no longer slide or grow the field on a spring: a new chip fades in, a removed one goes at once, and the panel moves once. The search input wraps instead of cutting off its placeholder.
|
|
60
|
+
- When a chip wraps to a new line or leaves one, a multi select's field now grows and shrinks with the panel's spring, and the open panel follows it instead of jumping.
|
|
61
|
+
- Select group labels keep their style and divider while they fade out during a search.
|
|
62
|
+
- Use the lib scrollbar in the `et-select` panel.
|
|
63
|
+
- A multi select at `maxSelection` keeps its search input usable for filtering and Backspace, and the chips no longer rewrap when the clear button appears on focus.
|
|
64
|
+
- The select panel now leaves with an opacity fade only, and the chosen option keeps its highlight until the panel is gone.
|
|
65
|
+
- A select ignores a mouse click on an option until the pointer moves after the panel moved, so a growing multi field no longer picks the row that slid under a resting pointer.
|
|
66
|
+
- Virtual select rows now slide and fade when the filter changes, and stay still while scrolling.
|
|
67
|
+
- A sheet dismissed by a swipe now leaves at the release speed in one continuous motion, without a pause after the finger lifts.
|
|
68
|
+
- Sheets now move on a spring that carries the swipe speed, stretch against the docked edge, and fade the backdrop while dragged.
|
|
69
|
+
- Keep the spinner styles in the document after the last spinner is gone, so the fading copy of a select loading row keeps its spinner instead of collapsing.
|
|
70
|
+
- The stream player loading spinner now uses the theme accent instead of grey on the grey slot surface.
|
|
71
|
+
- Stop the stream error, consent and PiP placeholder cards from raising the surface a second time, so they match the slot they fill.
|
|
72
|
+
|
|
73
|
+
## 1.0.0-next.73
|
|
74
|
+
|
|
75
|
+
### Patch Changes
|
|
76
|
+
|
|
77
|
+
- Lift a bottom sheet above the soft keyboard on touch devices, so a focused input inside it stays visible.
|
|
78
|
+
- Pause carousel autoplay while a finger is on the carousel, so it no longer advances in the middle of a swipe. `pauseReason()` reports it as `'touch'`.
|
|
79
|
+
- Remove a thin line that the carousel autoplay ring showed at its bottom seam on screens with a fractional pixel ratio.
|
|
80
|
+
- Floor the font-size of a native input or textarea inside `et-form-field` at `16px` on touch devices (`pointer: coarse`), so iOS Safari no longer zooms the page when the field takes focus.
|
|
81
|
+
|
|
3
82
|
## 1.0.0-next.72
|
|
4
83
|
|
|
5
84
|
### Minor Changes
|
package/design/form-field.ts
CHANGED
|
@@ -169,6 +169,7 @@ export const formField = (options: FormFieldMockOptions) => {
|
|
|
169
169
|
state.disabled && 'data-disabled=""',
|
|
170
170
|
`data-appearance="${appearance}"`,
|
|
171
171
|
`data-fill="${fill}"`,
|
|
172
|
+
fill === 'filled' && 'data-et-surface-fill=""',
|
|
172
173
|
floating && (focused || control.hasValue) && 'data-label-floated=""',
|
|
173
174
|
options.label && 'data-has-label=""',
|
|
174
175
|
`data-label-mode="${labelMode}"`,
|
package/design/select.ts
CHANGED
|
@@ -105,6 +105,6 @@ export const select = (options: SelectMockOptions): FormFieldControlMock => {
|
|
|
105
105
|
return `${clear}<button aria-hidden="true" tabindex="-1" type="button" class="et-input-picker-trigger et-select-arrow"${state.disabled ? ' disabled' : ''}>${icon('et-chevron', CHEVRON_ICON_SVG)}</button>`;
|
|
106
106
|
},
|
|
107
107
|
panel: (state) =>
|
|
108
|
-
`<et-select-panel class="et-select-panel et-color--inherited${options.panelColor ? ` et-color--${options.panelColor}` : ''} et-surface--${options.panelSurface ?? 'inherited'}"><div class="et-select-panel-scroller"><div class="et-select-panel-body"><div role="listbox" class="et-select-listbox" id="et-select-listbox-${state.id}"${state.labelId ? ` aria-labelledby="${state.labelId}"` : ''}>${optionsHtml(state)}</div><div class="et-select-panel-extras"></div></div></div></et-select-panel>`,
|
|
108
|
+
`<et-select-panel class="et-select-panel et-color--inherited${options.panelColor ? ` et-color--${options.panelColor}` : ''} et-surface--${options.panelSurface ?? 'inherited'}"><div class="et-select-panel-scroller et-scrollbar-host"><div class="et-select-panel-body"><div role="listbox" class="et-select-listbox" id="et-select-listbox-${state.id}"${state.labelId ? ` aria-labelledby="${state.labelId}"` : ''}>${optionsHtml(state)}</div><div class="et-select-panel-extras"></div></div></div><et-scrollbar class="et-scrollbar" data-orientation="vertical"><div class="et-scrollbar-thumb"></div></et-scrollbar></et-select-panel>`,
|
|
109
109
|
};
|
|
110
110
|
};
|