@ecopages/radiant-ui 0.1.0-rc.7 → 0.1.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/README.md +11 -3
- package/dist/components/ui/alert/alert.d.ts +2 -4
- package/dist/components/ui/alert/alert.script.d.ts +25 -15
- package/dist/components/ui/autocomplete/autocomplete.css +1 -2
- package/dist/components/ui/autocomplete/autocomplete.d.ts +8 -3
- package/dist/components/ui/autocomplete/autocomplete.script.d.ts +29 -4
- package/dist/components/ui/avatar/avatar.css +10 -8
- package/dist/components/ui/avatar/avatar.d.ts +3 -1
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts +11 -11
- package/dist/components/ui/breadcrumb/breadcrumb.script.d.ts +10 -10
- package/dist/components/ui/calendar/calendar.css +10 -5
- package/dist/components/ui/calendar/calendar.script.d.ts +24 -21
- package/dist/components/ui/calendar/index.js +1 -1
- package/dist/components/ui/calendar/index.js.map +3 -3
- package/dist/components/ui/carousel/carousel-autoplay.d.ts +22 -0
- package/dist/components/ui/carousel/carousel-swipe.d.ts +17 -0
- package/dist/components/ui/carousel/carousel-window.d.ts +63 -0
- package/dist/components/ui/carousel/carousel.css +71 -18
- package/dist/components/ui/carousel/carousel.d.ts +8 -4
- package/dist/components/ui/carousel/carousel.script.d.ts +73 -40
- package/dist/components/ui/carousel/index.js +1 -1
- package/dist/components/ui/carousel/index.js.map +4 -4
- package/dist/components/ui/checkbox/checkbox.d.ts +11 -0
- package/dist/components/ui/checkbox/checkbox.script.d.ts +31 -8
- package/dist/components/ui/checkbox/index.js +1 -1
- package/dist/components/ui/checkbox/index.js.map +4 -4
- package/dist/components/ui/checkbox-group/checkbox-group.d.ts +4 -2
- package/dist/components/ui/checkbox-group/checkbox-group.script.d.ts +39 -20
- package/dist/components/ui/checkbox-group/index.js +1 -1
- package/dist/components/ui/checkbox-group/index.js.map +4 -4
- package/dist/components/ui/combobox/combobox.css +9 -1
- package/dist/components/ui/combobox/combobox.d.ts +12 -4
- package/dist/components/ui/combobox/combobox.script.d.ts +74 -25
- package/dist/components/ui/combobox/index.d.ts +2 -2
- package/dist/components/ui/combobox/index.js +1 -1
- package/dist/components/ui/combobox/index.js.map +4 -4
- package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +6 -2
- package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +35 -4
- package/dist/components/ui/cycle-toggle/index.js +1 -1
- package/dist/components/ui/cycle-toggle/index.js.map +3 -3
- package/dist/components/ui/date-field/date-field.css +13 -17
- package/dist/components/ui/date-field/date-field.d.ts +10 -8
- package/dist/components/ui/date-field/date-field.script.d.ts +35 -52
- package/dist/components/ui/date-field/index.js +1 -1
- package/dist/components/ui/date-field/index.js.map +4 -4
- package/dist/components/ui/date-input/date-input-segment-dom.d.ts +24 -0
- package/dist/components/ui/date-input/date-input.css +50 -0
- package/dist/components/ui/date-input/date-input.d.ts +8 -0
- package/dist/components/ui/date-input/date-input.script.d.ts +137 -0
- package/dist/components/ui/date-input/index.d.ts +2 -0
- package/dist/components/ui/date-input/index.js +2 -0
- package/dist/components/ui/date-input/index.js.map +7 -0
- package/dist/components/ui/date-range-picker/date-range-picker.css +18 -19
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +11 -9
- package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +42 -51
- package/dist/components/ui/date-range-picker/index.js +1 -1
- package/dist/components/ui/date-range-picker/index.js.map +4 -4
- package/dist/components/ui/dialog/dialog.css +18 -14
- package/dist/components/ui/dialog/dialog.d.ts +6 -0
- package/dist/components/ui/dialog/dialog.script.d.ts +43 -10
- package/dist/components/ui/dialog/index.js +1 -1
- package/dist/components/ui/dialog/index.js.map +4 -4
- package/dist/components/ui/disclosure/disclosure-group.script.d.ts +19 -3
- package/dist/components/ui/disclosure/disclosure.css +3 -6
- package/dist/components/ui/disclosure/disclosure.d.ts +23 -7
- package/dist/components/ui/disclosure/disclosure.script.d.ts +31 -7
- package/dist/components/ui/disclosure/index.d.ts +1 -1
- package/dist/components/ui/disclosure/index.js +1 -1
- package/dist/components/ui/disclosure/index.js.map +4 -4
- package/dist/components/ui/field/field-description.d.ts +1 -0
- package/dist/components/ui/field/field-error.d.ts +2 -2
- package/dist/components/ui/field/field.d.ts +4 -4
- package/dist/components/ui/field/field.script.d.ts +54 -24
- package/dist/components/ui/field/index.js +1 -1
- package/dist/components/ui/field/index.js.map +4 -4
- package/dist/components/ui/form/control-protocol.d.ts +38 -1
- package/dist/components/ui/form/form-context.d.ts +3 -0
- package/dist/components/ui/form/form.d.ts +6 -0
- package/dist/components/ui/form/form.script.d.ts +29 -12
- package/dist/components/ui/form/index.d.ts +2 -1
- package/dist/components/ui/form/index.js +1 -1
- package/dist/components/ui/form/index.js.map +4 -4
- package/dist/components/ui/grid/grid.d.ts +4 -3
- package/dist/components/ui/grid/grid.script.d.ts +19 -11
- package/dist/components/ui/hover-card/hover-card.css +12 -101
- package/dist/components/ui/hover-card/hover-card.d.ts +7 -2
- package/dist/components/ui/hover-card/hover-card.script.d.ts +36 -5
- package/dist/components/ui/hover-card/index.js +1 -1
- package/dist/components/ui/hover-card/index.js.map +4 -4
- package/dist/components/ui/input/index.js +1 -1
- package/dist/components/ui/input/index.js.map +4 -4
- package/dist/components/ui/input/input.css +1 -1
- package/dist/components/ui/knob/index.js +1 -1
- package/dist/components/ui/knob/index.js.map +3 -3
- package/dist/components/ui/knob/knob.css +6 -1
- package/dist/components/ui/knob/knob.d.ts +4 -4
- package/dist/components/ui/knob/knob.script.d.ts +55 -20
- package/dist/components/ui/label/index.js +1 -1
- package/dist/components/ui/label/index.js.map +4 -4
- package/dist/components/ui/label/label.d.ts +2 -1
- package/dist/components/ui/listbox/index.d.ts +2 -2
- package/dist/components/ui/listbox/index.js +1 -1
- package/dist/components/ui/listbox/index.js.map +4 -4
- package/dist/components/ui/listbox/listbox.css +14 -0
- package/dist/components/ui/listbox/listbox.d.ts +16 -2
- package/dist/components/ui/listbox/listbox.script.d.ts +55 -12
- package/dist/components/ui/menu-button/index.js +1 -1
- package/dist/components/ui/menu-button/index.js.map +4 -4
- package/dist/components/ui/menu-button/menu-button.d.ts +2 -2
- package/dist/components/ui/menu-button/menu-button.script.d.ts +30 -27
- package/dist/components/ui/menubar/index.js +1 -1
- package/dist/components/ui/menubar/index.js.map +4 -4
- package/dist/components/ui/menubar/menubar.script.d.ts +41 -15
- package/dist/components/ui/meter/index.js +1 -1
- package/dist/components/ui/meter/index.js.map +3 -3
- package/dist/components/ui/meter/meter.css +27 -2
- package/dist/components/ui/meter/meter.script.d.ts +19 -14
- package/dist/components/ui/navigation-menu/index.d.ts +1 -1
- package/dist/components/ui/navigation-menu/index.js +1 -1
- package/dist/components/ui/navigation-menu/index.js.map +4 -4
- package/dist/components/ui/navigation-menu/navigation-menu.css +32 -34
- package/dist/components/ui/navigation-menu/navigation-menu.d.ts +34 -5
- package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +93 -12
- package/dist/components/ui/number-field/index.js +1 -1
- package/dist/components/ui/number-field/index.js.map +4 -4
- package/dist/components/ui/number-field/number-field.css +1 -1
- package/dist/components/ui/number-field/number-field.d.ts +8 -19
- package/dist/components/ui/number-field/number-field.script.d.ts +30 -9
- package/dist/components/ui/pagination/index.d.ts +1 -1
- package/dist/components/ui/pagination/index.js +1 -1
- package/dist/components/ui/pagination/index.js.map +3 -3
- package/dist/components/ui/pagination/pagination.css +50 -13
- package/dist/components/ui/pagination/pagination.d.ts +33 -9
- package/dist/components/ui/pagination/pagination.script.d.ts +29 -9
- package/dist/components/ui/popover/index.js +1 -1
- package/dist/components/ui/popover/index.js.map +4 -4
- package/dist/components/ui/popover/popover.d.ts +17 -1
- package/dist/components/ui/popover/popover.script.d.ts +57 -9
- package/dist/components/ui/radio-group/index.js +1 -1
- package/dist/components/ui/radio-group/index.js.map +4 -4
- package/dist/components/ui/radio-group/radio-group.d.ts +2 -2
- package/dist/components/ui/radio-group/radio-group.script.d.ts +35 -16
- package/dist/components/ui/select/index.d.ts +2 -2
- package/dist/components/ui/select/index.js +1 -1
- package/dist/components/ui/select/index.js.map +4 -4
- package/dist/components/ui/select/select.css +8 -6
- package/dist/components/ui/select/select.d.ts +18 -9
- package/dist/components/ui/select/select.script.d.ts +74 -26
- package/dist/components/ui/shared/calendar-popover-behavior.d.ts +27 -0
- package/dist/components/ui/shared/control-toggle.css +8 -4
- package/dist/components/ui/shared/field-label.d.ts +5 -0
- package/dist/components/ui/shared/listbox-host-controller.d.ts +41 -0
- package/dist/components/ui/shared/listbox-option.d.ts +4 -0
- package/dist/components/ui/shared/multi-value.d.ts +23 -1
- package/dist/components/ui/shared/numeric-range.d.ts +8 -0
- package/dist/components/ui/shared/popover.css +10 -99
- package/dist/components/ui/sidebar/index.d.ts +2 -1
- package/dist/components/ui/sidebar/index.js +1 -1
- package/dist/components/ui/sidebar/index.js.map +4 -4
- package/dist/components/ui/sidebar/sidebar-trigger.d.ts +12 -0
- package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +52 -31
- package/dist/components/ui/sidebar/sidebar.css +67 -61
- package/dist/components/ui/sidebar/sidebar.d.ts +9 -4
- package/dist/components/ui/sidebar/sidebar.script.d.ts +42 -20
- package/dist/components/ui/slider/index.js +1 -1
- package/dist/components/ui/slider/index.js.map +4 -4
- package/dist/components/ui/slider/slider.css +5 -5
- package/dist/components/ui/slider/slider.d.ts +20 -10
- package/dist/components/ui/slider/slider.script.d.ts +103 -27
- package/dist/components/ui/switch/index.js +1 -1
- package/dist/components/ui/switch/index.js.map +4 -4
- package/dist/components/ui/switch/switch.css +28 -22
- package/dist/components/ui/switch/switch.d.ts +13 -0
- package/dist/components/ui/switch/switch.script.d.ts +34 -8
- package/dist/components/ui/table/index.js +1 -1
- package/dist/components/ui/table/index.js.map +4 -4
- package/dist/components/ui/table/table.d.ts +9 -7
- package/dist/components/ui/table/table.script.d.ts +55 -12
- package/dist/components/ui/tabs/tabs.css +18 -12
- package/dist/components/ui/tabs/tabs.d.ts +7 -4
- package/dist/components/ui/tabs/tabs.script.d.ts +39 -9
- package/dist/components/ui/tag-group/index.js +1 -1
- package/dist/components/ui/tag-group/index.js.map +4 -4
- package/dist/components/ui/tag-group/tag-group.d.ts +19 -7
- package/dist/components/ui/tag-group/tag-group.script.d.ts +58 -10
- package/dist/components/ui/textarea/index.js +1 -1
- package/dist/components/ui/textarea/index.js.map +4 -4
- package/dist/components/ui/textarea/textarea.css +1 -1
- package/dist/components/ui/toast/index.js +1 -1
- package/dist/components/ui/toast/index.js.map +4 -4
- package/dist/components/ui/toast/toast.css +35 -32
- package/dist/components/ui/toast/toast.script.d.ts +17 -31
- package/dist/components/ui/toast/toaster.script.d.ts +24 -12
- package/dist/components/ui/toc/toc.script.d.ts +19 -8
- package/dist/components/ui/toolbar/toolbar.d.ts +5 -0
- package/dist/components/ui/toolbar/toolbar.script.d.ts +24 -4
- package/dist/components/ui/tooltip/index.js +1 -1
- package/dist/components/ui/tooltip/index.js.map +4 -4
- package/dist/components/ui/tooltip/tooltip.css +14 -94
- package/dist/components/ui/tooltip/tooltip.d.ts +7 -0
- package/dist/components/ui/tooltip/tooltip.script.d.ts +36 -6
- package/dist/components/ui/tree/tree.d.ts +4 -3
- package/dist/components/ui/tree/tree.script.d.ts +28 -15
- package/dist/components/ui/treegrid/treegrid.d.ts +5 -3
- package/dist/components/ui/treegrid/treegrid.script.d.ts +33 -14
- package/dist/components/ui/window-splitter/index.d.ts +1 -1
- package/dist/components/ui/window-splitter/index.js +1 -1
- package/dist/components/ui/window-splitter/index.js.map +3 -3
- package/dist/components/ui/window-splitter/window-splitter.d.ts +10 -1
- package/dist/components/ui/window-splitter/window-splitter.script.d.ts +26 -8
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/lib/icons/check.d.ts +3 -0
- package/dist/lib/icons/chevron-down.d.ts +0 -1
- package/dist/lib/icons/index.d.ts +2 -0
- package/dist/lib/icons/x.d.ts +5 -0
- package/dist/lib/intl-date/index.d.ts +4 -2
- package/dist/lib/intl-date/segment-editing.d.ts +34 -0
- package/dist/lib/intl-date/segments.d.ts +26 -4
- package/dist/lib/non-empty.d.ts +6 -0
- package/dist/lib/unique-id.d.ts +11 -0
- package/dist/lib/viewport/breakpoints.d.ts +6 -0
- package/dist/lib/viewport/mobile-layout.d.ts +15 -0
- package/dist/styles/primitives.css +14 -11
- package/dist/styles/radiant-ui-core.css +10 -0
- package/dist/styles/radiant-ui.css +40 -11
- package/dist/styles/style-dependencies.json +38 -13
- package/dist/styles/styles.css +485 -252
- package/dist/styles/tailwind.css +40 -101
- package/dist/styles/tokens/presets/colors/aurora.css +2 -0
- package/dist/styles/tokens/presets/colors/basalt.css +2 -0
- package/dist/styles/tokens/presets/colors/ember.css +2 -0
- package/dist/styles/tokens/presets/colors/glacier.css +2 -0
- package/dist/styles/tokens/semantic.css +1 -0
- package/dist/styles/tokens/system.css +11 -3
- package/dist/styles/tokens/typography/default.css +8 -0
- package/package.json +27 -13
|
@@ -2,6 +2,7 @@ import { RadiantElement } from '@ecopages/radiant';
|
|
|
2
2
|
export type RuiCarouselTransition = 'none' | 'slide' | 'fade';
|
|
3
3
|
/** Where default prev/next chrome is laid out. `toolbar` places controls below the slide; `overlay` pins them to the slide edges. */
|
|
4
4
|
export type RuiCarouselControlsVariant = 'toolbar' | 'overlay';
|
|
5
|
+
export { resolveCarouselSurface, resolveCarouselTrackMode, type CarouselSurface, type CarouselTrackMode, } from './carousel-window';
|
|
5
6
|
/**
|
|
6
7
|
* Defaults the SSR shell depends on.
|
|
7
8
|
*
|
|
@@ -12,6 +13,8 @@ export declare const CAROUSEL_DEFAULTS: {
|
|
|
12
13
|
readonly label: 'Carousel';
|
|
13
14
|
readonly transition: 'none';
|
|
14
15
|
readonly controlsVariant: 'toolbar';
|
|
16
|
+
readonly slidesPerView: 1;
|
|
17
|
+
readonly slidesPerGroup: 1;
|
|
15
18
|
};
|
|
16
19
|
export type RuiCarouselProps = {
|
|
17
20
|
label?: string;
|
|
@@ -27,59 +30,85 @@ export type RuiCarouselProps = {
|
|
|
27
30
|
loop?: boolean;
|
|
28
31
|
/** When true, prev/next wrap and controls stay enabled at the ends. Default: true. */
|
|
29
32
|
wrap?: boolean;
|
|
30
|
-
/**
|
|
33
|
+
/** How many slides fill the viewport. Values `>= 1`; fractional peek is allowed. Default: `1`. */
|
|
34
|
+
slidesPerView?: number;
|
|
35
|
+
/** How many slides prev/next/autoplay/swipe move. Default: `1`. */
|
|
36
|
+
slidesPerGroup?: number;
|
|
37
|
+
/** Authored slide count for render-time control state before the view paints slides. */
|
|
31
38
|
slideCount?: number;
|
|
32
39
|
};
|
|
33
40
|
/**
|
|
34
|
-
* `<rui-carousel>` — sequentially displays
|
|
41
|
+
* `<rui-carousel>` — sequentially displays a window of slides.
|
|
42
|
+
*
|
|
43
|
+
* The custom element is a behavior host: it does not render the composed tree.
|
|
44
|
+
* Import the script and place light-DOM children that match the contract below,
|
|
45
|
+
* or use the `RuiCarousel` view helpers which stamp the same targets.
|
|
35
46
|
*
|
|
36
47
|
* Implements the [APG Carousel pattern](https://www.w3.org/WAI/ARIA/apg/patterns/carousel/):
|
|
37
48
|
* labeled `carousel` region, slide groups or tab panels, optional tabbed pickers,
|
|
38
49
|
* rotation control when autoplay is enabled, and `aria-live` on the slide container.
|
|
39
50
|
*
|
|
40
|
-
*
|
|
51
|
+
* ## Light-DOM contract
|
|
52
|
+
*
|
|
53
|
+
* Required:
|
|
54
|
+
* - `[data-ref="root"]` — carousel region. View seeds `aria-roledescription="carousel"` and `aria-label`.
|
|
55
|
+
* Host sets `data-carousel-track` (`swap` | `stack` | `window`) and `data-carousel-surface`
|
|
56
|
+
* (`shell` | `cards`).
|
|
57
|
+
* - `[data-ref="viewport"]` — slide window. Host sets `aria-live` and `aria-atomic`; swipe target.
|
|
58
|
+
* - `[data-ref="track"]` — slide track. Host sets `--rui-carousel-index`,
|
|
59
|
+
* `--rui-carousel-slides-per-view`, `--rui-carousel-gap-count`, and `--rui-carousel-slide-count`.
|
|
60
|
+
* - `[data-slide]` — one slide per panel. Host sets `role`, `aria-*`, `aria-hidden`, `data-active`,
|
|
61
|
+
* `hidden` (when track mode is `swap`), and `id`.
|
|
62
|
+
*
|
|
63
|
+
* Optional:
|
|
64
|
+
* - `[data-carousel-action="prev"]` / `[data-carousel-action="next"]` — navigation buttons.
|
|
65
|
+
* Host toggles `disabled` at the ends when `wrap` is false.
|
|
66
|
+
* - `[data-carousel-action="rotation"]` — play/pause when `autoplay` or `show-rotation-control`.
|
|
67
|
+
* Host sets `aria-pressed` and `aria-label`.
|
|
68
|
+
* - `[data-ref="indicators"]` — indicator container when `show-indicators`. Host sets `role="tablist"`
|
|
69
|
+
* for one slide per view, or `role="group"` for multiple slides, and its `aria-label`.
|
|
70
|
+
* Creates one `[data-carousel-indicator]` per valid window start. Single-slide indicators
|
|
71
|
+
* use `role="tab"` and `aria-selected`; window buttons use `aria-current`. Both set
|
|
72
|
+
* `aria-controls`, `aria-label`, `id`, and roving `tabIndex`.
|
|
73
|
+
*
|
|
74
|
+
* Do not set `role`, `aria-hidden`, `aria-selected`, or `tabIndex` on slides or indicators — the host owns those.
|
|
75
|
+
*
|
|
76
|
+
* Nested hosts: none.
|
|
77
|
+
*
|
|
78
|
+
* @summary Region that cycles a window of slides; optional autoplay, transitions, and chrome.
|
|
41
79
|
*
|
|
42
80
|
* @element rui-carousel
|
|
43
81
|
*
|
|
44
82
|
* @attr {string} label - Accessible name for the carousel. Default: `Carousel`.
|
|
45
|
-
* @attr {number} index -
|
|
83
|
+
* @attr {number} index - First visible slide index. Default: `0`.
|
|
46
84
|
* @attr {boolean} autoplay - Advance automatically. Default: `false`.
|
|
47
85
|
* @attr {number} interval - Autoplay interval in ms. Default: `4000`.
|
|
48
86
|
* @attr {('none'|'slide'|'fade')} transition - Slide swap animation. Default: `none`.
|
|
49
87
|
* @attr {('toolbar'|'overlay')} controls-variant - Chrome layout. Default: `toolbar`.
|
|
50
|
-
* @attr {boolean} show-indicators - Render
|
|
88
|
+
* @attr {boolean} show-indicators - Render slide tabs or multi-slide window buttons. Default: `false`.
|
|
51
89
|
* @attr {boolean} show-rotation-control - Render play/pause control. Default: `false`.
|
|
52
90
|
* @attr {boolean} loop - Allow looping past the last slide. Default: `true`.
|
|
53
91
|
* @attr {boolean} wrap - Keep controls enabled at the ends. Default: `true`.
|
|
92
|
+
* @attr {number} slides-per-view - Slides that fill the viewport. Default: `1`.
|
|
93
|
+
* @attr {number} slides-per-group - Slides moved per prev/next/autoplay/swipe. Default: `1`.
|
|
54
94
|
* @attr {number} slide-count - Authored slide count for render-time control state. Default: `0`.
|
|
55
95
|
*
|
|
56
|
-
* @
|
|
57
|
-
* @
|
|
58
|
-
* @
|
|
59
|
-
* @
|
|
60
|
-
* @
|
|
61
|
-
*
|
|
62
|
-
* @
|
|
63
|
-
* @cssclass rui-carousel__viewport - Overflow-hidden slide window (`aria-live`).
|
|
64
|
-
* @cssclass rui-carousel__track - Slide track.
|
|
65
|
-
* @cssclass rui-carousel__footer - Controls row below the viewport (`toolbar`).
|
|
66
|
-
* @cssclass rui-carousel__toolbar - Toolbar grid.
|
|
67
|
-
* @cssclass rui-carousel__toolbar-rotation - Rotation control cell.
|
|
68
|
-
* @cssclass rui-carousel__toolbar-center - Indicators cell.
|
|
69
|
-
* @cssclass rui-carousel__toolbar-side--start - Prev control cell.
|
|
70
|
-
* @cssclass rui-carousel__toolbar-side--end - Next control cell.
|
|
71
|
-
* @cssclass rui-carousel__overlay-chrome - Absolute overlay layer over the viewport.
|
|
72
|
-
* @cssclass rui-carousel__overlay-rotation - Rotation control overlay position.
|
|
73
|
-
* @cssclass rui-carousel__controls--overlay - Prev/next overlay row.
|
|
74
|
-
* @cssclass rui-carousel__indicators - Indicator tablist.
|
|
75
|
-
* @cssclass rui-carousel__indicators--overlay - Overlay pill indicator tablist.
|
|
76
|
-
* @cssclass rui-carousel__indicator - Indicator button (`role="tab"`).
|
|
96
|
+
* @cssprop --rui-carousel-gap - Space between cards when `slides-per-view` is greater than 1. Default: `--space-inline`.
|
|
97
|
+
* @cssprop --rui-carousel-radius - Corner radius on the shell viewport or each card. Default: `--radius-container`.
|
|
98
|
+
* @cssprop --rui-carousel-border-color - Border on the shell viewport or each card. Default: `--border`.
|
|
99
|
+
* @cssprop --rui-carousel-surface - Fill on the shell viewport or each card. Default: `--surface`.
|
|
100
|
+
* @cssprop --rui-carousel-padding - Inset on the shell viewport (toolbar) or each card. Default: `--space-inset`.
|
|
101
|
+
*
|
|
102
|
+
* @see https://www.w3.org/WAI/ARIA/apg/patterns/carousel/
|
|
77
103
|
*
|
|
78
104
|
* @remarks
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
105
|
+
* `index` is the first visible slide. `slides-per-view` greater than 1 paints a sliding
|
|
106
|
+
* track of separate cards even when `transition` is `none` or `fade`. A single pane keeps
|
|
107
|
+
* chrome on the viewport. Override `--rui-carousel-*` on `rui-carousel`. Autoplay pauses on
|
|
108
|
+
* hover, pointer interaction, focus, and hidden tabs, and respects `prefers-reduced-motion`.
|
|
109
|
+
* `aria-live` is `off` while the timer runs and `polite` when it stops. Indicators use the
|
|
110
|
+
* same valid window starts as navigation. BEM classes live on the view; the host queries
|
|
111
|
+
* `[data-ref="track"]` for slide transitions.
|
|
83
112
|
*/
|
|
84
113
|
export declare class RuiCarousel extends RadiantElement {
|
|
85
114
|
label: string;
|
|
@@ -92,36 +121,41 @@ export declare class RuiCarousel extends RadiantElement {
|
|
|
92
121
|
showRotationControl: boolean;
|
|
93
122
|
loop: boolean;
|
|
94
123
|
wrap: boolean;
|
|
124
|
+
slidesPerView: number;
|
|
125
|
+
slidesPerGroup: number;
|
|
95
126
|
slideCount: number;
|
|
96
|
-
|
|
127
|
+
rootTarget: HTMLElement;
|
|
128
|
+
trackTarget: HTMLElement;
|
|
129
|
+
indicatorsTarget: HTMLElement;
|
|
130
|
+
viewportTarget: HTMLElement;
|
|
97
131
|
private paused;
|
|
132
|
+
private readonly uid;
|
|
98
133
|
/** User explicitly resumed rotation (e.g. via rotation control) despite reduced motion. */
|
|
99
134
|
private userOverrideReducedMotion;
|
|
100
|
-
private
|
|
101
|
-
private
|
|
102
|
-
private swipeStartY;
|
|
135
|
+
private readonly swipe;
|
|
136
|
+
private readonly autoplayController;
|
|
103
137
|
protected onConnected(): void;
|
|
104
138
|
disconnectedCallback(): void;
|
|
105
139
|
onSlideStateUpdated(): void;
|
|
106
140
|
onAutoplayUpdated(): void;
|
|
107
141
|
onIndicatorsUpdated(): void;
|
|
108
142
|
private prefersReducedMotion;
|
|
109
|
-
private getCarouselId;
|
|
110
143
|
private slidePanelId;
|
|
111
144
|
private tabId;
|
|
112
|
-
private syncSlideAccessibility;
|
|
113
145
|
private getSlides;
|
|
114
146
|
private get shouldWrap();
|
|
115
|
-
private
|
|
147
|
+
private windowParams;
|
|
148
|
+
private windowFor;
|
|
149
|
+
private trackMode;
|
|
150
|
+
private syncSlideAccessibility;
|
|
116
151
|
private sync;
|
|
117
152
|
private syncPrevNextDisabled;
|
|
118
153
|
private syncIndicators;
|
|
119
154
|
private syncRotationControl;
|
|
120
155
|
private syncAriaLive;
|
|
121
156
|
private canAutoplayRotate;
|
|
157
|
+
private onAutoplayTick;
|
|
122
158
|
private syncAutoplay;
|
|
123
|
-
private start;
|
|
124
|
-
private stop;
|
|
125
159
|
private goTo;
|
|
126
160
|
private userNavigate;
|
|
127
161
|
private isSwipeExcludedTarget;
|
|
@@ -135,7 +169,6 @@ export declare class RuiCarousel extends RadiantElement {
|
|
|
135
169
|
onRootFocusIn(): void;
|
|
136
170
|
onRootFocusOut(event: FocusEvent): void;
|
|
137
171
|
onViewportPointerDown(event: PointerEvent): void;
|
|
138
|
-
onViewportPointerMove(event: PointerEvent): void;
|
|
139
172
|
onViewportPointerUp(event: PointerEvent): void;
|
|
140
173
|
onViewportPointerCancel(event: PointerEvent): void;
|
|
141
174
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{RadiantElement as Dt,customElement as Yt,onEvent as _,onUpdated as Z,prop as x}from"@ecopages/radiant";var ct,dt,ht,pt,ft,yt,bt,_t,vt,mt,gt,wt,xt,At,St,It,Ct,Rt,Pt,Et,Vt,Lt,Tt,kt;function Wt(i,t,e,o,r,s){var c,n,d,v,y,I,m,L=Symbol.metadata||Symbol.for("Symbol.metadata"),P=Object.defineProperty,j=Object.create,z=[j(null),j(null)],N=t.length;function W(a,A,g){return function(l,h){A&&(h=l,l=i);for(var S=0;S<a.length;S++)h=a[S].apply(l,g?[h]:[]);return g?h:l}}function E(a,A,g,l){if(typeof a!="function"&&(l||a!==void 0))throw new TypeError(A+" must "+(g||"be")+" a function"+(l?"":" or undefined"));return a}function tt(a,A,g,l,h,S,T,w,C,R,it){function F(f){if(!it(f))throw new TypeError("Attempted to access private element on non-instance")}var G=[].concat(A[0]),rt=A[3],H=!T,O=h===1,ot=h===3,nt=h===4,$=h===2;function B(f,U,lt){return function(Y,ut){return U&&(ut=Y,Y=a),lt&<(Y),p[f].call(Y,ut)}}if(!H){var p={},J=[],V=ot?"get":nt||O?"set":"value";if(C?(R||O?p={get:Mt(function(){return rt(this)},l,"get"),set:function(f){A[4](this,f)}}:p[V]=rt,R||Mt(p[V],l,$?"":V)):R||(p=Object.getOwnPropertyDescriptor(a,l)),!R&&!C){if((n=z[+w][l])&&(n^h)!==7)throw Error("Decorating two elements with the same name ("+p[V].name+") is not supported yet");z[+w][l]=h<3?1:h}}for(var b=a,X=G.length-1;X>=0;X-=g?2:1){var at=E(G[X],"A decorator","be",!0),st=g?G[X-1]:void 0,Q={},q={kind:["field","accessor","method","getter","setter","class"][h],name:l,metadata:c,addInitializer:function(f,U){if(f.v)throw new TypeError("attempted to call addInitializer after decoration was finished");E(U,"An initializer","be",!0),S.push(U)}.bind(null,Q)};if(H)n=at.call(st,b,q),Q.v=1,E(n,"class decorators","return")&&(b=n);else if(q.static=w,q.private=C,n=q.access={has:C?it.bind():function(f){return l in f}},nt||(n.get=C?$?function(f){return F(f),p.value}:B("get",0,F):function(f){return f[l]}),$||ot||(n.set=C?B("set",0,F):function(f,U){f[l]=U}),b=at.call(st,O?{get:p.get,set:p.set}:p[V],q),Q.v=1,O){if(typeof b=="object"&&b)(n=E(b.get,"accessor.get"))&&(p.get=n),(n=E(b.set,"accessor.set"))&&(p.set=n),(n=E(b.init,"accessor.init"))&&J.unshift(n);else if(b!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else E(b,(R?"field":"method")+" decorators","return")&&(R?J.unshift(b):p[V]=b)}return h<2&&T.push(W(J,w,1),W(S,w,0)),R||H||(C?O?T.splice(-1,0,B("get",w),B("set",w)):T.push($?p[V]:E.call.bind(p[V])):P(a,l,p)),b}function et(a){return P(a,L,{configurable:!0,enumerable:!0,value:c})}return s!==void 0&&(c=s[L]),c=j(c??null),y=[],I=function(a){a&&y.push(W(a))},m=function(a,A){for(var g=0;g<e.length;g++){var l=e[g],h=l[1],S=7&h;if((8&h)==a&&!S==A){var T=l[2],w=!!l[3],C=16&h;tt(a?i:i.prototype,l,C,w?"#"+T:$t(T),S,S<2?[]:a?v=v||[]:d=d||[],y,!!a,w,A,a&&w?function(R){return Xt(R)===i}:r)}}},m(8,0),m(0,0),m(8,1),m(0,1),I(d),I(v),n=y,N||et(i),{e:n,get c(){var a=[];return N&&[et(i=tt(i,[t],o,i.name,5,a)),W(a,1)]}}}function $t(i){var t=Bt(i,"string");return typeof t=="symbol"?t:t+""}function Bt(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var o=e.call(i,t||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function Mt(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function Xt(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var k={label:"Carousel",transition:"none",controlsVariant:"toolbar"},Kt=48,Ut,jt=class extends Dt{static{({e:[ht,pt,ft,yt,bt,_t,vt,mt,gt,wt,xt,At,St,It,Ct,Rt,Pt,Et,Vt,Lt,Tt,kt,ct],c:[Ut,dt]}=Wt(this,[Yt("rui-carousel")],[[x({type:String,defaultValue:k.label}),0,"label"],[x({type:Number,reflect:!0,defaultValue:0}),0,"index"],[x({type:Boolean,reflect:!0,defaultValue:!1}),0,"autoplay"],[x({type:Number,defaultValue:4e3}),0,"interval"],[x({type:String,defaultValue:k.transition}),0,"transition"],[x({type:String,defaultValue:k.controlsVariant,attribute:"controls-variant"}),0,"controlsVariant"],[x({type:Boolean,defaultValue:!1}),0,"showIndicators"],[x({type:Boolean,defaultValue:!1}),0,"showRotationControl"],[x({type:Boolean,defaultValue:!0}),0,"loop"],[x({type:Boolean,defaultValue:!0}),0,"wrap"],[x({type:Number,defaultValue:0}),0,"slideCount"],[Z(["index","transition","loop","wrap","controlsVariant"]),2,"onSlideStateUpdated"],[Z(["autoplay","showRotationControl","interval"]),2,"onAutoplayUpdated"],[Z(["showIndicators"]),2,"onIndicatorsUpdated"],[_({selector:'[data-carousel-action="prev"]',type:"click"}),2,"prev"],[_({selector:'[data-carousel-action="next"]',type:"click"}),2,"next"],[_({selector:'[data-carousel-action="rotation"]',type:"click"}),2,"toggleRotation"],[_({selector:"[data-carousel-indicator]",type:"click"}),2,"onIndicatorClick"],[_({selector:"[data-carousel-indicator]",type:"keydown"}),2,"onIndicatorKeydown"],[_({ref:"root",type:"pointerenter"}),2,"onRootPointerEnter"],[_({ref:"root",type:"pointerleave"}),2,"onRootPointerLeave"],[_({ref:"root",type:"focusin"}),2,"onRootFocusIn"],[_({ref:"root",type:"focusout"}),2,"onRootFocusOut"],[_({ref:"viewport",type:"pointerdown"}),2,"onViewportPointerDown"],[_({ref:"viewport",type:"pointermove"}),2,"onViewportPointerMove"],[_({ref:"viewport",type:"pointerup"}),2,"onViewportPointerUp"],[_({ref:"viewport",type:"pointercancel"}),2,"onViewportPointerCancel"]],0,void 0,Dt))}label=(ct(this),ht(this));index=(pt(this),ft(this));autoplay=(yt(this),bt(this));interval=(_t(this),vt(this));transition=(mt(this),gt(this));controlsVariant=(wt(this),xt(this));showIndicators=(At(this),St(this));showRotationControl=(It(this),Ct(this));loop=(Rt(this),Pt(this));wrap=(Et(this),Vt(this));slideCount=(Lt(this),Tt(this));timer=(kt(this),null);paused=!1;userOverrideReducedMotion=!1;swipePointerId=null;swipeStartX=0;swipeStartY=0;onConnected(){this.autoplay&&this.prefersReducedMotion()&&(this.paused=!0),this.sync(),this.syncAutoplay(),this.syncIndicators(),this.syncAriaLive()}disconnectedCallback(){this.stop(),super.disconnectedCallback()}onSlideStateUpdated(){this.sync(),this.syncIndicators(),this.syncAutoplay()}onAutoplayUpdated(){this.syncAutoplay(),this.syncRotationControl()}onIndicatorsUpdated(){this.syncIndicators()}prefersReducedMotion(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}getCarouselId(){return this.id||"rui-carousel"}slidePanelId(t,e){let o=t.getAttribute("data-slide")??String(e),r=`${this.getCarouselId()}-panel-${o}`;return t.id=r,r}tabId(t){return`${this.getCarouselId()}-tab-${t}`}syncSlideAccessibility(t,e){let o=t.length;t.forEach((r,s)=>{let c=s===e,n=`${s+1} of ${o}`;this.showIndicators?(this.slidePanelId(r,s),r.setAttribute("role","tabpanel"),r.setAttribute("aria-labelledby",this.tabId(s)),r.setAttribute("aria-label",n),r.removeAttribute("aria-roledescription")):(r.setAttribute("role","group"),r.setAttribute("aria-roledescription","slide"),r.setAttribute("aria-label",n),r.removeAttribute("aria-labelledby"),r.removeAttribute("tabindex")),this.transition==="none"?r.hidden=!c:r.hidden=!1,r.setAttribute("aria-hidden",String(!c)),r.setAttribute("data-active",c?"true":"false")})}getSlides(){return Array.from(this.querySelectorAll("[data-slide]"))}get shouldWrap(){return this.wrap&&this.loop}normalizeIndex(t,e){return e<=0?0:this.shouldWrap?(t%e+e)%e:Math.min(Math.max(t,0),e-1)}sync(){let t=this.getSlides();if(!t.length)return;let e=this.normalizeIndex(this.index,t.length);e!==this.index&&(this.index=e);let o=this.querySelector(".rui-carousel__track");o&&this.transition==="slide"&&o.style.setProperty("--rui-carousel-index",String(e)),this.syncSlideAccessibility(t,e),this.syncPrevNextDisabled(t.length,e)}syncPrevNextDisabled(t,e){let o=!this.shouldWrap&&t>0&&e<=0,r=!this.shouldWrap&&t>0&&e>=t-1;for(let s of this.querySelectorAll('[data-carousel-action="prev"]'))this.shouldWrap?s.removeAttribute("disabled"):s.disabled=o;for(let s of this.querySelectorAll('[data-carousel-action="next"]'))this.shouldWrap?s.removeAttribute("disabled"):s.disabled=r}syncIndicators(){let t=this.querySelector('[data-ref="indicators"]');if(!t)return;let e=this.getSlides(),o=this.normalizeIndex(this.index,e.length);Array.from(t.querySelectorAll("[data-carousel-indicator]")).length!==e.length&&t.replaceChildren(...e.map((c,n)=>{let d=document.createElement("button");return d.type="button",d.className="rui-carousel__indicator",d.id=this.tabId(n),d.setAttribute("role","tab"),d.setAttribute("data-carousel-indicator",String(n)),d.setAttribute("aria-controls",this.slidePanelId(c,n)),d.setAttribute("aria-label",`Slide ${n+1}`),d})),Array.from(t.querySelectorAll("[data-carousel-indicator]")).forEach((c,n)=>{let d=n===o,v=e[n];v&&(c.id=this.tabId(n),c.setAttribute("aria-controls",this.slidePanelId(v,n))),c.setAttribute("aria-selected",String(d)),c.tabIndex=d?0:-1})}syncRotationControl(){for(let t of this.querySelectorAll('[data-carousel-action="rotation"]')){let e=this.autoplay&&!this.paused;t.setAttribute("aria-pressed",String(e)),t.setAttribute("aria-label",e?"Pause rotation":"Start rotation")}}syncAriaLive(){let t=this.querySelector('[data-ref="viewport"]');if(!t)return;let e=this.autoplay&&!this.paused&&this.timer!==null;t.setAttribute("aria-live",e?"off":"polite"),t.setAttribute("aria-atomic","false")}canAutoplayRotate(){return!(!this.autoplay||this.paused||this.prefersReducedMotion()&&!this.userOverrideReducedMotion)}syncAutoplay(){this.canAutoplayRotate()?this.start():this.stop(),this.syncRotationControl(),this.syncAriaLive()}start(){let t=this.getSlides();if(!t.length)return;if(!this.shouldWrap&&this.index>=t.length-1){this.stop();return}this.stop();let e=Math.max(0,this.interval);this.timer=setInterval(()=>{let o=this.getSlides();if(o.length){if(!this.shouldWrap&&this.index>=o.length-1){this.stop(),this.syncAriaLive();return}this.goTo(this.index+1)}},e),this.syncAriaLive()}stop(){this.timer&&clearInterval(this.timer),this.timer=null,this.syncAriaLive()}goTo(t){let e=this.getSlides();e.length&&(this.index=this.normalizeIndex(t,e.length),this.sync(),this.syncIndicators())}userNavigate(t){this.paused=!0,this.stop(),this.goTo(this.index+t)}isSwipeExcludedTarget(t){return t instanceof Element?!!t.closest("button, a, input, textarea, select, [data-carousel-indicator], [data-carousel-action]"):!1}prev(){this.userNavigate(-1)}next(){this.userNavigate(1)}toggleRotation(){this.autoplay?(this.paused=!this.paused,this.paused||(this.userOverrideReducedMotion=!0)):(this.autoplay=!0,this.paused=!1,this.userOverrideReducedMotion=!0),this.syncAutoplay()}onIndicatorClick(t){let e=t.target.closest("[data-carousel-indicator]");if(!e)return;let o=Number(e.getAttribute("data-carousel-indicator"));Number.isFinite(o)&&(this.paused=!0,this.stop(),this.goTo(o),e.focus())}onIndicatorKeydown(t){let e=this.getSlides();if(!e.length)return;let o=t.target.closest("[data-carousel-indicator]");if(!o)return;let r=Number(o.getAttribute("data-carousel-indicator"));if(!Number.isFinite(r))return;if(t.key==="ArrowRight")r=this.normalizeIndex(r+1,e.length);else if(t.key==="ArrowLeft")r=this.normalizeIndex(r-1,e.length);else if(t.key==="Home")r=0;else if(t.key==="End")r=e.length-1;else if(t.key===" "||t.key==="Enter"){t.preventDefault(),this.paused=!0,this.stop(),this.goTo(r);return}else return;t.preventDefault(),this.paused=!0,this.stop(),this.goTo(r),Array.from(this.querySelectorAll('[data-ref="indicators"] [data-carousel-indicator]'))[r]?.focus()}onRootPointerEnter(t){this.autoplay&&t.pointerType==="mouse"&&this.stop()}onRootPointerLeave(t){this.autoplay&&!this.paused&&t.pointerType==="mouse"&&this.syncAutoplay()}onRootFocusIn(){this.autoplay&&this.stop()}onRootFocusOut(t){let e=t.relatedTarget;e&&this.contains(e)||this.autoplay&&!this.paused&&this.syncAutoplay()}onViewportPointerDown(t){t.button!==0||this.isSwipeExcludedTarget(t.target)||(this.swipePointerId=t.pointerId,this.swipeStartX=t.clientX,this.swipeStartY=t.clientY)}onViewportPointerMove(t){this.swipePointerId,t.pointerId}onViewportPointerUp(t){if(this.swipePointerId!==t.pointerId)return;let e=t.clientX-this.swipeStartX,o=t.clientY-this.swipeStartY;this.swipePointerId=null,!(Math.abs(e)<Kt||Math.abs(e)<=Math.abs(o))&&(e<0?this.next():this.prev())}onViewportPointerCancel(t){this.swipePointerId===t.pointerId&&(this.swipePointerId=null)}static{dt()}};import{jsx as u,jsxs as D}from"@ecopages/jsx/jsx-runtime";function K(i,t){return t===void 0||i?.label!==void 0?i:{...i,label:t}}function M(...i){return i.filter(Boolean).join(" ")}function Ot({id:i,children:t,class:e,...o}){return u("div",{...o,class:M("rui-carousel__slide",e),"data-slide":i,children:t})}function Ft(){return D("span",{class:"rui-carousel__nav-label",children:[u("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}),"Previous"]})}function Gt(){return D("span",{class:"rui-carousel__nav-label",children:["Next",u("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"})]})}function qt({children:i,class:t,disabled:e,overlay:o,aria:r,...s}){return u("button",{...s,aria:K(r,"Previous slide"),type:"button","data-carousel-action":"prev","data-ref":"prev",class:M("rui-carousel__nav rui-button rui-button--outline rui-button--sm",o?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",t),disabled:e,children:i??(o?u("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}):Ft())})}function zt({children:i,class:t,disabled:e,overlay:o,aria:r,...s}){return u("button",{...s,aria:K(r,"Next slide"),type:"button","data-carousel-action":"next","data-ref":"next",class:M("rui-carousel__nav rui-button rui-button--outline rui-button--sm",o?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",t),disabled:e,children:i??(o?u("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"}):Gt())})}function Nt({children:i,class:t,overlay:e,aria:o,...r}){return u("button",{...r,aria:K(o,"Start rotation"),type:"button","data-carousel-action":"rotation","data-ref":"rotation",class:M("rui-carousel__rotation rui-button rui-button--ghost rui-button--sm",e&&"rui-carousel__rotation--overlay",t),"aria-pressed":!1,children:i??"Play"})}function Ht({autoplay:i,children:t,controlsVariant:e,label:o,next:r,prev:s,rotation:c,showIndicators:n,showRotationControl:d,transition:v}){let y=e==="overlay",I=i||d,m=s??u(qt,{overlay:y}),L=r??u(zt,{overlay:y}),P=I?c??u(Nt,{overlay:y}):null,j=n?u("div",{class:M("rui-carousel__indicators",y&&"rui-carousel__indicators--overlay"),"data-ref":"indicators",role:"tablist","aria-label":"Choose slide to display"}):null,z=D("div",{class:"rui-carousel__toolbar",children:[I?u("div",{class:"rui-carousel__toolbar-rotation",children:P}):null,u("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--start",children:m}),u("div",{class:"rui-carousel__toolbar-center",children:j}),u("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--end",children:L})]}),N=y?D("div",{class:"rui-carousel__overlay-chrome",children:[I?u("div",{class:"rui-carousel__overlay-rotation",children:P}):null,D("div",{class:"rui-carousel__controls rui-carousel__controls--overlay",children:[m,L]}),j]}):null;return D("section",{class:M("rui-carousel",`rui-carousel--${v}`,`rui-carousel--controls-${e}`),"data-ref":"root","aria-roledescription":"carousel","aria-label":o,children:[u("div",{class:"rui-carousel__stage",children:D("div",{class:"rui-carousel__viewport","data-ref":"viewport",children:[u("div",{class:"rui-carousel__track",children:t}),N]})}),y?null:u("div",{class:"rui-carousel__footer",children:z})]})}function Jt({slides:i,children:t,prev:e,next:o,rotation:r,label:s=k.label,transition:c=k.transition,controlsVariant:n=k.controlsVariant,showIndicators:d,showRotationControl:v,autoplay:y,...I}){let m=i??[],L=i!=null?m.map(P=>u(Ot,{id:P.id,children:P.children})):t;return u("rui-carousel",{...I,label:s,transition:c,controlsVariant:n,showIndicators:d,showRotationControl:v,autoplay:y,slideCount:m.length,children:u(Ht,{autoplay:y,controlsVariant:n,label:s,next:o,prev:e,rotation:r,showIndicators:d,showRotationControl:v,transition:c,children:L})})}export{Jt as RuiCarousel,Ut as RuiCarouselElement,zt as RuiCarouselNext,qt as RuiCarouselPrev,Nt as RuiCarouselRotation,Ot as RuiCarouselSlide};
|
|
1
|
+
import{RadiantElement as le,bindTo as Se,customElement as Ae,onEvent as m,onUpdated as dt,prop as w,query as tt}from"@ecopages/radiant";var ye=/^[A-Za-z][A-Za-z0-9_-]*$/;function mt(e){return ye.test(e)}function _e(e){let t=e.trim();if(mt(t))return t;let r=`rui-${t}`;return t&&mt(r)?r:"rui"}function xt(e){let t=typeof crypto.randomUUID=="function"?crypto.randomUUID().replace(/-/g,""):Array.from(crypto.getRandomValues(new Uint8Array(16)),r=>r.toString(16).padStart(2,"0")).join("");return`${_e(e)}-${t}`}var J=class{constructor(t){this.config=t}config;timer=null;get isRunning(){return this.timer!==null}start(){if(!this.config.canRotate()){this.stop();return}this.stop();let t=Math.max(0,this.config.getInterval());this.timer=setInterval(()=>{if(!this.config.canRotate()){this.stop();return}this.config.onTick()},t),this.config.onRunningChange()}stop(){this.timer!==null&&(clearInterval(this.timer),this.timer=null,this.config.onRunningChange())}sync(){this.config.canRotate()?this.start():this.stop()}};function be(e,t,r=48){return Math.abs(e)<r||Math.abs(e)<=Math.abs(t)?null:e<0?"next":"prev"}var Q=class{pointerId=null;startX=0;startY=0;onPointerDown(t,r){t.button!==0||r||(this.pointerId=t.pointerId,this.startX=t.clientX,this.startY=t.clientY)}onPointerUp(t){if(this.pointerId!==t.pointerId)return null;let r=t.clientX-this.startX,i=t.clientY-this.startY;return this.pointerId=null,be(r,i)}onPointerCancel(t){this.pointerId===t.pointerId&&(this.pointerId=null)}};function U(e){return!Number.isFinite(e)||e<1?1:e}function St(e){return!Number.isFinite(e)||e<1?1:Math.floor(e)}function at(e,t){return e<=0?0:Math.max(0,e-Math.floor(U(t)))}function lt(e,t,r){if(t<=0||!Number.isFinite(e))return 0;let i=at(t,r);return Math.min(Math.max(Math.trunc(e),0),i)}function ge(e,t,r){let i=U(r),o=lt(e,t,i);return Math.min(o,Math.max(0,t-i))}function ut(e,t,r,i){let o=U(i),h=ge(t,r,o);return e+1>h&&e<h+o}function W(e,t){return U(t)>1?"window":e==="fade"?"stack":e==="slide"?"window":"swap"}function B(e){return U(e)>1?"cards":"shell"}function At(e){let t=U(e);return t<=1?0:Math.ceil(t)-1}function ct(e){let t=U(e.slidesPerView),r=St(e.slidesPerGroup),i=lt(e.index,e.count,t),o=at(e.count,t);return{index:i,slidesPerView:t,slidesPerGroup:r,maxStartIndex:o,canGoPrev:e.wrap||i>0,canGoNext:e.wrap||i<o}}function X(e,t){let r=St(e.slidesPerGroup),i=Math.trunc(e.index)+t*r,o=at(e.count,e.slidesPerView);return e.wrap?o<=0||i>o?0:i<0?o:i:lt(i,e.count,e.slidesPerView)}var Ct,Pt,It,Rt,Tt,Vt,kt,Mt,Et,Gt,Dt,Lt,Ut,Nt,jt,$t,Ot,Ft,qt,Wt,Bt,Xt,Yt,zt,Kt,Ht,Zt,Jt,Qt,te,ee,re,ie,oe,ne,se;function we(e,t,r,i,o,h){var s,n,b,a,u,c,v,R=Symbol.metadata||Symbol.for("Symbol.metadata"),k=Object.defineProperty,M=Object.create,G=[M(null),M(null)],$=t.length;function D(l,P,x){return function(d,f){P&&(f=d,d=e);for(var I=0;I<l.length;I++)f=l[I].apply(d,x?[f]:[]);return x?f:d}}function C(l,P,x,d){if(typeof l!="function"&&(d||l!==void 0))throw new TypeError(P+" must "+(x||"be")+" a function"+(d?"":" or undefined"));return l}function Y(l,P,x,d,f,I,L,S,T,V,ht){function rt(_){if(!ht(_))throw new TypeError("Attempted to access private element on non-instance")}var it=[].concat(P[0]),ft=P[3],ot=!L,F=f===1,yt=f===3,_t=f===4,z=f===2;function K(_,O,wt){return function(Z,vt){return O&&(vt=Z,Z=l),wt&&wt(Z),y[_].call(Z,vt)}}if(!ot){var y={},nt=[],E=yt?"get":_t||F?"set":"value";if(T?(V||F?y={get:ae(function(){return ft(this)},d,"get"),set:function(_){P[4](this,_)}}:y[E]=ft,V||ae(y[E],d,z?"":E)):V||(y=Object.getOwnPropertyDescriptor(l,d)),!V&&!T){if((n=G[+S][d])&&(n^f)!==7)throw Error("Decorating two elements with the same name ("+y[E].name+") is not supported yet");G[+S][d]=f<3?1:f}}for(var g=l,H=it.length-1;H>=0;H-=x?2:1){var bt=C(it[H],"A decorator","be",!0),gt=x?it[H-1]:void 0,st={},q={kind:["field","accessor","method","getter","setter","class"][f],name:d,metadata:s,addInitializer:function(_,O){if(_.v)throw new TypeError("attempted to call addInitializer after decoration was finished");C(O,"An initializer","be",!0),I.push(O)}.bind(null,st)};if(ot)n=bt.call(gt,g,q),st.v=1,C(n,"class decorators","return")&&(g=n);else if(q.static=S,q.private=T,n=q.access={has:T?ht.bind():function(_){return d in _}},_t||(n.get=T?z?function(_){return rt(_),y.value}:K("get",0,rt):function(_){return _[d]}),z||yt||(n.set=T?K("set",0,rt):function(_,O){_[d]=O}),g=bt.call(gt,F?{get:y.get,set:y.set}:y[E],q),st.v=1,F){if(typeof g=="object"&&g)(n=C(g.get,"accessor.get"))&&(y.get=n),(n=C(g.set,"accessor.set"))&&(y.set=n),(n=C(g.init,"accessor.init"))&&nt.unshift(n);else if(g!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else C(g,(V?"field":"method")+" decorators","return")&&(V?nt.unshift(g):y[E]=g)}return f<2&&L.push(D(nt,S,1),D(I,S,0)),V||ot||(T?F?L.splice(-1,0,K("get",S),K("set",S)):L.push(z?y[E]:C.call.bind(y[E])):k(l,d,y)),g}function pt(l){return k(l,R,{configurable:!0,enumerable:!0,value:s})}return h!==void 0&&(s=h[R]),s=M(s??null),u=[],c=function(l){l&&u.push(D(l))},v=function(l,P){for(var x=0;x<r.length;x++){var d=r[x],f=d[1],I=7&f;if((8&f)==l&&!I==P){var L=d[2],S=!!d[3],T=16&f;Y(l?e:e.prototype,d,T,S?"#"+L:ve(L),I,I<2?[]:l?a=a||[]:b=b||[],u,!!l,S,P,l&&S?function(V){return xe(V)===e}:o)}}},v(8,0),v(0,0),v(8,1),v(0,1),c(b),c(a),n=u,$||pt(e),{e:n,get c(){var l=[];return $&&[pt(e=Y(e,[t],i,e.name,5,l)),D(l,1)]}}}function ve(e){var t=me(e,"string");return typeof t=="symbol"?t:t+""}function me(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ae(e,t,r){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:r?r+" "+t:t})}catch{}return e}function xe(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(e!==null?typeof e:"null"));return e}var A={label:"Carousel",transition:"none",controlsVariant:"toolbar",slidesPerView:1,slidesPerGroup:1},ce,ue=class extends le{static{({e:[It,Rt,Tt,Vt,kt,Mt,Et,Gt,Dt,Lt,Ut,Nt,jt,$t,Ot,Ft,qt,Wt,Bt,Xt,Yt,zt,Kt,Ht,Zt,Jt,Qt,te,ee,re,ie,oe,ne,se,Ct],c:[ce,Pt]}=we(this,[Ae("rui-carousel")],[[w({type:String,defaultValue:A.label}),0,"label"],[w({type:Number,reflect:!0,defaultValue:0}),0,"index"],[w({type:Boolean,reflect:!0,defaultValue:!1}),0,"autoplay"],[w({type:Number,defaultValue:4e3}),0,"interval"],[w({type:String,defaultValue:A.transition}),0,"transition"],[w({type:String,defaultValue:A.controlsVariant,attribute:"controls-variant"}),0,"controlsVariant"],[w({type:Boolean,defaultValue:!1}),0,"showIndicators"],[w({type:Boolean,defaultValue:!1}),0,"showRotationControl"],[w({type:Boolean,defaultValue:!0}),0,"loop"],[w({type:Boolean,defaultValue:!0}),0,"wrap"],[[w({type:Number,defaultValue:A.slidesPerView,attribute:"slides-per-view"}),Se({ref:"root",attr:"data-carousel-surface",map:t=>B(t)})],0,"slidesPerView"],[w({type:Number,defaultValue:A.slidesPerGroup,attribute:"slides-per-group"}),0,"slidesPerGroup"],[w({type:Number,defaultValue:0}),0,"slideCount"],[tt({ref:"root"}),0,"rootTarget"],[tt({ref:"track"}),0,"trackTarget"],[tt({ref:"indicators"}),0,"indicatorsTarget"],[tt({ref:"viewport"}),0,"viewportTarget"],[dt(["index","transition","loop","wrap","controlsVariant","slidesPerView","slidesPerGroup"]),2,"onSlideStateUpdated"],[dt(["autoplay","showRotationControl","interval"]),2,"onAutoplayUpdated"],[dt(["showIndicators"]),2,"onIndicatorsUpdated"],[m({selector:'[data-carousel-action="prev"]',type:"click"}),2,"prev"],[m({selector:'[data-carousel-action="next"]',type:"click"}),2,"next"],[m({selector:'[data-carousel-action="rotation"]',type:"click"}),2,"toggleRotation"],[m({selector:"[data-carousel-indicator]",type:"click"}),2,"onIndicatorClick"],[m({selector:"[data-carousel-indicator]",type:"keydown"}),2,"onIndicatorKeydown"],[m({ref:"root",type:"pointerenter"}),2,"onRootPointerEnter"],[m({ref:"root",type:"pointerleave"}),2,"onRootPointerLeave"],[m({ref:"root",type:"focusin"}),2,"onRootFocusIn"],[m({ref:"root",type:"focusout"}),2,"onRootFocusOut"],[m({ref:"viewport",type:"pointerdown"}),2,"onViewportPointerDown"],[m({ref:"viewport",type:"pointerup"}),2,"onViewportPointerUp"],[m({ref:"viewport",type:"pointercancel"}),2,"onViewportPointerCancel"]],0,void 0,le))}label=(Ct(this),It(this));index=(Rt(this),Tt(this));autoplay=(Vt(this),kt(this));interval=(Mt(this),Et(this));transition=(Gt(this),Dt(this));controlsVariant=(Lt(this),Ut(this));showIndicators=(Nt(this),jt(this));showRotationControl=($t(this),Ot(this));loop=(Ft(this),qt(this));wrap=(Wt(this),Bt(this));slidesPerView=(Xt(this),Yt(this));slidesPerGroup=(zt(this),Kt(this));slideCount=(Ht(this),Zt(this));rootTarget=(Jt(this),Qt(this));trackTarget=(te(this),ee(this));indicatorsTarget=(re(this),ie(this));viewportTarget=(oe(this),ne(this));paused=(se(this),!1);uid=xt("rui-carousel");userOverrideReducedMotion=!1;swipe=new Q;autoplayController=new J({getInterval:()=>this.interval,canRotate:()=>this.canAutoplayRotate(),onTick:()=>this.onAutoplayTick(),onRunningChange:()=>this.syncAriaLive()});onConnected(){this.autoplay&&this.prefersReducedMotion()&&(this.paused=!0),this.sync(),this.syncAutoplay(),this.syncIndicators(),this.syncAriaLive()}disconnectedCallback(){this.autoplayController.stop(),super.disconnectedCallback()}onSlideStateUpdated(){this.sync(),this.syncIndicators(),this.syncAutoplay()}onAutoplayUpdated(){this.syncAutoplay(),this.syncRotationControl()}onIndicatorsUpdated(){this.sync(),this.syncIndicators()}prefersReducedMotion(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}slidePanelId(t,r){let i=t.getAttribute("data-slide")??String(r),o=`${this.uid}-panel-${i}`;return t.id=o,o}tabId(t){return`${this.uid}-tab-${t}`}getSlides(){return Array.from(this.querySelectorAll("[data-slide]"))}get shouldWrap(){return this.wrap&&this.loop}windowParams(t,r=this.index){return{index:r,count:t,slidesPerView:this.slidesPerView,slidesPerGroup:this.slidesPerGroup,wrap:this.shouldWrap}}windowFor(t){return ct(this.windowParams(t))}trackMode(){return W(this.transition,this.slidesPerView)}syncSlideAccessibility(t,r,i){let o=t.length,h=this.trackMode();t.forEach((s,n)=>{let b=n===r,a=ut(n,r,o,i),u=`${n+1} of ${o}`;this.showIndicators&&i===1?(this.slidePanelId(s,n),s.setAttribute("role","tabpanel"),s.setAttribute("aria-labelledby",this.tabId(n)),s.setAttribute("aria-label",u),s.removeAttribute("aria-roledescription")):(s.setAttribute("role","group"),s.setAttribute("aria-roledescription","slide"),s.setAttribute("aria-label",u),s.removeAttribute("aria-labelledby"),s.removeAttribute("tabindex")),s.hidden=h==="swap"&&!b,s.setAttribute("aria-hidden",String(!a)),s.setAttribute("data-active",b?"true":"false")})}sync(){let t=this.getSlides();if(!t.length)return;let r=this.windowFor(t.length);r.index!==this.index&&(this.index=r.index);let i=this.rootTarget;i&&i.setAttribute("data-carousel-track",this.trackMode());let o=this.trackTarget;o&&(o.style.setProperty("--rui-carousel-index",String(r.index)),o.style.setProperty("--rui-carousel-slides-per-view",String(r.slidesPerView)),o.style.setProperty("--rui-carousel-gap-count",String(At(r.slidesPerView))),o.style.setProperty("--rui-carousel-slide-count",String(t.length))),this.syncSlideAccessibility(t,r.index,r.slidesPerView),this.syncPrevNextDisabled(r)}syncPrevNextDisabled(t){let r=!this.shouldWrap&&!t.canGoPrev,i=!this.shouldWrap&&!t.canGoNext;for(let o of this.querySelectorAll('[data-carousel-action="prev"]'))this.shouldWrap?o.removeAttribute("disabled"):o.disabled=r;for(let o of this.querySelectorAll('[data-carousel-action="next"]'))this.shouldWrap?o.removeAttribute("disabled"):o.disabled=i}syncIndicators(){let t=this.indicatorsTarget;if(!t)return;let r=this.getSlides(),i=this.windowFor(r.length),o=i.slidesPerView===1,h=r.slice(0,i.maxStartIndex+1);t.setAttribute("role",o?"tablist":"group"),t.setAttribute("aria-label",o?"Choose slide to display":"Choose slide window"),Array.from(t.querySelectorAll("[data-carousel-indicator]")).length!==h.length&&t.replaceChildren(...h.map((a,u)=>{let c=document.createElement("button");return c.type="button",c.className="rui-carousel__indicator",c.id=this.tabId(u),c.setAttribute("data-carousel-indicator",String(u)),c}));let n=Array.from(t.querySelectorAll("[data-carousel-indicator]")),b=r.map((a,u)=>this.slidePanelId(a,u));n.forEach((a,u)=>{let c=u===i.index;a.id=this.tabId(u),a.setAttribute("aria-label",o?`Slide ${u+1}`:`Slide window ${u+1}`),a.setAttribute("aria-controls",b.filter((v,R)=>ut(R,u,r.length,i.slidesPerView)).join(" ")),o?(a.setAttribute("role","tab"),a.setAttribute("aria-selected",String(c)),a.removeAttribute("aria-current")):(a.removeAttribute("role"),a.removeAttribute("aria-selected"),c?a.setAttribute("aria-current","true"):a.removeAttribute("aria-current")),a.tabIndex=c?0:-1})}syncRotationControl(){for(let t of this.querySelectorAll('[data-carousel-action="rotation"]')){let r=this.autoplay&&!this.paused;t.setAttribute("aria-pressed",String(r)),t.setAttribute("aria-label",r?"Pause rotation":"Start rotation")}}syncAriaLive(){let t=this.viewportTarget;if(!t)return;let r=this.autoplay&&!this.paused&&this.autoplayController.isRunning;t.setAttribute("aria-live",r?"off":"polite"),t.setAttribute("aria-atomic","false")}canAutoplayRotate(){if(!this.autoplay||this.paused||this.prefersReducedMotion()&&!this.userOverrideReducedMotion)return!1;let t=this.getSlides();return t.length?this.windowFor(t.length).canGoNext:!1}onAutoplayTick(){let t=this.getSlides();if(!t.length)return;if(!this.windowFor(t.length).canGoNext){this.autoplayController.stop(),this.syncAriaLive();return}this.goTo(X(this.windowParams(t.length),1))}syncAutoplay(){this.autoplayController.sync(),this.syncRotationControl(),this.syncAriaLive()}goTo(t){let r=this.getSlides();r.length&&(this.index=ct(this.windowParams(r.length,t)).index,this.sync(),this.syncIndicators())}userNavigate(t){this.paused=!0,this.autoplayController.stop();let r=this.getSlides();r.length&&this.goTo(X(this.windowParams(r.length),t))}isSwipeExcludedTarget(t){return t instanceof Element?!!t.closest("button, a, input, textarea, select, [data-carousel-indicator], [data-carousel-action]"):!1}prev(){this.userNavigate(-1)}next(){this.userNavigate(1)}toggleRotation(){this.autoplay?(this.paused=!this.paused,this.paused||(this.userOverrideReducedMotion=!0)):(this.autoplay=!0,this.paused=!1,this.userOverrideReducedMotion=!0),this.syncAutoplay()}onIndicatorClick(t){let r=t.target.closest("[data-carousel-indicator]");if(!r)return;let i=Number(r.getAttribute("data-carousel-indicator"));Number.isFinite(i)&&(this.paused=!0,this.autoplayController.stop(),this.goTo(i),r.focus())}onIndicatorKeydown(t){let r=this.getSlides();if(!r.length)return;let i=t.target.closest("[data-carousel-indicator]");if(!i)return;let o=Number(i.getAttribute("data-carousel-indicator"));if(!Number.isFinite(o))return;if(t.key==="ArrowRight")o=X({...this.windowParams(r.length,o),slidesPerGroup:1},1);else if(t.key==="ArrowLeft")o=X({...this.windowParams(r.length,o),slidesPerGroup:1},-1);else if(t.key==="Home")o=0;else if(t.key==="End")o=this.windowFor(r.length).maxStartIndex;else if(t.key===" "||t.key==="Enter"){t.preventDefault(),this.paused=!0,this.autoplayController.stop(),this.goTo(o);return}else return;t.preventDefault(),this.paused=!0,this.autoplayController.stop(),this.goTo(o),Array.from(this.indicatorsTarget?.querySelectorAll("[data-carousel-indicator]")??[])[this.index]?.focus()}onRootPointerEnter(t){this.autoplay&&t.pointerType==="mouse"&&this.autoplayController.stop()}onRootPointerLeave(t){this.autoplay&&!this.paused&&t.pointerType==="mouse"&&this.syncAutoplay()}onRootFocusIn(){this.autoplay&&this.autoplayController.stop()}onRootFocusOut(t){let r=t.relatedTarget;r&&this.contains(r)||this.autoplay&&!this.paused&&this.syncAutoplay()}onViewportPointerDown(t){this.swipe.onPointerDown(t,this.isSwipeExcludedTarget(t.target))}onViewportPointerUp(t){let r=this.swipe.onPointerUp(t);r==="next"?this.next():r==="prev"&&this.prev()}onViewportPointerCancel(t){this.swipe.onPointerCancel(t)}static{Pt()}};import{jsx as p,jsxs as j}from"@ecopages/jsx/jsx-runtime";function et(e,t){return t===void 0||e?.label!==void 0?e:{...e,label:t}}function N(...e){return e.filter(Boolean).join(" ")}function de({id:e,children:t,class:r,...i}){return p("div",{...i,class:N("rui-carousel__slide",r),"data-slide":e,children:t})}function Ce(){return j("span",{class:"rui-carousel__nav-label",children:[p("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}),"Previous"]})}function Pe(){return j("span",{class:"rui-carousel__nav-label",children:["Next",p("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"})]})}function pe({children:e,class:t,disabled:r,overlay:i,aria:o,...h}){return p("button",{...h,aria:et(o,"Previous slide"),type:"button","data-carousel-action":"prev","data-ref":"prev",class:N("rui-carousel__nav rui-button rui-button--outline rui-button--sm",i?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",t),disabled:r,children:e??(i?p("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u2039"}):Ce())})}function he({children:e,class:t,disabled:r,overlay:i,aria:o,...h}){return p("button",{...h,aria:et(o,"Next slide"),type:"button","data-carousel-action":"next","data-ref":"next",class:N("rui-carousel__nav rui-button rui-button--outline rui-button--sm",i?"rui-carousel__nav--overlay":"rui-carousel__nav--toolbar",t),disabled:r,children:e??(i?p("span",{class:"rui-carousel__nav-icon","aria-hidden":"true",children:"\u203A"}):Pe())})}function fe({children:e,class:t,overlay:r,aria:i,...o}){return p("button",{...o,aria:et(i,"Start rotation"),type:"button","data-carousel-action":"rotation","data-ref":"rotation",class:N("rui-carousel__rotation rui-button rui-button--ghost rui-button--sm",r&&"rui-carousel__rotation--overlay",t),"aria-pressed":!1,children:e??"Play"})}function Ie({autoplay:e,children:t,controlsVariant:r,label:i,next:o,prev:h,rotation:s,showIndicators:n,showRotationControl:b,slidesPerView:a,transition:u}){let c=r==="overlay",v=e||b,R=h??p(pe,{overlay:c}),k=o??p(he,{overlay:c}),M=v?s??p(fe,{overlay:c}):null,G=W(u,a),$=B(a),D=n?p("div",{class:N("rui-carousel__indicators",c&&"rui-carousel__indicators--overlay"),"data-ref":"indicators",role:$==="shell"?"tablist":"group","aria-label":$==="shell"?"Choose slide to display":"Choose slide window"}):null,C=j("div",{class:"rui-carousel__toolbar",children:[v?p("div",{class:"rui-carousel__toolbar-rotation",children:M}):null,p("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--start",children:R}),p("div",{class:"rui-carousel__toolbar-center",children:D}),p("div",{class:"rui-carousel__toolbar-side rui-carousel__toolbar-side--end",children:k})]}),Y=c?j("div",{class:"rui-carousel__overlay-chrome",children:[v?p("div",{class:"rui-carousel__overlay-rotation",children:M}):null,j("div",{class:"rui-carousel__controls rui-carousel__controls--overlay",children:[R,k]}),D]}):null;return j("section",{class:N("rui-carousel",`rui-carousel--${u}`,`rui-carousel--controls-${r}`),"data-ref":"root","data-carousel-track":G,"data-carousel-surface":$,"aria-roledescription":"carousel","aria-label":i,children:[p("div",{class:"rui-carousel__stage",children:j("div",{class:"rui-carousel__viewport","data-ref":"viewport",children:[p("div",{class:"rui-carousel__track","data-ref":"track",children:t}),Y]})}),c?null:p("div",{class:"rui-carousel__footer",children:C})]})}function Re({slides:e,children:t,prev:r,next:i,rotation:o,label:h=A.label,transition:s=A.transition,controlsVariant:n=A.controlsVariant,showIndicators:b,showRotationControl:a,autoplay:u,slidesPerView:c=A.slidesPerView,slidesPerGroup:v=A.slidesPerGroup,...R}){let k=e??[],M=e!=null?k.map(G=>p(de,{id:G.id,children:G.children})):t;return p("rui-carousel",{...R,label:h,transition:s,controlsVariant:n,showIndicators:b,showRotationControl:a,autoplay:u,slidesPerView:c,slidesPerGroup:v,slideCount:k.length,children:p(Ie,{autoplay:u,controlsVariant:n,label:h,next:i,prev:r,rotation:o,showIndicators:b,showRotationControl:a,slidesPerView:c,transition:s,children:M})})}export{Re as RuiCarousel,ce as RuiCarouselElement,he as RuiCarouselNext,pe as RuiCarouselPrev,fe as RuiCarouselRotation,de as RuiCarouselSlide};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ui/carousel/carousel.script.tsx", "../../../../src/components/ui/carousel/carousel.tsx", "../../../../src/aria.ts", "../../../../src/lib/cx.ts"],
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_label, _init_extra_label, _init_index, _init_extra_index, _init_autoplay, _init_extra_autoplay, _init_interval, _init_extra_interval, _init_transition, _init_extra_transition, _init_controlsVariant, _init_extra_controlsVariant, _init_showIndicators, _init_extra_showIndicators, _init_showRotationControl, _init_extra_showRotationControl, _init_loop, _init_extra_loop, _init_wrap, _init_extra_wrap, _init_slideCount, _init_extra_slideCount;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nexport const CAROUSEL_DEFAULTS = {\n label: \"Carousel\",\n transition: \"none\",\n controlsVariant: \"toolbar\"\n};\nconst SWIPE_THRESHOLD_PX = 48;\nlet _RuiCarousel;\nclass RuiCarousel extends RadiantElement {\n static {\n ({\n e: [_init_label, _init_extra_label, _init_index, _init_extra_index, _init_autoplay, _init_extra_autoplay, _init_interval, _init_extra_interval, _init_transition, _init_extra_transition, _init_controlsVariant, _init_extra_controlsVariant, _init_showIndicators, _init_extra_showIndicators, _init_showRotationControl, _init_extra_showRotationControl, _init_loop, _init_extra_loop, _init_wrap, _init_extra_wrap, _init_slideCount, _init_extra_slideCount, _initProto],\n c: [_RuiCarousel, _initClass]\n } = _applyDecs(this, [customElement(\"rui-carousel\")], [[prop({\n type: String,\n defaultValue: CAROUSEL_DEFAULTS.label\n }), 0, \"label\"], [prop({\n type: Number,\n reflect: true,\n defaultValue: 0\n }), 0, \"index\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"autoplay\"], [prop({\n type: Number,\n defaultValue: 4e3\n }), 0, \"interval\"], [prop({\n type: String,\n defaultValue: CAROUSEL_DEFAULTS.transition\n }), 0, \"transition\"], [prop({\n type: String,\n defaultValue: CAROUSEL_DEFAULTS.controlsVariant,\n attribute: \"controls-variant\"\n }), 0, \"controlsVariant\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"showIndicators\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"showRotationControl\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"loop\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"wrap\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"slideCount\"], [onUpdated([\"index\", \"transition\", \"loop\", \"wrap\", \"controlsVariant\"]), 2, \"onSlideStateUpdated\"], [onUpdated([\"autoplay\", \"showRotationControl\", \"interval\"]), 2, \"onAutoplayUpdated\"], [onUpdated([\"showIndicators\"]), 2, \"onIndicatorsUpdated\"], [onEvent({\n selector: '[data-carousel-action=\"prev\"]',\n type: \"click\"\n }), 2, \"prev\"], [onEvent({\n selector: '[data-carousel-action=\"next\"]',\n type: \"click\"\n }), 2, \"next\"], [onEvent({\n selector: '[data-carousel-action=\"rotation\"]',\n type: \"click\"\n }), 2, \"toggleRotation\"], [onEvent({\n selector: \"[data-carousel-indicator]\",\n type: \"click\"\n }), 2, \"onIndicatorClick\"], [onEvent({\n selector: \"[data-carousel-indicator]\",\n type: \"keydown\"\n }), 2, \"onIndicatorKeydown\"], [onEvent({\n ref: \"root\",\n type: \"pointerenter\"\n }), 2, \"onRootPointerEnter\"], [onEvent({\n ref: \"root\",\n type: \"pointerleave\"\n }), 2, \"onRootPointerLeave\"], [onEvent({\n ref: \"root\",\n type: \"focusin\"\n }), 2, \"onRootFocusIn\"], [onEvent({\n ref: \"root\",\n type: \"focusout\"\n }), 2, \"onRootFocusOut\"], [onEvent({\n ref: \"viewport\",\n type: \"pointerdown\"\n }), 2, \"onViewportPointerDown\"], [onEvent({\n ref: \"viewport\",\n type: \"pointermove\"\n }), 2, \"onViewportPointerMove\"], [onEvent({\n ref: \"viewport\",\n type: \"pointerup\"\n }), 2, \"onViewportPointerUp\"], [onEvent({\n ref: \"viewport\",\n type: \"pointercancel\"\n }), 2, \"onViewportPointerCancel\"]], 0, void 0, RadiantElement));\n }\n label = (_initProto(this), _init_label(this));\n index = (_init_extra_label(this), _init_index(this));\n autoplay = (_init_extra_index(this), _init_autoplay(this));\n interval = (_init_extra_autoplay(this), _init_interval(this));\n transition = (_init_extra_interval(this), _init_transition(this));\n controlsVariant = (_init_extra_transition(this), _init_controlsVariant(this));\n showIndicators = (_init_extra_controlsVariant(this), _init_showIndicators(this));\n showRotationControl = (_init_extra_showIndicators(this), _init_showRotationControl(this));\n loop = (_init_extra_showRotationControl(this), _init_loop(this));\n wrap = (_init_extra_loop(this), _init_wrap(this));\n slideCount = (_init_extra_wrap(this), _init_slideCount(this));\n timer = (_init_extra_slideCount(this), null);\n paused = false;\n /** User explicitly resumed rotation (e.g. via rotation control) despite reduced motion. */\n userOverrideReducedMotion = false;\n swipePointerId = null;\n swipeStartX = 0;\n swipeStartY = 0;\n onConnected() {\n if (this.autoplay && this.prefersReducedMotion()) {\n this.paused = true;\n }\n this.sync();\n this.syncAutoplay();\n this.syncIndicators();\n this.syncAriaLive();\n }\n disconnectedCallback() {\n this.stop();\n super.disconnectedCallback();\n }\n onSlideStateUpdated() {\n this.sync();\n this.syncIndicators();\n this.syncAutoplay();\n }\n onAutoplayUpdated() {\n this.syncAutoplay();\n this.syncRotationControl();\n }\n onIndicatorsUpdated() {\n this.syncIndicators();\n }\n prefersReducedMotion() {\n return typeof window !== \"undefined\" && typeof window.matchMedia === \"function\" && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n }\n getCarouselId() {\n return this.id || \"rui-carousel\";\n }\n slidePanelId(slide, index) {\n const key = slide.getAttribute(\"data-slide\") ?? String(index);\n const panelId = `${this.getCarouselId()}-panel-${key}`;\n slide.id = panelId;\n return panelId;\n }\n tabId(index) {\n return `${this.getCarouselId()}-tab-${index}`;\n }\n syncSlideAccessibility(slides, activeIndex) {\n const count = slides.length;\n slides.forEach((slide, i) => {\n const active = i === activeIndex;\n const positionLabel = `${i + 1} of ${count}`;\n if (this.showIndicators) {\n this.slidePanelId(slide, i);\n slide.setAttribute(\"role\", \"tabpanel\");\n slide.setAttribute(\"aria-labelledby\", this.tabId(i));\n slide.setAttribute(\"aria-label\", positionLabel);\n slide.removeAttribute(\"aria-roledescription\");\n } else {\n slide.setAttribute(\"role\", \"group\");\n slide.setAttribute(\"aria-roledescription\", \"slide\");\n slide.setAttribute(\"aria-label\", positionLabel);\n slide.removeAttribute(\"aria-labelledby\");\n slide.removeAttribute(\"tabindex\");\n }\n if (this.transition === \"none\") {\n slide.hidden = !active;\n } else {\n slide.hidden = false;\n }\n slide.setAttribute(\"aria-hidden\", String(!active));\n slide.setAttribute(\"data-active\", active ? \"true\" : \"false\");\n });\n }\n getSlides() {\n return Array.from(this.querySelectorAll(\"[data-slide]\"));\n }\n get shouldWrap() {\n return this.wrap && this.loop;\n }\n normalizeIndex(raw, count) {\n if (count <= 0) {\n return 0;\n }\n if (!this.shouldWrap) {\n return Math.min(Math.max(raw, 0), count - 1);\n }\n return (raw % count + count) % count;\n }\n sync() {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n const normalized = this.normalizeIndex(this.index, slides.length);\n if (normalized !== this.index) {\n this.index = normalized;\n }\n const track = this.querySelector(\".rui-carousel__track\");\n if (track && this.transition === \"slide\") {\n track.style.setProperty(\"--rui-carousel-index\", String(normalized));\n }\n this.syncSlideAccessibility(slides, normalized);\n this.syncPrevNextDisabled(slides.length, normalized);\n }\n syncPrevNextDisabled(count, normalized) {\n const disablePrev = !this.shouldWrap && count > 0 && normalized <= 0;\n const disableNext = !this.shouldWrap && count > 0 && normalized >= count - 1;\n for (const button of this.querySelectorAll('[data-carousel-action=\"prev\"]')) {\n if (this.shouldWrap) {\n button.removeAttribute(\"disabled\");\n } else {\n button.disabled = disablePrev;\n }\n }\n for (const button of this.querySelectorAll('[data-carousel-action=\"next\"]')) {\n if (this.shouldWrap) {\n button.removeAttribute(\"disabled\");\n } else {\n button.disabled = disableNext;\n }\n }\n }\n syncIndicators() {\n const container = this.querySelector('[data-ref=\"indicators\"]');\n if (!container) {\n return;\n }\n const slides = this.getSlides();\n const normalized = this.normalizeIndex(this.index, slides.length);\n const existing = Array.from(container.querySelectorAll(\"[data-carousel-indicator]\"));\n if (existing.length !== slides.length) {\n container.replaceChildren(...slides.map((slide, i) => {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = \"rui-carousel__indicator\";\n button.id = this.tabId(i);\n button.setAttribute(\"role\", \"tab\");\n button.setAttribute(\"data-carousel-indicator\", String(i));\n button.setAttribute(\"aria-controls\", this.slidePanelId(slide, i));\n button.setAttribute(\"aria-label\", `Slide ${i + 1}`);\n return button;\n }));\n }\n const indicators = Array.from(container.querySelectorAll(\"[data-carousel-indicator]\"));\n indicators.forEach((indicator, i) => {\n const selected = i === normalized;\n const slide = slides[i];\n if (slide) {\n indicator.id = this.tabId(i);\n indicator.setAttribute(\"aria-controls\", this.slidePanelId(slide, i));\n }\n indicator.setAttribute(\"aria-selected\", String(selected));\n indicator.tabIndex = selected ? 0 : -1;\n });\n }\n syncRotationControl() {\n for (const toggle of this.querySelectorAll('[data-carousel-action=\"rotation\"]')) {\n const playing = this.autoplay && !this.paused;\n toggle.setAttribute(\"aria-pressed\", String(playing));\n toggle.setAttribute(\"aria-label\", playing ? \"Pause rotation\" : \"Start rotation\");\n }\n }\n syncAriaLive() {\n const viewport = this.querySelector('[data-ref=\"viewport\"]');\n if (!viewport) {\n return;\n }\n const rotating = this.autoplay && !this.paused && this.timer !== null;\n viewport.setAttribute(\"aria-live\", rotating ? \"off\" : \"polite\");\n viewport.setAttribute(\"aria-atomic\", \"false\");\n }\n canAutoplayRotate() {\n if (!this.autoplay || this.paused) {\n return false;\n }\n if (this.prefersReducedMotion() && !this.userOverrideReducedMotion) {\n return false;\n }\n return true;\n }\n syncAutoplay() {\n if (this.canAutoplayRotate()) {\n this.start();\n } else {\n this.stop();\n }\n this.syncRotationControl();\n this.syncAriaLive();\n }\n start() {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n if (!this.shouldWrap && this.index >= slides.length - 1) {\n this.stop();\n return;\n }\n this.stop();\n const ms = Math.max(0, this.interval);\n this.timer = setInterval(() => {\n const currentSlides = this.getSlides();\n if (!currentSlides.length) {\n return;\n }\n if (!this.shouldWrap && this.index >= currentSlides.length - 1) {\n this.stop();\n this.syncAriaLive();\n return;\n }\n this.goTo(this.index + 1);\n }, ms);\n this.syncAriaLive();\n }\n stop() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = null;\n this.syncAriaLive();\n }\n goTo(next) {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n this.index = this.normalizeIndex(next, slides.length);\n this.sync();\n this.syncIndicators();\n }\n userNavigate(delta) {\n this.paused = true;\n this.stop();\n this.goTo(this.index + delta);\n }\n isSwipeExcludedTarget(target) {\n if (!(target instanceof Element)) {\n return false;\n }\n return Boolean(target.closest(\"button, a, input, textarea, select, [data-carousel-indicator], [data-carousel-action]\"));\n }\n prev() {\n this.userNavigate(-1);\n }\n next() {\n this.userNavigate(1);\n }\n toggleRotation() {\n if (!this.autoplay) {\n this.autoplay = true;\n this.paused = false;\n this.userOverrideReducedMotion = true;\n } else {\n this.paused = !this.paused;\n if (!this.paused) {\n this.userOverrideReducedMotion = true;\n }\n }\n this.syncAutoplay();\n }\n onIndicatorClick(event) {\n const button = event.target.closest(\"[data-carousel-indicator]\");\n if (!button) {\n return;\n }\n const indicatorIndex = Number(button.getAttribute(\"data-carousel-indicator\"));\n if (!Number.isFinite(indicatorIndex)) {\n return;\n }\n this.paused = true;\n this.stop();\n this.goTo(indicatorIndex);\n button.focus();\n }\n onIndicatorKeydown(event) {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n const current = event.target.closest(\"[data-carousel-indicator]\");\n if (!current) {\n return;\n }\n let nextIndex = Number(current.getAttribute(\"data-carousel-indicator\"));\n if (!Number.isFinite(nextIndex)) {\n return;\n }\n if (event.key === \"ArrowRight\") {\n nextIndex = this.normalizeIndex(nextIndex + 1, slides.length);\n } else if (event.key === \"ArrowLeft\") {\n nextIndex = this.normalizeIndex(nextIndex - 1, slides.length);\n } else if (event.key === \"Home\") {\n nextIndex = 0;\n } else if (event.key === \"End\") {\n nextIndex = slides.length - 1;\n } else if (event.key === \" \" || event.key === \"Enter\") {\n event.preventDefault();\n this.paused = true;\n this.stop();\n this.goTo(nextIndex);\n return;\n } else {\n return;\n }\n event.preventDefault();\n this.paused = true;\n this.stop();\n this.goTo(nextIndex);\n const indicators = Array.from(this.querySelectorAll('[data-ref=\"indicators\"] [data-carousel-indicator]'));\n indicators[nextIndex]?.focus();\n }\n onRootPointerEnter(event) {\n if (this.autoplay && event.pointerType === \"mouse\") {\n this.stop();\n }\n }\n onRootPointerLeave(event) {\n if (this.autoplay && !this.paused && event.pointerType === \"mouse\") {\n this.syncAutoplay();\n }\n }\n onRootFocusIn() {\n if (this.autoplay) {\n this.stop();\n }\n }\n onRootFocusOut(event) {\n const next = event.relatedTarget;\n if (next && this.contains(next)) {\n return;\n }\n if (this.autoplay && !this.paused) {\n this.syncAutoplay();\n }\n }\n onViewportPointerDown(event) {\n if (event.button !== 0 || this.isSwipeExcludedTarget(event.target)) {\n return;\n }\n this.swipePointerId = event.pointerId;\n this.swipeStartX = event.clientX;\n this.swipeStartY = event.clientY;\n }\n onViewportPointerMove(event) {\n if (this.swipePointerId !== event.pointerId) {\n return;\n }\n }\n onViewportPointerUp(event) {\n if (this.swipePointerId !== event.pointerId) {\n return;\n }\n const dx = event.clientX - this.swipeStartX;\n const dy = event.clientY - this.swipeStartY;\n this.swipePointerId = null;\n if (Math.abs(dx) < SWIPE_THRESHOLD_PX || Math.abs(dx) <= Math.abs(dy)) {\n return;\n }\n if (dx < 0) {\n this.next();\n } else {\n this.prev();\n }\n }\n onViewportPointerCancel(event) {\n if (this.swipePointerId === event.pointerId) {\n this.swipePointerId = null;\n }\n }\n static {\n _initClass();\n }\n}\nexport { _RuiCarousel as RuiCarousel };", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { CAROUSEL_DEFAULTS } from \"./carousel.script\";\nimport \"./carousel.script\";\nexport function RuiCarouselSlide({\n id,\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-carousel__slide\", className),\n \"data-slide\": id,\n children\n });\n}\nfunction toolbarPrevLabel() {\n return /* @__PURE__ */jsxs(\"span\", {\n class: \"rui-carousel__nav-label\",\n children: [/* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u2039\"\n }), \"Previous\"]\n });\n}\nfunction toolbarNextLabel() {\n return /* @__PURE__ */jsxs(\"span\", {\n class: \"rui-carousel__nav-label\",\n children: [\"Next\", /* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u203A\"\n })]\n });\n}\nexport function RuiCarouselPrev({\n children,\n class: className,\n disabled,\n overlay,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Previous slide\"),\n type: \"button\",\n \"data-carousel-action\": \"prev\",\n \"data-ref\": \"prev\",\n class: cx(\"rui-carousel__nav rui-button rui-button--outline rui-button--sm\", overlay ? \"rui-carousel__nav--overlay\" : \"rui-carousel__nav--toolbar\", className),\n disabled,\n children: children ?? (overlay ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u2039\"\n }) : toolbarPrevLabel())\n });\n}\nexport function RuiCarouselNext({\n children,\n class: className,\n disabled,\n overlay,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Next slide\"),\n type: \"button\",\n \"data-carousel-action\": \"next\",\n \"data-ref\": \"next\",\n class: cx(\"rui-carousel__nav rui-button rui-button--outline rui-button--sm\", overlay ? \"rui-carousel__nav--overlay\" : \"rui-carousel__nav--toolbar\", className),\n disabled,\n children: children ?? (overlay ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u203A\"\n }) : toolbarNextLabel())\n });\n}\nexport function RuiCarouselRotation({\n children,\n class: className,\n overlay,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Start rotation\"),\n type: \"button\",\n \"data-carousel-action\": \"rotation\",\n \"data-ref\": \"rotation\",\n class: cx(\"rui-carousel__rotation rui-button rui-button--ghost rui-button--sm\", overlay && \"rui-carousel__rotation--overlay\", className),\n \"aria-pressed\": false,\n children: children ?? \"Play\"\n });\n}\nfunction CarouselShell({\n autoplay,\n children,\n controlsVariant,\n label,\n next,\n prev,\n rotation,\n showIndicators,\n showRotationControl,\n transition\n}) {\n const overlay = controlsVariant === \"overlay\";\n const showRotation = autoplay || showRotationControl;\n const prevControl = prev ?? /* @__PURE__ */jsx(RuiCarouselPrev, {\n overlay\n });\n const nextControl = next ?? /* @__PURE__ */jsx(RuiCarouselNext, {\n overlay\n });\n const rotationControl = showRotation ? rotation ?? /* @__PURE__ */jsx(RuiCarouselRotation, {\n overlay\n }) : null;\n const indicators = showIndicators ? /* @__PURE__ */jsx(\"div\", {\n class: cx(\"rui-carousel__indicators\", overlay && \"rui-carousel__indicators--overlay\"),\n \"data-ref\": \"indicators\",\n role: \"tablist\",\n \"aria-label\": \"Choose slide to display\"\n }) : null;\n const toolbarControls = /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__toolbar\",\n children: [showRotation ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-rotation\",\n children: rotationControl\n }) : null, /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-side rui-carousel__toolbar-side--start\",\n children: prevControl\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-center\",\n children: indicators\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-side rui-carousel__toolbar-side--end\",\n children: nextControl\n })]\n });\n const overlayChrome = overlay ? /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__overlay-chrome\",\n children: [showRotation ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__overlay-rotation\",\n children: rotationControl\n }) : null, /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__controls rui-carousel__controls--overlay\",\n children: [prevControl, nextControl]\n }), indicators]\n }) : null;\n return /* @__PURE__ */jsxs(\"section\", {\n class: cx(\"rui-carousel\", `rui-carousel--${transition}`, `rui-carousel--controls-${controlsVariant}`),\n \"data-ref\": \"root\",\n \"aria-roledescription\": \"carousel\",\n \"aria-label\": label,\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__stage\",\n children: /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__viewport\",\n \"data-ref\": \"viewport\",\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__track\",\n children\n }), overlayChrome]\n })\n }), !overlay ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__footer\",\n children: toolbarControls\n }) : null]\n });\n}\nexport function RuiCarousel({\n slides,\n children,\n prev,\n next,\n rotation,\n label = CAROUSEL_DEFAULTS.label,\n transition = CAROUSEL_DEFAULTS.transition,\n controlsVariant = CAROUSEL_DEFAULTS.controlsVariant,\n showIndicators,\n showRotationControl,\n autoplay,\n ...props\n}) {\n const slideList = slides ?? [];\n const slideContent = slides != null ? slideList.map(slide => /* @__PURE__ */jsx(RuiCarouselSlide, {\n id: slide.id,\n children: slide.children\n })) : children;\n return /* @__PURE__ */jsx(\"rui-carousel\", {\n ...props,\n label,\n transition,\n controlsVariant,\n showIndicators,\n showRotationControl,\n autoplay,\n slideCount: slideList.length,\n children: /* @__PURE__ */jsx(CarouselShell, {\n autoplay,\n controlsVariant,\n label,\n next,\n prev,\n rotation,\n showIndicators,\n showRotationControl,\n transition,\n children: slideContent\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["RadiantElement", "customElement", "onEvent", "onUpdated", "prop", "_initProto", "_initClass", "_init_label", "_init_extra_label", "_init_index", "_init_extra_index", "_init_autoplay", "_init_extra_autoplay", "_init_interval", "_init_extra_interval", "_init_transition", "_init_extra_transition", "_init_controlsVariant", "_init_extra_controlsVariant", "_init_showIndicators", "_init_extra_showIndicators", "_init_showRotationControl", "_init_extra_showRotationControl", "_init_loop", "_init_extra_loop", "_init_wrap", "_init_extra_wrap", "_init_slideCount", "_init_extra_slideCount", "
|
|
3
|
+
"sources": ["../../../../src/components/ui/carousel/carousel.script.tsx", "../../../../src/lib/unique-id.ts", "../../../../src/components/ui/carousel/carousel-autoplay.ts", "../../../../src/components/ui/carousel/carousel-swipe.ts", "../../../../src/components/ui/carousel/carousel-window.ts", "../../../../src/components/ui/carousel/carousel.tsx", "../../../../src/aria.ts", "../../../../src/lib/cx.ts"],
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_label, _init_extra_label, _init_index, _init_extra_index, _init_autoplay, _init_extra_autoplay, _init_interval, _init_extra_interval, _init_transition, _init_extra_transition, _init_controlsVariant, _init_extra_controlsVariant, _init_showIndicators, _init_extra_showIndicators, _init_showRotationControl, _init_extra_showRotationControl, _init_loop, _init_extra_loop, _init_wrap, _init_extra_wrap, _init_slidesPerView, _init_extra_slidesPerView, _init_slidesPerGroup, _init_extra_slidesPerGroup, _init_slideCount, _init_extra_slideCount, _init_rootTarget, _init_extra_rootTarget, _init_trackTarget, _init_extra_trackTarget, _init_indicatorsTarget, _init_extra_indicatorsTarget, _init_viewportTarget, _init_extra_viewportTarget;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, bindTo, customElement, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { uniqueId } from \"@/lib/unique-id\";\nimport { CarouselAutoplay } from \"./carousel-autoplay\";\nimport { CarouselSwipe } from \"./carousel-swipe\";\nimport { advanceIndex, carouselGapCount, isSlideInView, resolveCarouselSurface, resolveCarouselTrackMode, resolveCarouselWindow } from \"./carousel-window\";\nexport { resolveCarouselSurface, resolveCarouselTrackMode } from \"./carousel-window\";\nexport const CAROUSEL_DEFAULTS = {\n label: \"Carousel\",\n transition: \"none\",\n controlsVariant: \"toolbar\",\n slidesPerView: 1,\n slidesPerGroup: 1\n};\nlet _RuiCarousel;\nclass RuiCarousel extends RadiantElement {\n static {\n ({\n e: [_init_label, _init_extra_label, _init_index, _init_extra_index, _init_autoplay, _init_extra_autoplay, _init_interval, _init_extra_interval, _init_transition, _init_extra_transition, _init_controlsVariant, _init_extra_controlsVariant, _init_showIndicators, _init_extra_showIndicators, _init_showRotationControl, _init_extra_showRotationControl, _init_loop, _init_extra_loop, _init_wrap, _init_extra_wrap, _init_slidesPerView, _init_extra_slidesPerView, _init_slidesPerGroup, _init_extra_slidesPerGroup, _init_slideCount, _init_extra_slideCount, _init_rootTarget, _init_extra_rootTarget, _init_trackTarget, _init_extra_trackTarget, _init_indicatorsTarget, _init_extra_indicatorsTarget, _init_viewportTarget, _init_extra_viewportTarget, _initProto],\n c: [_RuiCarousel, _initClass]\n } = _applyDecs(this, [customElement(\"rui-carousel\")], [[prop({\n type: String,\n defaultValue: CAROUSEL_DEFAULTS.label\n }), 0, \"label\"], [prop({\n type: Number,\n reflect: true,\n defaultValue: 0\n }), 0, \"index\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"autoplay\"], [prop({\n type: Number,\n defaultValue: 4e3\n }), 0, \"interval\"], [prop({\n type: String,\n defaultValue: CAROUSEL_DEFAULTS.transition\n }), 0, \"transition\"], [prop({\n type: String,\n defaultValue: CAROUSEL_DEFAULTS.controlsVariant,\n attribute: \"controls-variant\"\n }), 0, \"controlsVariant\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"showIndicators\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"showRotationControl\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"loop\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"wrap\"], [[prop({\n type: Number,\n defaultValue: CAROUSEL_DEFAULTS.slidesPerView,\n attribute: \"slides-per-view\"\n }), bindTo({\n ref: \"root\",\n attr: \"data-carousel-surface\",\n map: slidesPerView => resolveCarouselSurface(slidesPerView)\n })], 0, \"slidesPerView\"], [prop({\n type: Number,\n defaultValue: CAROUSEL_DEFAULTS.slidesPerGroup,\n attribute: \"slides-per-group\"\n }), 0, \"slidesPerGroup\"], [prop({\n type: Number,\n defaultValue: 0\n }), 0, \"slideCount\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [query({\n ref: \"track\"\n }), 0, \"trackTarget\"], [query({\n ref: \"indicators\"\n }), 0, \"indicatorsTarget\"], [query({\n ref: \"viewport\"\n }), 0, \"viewportTarget\"], [onUpdated([\"index\", \"transition\", \"loop\", \"wrap\", \"controlsVariant\", \"slidesPerView\", \"slidesPerGroup\"]), 2, \"onSlideStateUpdated\"], [onUpdated([\"autoplay\", \"showRotationControl\", \"interval\"]), 2, \"onAutoplayUpdated\"], [onUpdated([\"showIndicators\"]), 2, \"onIndicatorsUpdated\"], [onEvent({\n selector: '[data-carousel-action=\"prev\"]',\n type: \"click\"\n }), 2, \"prev\"], [onEvent({\n selector: '[data-carousel-action=\"next\"]',\n type: \"click\"\n }), 2, \"next\"], [onEvent({\n selector: '[data-carousel-action=\"rotation\"]',\n type: \"click\"\n }), 2, \"toggleRotation\"], [onEvent({\n selector: \"[data-carousel-indicator]\",\n type: \"click\"\n }), 2, \"onIndicatorClick\"], [onEvent({\n selector: \"[data-carousel-indicator]\",\n type: \"keydown\"\n }), 2, \"onIndicatorKeydown\"], [onEvent({\n ref: \"root\",\n type: \"pointerenter\"\n }), 2, \"onRootPointerEnter\"], [onEvent({\n ref: \"root\",\n type: \"pointerleave\"\n }), 2, \"onRootPointerLeave\"], [onEvent({\n ref: \"root\",\n type: \"focusin\"\n }), 2, \"onRootFocusIn\"], [onEvent({\n ref: \"root\",\n type: \"focusout\"\n }), 2, \"onRootFocusOut\"], [onEvent({\n ref: \"viewport\",\n type: \"pointerdown\"\n }), 2, \"onViewportPointerDown\"], [onEvent({\n ref: \"viewport\",\n type: \"pointerup\"\n }), 2, \"onViewportPointerUp\"], [onEvent({\n ref: \"viewport\",\n type: \"pointercancel\"\n }), 2, \"onViewportPointerCancel\"]], 0, void 0, RadiantElement));\n }\n label = (_initProto(this), _init_label(this));\n index = (_init_extra_label(this), _init_index(this));\n autoplay = (_init_extra_index(this), _init_autoplay(this));\n interval = (_init_extra_autoplay(this), _init_interval(this));\n transition = (_init_extra_interval(this), _init_transition(this));\n controlsVariant = (_init_extra_transition(this), _init_controlsVariant(this));\n showIndicators = (_init_extra_controlsVariant(this), _init_showIndicators(this));\n showRotationControl = (_init_extra_showIndicators(this), _init_showRotationControl(this));\n loop = (_init_extra_showRotationControl(this), _init_loop(this));\n wrap = (_init_extra_loop(this), _init_wrap(this));\n slidesPerView = (_init_extra_wrap(this), _init_slidesPerView(this));\n slidesPerGroup = (_init_extra_slidesPerView(this), _init_slidesPerGroup(this));\n slideCount = (_init_extra_slidesPerGroup(this), _init_slideCount(this));\n rootTarget = (_init_extra_slideCount(this), _init_rootTarget(this));\n trackTarget = (_init_extra_rootTarget(this), _init_trackTarget(this));\n indicatorsTarget = (_init_extra_trackTarget(this), _init_indicatorsTarget(this));\n viewportTarget = (_init_extra_indicatorsTarget(this), _init_viewportTarget(this));\n paused = (_init_extra_viewportTarget(this), false);\n uid = uniqueId(\"rui-carousel\");\n /** User explicitly resumed rotation (e.g. via rotation control) despite reduced motion. */\n userOverrideReducedMotion = false;\n swipe = new CarouselSwipe();\n autoplayController = new CarouselAutoplay({\n getInterval: () => this.interval,\n canRotate: () => this.canAutoplayRotate(),\n onTick: () => this.onAutoplayTick(),\n onRunningChange: () => this.syncAriaLive()\n });\n onConnected() {\n if (this.autoplay && this.prefersReducedMotion()) {\n this.paused = true;\n }\n this.sync();\n this.syncAutoplay();\n this.syncIndicators();\n this.syncAriaLive();\n }\n disconnectedCallback() {\n this.autoplayController.stop();\n super.disconnectedCallback();\n }\n onSlideStateUpdated() {\n this.sync();\n this.syncIndicators();\n this.syncAutoplay();\n }\n onAutoplayUpdated() {\n this.syncAutoplay();\n this.syncRotationControl();\n }\n onIndicatorsUpdated() {\n this.sync();\n this.syncIndicators();\n }\n prefersReducedMotion() {\n return typeof window !== \"undefined\" && typeof window.matchMedia === \"function\" && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n }\n slidePanelId(slide, index) {\n const key = slide.getAttribute(\"data-slide\") ?? String(index);\n const panelId = `${this.uid}-panel-${key}`;\n slide.id = panelId;\n return panelId;\n }\n tabId(index) {\n return `${this.uid}-tab-${index}`;\n }\n getSlides() {\n return Array.from(this.querySelectorAll(\"[data-slide]\"));\n }\n get shouldWrap() {\n return this.wrap && this.loop;\n }\n windowParams(count, index = this.index) {\n return {\n index,\n count,\n slidesPerView: this.slidesPerView,\n slidesPerGroup: this.slidesPerGroup,\n wrap: this.shouldWrap\n };\n }\n windowFor(count) {\n return resolveCarouselWindow(this.windowParams(count));\n }\n trackMode() {\n return resolveCarouselTrackMode(this.transition, this.slidesPerView);\n }\n syncSlideAccessibility(slides, activeIndex, slidesPerView) {\n const count = slides.length;\n const trackMode = this.trackMode();\n slides.forEach((slide, i) => {\n const active = i === activeIndex;\n const inView = isSlideInView(i, activeIndex, count, slidesPerView);\n const positionLabel = `${i + 1} of ${count}`;\n if (this.showIndicators && slidesPerView === 1) {\n this.slidePanelId(slide, i);\n slide.setAttribute(\"role\", \"tabpanel\");\n slide.setAttribute(\"aria-labelledby\", this.tabId(i));\n slide.setAttribute(\"aria-label\", positionLabel);\n slide.removeAttribute(\"aria-roledescription\");\n } else {\n slide.setAttribute(\"role\", \"group\");\n slide.setAttribute(\"aria-roledescription\", \"slide\");\n slide.setAttribute(\"aria-label\", positionLabel);\n slide.removeAttribute(\"aria-labelledby\");\n slide.removeAttribute(\"tabindex\");\n }\n slide.hidden = trackMode === \"swap\" && !active;\n slide.setAttribute(\"aria-hidden\", String(!inView));\n slide.setAttribute(\"data-active\", active ? \"true\" : \"false\");\n });\n }\n sync() {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n const next = this.windowFor(slides.length);\n if (next.index !== this.index) {\n this.index = next.index;\n }\n const root = this.rootTarget;\n if (root) {\n root.setAttribute(\"data-carousel-track\", this.trackMode());\n }\n const track = this.trackTarget;\n if (track) {\n track.style.setProperty(\"--rui-carousel-index\", String(next.index));\n track.style.setProperty(\"--rui-carousel-slides-per-view\", String(next.slidesPerView));\n track.style.setProperty(\"--rui-carousel-gap-count\", String(carouselGapCount(next.slidesPerView)));\n track.style.setProperty(\"--rui-carousel-slide-count\", String(slides.length));\n }\n this.syncSlideAccessibility(slides, next.index, next.slidesPerView);\n this.syncPrevNextDisabled(next);\n }\n syncPrevNextDisabled(window2) {\n const disablePrev = !this.shouldWrap && !window2.canGoPrev;\n const disableNext = !this.shouldWrap && !window2.canGoNext;\n for (const button of this.querySelectorAll('[data-carousel-action=\"prev\"]')) {\n if (this.shouldWrap) {\n button.removeAttribute(\"disabled\");\n } else {\n button.disabled = disablePrev;\n }\n }\n for (const button of this.querySelectorAll('[data-carousel-action=\"next\"]')) {\n if (this.shouldWrap) {\n button.removeAttribute(\"disabled\");\n } else {\n button.disabled = disableNext;\n }\n }\n }\n syncIndicators() {\n const container = this.indicatorsTarget;\n if (!container) {\n return;\n }\n const slides = this.getSlides();\n const next = this.windowFor(slides.length);\n const tabbed = next.slidesPerView === 1;\n const windows = slides.slice(0, next.maxStartIndex + 1);\n container.setAttribute(\"role\", tabbed ? \"tablist\" : \"group\");\n container.setAttribute(\"aria-label\", tabbed ? \"Choose slide to display\" : \"Choose slide window\");\n const existing = Array.from(container.querySelectorAll(\"[data-carousel-indicator]\"));\n if (existing.length !== windows.length) {\n container.replaceChildren(...windows.map((_slide, i) => {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = \"rui-carousel__indicator\";\n button.id = this.tabId(i);\n button.setAttribute(\"data-carousel-indicator\", String(i));\n return button;\n }));\n }\n const indicators = Array.from(container.querySelectorAll(\"[data-carousel-indicator]\"));\n const panelIds = slides.map((slide, i) => this.slidePanelId(slide, i));\n indicators.forEach((indicator, i) => {\n const selected = i === next.index;\n indicator.id = this.tabId(i);\n indicator.setAttribute(\"aria-label\", tabbed ? `Slide ${i + 1}` : `Slide window ${i + 1}`);\n indicator.setAttribute(\"aria-controls\", panelIds.filter((_id, slideIndex) => isSlideInView(slideIndex, i, slides.length, next.slidesPerView)).join(\" \"));\n if (tabbed) {\n indicator.setAttribute(\"role\", \"tab\");\n indicator.setAttribute(\"aria-selected\", String(selected));\n indicator.removeAttribute(\"aria-current\");\n } else {\n indicator.removeAttribute(\"role\");\n indicator.removeAttribute(\"aria-selected\");\n if (selected) indicator.setAttribute(\"aria-current\", \"true\");else indicator.removeAttribute(\"aria-current\");\n }\n indicator.tabIndex = selected ? 0 : -1;\n });\n }\n syncRotationControl() {\n for (const toggle of this.querySelectorAll('[data-carousel-action=\"rotation\"]')) {\n const playing = this.autoplay && !this.paused;\n toggle.setAttribute(\"aria-pressed\", String(playing));\n toggle.setAttribute(\"aria-label\", playing ? \"Pause rotation\" : \"Start rotation\");\n }\n }\n syncAriaLive() {\n const viewport = this.viewportTarget;\n if (!viewport) {\n return;\n }\n const rotating = this.autoplay && !this.paused && this.autoplayController.isRunning;\n viewport.setAttribute(\"aria-live\", rotating ? \"off\" : \"polite\");\n viewport.setAttribute(\"aria-atomic\", \"false\");\n }\n canAutoplayRotate() {\n if (!this.autoplay || this.paused) {\n return false;\n }\n if (this.prefersReducedMotion() && !this.userOverrideReducedMotion) {\n return false;\n }\n const slides = this.getSlides();\n if (!slides.length) {\n return false;\n }\n return this.windowFor(slides.length).canGoNext;\n }\n onAutoplayTick() {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n const next = this.windowFor(slides.length);\n if (!next.canGoNext) {\n this.autoplayController.stop();\n this.syncAriaLive();\n return;\n }\n this.goTo(advanceIndex(this.windowParams(slides.length), 1));\n }\n syncAutoplay() {\n this.autoplayController.sync();\n this.syncRotationControl();\n this.syncAriaLive();\n }\n goTo(next) {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n this.index = resolveCarouselWindow(this.windowParams(slides.length, next)).index;\n this.sync();\n this.syncIndicators();\n }\n userNavigate(deltaGroups) {\n this.paused = true;\n this.autoplayController.stop();\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n this.goTo(advanceIndex(this.windowParams(slides.length), deltaGroups));\n }\n isSwipeExcludedTarget(target) {\n if (!(target instanceof Element)) {\n return false;\n }\n return Boolean(target.closest(\"button, a, input, textarea, select, [data-carousel-indicator], [data-carousel-action]\"));\n }\n prev() {\n this.userNavigate(-1);\n }\n next() {\n this.userNavigate(1);\n }\n toggleRotation() {\n if (!this.autoplay) {\n this.autoplay = true;\n this.paused = false;\n this.userOverrideReducedMotion = true;\n } else {\n this.paused = !this.paused;\n if (!this.paused) {\n this.userOverrideReducedMotion = true;\n }\n }\n this.syncAutoplay();\n }\n onIndicatorClick(event) {\n const button = event.target.closest(\"[data-carousel-indicator]\");\n if (!button) {\n return;\n }\n const indicatorIndex = Number(button.getAttribute(\"data-carousel-indicator\"));\n if (!Number.isFinite(indicatorIndex)) {\n return;\n }\n this.paused = true;\n this.autoplayController.stop();\n this.goTo(indicatorIndex);\n button.focus();\n }\n onIndicatorKeydown(event) {\n const slides = this.getSlides();\n if (!slides.length) {\n return;\n }\n const current = event.target.closest(\"[data-carousel-indicator]\");\n if (!current) {\n return;\n }\n let nextIndex = Number(current.getAttribute(\"data-carousel-indicator\"));\n if (!Number.isFinite(nextIndex)) {\n return;\n }\n if (event.key === \"ArrowRight\") {\n nextIndex = advanceIndex({\n ...this.windowParams(slides.length, nextIndex),\n slidesPerGroup: 1\n }, 1);\n } else if (event.key === \"ArrowLeft\") {\n nextIndex = advanceIndex({\n ...this.windowParams(slides.length, nextIndex),\n slidesPerGroup: 1\n }, -1);\n } else if (event.key === \"Home\") {\n nextIndex = 0;\n } else if (event.key === \"End\") {\n nextIndex = this.windowFor(slides.length).maxStartIndex;\n } else if (event.key === \" \" || event.key === \"Enter\") {\n event.preventDefault();\n this.paused = true;\n this.autoplayController.stop();\n this.goTo(nextIndex);\n return;\n } else {\n return;\n }\n event.preventDefault();\n this.paused = true;\n this.autoplayController.stop();\n this.goTo(nextIndex);\n const indicators = Array.from(this.indicatorsTarget?.querySelectorAll(\"[data-carousel-indicator]\") ?? []);\n indicators[this.index]?.focus();\n }\n onRootPointerEnter(event) {\n if (this.autoplay && event.pointerType === \"mouse\") {\n this.autoplayController.stop();\n }\n }\n onRootPointerLeave(event) {\n if (this.autoplay && !this.paused && event.pointerType === \"mouse\") {\n this.syncAutoplay();\n }\n }\n onRootFocusIn() {\n if (this.autoplay) {\n this.autoplayController.stop();\n }\n }\n onRootFocusOut(event) {\n const next = event.relatedTarget;\n if (next && this.contains(next)) {\n return;\n }\n if (this.autoplay && !this.paused) {\n this.syncAutoplay();\n }\n }\n onViewportPointerDown(event) {\n this.swipe.onPointerDown(event, this.isSwipeExcludedTarget(event.target));\n }\n onViewportPointerUp(event) {\n const direction = this.swipe.onPointerUp(event);\n if (direction === \"next\") {\n this.next();\n } else if (direction === \"prev\") {\n this.prev();\n }\n }\n onViewportPointerCancel(event) {\n this.swipe.onPointerCancel(event);\n }\n static {\n _initClass();\n }\n}\nexport { _RuiCarousel as RuiCarousel };", "const CSS_SAFE_ID = /^[A-Za-z][A-Za-z0-9_-]*$/;\nexport function isCssSafeId(value) {\n return CSS_SAFE_ID.test(value);\n}\nfunction cssSafePrefix(prefix) {\n const trimmed = prefix.trim();\n if (isCssSafeId(trimmed)) {\n return trimmed;\n }\n const prefixed = `rui-${trimmed}`;\n if (trimmed && isCssSafeId(prefixed)) {\n return prefixed;\n }\n return \"rui\";\n}\nexport function uniqueId(prefix) {\n const token = typeof crypto.randomUUID === \"function\" ? crypto.randomUUID().replace(/-/g, \"\") : Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, \"0\")).join(\"\");\n return `${cssSafePrefix(prefix)}-${token}`;\n}", "export class CarouselAutoplay {\n constructor(config) {\n this.config = config;\n }\n config;\n timer = null;\n get isRunning() {\n return this.timer !== null;\n }\n start() {\n if (!this.config.canRotate()) {\n this.stop();\n return;\n }\n this.stop();\n const ms = Math.max(0, this.config.getInterval());\n this.timer = setInterval(() => {\n if (!this.config.canRotate()) {\n this.stop();\n return;\n }\n this.config.onTick();\n }, ms);\n this.config.onRunningChange();\n }\n stop() {\n if (this.timer === null) return;\n clearInterval(this.timer);\n this.timer = null;\n this.config.onRunningChange();\n }\n sync() {\n if (this.config.canRotate()) {\n this.start();\n } else {\n this.stop();\n }\n }\n}", "export const SWIPE_THRESHOLD_PX = 48;\nexport function resolveSwipeDirection(dx, dy, threshold = SWIPE_THRESHOLD_PX) {\n if (Math.abs(dx) < threshold || Math.abs(dx) <= Math.abs(dy)) {\n return null;\n }\n return dx < 0 ? \"next\" : \"prev\";\n}\nexport class CarouselSwipe {\n pointerId = null;\n startX = 0;\n startY = 0;\n onPointerDown(event, excluded) {\n if (event.button !== 0 || excluded) {\n return;\n }\n this.pointerId = event.pointerId;\n this.startX = event.clientX;\n this.startY = event.clientY;\n }\n onPointerUp(event) {\n if (this.pointerId !== event.pointerId) {\n return null;\n }\n const dx = event.clientX - this.startX;\n const dy = event.clientY - this.startY;\n this.pointerId = null;\n return resolveSwipeDirection(dx, dy);\n }\n onPointerCancel(event) {\n if (this.pointerId === event.pointerId) {\n this.pointerId = null;\n }\n }\n}", "export function clampSlidesPerView(value) {\n if (!Number.isFinite(value) || value < 1) {\n return 1;\n }\n return value;\n}\nexport function clampSlidesPerGroup(value) {\n if (!Number.isFinite(value) || value < 1) {\n return 1;\n }\n return Math.floor(value);\n}\nexport function maxStartIndex(count, slidesPerView) {\n if (count <= 0) {\n return 0;\n }\n return Math.max(0, count - Math.floor(clampSlidesPerView(slidesPerView)));\n}\nexport function clampIndex(raw, count, slidesPerView) {\n if (count <= 0 || !Number.isFinite(raw)) {\n return 0;\n }\n const maxStart = maxStartIndex(count, slidesPerView);\n return Math.min(Math.max(Math.trunc(raw), 0), maxStart);\n}\nexport function visualStartIndex(index, count, slidesPerView) {\n const perView = clampSlidesPerView(slidesPerView);\n const start = clampIndex(index, count, perView);\n return Math.min(start, Math.max(0, count - perView));\n}\nexport function isSlideInView(slideIndex, index, count, slidesPerView) {\n const perView = clampSlidesPerView(slidesPerView);\n const start = visualStartIndex(index, count, perView);\n return slideIndex + 1 > start && slideIndex < start + perView;\n}\nexport function resolveCarouselTrackMode(transition, slidesPerView) {\n if (clampSlidesPerView(slidesPerView) > 1) {\n return \"window\";\n }\n if (transition === \"fade\") {\n return \"stack\";\n }\n if (transition === \"slide\") {\n return \"window\";\n }\n return \"swap\";\n}\nexport function resolveCarouselSurface(slidesPerView) {\n return clampSlidesPerView(slidesPerView) > 1 ? \"cards\" : \"shell\";\n}\nexport function carouselGapCount(slidesPerView) {\n const perView = clampSlidesPerView(slidesPerView);\n if (perView <= 1) {\n return 0;\n }\n return Math.ceil(perView) - 1;\n}\nexport function resolveCarouselWindow(params) {\n const slidesPerView = clampSlidesPerView(params.slidesPerView);\n const slidesPerGroup = clampSlidesPerGroup(params.slidesPerGroup);\n const index = clampIndex(params.index, params.count, slidesPerView);\n const maxStart = maxStartIndex(params.count, slidesPerView);\n return {\n index,\n slidesPerView,\n slidesPerGroup,\n maxStartIndex: maxStart,\n canGoPrev: params.wrap || index > 0,\n canGoNext: params.wrap || index < maxStart\n };\n}\nexport function advanceIndex(params, deltaGroups) {\n const group = clampSlidesPerGroup(params.slidesPerGroup);\n const proposed = Math.trunc(params.index) + deltaGroups * group;\n const maxStart = maxStartIndex(params.count, params.slidesPerView);\n if (!params.wrap) {\n return clampIndex(proposed, params.count, params.slidesPerView);\n }\n if (maxStart <= 0) {\n return 0;\n }\n if (proposed > maxStart) {\n return 0;\n }\n if (proposed < 0) {\n return maxStart;\n }\n return proposed;\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { CAROUSEL_DEFAULTS, resolveCarouselSurface, resolveCarouselTrackMode } from \"./carousel.script\";\nimport \"./carousel.script\";\nexport function RuiCarouselSlide({\n id,\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-carousel__slide\", className),\n \"data-slide\": id,\n children\n });\n}\nfunction toolbarPrevLabel() {\n return /* @__PURE__ */jsxs(\"span\", {\n class: \"rui-carousel__nav-label\",\n children: [/* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u2039\"\n }), \"Previous\"]\n });\n}\nfunction toolbarNextLabel() {\n return /* @__PURE__ */jsxs(\"span\", {\n class: \"rui-carousel__nav-label\",\n children: [\"Next\", /* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u203A\"\n })]\n });\n}\nexport function RuiCarouselPrev({\n children,\n class: className,\n disabled,\n overlay,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Previous slide\"),\n type: \"button\",\n \"data-carousel-action\": \"prev\",\n \"data-ref\": \"prev\",\n class: cx(\"rui-carousel__nav rui-button rui-button--outline rui-button--sm\", overlay ? \"rui-carousel__nav--overlay\" : \"rui-carousel__nav--toolbar\", className),\n disabled,\n children: children ?? (overlay ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u2039\"\n }) : toolbarPrevLabel())\n });\n}\nexport function RuiCarouselNext({\n children,\n class: className,\n disabled,\n overlay,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Next slide\"),\n type: \"button\",\n \"data-carousel-action\": \"next\",\n \"data-ref\": \"next\",\n class: cx(\"rui-carousel__nav rui-button rui-button--outline rui-button--sm\", overlay ? \"rui-carousel__nav--overlay\" : \"rui-carousel__nav--toolbar\", className),\n disabled,\n children: children ?? (overlay ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-carousel__nav-icon\",\n \"aria-hidden\": \"true\",\n children: \"\\u203A\"\n }) : toolbarNextLabel())\n });\n}\nexport function RuiCarouselRotation({\n children,\n class: className,\n overlay,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Start rotation\"),\n type: \"button\",\n \"data-carousel-action\": \"rotation\",\n \"data-ref\": \"rotation\",\n class: cx(\"rui-carousel__rotation rui-button rui-button--ghost rui-button--sm\", overlay && \"rui-carousel__rotation--overlay\", className),\n \"aria-pressed\": false,\n children: children ?? \"Play\"\n });\n}\nfunction CarouselShell({\n autoplay,\n children,\n controlsVariant,\n label,\n next,\n prev,\n rotation,\n showIndicators,\n showRotationControl,\n slidesPerView,\n transition\n}) {\n const overlay = controlsVariant === \"overlay\";\n const showRotation = autoplay || showRotationControl;\n const prevControl = prev ?? /* @__PURE__ */jsx(RuiCarouselPrev, {\n overlay\n });\n const nextControl = next ?? /* @__PURE__ */jsx(RuiCarouselNext, {\n overlay\n });\n const rotationControl = showRotation ? rotation ?? /* @__PURE__ */jsx(RuiCarouselRotation, {\n overlay\n }) : null;\n const trackMode = resolveCarouselTrackMode(transition, slidesPerView);\n const surface = resolveCarouselSurface(slidesPerView);\n const indicators = showIndicators ? /* @__PURE__ */jsx(\"div\", {\n class: cx(\"rui-carousel__indicators\", overlay && \"rui-carousel__indicators--overlay\"),\n \"data-ref\": \"indicators\",\n role: surface === \"shell\" ? \"tablist\" : \"group\",\n \"aria-label\": surface === \"shell\" ? \"Choose slide to display\" : \"Choose slide window\"\n }) : null;\n const toolbarControls = /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__toolbar\",\n children: [showRotation ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-rotation\",\n children: rotationControl\n }) : null, /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-side rui-carousel__toolbar-side--start\",\n children: prevControl\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-center\",\n children: indicators\n }), /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__toolbar-side rui-carousel__toolbar-side--end\",\n children: nextControl\n })]\n });\n const overlayChrome = overlay ? /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__overlay-chrome\",\n children: [showRotation ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__overlay-rotation\",\n children: rotationControl\n }) : null, /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__controls rui-carousel__controls--overlay\",\n children: [prevControl, nextControl]\n }), indicators]\n }) : null;\n return /* @__PURE__ */jsxs(\"section\", {\n class: cx(\"rui-carousel\", `rui-carousel--${transition}`, `rui-carousel--controls-${controlsVariant}`),\n \"data-ref\": \"root\",\n \"data-carousel-track\": trackMode,\n \"data-carousel-surface\": surface,\n \"aria-roledescription\": \"carousel\",\n \"aria-label\": label,\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__stage\",\n children: /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-carousel__viewport\",\n \"data-ref\": \"viewport\",\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__track\",\n \"data-ref\": \"track\",\n children\n }), overlayChrome]\n })\n }), !overlay ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-carousel__footer\",\n children: toolbarControls\n }) : null]\n });\n}\nexport function RuiCarousel({\n slides,\n children,\n prev,\n next,\n rotation,\n label = CAROUSEL_DEFAULTS.label,\n transition = CAROUSEL_DEFAULTS.transition,\n controlsVariant = CAROUSEL_DEFAULTS.controlsVariant,\n showIndicators,\n showRotationControl,\n autoplay,\n slidesPerView = CAROUSEL_DEFAULTS.slidesPerView,\n slidesPerGroup = CAROUSEL_DEFAULTS.slidesPerGroup,\n ...props\n}) {\n const slideList = slides ?? [];\n const slideContent = slides != null ? slideList.map(slide => /* @__PURE__ */jsx(RuiCarouselSlide, {\n id: slide.id,\n children: slide.children\n })) : children;\n return /* @__PURE__ */jsx(\"rui-carousel\", {\n ...props,\n label,\n transition,\n controlsVariant,\n showIndicators,\n showRotationControl,\n autoplay,\n slidesPerView,\n slidesPerGroup,\n slideCount: slideList.length,\n children: /* @__PURE__ */jsx(CarouselShell, {\n autoplay,\n controlsVariant,\n label,\n next,\n prev,\n rotation,\n showIndicators,\n showRotationControl,\n slidesPerView,\n transition,\n children: slideContent\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RadiantElement", "bindTo", "customElement", "onEvent", "onUpdated", "prop", "query", "CSS_SAFE_ID", "isCssSafeId", "value", "cssSafePrefix", "prefix", "trimmed", "prefixed", "uniqueId", "token", "byte", "CarouselAutoplay", "config", "ms", "resolveSwipeDirection", "dx", "dy", "threshold", "CarouselSwipe", "event", "excluded", "clampSlidesPerView", "value", "clampSlidesPerGroup", "maxStartIndex", "count", "slidesPerView", "clampIndex", "raw", "maxStart", "visualStartIndex", "index", "perView", "start", "isSlideInView", "slideIndex", "resolveCarouselTrackMode", "transition", "resolveCarouselSurface", "carouselGapCount", "resolveCarouselWindow", "params", "slidesPerGroup", "advanceIndex", "deltaGroups", "group", "proposed", "_initProto", "_initClass", "_init_label", "_init_extra_label", "_init_index", "_init_extra_index", "_init_autoplay", "_init_extra_autoplay", "_init_interval", "_init_extra_interval", "_init_transition", "_init_extra_transition", "_init_controlsVariant", "_init_extra_controlsVariant", "_init_showIndicators", "_init_extra_showIndicators", "_init_showRotationControl", "_init_extra_showRotationControl", "_init_loop", "_init_extra_loop", "_init_wrap", "_init_extra_wrap", "_init_slidesPerView", "_init_extra_slidesPerView", "_init_slidesPerGroup", "_init_extra_slidesPerGroup", "_init_slideCount", "_init_extra_slideCount", "_init_rootTarget", "_init_extra_rootTarget", "_init_trackTarget", "_init_extra_trackTarget", "_init_indicatorsTarget", "_init_extra_indicatorsTarget", "_init_viewportTarget", "_init_extra_viewportTarget", "_applyDecs", "n", "r", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "o", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "CAROUSEL_DEFAULTS", "_RuiCarousel", "RuiCarousel", "RadiantElement", "customElement", "prop", "bindTo", "slidesPerView", "resolveCarouselSurface", "query", "onUpdated", "onEvent", "uniqueId", "CarouselSwipe", "CarouselAutoplay", "slide", "index", "key", "panelId", "count", "resolveCarouselWindow", "resolveCarouselTrackMode", "slides", "activeIndex", "trackMode", "active", "inView", "isSlideInView", "positionLabel", "next", "root", "track", "carouselGapCount", "window2", "disablePrev", "disableNext", "button", "container", "tabbed", "windows", "_slide", "indicators", "panelIds", "indicator", "selected", "_id", "slideIndex", "toggle", "playing", "viewport", "rotating", "advanceIndex", "deltaGroups", "target", "event", "indicatorIndex", "current", "nextIndex", "direction", "jsx", "jsxs", "withDefaultAriaLabel", "aria", "fallback", "cx", "parts", "RuiCarouselSlide", "id", "children", "className", "props", "jsx", "cx", "toolbarPrevLabel", "jsxs", "toolbarNextLabel", "RuiCarouselPrev", "disabled", "overlay", "aria", "withDefaultAriaLabel", "RuiCarouselNext", "RuiCarouselRotation", "CarouselShell", "autoplay", "controlsVariant", "label", "next", "prev", "rotation", "showIndicators", "showRotationControl", "slidesPerView", "transition", "showRotation", "prevControl", "nextControl", "rotationControl", "trackMode", "resolveCarouselTrackMode", "surface", "resolveCarouselSurface", "indicators", "toolbarControls", "overlayChrome", "RuiCarousel", "slides", "CAROUSEL_DEFAULTS", "slidesPerGroup", "slideList", "slideContent", "slide"]
|
|
7
7
|
}
|