stimeo-ui 0.6.0 → 0.8.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 +124 -0
- package/dist/controllers/alert_dialog_controller.d.ts +2 -0
- package/dist/controllers/alert_dialog_controller.js +75 -4
- package/dist/controllers/alert_dialog_controller.js.map +1 -1
- package/dist/controllers/auto_submit_controller.d.ts +16 -3
- package/dist/controllers/auto_submit_controller.js +94 -16
- package/dist/controllers/auto_submit_controller.js.map +1 -1
- package/dist/controllers/avatar_controller.js +47 -5
- package/dist/controllers/avatar_controller.js.map +1 -1
- package/dist/controllers/breadcrumb_controller.d.ts +2 -0
- package/dist/controllers/breadcrumb_controller.js.map +1 -1
- package/dist/controllers/bulk_select_controller.d.ts +2 -0
- package/dist/controllers/bulk_select_controller.js.map +1 -1
- package/dist/controllers/calendar_controller.d.ts +2 -0
- package/dist/controllers/calendar_controller.js.map +1 -1
- package/dist/controllers/carousel_controller.d.ts +81 -47
- package/dist/controllers/carousel_controller.js +451 -100
- package/dist/controllers/carousel_controller.js.map +1 -1
- package/dist/controllers/character_counter_controller.d.ts +52 -20
- package/dist/controllers/character_counter_controller.js +338 -63
- package/dist/controllers/character_counter_controller.js.map +1 -1
- package/dist/controllers/checkbox_controller.d.ts +3 -0
- package/dist/controllers/checkbox_controller.js.map +1 -1
- package/dist/controllers/color_picker_controller.d.ts +3 -0
- package/dist/controllers/color_picker_controller.js.map +1 -1
- package/dist/controllers/combobox_controller.d.ts +2 -0
- package/dist/controllers/combobox_controller.js.map +1 -1
- package/dist/controllers/command_palette_controller.d.ts +2 -0
- package/dist/controllers/command_palette_controller.js +75 -4
- package/dist/controllers/command_palette_controller.js.map +1 -1
- package/dist/controllers/conditional_fields_controller.d.ts +42 -14
- package/dist/controllers/conditional_fields_controller.js +345 -51
- package/dist/controllers/conditional_fields_controller.js.map +1 -1
- package/dist/controllers/confirm_controller.d.ts +2 -0
- package/dist/controllers/confirm_controller.js +75 -4
- package/dist/controllers/confirm_controller.js.map +1 -1
- package/dist/controllers/count_up_controller.d.ts +2 -0
- package/dist/controllers/count_up_controller.js.map +1 -1
- package/dist/controllers/countdown_controller.d.ts +4 -0
- package/dist/controllers/countdown_controller.js.map +1 -1
- package/dist/controllers/currency_input_controller.d.ts +40 -4
- package/dist/controllers/currency_input_controller.js +305 -74
- package/dist/controllers/currency_input_controller.js.map +1 -1
- package/dist/controllers/data_grid_controller.d.ts +3 -0
- package/dist/controllers/data_grid_controller.js.map +1 -1
- package/dist/controllers/dialog_controller.js +75 -4
- package/dist/controllers/dialog_controller.js.map +1 -1
- package/dist/controllers/direct_upload_controller.d.ts +59 -25
- package/dist/controllers/direct_upload_controller.js +212 -46
- package/dist/controllers/direct_upload_controller.js.map +1 -1
- package/dist/controllers/dirty_form_controller.d.ts +14 -6
- package/dist/controllers/dirty_form_controller.js +192 -29
- package/dist/controllers/dirty_form_controller.js.map +1 -1
- package/dist/controllers/dismissible_controller.d.ts +2 -0
- package/dist/controllers/dismissible_controller.js +83 -18
- package/dist/controllers/dismissible_controller.js.map +1 -1
- package/dist/controllers/drawer_controller.js +75 -4
- package/dist/controllers/drawer_controller.js.map +1 -1
- package/dist/controllers/empty_state_controller.d.ts +2 -0
- package/dist/controllers/empty_state_controller.js.map +1 -1
- package/dist/controllers/file_dropzone_controller.d.ts +123 -27
- package/dist/controllers/file_dropzone_controller.js +386 -63
- package/dist/controllers/file_dropzone_controller.js.map +1 -1
- package/dist/controllers/filter_controller.d.ts +2 -0
- package/dist/controllers/filter_controller.js.map +1 -1
- package/dist/controllers/flash_controller.d.ts +7 -1
- package/dist/controllers/flash_controller.js +3 -1
- package/dist/controllers/flash_controller.js.map +1 -1
- package/dist/controllers/focus_controller.d.ts +2 -0
- package/dist/controllers/focus_controller.js +75 -4
- package/dist/controllers/focus_controller.js.map +1 -1
- package/dist/controllers/form_field_controller.d.ts +50 -10
- package/dist/controllers/form_field_controller.js +280 -62
- package/dist/controllers/form_field_controller.js.map +1 -1
- package/dist/controllers/form_validation_controller.d.ts +10 -8
- package/dist/controllers/form_validation_controller.js +208 -83
- package/dist/controllers/form_validation_controller.js.map +1 -1
- package/dist/controllers/frame_loading_controller.d.ts +5 -1
- package/dist/controllers/frame_loading_controller.js +2 -1
- package/dist/controllers/frame_loading_controller.js.map +1 -1
- package/dist/controllers/highlight_controller.d.ts +2 -0
- package/dist/controllers/highlight_controller.js.map +1 -1
- package/dist/controllers/idle_controller.d.ts +2 -0
- package/dist/controllers/idle_controller.js.map +1 -1
- package/dist/controllers/input_mask_controller.d.ts +43 -15
- package/dist/controllers/input_mask_controller.js +251 -76
- package/dist/controllers/input_mask_controller.js.map +1 -1
- package/dist/controllers/lazy_frame_controller.d.ts +2 -0
- package/dist/controllers/lazy_frame_controller.js.map +1 -1
- package/dist/controllers/listbox_controller.d.ts +2 -0
- package/dist/controllers/listbox_controller.js.map +1 -1
- package/dist/controllers/local_time_controller.d.ts +2 -0
- package/dist/controllers/local_time_controller.js.map +1 -1
- package/dist/controllers/masonry_controller.d.ts +2 -0
- package/dist/controllers/masonry_controller.js.map +1 -1
- package/dist/controllers/meter_controller.d.ts +2 -0
- package/dist/controllers/meter_controller.js.map +1 -1
- package/dist/controllers/multi_select_controller.d.ts +2 -0
- package/dist/controllers/multi_select_controller.js.map +1 -1
- package/dist/controllers/nested_form_controller.d.ts +52 -13
- package/dist/controllers/nested_form_controller.js +450 -42
- package/dist/controllers/nested_form_controller.js.map +1 -1
- package/dist/controllers/network_status_controller.d.ts +2 -0
- package/dist/controllers/network_status_controller.js.map +1 -1
- package/dist/controllers/number_input_controller.d.ts +2 -0
- package/dist/controllers/number_input_controller.js +47 -5
- package/dist/controllers/number_input_controller.js.map +1 -1
- package/dist/controllers/otp_controller.d.ts +62 -23
- package/dist/controllers/otp_controller.js +472 -114
- package/dist/controllers/otp_controller.js.map +1 -1
- package/dist/controllers/overflow_indicator_controller.d.ts +2 -0
- package/dist/controllers/overflow_indicator_controller.js.map +1 -1
- package/dist/controllers/overflow_menu_controller.d.ts +2 -0
- package/dist/controllers/overflow_menu_controller.js +2 -1
- package/dist/controllers/overflow_menu_controller.js.map +1 -1
- package/dist/controllers/pagination_controller.d.ts +2 -0
- package/dist/controllers/pagination_controller.js +2 -1
- package/dist/controllers/pagination_controller.js.map +1 -1
- package/dist/controllers/password_reveal_controller.d.ts +2 -0
- package/dist/controllers/password_reveal_controller.js.map +1 -1
- package/dist/controllers/password_strength_controller.d.ts +2 -0
- package/dist/controllers/password_strength_controller.js.map +1 -1
- package/dist/controllers/persist_controller.d.ts +30 -16
- package/dist/controllers/persist_controller.js +432 -122
- package/dist/controllers/persist_controller.js.map +1 -1
- package/dist/controllers/pointer_drag_controller.d.ts +3 -0
- package/dist/controllers/pointer_drag_controller.js.map +1 -1
- package/dist/controllers/popover_controller.js +77 -4
- package/dist/controllers/popover_controller.js.map +1 -1
- package/dist/controllers/portal_controller.d.ts +2 -0
- package/dist/controllers/portal_controller.js.map +1 -1
- package/dist/controllers/preview_guard_controller.d.ts +2 -0
- package/dist/controllers/preview_guard_controller.js.map +1 -1
- package/dist/controllers/progress_controller.d.ts +3 -0
- package/dist/controllers/progress_controller.js.map +1 -1
- package/dist/controllers/radio_group_controller.d.ts +3 -0
- package/dist/controllers/radio_group_controller.js.map +1 -1
- package/dist/controllers/rating_controller.d.ts +2 -0
- package/dist/controllers/rating_controller.js +9 -5
- package/dist/controllers/rating_controller.js.map +1 -1
- package/dist/controllers/reading_progress_controller.d.ts +2 -0
- package/dist/controllers/reading_progress_controller.js.map +1 -1
- package/dist/controllers/resizable_controller.d.ts +2 -0
- package/dist/controllers/resizable_controller.js.map +1 -1
- package/dist/controllers/roving_controller.d.ts +2 -0
- package/dist/controllers/roving_controller.js.map +1 -1
- package/dist/controllers/scroll_area_controller.d.ts +23 -15
- package/dist/controllers/scroll_area_controller.js +462 -162
- package/dist/controllers/scroll_area_controller.js.map +1 -1
- package/dist/controllers/scroll_visibility_controller.d.ts +2 -0
- package/dist/controllers/scroll_visibility_controller.js.map +1 -1
- package/dist/controllers/scrollspy_controller.d.ts +2 -0
- package/dist/controllers/scrollspy_controller.js.map +1 -1
- package/dist/controllers/separator_controller.d.ts +54 -11
- package/dist/controllers/separator_controller.js +354 -38
- package/dist/controllers/separator_controller.js.map +1 -1
- package/dist/controllers/sidebar_controller.js +83 -10
- package/dist/controllers/sidebar_controller.js.map +1 -1
- package/dist/controllers/skeleton_controller.d.ts +2 -0
- package/dist/controllers/skeleton_controller.js.map +1 -1
- package/dist/controllers/slider_controller.d.ts +2 -0
- package/dist/controllers/slider_controller.js.map +1 -1
- package/dist/controllers/smart_sticky_header_controller.d.ts +2 -0
- package/dist/controllers/smart_sticky_header_controller.js.map +1 -1
- package/dist/controllers/spinner_controller.d.ts +4 -1
- package/dist/controllers/spinner_controller.js +7 -5
- package/dist/controllers/spinner_controller.js.map +1 -1
- package/dist/controllers/step_indicator_controller.d.ts +2 -0
- package/dist/controllers/step_indicator_controller.js.map +1 -1
- package/dist/controllers/stepper_controller.d.ts +2 -0
- package/dist/controllers/stepper_controller.js.map +1 -1
- package/dist/controllers/stick_to_bottom_controller.d.ts +2 -0
- package/dist/controllers/stick_to_bottom_controller.js.map +1 -1
- package/dist/controllers/sticky_observer_controller.d.ts +2 -0
- package/dist/controllers/sticky_observer_controller.js.map +1 -1
- package/dist/controllers/submit_once_controller.d.ts +98 -39
- package/dist/controllers/submit_once_controller.js +402 -122
- package/dist/controllers/submit_once_controller.js.map +1 -1
- package/dist/controllers/switch_controller.d.ts +2 -0
- package/dist/controllers/switch_controller.js.map +1 -1
- package/dist/controllers/tags_input_controller.d.ts +2 -0
- package/dist/controllers/tags_input_controller.js.map +1 -1
- package/dist/controllers/textarea_autosize_controller.d.ts +31 -9
- package/dist/controllers/textarea_autosize_controller.js +131 -3
- package/dist/controllers/textarea_autosize_controller.js.map +1 -1
- package/dist/controllers/theme_controller.d.ts +2 -0
- package/dist/controllers/theme_controller.js +8 -6
- package/dist/controllers/theme_controller.js.map +1 -1
- package/dist/controllers/time_picker_controller.d.ts +2 -0
- package/dist/controllers/time_picker_controller.js.map +1 -1
- package/dist/controllers/toast_controller.d.ts +4 -0
- package/dist/controllers/toast_controller.js.map +1 -1
- package/dist/controllers/toggle_group_controller.d.ts +2 -0
- package/dist/controllers/toggle_group_controller.js.map +1 -1
- package/dist/controllers/toolbar_controller.js.map +1 -1
- package/dist/controllers/transition_controller.d.ts +2 -0
- package/dist/controllers/transition_controller.js.map +1 -1
- package/dist/controllers/tree_view_controller.d.ts +2 -0
- package/dist/controllers/tree_view_controller.js +2 -1
- package/dist/controllers/tree_view_controller.js.map +1 -1
- package/dist/index.js +4293 -1447
- package/dist/index.js.map +1 -1
- package/dist/inspector/cli.d.ts +115 -4
- package/dist/inspector/cli.js +195 -15
- package/dist/inspector/cli.js.map +1 -1
- package/dist/inspector/cli_bin.js +257 -47
- package/dist/inspector/cli_bin.js.map +1 -1
- package/dist/inspector/examples.json +11 -11
- package/dist/inspector/manifest.json +615 -66
- package/dist/positioning/index.d.ts +2 -0
- package/dist/positioning/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,7 +5,8 @@ import { Controller } from '@hotwired/stimulus';
|
|
|
5
5
|
*
|
|
6
6
|
* Markup contract (identifier: `stimeo--file-dropzone`):
|
|
7
7
|
* <div data-controller="stimeo--file-dropzone"
|
|
8
|
-
* data-stimeo--file-dropzone-max-size-value="5242880"
|
|
8
|
+
* data-stimeo--file-dropzone-max-size-value="5242880"
|
|
9
|
+
* data-stimeo--file-dropzone-announce-added-text-value="{name} added; {total} selected">
|
|
9
10
|
* <div data-stimeo--file-dropzone-target="zone"
|
|
10
11
|
* data-action="dragover->stimeo--file-dropzone#onDragOver
|
|
11
12
|
* dragleave->stimeo--file-dropzone#onDragLeave
|
|
@@ -17,9 +18,14 @@ import { Controller } from '@hotwired/stimulus';
|
|
|
17
18
|
* data-action="change->stimeo--file-dropzone#onChange" />
|
|
18
19
|
* </div>
|
|
19
20
|
* <ul data-stimeo--file-dropzone-target="list" aria-label="Selected files"></ul>
|
|
20
|
-
* <
|
|
21
|
-
*
|
|
22
|
-
*
|
|
21
|
+
* <template data-stimeo--file-dropzone-target="itemTemplate">
|
|
22
|
+
* <li data-stimeo--file-dropzone-target="item">
|
|
23
|
+
* <img data-stimeo--file-dropzone-target="thumb" alt="" hidden />
|
|
24
|
+
* <span data-stimeo--file-dropzone-target="name"></span>
|
|
25
|
+
* <button type="button" aria-label="Remove {name}"
|
|
26
|
+
* data-stimeo--file-dropzone-target="remove">×</button>
|
|
27
|
+
* </li>
|
|
28
|
+
* </template>
|
|
23
29
|
* </div>
|
|
24
30
|
*
|
|
25
31
|
* There is no single APG pattern; the native `<input type="file">` stays the
|
|
@@ -29,17 +35,50 @@ import { Controller } from '@hotwired/stimulus';
|
|
|
29
35
|
*
|
|
30
36
|
* Behavior provided:
|
|
31
37
|
* - Click / keyboard via the `trigger` opens the native file dialog; drag-and-drop
|
|
32
|
-
* over the `zone` adds files
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* -
|
|
37
|
-
*
|
|
38
|
-
*
|
|
38
|
+
* over the `zone` adds files. The zone carries `data-dragover` for as long as the
|
|
39
|
+
* pointer is anywhere inside it, descendants included — a `dragleave` whose
|
|
40
|
+
* `relatedTarget` is still in the zone is the pointer crossing an inner element,
|
|
41
|
+
* not leaving.
|
|
42
|
+
* - Each file is validated in order against `accept`, `maxSize`, duplication, and
|
|
43
|
+
* the file count (`maxFiles`, or 1 when the input is not `multiple`). The reason
|
|
44
|
+
* is therefore the most specific one: a file the zone would refuse whatever the
|
|
45
|
+
* count says reports its own defect rather than `count`. Rejects fire
|
|
46
|
+
* `stimeo--file-dropzone:reject` and set `data-…-invalid`, which the next batch
|
|
47
|
+
* clears.
|
|
48
|
+
* - Two files count as the same when name, size, and last-modified time all match;
|
|
49
|
+
* `allowDuplicates` turns the check off.
|
|
50
|
+
* - Accepted files render from `itemTemplate`; the template's own remove-button
|
|
51
|
+
* `aria-label` is kept and its `{name}` expanded, so the accessible name stays in
|
|
52
|
+
* the consumer's language. A template missing a part renders nothing, changes no
|
|
53
|
+
* state, and reports itself once per connection.
|
|
54
|
+
* - The accepted set is mirrored onto the native input, so a plain form submit
|
|
55
|
+
* carries the dropped files with no JavaScript from the consumer. Where
|
|
56
|
+
* `DataTransfer` cannot be constructed the previews and events still work and the
|
|
57
|
+
* input keeps whatever the native dialog last put there.
|
|
39
58
|
* - Removing a file revokes its `objectURL` and moves focus to the next (else
|
|
40
|
-
* previous) remove button, falling back to the trigger
|
|
41
|
-
*
|
|
42
|
-
*
|
|
59
|
+
* previous) remove button, falling back to the trigger.
|
|
60
|
+
* - Additions, rejections, removals, and the drag affordance are handed to the
|
|
61
|
+
* page's shared `stimeo--announcer` as one polite message each, worded by the
|
|
62
|
+
* consumer (`{name}` is the file this message is about, `{count}` how many files
|
|
63
|
+
* it covers, `{total}` how many are selected afterwards). Empty templates stay
|
|
64
|
+
* silent, keeping announcements opt-in and i18n-neutral. One batch produces at
|
|
65
|
+
* most one message per outcome, so dropping twenty files never reads twenty lines.
|
|
66
|
+
* - A drop into a disabled field is refused: with the input `disabled` or inside a
|
|
67
|
+
* disabled `fieldset` the zone never becomes a drop target, matching what the
|
|
68
|
+
* native click and keyboard paths already do.
|
|
69
|
+
* - Replacing the `list` target rebinds delegated removal and moves the
|
|
70
|
+
* client-only previews into the replacement; a morph that empties the list in
|
|
71
|
+
* place moves them back on the next interaction.
|
|
72
|
+
* `reject` dispatches `{ file: File, reason: "type" | "size" | "duplicate" | "count" }`.
|
|
73
|
+
* `change` and `reconcile` dispatch `{ files: File[] }`.
|
|
74
|
+
*
|
|
75
|
+
* @remarks
|
|
76
|
+
* Previews are client-only state that no restored snapshot can revive — the `File`
|
|
77
|
+
* objects and their `blob:` URLs die with the page. Just before Turbo caches the
|
|
78
|
+
* page the generated items are removed, every `objectURL` revoked, and both state
|
|
79
|
+
* attributes withdrawn, so a restored snapshot starts pristine instead of showing
|
|
80
|
+
* rows that cannot be removed and do not count towards `maxFiles`. A `disconnect()`
|
|
81
|
+
* that turns out to be an in-page move keeps the selection intact.
|
|
43
82
|
*/
|
|
44
83
|
declare class FileDropzoneController extends Controller<HTMLElement> {
|
|
45
84
|
#private;
|
|
@@ -53,45 +92,102 @@ declare class FileDropzoneController extends Controller<HTMLElement> {
|
|
|
53
92
|
type: NumberConstructor;
|
|
54
93
|
default: number;
|
|
55
94
|
};
|
|
56
|
-
|
|
95
|
+
allowDuplicates: {
|
|
96
|
+
type: BooleanConstructor;
|
|
97
|
+
default: boolean;
|
|
98
|
+
};
|
|
99
|
+
announceDragText: {
|
|
100
|
+
type: StringConstructor;
|
|
101
|
+
default: string;
|
|
102
|
+
};
|
|
103
|
+
announceAddedText: {
|
|
104
|
+
type: StringConstructor;
|
|
105
|
+
default: string;
|
|
106
|
+
};
|
|
107
|
+
announceRemovedText: {
|
|
108
|
+
type: StringConstructor;
|
|
109
|
+
default: string;
|
|
110
|
+
};
|
|
111
|
+
announceRejectedTypeText: {
|
|
112
|
+
type: StringConstructor;
|
|
113
|
+
default: string;
|
|
114
|
+
};
|
|
115
|
+
announceRejectedSizeText: {
|
|
116
|
+
type: StringConstructor;
|
|
117
|
+
default: string;
|
|
118
|
+
};
|
|
119
|
+
announceRejectedDuplicateText: {
|
|
120
|
+
type: StringConstructor;
|
|
121
|
+
default: string;
|
|
122
|
+
};
|
|
123
|
+
announceRejectedCountText: {
|
|
57
124
|
type: StringConstructor;
|
|
58
125
|
default: string;
|
|
59
126
|
};
|
|
60
127
|
};
|
|
61
128
|
static actions: readonly ["onChange", "onDragLeave", "onDragOver", "onDrop", "openDialog"];
|
|
62
|
-
static events: readonly ["change", "reject"];
|
|
129
|
+
static events: readonly ["change", "reject", "reconcile"];
|
|
63
130
|
readonly inputTarget: HTMLInputElement;
|
|
64
131
|
readonly listTarget: HTMLElement;
|
|
65
132
|
readonly listTargets: HTMLElement[];
|
|
66
133
|
readonly triggerTarget: HTMLElement;
|
|
67
134
|
readonly itemTemplateTarget: HTMLTemplateElement;
|
|
68
|
-
readonly
|
|
135
|
+
readonly hasInputTarget: boolean;
|
|
69
136
|
readonly hasListTarget: boolean;
|
|
70
137
|
readonly hasTriggerTarget: boolean;
|
|
71
138
|
readonly hasItemTemplateTarget: boolean;
|
|
72
|
-
readonly hasStatusTarget: boolean;
|
|
73
139
|
readonly hasZoneTarget: boolean;
|
|
74
140
|
readonly zoneTarget: HTMLElement;
|
|
75
141
|
maxSizeValue: number;
|
|
76
142
|
maxFilesValue: number;
|
|
77
|
-
|
|
78
|
-
|
|
143
|
+
allowDuplicatesValue: boolean;
|
|
144
|
+
announceDragTextValue: string;
|
|
145
|
+
announceAddedTextValue: string;
|
|
146
|
+
announceRemovedTextValue: string;
|
|
147
|
+
announceRejectedTypeTextValue: string;
|
|
148
|
+
announceRejectedSizeTextValue: string;
|
|
149
|
+
announceRejectedDuplicateTextValue: string;
|
|
150
|
+
announceRejectedCountTextValue: string;
|
|
151
|
+
/** Subscribes to the Turbo cache rewind and re-arms the template diagnostic. */
|
|
79
152
|
connect(): void;
|
|
80
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Releases the delegated listeners. The selection itself survives an in-page
|
|
155
|
+
* move and is released only once the gate proves a real detach — revoking a
|
|
156
|
+
* preview URL on a move would leave a live item pointing at a dead `blob:`.
|
|
157
|
+
*/
|
|
81
158
|
disconnect(): void;
|
|
82
|
-
/**
|
|
159
|
+
/**
|
|
160
|
+
* Binds removal and restores client-only previews for every list this controller
|
|
161
|
+
* renders into — the one present at connect and any Turbo puts in its place.
|
|
162
|
+
* This is the only place the listener is attached, so the pair with
|
|
163
|
+
* {@link listTargetDisconnected} keeps it from outliving the element it is on.
|
|
164
|
+
*/
|
|
83
165
|
listTargetConnected(list: HTMLElement): void;
|
|
84
166
|
/** Releases only the list target that actually disconnected. */
|
|
85
167
|
listTargetDisconnected(list: HTMLElement): void;
|
|
86
168
|
/** Opens the native file dialog. Bound via `data-action` (trigger click). */
|
|
87
169
|
openDialog(): void;
|
|
88
|
-
/**
|
|
170
|
+
/**
|
|
171
|
+
* Adds the files chosen through the native dialog. The input holds only what
|
|
172
|
+
* the dialog just returned, so the accepted set is written back over it once
|
|
173
|
+
* the batch is validated.
|
|
174
|
+
*/
|
|
89
175
|
onChange(): void;
|
|
90
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* Marks the zone as a drop target and announces the affordance once per drag.
|
|
178
|
+
* Bound via `data-action` (dragover). Leaving the default alone is what refuses
|
|
179
|
+
* the drop, so a disabled field and a drag an inner dropzone already claimed
|
|
180
|
+
* both fall through untouched.
|
|
181
|
+
*/
|
|
91
182
|
onDragOver(event: DragEvent): void;
|
|
92
|
-
/**
|
|
93
|
-
|
|
94
|
-
|
|
183
|
+
/**
|
|
184
|
+
* Clears the drag-over flag when the pointer leaves the zone. Bound via
|
|
185
|
+
* `data-action` (dragleave). `dragleave` bubbles from every descendant the
|
|
186
|
+
* pointer crosses, so the flag only drops when the element being entered is
|
|
187
|
+
* outside the zone (or there is none, the pointer having left the window).
|
|
188
|
+
*/
|
|
189
|
+
onDragLeave(event: DragEvent): void;
|
|
190
|
+
/** Accepts dropped files, clearing the drag-over state. Bound via `data-action` (drop). */
|
|
95
191
|
onDrop(event: DragEvent): void;
|
|
96
192
|
}
|
|
97
193
|
|