stimeo-ui 0.17.0 → 0.18.1
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 +136 -2
- package/README.md +19 -10
- package/dist/cable/index.d.ts +11 -9
- package/dist/cable/index.js +22 -14
- package/dist/cable/index.js.map +1 -1
- package/dist/coerce-JtZVNG5h.d.ts +20 -0
- package/dist/controllers/accordion_controller.js +14 -6
- package/dist/controllers/accordion_controller.js.map +1 -1
- package/dist/controllers/alert_dialog_controller.js +145 -118
- package/dist/controllers/alert_dialog_controller.js.map +1 -1
- package/dist/controllers/announcer_controller.d.ts +5 -3
- package/dist/controllers/announcer_controller.js +113 -17
- package/dist/controllers/announcer_controller.js.map +1 -1
- package/dist/controllers/auto_submit_controller.js +185 -60
- package/dist/controllers/auto_submit_controller.js.map +1 -1
- package/dist/controllers/avatar_controller.js +55 -43
- package/dist/controllers/avatar_controller.js.map +1 -1
- package/dist/controllers/breadcrumb_controller.js.map +1 -1
- package/dist/controllers/bulk_select_controller.d.ts +3 -3
- package/dist/controllers/bulk_select_controller.js +64 -50
- package/dist/controllers/bulk_select_controller.js.map +1 -1
- package/dist/controllers/calendar_controller.d.ts +15 -12
- package/dist/controllers/calendar_controller.js +55 -53
- package/dist/controllers/calendar_controller.js.map +1 -1
- package/dist/controllers/carousel_controller.d.ts +9 -5
- package/dist/controllers/carousel_controller.js +124 -86
- package/dist/controllers/carousel_controller.js.map +1 -1
- package/dist/controllers/character_counter_controller.d.ts +27 -6
- package/dist/controllers/character_counter_controller.js +291 -95
- package/dist/controllers/character_counter_controller.js.map +1 -1
- package/dist/controllers/checkbox_controller.js +6 -0
- package/dist/controllers/checkbox_controller.js.map +1 -1
- package/dist/controllers/clipboard_controller.js +118 -27
- package/dist/controllers/clipboard_controller.js.map +1 -1
- package/dist/controllers/collapsible_controller.d.ts +1 -1
- package/dist/controllers/collapsible_controller.js +52 -49
- package/dist/controllers/collapsible_controller.js.map +1 -1
- package/dist/controllers/color_picker_controller.js +29 -7
- package/dist/controllers/color_picker_controller.js.map +1 -1
- package/dist/controllers/combobox_controller.d.ts +1 -1
- package/dist/controllers/combobox_controller.js +210 -71
- package/dist/controllers/combobox_controller.js.map +1 -1
- package/dist/controllers/command_palette_controller.d.ts +9 -9
- package/dist/controllers/command_palette_controller.js +290 -140
- package/dist/controllers/command_palette_controller.js.map +1 -1
- package/dist/controllers/conditional_fields_controller.js +145 -58
- package/dist/controllers/conditional_fields_controller.js.map +1 -1
- package/dist/controllers/confirm_controller.js +145 -118
- package/dist/controllers/confirm_controller.js.map +1 -1
- package/dist/controllers/context_menu_controller.d.ts +49 -14
- package/dist/controllers/context_menu_controller.js +138 -73
- package/dist/controllers/context_menu_controller.js.map +1 -1
- package/dist/controllers/count_up_controller.js.map +1 -1
- package/dist/controllers/countdown_controller.d.ts +2 -2
- package/dist/controllers/countdown_controller.js +109 -21
- package/dist/controllers/countdown_controller.js.map +1 -1
- package/dist/controllers/currency_input_controller.d.ts +75 -11
- package/dist/controllers/currency_input_controller.js +446 -72
- package/dist/controllers/currency_input_controller.js.map +1 -1
- package/dist/controllers/data_grid_controller.d.ts +10 -8
- package/dist/controllers/data_grid_controller.js +134 -28
- package/dist/controllers/data_grid_controller.js.map +1 -1
- package/dist/controllers/date_range_picker_controller.d.ts +12 -9
- package/dist/controllers/date_range_picker_controller.js +93 -72
- package/dist/controllers/date_range_picker_controller.js.map +1 -1
- package/dist/controllers/dialog_controller.d.ts +4 -5
- package/dist/controllers/dialog_controller.js +145 -118
- package/dist/controllers/dialog_controller.js.map +1 -1
- package/dist/controllers/direct_upload_controller.d.ts +1 -1
- package/dist/controllers/direct_upload_controller.js +24 -14
- package/dist/controllers/direct_upload_controller.js.map +1 -1
- package/dist/controllers/dirty_form_controller.d.ts +6 -1
- package/dist/controllers/dirty_form_controller.js +68 -31
- package/dist/controllers/dirty_form_controller.js.map +1 -1
- package/dist/controllers/dismissible_controller.js +66 -46
- package/dist/controllers/dismissible_controller.js.map +1 -1
- package/dist/controllers/drawer_controller.js +145 -118
- package/dist/controllers/drawer_controller.js.map +1 -1
- package/dist/controllers/dropdown_controller.js +76 -63
- package/dist/controllers/dropdown_controller.js.map +1 -1
- package/dist/controllers/editable_controller.js +200 -62
- package/dist/controllers/editable_controller.js.map +1 -1
- package/dist/controllers/empty_state_controller.js +13 -6
- package/dist/controllers/empty_state_controller.js.map +1 -1
- package/dist/controllers/file_dropzone_controller.d.ts +3 -0
- package/dist/controllers/file_dropzone_controller.js +55 -48
- package/dist/controllers/file_dropzone_controller.js.map +1 -1
- package/dist/controllers/filter_controller.js +9 -2
- package/dist/controllers/filter_controller.js.map +1 -1
- package/dist/controllers/flash_controller.d.ts +4 -4
- package/dist/controllers/flash_controller.js +66 -33
- package/dist/controllers/flash_controller.js.map +1 -1
- package/dist/controllers/focus_controller.d.ts +3 -3
- package/dist/controllers/focus_controller.js +39 -14
- package/dist/controllers/focus_controller.js.map +1 -1
- package/dist/controllers/form_field_controller.d.ts +2 -1
- package/dist/controllers/form_field_controller.js +52 -43
- package/dist/controllers/form_field_controller.js.map +1 -1
- package/dist/controllers/form_validation_controller.d.ts +3 -3
- package/dist/controllers/form_validation_controller.js +18 -11
- package/dist/controllers/form_validation_controller.js.map +1 -1
- package/dist/controllers/frame_loading_controller.d.ts +13 -12
- package/dist/controllers/frame_loading_controller.js +55 -48
- package/dist/controllers/frame_loading_controller.js.map +1 -1
- package/dist/controllers/highlight_controller.d.ts +5 -4
- package/dist/controllers/highlight_controller.js.map +1 -1
- package/dist/controllers/hover_card_controller.d.ts +4 -1
- package/dist/controllers/hover_card_controller.js +67 -61
- package/dist/controllers/hover_card_controller.js.map +1 -1
- package/dist/controllers/idle_controller.d.ts +6 -5
- package/dist/controllers/idle_controller.js +10 -6
- package/dist/controllers/idle_controller.js.map +1 -1
- package/dist/controllers/input_mask_controller.d.ts +31 -13
- package/dist/controllers/input_mask_controller.js +434 -24
- package/dist/controllers/input_mask_controller.js.map +1 -1
- package/dist/controllers/intersection_controller.js +3 -0
- package/dist/controllers/intersection_controller.js.map +1 -1
- package/dist/controllers/lazy_frame_controller.d.ts +3 -2
- package/dist/controllers/lazy_frame_controller.js +15 -3
- package/dist/controllers/lazy_frame_controller.js.map +1 -1
- package/dist/controllers/listbox_controller.d.ts +10 -7
- package/dist/controllers/listbox_controller.js +260 -79
- package/dist/controllers/listbox_controller.js.map +1 -1
- package/dist/controllers/local_time_controller.d.ts +8 -6
- package/dist/controllers/local_time_controller.js +48 -13
- package/dist/controllers/local_time_controller.js.map +1 -1
- package/dist/controllers/masonry_controller.js +11 -4
- package/dist/controllers/masonry_controller.js.map +1 -1
- package/dist/controllers/menu_controller.d.ts +24 -5
- package/dist/controllers/menu_controller.js +138 -82
- package/dist/controllers/menu_controller.js.map +1 -1
- package/dist/controllers/menubar_controller.d.ts +49 -7
- package/dist/controllers/menubar_controller.js +65 -19
- package/dist/controllers/menubar_controller.js.map +1 -1
- package/dist/controllers/meter_controller.d.ts +13 -20
- package/dist/controllers/meter_controller.js +270 -24
- package/dist/controllers/meter_controller.js.map +1 -1
- package/dist/controllers/multi_select_controller.d.ts +19 -16
- package/dist/controllers/multi_select_controller.js +272 -95
- package/dist/controllers/multi_select_controller.js.map +1 -1
- package/dist/controllers/navigation_menu_controller.d.ts +19 -5
- package/dist/controllers/navigation_menu_controller.js +67 -19
- package/dist/controllers/navigation_menu_controller.js.map +1 -1
- package/dist/controllers/nested_form_controller.js +98 -64
- package/dist/controllers/nested_form_controller.js.map +1 -1
- package/dist/controllers/network_status_controller.js +70 -52
- package/dist/controllers/network_status_controller.js.map +1 -1
- package/dist/controllers/number_input_controller.d.ts +24 -6
- package/dist/controllers/number_input_controller.js +344 -94
- package/dist/controllers/number_input_controller.js.map +1 -1
- package/dist/controllers/optimistic_controller.d.ts +8 -5
- package/dist/controllers/optimistic_controller.js +29 -11
- package/dist/controllers/optimistic_controller.js.map +1 -1
- package/dist/controllers/otp_controller.d.ts +35 -4
- package/dist/controllers/otp_controller.js +502 -104
- package/dist/controllers/otp_controller.js.map +1 -1
- package/dist/controllers/overflow_indicator_controller.js +6 -0
- package/dist/controllers/overflow_indicator_controller.js.map +1 -1
- package/dist/controllers/overflow_menu_controller.d.ts +10 -9
- package/dist/controllers/overflow_menu_controller.js +136 -21
- package/dist/controllers/overflow_menu_controller.js.map +1 -1
- package/dist/controllers/pagination_controller.d.ts +3 -2
- package/dist/controllers/pagination_controller.js +47 -14
- package/dist/controllers/pagination_controller.js.map +1 -1
- package/dist/controllers/password_reveal_controller.d.ts +5 -4
- package/dist/controllers/password_reveal_controller.js +52 -49
- package/dist/controllers/password_reveal_controller.js.map +1 -1
- package/dist/controllers/password_strength_controller.d.ts +1 -1
- package/dist/controllers/password_strength_controller.js +13 -6
- package/dist/controllers/password_strength_controller.js.map +1 -1
- package/dist/controllers/persist_controller.js +48 -128
- package/dist/controllers/persist_controller.js.map +1 -1
- package/dist/controllers/pointer_drag_controller.d.ts +20 -8
- package/dist/controllers/pointer_drag_controller.js +255 -24
- package/dist/controllers/pointer_drag_controller.js.map +1 -1
- package/dist/controllers/popover_controller.d.ts +9 -5
- package/dist/controllers/popover_controller.js +91 -65
- package/dist/controllers/popover_controller.js.map +1 -1
- package/dist/controllers/portal_controller.js +6 -0
- package/dist/controllers/portal_controller.js.map +1 -1
- package/dist/controllers/preview_guard_controller.js +14 -3
- package/dist/controllers/preview_guard_controller.js.map +1 -1
- package/dist/controllers/progress_controller.d.ts +9 -19
- package/dist/controllers/progress_controller.js +271 -27
- package/dist/controllers/progress_controller.js.map +1 -1
- package/dist/controllers/radio_group_controller.d.ts +11 -8
- package/dist/controllers/radio_group_controller.js +167 -80
- package/dist/controllers/radio_group_controller.js.map +1 -1
- package/dist/controllers/range_slider_controller.d.ts +4 -3
- package/dist/controllers/range_slider_controller.js +27 -7
- package/dist/controllers/range_slider_controller.js.map +1 -1
- package/dist/controllers/rating_controller.js +93 -57
- package/dist/controllers/rating_controller.js.map +1 -1
- package/dist/controllers/read_more_controller.js +10 -6
- package/dist/controllers/read_more_controller.js.map +1 -1
- package/dist/controllers/reading_progress_controller.js +22 -5
- package/dist/controllers/reading_progress_controller.js.map +1 -1
- package/dist/controllers/relative_time_controller.d.ts +4 -4
- package/dist/controllers/relative_time_controller.js +75 -11
- package/dist/controllers/relative_time_controller.js.map +1 -1
- package/dist/controllers/reset_on_restore_controller.d.ts +3 -3
- package/dist/controllers/reset_on_restore_controller.js +6 -0
- package/dist/controllers/reset_on_restore_controller.js.map +1 -1
- package/dist/controllers/resizable_controller.d.ts +3 -0
- package/dist/controllers/resizable_controller.js +55 -22
- package/dist/controllers/resizable_controller.js.map +1 -1
- package/dist/controllers/roving_controller.d.ts +3 -3
- package/dist/controllers/roving_controller.js +10 -4
- package/dist/controllers/roving_controller.js.map +1 -1
- package/dist/controllers/scroll_area_controller.js +129 -88
- package/dist/controllers/scroll_area_controller.js.map +1 -1
- package/dist/controllers/scroll_restore_controller.d.ts +3 -3
- package/dist/controllers/scroll_restore_controller.js +14 -2
- package/dist/controllers/scroll_restore_controller.js.map +1 -1
- package/dist/controllers/scroll_visibility_controller.js +93 -60
- package/dist/controllers/scroll_visibility_controller.js.map +1 -1
- package/dist/controllers/scrollspy_controller.js +11 -5
- package/dist/controllers/scrollspy_controller.js.map +1 -1
- package/dist/controllers/separator_controller.d.ts +1 -1
- package/dist/controllers/separator_controller.js +59 -43
- package/dist/controllers/separator_controller.js.map +1 -1
- package/dist/controllers/sidebar_controller.d.ts +1 -1
- package/dist/controllers/sidebar_controller.js +150 -122
- package/dist/controllers/sidebar_controller.js.map +1 -1
- package/dist/controllers/skeleton_controller.js +55 -48
- package/dist/controllers/skeleton_controller.js.map +1 -1
- package/dist/controllers/slider_controller.d.ts +2 -1
- package/dist/controllers/slider_controller.js +27 -6
- package/dist/controllers/slider_controller.js.map +1 -1
- package/dist/controllers/smart_sticky_header_controller.d.ts +1 -1
- package/dist/controllers/smart_sticky_header_controller.js +13 -5
- package/dist/controllers/smart_sticky_header_controller.js.map +1 -1
- package/dist/controllers/sortable_controller.d.ts +4 -4
- package/dist/controllers/sortable_controller.js +27 -14
- package/dist/controllers/sortable_controller.js.map +1 -1
- package/dist/controllers/spinner_controller.js +55 -48
- package/dist/controllers/spinner_controller.js.map +1 -1
- package/dist/controllers/step_indicator_controller.d.ts +4 -4
- package/dist/controllers/step_indicator_controller.js +6 -0
- package/dist/controllers/step_indicator_controller.js.map +1 -1
- package/dist/controllers/stepper_controller.d.ts +2 -3
- package/dist/controllers/stepper_controller.js +6 -0
- package/dist/controllers/stepper_controller.js.map +1 -1
- package/dist/controllers/stick_to_bottom_controller.d.ts +3 -1
- package/dist/controllers/stick_to_bottom_controller.js +19 -8
- package/dist/controllers/stick_to_bottom_controller.js.map +1 -1
- package/dist/controllers/sticky_observer_controller.js +49 -43
- package/dist/controllers/sticky_observer_controller.js.map +1 -1
- package/dist/controllers/submit_once_controller.d.ts +2 -1
- package/dist/controllers/submit_once_controller.js +145 -85
- package/dist/controllers/submit_once_controller.js.map +1 -1
- package/dist/controllers/switch_controller.d.ts +7 -4
- package/dist/controllers/switch_controller.js +172 -28
- package/dist/controllers/switch_controller.js.map +1 -1
- package/dist/controllers/tabs_controller.d.ts +7 -4
- package/dist/controllers/tabs_controller.js +6 -1
- package/dist/controllers/tabs_controller.js.map +1 -1
- package/dist/controllers/tags_input_controller.d.ts +4 -3
- package/dist/controllers/tags_input_controller.js +157 -28
- package/dist/controllers/tags_input_controller.js.map +1 -1
- package/dist/controllers/textarea_autosize_controller.d.ts +1 -1
- package/dist/controllers/textarea_autosize_controller.js +40 -19
- package/dist/controllers/textarea_autosize_controller.js.map +1 -1
- package/dist/controllers/theme_controller.d.ts +3 -2
- package/dist/controllers/theme_controller.js +10 -4
- package/dist/controllers/theme_controller.js.map +1 -1
- package/dist/controllers/time_picker_controller.d.ts +38 -5
- package/dist/controllers/time_picker_controller.js +192 -54
- package/dist/controllers/time_picker_controller.js.map +1 -1
- package/dist/controllers/toast_controller.d.ts +4 -5
- package/dist/controllers/toast_controller.js +58 -27
- package/dist/controllers/toast_controller.js.map +1 -1
- package/dist/controllers/toggle_group_controller.d.ts +2 -3
- package/dist/controllers/toggle_group_controller.js +158 -56
- package/dist/controllers/toggle_group_controller.js.map +1 -1
- package/dist/controllers/toolbar_controller.d.ts +8 -6
- package/dist/controllers/toolbar_controller.js +150 -21
- package/dist/controllers/toolbar_controller.js.map +1 -1
- package/dist/controllers/tooltip_controller.d.ts +4 -1
- package/dist/controllers/tooltip_controller.js.map +1 -1
- package/dist/controllers/transition_controller.js.map +1 -1
- package/dist/controllers/tree_view_controller.d.ts +1 -1
- package/dist/controllers/tree_view_controller.js +134 -25
- package/dist/controllers/tree_view_controller.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2515 -1315
- package/dist/index.js.map +1 -1
- package/dist/inspector/cli.d.ts +25 -12
- package/dist/inspector/cli.js +21 -3
- package/dist/inspector/cli.js.map +1 -1
- package/dist/inspector/cli_bin.d.ts +1 -1
- package/dist/inspector/cli_bin.js +62 -8
- package/dist/inspector/cli_bin.js.map +1 -1
- package/dist/inspector/examples.json +13 -13
- package/dist/inspector/manifest.json +19 -5
- package/dist/positioning/index.d.ts +9 -8
- package/dist/positioning/index.js +6 -0
- package/dist/positioning/index.js.map +1 -1
- package/package.json +11 -10
|
@@ -40,7 +40,8 @@ import { Controller } from '@hotwired/stimulus';
|
|
|
40
40
|
* integer digits per locale, a leading sign and a trailing decimal mark stay in
|
|
41
41
|
* place, fraction digits are kept verbatim, and the caret is restored after the
|
|
42
42
|
* same significant character it followed. Negative amounts are in scope. The
|
|
43
|
-
* fixed-precision rounding is applied on `blur`, never mid-entry
|
|
43
|
+
* fixed-precision rounding is applied on `blur`, never mid-entry; one asked for
|
|
44
|
+
* mid-composition is applied with the text the composition confirms or leaves.
|
|
44
45
|
* Full-width digits, signs, and marks (an IME confirming 0-9/./-) are
|
|
45
46
|
* normalized to their ASCII forms rather than stripped; the locale's own
|
|
46
47
|
* digits (a non-Latin default numbering system such as ar-EG's) are mapped
|
|
@@ -73,7 +74,9 @@ import { Controller } from '@hotwired/stimulus';
|
|
|
73
74
|
* hot path only ever sees validated values through cached `Intl.NumberFormat`
|
|
74
75
|
* instances, never built per keystroke. Late-arriving or swapped `field` /
|
|
75
76
|
* `srValue` / `display` targets are re-synced on connection; one that arrives
|
|
76
|
-
* behind the target in charge is re-synced when that target leaves.
|
|
77
|
+
* behind the target in charge is re-synced when that target leaves. Only the
|
|
78
|
+
* display in charge — the first `display` target — is read: an input, blur or
|
|
79
|
+
* composition in a display behind it is never taken as the user's edit.
|
|
77
80
|
*
|
|
78
81
|
* Reconnecting starts from the committed value: a display still showing this
|
|
79
82
|
* controller's own rendering is not read back but re-rendered from that value
|
|
@@ -85,6 +88,17 @@ import { Controller } from '@hotwired/stimulus';
|
|
|
85
88
|
* and a value it moves is reported as `reconcile`. The composition listeners
|
|
86
89
|
* are released on `disconnect()`.
|
|
87
90
|
*
|
|
91
|
+
* A display already focused when first acquired or reconnected may carry a
|
|
92
|
+
* composition whose start was missed. Its text and selection stay untouched,
|
|
93
|
+
* including non-IME autofocus, until its `compositionend` or a non-composing
|
|
94
|
+
* `input` with a non-composition `inputType`. A bare input, a direct `onInput()`
|
|
95
|
+
* call, and blur alone provide no confirmation. While held, submission and the
|
|
96
|
+
* accessible output retain this instance's accepted value; with no accepted value,
|
|
97
|
+
* the page's hidden field and accessible text stay unchanged, even when empty.
|
|
98
|
+
* Neither the draft nor the hidden field seeds the comparison baseline. Connect
|
|
99
|
+
* before focusing if synchronous initialization is needed, and provide initial
|
|
100
|
+
* submission and accessible values in markup when early focus is possible.
|
|
101
|
+
*
|
|
88
102
|
* Honest a11y note: a hidden `<input>` is not exposed to assistive tech, so the
|
|
89
103
|
* normalized value is *also* published as text in the `srValue` span referenced
|
|
90
104
|
* by the display's `aria-describedby` — that, not the hidden field, is what a
|
|
@@ -118,6 +132,7 @@ declare class CurrencyInputController extends Controller<HTMLElement> {
|
|
|
118
132
|
static actions: readonly ["format", "onInput"];
|
|
119
133
|
static events: readonly ["change", "reconcile"];
|
|
120
134
|
readonly displayTarget: HTMLInputElement;
|
|
135
|
+
readonly displayTargets: HTMLInputElement[];
|
|
121
136
|
readonly fieldTarget: HTMLInputElement;
|
|
122
137
|
readonly srValueTarget: HTMLElement;
|
|
123
138
|
readonly hasDisplayTarget: boolean;
|
|
@@ -148,8 +163,9 @@ declare class CurrencyInputController extends Controller<HTMLElement> {
|
|
|
148
163
|
connect(): void;
|
|
149
164
|
/**
|
|
150
165
|
* Releases the composition listeners. A composition still running hears no
|
|
151
|
-
* `compositionend` once they are gone, so it ends here;
|
|
152
|
-
* taken in on the next `connect()`.
|
|
166
|
+
* `compositionend` once they are gone, so it ends here; what it held back is
|
|
167
|
+
* taken in on the next `connect()`. A display that keeps focus through the move
|
|
168
|
+
* keeps its conversion for the reconnect, and its text is left alone.
|
|
153
169
|
*/
|
|
154
170
|
disconnect(): void;
|
|
155
171
|
/**
|
|
@@ -159,16 +175,42 @@ declare class CurrencyInputController extends Controller<HTMLElement> {
|
|
|
159
175
|
* from the committed one is the page's, so it is reported as `reconcile`.
|
|
160
176
|
* A display that arrives behind the one in charge is only tracked: the one
|
|
161
177
|
* ahead may be composing against the declarations in force, and the arrival
|
|
162
|
-
* is read when that one leaves.
|
|
178
|
+
* is read when that one leaves. One that arrives in charge while a display
|
|
179
|
+
* composes is a mid-composition pass: it is read once the conversion ends,
|
|
180
|
+
* however it ends, because it is not the display rendered last. One moved with
|
|
181
|
+
* its conversion is the one rendered last, so it owes nothing.
|
|
182
|
+
*
|
|
183
|
+
* One that arrives in charge already focused, with no composition the tracker
|
|
184
|
+
* follows in it, may carry a composition whose start was missed, so it is held
|
|
185
|
+
* instead of read: another element, or the display rendered last coming back
|
|
186
|
+
* without that rendering. Its text and selection stay as they are, it is not
|
|
187
|
+
* rounded, and the hidden field and the accessible text keep the committed value
|
|
188
|
+
* (the page's own while none was committed); its own `compositionend`, or an
|
|
189
|
+
* ordinary `input` that releases it, reads it as the user's edit, reported as
|
|
190
|
+
* `change`. The display rendered last coming back with that rendering is read as
|
|
191
|
+
* above. The arrival is held by whichever reading notices it first, so a declaration
|
|
192
|
+
* change, a morph, `format()` or a blur that runs before this callback holds it too:
|
|
193
|
+
* one that blurs before this callback keeps its rounding for its own `compositionend`.
|
|
163
194
|
*/
|
|
164
195
|
displayTargetConnected(target: HTMLInputElement): void;
|
|
165
196
|
/**
|
|
166
197
|
* Stops tracking a display that leaves. A composition running on it hears no
|
|
167
|
-
* `compositionend` any more, so it ends here
|
|
198
|
+
* `compositionend` any more, so it ends here — unless the display kept focus
|
|
199
|
+
* through a move, which keeps the conversion; a change it held waits for the
|
|
168
200
|
* next display to be read. A composition running on another display still hears
|
|
169
201
|
* its own `compositionend`, so its text is left to it. A display that stays is
|
|
170
202
|
* read again as a declaration change reads it, so an amount it holds that
|
|
171
|
-
* differs from the committed one is the page's and is reported as `reconcile
|
|
203
|
+
* differs from the committed one is the page's and is reported as `reconcile`;
|
|
204
|
+
* one still composing is read when the conversion ends if it is no longer the
|
|
205
|
+
* display rendered last, and otherwise has nothing new to read. One left in charge
|
|
206
|
+
* that is focused, is not the display rendered last and has no composition the
|
|
207
|
+
* tracker follows in it is held as a focused arrival is: neither read nor rounded,
|
|
208
|
+
* the hidden field and the accessible text keep the committed value, and its own
|
|
209
|
+
* `compositionend`, or an ordinary `input` that releases it, reads it as `change`.
|
|
210
|
+
* The display rendered last that leaves is remembered until it is next classified in
|
|
211
|
+
* charge, so it comes back as an arrival whichever callback reads it first. One that only
|
|
212
|
+
* moved within the same mutation batch while the controller stayed connected, already
|
|
213
|
+
* back in charge, is not remembered; one that leaves with the controller element is.
|
|
172
214
|
*/
|
|
173
215
|
displayTargetDisconnected(target: HTMLInputElement): void;
|
|
174
216
|
/** Syncs a late-arriving hidden field without touching the display or events. */
|
|
@@ -179,10 +221,32 @@ declare class CurrencyInputController extends Controller<HTMLElement> {
|
|
|
179
221
|
srValueTargetConnected(): void;
|
|
180
222
|
/** Syncs the screen-reader span that stays when an earlier one leaves, silently. */
|
|
181
223
|
srValueTargetDisconnected(): void;
|
|
182
|
-
/**
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
224
|
+
/**
|
|
225
|
+
* Re-groups digits as the user types, preserving the caret position. Only an edit
|
|
226
|
+
* of the display in charge is the user's: a display behind it is not read, and the
|
|
227
|
+
* end of a composition its edit shows was settled before this runs. An edit the
|
|
228
|
+
* event or the tracker reports as composing is the IME's draft, read when the
|
|
229
|
+
* composition ends. Called without an event, it re-groups the display in charge —
|
|
230
|
+
* while a composition runs, it leaves the draft and caret alone, since the end of
|
|
231
|
+
* the composition re-groups what it confirms.
|
|
232
|
+
*/
|
|
233
|
+
onInput(event?: Event): void;
|
|
234
|
+
/**
|
|
235
|
+
* Applies the fixed-precision rounding on blur — of the display in charge only. Called
|
|
236
|
+
* without an event, it rounds the display in charge. While a composition runs — the
|
|
237
|
+
* event or the tracker says so — the draft, the caret and the committed outputs stay
|
|
238
|
+
* as they are, and the rounding is held: the `compositionend` that confirms or
|
|
239
|
+
* cancels the composition rounds once; a move or disconnect that ends it, or a
|
|
240
|
+
* composition the user starts in another display, rounds the text it leaves in the
|
|
241
|
+
* same reading, reported as `reconcile`; any other end no `compositionend` reports
|
|
242
|
+
* drops the rounding, and the next blur rounds. The rounding is held for the composition
|
|
243
|
+
* running when it was asked, in the display that composition runs in, and never rounds
|
|
244
|
+
* another one: it lapses when another display's composition ends, and goes with its
|
|
245
|
+
* display when that display leaves with no composition the tracker follows going on in
|
|
246
|
+
* it. A rounding applied at once spends one held for a composition only the event
|
|
247
|
+
* reported.
|
|
248
|
+
*/
|
|
249
|
+
format(event?: Event): void;
|
|
186
250
|
}
|
|
187
251
|
|
|
188
252
|
export { CurrencyInputController };
|