@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
|
@@ -9,17 +9,21 @@ export type RuiCycleToggleItemProps = Omit<JsxElementProps<HTMLSpanElement>, 'id
|
|
|
9
9
|
};
|
|
10
10
|
export type RuiCycleToggleButtonProps = JsxElementProps<HTMLButtonElement> & Pick<RuiCycleToggleProps, 'disabled' | 'label' | 'size' | 'variant'>;
|
|
11
11
|
/**
|
|
12
|
-
* One cycle option
|
|
12
|
+
* One cycle option inside the button. Stamps `[data-cycle-value]` from `id`.
|
|
13
13
|
*
|
|
14
14
|
* @cssclass rui-cycle-toggle__item - Cycle option row (icon + label).
|
|
15
15
|
*/
|
|
16
16
|
export declare function RuiCycleToggleItem({ id, children, class: className, disabled, selected, ...props }: RuiCycleToggleItemProps): import("@ecopages/jsx").JsxRenderable;
|
|
17
17
|
/**
|
|
18
|
-
* Button chrome
|
|
18
|
+
* Button chrome for cycle-toggle views. Stamps `button[data-cycle-toggle-button]`.
|
|
19
19
|
*
|
|
20
20
|
* Composes `rui-button` with `rui-button--<variant> --<size>` (see button).
|
|
21
21
|
*
|
|
22
22
|
* @cssclass rui-cycle-toggle__button - Cycle toggle button root.
|
|
23
23
|
*/
|
|
24
24
|
export declare function RuiCycleToggleButton({ children, variant, size, disabled, class: className, ...props }: RuiCycleToggleButtonProps): import("@ecopages/jsx").JsxRenderable;
|
|
25
|
+
/**
|
|
26
|
+
* Cycle toggle view. Stamps `<rui-cycle-toggle>` and `RuiCycleToggleButton`
|
|
27
|
+
* (`button[data-cycle-toggle-button]`) wrapping `RuiCycleToggleItem` children.
|
|
28
|
+
*/
|
|
25
29
|
export declare function RuiCycleToggle({ children, variant, size, disabled, ...props }: JsxCustomElementAttributes<RuiCycleToggleElement, RuiCycleToggleProps>): import("@ecopages/jsx").JsxRenderable;
|
|
@@ -19,8 +19,25 @@ export type RuiCycleToggleChangeDetail = {
|
|
|
19
19
|
/**
|
|
20
20
|
* `<rui-cycle-toggle>` — cycles through exclusive values on each button press.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
22
|
+
* The custom element is a behavior host: it does not render the composed tree.
|
|
23
|
+
* Import the script and place light-DOM children that match the contract below,
|
|
24
|
+
* or use the `RuiCycleToggle` view helpers which stamp the same targets.
|
|
25
|
+
*
|
|
26
|
+
* Only the active item is visible; click advances to the next enabled item and wraps.
|
|
27
|
+
*
|
|
28
|
+
* ## Light-DOM contract
|
|
29
|
+
*
|
|
30
|
+
* Required:
|
|
31
|
+
* - `button[data-cycle-toggle-button]` — cycle control. Host sets `aria-label`, `disabled`, `rui-button--*` classes.
|
|
32
|
+
* - `[data-cycle-value]` — one per option inside the button. Host sets `hidden` on inactive items.
|
|
33
|
+
*
|
|
34
|
+
* Per item:
|
|
35
|
+
* - `data-cycle-value` — item identity (matches host `value`).
|
|
36
|
+
* - `aria-disabled="true"` — skip item when cycling.
|
|
37
|
+
*
|
|
38
|
+
* Do not set `hidden` on items — the host owns visibility.
|
|
39
|
+
*
|
|
40
|
+
* Nested hosts: none.
|
|
24
41
|
*
|
|
25
42
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/button/
|
|
26
43
|
*
|
|
@@ -33,9 +50,23 @@ export type RuiCycleToggleChangeDetail = {
|
|
|
33
50
|
* @attr {string} label - Accessible name prefix for the cycle button. Default: `''`.
|
|
34
51
|
* @attr {boolean} disabled - Disables the cycle button. Default: `false`.
|
|
35
52
|
*
|
|
36
|
-
* @slot - `RuiCycleToggleItem` nodes projected into the inner button by the view.
|
|
37
|
-
*
|
|
38
53
|
* @fires rui-change - Emitted after `value` advances; `detail.value` is the new id.
|
|
54
|
+
*
|
|
55
|
+
* @remarks
|
|
56
|
+
* Minimum headless tree:
|
|
57
|
+
*
|
|
58
|
+
* ```html
|
|
59
|
+
* <rui-cycle-toggle value="light" label="Theme">
|
|
60
|
+
* <button type="button" data-cycle-toggle-button>
|
|
61
|
+
* <span data-cycle-value="system">System</span>
|
|
62
|
+
* <span data-cycle-value="light">Light</span>
|
|
63
|
+
* <span data-cycle-value="dark">Dark</span>
|
|
64
|
+
* </button>
|
|
65
|
+
* </rui-cycle-toggle>
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* The host writes `rui-button--*` variant and size classes onto the cycle button.
|
|
69
|
+
* Query targets are `button[data-cycle-toggle-button]` and `[data-cycle-value]`.
|
|
39
70
|
*/
|
|
40
71
|
export declare class RuiCycleToggle extends RadiantElement {
|
|
41
72
|
value: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{RadiantElement as Te,
|
|
1
|
+
import{RadiantElement as Te,bindTo as Ae,customElement as Me,event as De,onEvent as $e,onUpdated as qe,prop as j}from"@ecopages/radiant";function G(e,t){if(e.length===0)throw new RangeError("cycleValue requires at least one value");let n=t===void 0?-1:e.indexOf(t);return n===-1?e[0]:e[(n+1)%e.length]}var ue,de,he,fe,ge,me,be,pe,ye,ve,_e,xe,we,Ee;function Be(e,t,n,o,d,_){var f,a,A,M,V,D,T,Z=Symbol.metadata||Symbol.for("Symbol.metadata"),H=Object.defineProperty,$=Object.create,F=[$(null),$(null)],N=t.length;function k(r,b,g){return function(i,l){b&&(l=i,i=e);for(var p=0;p<r.length;p++)l=r[p].apply(i,g?[l]:[]);return g?l:i}}function x(r,b,g,i){if(typeof r!="function"&&(i||r!==void 0))throw new TypeError(b+" must "+(g||"be")+" a function"+(i?"":" or undefined"));return r}function ee(r,b,g,i,l,p,E,m,y,v,ne){function q(u){if(!ne(u))throw new TypeError("Attempted to access private element on non-instance")}var U=[].concat(b[0]),re=b[3],P=!E,C=l===1,ie=l===3,oe=l===4,R=l===2;function B(u,I,se){return function(O,ce){return I&&(ce=O,O=r),se&&se(O),s[u].call(O,ce)}}if(!P){var s={},K=[],w=ie?"get":oe||C?"set":"value";if(y?(v||C?s={get:Ie(function(){return re(this)},i,"get"),set:function(u){b[4](this,u)}}:s[w]=re,v||Ie(s[w],i,R?"":w)):v||(s=Object.getOwnPropertyDescriptor(r,i)),!v&&!y){if((a=F[+m][i])&&(a^l)!==7)throw Error("Decorating two elements with the same name ("+s[w].name+") is not supported yet");F[+m][i]=l<3?1:l}}for(var h=r,L=U.length-1;L>=0;L-=g?2:1){var le=x(U[L],"A decorator","be",!0),ae=g?U[L-1]:void 0,W={},S={kind:["field","accessor","method","getter","setter","class"][l],name:i,metadata:f,addInitializer:function(u,I){if(u.v)throw new TypeError("attempted to call addInitializer after decoration was finished");x(I,"An initializer","be",!0),p.push(I)}.bind(null,W)};if(P)a=le.call(ae,h,S),W.v=1,x(a,"class decorators","return")&&(h=a);else if(S.static=m,S.private=y,a=S.access={has:y?ne.bind():function(u){return i in u}},oe||(a.get=y?R?function(u){return q(u),s.value}:B("get",0,q):function(u){return u[i]}),R||ie||(a.set=y?B("set",0,q):function(u,I){u[i]=I}),h=le.call(ae,C?{get:s.get,set:s.set}:s[w],S),W.v=1,C){if(typeof h=="object"&&h)(a=x(h.get,"accessor.get"))&&(s.get=a),(a=x(h.set,"accessor.set"))&&(s.set=a),(a=x(h.init,"accessor.init"))&&K.unshift(a);else if(h!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(h,(v?"field":"method")+" decorators","return")&&(v?K.unshift(h):s[w]=h)}return l<2&&E.push(k(K,m,1),k(p,m,0)),v||P||(y?C?E.splice(-1,0,B("get",m),B("set",m)):E.push(R?s[w]:x.call.bind(s[w])):H(r,i,s)),h}function te(r){return H(r,Z,{configurable:!0,enumerable:!0,value:f})}return _!==void 0&&(f=_[Z]),f=$(f??null),V=[],D=function(r){r&&V.push(k(r))},T=function(r,b){for(var g=0;g<n.length;g++){var i=n[g],l=i[1],p=7&l;if((8&l)==r&&!p==b){var E=i[2],m=!!i[3],y=16&l;ee(r?e:e.prototype,i,y,m?"#"+E:Le(E),p,p<2?[]:r?M=M||[]:A=A||[],V,!!r,m,b,r&&m?function(v){return ze(v)===e}:d)}}},T(8,0),T(0,0),T(8,1),T(0,1),D(A),D(M),a=V,N||te(e),{e:a,get c(){var r=[];return N&&[te(e=ee(e,[t],o,e.name,5,r)),k(r,1)]}}}function Le(e){var t=Oe(e,"string");return typeof t=="symbol"?t:t+""}function Oe(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ie(e,t,n){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch{}return e}function ze(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 Ue="[data-cycle-value]",J="button[data-cycle-toggle-button]",Se,Ce=class extends Te{static{({e:[he,fe,ge,me,be,pe,ye,ve,_e,xe,we,Ee,ue],c:[Se,de]}=Be(this,[Me("rui-cycle-toggle")],[[j({type:String,reflect:!0,defaultValue:""}),0,"value"],[j({type:String,reflect:!0,defaultValue:"filled"}),0,"variant"],[j({type:String,reflect:!0,defaultValue:"md"}),0,"size"],[j({type:String,defaultValue:""}),0,"label"],[[j({type:Boolean,reflect:!0,defaultValue:!1}),Ae({selector:"button[data-cycle-toggle-button]",prop:"disabled"})],0,"disabled"],[De({name:"rui-change",bubbles:!0,composed:!0}),0,"changeEvent"],[qe(["value","label","disabled","size","variant"]),2,"onPropsUpdated"],[$e({selector:J,type:"click"}),2,"onButtonClick"]],0,void 0,Te))}value=(ue(this),he(this));variant=(fe(this),ge(this));size=(me(this),be(this));label=(pe(this),ye(this));disabled=(ve(this),_e(this));changeEvent=(xe(this),we(this));childObserver=(Ee(this),null);connectedCallback(){super.connectedCallback(),this.childObserver=new MutationObserver(()=>this.resync()),this.childObserver.observe(this,{childList:!0,subtree:!0})}onConnected(){this.resync()}disconnectedCallback(){this.childObserver?.disconnect(),this.childObserver=null,super.disconnectedCallback()}onPropsUpdated(){this.resync()}resync(){let t=this.syncSelection(this.value||this.getItemValue(this.getEnabledItems()[0])||"");this.syncButtonPresentation(),this.syncButtonLabel(t)}getItems(){return Array.from(this.querySelectorAll(Ue))}getEnabledItems(){return this.getItems().filter(t=>t.getAttribute("aria-disabled")!=="true")}getItemValue(t){return t?t.dataset.cycleValue??"":""}syncButtonLabel(t){let n=this.querySelector(J);if(!n)return;let o=t?.querySelector("[aria-label]")?.ariaLabel??t?.textContent?.trim();if(!this.label||!o){n.removeAttribute("aria-label");return}n.setAttribute("aria-label",`${this.label}: ${o}`)}syncButtonPresentation(){let t=this.querySelector(J);if(t){for(let n of Array.from(t.classList))n.startsWith("rui-button--")&&t.classList.remove(n);t.classList.add(`rui-button--${this.variant}`,`rui-button--${this.size}`)}}syncSelection(t){let n=this.getItems();if(!n.length)return;let o=this.getEnabledItems(),d=n.find(f=>this.getItemValue(f)===t&&o.includes(f))??o[0]??n[0],_=this.getItemValue(d);this.value=_;for(let f of n)f.hidden=f!==d;return d}cycle(){if(this.disabled)return;let n=this.getEnabledItems().map(d=>this.getItemValue(d)).filter(Boolean);if(!n.length)return;let o=G(n,this.value||void 0);o!==this.value&&(this.syncSelection(o),this.changeEvent.emit({value:this.value}))}onButtonClick(){this.cycle()}static{de()}};import{jsx as z}from"@ecopages/jsx/jsx-runtime";function Q(...e){return e.filter(Boolean).join(" ")}function Pe({id:e,children:t,class:n,disabled:o,selected:d,..._}){return z("span",{..._,class:Q("rui-cycle-toggle__item",n),"data-cycle-value":e,hidden:d===void 0?void 0:!d,"aria-disabled":o?"true":void 0,children:t})}function je({children:e,variant:t="filled",size:n="md",disabled:o,class:d,..._}){return z("button",{..._,type:"button",class:Q("rui-button","rui-cycle-toggle__button",`rui-button--${t}`,`rui-button--${n}`,d),disabled:o,"data-cycle-toggle-button":!0,children:e})}function Ke({children:e,variant:t,size:n,disabled:o,...d}){return z("rui-cycle-toggle",{...d,variant:t,size:n,disabled:o,children:z(je,{variant:t,size:n,disabled:o,children:e})})}import{jsx as c,jsxs as Y}from"@ecopages/jsx/jsx-runtime";var Ve={system:"System",light:"Light",dark:"Dark"},X={xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":!0},We={system:Y("svg",{...X,children:[c("rect",{width:"20",height:"14",x:"2",y:"3",rx:"2"}),c("line",{x1:"8",x2:"16",y1:"21",y2:"21"}),c("line",{x1:"12",x2:"12",y1:"17",y2:"21"})]}),light:Y("svg",{...X,children:[c("circle",{cx:"12",cy:"12",r:"4"}),c("path",{d:"M12 2v2"}),c("path",{d:"M12 20v2"}),c("path",{d:"m4.93 4.93 1.41 1.41"}),c("path",{d:"m17.66 17.66 1.41 1.41"}),c("path",{d:"M2 12h2"}),c("path",{d:"M20 12h2"}),c("path",{d:"m6.34 17.66-1.41 1.41"}),c("path",{d:"m19.07 4.93-1.41 1.41"})]}),dark:c("svg",{...X,children:c("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9"})})};function ke({preference:e}){return We[e]}function Re({preference:e}){return Ve[e]}function Ge({preference:e,showLabel:t=!0}){return Y("span",{class:"inline-flex items-center gap-inline","aria-label":t?void 0:Ve[e],children:[c(ke,{preference:e}),t?c(Re,{preference:e}):void 0]})}export{Ke as RuiCycleToggle,je as RuiCycleToggleButton,Se as RuiCycleToggleElement,Pe as RuiCycleToggleItem,Re as ThemeItemLabel,ke as ThemePreferenceIcon,Ge as ThemePreferenceItemContent,G as cycleValue};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/ui/cycle-toggle/cycle-toggle.script.tsx", "../../../../src/lib/cycle-value.ts", "../../../../src/components/ui/cycle-toggle/cycle-toggle.tsx", "../../../../src/lib/cx.ts", "../../../../src/components/ui/cycle-toggle/theme-preference-icons.tsx"],
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_variant, _init_extra_variant, _init_size, _init_extra_size, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_changeEvent, _init_extra_changeEvent;\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, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { cycleValue } from \"@/lib/cycle-value\";\nconst ITEM_SELECTOR = \"[data-cycle-value]\";\nconst BUTTON_SELECTOR = \"button[data-cycle-toggle-button]\";\nlet _RuiCycleToggle;\nclass RuiCycleToggle extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_variant, _init_extra_variant, _init_size, _init_extra_size, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiCycleToggle, _initClass]\n } = _applyDecs(this, [customElement(\"rui-cycle-toggle\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"filled\"\n }), 0, \"variant\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"md\"\n }), 0, \"size\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"disabled\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"label\", \"disabled\", \"size\", \"variant\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: BUTTON_SELECTOR,\n type: \"click\"\n }), 2, \"onButtonClick\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n variant = (_init_extra_value(this), _init_variant(this));\n size = (_init_extra_variant(this), _init_size(this));\n label = (_init_extra_size(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n changeEvent = (_init_extra_disabled(this), _init_changeEvent(this));\n childObserver = (_init_extra_changeEvent(this), null);\n connectedCallback() {\n super.connectedCallback();\n this.childObserver = new MutationObserver(() => this.resync());\n this.childObserver.observe(this, {\n childList: true,\n subtree: true\n });\n }\n onConnected() {\n this.resync();\n }\n disconnectedCallback() {\n this.childObserver?.disconnect();\n this.childObserver = null;\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.resync();\n }\n /** Re-applies button labeling and the visible cycle item from the current `value`. */\n resync() {\n const selected = this.syncSelection(this.value || this.getItemValue(this.getEnabledItems()[0]) || \"\");\n this.syncButtonPresentation();\n this.syncButtonLabel(selected);\n }\n getItems() {\n return Array.from(this.querySelectorAll(ITEM_SELECTOR));\n }\n getEnabledItems() {\n return this.getItems().filter(item => item.getAttribute(\"aria-disabled\") !== \"true\");\n }\n getItemValue(item) {\n if (!item) return \"\";\n return item.dataset.cycleValue ?? \"\";\n }\n syncButtonLabel(selected) {\n const button = this.querySelector(BUTTON_SELECTOR);\n if (!button) return;\n const selectedLabel = selected?.querySelector(\"[aria-label]\")?.ariaLabel ?? selected?.textContent?.trim();\n if (!this.label || !selectedLabel) {\n button.removeAttribute(\"aria-label\");\n return;\n }\n button.setAttribute(\"aria-label\", `${this.label}: ${selectedLabel}`);\n }\n syncButtonPresentation() {\n const button = this.querySelector(BUTTON_SELECTOR);\n if (!button) return;\n button.disabled = this.disabled;\n for (const className of Array.from(button.classList)) {\n if (className.startsWith(\"rui-button--\")) button.classList.remove(className);\n }\n button.classList.add(`rui-button--${this.variant}`, `rui-button--${this.size}`);\n }\n syncSelection(nextValue) {\n const items = this.getItems();\n if (!items.length) return void 0;\n const enabled = this.getEnabledItems();\n const selected = items.find(item => this.getItemValue(item) === nextValue && enabled.includes(item)) ?? enabled[0] ?? items[0];\n const selectedValue = this.getItemValue(selected);\n this.value = selectedValue;\n for (const item of items) {\n item.hidden = item !== selected;\n }\n return selected;\n }\n cycle() {\n if (this.disabled) return;\n const enabled = this.getEnabledItems();\n const values = enabled.map(item => this.getItemValue(item)).filter(Boolean);\n if (!values.length) return;\n const next = cycleValue(values, this.value || void 0);\n if (next === this.value) return;\n this.syncSelection(next);\n this.changeEvent.emit({\n value: this.value\n });\n }\n onButtonClick() {\n this.cycle();\n }\n static {\n _initClass();\n }\n}\nexport { _RuiCycleToggle as RuiCycleToggle };", "export function cycleValue(values, current) {\n if (values.length === 0) {\n throw new RangeError(\"cycleValue requires at least one value\");\n }\n const index = current === void 0 ? -1 : values.indexOf(current);\n if (index === -1) {\n return values[0];\n }\n return values[(index + 1) % values.length];\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./cycle-toggle.script\";\nexport function RuiCycleToggleItem({\n id,\n children,\n class: className,\n disabled,\n selected,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n class: cx(\"rui-cycle-toggle__item\", className),\n \"data-cycle-value\": id,\n hidden: selected === void 0 ? void 0 : !selected,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children\n });\n}\nexport function RuiCycleToggleButton({\n children,\n variant = \"filled\",\n size = \"md\",\n disabled,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-button\", \"rui-cycle-toggle__button\", `rui-button--${variant}`, `rui-button--${size}`, className),\n disabled,\n \"data-cycle-toggle-button\": true,\n children\n });\n}\nexport function RuiCycleToggle({\n children,\n variant,\n size,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-cycle-toggle\", {\n ...props,\n variant,\n size,\n disabled,\n children: /* @__PURE__ */jsx(RuiCycleToggleButton, {\n variant,\n size,\n disabled,\n children\n })\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nconst themeLabels = {\n system: \"System\",\n light: \"Light\",\n dark: \"Dark\"\n};\nconst lucideIconProps = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": true\n};\nconst themeIcons = {\n system: /* @__PURE__ */jsxs(\"svg\", {\n ...lucideIconProps,\n children: [/* @__PURE__ */jsx(\"rect\", {\n width: \"20\",\n height: \"14\",\n x: \"2\",\n y: \"3\",\n rx: \"2\"\n }), /* @__PURE__ */jsx(\"line\", {\n x1: \"8\",\n x2: \"16\",\n y1: \"21\",\n y2: \"21\"\n }), /* @__PURE__ */jsx(\"line\", {\n x1: \"12\",\n x2: \"12\",\n y1: \"17\",\n y2: \"21\"\n })]\n }),\n light: /* @__PURE__ */jsxs(\"svg\", {\n ...lucideIconProps,\n children: [/* @__PURE__ */jsx(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"4\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M12 2v2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M12 20v2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m4.93 4.93 1.41 1.41\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m17.66 17.66 1.41 1.41\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M2 12h2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M20 12h2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6.34 17.66-1.41 1.41\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m19.07 4.93-1.41 1.41\"\n })]\n }),\n dark: /* @__PURE__ */jsx(\"svg\", {\n ...lucideIconProps,\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9\"\n })\n })\n};\nexport function ThemePreferenceIcon({\n preference\n}) {\n return themeIcons[preference];\n}\nexport function ThemeItemLabel({\n preference\n}) {\n return themeLabels[preference];\n}\nexport function ThemePreferenceItemContent({\n preference,\n showLabel = true\n}) {\n return /* @__PURE__ */jsxs(\"span\", {\n class: \"inline-flex items-center gap-inline\",\n \"aria-label\": showLabel ? void 0 : themeLabels[preference],\n children: [/* @__PURE__ */jsx(ThemePreferenceIcon, {\n preference\n }), showLabel ? /* @__PURE__ */jsx(ThemeItemLabel, {\n preference\n }) : void 0]\n });\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["RadiantElement", "customElement", "event", "onEvent", "onUpdated", "prop", "cycleValue", "values", "current", "index", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_variant", "_init_extra_variant", "_init_size", "_init_extra_size", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "ITEM_SELECTOR", "BUTTON_SELECTOR", "_RuiCycleToggle", "RuiCycleToggle", "RadiantElement", "customElement", "prop", "event", "onUpdated", "onEvent", "selected", "item", "button", "selectedLabel", "className", "nextValue", "items", "enabled", "selectedValue", "values", "next", "cycleValue", "jsx", "cx", "parts", "RuiCycleToggleItem", "id", "children", "className", "disabled", "selected", "props", "jsx", "cx", "RuiCycleToggleButton", "variant", "size", "RuiCycleToggle", "jsx", "jsxs", "themeLabels", "lucideIconProps", "themeIcons", "ThemePreferenceIcon", "preference", "ThemeItemLabel", "ThemePreferenceItemContent", "showLabel"]
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_value, _init_extra_value, _init_variant, _init_extra_variant, _init_size, _init_extra_size, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_changeEvent, _init_extra_changeEvent;\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, event, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { cycleValue } from \"@/lib/cycle-value\";\nconst ITEM_SELECTOR = \"[data-cycle-value]\";\nconst BUTTON_SELECTOR = \"button[data-cycle-toggle-button]\";\nlet _RuiCycleToggle;\nclass RuiCycleToggle extends RadiantElement {\n static {\n ({\n e: [_init_value, _init_extra_value, _init_variant, _init_extra_variant, _init_size, _init_extra_size, _init_label, _init_extra_label, _init_disabled, _init_extra_disabled, _init_changeEvent, _init_extra_changeEvent, _initProto],\n c: [_RuiCycleToggle, _initClass]\n } = _applyDecs(this, [customElement(\"rui-cycle-toggle\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"value\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"filled\"\n }), 0, \"variant\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"md\"\n }), 0, \"size\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), bindTo({\n selector: \"button[data-cycle-toggle-button]\",\n prop: \"disabled\"\n })], 0, \"disabled\"], [event({\n name: \"rui-change\",\n bubbles: true,\n composed: true\n }), 0, \"changeEvent\"], [onUpdated([\"value\", \"label\", \"disabled\", \"size\", \"variant\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: BUTTON_SELECTOR,\n type: \"click\"\n }), 2, \"onButtonClick\"]], 0, void 0, RadiantElement));\n }\n value = (_initProto(this), _init_value(this));\n variant = (_init_extra_value(this), _init_variant(this));\n size = (_init_extra_variant(this), _init_size(this));\n label = (_init_extra_size(this), _init_label(this));\n disabled = (_init_extra_label(this), _init_disabled(this));\n changeEvent = (_init_extra_disabled(this), _init_changeEvent(this));\n childObserver = (_init_extra_changeEvent(this), null);\n connectedCallback() {\n super.connectedCallback();\n this.childObserver = new MutationObserver(() => this.resync());\n this.childObserver.observe(this, {\n childList: true,\n subtree: true\n });\n }\n onConnected() {\n this.resync();\n }\n disconnectedCallback() {\n this.childObserver?.disconnect();\n this.childObserver = null;\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.resync();\n }\n /** Re-applies button labeling and the visible cycle item from the current `value`. */\n resync() {\n const selected = this.syncSelection(this.value || this.getItemValue(this.getEnabledItems()[0]) || \"\");\n this.syncButtonPresentation();\n this.syncButtonLabel(selected);\n }\n getItems() {\n return Array.from(this.querySelectorAll(ITEM_SELECTOR));\n }\n getEnabledItems() {\n return this.getItems().filter(item => item.getAttribute(\"aria-disabled\") !== \"true\");\n }\n getItemValue(item) {\n if (!item) return \"\";\n return item.dataset.cycleValue ?? \"\";\n }\n syncButtonLabel(selected) {\n const button = this.querySelector(BUTTON_SELECTOR);\n if (!button) return;\n const selectedLabel = selected?.querySelector(\"[aria-label]\")?.ariaLabel ?? selected?.textContent?.trim();\n if (!this.label || !selectedLabel) {\n button.removeAttribute(\"aria-label\");\n return;\n }\n button.setAttribute(\"aria-label\", `${this.label}: ${selectedLabel}`);\n }\n syncButtonPresentation() {\n const button = this.querySelector(BUTTON_SELECTOR);\n if (!button) return;\n for (const className of Array.from(button.classList)) {\n if (className.startsWith(\"rui-button--\")) button.classList.remove(className);\n }\n button.classList.add(`rui-button--${this.variant}`, `rui-button--${this.size}`);\n }\n syncSelection(nextValue) {\n const items = this.getItems();\n if (!items.length) return void 0;\n const enabled = this.getEnabledItems();\n const selected = items.find(item => this.getItemValue(item) === nextValue && enabled.includes(item)) ?? enabled[0] ?? items[0];\n const selectedValue = this.getItemValue(selected);\n this.value = selectedValue;\n for (const item of items) {\n item.hidden = item !== selected;\n }\n return selected;\n }\n cycle() {\n if (this.disabled) return;\n const enabled = this.getEnabledItems();\n const values = enabled.map(item => this.getItemValue(item)).filter(Boolean);\n if (!values.length) return;\n const next = cycleValue(values, this.value || void 0);\n if (next === this.value) return;\n this.syncSelection(next);\n this.changeEvent.emit({\n value: this.value\n });\n }\n onButtonClick() {\n this.cycle();\n }\n static {\n _initClass();\n }\n}\nexport { _RuiCycleToggle as RuiCycleToggle };", "export function cycleValue(values, current) {\n if (values.length === 0) {\n throw new RangeError(\"cycleValue requires at least one value\");\n }\n const index = current === void 0 ? -1 : values.indexOf(current);\n if (index === -1) {\n return values[0];\n }\n return values[(index + 1) % values.length];\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./cycle-toggle.script\";\nexport function RuiCycleToggleItem({\n id,\n children,\n class: className,\n disabled,\n selected,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n class: cx(\"rui-cycle-toggle__item\", className),\n \"data-cycle-value\": id,\n hidden: selected === void 0 ? void 0 : !selected,\n \"aria-disabled\": disabled ? \"true\" : void 0,\n children\n });\n}\nexport function RuiCycleToggleButton({\n children,\n variant = \"filled\",\n size = \"md\",\n disabled,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n type: \"button\",\n class: cx(\"rui-button\", \"rui-cycle-toggle__button\", `rui-button--${variant}`, `rui-button--${size}`, className),\n disabled,\n \"data-cycle-toggle-button\": true,\n children\n });\n}\nexport function RuiCycleToggle({\n children,\n variant,\n size,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-cycle-toggle\", {\n ...props,\n variant,\n size,\n disabled,\n children: /* @__PURE__ */jsx(RuiCycleToggleButton, {\n variant,\n size,\n disabled,\n children\n })\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nconst themeLabels = {\n system: \"System\",\n light: \"Light\",\n dark: \"Dark\"\n};\nconst lucideIconProps = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": true\n};\nconst themeIcons = {\n system: /* @__PURE__ */jsxs(\"svg\", {\n ...lucideIconProps,\n children: [/* @__PURE__ */jsx(\"rect\", {\n width: \"20\",\n height: \"14\",\n x: \"2\",\n y: \"3\",\n rx: \"2\"\n }), /* @__PURE__ */jsx(\"line\", {\n x1: \"8\",\n x2: \"16\",\n y1: \"21\",\n y2: \"21\"\n }), /* @__PURE__ */jsx(\"line\", {\n x1: \"12\",\n x2: \"12\",\n y1: \"17\",\n y2: \"21\"\n })]\n }),\n light: /* @__PURE__ */jsxs(\"svg\", {\n ...lucideIconProps,\n children: [/* @__PURE__ */jsx(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"4\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M12 2v2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M12 20v2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m4.93 4.93 1.41 1.41\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m17.66 17.66 1.41 1.41\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M2 12h2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"M20 12h2\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6.34 17.66-1.41 1.41\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m19.07 4.93-1.41 1.41\"\n })]\n }),\n dark: /* @__PURE__ */jsx(\"svg\", {\n ...lucideIconProps,\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9\"\n })\n })\n};\nexport function ThemePreferenceIcon({\n preference\n}) {\n return themeIcons[preference];\n}\nexport function ThemeItemLabel({\n preference\n}) {\n return themeLabels[preference];\n}\nexport function ThemePreferenceItemContent({\n preference,\n showLabel = true\n}) {\n return /* @__PURE__ */jsxs(\"span\", {\n class: \"inline-flex items-center gap-inline\",\n \"aria-label\": showLabel ? void 0 : themeLabels[preference],\n children: [/* @__PURE__ */jsx(ThemePreferenceIcon, {\n preference\n }), showLabel ? /* @__PURE__ */jsx(ThemeItemLabel, {\n preference\n }) : void 0]\n });\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RadiantElement", "bindTo", "customElement", "event", "onEvent", "onUpdated", "prop", "cycleValue", "values", "current", "index", "_initProto", "_initClass", "_init_value", "_init_extra_value", "_init_variant", "_init_extra_variant", "_init_size", "_init_extra_size", "_init_label", "_init_extra_label", "_init_disabled", "_init_extra_disabled", "_init_changeEvent", "_init_extra_changeEvent", "_applyDecs", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "ITEM_SELECTOR", "BUTTON_SELECTOR", "_RuiCycleToggle", "RuiCycleToggle", "RadiantElement", "customElement", "prop", "bindTo", "event", "onUpdated", "onEvent", "selected", "item", "button", "selectedLabel", "className", "nextValue", "items", "enabled", "selectedValue", "values", "next", "cycleValue", "jsx", "cx", "parts", "RuiCycleToggleItem", "id", "children", "className", "disabled", "selected", "props", "jsx", "cx", "RuiCycleToggleButton", "variant", "size", "RuiCycleToggle", "jsx", "jsxs", "themeLabels", "lucideIconProps", "themeIcons", "ThemePreferenceIcon", "preference", "ThemeItemLabel", "ThemePreferenceItemContent", "showLabel"]
|
|
7
7
|
}
|
|
@@ -14,7 +14,7 @@ rui-date-field {
|
|
|
14
14
|
.rui-date-field__group {
|
|
15
15
|
display: flex;
|
|
16
16
|
width: 100%;
|
|
17
|
-
min-width:
|
|
17
|
+
min-width: 0px;
|
|
18
18
|
align-items: center;
|
|
19
19
|
gap: var(--spacing-1, var(--space-1));
|
|
20
20
|
border-radius: var(--radius-control, var(--radius-control));
|
|
@@ -35,28 +35,24 @@ rui-date-field {
|
|
|
35
35
|
border-style: var(--tw-border-style);
|
|
36
36
|
border-width: 0px;
|
|
37
37
|
background-color: transparent;
|
|
38
|
-
|
|
38
|
+
padding: 0px;
|
|
39
39
|
--tw-outline-style: none;
|
|
40
40
|
outline-style: none;
|
|
41
|
-
padding-inline: var(--space-control-x);
|
|
42
|
-
padding-block: var(--space-control-y);
|
|
43
|
-
font-size: var(--text-control, 0.875rem);
|
|
44
|
-
font-variant-numeric: tabular-nums;
|
|
45
|
-
}
|
|
46
|
-
.rui-date-field__input::placeholder {
|
|
47
|
-
color: var(--color-on-surface, var(--on-surface));
|
|
48
|
-
opacity: var(--opacity-muted, var(--opacity-muted));
|
|
49
|
-
}
|
|
50
|
-
.rui-date-field__input:disabled {
|
|
51
|
-
cursor: not-allowed;
|
|
52
|
-
opacity: var(--opacity-disabled, var(--opacity-disabled));
|
|
53
|
-
}
|
|
54
|
-
.rui-date-field__input[aria-invalid='true'] {
|
|
55
|
-
border-color: var(--color-error, var(--error));
|
|
56
41
|
}
|
|
57
42
|
.rui-date-field__popover {
|
|
43
|
+
box-sizing: border-box;
|
|
44
|
+
max-width: calc(100vw - 1rem);
|
|
45
|
+
min-width: 0px;
|
|
58
46
|
padding: 0px;
|
|
59
47
|
}
|
|
48
|
+
.rui-date-field__popover .rui-calendar {
|
|
49
|
+
width: auto;
|
|
50
|
+
max-width: 100%;
|
|
51
|
+
border-style: var(--tw-border-style);
|
|
52
|
+
border-width: 0px;
|
|
53
|
+
--tw-shadow: 0 0 #0000;
|
|
54
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
55
|
+
}
|
|
60
56
|
.rui-date-field__popover[hidden] {
|
|
61
57
|
display: none;
|
|
62
58
|
}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import type { JsxCustomElementAttributes, JsxElementProps } from '@ecopages/jsx';
|
|
2
2
|
import { type RuiCalendarElement, type RuiCalendarProps } from '../calendar';
|
|
3
|
+
import { type RuiDateInputElement, type RuiDateInputProps } from '../date-input';
|
|
3
4
|
import type { RuiDateField as RuiDateFieldElement, RuiDateFieldProps } from './date-field.script';
|
|
4
5
|
import './date-field.script';
|
|
6
|
+
import '../date-input/date-input.script';
|
|
5
7
|
export type RuiDateFieldControlProps = JsxElementProps<HTMLDivElement>;
|
|
6
|
-
/** Bordered control row containing the date
|
|
8
|
+
/** Bordered control row containing the date segments and calendar toggle. */
|
|
7
9
|
export declare function RuiDateFieldControl({ children, class: className, ...props }: RuiDateFieldControlProps): import("@ecopages/jsx").JsxRenderable;
|
|
8
|
-
export type RuiDateFieldInputProps =
|
|
9
|
-
/**
|
|
10
|
+
export type RuiDateFieldInputProps = JsxCustomElementAttributes<RuiDateInputElement, RuiDateInputProps>;
|
|
11
|
+
/** Nested `rui-date-input`. Stamps `[data-date-field-input]`. */
|
|
10
12
|
export declare function RuiDateFieldInput({ class: className, ...props }: RuiDateFieldInputProps): import("@ecopages/jsx").JsxRenderable;
|
|
11
13
|
export type RuiDateFieldToggleProps = JsxElementProps<HTMLButtonElement>;
|
|
12
|
-
/**
|
|
14
|
+
/** Calendar toggle. Stamps `[data-date-field-trigger]` and `data-ref="trigger"`. */
|
|
13
15
|
export declare function RuiDateFieldToggle({ children, class: className, aria, ...props }: RuiDateFieldToggleProps): import("@ecopages/jsx").JsxRenderable;
|
|
14
16
|
export type RuiDateFieldPopoverProps = JsxElementProps<HTMLDivElement>;
|
|
15
|
-
/**
|
|
17
|
+
/** Popup shell. Stamps `[data-date-field-popover]` and `data-ref="popover"`. */
|
|
16
18
|
export declare function RuiDateFieldPopover({ children, class: className, ...props }: RuiDateFieldPopoverProps): import("@ecopages/jsx").JsxRenderable;
|
|
17
19
|
export type RuiDateFieldCalendarProps = JsxCustomElementAttributes<RuiCalendarElement, RuiCalendarProps>;
|
|
18
|
-
/**
|
|
20
|
+
/** Nested `rui-calendar`. Stamps `[data-date-field-calendar]`. */
|
|
19
21
|
export declare function RuiDateFieldCalendar(props: RuiDateFieldCalendarProps): import("@ecopages/jsx").JsxRenderable;
|
|
20
22
|
/**
|
|
21
|
-
* Locale-aware date field with
|
|
23
|
+
* Locale-aware date field with segment editing and a calendar popover.
|
|
22
24
|
*
|
|
23
25
|
* Pair with `RuiLabel` / `RuiField` for labeling and validation.
|
|
24
26
|
*/
|
|
25
|
-
export declare function RuiDateField(
|
|
27
|
+
export declare function RuiDateField(props: JsxCustomElementAttributes<RuiDateFieldElement, RuiDateFieldProps>): import("@ecopages/jsx").JsxRenderable;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { RadiantElement } from '@ecopages/radiant';
|
|
2
2
|
import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter';
|
|
3
|
-
import type { DateDisplayStyle } from '@/lib/intl-date';
|
|
4
3
|
export type RuiDateFieldProps = {
|
|
5
4
|
value?: string;
|
|
6
5
|
min?: string;
|
|
@@ -9,16 +8,8 @@ export type RuiDateFieldProps = {
|
|
|
9
8
|
readOnly?: boolean;
|
|
10
9
|
label?: string;
|
|
11
10
|
name?: string;
|
|
12
|
-
placeholder?: string;
|
|
13
11
|
/** BCP 47 locale tag, or comma-separated fallback list (e.g. `en-US,en`). */
|
|
14
12
|
locale?: string;
|
|
15
|
-
/** How the committed value is shown when the field is not being edited. */
|
|
16
|
-
dateStyle?: DateDisplayStyle;
|
|
17
|
-
/**
|
|
18
|
-
* When true (default), digits are guided by a locale mask while typing (`08/21/2002`).
|
|
19
|
-
* When false, free text is accepted (`Aug 21, 2002`, `2022/08/22`, …) and parsed on blur.
|
|
20
|
-
*/
|
|
21
|
-
masked?: boolean;
|
|
22
13
|
/** Month grids shown in the calendar popover. @default 1 */
|
|
23
14
|
visibleMonths?: number;
|
|
24
15
|
};
|
|
@@ -26,38 +17,48 @@ export type RuiDateFieldChangeDetail = {
|
|
|
26
17
|
value: string;
|
|
27
18
|
};
|
|
28
19
|
/**
|
|
29
|
-
* `<rui-date-field>` —
|
|
20
|
+
* `<rui-date-field>` — locale-aware date segments with an optional calendar popup.
|
|
30
21
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
22
|
+
* The custom element is a behavior host: it does not render the composed tree.
|
|
23
|
+
* Import the script and place light-DOM children that match the contract below,
|
|
24
|
+
* or use the `RuiDateField*` view helpers which stamp the same targets.
|
|
25
|
+
* `RuiDateField` supplies the default composition when it has no children.
|
|
34
26
|
*
|
|
35
|
-
*
|
|
36
|
-
* view helpers. `RuiDateField` supplies that composition when it has no children.
|
|
27
|
+
* Canonical `value` is ISO `YYYY-MM-DD`.
|
|
37
28
|
*
|
|
38
|
-
*
|
|
29
|
+
* ## Light-DOM contract
|
|
39
30
|
*
|
|
40
|
-
*
|
|
31
|
+
* Required:
|
|
32
|
+
* - `[data-date-field-input]` — nested `rui-date-input`. Host syncs `value`, `name`,
|
|
33
|
+
* `locale`, `min`, `max`, `disabled`, and `read-only`.
|
|
34
|
+
* - `[data-date-field-trigger]` — calendar toggle (`data-ref="trigger"`). Host sets
|
|
35
|
+
* `aria-expanded` and `disabled`.
|
|
36
|
+
* - `[data-date-field-popover]` — popup shell (`data-ref="popover"`). Host sets `hidden`.
|
|
37
|
+
* - `[data-date-field-calendar]` — nested `rui-calendar`. Host syncs `selection-mode`,
|
|
38
|
+
* `visible-months`, `value`, `min`, `max`, `locale`, and `disabled`.
|
|
39
|
+
*
|
|
40
|
+
* Nested hosts:
|
|
41
|
+
* - `rui-date-input` at `[data-date-field-input]` — segment editor; listen for
|
|
42
|
+
* `rui-change` and `rui-form-reset` to keep the parent value aligned.
|
|
43
|
+
* - `rui-calendar` at `[data-date-field-calendar]` — parent queries day targets when the popup opens.
|
|
41
44
|
*
|
|
45
|
+
* Do not set `aria-expanded` on the trigger — the host owns it.
|
|
46
|
+
*
|
|
47
|
+
* @see https://react-aria.adobe.com/DatePicker
|
|
48
|
+
* @element rui-date-field
|
|
42
49
|
* @attr {string} value - Canonical ISO `YYYY-MM-DD` value. Default: `''`.
|
|
43
50
|
* @attr {string} min - Earliest selectable ISO date. Default: `''`.
|
|
44
51
|
* @attr {string} max - Latest selectable ISO date. Default: `''`.
|
|
45
52
|
* @attr {boolean} disabled - Disable the field and calendar. Default: `false`.
|
|
46
53
|
* @attr {boolean} read-only - Disable editing while keeping the value visible. Default: `false`.
|
|
47
54
|
* @attr {string} label - Accessible name when there is no associated label. Default: `''`.
|
|
48
|
-
* @attr {string} name -
|
|
49
|
-
* @attr {string} placeholder - Overrides the locale-derived placeholder. Default: `''`.
|
|
55
|
+
* @attr {string} name - Form field name on the nested `rui-date-input`. Default: `''`.
|
|
50
56
|
* @attr {string} locale - BCP 47 locale tag, or comma-separated fallback list. Default: `''`.
|
|
51
|
-
* @attr {
|
|
52
|
-
* @attr {boolean} masked - Guide digits with a locale mask while typing. Default: `true`.
|
|
53
|
-
* @attr {number} visible-months - Month grids shown in the calendar popover. Default: `1`.
|
|
54
|
-
*
|
|
57
|
+
* @attr {number} visible-months - Month grids in the popover (adapts to 1 on screens under 640px when greater than 1). Default: `1`.
|
|
55
58
|
* @fires rui-change - Emitted when a valid date is committed (typing or calendar pick).
|
|
56
59
|
*
|
|
57
|
-
* @
|
|
58
|
-
*
|
|
59
|
-
* @cssclass rui-date-field__input - The masked / formatted text input.
|
|
60
|
-
* @cssclass rui-date-field__popover - Calendar popup shell (`rui-popover` / `rui-floating`).
|
|
60
|
+
* @remarks
|
|
61
|
+
* BEM classes live on the view helpers; the host never queries them.
|
|
61
62
|
*/
|
|
62
63
|
export declare class RuiDateField extends RadiantElement {
|
|
63
64
|
value: string;
|
|
@@ -67,51 +68,33 @@ export declare class RuiDateField extends RadiantElement {
|
|
|
67
68
|
readOnly: boolean;
|
|
68
69
|
label: string;
|
|
69
70
|
name: string;
|
|
70
|
-
placeholder: string;
|
|
71
71
|
locale: string;
|
|
72
|
-
dateStyle: DateDisplayStyle;
|
|
73
|
-
masked: boolean;
|
|
74
72
|
visibleMonths: number;
|
|
75
73
|
changeEvent: EventEmitter<RuiDateFieldChangeDetail>;
|
|
76
|
-
displayValue: string;
|
|
77
|
-
editing: boolean;
|
|
78
74
|
open: boolean;
|
|
79
75
|
private readonly uid;
|
|
80
|
-
private
|
|
81
|
-
private
|
|
76
|
+
private readonly calendarPopover;
|
|
77
|
+
private disposeMobileLayoutListener;
|
|
82
78
|
popoverTarget: HTMLElement;
|
|
79
|
+
private readonly onMediaChange;
|
|
83
80
|
private get isoValue();
|
|
84
|
-
private get resolvedLocale();
|
|
85
81
|
private get inputId();
|
|
86
|
-
private
|
|
87
|
-
private getInput;
|
|
82
|
+
private getDateInput;
|
|
88
83
|
private getToggle;
|
|
89
84
|
private getCalendar;
|
|
90
85
|
private syncLabel;
|
|
91
86
|
private syncInput;
|
|
92
87
|
private syncToggle;
|
|
93
|
-
private syncCalendar;
|
|
94
|
-
private formatForDisplay;
|
|
95
|
-
private formatForEditing;
|
|
96
|
-
private syncDisplayValue;
|
|
97
|
-
private isIsoAllowed;
|
|
98
88
|
private commitValue;
|
|
99
|
-
private
|
|
100
|
-
private handleMaskedInput;
|
|
89
|
+
private syncCalendar;
|
|
101
90
|
private initialize;
|
|
102
91
|
private setOpen;
|
|
103
|
-
/** Focus the calendar's roving day, falling back to its first available day. */
|
|
104
|
-
private focusCalendarDay;
|
|
105
|
-
private ensurePopoverController;
|
|
106
|
-
private syncPopoverPosition;
|
|
107
92
|
protected onConnected(): void;
|
|
108
93
|
disconnectedCallback(): void;
|
|
109
94
|
onPropsUpdated(): void;
|
|
110
95
|
onOpenUpdated(): void;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
onInputChange(): void;
|
|
114
|
-
onInputKeydown(event: KeyboardEvent): void;
|
|
96
|
+
onDateInputChange(event: Event): void;
|
|
97
|
+
onDateInputReset(): void;
|
|
115
98
|
onRootFocusOut(event: FocusEvent): void;
|
|
116
99
|
onTriggerPointerDown(): void;
|
|
117
100
|
onTriggerClick(): void;
|