@ethlete/components 1.0.0-next.80 → 1.0.0-next.81
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 +15 -0
- package/design/anchored-dialog.ts +6 -0
- package/design/sdk/components/anchored-dialog/anchored-dialog.ts +11 -1
- package/design/sdk/components/button/button.ts +6 -2
- package/design/sdk/components/select/shared/select-part.ts +2 -0
- package/design/sdk/lint-baseline.json +6 -0
- package/design/sdk/pictures.json +14 -2
- package/design/sdk/ready.json +64 -0
- package/design/sdk/rule-baseline.json +104 -0
- package/design/select.ts +4 -1
- package/fesm2022/ethlete-components.mjs +47 -20
- package/fesm2022/ethlete-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/button/window-control-button.component.css +27 -0
- package/src/lib/focus-ring/focus-ring-styles.component.css +20 -5
- package/types/ethlete-components.d.ts +27 -14
package/package.json
CHANGED
|
@@ -143,6 +143,33 @@
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
&:where([data-shape='caption']) {
|
|
147
|
+
--_et-window-control-button-border-radius: 0;
|
|
148
|
+
--_et-window-control-button-icon-size: 10px;
|
|
149
|
+
|
|
150
|
+
width: 46px;
|
|
151
|
+
height: 100%;
|
|
152
|
+
|
|
153
|
+
@media (hover: hover) {
|
|
154
|
+
&:hover {
|
|
155
|
+
--et-theme-color-primary-opacity: 0.06;
|
|
156
|
+
--_et-window-control-button-fallback-background: rgba(255, 255, 255, 0.06);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
&:focus-visible {
|
|
161
|
+
--et-theme-color-primary-opacity: 0.06;
|
|
162
|
+
--_et-window-control-button-fallback-background: rgba(255, 255, 255, 0.06);
|
|
163
|
+
|
|
164
|
+
outline-offset: -2px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
&:active {
|
|
168
|
+
--et-theme-color-primary-opacity: 0.04;
|
|
169
|
+
--_et-window-control-button-fallback-background: rgba(255, 255, 255, 0.04);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
146
173
|
&:where([data-kind='close']:not([data-shape='round'])):focus-visible {
|
|
147
174
|
background: var(--et-window-control-button-close-background, rgba(232, 17, 35, 0.92));
|
|
148
175
|
color: var(--et-window-control-button-close-color, #ffffff);
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
@layer components {
|
|
2
|
+
@property --et-focus-ring-offset {
|
|
3
|
+
syntax: '*';
|
|
4
|
+
inherits: false;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@property --et-focus-ring-width {
|
|
8
|
+
syntax: '*';
|
|
9
|
+
inherits: false;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
@property --et-focus-ring-color {
|
|
13
|
+
syntax: '*';
|
|
14
|
+
inherits: false;
|
|
15
|
+
}
|
|
16
|
+
|
|
2
17
|
.et-focus-ring {
|
|
3
|
-
--_et-focus-ring-offset: 3px;
|
|
4
|
-
--_et-focus-ring-width: 2px;
|
|
5
|
-
--_et-focus-ring-color:
|
|
6
|
-
|
|
7
|
-
var(--et-theme-color-primary-solid, currentColor)
|
|
18
|
+
--_et-focus-ring-offset: var(--et-focus-ring-offset, 3px);
|
|
19
|
+
--_et-focus-ring-width: var(--et-focus-ring-width, 2px);
|
|
20
|
+
--_et-focus-ring-color: var(
|
|
21
|
+
--et-focus-ring-color,
|
|
22
|
+
light-dark(var(--et-theme-color-ink-solid, currentColor), var(--et-theme-color-primary-solid, currentColor))
|
|
8
23
|
);
|
|
9
24
|
outline: var(--_et-focus-ring-width) solid transparent;
|
|
10
25
|
outline-offset: var(--_et-focus-ring-offset);
|
|
@@ -4185,13 +4185,17 @@ export type WindowControlButtonKind = (typeof WINDOW_CONTROL_BUTTON_KINDS)[keyof
|
|
|
4185
4185
|
export declare const WINDOW_CONTROL_BUTTON_SHAPES: {
|
|
4186
4186
|
readonly SQUARE: "square";
|
|
4187
4187
|
readonly ROUND: "round";
|
|
4188
|
+
readonly CAPTION: "caption";
|
|
4188
4189
|
};
|
|
4189
4190
|
export type WindowControlButtonShape = (typeof WINDOW_CONTROL_BUTTON_SHAPES)[keyof typeof WINDOW_CONTROL_BUTTON_SHAPES];
|
|
4190
4191
|
export declare class WindowControlButtonComponent {
|
|
4191
4192
|
protected buttonDir: ButtonDirective;
|
|
4192
4193
|
size: import("@angular/core").InputSignal<WindowControlButtonSize>;
|
|
4193
4194
|
kind: import("@angular/core").InputSignal<WindowControlButtonKind>;
|
|
4194
|
-
/**
|
|
4195
|
+
/**
|
|
4196
|
+
* `square` is a Windows-style tile with a red close hover; `round` is a GNOME (Adwaita) style circle;
|
|
4197
|
+
* `caption` is a 46px wide, full-height Windows caption tile with a 10px glyph.
|
|
4198
|
+
*/
|
|
4195
4199
|
shape: import("@angular/core").InputSignal<WindowControlButtonShape>;
|
|
4196
4200
|
canAnimate: {
|
|
4197
4201
|
state: import("@angular/core").Signal<boolean>;
|
|
@@ -6406,6 +6410,7 @@ export declare class TooltipDirective {
|
|
|
6406
6410
|
private overlayManager;
|
|
6407
6411
|
private focusVisibleTracker;
|
|
6408
6412
|
private renderer;
|
|
6413
|
+
private hasTouchInput;
|
|
6409
6414
|
content: import("@angular/core").InputSignal<TooltipContent | null>;
|
|
6410
6415
|
ariaDescription: import("@angular/core").InputSignal<string | null>;
|
|
6411
6416
|
/**
|
|
@@ -6435,11 +6440,14 @@ export declare class TooltipDirective {
|
|
|
6435
6440
|
private appliedDescriptionId;
|
|
6436
6441
|
private isBrowser;
|
|
6437
6442
|
private hasContent;
|
|
6443
|
+
private canShow;
|
|
6444
|
+
protected suppressNativeLongPress: import("@angular/core").Signal<boolean>;
|
|
6438
6445
|
private accessibleDescription;
|
|
6439
6446
|
constructor();
|
|
6440
6447
|
show(): void;
|
|
6441
6448
|
hide(): void;
|
|
6442
6449
|
private setupHoverBehavior;
|
|
6450
|
+
private setupLongPressBehavior;
|
|
6443
6451
|
/**
|
|
6444
6452
|
* A tooltip can outlive the hover that opened it - a `pointercancel`, a scroll that moves the
|
|
6445
6453
|
* trigger out from under the pointer, or a browser that synthesizes an enter with no matching
|
|
@@ -24730,6 +24738,11 @@ export type AnchoredOverlayStrategyOptions = {
|
|
|
24730
24738
|
fallbackPlacements?: Placement[];
|
|
24731
24739
|
offset?: OffsetOptions | null;
|
|
24732
24740
|
arrowPadding?: Padding | null;
|
|
24741
|
+
/**
|
|
24742
|
+
* The element the arrow points at, when it is not the origin the pane is placed against - e.g. a pane
|
|
24743
|
+
* anchored to a toolbar whose arrow points at the button inside it. A function receives the origin.
|
|
24744
|
+
*/
|
|
24745
|
+
arrowAnchor?: Element | ((origin: Element) => Element | null | undefined);
|
|
24733
24746
|
viewportPadding?: Padding | null;
|
|
24734
24747
|
shift?: boolean | OverlayRuntimeShiftOptions;
|
|
24735
24748
|
autoResize?: boolean;
|
|
@@ -24754,7 +24767,7 @@ export type CenteredOverlayStrategyOptions = {
|
|
|
24754
24767
|
minWidth?: number | string;
|
|
24755
24768
|
minHeight?: number | string;
|
|
24756
24769
|
};
|
|
24757
|
-
export type AnchoredPositionOptions = Pick<AnchoredOverlayStrategyOptions, 'placement' | 'fallbackPlacements' | 'offset' | 'arrowPadding' | 'viewportPadding' | 'shift' | 'autoResize' | 'minAvailableSpace' | 'autoHide' | 'autoCloseIfReferenceHidden' | 'mirrorWidth'>;
|
|
24770
|
+
export type AnchoredPositionOptions = Pick<AnchoredOverlayStrategyOptions, 'placement' | 'fallbackPlacements' | 'offset' | 'arrowPadding' | 'arrowAnchor' | 'viewportPadding' | 'shift' | 'autoResize' | 'minAvailableSpace' | 'autoHide' | 'autoCloseIfReferenceHidden' | 'mirrorWidth'>;
|
|
24758
24771
|
export declare const buildAnchoredRuntimePositionStrategy: (options?: AnchoredPositionOptions) => (origin?: Element) => OverlayRuntimePositionStrategy;
|
|
24759
24772
|
export declare const anchoredOverlayStrategy: (options?: AnchoredOverlayStrategyOptions) => (() => OverlayStrategyBreakpoint[]);
|
|
24760
24773
|
export declare const centeredOverlayStrategy: (options?: CenteredOverlayStrategyOptions) => (() => OverlayStrategyBreakpoint[]);
|
|
@@ -25468,7 +25481,7 @@ export declare const injectProgressStepLabels: () => import("@angular/core").Sig
|
|
|
25468
25481
|
export declare const PROGRESS_STEP_LABELS: import("@angular/core").InjectionToken<import("@ethlete/core").LabelsSource<ProgressStepLabels>>;
|
|
25469
25482
|
/**
|
|
25470
25483
|
* Makes a step written as a `routerLink` the `current` step while its link is active in the router.
|
|
25471
|
-
* Opt in per step; a step without it keeps the `
|
|
25484
|
+
* Opt in per step; a step without it keeps the `stepState` you set. Set `etProgressStepExact` to match
|
|
25472
25485
|
* the link's URL exactly instead of any URL beneath it.
|
|
25473
25486
|
*
|
|
25474
25487
|
* @example
|
|
@@ -25502,7 +25515,7 @@ export declare const PROGRESS_STEP_STATES: {
|
|
|
25502
25515
|
export type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGRESS_STEP_STATES];
|
|
25503
25516
|
/**
|
|
25504
25517
|
* One step in an `et-progress-steps` row: a numbered marker that becomes an icon once resolved, plus
|
|
25505
|
-
* a label. `
|
|
25518
|
+
* a label. `stepState` is yours to set per step - nothing is derived from position, so a skipped or
|
|
25506
25519
|
* out-of-order step is exactly as easy to render as a strictly linear one.
|
|
25507
25520
|
*
|
|
25508
25521
|
* `complete` marks a step as done in the surrounding color theme; `success`, `warning` and `error`
|
|
@@ -25513,7 +25526,7 @@ export type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGR
|
|
|
25513
25526
|
* covers, what it produced, why it failed:
|
|
25514
25527
|
*
|
|
25515
25528
|
* @example
|
|
25516
|
-
* <et-progress-step
|
|
25529
|
+
* <et-progress-step stepState="current">
|
|
25517
25530
|
* Payment
|
|
25518
25531
|
* <span etProgressStepDescription>Card ending 4242</span>
|
|
25519
25532
|
* </et-progress-step>
|
|
@@ -25523,14 +25536,14 @@ export type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGR
|
|
|
25523
25536
|
* belong, and the whole step becomes the target:
|
|
25524
25537
|
*
|
|
25525
25538
|
* @example
|
|
25526
|
-
* <a [routerLink]="['/checkout/account']"
|
|
25539
|
+
* <a [routerLink]="['/checkout/account']" stepState="complete" et-progress-step>Account</a>
|
|
25527
25540
|
*/
|
|
25528
25541
|
export declare class ProgressStepComponent {
|
|
25529
25542
|
private provideColor;
|
|
25530
25543
|
private semanticThemes;
|
|
25531
25544
|
private labels;
|
|
25532
25545
|
private elementRef;
|
|
25533
|
-
|
|
25546
|
+
stepState: import("@angular/core").InputSignal<ProgressStepState>;
|
|
25534
25547
|
protected role: string | null;
|
|
25535
25548
|
private currentSource;
|
|
25536
25549
|
protected resolvedState: Signal<ProgressStepState>;
|
|
@@ -25540,8 +25553,8 @@ export declare class ProgressStepComponent {
|
|
|
25540
25553
|
constructor();
|
|
25541
25554
|
static ɵfac: i0.ɵɵFactoryDeclaration<ProgressStepComponent, never>;
|
|
25542
25555
|
static ɵcmp: i0.ɵɵComponentDeclaration<ProgressStepComponent, "et-progress-step, [et-progress-step]", never, {
|
|
25543
|
-
"
|
|
25544
|
-
"alias": "
|
|
25556
|
+
"stepState": {
|
|
25557
|
+
"alias": "stepState";
|
|
25545
25558
|
"required": false;
|
|
25546
25559
|
"isSignal": true;
|
|
25547
25560
|
};
|
|
@@ -25563,13 +25576,13 @@ export type ProgressStepsOrientation = (typeof PROGRESS_STEPS_ORIENTATIONS)[keyo
|
|
|
25563
25576
|
/**
|
|
25564
25577
|
* Lays out a row - or, with `orientation="vertical"`, a column - of `et-progress-step`s with automatic
|
|
25565
25578
|
* step numbering and a connecting line between them. Project the steps in order, each with its own
|
|
25566
|
-
* `
|
|
25579
|
+
* `stepState`.
|
|
25567
25580
|
*
|
|
25568
25581
|
* @example
|
|
25569
25582
|
* <et-progress-steps>
|
|
25570
|
-
* <et-progress-step
|
|
25571
|
-
* <et-progress-step
|
|
25572
|
-
* <et-progress-step
|
|
25583
|
+
* <et-progress-step stepState="complete">Account</et-progress-step>
|
|
25584
|
+
* <et-progress-step stepState="current">Shipping</et-progress-step>
|
|
25585
|
+
* <et-progress-step stepState="upcoming">Payment</et-progress-step>
|
|
25573
25586
|
* </et-progress-steps>
|
|
25574
25587
|
*/
|
|
25575
25588
|
export declare class ProgressStepsComponent {
|
|
@@ -35807,5 +35820,5 @@ export declare const provideUnsavedChangesLabels: (labels: import("@ethlete/core
|
|
|
35807
35820
|
export declare const injectUnsavedChangesLabels: () => import("@angular/core").Signal<UnsavedChangesLabels>;
|
|
35808
35821
|
export declare const UNSAVED_CHANGES_LABELS: import("@angular/core").InjectionToken<import("@ethlete/core").LabelsSource<UnsavedChangesLabels>>;
|
|
35809
35822
|
/** The version of `@ethlete/components` this build was cut from. */
|
|
35810
|
-
export declare const COMPONENTS_VERSION = "1.0.0-next.
|
|
35823
|
+
export declare const COMPONENTS_VERSION = "1.0.0-next.81";
|
|
35811
35824
|
export { type AppointmentTreeNode, BRACKET_DATA_LAYOUT, BRACKET_ERROR_CODES, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, type Bracket, type BracketByeSlotSource, type BracketComponents, type BracketContinueComponent, type BracketDataLayout, type BracketDataSource, type BracketDrawing, type BracketEdge, type BracketExternalSlotSource, type BracketGradient, type BracketGradientStop, BracketMap, type BracketMatch, type BracketMatchComponent, type BracketMatchFactor, type BracketMatchId, type BracketMatchOutcomeSlotSource, type BracketMatchParticipant, type BracketMatchPosition, type BracketMatchRelation, type BracketMatchRelationNone, type BracketMatchRelationNothingToOne, type BracketMatchRelationOneToNothing, type BracketMatchRelationOneToOne, type BracketMatchRelationTwoToNothing, type BracketMatchRelationTwoToOne, type BracketMatchShortId, type BracketMatchSlot, type BracketMatchSource, type BracketMatchStatus, type BracketParticipant, type BracketParticipantMatch, type BracketPickMigration, type BracketPickMigrationOptions, type BracketPickSet, type BracketRect, type BracketRound, type BracketRoundHeaderComponent, type BracketRoundId, type BracketRoundMapWithSwissData, type BracketRoundMirrorType, type BracketRoundPosition, type BracketRoundRelation, type BracketRoundRelationNone, type BracketRoundRelationNothingToOne, type BracketRoundRelationOneToNothing, type BracketRoundRelationOneToOne, type BracketRoundRelationTwoToNothing, type BracketRoundRelationTwoToOne, type BracketRoundShortId, type BracketRoundSource, type BracketRoundSwissData, type BracketRoundSwissGroup, type BracketRoundSwissGroupId, type BracketRoundSwissGroupMap, type BracketRoundType, BracketRuntimeError, type BracketSeedSlotSource, type BracketSlotResolutionPolicy, type BracketSlotSource, type BracketSlotSourceKind, type BracketStandingRankSide, type BracketStandingRankSlotSource, type BracketSwissBucketSlotSource, type BracketSwissColors, type BracketSwissGroupColorType, type BracketWarning, COMMON_BRACKET_ROUND_TYPE, type CalendarBandPosition, type CalendarInterval, type CalendarPrecision, type CalendarSelectionFlags, type CalendarView, type CalendarWeekStartsOn, type CascaderCompareWith, type CascaderDataSource, type CascaderNode, type CommonBracketRoundType, type ComputedBracketGrid, type CreateBracketGridConfig, type CreateBracketOptions, type CreateGridAdapterOptions, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, type DateRangeSide, type DateRangeSide as TimeRangeInputSide, type DateRangeValue, type DateRangeValue as DateTimeRangeValue, type DateRangeValue as TimeRangeValue, type DoubleEliminationBracketRoundType, type DurationFormatSpec, type DurationSegment, type DurationUnit, GROUP_BRACKET_ROUND_TYPE, type GridAdapter, type GridAdapterBreakpoints, type GridConfig, type GroupBracketRoundType, type MatchParticipantId, type MatchParticipantShortId, type MatchParticipantSide, type ParticipantMatchResult, type PlaceholderBracketShape, type RichTextEditorHeadingLevel, type RichTextEditorImageFailure, type RichTextEditorImageFailureReason, type RichTextEditorImageUpload, type RichTextEditorImageUploadContext, type RichTextEditorImageUploadFn, type RichTextEditorTokenChip, type RichTextEditorTokenCodec, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SWISS_BRACKET_ROUND_TYPE, type SchedulerAgendaDay, type SchedulerMonthDayCell, type SchedulerTimeGridAllDayEntry, type SchedulerTimeGridBlock, type SchedulerTimeGridDay, type SchedulerTimeGridSegment, type ScrollableActiveChildRef, type ScrollableButtonPosition, type ScrollableButtonsConfig, type ScrollableChrome, type ScrollableChromeSlot, type ScrollableDirection, type ScrollableIntersectionChange, type ScrollableItemSize, type ScrollableLoadingTemplatePosition, type ScrollableLoadingTemplateRef, type ScrollableMaskVariant, type ScrollableNavigation, type ScrollableNavigationConfig, type ScrollableNavigationItem, type ScrollableScrollMode, type ScrollableScrollOrigin, type ScrollableScrollState, type ScrollbarGeometry, type ScrollbarOrientation, type ScrollbarTarget, type SerializeOptions, type SingleEliminationBracketRoundType, type StandingPick, type StandingPickOutcome, type SwissBracketRoundType, TOURNAMENT_MODE, type TournamentMode, bracketSlot, createBracket, createPlaceholderBracketSource, injectRichTextEditorTools, isBracketSlotPredictable, migrateBracketPicks, resolveBracketSlot, standingRankSides, swapStandingRank, validateBracketSource };
|