@vielzeug/refine 1.5.4 → 1.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/dist/accordion.cjs +1 -1
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.js +30 -28
- package/dist/accordion.js.map +1 -1
- package/dist/async.cjs +11 -11
- package/dist/async.cjs.map +1 -1
- package/dist/async.js +1 -2
- package/dist/async.js.map +1 -1
- package/dist/button-group.cjs.map +1 -1
- package/dist/button-group.js.map +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +1 -0
- package/dist/button.js.map +1 -1
- package/dist/calendar.cjs +26 -26
- package/dist/calendar.cjs.map +1 -1
- package/dist/calendar.js +4 -5
- package/dist/calendar.js.map +1 -1
- package/dist/checkbox-group.cjs +9 -9
- package/dist/checkbox-group.cjs.map +1 -1
- package/dist/checkbox-group.js +50 -58
- package/dist/checkbox-group.js.map +1 -1
- package/dist/code-window.cjs +4 -4
- package/dist/code-window.cjs.map +1 -1
- package/dist/code-window.js +1 -2
- package/dist/code-window.js.map +1 -1
- package/dist/combobox.cjs +29 -28
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js +201 -195
- package/dist/combobox.js.map +1 -1
- package/dist/command-palette.cjs +6 -6
- package/dist/command-palette.cjs.map +1 -1
- package/dist/command-palette.js +46 -47
- package/dist/command-palette.js.map +1 -1
- package/dist/content/card/card.css.cjs +1 -1
- package/dist/content/card/card.css.cjs.map +1 -1
- package/dist/content/card/card.css.js +1 -1
- package/dist/content/card/card.css.js.map +1 -1
- package/dist/content/chat-message/chat-message.css.cjs +1 -1
- package/dist/content/chat-message/chat-message.css.cjs.map +1 -1
- package/dist/content/chat-message/chat-message.css.js +1 -1
- package/dist/content/chat-message/chat-message.css.js.map +1 -1
- package/dist/content/code-window/code-window.d.ts.map +1 -1
- package/dist/content/icon/icon.d.ts.map +1 -1
- package/dist/content/index.d.ts +4 -0
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/list/_list-item-reveal.cjs +2 -0
- package/dist/content/list/_list-item-reveal.cjs.map +1 -0
- package/dist/content/list/_list-item-reveal.d.ts +25 -0
- package/dist/content/list/_list-item-reveal.d.ts.map +1 -0
- package/dist/content/list/_list-item-reveal.js +33 -0
- package/dist/content/list/_list-item-reveal.js.map +1 -0
- package/dist/content/list/list-item.css.cjs +2 -0
- package/dist/content/list/list-item.css.cjs.map +1 -0
- package/dist/content/list/list-item.css.js +6 -0
- package/dist/content/list/list-item.css.js.map +1 -0
- package/dist/content/list/list-item.d.ts +111 -0
- package/dist/content/list/list-item.d.ts.map +1 -0
- package/dist/content/list/list.css.cjs +2 -0
- package/dist/content/list/list.css.cjs.map +1 -0
- package/dist/content/list/list.css.js +6 -0
- package/dist/content/list/list.css.js.map +1 -0
- package/dist/content/list/list.d.ts +93 -0
- package/dist/content/list/list.d.ts.map +1 -0
- package/dist/custom-elements.json +5693 -5090
- package/dist/datagrid.cjs +2 -2
- package/dist/datagrid.js +206 -206
- package/dist/datagrid.js.map +1 -1
- package/dist/date-picker.cjs +2 -1
- package/dist/date-picker.cjs.map +1 -1
- package/dist/date-picker.js +2 -0
- package/dist/date-picker.js.map +1 -1
- package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
- package/dist/disclosure/tabs/tabs.d.ts.map +1 -1
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.cjs.map +1 -1
- package/dist/drawer.js +47 -48
- package/dist/drawer.js.map +1 -1
- package/dist/feedback/async/async.d.ts.map +1 -1
- package/dist/feedback/progress/progress.d.ts.map +1 -1
- package/dist/file-input.cjs +108 -42
- package/dist/file-input.cjs.map +1 -1
- package/dist/file-input.js +215 -156
- package/dist/file-input.js.map +1 -1
- package/dist/headless/aria-reflection.cjs +2 -0
- package/dist/headless/aria-reflection.cjs.map +1 -0
- package/dist/headless/aria-reflection.d.ts +27 -0
- package/dist/headless/aria-reflection.d.ts.map +1 -0
- package/dist/headless/aria-reflection.js +18 -0
- package/dist/headless/aria-reflection.js.map +1 -0
- package/dist/headless/checkable.cjs +1 -1
- package/dist/headless/checkable.cjs.map +1 -1
- package/dist/headless/checkable.d.ts +2 -10
- package/dist/headless/checkable.d.ts.map +1 -1
- package/dist/headless/checkable.js +29 -29
- package/dist/headless/checkable.js.map +1 -1
- package/dist/headless/choice-field.cjs +1 -1
- package/dist/headless/choice-field.cjs.map +1 -1
- package/dist/headless/choice-field.d.ts +2 -7
- package/dist/headless/choice-field.d.ts.map +1 -1
- package/dist/headless/choice-field.js +37 -37
- package/dist/headless/choice-field.js.map +1 -1
- package/dist/headless/field-base.cjs +1 -1
- package/dist/headless/field-base.cjs.map +1 -1
- package/dist/headless/field-base.d.ts +17 -0
- package/dist/headless/field-base.d.ts.map +1 -1
- package/dist/headless/field-base.js +21 -6
- package/dist/headless/field-base.js.map +1 -1
- package/dist/headless/focus.cjs +1 -1
- package/dist/headless/focus.cjs.map +1 -1
- package/dist/headless/focus.d.ts +7 -0
- package/dist/headless/focus.d.ts.map +1 -1
- package/dist/headless/focus.js +6 -6
- package/dist/headless/focus.js.map +1 -1
- package/dist/headless/index.d.ts +4 -2
- package/dist/headless/index.d.ts.map +1 -1
- package/dist/headless/nav.cjs +1 -1
- package/dist/headless/nav.cjs.map +1 -1
- package/dist/headless/nav.d.ts +12 -0
- package/dist/headless/nav.d.ts.map +1 -1
- package/dist/headless/nav.js +68 -50
- package/dist/headless/nav.js.map +1 -1
- package/dist/headless/overlay.cjs +1 -1
- package/dist/headless/overlay.cjs.map +1 -1
- package/dist/headless/overlay.d.ts +2 -0
- package/dist/headless/overlay.d.ts.map +1 -1
- package/dist/headless/overlay.js +8 -5
- package/dist/headless/overlay.js.map +1 -1
- package/dist/headless/ref-callback.cjs +2 -0
- package/dist/headless/ref-callback.cjs.map +1 -0
- package/dist/headless/ref-callback.d.ts +26 -0
- package/dist/headless/ref-callback.d.ts.map +1 -0
- package/dist/headless/ref-callback.js +13 -0
- package/dist/headless/ref-callback.js.map +1 -0
- package/dist/headless/swipe.cjs +1 -1
- package/dist/headless/swipe.cjs.map +1 -1
- package/dist/headless/swipe.d.ts +2 -0
- package/dist/headless/swipe.d.ts.map +1 -1
- package/dist/headless/swipe.js +26 -21
- package/dist/headless/swipe.js.map +1 -1
- package/dist/headless.cjs +1 -1
- package/dist/headless.js +28 -26
- package/dist/icon.cjs +1 -1
- package/dist/icon.cjs.map +1 -1
- package/dist/icon.js +35 -38
- package/dist/icon.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +63 -61
- package/dist/input.cjs +29 -26
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +91 -79
- package/dist/input.js.map +1 -1
- package/dist/inputs/button/button.css.cjs +1 -1
- package/dist/inputs/button/button.css.cjs.map +1 -1
- package/dist/inputs/button/button.css.js +1 -1
- package/dist/inputs/button/button.css.js.map +1 -1
- package/dist/inputs/button/button.d.ts +8 -0
- package/dist/inputs/button/button.d.ts.map +1 -1
- package/dist/inputs/calendar/calendar.d.ts.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs +1 -1
- package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -1
- package/dist/inputs/checkbox/checkbox.css.js +1 -1
- package/dist/inputs/checkbox/checkbox.css.js.map +1 -1
- package/dist/inputs/combobox/combobox.d.ts +1 -0
- package/dist/inputs/combobox/combobox.d.ts.map +1 -1
- package/dist/inputs/date-picker/date-picker.css.cjs +1 -1
- package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -1
- package/dist/inputs/date-picker/date-picker.css.js +1 -1
- package/dist/inputs/date-picker/date-picker.css.js.map +1 -1
- package/dist/inputs/date-picker/date-picker.d.ts +6 -0
- package/dist/inputs/date-picker/date-picker.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs +2 -0
- package/dist/inputs/file-input/file-input-upload.cjs.map +1 -0
- package/dist/inputs/file-input/file-input-upload.d.ts +76 -0
- package/dist/inputs/file-input/file-input-upload.d.ts.map +1 -0
- package/dist/inputs/file-input/file-input-upload.js +145 -0
- package/dist/inputs/file-input/file-input-upload.js.map +1 -0
- package/dist/inputs/file-input/file-input.css.cjs +1 -1
- package/dist/inputs/file-input/file-input.css.cjs.map +1 -1
- package/dist/inputs/file-input/file-input.css.js +1 -1
- package/dist/inputs/file-input/file-input.css.js.map +1 -1
- package/dist/inputs/file-input/file-input.d.ts +54 -1
- package/dist/inputs/file-input/file-input.d.ts.map +1 -1
- package/dist/inputs/input/input.css.cjs +1 -1
- package/dist/inputs/input/input.css.cjs.map +1 -1
- package/dist/inputs/input/input.css.js +1 -1
- package/dist/inputs/input/input.css.js.map +1 -1
- package/dist/inputs/input/input.d.ts +13 -0
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs +1 -1
- package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -1
- package/dist/inputs/message-composer/message-composer.css.js +1 -1
- package/dist/inputs/message-composer/message-composer.css.js.map +1 -1
- package/dist/inputs/message-composer/message-composer.d.ts +7 -0
- package/dist/inputs/message-composer/message-composer.d.ts.map +1 -1
- package/dist/inputs/number-input/number-input.css.cjs +1 -1
- package/dist/inputs/number-input/number-input.css.cjs.map +1 -1
- package/dist/inputs/number-input/number-input.css.js +1 -1
- package/dist/inputs/number-input/number-input.css.js.map +1 -1
- package/dist/inputs/number-input/number-input.d.ts +15 -0
- package/dist/inputs/number-input/number-input.d.ts.map +1 -1
- package/dist/inputs/otp-input/otp-input.css.cjs +1 -1
- package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -1
- package/dist/inputs/otp-input/otp-input.css.js +1 -1
- package/dist/inputs/otp-input/otp-input.css.js.map +1 -1
- package/dist/inputs/radio/radio.d.ts.map +1 -1
- package/dist/inputs/select/select.d.ts +1 -0
- package/dist/inputs/select/select.d.ts.map +1 -1
- package/dist/inputs/shared/index.d.ts +1 -1
- package/dist/inputs/shared/index.d.ts.map +1 -1
- package/dist/inputs/shared/templates.cjs +26 -3
- package/dist/inputs/shared/templates.cjs.map +1 -1
- package/dist/inputs/shared/templates.d.ts +20 -0
- package/dist/inputs/shared/templates.d.ts.map +1 -1
- package/dist/inputs/shared/templates.js +29 -5
- package/dist/inputs/shared/templates.js.map +1 -1
- package/dist/inputs/switch/switch.css.cjs +1 -1
- package/dist/inputs/switch/switch.css.cjs.map +1 -1
- package/dist/inputs/switch/switch.css.js +1 -1
- package/dist/inputs/switch/switch.css.js.map +1 -1
- package/dist/inputs/switch/switch.d.ts.map +1 -1
- package/dist/inputs/textarea/textarea.css.cjs +1 -1
- package/dist/inputs/textarea/textarea.css.cjs.map +1 -1
- package/dist/inputs/textarea/textarea.css.js +1 -1
- package/dist/inputs/textarea/textarea.css.js.map +1 -1
- package/dist/inputs/textarea/textarea.d.ts +14 -0
- package/dist/inputs/textarea/textarea.d.ts.map +1 -1
- package/dist/inputs/time-picker/time-picker.css.cjs +1 -1
- package/dist/inputs/time-picker/time-picker.css.cjs.map +1 -1
- package/dist/inputs/time-picker/time-picker.css.js +1 -1
- package/dist/inputs/time-picker/time-picker.css.js.map +1 -1
- package/dist/inputs/time-picker/time-picker.d.ts +6 -0
- package/dist/inputs/time-picker/time-picker.d.ts.map +1 -1
- package/dist/list-item.cjs +22 -0
- package/dist/list-item.cjs.map +1 -0
- package/dist/list-item.js +91 -0
- package/dist/list-item.js.map +1 -0
- package/dist/list.cjs +2 -0
- package/dist/list.cjs.map +1 -0
- package/dist/list.js +64 -0
- package/dist/list.js.map +1 -0
- package/dist/menu.cjs +4 -4
- package/dist/menu.cjs.map +1 -1
- package/dist/menu.js +60 -59
- package/dist/menu.js.map +1 -1
- package/dist/message-composer.cjs +14 -20
- package/dist/message-composer.cjs.map +1 -1
- package/dist/message-composer.js +63 -64
- package/dist/message-composer.js.map +1 -1
- package/dist/number-input.cjs +5 -3
- package/dist/number-input.cjs.map +1 -1
- package/dist/number-input.js +8 -4
- package/dist/number-input.js.map +1 -1
- package/dist/otp-input.cjs +9 -9
- package/dist/otp-input.cjs.map +1 -1
- package/dist/otp-input.js +70 -62
- package/dist/otp-input.js.map +1 -1
- package/dist/overlay/menu/menu-item.css.cjs +1 -1
- package/dist/overlay/menu/menu-item.css.cjs.map +1 -1
- package/dist/overlay/menu/menu-item.css.js +1 -1
- package/dist/overlay/menu/menu-item.css.js.map +1 -1
- package/dist/overlay/menu/menu-separator.css.cjs +1 -1
- package/dist/overlay/menu/menu-separator.css.cjs.map +1 -1
- package/dist/overlay/menu/menu-separator.css.js +1 -1
- package/dist/overlay/menu/menu-separator.css.js.map +1 -1
- package/dist/overlay/menu/menu.css.cjs +1 -1
- package/dist/overlay/menu/menu.css.cjs.map +1 -1
- package/dist/overlay/menu/menu.css.js +1 -1
- package/dist/overlay/menu/menu.css.js.map +1 -1
- package/dist/overlay/shared/use-dialog.cjs +1 -1
- package/dist/overlay/shared/use-dialog.cjs.map +1 -1
- package/dist/overlay/shared/use-dialog.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.js +7 -6
- package/dist/overlay/shared/use-dialog.js.map +1 -1
- package/dist/progress.cjs +13 -13
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.js +3 -4
- package/dist/progress.js.map +1 -1
- package/dist/radio-group.cjs +11 -11
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js +63 -70
- package/dist/radio-group.js.map +1 -1
- package/dist/radio.cjs +4 -4
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js +58 -58
- package/dist/radio.js.map +1 -1
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/refine.cjs +502 -309
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +562 -369
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +558 -365
- package/dist/refine.js.map +1 -1
- package/dist/select.cjs +21 -21
- package/dist/select.cjs.map +1 -1
- package/dist/select.js +135 -127
- package/dist/select.js.map +1 -1
- package/dist/shared/size-presets.cjs +1 -1
- package/dist/shared/size-presets.cjs.map +1 -1
- package/dist/shared/size-presets.d.ts +74 -0
- package/dist/shared/size-presets.d.ts.map +1 -1
- package/dist/shared/size-presets.js +48 -1
- package/dist/shared/size-presets.js.map +1 -1
- package/dist/shared/types.d.ts +5 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/styles/index.cjs +1 -1
- package/dist/styles/index.cjs.map +1 -1
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +5 -4
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/mixins/field-variants.css.cjs +85 -0
- package/dist/styles/mixins/field-variants.css.cjs.map +1 -0
- package/dist/styles/mixins/field-variants.css.d.ts +66 -0
- package/dist/styles/mixins/field-variants.css.d.ts.map +1 -0
- package/dist/styles/mixins/field-variants.css.js +90 -0
- package/dist/styles/mixins/field-variants.css.js.map +1 -0
- package/dist/switch.cjs +3 -3
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +38 -36
- package/dist/switch.js.map +1 -1
- package/dist/tab-item.cjs +8 -8
- package/dist/tab-item.cjs.map +1 -1
- package/dist/tab-item.js +38 -28
- package/dist/tab-item.js.map +1 -1
- package/dist/tab-panel.cjs +7 -7
- package/dist/tab-panel.cjs.map +1 -1
- package/dist/tab-panel.js +33 -26
- package/dist/tab-panel.js.map +1 -1
- package/dist/tabs.cjs +4 -4
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.js +64 -60
- package/dist/tabs.js.map +1 -1
- package/dist/testing/index.d.ts +15 -60
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing.cjs +1 -1
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.js +7 -24
- package/dist/testing.js.map +1 -1
- package/dist/textarea.cjs +15 -18
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.js +83 -74
- package/dist/textarea.js.map +1 -1
- package/dist/time-picker.cjs +34 -31
- package/dist/time-picker.cjs.map +1 -1
- package/dist/time-picker.js +121 -109
- package/dist/time-picker.js.map +1 -1
- package/package.json +22 -9
- package/dist/headless/dialog-focus.cjs +0 -2
- package/dist/headless/dialog-focus.cjs.map +0 -1
- package/dist/headless/dialog-focus.d.ts +0 -40
- package/dist/headless/dialog-focus.d.ts.map +0 -1
- package/dist/headless/dialog-focus.js +0 -22
- package/dist/headless/dialog-focus.js.map +0 -1
- package/dist/headless/focus-trap.cjs +0 -2
- package/dist/headless/focus-trap.cjs.map +0 -1
- package/dist/headless/focus-trap.d.ts +0 -45
- package/dist/headless/focus-trap.d.ts.map +0 -1
- package/dist/headless/focus-trap.js +0 -51
- package/dist/headless/focus-trap.js.map +0 -1
- package/dist/keymap/dist/_dev.cjs +0 -2
- package/dist/keymap/dist/_dev.cjs.map +0 -1
- package/dist/keymap/dist/_dev.js +0 -4
- package/dist/keymap/dist/_dev.js.map +0 -1
- package/dist/keymap/dist/format.cjs +0 -1
- package/dist/keymap/dist/format.js +0 -1
- package/dist/keymap/dist/index.cjs +0 -1
- package/dist/keymap/dist/index.js +0 -4
- package/dist/keymap/dist/keymap.cjs +0 -2
- package/dist/keymap/dist/keymap.cjs.map +0 -1
- package/dist/keymap/dist/keymap.js +0 -221
- package/dist/keymap/dist/keymap.js.map +0 -1
- package/dist/keymap/dist/layer.cjs +0 -1
- package/dist/keymap/dist/layer.js +0 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/** Which side's action panel is currently revealed on a list item. */
|
|
2
|
+
export type ListItemRevealSide = 'left' | 'right';
|
|
3
|
+
/** Events emitted by the list-item component */
|
|
4
|
+
export type OreListItemEvents = {
|
|
5
|
+
/** Emitted when the revealed action panel closes (gesture, tap, or programmatic). */
|
|
6
|
+
conceal: {
|
|
7
|
+
item: HTMLElement;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Emitted when a swipe crosses the full-swipe-through distance — the "swiped all the way"
|
|
11
|
+
* confirm gesture. Fired just before the slotted action's own click (if any).
|
|
12
|
+
*/
|
|
13
|
+
confirm: {
|
|
14
|
+
item: HTMLElement;
|
|
15
|
+
side: ListItemRevealSide;
|
|
16
|
+
};
|
|
17
|
+
/** Emitted when the item becomes deselected. */
|
|
18
|
+
deselect: {
|
|
19
|
+
item: HTMLElement;
|
|
20
|
+
value: null | string;
|
|
21
|
+
};
|
|
22
|
+
/** Emitted when a swipe/focus reveals an action panel. */
|
|
23
|
+
reveal: {
|
|
24
|
+
item: HTMLElement;
|
|
25
|
+
side: ListItemRevealSide;
|
|
26
|
+
};
|
|
27
|
+
/** Emitted when the item becomes selected (only meaningful inside a `selectable` `ore-list`). */
|
|
28
|
+
select: {
|
|
29
|
+
item: HTMLElement;
|
|
30
|
+
value: null | string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/** List-item component properties */
|
|
34
|
+
export type OreListItemProps = {
|
|
35
|
+
/** Disable this item — blocks pointer interaction, swipe actions, and selection */
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/** Which action panel is revealed: 'left' | 'right' (absent = closed). Settable programmatically. */
|
|
38
|
+
revealed?: ListItemRevealSide;
|
|
39
|
+
/**
|
|
40
|
+
* Opaque value compared against the parent `selectable` `ore-list`'s own `value` to derive
|
|
41
|
+
* `selected` — required for selection to work. There's no separate `selected` prop: the parent
|
|
42
|
+
* list's `value` is the single source of truth, so this item's selected state can't drift from
|
|
43
|
+
* it. Also reported in `select`/`deselect`/the parent's `change` event.
|
|
44
|
+
*/
|
|
45
|
+
value?: string;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* A single row inside `ore-list`. Renders `leading`/default (title)/`description`/`trailing`
|
|
49
|
+
* content plus two off-canvas action panels (`actions-left`, `actions-right`) that a horizontal
|
|
50
|
+
* pointer/touch swipe reveals — useful for mobile-style row actions (archive, delete, …). An
|
|
51
|
+
* action panel only opens if it actually has slotted content; swiping the other direction is a
|
|
52
|
+
* no-op. Revealed actions stay reachable from the keyboard (Tab focus on a slotted action button
|
|
53
|
+
* reveals its panel via `:focus-within`, independent of any gesture).
|
|
54
|
+
*
|
|
55
|
+
* Swiping past the reveal distance snaps the panel fully open on release; swiping further still —
|
|
56
|
+
* past the full-swipe-through distance — auto-confirms that side's action immediately (fires
|
|
57
|
+
* `confirm` and clicks the slot's first element), the same "swipe all the way" shortcut as iOS
|
|
58
|
+
* Mail's delete gesture.
|
|
59
|
+
*
|
|
60
|
+
* Closing a revealed panel is deliberately one-directional: tap/click the row itself, tap outside
|
|
61
|
+
* the item, or open a different item's panel. Reverse-swiping an already-open item is not
|
|
62
|
+
* supported — see `ore-list`'s docs for the reasoning.
|
|
63
|
+
*
|
|
64
|
+
* @element ore-list-item
|
|
65
|
+
*
|
|
66
|
+
* @attr {boolean} disabled - Disable this item
|
|
67
|
+
* @attr {boolean} selected - Read-only reflected attribute: `true` when this item's `value` matches the parent `ore-list`'s `value`. Not independently settable.
|
|
68
|
+
* @attr {string} value - Opaque value compared against the parent list's `value` to derive `selected`; also reported in select/change events
|
|
69
|
+
* @attr {string} revealed - Which action panel is revealed: 'left' | 'right'
|
|
70
|
+
*
|
|
71
|
+
* @fires select - Item becomes selected. detail: { item: HTMLElement, value: string | null }
|
|
72
|
+
* @fires deselect - Item becomes deselected. detail: { item: HTMLElement, value: string | null }
|
|
73
|
+
* @fires reveal - An action panel opens. detail: { item: HTMLElement, side: 'left' | 'right' }
|
|
74
|
+
* @fires conceal - The revealed action panel closes. detail: { item: HTMLElement }
|
|
75
|
+
* @fires confirm - Swiped all the way through — fires before the slotted action's own click. detail: { item: HTMLElement, side: 'left' | 'right' }
|
|
76
|
+
*
|
|
77
|
+
* @slot leading - Content before the title (e.g. icon, avatar)
|
|
78
|
+
* @slot - Item title
|
|
79
|
+
* @slot description - Secondary line below the title
|
|
80
|
+
* @slot trailing - Content after the title (e.g. meta text, chevron)
|
|
81
|
+
* @slot actions-left - Buttons revealed by swiping right (or focusing into this slot)
|
|
82
|
+
* @slot actions-right - Buttons revealed by swiping left (or focusing into this slot)
|
|
83
|
+
*
|
|
84
|
+
* @cssprop --list-item-actions-width - Width of each action panel (default 6rem)
|
|
85
|
+
* @cssprop --list-item-bg - Row background color
|
|
86
|
+
* @cssprop --list-item-hover-bg - Row background on hover
|
|
87
|
+
* @cssprop --list-item-selected-bg - Row background when selected
|
|
88
|
+
* @part row - The row wrapper (focusable, swipeable)
|
|
89
|
+
* @part leading - The leading slot container
|
|
90
|
+
* @part content - The title + description container
|
|
91
|
+
* @part title - The title slot container
|
|
92
|
+
* @part description - The description slot container
|
|
93
|
+
* @part trailing - The trailing slot container
|
|
94
|
+
* @part actions-start - The left action panel container
|
|
95
|
+
* @part actions-end - The right action panel container
|
|
96
|
+
* @example
|
|
97
|
+
* ```html
|
|
98
|
+
* <ore-list-item>
|
|
99
|
+
* <ore-icon slot="leading" name="mail"></ore-icon>
|
|
100
|
+
* Inbox
|
|
101
|
+
* <span slot="trailing">12</span>
|
|
102
|
+
* </ore-list-item>
|
|
103
|
+
* <ore-list-item>
|
|
104
|
+
* Newsletter
|
|
105
|
+
* <span slot="description">From Acme Inc.</span>
|
|
106
|
+
* <ore-button slot="actions-right" color="error">Delete</ore-button>
|
|
107
|
+
* </ore-list-item>
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export declare const LIST_ITEM_TAG: "ore-list-item";
|
|
111
|
+
//# sourceMappingURL=list-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item.d.ts","sourceRoot":"","sources":["../../../src/content/list/list-item.ts"],"names":[],"mappings":"AASA,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qFAAqF;IACrF,OAAO,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IACzD,gDAAgD;IAChD,QAAQ,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;IACtD,0DAA0D;IAC1D,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IACxD,iGAAiG;IACjG,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;CACrD,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,eAAO,MAAM,aAAa,EAAG,eAAwB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`@layer refine.base{:host,::slotted(ore-list-item){display:block}:host([variant=bordered]){border:var(--border) solid var(--color-contrast-200);border-radius:var(--list-radius,var(--rounded-lg));overflow:hidden}:host([variant=bordered]) ::slotted(ore-list-item:not(:last-of-type)){border-bottom:var(--border) solid var(--color-contrast-200)}:host([variant=separated]){gap:var(--_gap,var(--size-2-5));flex-direction:column;display:flex}:host([variant=separated]) ::slotted(ore-list-item){border:var(--border) solid var(--color-contrast-200);border-radius:var(--list-radius,var(--rounded-lg));overflow:hidden}:host([disabled]){pointer-events:none;opacity:.6}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=list.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.css.cjs","names":[],"sources":["../../../src/content/list/list.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n ::slotted(ore-list-item) {\n display: block;\n }\n\n /* ========================================\n Bordered Variant\n ======================================== */\n\n :host([variant='bordered']) {\n overflow: hidden;\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--list-radius, var(--rounded-lg));\n }\n\n :host([variant='bordered']) ::slotted(ore-list-item:not(:last-of-type)) {\n border-bottom: var(--border) solid var(--color-contrast-200);\n }\n\n /* ========================================\n Separated Variant\n ======================================== */\n\n :host([variant='separated']) {\n display: flex;\n flex-direction: column;\n gap: var(--_gap, var(--size-2-5));\n }\n\n :host([variant='separated']) ::slotted(ore-list-item) {\n overflow: hidden;\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--list-radius, var(--rounded-lg));\n }\n\n /* ========================================\n Disabled State\n ======================================== */\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.6;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/content/list/list.css?inline
|
|
2
|
+
var e = "@layer refine.base{:host,::slotted(ore-list-item){display:block}:host([variant=bordered]){border:var(--border) solid var(--color-contrast-200);border-radius:var(--list-radius,var(--rounded-lg));overflow:hidden}:host([variant=bordered]) ::slotted(ore-list-item:not(:last-of-type)){border-bottom:var(--border) solid var(--color-contrast-200)}:host([variant=separated]){gap:var(--_gap,var(--size-2-5));flex-direction:column;display:flex}:host([variant=separated]) ::slotted(ore-list-item){border:var(--border) solid var(--color-contrast-200);border-radius:var(--list-radius,var(--rounded-lg));overflow:hidden}:host([disabled]){pointer-events:none;opacity:.6}}";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=list.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.css.js","names":[],"sources":["../../../src/content/list/list.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n ::slotted(ore-list-item) {\n display: block;\n }\n\n /* ========================================\n Bordered Variant\n ======================================== */\n\n :host([variant='bordered']) {\n overflow: hidden;\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--list-radius, var(--rounded-lg));\n }\n\n :host([variant='bordered']) ::slotted(ore-list-item:not(:last-of-type)) {\n border-bottom: var(--border) solid var(--color-contrast-200);\n }\n\n /* ========================================\n Separated Variant\n ======================================== */\n\n :host([variant='separated']) {\n display: flex;\n flex-direction: column;\n gap: var(--_gap, var(--size-2-5));\n }\n\n :host([variant='separated']) ::slotted(ore-list-item) {\n overflow: hidden;\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--list-radius, var(--rounded-lg));\n }\n\n /* ========================================\n Disabled State\n ======================================== */\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.6;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type Readable } from '@vielzeug/ripple';
|
|
2
|
+
import type { ComponentSize } from '../../types';
|
|
3
|
+
/** Visual variant for `ore-list`. */
|
|
4
|
+
export type ListVariant = 'bordered' | 'plain' | 'separated';
|
|
5
|
+
/** Context provided by `ore-list` to its `ore-list-item` children. */
|
|
6
|
+
export type ListContext = {
|
|
7
|
+
/**
|
|
8
|
+
* Closes every other item's swipe-revealed action panel. Called directly by an item the moment
|
|
9
|
+
* its own `revealed` attribute transitions to non-null (gesture or direct attribute set) —
|
|
10
|
+
* replaces listening for a bubbled `reveal` event and re-deriving "is this actually my direct
|
|
11
|
+
* child" with a plain function call, the same shape as `select` below.
|
|
12
|
+
*/
|
|
13
|
+
requestReveal: (item: HTMLElement) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Selects `value` (or clears the selection when `undefined`) and fires `change`. Called
|
|
16
|
+
* directly by an activated item — mirrors `ore-radio-group`'s `RadioGroupContext.select()`.
|
|
17
|
+
* No sibling bookkeeping needed here: every item's `selected` is *derived* from `value`, so
|
|
18
|
+
* changing it here is the only thing that has to happen.
|
|
19
|
+
*/
|
|
20
|
+
select: (value: string | undefined) => void;
|
|
21
|
+
selectable: Readable<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Single source of truth for the current selection — `ore-list-item` never owns its own
|
|
24
|
+
* "selected" state; it's always derived by comparing its own `value` against this one (the
|
|
25
|
+
* same shape as `ore-radio-group`'s `RadioGroupContext.value`).
|
|
26
|
+
*/
|
|
27
|
+
value: Readable<string | undefined>;
|
|
28
|
+
};
|
|
29
|
+
/** Injection key for the list context. */
|
|
30
|
+
export declare const LIST_CTX: import("@vielzeug/ore").InjectionKey<ListContext>;
|
|
31
|
+
/** Events emitted by the list component */
|
|
32
|
+
export type OreListEvents = {
|
|
33
|
+
/** Emitted when the selected value changes (only when `selectable` is set). */
|
|
34
|
+
change: {
|
|
35
|
+
value: null | string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
/** List component properties */
|
|
39
|
+
export type OreListProps = {
|
|
40
|
+
/** Disable the entire list — blocks pointer interaction and removes items from tab order */
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Enables single-selection listbox behavior: clicking (or pressing Enter/Space on) an item
|
|
44
|
+
* selects it and deselects any previously-selected sibling. Arrow keys / Home / End move
|
|
45
|
+
* focus between items. Omit for a plain, non-interactive display list.
|
|
46
|
+
*/
|
|
47
|
+
selectable?: boolean;
|
|
48
|
+
/** Size applied to all items (propagated via inherited CSS custom properties) */
|
|
49
|
+
size?: ComponentSize;
|
|
50
|
+
/**
|
|
51
|
+
* Selected item's `value` (only meaningful when `selectable`) — the single source of truth for
|
|
52
|
+
* selection. `ore-list-item` never owns its own selected state; set this directly, bind it for
|
|
53
|
+
* two-way control, or read it back from `change`.
|
|
54
|
+
*/
|
|
55
|
+
value?: string;
|
|
56
|
+
/** Visual variant: 'plain' (default, no dividers) | 'bordered' (outer border + row dividers) | 'separated' (each item is its own card) */
|
|
57
|
+
variant?: ListVariant;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* A vertical list container for `ore-list-item` children — plain display list by default, or a
|
|
61
|
+
* keyboard-navigable single-select listbox via `selectable`. Each item can independently reveal
|
|
62
|
+
* a left/right action panel via touch/pointer swipe (see `ore-list-item`'s `actions-left`/
|
|
63
|
+
* `actions-right` slots) — useful for mobile-style row actions (archive, delete, …).
|
|
64
|
+
*
|
|
65
|
+
* @element ore-list
|
|
66
|
+
* @element ore-list-item - Child element for each row
|
|
67
|
+
*
|
|
68
|
+
* @attr {boolean} disabled - Disable the entire list
|
|
69
|
+
* @attr {boolean} selectable - Enable single-selection listbox behavior with arrow-key navigation
|
|
70
|
+
* @attr {string} size - Size applied to all items: 'sm' | 'md' | 'lg'
|
|
71
|
+
* @attr {string} value - Selected item's value (only meaningful when `selectable`) — the single source of truth for selection
|
|
72
|
+
* @attr {string} variant - Visual variant: 'plain' | 'bordered' | 'separated'
|
|
73
|
+
*
|
|
74
|
+
* @fires change - Emitted when the selected value changes. detail: { value: string | null }
|
|
75
|
+
*
|
|
76
|
+
* @slot - `ore-list-item` elements
|
|
77
|
+
*
|
|
78
|
+
* @cssprop --list-radius - Border radius for the 'bordered'/'separated' variants
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```html
|
|
82
|
+
* <ore-list variant="bordered">
|
|
83
|
+
* <ore-list-item>Inbox</ore-list-item>
|
|
84
|
+
* <ore-list-item>Drafts</ore-list-item>
|
|
85
|
+
* </ore-list>
|
|
86
|
+
* <ore-list selectable value="inbox">
|
|
87
|
+
* <ore-list-item value="inbox">Inbox</ore-list-item>
|
|
88
|
+
* <ore-list-item value="drafts">Drafts</ore-list-item>
|
|
89
|
+
* </ore-list>
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare const LIST_TAG: "ore-list";
|
|
93
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/content/list/list.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOjD,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAE7D,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B;;;;OAIG;IACH,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrC,CAAC;AACF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,mDAA4C,CAAC;AAElE,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG;IAC1B,+EAA+E;IAC/E,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0IAA0I;IAC1I,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
|