stimeo-ui 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +116 -0
- package/dist/controllers/aspect_ratio_controller.d.ts +1 -3
- package/dist/controllers/aspect_ratio_controller.js +19 -11
- package/dist/controllers/aspect_ratio_controller.js.map +1 -1
- package/dist/controllers/avatar_controller.d.ts +36 -15
- package/dist/controllers/avatar_controller.js +195 -40
- package/dist/controllers/avatar_controller.js.map +1 -1
- package/dist/controllers/carousel_controller.d.ts +12 -3
- package/dist/controllers/carousel_controller.js +85 -9
- package/dist/controllers/carousel_controller.js.map +1 -1
- package/dist/controllers/checkbox_controller.d.ts +31 -5
- package/dist/controllers/checkbox_controller.js +136 -25
- package/dist/controllers/checkbox_controller.js.map +1 -1
- package/dist/controllers/color_picker_controller.d.ts +7 -1
- package/dist/controllers/color_picker_controller.js +35 -9
- package/dist/controllers/color_picker_controller.js.map +1 -1
- package/dist/controllers/date_range_picker_controller.d.ts +23 -4
- package/dist/controllers/date_range_picker_controller.js +157 -30
- package/dist/controllers/date_range_picker_controller.js.map +1 -1
- package/dist/controllers/file_dropzone_controller.d.ts +7 -1
- package/dist/controllers/file_dropzone_controller.js +26 -3
- package/dist/controllers/file_dropzone_controller.js.map +1 -1
- package/dist/controllers/focus_controller.d.ts +2 -3
- package/dist/controllers/focus_controller.js.map +1 -1
- package/dist/controllers/hover_card_controller.d.ts +2 -2
- package/dist/controllers/hover_card_controller.js.map +1 -1
- package/dist/controllers/idle_controller.d.ts +3 -3
- package/dist/controllers/idle_controller.js +27 -5
- package/dist/controllers/idle_controller.js.map +1 -1
- package/dist/controllers/menubar_controller.js +5 -3
- package/dist/controllers/menubar_controller.js.map +1 -1
- package/dist/controllers/multi_select_controller.d.ts +46 -12
- package/dist/controllers/multi_select_controller.js +460 -151
- package/dist/controllers/multi_select_controller.js.map +1 -1
- package/dist/controllers/number_input_controller.d.ts +24 -6
- package/dist/controllers/number_input_controller.js +275 -51
- package/dist/controllers/number_input_controller.js.map +1 -1
- package/dist/controllers/overflow_menu_controller.js +4 -0
- package/dist/controllers/overflow_menu_controller.js.map +1 -1
- package/dist/controllers/pagination_controller.js +33 -0
- package/dist/controllers/pagination_controller.js.map +1 -1
- package/dist/controllers/password_strength_controller.d.ts +3 -3
- package/dist/controllers/password_strength_controller.js +20 -2
- package/dist/controllers/password_strength_controller.js.map +1 -1
- package/dist/controllers/persist_controller.d.ts +4 -4
- package/dist/controllers/persist_controller.js +24 -5
- package/dist/controllers/persist_controller.js.map +1 -1
- package/dist/controllers/popover_controller.d.ts +2 -2
- package/dist/controllers/popover_controller.js.map +1 -1
- package/dist/controllers/portal_controller.d.ts +1 -2
- package/dist/controllers/portal_controller.js.map +1 -1
- package/dist/controllers/radio_group_controller.d.ts +41 -15
- package/dist/controllers/radio_group_controller.js +540 -56
- package/dist/controllers/radio_group_controller.js.map +1 -1
- package/dist/controllers/rating_controller.d.ts +36 -31
- package/dist/controllers/rating_controller.js +272 -89
- package/dist/controllers/rating_controller.js.map +1 -1
- package/dist/controllers/resizable_controller.js +33 -0
- package/dist/controllers/resizable_controller.js.map +1 -1
- package/dist/controllers/roving_controller.d.ts +4 -0
- package/dist/controllers/roving_controller.js +60 -5
- package/dist/controllers/roving_controller.js.map +1 -1
- package/dist/controllers/scroll_area_controller.d.ts +6 -0
- package/dist/controllers/scroll_area_controller.js +154 -22
- package/dist/controllers/scroll_area_controller.js.map +1 -1
- package/dist/controllers/scroll_visibility_controller.js +33 -0
- package/dist/controllers/scroll_visibility_controller.js.map +1 -1
- package/dist/controllers/tags_input_controller.d.ts +41 -11
- package/dist/controllers/tags_input_controller.js +356 -120
- package/dist/controllers/tags_input_controller.js.map +1 -1
- package/dist/controllers/time_picker_controller.d.ts +42 -13
- package/dist/controllers/time_picker_controller.js +296 -107
- package/dist/controllers/time_picker_controller.js.map +1 -1
- package/dist/controllers/toggle_group_controller.d.ts +39 -13
- package/dist/controllers/toggle_group_controller.js +378 -55
- package/dist/controllers/toggle_group_controller.js.map +1 -1
- package/dist/controllers/toolbar_controller.js +5 -3
- package/dist/controllers/toolbar_controller.js.map +1 -1
- package/dist/controllers/tooltip_controller.d.ts +2 -2
- package/dist/controllers/tooltip_controller.js.map +1 -1
- package/dist/controllers/transition_controller.d.ts +2 -3
- package/dist/controllers/transition_controller.js.map +1 -1
- package/dist/controllers/tree_view_controller.js +5 -3
- package/dist/controllers/tree_view_controller.js.map +1 -1
- package/dist/index.js +2637 -781
- package/dist/index.js.map +1 -1
- package/dist/inspector/cli.d.ts +16 -3
- package/dist/inspector/cli.js +22 -6
- package/dist/inspector/cli.js.map +1 -1
- package/dist/inspector/cli_bin.js +22 -6
- package/dist/inspector/cli_bin.js.map +1 -1
- package/dist/inspector/examples.json +8 -8
- package/dist/inspector/manifest.json +169 -37
- package/dist/positioning/index.d.ts +2 -2
- package/dist/positioning/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,48 +1,74 @@
|
|
|
1
1
|
import { Controller } from '@hotwired/stimulus';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Headless, accessible radio-group behavior for **custom**
|
|
4
|
+
* Headless, accessible radio-group behavior for **custom** radios.
|
|
5
5
|
*
|
|
6
6
|
* Markup contract (identifier: `stimeo--radio-group`):
|
|
7
7
|
* <div data-controller="stimeo--radio-group" role="radiogroup" aria-label="Plan">
|
|
8
8
|
* <div role="radio" aria-checked="true" tabindex="0" data-value="basic"
|
|
9
|
-
* data-stimeo--radio-group-target="radio"
|
|
10
|
-
*
|
|
11
|
-
* keydown->stimeo--radio-group#onKeydown">Basic</div>
|
|
12
|
-
* <!-- more radios; exactly one tabindex=0 -->
|
|
9
|
+
* data-stimeo--radio-group-target="radio">Basic</div>
|
|
10
|
+
* <!-- more radios; exactly one navigable radio has tabindex=0 -->
|
|
13
11
|
* <input type="hidden" data-stimeo--radio-group-target="field" />
|
|
14
12
|
* </div>
|
|
15
13
|
*
|
|
16
14
|
* Implements the WAI-ARIA APG **Radio Group** pattern. Use this only for custom
|
|
17
|
-
* radios
|
|
18
|
-
*
|
|
15
|
+
* radios; native `<input type="radio">` already owns its activation and form
|
|
16
|
+
* semantics and should be preferred when its appearance is sufficient.
|
|
19
17
|
*
|
|
20
18
|
* @remarks
|
|
21
19
|
* Behavior only — selection is exposed through `aria-checked`, the single Tab
|
|
22
20
|
* stop through roving `tabindex` ({@link RovingTabindex}); the consumer styles
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* those attributes. Selection follows focus for enabled radios.
|
|
22
|
+
*
|
|
23
|
+
* A supported radio is either `<button type="button">` or a non-interactive
|
|
24
|
+
* host such as `<div role="radio">`. Other native interactive elements retain
|
|
25
|
+
* their activation model and this controller stands down on them.
|
|
26
|
+
*
|
|
27
|
+
* Click and keydown handling are delegated from the group, so radios added at
|
|
28
|
+
* runtime need only the `radio` target. Per-radio `data-action` bindings to
|
|
29
|
+
* {@link select} and {@link onKeydown} remain supported and are idempotent when
|
|
30
|
+
* combined with delegation.
|
|
25
31
|
*
|
|
26
32
|
* Behavior provided:
|
|
27
33
|
* - Click selects a radio.
|
|
28
34
|
* - `ArrowDown`/`ArrowRight` select the next, `ArrowUp`/`ArrowLeft` the previous
|
|
29
35
|
* (wrapping); `Home`/`End` the first/last; `Space` selects the focused radio.
|
|
30
|
-
* -
|
|
31
|
-
*
|
|
36
|
+
* - Native-disabled and hidden radios are skipped. ARIA-disabled radios remain
|
|
37
|
+
* discoverable in the roving order but cannot be selected.
|
|
38
|
+
* - The selected radio's `data-value` is mirrored to the optional hidden field.
|
|
39
|
+
* `stimeo--radio-group:change` is dispatched only when selection identity
|
|
40
|
+
* changes through user interaction.
|
|
41
|
+
* - `stimeo--radio-group:reconcile` reports a selection this controller decided
|
|
42
|
+
* on its own — a removed selection, or first-wins over duplicate checked state
|
|
43
|
+
* — carrying the same detail as `change`. The hidden field's native `change`
|
|
44
|
+
* stays reserved for user edits, so form automation never sees a repair as one.
|
|
32
45
|
*/
|
|
33
46
|
declare class RadioGroupController extends Controller<HTMLElement> {
|
|
34
47
|
#private;
|
|
35
48
|
static targets: string[];
|
|
36
49
|
static actions: readonly ["onKeydown", "select"];
|
|
37
|
-
static events: readonly ["change"];
|
|
50
|
+
static events: readonly ["change", "reconcile"];
|
|
38
51
|
readonly radioTargets: HTMLElement[];
|
|
39
52
|
readonly fieldTarget: HTMLInputElement;
|
|
40
53
|
readonly hasFieldTarget: boolean;
|
|
41
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Normalizes authored selection, establishes the APG Tab entry point, and
|
|
56
|
+
* reflects derived form state without reporting a user edit.
|
|
57
|
+
*/
|
|
42
58
|
connect(): void;
|
|
43
|
-
/**
|
|
59
|
+
/** Releases every listener, observer, and queued pass while retaining live DOM state. */
|
|
60
|
+
disconnect(): void;
|
|
61
|
+
/** Removes a newly connected radio from the Tab sequence before batch reconciliation. */
|
|
62
|
+
radioTargetConnected(radio: HTMLElement): void;
|
|
63
|
+
/** Releases target-only attributes and repairs selection, form state, focus, and roving. */
|
|
64
|
+
radioTargetDisconnected(radio: HTMLElement): void;
|
|
65
|
+
/** Reflects the current selection into a field added or replaced at runtime. */
|
|
66
|
+
fieldTargetConnected(): void;
|
|
67
|
+
/** Reconciles after a field target is removed from a retained group. */
|
|
68
|
+
fieldTargetDisconnected(): void;
|
|
69
|
+
/** Selects the action's radio. Per-radio action wiring is optional. */
|
|
44
70
|
select(event: Event): void;
|
|
45
|
-
/**
|
|
71
|
+
/** Applies the APG key map to the action's radio. Per-radio action wiring is optional. */
|
|
46
72
|
onKeydown(event: KeyboardEvent): void;
|
|
47
73
|
}
|
|
48
74
|
|