@ecopages/radiant-ui 0.1.0-beta.3 → 0.1.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/autocomplete/autocomplete.css +135 -0
- package/dist/components/ui/autocomplete/autocomplete.d.ts +21 -0
- package/dist/components/ui/autocomplete/autocomplete.script.d.ts +42 -0
- package/dist/components/ui/autocomplete/index.d.ts +2 -0
- package/dist/components/ui/autocomplete/index.js +2 -0
- package/dist/components/ui/autocomplete/index.js.map +7 -0
- package/dist/components/ui/avatar/avatar.css +58 -0
- package/dist/components/ui/avatar/avatar.d.ts +13 -0
- package/dist/components/ui/avatar/index.d.ts +1 -0
- package/dist/components/ui/avatar/index.js +2 -0
- package/dist/components/ui/avatar/index.js.map +7 -0
- package/dist/components/ui/button-group/button-group.css +16 -0
- package/dist/components/ui/button-group/button-group.d.ts +10 -0
- package/dist/components/ui/button-group/index.d.ts +1 -0
- package/dist/components/ui/button-group/index.js +2 -0
- package/dist/components/ui/button-group/index.js.map +7 -0
- package/dist/components/ui/calendar/calendar.css +318 -0
- package/dist/components/ui/calendar/calendar.d.ts +5 -0
- package/dist/components/ui/calendar/calendar.script.d.ts +89 -0
- package/dist/components/ui/calendar/index.d.ts +2 -0
- package/dist/components/ui/calendar/index.js +2 -0
- package/dist/components/ui/calendar/index.js.map +7 -0
- package/dist/components/ui/chip/chip.css +47 -0
- package/dist/components/ui/chip/chip.d.ts +11 -0
- package/dist/components/ui/chip/index.d.ts +1 -0
- package/dist/components/ui/chip/index.js +2 -0
- package/dist/components/ui/chip/index.js.map +7 -0
- package/dist/components/ui/chip-list/chip-list.css +15 -0
- package/dist/components/ui/chip-list/chip-list.d.ts +10 -0
- package/dist/components/ui/chip-list/index.d.ts +1 -0
- package/dist/components/ui/chip-list/index.js +2 -0
- package/dist/components/ui/chip-list/index.js.map +7 -0
- package/dist/components/ui/combobox/combobox.css +42 -80
- package/dist/components/ui/combobox/combobox.d.ts +12 -20
- package/dist/components/ui/combobox/combobox.script.d.ts +15 -14
- package/dist/components/ui/combobox/index.d.ts +2 -1
- package/dist/components/ui/combobox/index.js +1 -1
- package/dist/components/ui/combobox/index.js.map +4 -4
- package/dist/components/ui/date-field/date-field.css +184 -0
- package/dist/components/ui/date-field/date-field.d.ts +10 -0
- package/dist/components/ui/date-field/date-field.script.d.ts +108 -0
- package/dist/components/ui/date-field/index.d.ts +2 -0
- package/dist/components/ui/date-field/index.js +2 -0
- package/dist/components/ui/date-field/index.js.map +7 -0
- package/dist/components/ui/date-range-picker/date-range-picker.css +194 -0
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +10 -0
- package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +99 -0
- package/dist/components/ui/date-range-picker/index.d.ts +2 -0
- package/dist/components/ui/date-range-picker/index.js +2 -0
- package/dist/components/ui/date-range-picker/index.js.map +7 -0
- package/dist/components/ui/dialog/dialog.css +1 -1
- package/dist/components/ui/feed/feed.css +169 -5
- package/dist/components/ui/feed/feed.d.ts +54 -11
- package/dist/components/ui/feed/index.d.ts +1 -2
- package/dist/components/ui/feed/index.js +1 -1
- package/dist/components/ui/feed/index.js.map +4 -4
- package/dist/components/ui/field/index.js +1 -1
- package/dist/components/ui/field/index.js.map +3 -3
- package/dist/components/ui/form/form-field.test.d.ts +1 -0
- package/dist/components/ui/form/index.js +1 -1
- package/dist/components/ui/form/index.js.map +3 -3
- package/dist/components/ui/heading/heading.css +107 -0
- package/dist/components/ui/heading/heading.d.ts +30 -0
- package/dist/components/ui/heading/index.d.ts +1 -0
- package/dist/components/ui/heading/index.js +2 -0
- package/dist/components/ui/heading/index.js.map +7 -0
- package/dist/components/ui/headline/headline.css +43 -0
- package/dist/components/ui/headline/headline.d.ts +16 -0
- package/dist/components/ui/headline/index.d.ts +1 -0
- package/dist/components/ui/headline/index.js +2 -0
- package/dist/components/ui/headline/index.js.map +7 -0
- 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.d.ts +8 -1
- package/dist/components/ui/label/index.js +1 -1
- package/dist/components/ui/label/index.js.map +2 -2
- package/dist/components/ui/listbox/index.d.ts +1 -1
- 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 +34 -10
- package/dist/components/ui/listbox/listbox.d.ts +12 -4
- package/dist/components/ui/listbox/listbox.script.d.ts +12 -0
- 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.css +24 -8
- package/dist/components/ui/menu-button/menu-button.script.d.ts +3 -4
- 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.css +40 -22
- package/dist/components/ui/menubar/menubar.script.d.ts +6 -1
- package/dist/components/ui/number-field/index.d.ts +2 -0
- package/dist/components/ui/number-field/index.js +2 -0
- package/dist/components/ui/number-field/index.js.map +7 -0
- package/dist/components/ui/number-field/number-field.css +185 -0
- package/dist/components/ui/number-field/number-field.d.ts +43 -0
- package/dist/components/ui/number-field/number-field.script.d.ts +104 -0
- package/dist/components/ui/popover/index.d.ts +4 -0
- package/dist/components/ui/popover/index.js +2 -0
- package/dist/components/ui/popover/index.js.map +7 -0
- package/dist/components/ui/popover/popover.css +132 -0
- package/dist/components/ui/popover/popover.d.ts +15 -0
- package/dist/components/ui/popover/popover.script.d.ts +85 -0
- package/dist/components/ui/select/index.d.ts +3 -0
- package/dist/components/ui/select/index.js +2 -0
- package/dist/components/ui/select/index.js.map +7 -0
- package/dist/components/ui/select/select.css +216 -0
- package/dist/components/ui/select/select.d.ts +54 -0
- package/dist/components/ui/select/select.script.d.ts +106 -0
- package/dist/components/ui/shared/collection-navigation.d.ts +8 -0
- package/dist/components/ui/shared/collection-navigation.test.d.ts +1 -0
- package/dist/components/ui/shared/control-toggle.css +132 -0
- package/dist/components/ui/shared/field-label.d.ts +9 -0
- package/dist/components/ui/shared/floating-position.d.ts +13 -2
- package/dist/components/ui/shared/listbox-popover-behavior.d.ts +47 -0
- package/dist/components/ui/shared/listbox-popover-behavior.test.d.ts +1 -0
- package/dist/components/ui/shared/multi-value.d.ts +4 -0
- package/dist/components/ui/shared/popover-controller.d.ts +35 -0
- package/dist/components/ui/shared/popover-controller.test.d.ts +1 -0
- package/dist/components/ui/shared/popover.css +123 -0
- package/dist/components/ui/shared/portal.d.ts +7 -0
- package/dist/components/ui/shared/portal.test.d.ts +1 -0
- package/dist/components/ui/sidebar/index.js +1 -1
- package/dist/components/ui/sidebar/index.js.map +3 -3
- package/dist/components/ui/slider/index.js +1 -1
- package/dist/components/ui/slider/index.js.map +3 -3
- package/dist/components/ui/slider/slider.script.d.ts +5 -12
- package/dist/components/ui/tag-group/index.d.ts +2 -0
- package/dist/components/ui/tag-group/index.js +2 -0
- package/dist/components/ui/tag-group/index.js.map +7 -0
- package/dist/components/ui/tag-group/tag-group.css +184 -0
- package/dist/components/ui/tag-group/tag-group.d.ts +28 -0
- package/dist/components/ui/tag-group/tag-group.script.d.ts +65 -0
- package/dist/components/ui/textarea/index.js +1 -1
- package/dist/components/ui/textarea/index.js.map +2 -2
- package/dist/components/ui/toc/index.js +1 -1
- package/dist/components/ui/toc/index.js.map +3 -3
- package/dist/components/ui/toc/toc.css +1 -1
- package/dist/components/ui/toc/toc.ssr.test.d.ts +1 -0
- package/dist/components/ui/toc/toc.test.d.ts +1 -0
- package/dist/components/ui/tooltip/index.js +1 -1
- package/dist/components/ui/tooltip/index.js.map +3 -3
- package/dist/index.d.ts +14 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/lib/icons/calendar.d.ts +3 -0
- package/dist/lib/icons/chevron-down.d.ts +3 -0
- package/dist/lib/icons/index.d.ts +3 -0
- package/dist/lib/icons/types.d.ts +4 -0
- package/dist/lib/intl/locale.d.ts +3 -0
- package/dist/lib/intl-date/calendar.d.ts +25 -0
- package/dist/lib/intl-date/formatters.d.ts +13 -0
- package/dist/lib/intl-date/index.d.ts +12 -0
- package/dist/lib/intl-date/iso.d.ts +6 -0
- package/dist/lib/intl-date/months.d.ts +12 -0
- package/dist/lib/intl-date/parts.d.ts +15 -0
- package/dist/lib/intl-date/parts.test.d.ts +1 -0
- package/dist/lib/intl-date/segments.d.ts +32 -0
- package/dist/lib/intl-date/segments.test.d.ts +1 -0
- package/dist/lib/intl-date/selection.d.ts +39 -0
- package/dist/lib/intl-date/selection.test.d.ts +1 -0
- package/dist/lib/intl-date/types.d.ts +17 -0
- package/dist/lib/intl-number/format.d.ts +9 -0
- package/dist/lib/intl-number/index.d.ts +2 -0
- package/dist/lib/intl-number/range.d.ts +3 -0
- package/dist/lib/intrinsic.d.ts +13 -0
- package/dist/lib/mask/date-mask.d.ts +29 -0
- package/dist/lib/mask/date-mask.test.d.ts +1 -0
- package/dist/lib/mask/index.d.ts +4 -0
- package/dist/lib/mask/input-mask.d.ts +52 -0
- package/dist/lib/mask/input-mask.test.d.ts +1 -0
- package/dist/lib/text-filter.d.ts +7 -0
- package/dist/lib/text-filter.test.d.ts +1 -0
- package/dist/styles/radiant-ui-core.css +131 -1
- package/dist/styles/radiant-ui.css +142 -1
- package/dist/styles/styles.css +4504 -2395
- package/dist/styles/tailwind.css +142 -1
- package/dist/styles/tokens/typography/default.css +8 -0
- package/package.json +106 -15
- package/dist/components/ui/feed/feed.script.d.ts +0 -22
- package/dist/components/ui/spinbutton/index.d.ts +0 -2
- package/dist/components/ui/spinbutton/index.js +0 -2
- package/dist/components/ui/spinbutton/index.js.map +0 -7
- package/dist/components/ui/spinbutton/spinbutton.css +0 -69
- package/dist/components/ui/spinbutton/spinbutton.d.ts +0 -5
- package/dist/components/ui/spinbutton/spinbutton.script.d.ts +0 -64
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties;
|
|
3
|
+
rui-number-field {
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
width: 100%;
|
|
6
|
+
}
|
|
7
|
+
@layer components {
|
|
8
|
+
.rui-number-field {
|
|
9
|
+
width: 100%;
|
|
10
|
+
font-size: var(--text-sm, var(--text-sm));
|
|
11
|
+
line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
|
|
12
|
+
}
|
|
13
|
+
.rui-number-field__group {
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
width: 100%;
|
|
16
|
+
min-width: 0px;
|
|
17
|
+
align-items: stretch;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
border-style: var(--tw-border-style);
|
|
20
|
+
border-width: 1px;
|
|
21
|
+
border-color: var(--color-border, var(--border));
|
|
22
|
+
background-color: var(--color-background, var(--background));
|
|
23
|
+
border-radius: var(--radius-control);
|
|
24
|
+
transition-duration: var(--duration-normal);
|
|
25
|
+
}
|
|
26
|
+
.rui-number-field__group:focus-within {
|
|
27
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
28
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
29
|
+
--tw-ring-color: var(--color-focus-ring, var(--focus-ring));
|
|
30
|
+
}
|
|
31
|
+
.rui-number-field__group[data-disabled],
|
|
32
|
+
.rui-number-field__group:has(.rui-number-field__input:disabled) {
|
|
33
|
+
cursor: not-allowed;
|
|
34
|
+
opacity: var(--opacity-disabled, var(--opacity-disabled));
|
|
35
|
+
}
|
|
36
|
+
.rui-number-field__group[aria-invalid='true'] {
|
|
37
|
+
border-color: var(--color-error, var(--error));
|
|
38
|
+
}
|
|
39
|
+
.rui-number-field__input {
|
|
40
|
+
min-width: 0px;
|
|
41
|
+
flex: 1;
|
|
42
|
+
border-style: var(--tw-border-style);
|
|
43
|
+
border-width: 0px;
|
|
44
|
+
background-color: transparent;
|
|
45
|
+
color: var(--color-on-background, var(--on-background));
|
|
46
|
+
--tw-outline-style: none;
|
|
47
|
+
outline-style: none;
|
|
48
|
+
padding-inline: var(--space-control-x);
|
|
49
|
+
padding-block: var(--space-control-y);
|
|
50
|
+
font-size: var(--text-control, 0.875rem);
|
|
51
|
+
font-variant-numeric: tabular-nums;
|
|
52
|
+
}
|
|
53
|
+
.rui-number-field__input[data-readonly],
|
|
54
|
+
.rui-number-field__input:read-only {
|
|
55
|
+
cursor: default;
|
|
56
|
+
}
|
|
57
|
+
.rui-number-field__stepper {
|
|
58
|
+
display: inline-flex;
|
|
59
|
+
flex-shrink: 0;
|
|
60
|
+
cursor: default;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
border-style: var(--tw-border-style);
|
|
64
|
+
border-width: 0px;
|
|
65
|
+
border-left-style: var(--tw-border-style);
|
|
66
|
+
border-left-width: 1px;
|
|
67
|
+
border-color: var(--color-border, var(--border));
|
|
68
|
+
background-color: transparent;
|
|
69
|
+
color: var(--color-on-surface, var(--on-surface));
|
|
70
|
+
padding-inline: var(--space-control-y);
|
|
71
|
+
min-inline-size: var(--size-control-sm);
|
|
72
|
+
transition-duration: var(--duration-normal);
|
|
73
|
+
}
|
|
74
|
+
.rui-number-field__stepper:hover:not(:disabled) {
|
|
75
|
+
background-color: var(--color-surface, var(--surface));
|
|
76
|
+
}
|
|
77
|
+
.rui-number-field__stepper:active:not(:disabled) {
|
|
78
|
+
background-color: var(--color-surface-container-low, var(--surface-container-low));
|
|
79
|
+
}
|
|
80
|
+
.rui-number-field__stepper:disabled {
|
|
81
|
+
cursor: not-allowed;
|
|
82
|
+
opacity: var(--opacity-muted, var(--opacity-muted));
|
|
83
|
+
}
|
|
84
|
+
.rui-number-field__stepper:focus-visible {
|
|
85
|
+
position: relative;
|
|
86
|
+
z-index: var(--z-index-dropdown, var(--z-dropdown));
|
|
87
|
+
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
88
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
89
|
+
--tw-ring-color: var(--color-focus-ring, var(--focus-ring));
|
|
90
|
+
--tw-outline-style: none;
|
|
91
|
+
outline-style: none;
|
|
92
|
+
--tw-ring-inset: inset;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
@property --tw-border-style {
|
|
96
|
+
syntax: "*";
|
|
97
|
+
inherits: false;
|
|
98
|
+
initial-value: solid;
|
|
99
|
+
}
|
|
100
|
+
@property --tw-shadow {
|
|
101
|
+
syntax: "*";
|
|
102
|
+
inherits: false;
|
|
103
|
+
initial-value: 0 0 #0000;
|
|
104
|
+
}
|
|
105
|
+
@property --tw-shadow-color {
|
|
106
|
+
syntax: "*";
|
|
107
|
+
inherits: false;
|
|
108
|
+
}
|
|
109
|
+
@property --tw-shadow-alpha {
|
|
110
|
+
syntax: "<percentage>";
|
|
111
|
+
inherits: false;
|
|
112
|
+
initial-value: 100%;
|
|
113
|
+
}
|
|
114
|
+
@property --tw-inset-shadow {
|
|
115
|
+
syntax: "*";
|
|
116
|
+
inherits: false;
|
|
117
|
+
initial-value: 0 0 #0000;
|
|
118
|
+
}
|
|
119
|
+
@property --tw-inset-shadow-color {
|
|
120
|
+
syntax: "*";
|
|
121
|
+
inherits: false;
|
|
122
|
+
}
|
|
123
|
+
@property --tw-inset-shadow-alpha {
|
|
124
|
+
syntax: "<percentage>";
|
|
125
|
+
inherits: false;
|
|
126
|
+
initial-value: 100%;
|
|
127
|
+
}
|
|
128
|
+
@property --tw-ring-color {
|
|
129
|
+
syntax: "*";
|
|
130
|
+
inherits: false;
|
|
131
|
+
}
|
|
132
|
+
@property --tw-ring-shadow {
|
|
133
|
+
syntax: "*";
|
|
134
|
+
inherits: false;
|
|
135
|
+
initial-value: 0 0 #0000;
|
|
136
|
+
}
|
|
137
|
+
@property --tw-inset-ring-color {
|
|
138
|
+
syntax: "*";
|
|
139
|
+
inherits: false;
|
|
140
|
+
}
|
|
141
|
+
@property --tw-inset-ring-shadow {
|
|
142
|
+
syntax: "*";
|
|
143
|
+
inherits: false;
|
|
144
|
+
initial-value: 0 0 #0000;
|
|
145
|
+
}
|
|
146
|
+
@property --tw-ring-inset {
|
|
147
|
+
syntax: "*";
|
|
148
|
+
inherits: false;
|
|
149
|
+
}
|
|
150
|
+
@property --tw-ring-offset-width {
|
|
151
|
+
syntax: "<length>";
|
|
152
|
+
inherits: false;
|
|
153
|
+
initial-value: 0px;
|
|
154
|
+
}
|
|
155
|
+
@property --tw-ring-offset-color {
|
|
156
|
+
syntax: "*";
|
|
157
|
+
inherits: false;
|
|
158
|
+
initial-value: #fff;
|
|
159
|
+
}
|
|
160
|
+
@property --tw-ring-offset-shadow {
|
|
161
|
+
syntax: "*";
|
|
162
|
+
inherits: false;
|
|
163
|
+
initial-value: 0 0 #0000;
|
|
164
|
+
}
|
|
165
|
+
@layer properties {
|
|
166
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
167
|
+
*, ::before, ::after, ::backdrop {
|
|
168
|
+
--tw-border-style: solid;
|
|
169
|
+
--tw-shadow: 0 0 #0000;
|
|
170
|
+
--tw-shadow-color: initial;
|
|
171
|
+
--tw-shadow-alpha: 100%;
|
|
172
|
+
--tw-inset-shadow: 0 0 #0000;
|
|
173
|
+
--tw-inset-shadow-color: initial;
|
|
174
|
+
--tw-inset-shadow-alpha: 100%;
|
|
175
|
+
--tw-ring-color: initial;
|
|
176
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
177
|
+
--tw-inset-ring-color: initial;
|
|
178
|
+
--tw-inset-ring-shadow: 0 0 #0000;
|
|
179
|
+
--tw-ring-inset: initial;
|
|
180
|
+
--tw-ring-offset-width: 0px;
|
|
181
|
+
--tw-ring-offset-color: #fff;
|
|
182
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { JsxHtmlProps, JsxHtmlPropsWithChildren } from '@ecopages/jsx';
|
|
2
|
+
import type { RuiNumberFieldProps } from './number-field.script';
|
|
3
|
+
export type RuiNumberFieldGroupProps = JsxHtmlPropsWithChildren<{
|
|
4
|
+
slot?: string;
|
|
5
|
+
}>;
|
|
6
|
+
/** Input + stepper row. Place `RuiNumberFieldInput` and stepper buttons inside. */
|
|
7
|
+
export declare function RuiNumberFieldGroup({ children, slot, class: className, ...props }: RuiNumberFieldGroupProps): import("@ecopages/jsx").JsxRenderable;
|
|
8
|
+
export type RuiNumberFieldInputProps = JsxHtmlProps<{
|
|
9
|
+
slot?: string;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
/** Text input in the `input` slot. Formatting is handled by `<rui-number-field>`. */
|
|
15
|
+
export declare function RuiNumberFieldInput({ slot, class: className, disabled, readOnly, ...props }: RuiNumberFieldInputProps): import("@ecopages/jsx").JsxRenderable;
|
|
16
|
+
export type RuiNumberFieldStepperButtonProps = JsxHtmlPropsWithChildren<{
|
|
17
|
+
slot?: 'increment' | 'decrement';
|
|
18
|
+
'aria-label'?: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
/** Increment stepper in the `increment` slot. */
|
|
22
|
+
export declare function RuiNumberFieldIncrementButton({ children, slot, class: className, 'aria-label': ariaLabel, disabled, ...props }: RuiNumberFieldStepperButtonProps): import("@ecopages/jsx").JsxRenderable;
|
|
23
|
+
/** Decrement stepper in the `decrement` slot. */
|
|
24
|
+
export declare function RuiNumberFieldDecrementButton({ children, slot, class: className, 'aria-label': ariaLabel, disabled, ...props }: RuiNumberFieldStepperButtonProps): import("@ecopages/jsx").JsxRenderable;
|
|
25
|
+
/**
|
|
26
|
+
* Locale-aware number field — React Aria-style API.
|
|
27
|
+
*
|
|
28
|
+
* ```tsx
|
|
29
|
+
* <RuiNumberField value={25} minValue={0} maxValue={100}>
|
|
30
|
+
* <RuiNumberFieldGroup>
|
|
31
|
+
* <RuiNumberFieldInput />
|
|
32
|
+
* <RuiNumberFieldDecrementButton />
|
|
33
|
+
* <RuiNumberFieldIncrementButton />
|
|
34
|
+
* </RuiNumberFieldGroup>
|
|
35
|
+
* </RuiNumberField>
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Or use standalone; default slots render input and stepper buttons.
|
|
39
|
+
* Pair with `RuiLabel` / `RuiField` for labeling and validation.
|
|
40
|
+
*/
|
|
41
|
+
export declare const RuiNumberField: import("@/lib/radiant-view").RadiantViewComponent<JsxHtmlPropsWithChildren<RuiNumberFieldProps & {
|
|
42
|
+
slot?: string;
|
|
43
|
+
}>>;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { RadiantElement } from '@ecopages/radiant';
|
|
2
|
+
import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter';
|
|
3
|
+
export type RuiNumberFieldCommitBehavior = 'snap' | 'validate';
|
|
4
|
+
export type RuiNumberFieldProps = {
|
|
5
|
+
value?: number;
|
|
6
|
+
/** Initial value when uncontrolled. */
|
|
7
|
+
defaultValue?: number;
|
|
8
|
+
minValue?: number;
|
|
9
|
+
maxValue?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
/** Accessible name when there is no visible `RuiLabel` associated with the input. */
|
|
14
|
+
label?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
/** BCP 47 locale tag, or comma-separated fallback list (e.g. `en-US,en`). */
|
|
17
|
+
locale?: string;
|
|
18
|
+
/** JSON-serialized `Intl.NumberFormatOptions`. */
|
|
19
|
+
formatOptions?: string;
|
|
20
|
+
/** Blur behavior after editing. Defaults to `snap`. */
|
|
21
|
+
commitBehavior?: RuiNumberFieldCommitBehavior;
|
|
22
|
+
incrementAriaLabel?: string;
|
|
23
|
+
decrementAriaLabel?: string;
|
|
24
|
+
/** Disables scroll-wheel value changes. */
|
|
25
|
+
wheelDisabled?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export type RuiNumberFieldChangeDetail = {
|
|
28
|
+
value: number;
|
|
29
|
+
};
|
|
30
|
+
type RuiNumberFieldBindings = {
|
|
31
|
+
value: number;
|
|
32
|
+
disabled: boolean;
|
|
33
|
+
readOnly: boolean;
|
|
34
|
+
label: string;
|
|
35
|
+
name: string;
|
|
36
|
+
decreaseDisabled: boolean;
|
|
37
|
+
increaseDisabled: boolean;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* `<rui-number-field>` — a locale-aware number input with optional stepper buttons.
|
|
41
|
+
*
|
|
42
|
+
* Implements the React Aria NumberField interaction model: formatted display via
|
|
43
|
+
* `Intl.NumberFormat`, commit on blur/increment/decrement, and composable slots.
|
|
44
|
+
*
|
|
45
|
+
* Compose with `data-number-field-group`, `data-number-field-input`, and
|
|
46
|
+
* `data-number-field-action` (see view helpers), or use the default markup from `RuiNumberField`.
|
|
47
|
+
*
|
|
48
|
+
* @see https://react-aria.adobe.com/NumberField
|
|
49
|
+
* @element rui-number-field
|
|
50
|
+
* @slot group - Input + stepper row (`RuiNumberFieldGroup`).
|
|
51
|
+
* @slot input - Text input (`RuiNumberFieldInput`).
|
|
52
|
+
* @slot decrement - Decrement button (`RuiNumberFieldDecrementButton`).
|
|
53
|
+
* @slot increment - Increment button (`RuiNumberFieldIncrementButton`).
|
|
54
|
+
* @fires rui-change
|
|
55
|
+
*/
|
|
56
|
+
export declare class RuiNumberField extends RadiantElement<RuiNumberFieldBindings> {
|
|
57
|
+
value: number | undefined;
|
|
58
|
+
defaultValue: number | undefined;
|
|
59
|
+
minValue: number;
|
|
60
|
+
maxValue: number;
|
|
61
|
+
step: number;
|
|
62
|
+
disabled: boolean;
|
|
63
|
+
readOnly: boolean;
|
|
64
|
+
label: string;
|
|
65
|
+
name: string;
|
|
66
|
+
locale: string;
|
|
67
|
+
formatOptions: string;
|
|
68
|
+
commitBehavior: RuiNumberFieldCommitBehavior;
|
|
69
|
+
incrementAriaLabel: string;
|
|
70
|
+
decrementAriaLabel: string;
|
|
71
|
+
wheelDisabled: boolean;
|
|
72
|
+
changeEvent: EventEmitter<RuiNumberFieldChangeDetail>;
|
|
73
|
+
decreaseDisabled: boolean;
|
|
74
|
+
increaseDisabled: boolean;
|
|
75
|
+
private editing;
|
|
76
|
+
private draftValue;
|
|
77
|
+
private initialized;
|
|
78
|
+
private readonly uid;
|
|
79
|
+
private readonly nameAttr;
|
|
80
|
+
private get resolvedLocale();
|
|
81
|
+
private get resolvedFormatOptions();
|
|
82
|
+
private get inputId();
|
|
83
|
+
private getNumericValue;
|
|
84
|
+
private getInput;
|
|
85
|
+
private getHiddenInput;
|
|
86
|
+
private syncLabel;
|
|
87
|
+
private syncInput;
|
|
88
|
+
private updateStepperState;
|
|
89
|
+
private syncSlottedSteppers;
|
|
90
|
+
private commitValue;
|
|
91
|
+
private commitDraft;
|
|
92
|
+
private initialize;
|
|
93
|
+
connectedCallback(): void;
|
|
94
|
+
onPropsUpdated(): void;
|
|
95
|
+
decrement(event: Event): void;
|
|
96
|
+
increment(event: Event): void;
|
|
97
|
+
onInputFocus(event: Event): void;
|
|
98
|
+
onInputBlur(): void;
|
|
99
|
+
onInput(event: Event): void;
|
|
100
|
+
onKeydown(event: KeyboardEvent): void;
|
|
101
|
+
onWheel(event: WheelEvent): void;
|
|
102
|
+
render(): import("@ecopages/jsx").JsxRenderable;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { RuiPopover, RuiPopoverContent, RuiPopoverTrigger } from './popover';
|
|
2
|
+
export type { RuiPopoverContentProps } from './popover';
|
|
3
|
+
export type { RuiPopoverOpenChangeDetail, RuiPopoverProps, RuiPopoverTriggerProps } from './popover.script';
|
|
4
|
+
export { RuiPopover as RuiPopoverElement, RuiPopoverTrigger as RuiPopoverTriggerElement } from './popover.script';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as nt,jsxs as se}from"@ecopages/jsx/jsx-runtime";function gt(...e){return e.filter(Boolean).join(" ")}var ae=Symbol.for("@ecopages/storybook-radiant.viewElement"),mt=Symbol.for("@ecopages/storybook-radiant.scriptModule"),vt=Symbol.for("@ecopages/storybook-radiant.scriptExport");function ce(e,t){e[ae]=t;let n=t[mt];n&&(e[mt]=n,e[vt]=t[vt]??t.name)}function Q(e,t,n){let o=r=>t(r);return ce(o,e),o}import{jsx as F,jsxs as oe}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as q,bound as tt,customElement as re,event as _e,onEvent as D,onUpdated as ie,prop as E,query as et}from"@ecopages/radiant";var le={top:"bottom",bottom:"top",left:"right",right:"left"},ue=8;function he(e){let t=e.indexOf("-");if(t===-1)return{side:e,align:"center"};let n=e.slice(0,t),o=e.slice(t+1);return{side:n,align:o==="start"||o==="end"?o:"center"}}function _t(e){return e==="top"||e==="bottom"?"y":"x"}function yt(e,t,n,o,r){let{width:i,height:a}=t,s=0,f=0;switch(n){case"top":f=e.top-a-r;break;case"bottom":f=e.bottom+r;break;case"left":s=e.left-i-r;break;case"right":s=e.right+r;break}return _t(n)==="y"?o==="start"?s=e.left:o==="end"?s=e.right-i:s=e.left+(e.width-i)/2:o==="start"?f=e.top:o==="end"?f=e.bottom-a:f=e.top+(e.height-a)/2,{x:s,y:f}}function pe(e,t,n,o){let{padding:r,width:i,height:a}=o;return n==="top"?Math.max(0,r-e.y):n==="bottom"?Math.max(0,e.y+t.height-(a-r)):n==="left"?Math.max(0,r-e.x):Math.max(0,e.x+t.width-(i-r))}function bt(e,t,n,o){let{padding:r,width:i,height:a}=o;return n==="top"?e.top-r-t.height:n==="bottom"?a-r-t.height-e.bottom:n==="left"?e.left-r-t.width:i-r-t.width-e.right}function fe(e,t){return t==="center"?e:`${e}-${t}`}function de(e,t,n,o){let{padding:r,width:i,height:a}=o;if(_t(n)==="y"){let f=Math.max(r,i-r-t.width);return{x:Math.min(Math.max(e.x,r),f),y:e.y}}let s=Math.max(r,a-r-t.height);return{x:e.x,y:Math.min(Math.max(e.y,r),s)}}function ge(e,t,n,o,r={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:ue}){let{side:i,align:a}=he(n),s=yt(e,t,i,a,o),f=pe(s,t,i,r),P=i,T=s;if(f>0){let A=le[i],C=yt(e,t,A,a,o),M=bt(e,t,i,r);bt(e,t,A,r)>M&&(P=A,T=C)}return{coords:de(T,t,P,r),placement:fe(P,a)}}function me(e,t,n,o,r={}){let{coords:i,placement:a}=ge(e.getBoundingClientRect(),{width:t.offsetWidth,height:t.offsetHeight},n,o);return Object.assign(t.style,{position:"fixed",left:`${i.x}px`,top:`${i.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),r.matchAnchorWidth&&(t.style.width=`${e.offsetWidth}px`),t.setAttribute("data-placement",a),a}function xt({anchor:e,floating:t,getPlacement:n,gap:o,matchAnchorWidth:r}){let i=()=>{t.hidden||me(e,t,n(),o,{matchAnchorWidth:r})};i(),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0);let a=new ResizeObserver(i);return a.observe(e),a.observe(t),()=>{window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0),a.disconnect()}}function wt(e,t=document.body){let n=e.parentNode;if(!n)return{unmount:()=>{}};let o=document.createComment("rui-portal");return n.insertBefore(o,e),t.appendChild(e),{unmount:()=>{let r=o.parentNode;r&&(r.insertBefore(e,o),o.remove())}}}function Z(e,t,n){return n?!!(e?.contains(n)||t?.contains(n)):!1}function Et(e,t,n){return n instanceof Node?!Z(e,t,n):!0}function Pt(e,t,n){return!Z(e,t,n)}var L=class{config;cleanupFloating=null;portalHandle=null;floatingElement=null;constructor(t){this.config=t}updateConfig(t){this.config={...this.config,...t}}sync(){let t=this.resolveFloating();if(!t)return;if(!this.config.getOpen()){this.teardown(),t.hidden=!0;return}let o=this.config.getAnchor();if(!o)return;t.hidden=!1,this.config.portal!==!1?this.portalHandle||(this.portalHandle=wt(t,this.config.portalContainer??document.body)):this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null),this.teardownFloating(),this.cleanupFloating=xt({anchor:o,floating:t,getPlacement:this.config.getPlacement,gap:this.config.gap??8,matchAnchorWidth:this.config.matchAnchorWidth})}contains(t){return Z(this.config.getAnchor(),this.resolveFloating(),t)}getFloatingElement(){return this.resolveFloating()}teardown(){this.teardownFloating(),this.portalHandle&&(this.portalHandle.unmount(),this.portalHandle=null)}destroy(){this.teardown(),this.floatingElement=null}resolveFloating(){let t=this.config.getFloating();return t&&(this.floatingElement=t),t??this.floatingElement}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}};var Tt,At,Ct,kt,Rt,Ot,St,Ft,Dt,Mt,Wt,It,jt,Ht,Vt,Lt,qt,Bt,$t,Ut,Kt,Xt,Gt,Yt,Jt,Nt,Qt,Zt;function ne(e,t,n,o,r,i){var a,s,f,P,T,A,C,M=Symbol.metadata||Symbol.for("Symbol.metadata"),U=Object.defineProperty,K=Object.create,ot=[K(null),K(null)],rt=t.length;function W(c,v,g){return function(l,u){v&&(u=l,l=e);for(var y=0;y<c.length;y++)u=c[y].apply(l,g?[u]:[]);return g?u:l}}function x(c,v,g,l){if(typeof c!="function"&&(l||c!==void 0))throw new TypeError(v+" must "+(g||"be")+" a function"+(l?"":" or undefined"));return c}function it(c,v,g,l,u,y,k,m,b,_,at){function X(p){if(!at(p))throw new TypeError("Attempted to access private element on non-instance")}var G=[].concat(v[0]),ct=v[3],Y=!k,O=u===1,lt=u===3,ut=u===4,I=u===2;function j(p,R,ft){return function(V,dt){return R&&(dt=V,V=c),ft&&ft(V),h[p].call(V,dt)}}if(!Y){var h={},J=[],w=lt?"get":ut||O?"set":"value";if(b?(_||O?h={get:zt(function(){return ct(this)},l,"get"),set:function(p){v[4](this,p)}}:h[w]=ct,_||zt(h[w],l,I?"":w)):_||(h=Object.getOwnPropertyDescriptor(c,l)),!_&&!b){if((s=ot[+m][l])&&(s^u)!==7)throw Error("Decorating two elements with the same name ("+h[w].name+") is not supported yet");ot[+m][l]=u<3?1:u}}for(var d=c,H=G.length-1;H>=0;H-=g?2:1){var ht=x(G[H],"A decorator","be",!0),pt=g?G[H-1]:void 0,N={},S={kind:["field","accessor","method","getter","setter","class"][u],name:l,metadata:a,addInitializer:function(p,R){if(p.v)throw new TypeError("attempted to call addInitializer after decoration was finished");x(R,"An initializer","be",!0),y.push(R)}.bind(null,N)};if(Y)s=ht.call(pt,d,S),N.v=1,x(s,"class decorators","return")&&(d=s);else if(S.static=m,S.private=b,s=S.access={has:b?at.bind():function(p){return l in p}},ut||(s.get=b?I?function(p){return X(p),h.value}:j("get",0,X):function(p){return p[l]}),I||lt||(s.set=b?j("set",0,X):function(p,R){p[l]=R}),d=ht.call(pt,O?{get:h.get,set:h.set}:h[w],S),N.v=1,O){if(typeof d=="object"&&d)(s=x(d.get,"accessor.get"))&&(h.get=s),(s=x(d.set,"accessor.set"))&&(h.set=s),(s=x(d.init,"accessor.init"))&&J.unshift(s);else if(d!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else x(d,(_?"field":"method")+" decorators","return")&&(_?J.unshift(d):h[w]=d)}return u<2&&k.push(W(J,m,1),W(y,m,0)),_||Y||(b?O?k.splice(-1,0,j("get",m),j("set",m)):k.push(I?h[w]:x.call.bind(h[w])):U(c,l,h)),d}function st(c){return U(c,M,{configurable:!0,enumerable:!0,value:a})}return i!==void 0&&(a=i[M]),a=K(a??null),T=[],A=function(c){c&&T.push(W(c))},C=function(c,v){for(var g=0;g<n.length;g++){var l=n[g],u=l[1],y=7&u;if((8&u)==c&&!y==v){var k=l[2],m=!!l[3],b=16&u;it(c?e:e.prototype,l,b,m?"#"+k:ve(k),y,y<2?[]:c?P=P||[]:f=f||[],T,!!c,m,v,c&&m?function(_){return be(_)===e}:r)}}},C(8,0),C(0,0),C(8,1),C(0,1),A(f),A(P),s=T,rt||st(e),{e:s,get c(){var c=[];return rt&&[st(e=it(e,[t],o,e.name,5,c)),W(c,1)]}}}function ve(e){var t=ye(e,"string");return typeof t=="symbol"?t:t+""}function ye(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 zt(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 be(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 B,te=class extends q{static{({e:[Ct,kt,Rt,Ot,St,Ft,Dt,Mt,Wt,It,jt,Ht,Vt,Lt,qt,Bt,$t,Ut,Kt,Xt,Tt],c:[B,At]}=ne(this,[re("rui-popover")],[[E({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[E({type:String,defaultValue:"bottom"}),0,"placement"],[E({type:Boolean,defaultValue:!0}),0,"portal"],[E({type:Boolean,defaultValue:!1}),0,"matchAnchorWidth"],[E({type:Number,defaultValue:8}),0,"offset"],[E({type:String,defaultValue:""}),0,"anchor"],[E({type:String,defaultValue:"default"}),0,"variant"],[et({ref:"surface"}),0,"surfaceTarget"],[et({ref:"host"}),0,"hostTarget"],[_e({name:"rui-open-change",bubbles:!0,composed:!0}),0,"openChangeEvent"],[[tt,ie(["open","placement","portal","matchAnchorWidth","offset","anchor"])],2,"syncPopover"],[D({document:!0,type:"pointerdown"}),2,"onDocumentPointerDown"],[D({ref:"host",type:"focusout"}),2,"onFocusOut"],[tt,2,"onExternalAnchorClick"],[D({document:!0,type:"keydown"}),2,"onDocumentKeydown"]],0,void 0,q))}open=(Tt(this),Ct(this));placement=(kt(this),Rt(this));portal=(Ot(this),St(this));matchAnchorWidth=(Ft(this),Dt(this));offset=(Mt(this),Wt(this));anchor=(It(this),jt(this));variant=(Ht(this),Vt(this));surfaceTarget=(Lt(this),qt(this));hostTarget=(Bt(this),$t(this));openChangeEvent=(Ut(this),Kt(this));surfaceId=(Xt(this),`rui-popover-${Math.random().toString(36).slice(2,9)}`);controller=null;anchorClickTarget=null;connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncPopover())}disconnectedCallback(){this.unbindExternalAnchorClick(),this.controller?.destroy(),this.controller=null,super.disconnectedCallback()}getAnchorElement(){let n=this.closest("rui-popover-trigger")?.querySelector('[slot="trigger"]');if(n instanceof HTMLElement)return z(n);let o=this.querySelector('[slot="trigger"]');if(o instanceof HTMLElement)return z(o);let r=this.anchor.trim();if(r){let i=document.querySelector(r);if(i instanceof HTMLElement)return z(i)}return null}ensureController(){return this.controller||(this.controller=new L({getAnchor:()=>this.getAnchorElement(),getFloating:()=>this.surfaceTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:this.offset,portal:this.portal,matchAnchorWidth:this.matchAnchorWidth})),this.controller}syncPopover(){let t=this.getAnchorElement(),n=this.surfaceTarget;n&&(n.id=this.surfaceId),t&&(t.setAttribute("aria-controls",this.surfaceId),t.setAttribute("aria-expanded",String(this.open))),this.syncExternalAnchorClick(t);let o=this.ensureController();o.updateConfig({getAnchor:()=>this.getAnchorElement(),getFloating:()=>this.surfaceTarget,getOpen:()=>this.open,getPlacement:()=>this.placement,gap:this.offset,portal:this.portal,matchAnchorWidth:this.matchAnchorWidth}),o.sync()}setOpen(t,n=!0){if(this.open===t){this.syncPopover();return}this.open=t,n&&this.openChangeEvent.emit({open:t}),this.syncPopover()}onDocumentPointerDown(t){if(!this.open)return;let n=t.target;Pt(this.getAnchorElement(),this.controller?.getFloatingElement()??this.surfaceTarget,n)&&this.setOpen(!1)}onFocusOut(t){this.open&&Et(this.getAnchorElement(),this.controller?.getFloatingElement()??this.surfaceTarget,t.relatedTarget)&&this.setOpen(!1)}usesExternalAnchor(){return!this.anchor.trim()||this.closest("rui-popover-trigger")?!1:!this.querySelector('[slot="trigger"]')}syncExternalAnchorClick(t){if(!this.usesExternalAnchor()||!t){this.unbindExternalAnchorClick();return}this.anchorClickTarget!==t&&(this.unbindExternalAnchorClick(),t.addEventListener("click",this.onExternalAnchorClick),this.anchorClickTarget=t)}unbindExternalAnchorClick(){this.anchorClickTarget&&(this.anchorClickTarget.removeEventListener("click",this.onExternalAnchorClick),this.anchorClickTarget=null)}onExternalAnchorClick(){this.setOpen(!this.open)}onDocumentKeydown(t){if(!this.open||t.key!=="Escape")return;t.preventDefault(),this.setOpen(!1),this.getAnchorElement()?.focus()}render(){let t=this.variant==="listbox"?"rui-popover--listbox":"";return oe("div",{class:"rui-popover-host","data-ref":"host",children:[F("slot",{name:"trigger"}),F("div",{"data-ref":"surface",class:`rui-popover rui-floating ${t}`.trim(),role:"dialog",hidden:!0,children:F("slot",{name:"content"})})]})}static{At()}};var $,ee=class extends q{static{({e:[Jt,Nt,Qt,Zt,Gt],c:[$,Yt]}=ne(this,[re("rui-popover-trigger")],[[E({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[et({ref:"root"}),0,"rootTarget"],[[tt,ie(["open"])],2,"syncToPopover"],[D({ref:"root",type:"click"}),2,"onHostClick"],[D({selector:"rui-popover",type:"rui-open-change"}),2,"onPopoverOpenChange"]],0,void 0,q))}constructor(...t){super(...t),Zt(this)}open=(Gt(this),Jt(this));rootTarget=(Nt(this),Qt(this));getPopover(){return this.querySelector("rui-popover")}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this.syncToPopover())}syncToPopover(){let t=this.getPopover();t&&t.open!==this.open&&t.setOpen(this.open,!1)}onHostClick(t){if(!t.target?.closest('[slot="trigger"]'))return;this.open=!this.open,this.getPopover()?.setOpen(this.open)}onPopoverOpenChange(t){let n=this.getPopover();t.target===n&&(this.open=t.detail.open)}render(){return oe("div",{class:"rui-popover-trigger","data-ref":"root",children:[F("slot",{name:"trigger"}),F("slot",{})]})}static{Yt()}};function z(e){return e.querySelector('button, a[href], input, select, textarea, [role="button"]')??e}function xe({children:e,slot:t="content",class:n,...o}){return nt("div",{...o,slot:t,class:gt(n),children:e})}var we=Q(B,({trigger:e,children:t,...n})=>se("rui-popover",{...n,children:[e!=null?nt("span",{slot:"trigger",children:e}):null,t]}),{stylesheets:["./popover.css"]}),Ee=Q($,({trigger:e,children:t,...n})=>se("rui-popover-trigger",{...n,children:[nt("span",{slot:"trigger",children:e}),t]}),{stylesheets:["./popover.css"]});export{we as RuiPopover,xe as RuiPopoverContent,B as RuiPopoverElement,Ee as RuiPopoverTrigger,$ as RuiPopoverTriggerElement};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/ui/popover/popover.tsx", "../../../../src/lib/cx.ts", "../../../../src/lib/radiant-view.ts", "../../../../src/components/ui/popover/popover.script.tsx", "../../../../src/components/ui/shared/floating-position.ts", "../../../../src/components/ui/shared/portal.ts", "../../../../src/components/ui/shared/popover-controller.ts"],
|
|
4
|
+
"sourcesContent": ["import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiPopover as RuiPopoverElement, RuiPopoverTrigger as RuiPopoverTriggerElement } from \"./popover.script\";\nexport function RuiPopoverContent({\n children,\n slot = \"content\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n slot,\n class: cx(className),\n children\n });\n}\nexport const RuiPopover = defineRadiantView(RuiPopoverElement, ({\n trigger,\n children,\n ...props\n}) => /* @__PURE__ */jsxs(\"rui-popover\", {\n ...props,\n children: [trigger != null ? /* @__PURE__ */jsx(\"span\", {\n slot: \"trigger\",\n children: trigger\n }) : null, children]\n}), {\n stylesheets: [\"./popover.css\"]\n});\nexport const RuiPopoverTrigger = defineRadiantView(RuiPopoverTriggerElement, ({\n trigger,\n children,\n ...props\n}) => /* @__PURE__ */jsxs(\"rui-popover-trigger\", {\n ...props,\n children: [/* @__PURE__ */jsx(\"span\", {\n slot: \"trigger\",\n children: trigger\n }), children]\n}), {\n stylesheets: [\"./popover.css\"]\n});", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "const RADIANT_VIEW_ELEMENT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewElement\");\nconst RADIANT_SCRIPT_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptModule\");\nconst RADIANT_SCRIPT_EXPORT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptExport\");\nconst RADIANT_VIEW_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewModule\");\nfunction linkViewToElement(view, element) {\n view[RADIANT_VIEW_ELEMENT] = element;\n const ssrModule = element[RADIANT_SCRIPT_MODULE];\n if (ssrModule) {\n view[RADIANT_SCRIPT_MODULE] = ssrModule;\n view[RADIANT_SCRIPT_EXPORT] = element[RADIANT_SCRIPT_EXPORT] ?? element.name;\n }\n}\nexport function defineRadiantView(element, render, _options) {\n const view = args => render(args);\n linkViewToElement(view, element);\n return view;\n}\nexport function attachRadiantStylesheets(target, _stylesheets, moduleUrl) {\n const view = target;\n view[RADIANT_VIEW_MODULE] = moduleUrl;\n return target;\n}\nexport function syncRadiantViewMetadata(view) {\n const element = view[RADIANT_VIEW_ELEMENT];\n if (element) {\n linkViewToElement(view, element);\n }\n}", "let _initProto, _initClass, _init_open, _init_extra_open, _init_placement, _init_extra_placement, _init_portal, _init_extra_portal, _init_matchAnchorWidth, _init_extra_matchAnchorWidth, _init_offset, _init_extra_offset, _init_anchor, _init_extra_anchor, _init_variant, _init_extra_variant, _init_surfaceTarget, _init_extra_surfaceTarget, _init_hostTarget, _init_extra_hostTarget, _init_openChangeEvent, _init_extra_openChangeEvent, _initProto2, _initClass2, _init_open2, _init_extra_open2, _init_rootTarget, _init_extra_rootTarget;\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 { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bound, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { PopoverController, shouldDismissPopoverFocus, shouldDismissPopoverPointer } from \"../shared/popover-controller\";\nlet _RuiPopover;\nclass RuiPopover extends RadiantElement {\n static {\n ({\n e: [_init_open, _init_extra_open, _init_placement, _init_extra_placement, _init_portal, _init_extra_portal, _init_matchAnchorWidth, _init_extra_matchAnchorWidth, _init_offset, _init_extra_offset, _init_anchor, _init_extra_anchor, _init_variant, _init_extra_variant, _init_surfaceTarget, _init_extra_surfaceTarget, _init_hostTarget, _init_extra_hostTarget, _init_openChangeEvent, _init_extra_openChangeEvent, _initProto],\n c: [_RuiPopover, _initClass]\n } = _applyDecs(this, [customElement(\"rui-popover\")], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"open\"], [prop({\n type: String,\n defaultValue: \"bottom\"\n }), 0, \"placement\"], [prop({\n type: Boolean,\n defaultValue: true\n }), 0, \"portal\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"matchAnchorWidth\"], [prop({\n type: Number,\n defaultValue: 8\n }), 0, \"offset\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"anchor\"], [prop({\n type: String,\n defaultValue: \"default\"\n }), 0, \"variant\"], [query({\n ref: \"surface\"\n }), 0, \"surfaceTarget\"], [query({\n ref: \"host\"\n }), 0, \"hostTarget\"], [event({\n name: \"rui-open-change\",\n bubbles: true,\n composed: true\n }), 0, \"openChangeEvent\"], [[bound, onUpdated([\"open\", \"placement\", \"portal\", \"matchAnchorWidth\", \"offset\", \"anchor\"])], 2, \"syncPopover\"], [onEvent({\n document: true,\n type: \"pointerdown\"\n }), 2, \"onDocumentPointerDown\"], [onEvent({\n ref: \"host\",\n type: \"focusout\"\n }), 2, \"onFocusOut\"], [bound, 2, \"onExternalAnchorClick\"], [onEvent({\n document: true,\n type: \"keydown\"\n }), 2, \"onDocumentKeydown\"]], 0, void 0, RadiantElement));\n }\n open = (_initProto(this), _init_open(this));\n placement = (_init_extra_open(this), _init_placement(this));\n portal = (_init_extra_placement(this), _init_portal(this));\n matchAnchorWidth = (_init_extra_portal(this), _init_matchAnchorWidth(this));\n offset = (_init_extra_matchAnchorWidth(this), _init_offset(this));\n anchor = (_init_extra_offset(this), _init_anchor(this));\n variant = (_init_extra_anchor(this), _init_variant(this));\n surfaceTarget = (_init_extra_variant(this), _init_surfaceTarget(this));\n hostTarget = (_init_extra_surfaceTarget(this), _init_hostTarget(this));\n openChangeEvent = (_init_extra_hostTarget(this), _init_openChangeEvent(this));\n surfaceId = (_init_extra_openChangeEvent(this), `rui-popover-${Math.random().toString(36).slice(2, 9)}`);\n controller = null;\n anchorClickTarget = null;\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.syncPopover());\n }\n disconnectedCallback() {\n this.unbindExternalAnchorClick();\n this.controller?.destroy();\n this.controller = null;\n super.disconnectedCallback();\n }\n getAnchorElement() {\n const triggerHost = this.closest(\"rui-popover-trigger\");\n const triggerFromHost = triggerHost?.querySelector('[slot=\"trigger\"]');\n if (triggerFromHost instanceof HTMLElement) {\n return resolvePopoverAnchor(triggerFromHost);\n }\n const slottedTrigger = this.querySelector('[slot=\"trigger\"]');\n if (slottedTrigger instanceof HTMLElement) {\n return resolvePopoverAnchor(slottedTrigger);\n }\n const selector = this.anchor.trim();\n if (selector) {\n const external = document.querySelector(selector);\n if (external instanceof HTMLElement) {\n return resolvePopoverAnchor(external);\n }\n }\n return null;\n }\n ensureController() {\n if (!this.controller) {\n this.controller = new PopoverController({\n getAnchor: () => this.getAnchorElement(),\n getFloating: () => this.surfaceTarget,\n getOpen: () => this.open,\n getPlacement: () => this.placement,\n gap: this.offset,\n portal: this.portal,\n matchAnchorWidth: this.matchAnchorWidth\n });\n }\n return this.controller;\n }\n syncPopover() {\n const anchor = this.getAnchorElement();\n const surface = this.surfaceTarget;\n if (surface) {\n surface.id = this.surfaceId;\n }\n if (anchor) {\n anchor.setAttribute(\"aria-controls\", this.surfaceId);\n anchor.setAttribute(\"aria-expanded\", String(this.open));\n }\n this.syncExternalAnchorClick(anchor);\n const controller = this.ensureController();\n controller.updateConfig({\n getAnchor: () => this.getAnchorElement(),\n getFloating: () => this.surfaceTarget,\n getOpen: () => this.open,\n getPlacement: () => this.placement,\n gap: this.offset,\n portal: this.portal,\n matchAnchorWidth: this.matchAnchorWidth\n });\n controller.sync();\n }\n setOpen(next, emit = true) {\n if (this.open === next) {\n this.syncPopover();\n return;\n }\n this.open = next;\n if (emit) {\n this.openChangeEvent.emit({\n open: next\n });\n }\n this.syncPopover();\n }\n onDocumentPointerDown(event2) {\n if (!this.open) {\n return;\n }\n const target = event2.target;\n if (!shouldDismissPopoverPointer(this.getAnchorElement(), this.controller?.getFloatingElement() ?? this.surfaceTarget, target)) {\n return;\n }\n this.setOpen(false);\n }\n onFocusOut(event2) {\n if (!this.open) {\n return;\n }\n if (!shouldDismissPopoverFocus(this.getAnchorElement(), this.controller?.getFloatingElement() ?? this.surfaceTarget, event2.relatedTarget)) {\n return;\n }\n this.setOpen(false);\n }\n usesExternalAnchor() {\n if (!this.anchor.trim()) {\n return false;\n }\n if (this.closest(\"rui-popover-trigger\")) {\n return false;\n }\n return !this.querySelector('[slot=\"trigger\"]');\n }\n syncExternalAnchorClick(anchor) {\n if (!this.usesExternalAnchor() || !anchor) {\n this.unbindExternalAnchorClick();\n return;\n }\n if (this.anchorClickTarget === anchor) {\n return;\n }\n this.unbindExternalAnchorClick();\n anchor.addEventListener(\"click\", this.onExternalAnchorClick);\n this.anchorClickTarget = anchor;\n }\n unbindExternalAnchorClick() {\n if (!this.anchorClickTarget) {\n return;\n }\n this.anchorClickTarget.removeEventListener(\"click\", this.onExternalAnchorClick);\n this.anchorClickTarget = null;\n }\n onExternalAnchorClick() {\n this.setOpen(!this.open);\n }\n onDocumentKeydown(event2) {\n if (!this.open || event2.key !== \"Escape\") {\n return;\n }\n event2.preventDefault();\n this.setOpen(false);\n const anchor = this.getAnchorElement();\n anchor?.focus();\n }\n render() {\n const variantClass = this.variant === \"listbox\" ? \"rui-popover--listbox\" : \"\";\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-popover-host\",\n \"data-ref\": \"host\",\n children: [/* @__PURE__ */jsx(\"slot\", {\n name: \"trigger\"\n }), /* @__PURE__ */jsx(\"div\", {\n \"data-ref\": \"surface\",\n class: `rui-popover rui-floating ${variantClass}`.trim(),\n role: \"dialog\",\n hidden: true,\n children: /* @__PURE__ */jsx(\"slot\", {\n name: \"content\"\n })\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiPopover as RuiPopover };\nlet _RuiPopoverTrigger;\nclass RuiPopoverTrigger extends RadiantElement {\n static {\n ({\n e: [_init_open2, _init_extra_open2, _init_rootTarget, _init_extra_rootTarget, _initProto2],\n c: [_RuiPopoverTrigger, _initClass2]\n } = _applyDecs(this, [customElement(\"rui-popover-trigger\")], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"open\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [[bound, onUpdated([\"open\"])], 2, \"syncToPopover\"], [onEvent({\n ref: \"root\",\n type: \"click\"\n }), 2, \"onHostClick\"], [onEvent({\n selector: \"rui-popover\",\n type: \"rui-open-change\"\n }), 2, \"onPopoverOpenChange\"]], 0, void 0, RadiantElement));\n }\n constructor(...args) {\n super(...args);\n _init_extra_rootTarget(this);\n }\n open = (_initProto2(this), _init_open2(this));\n rootTarget = (_init_extra_open2(this), _init_rootTarget(this));\n getPopover() {\n return this.querySelector(\"rui-popover\");\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => this.syncToPopover());\n }\n syncToPopover() {\n const popover = this.getPopover();\n if (!popover) {\n return;\n }\n if (popover.open !== this.open) {\n popover.setOpen(this.open, false);\n }\n }\n onHostClick(event2) {\n const target = event2.target;\n if (!target?.closest('[slot=\"trigger\"]')) {\n return;\n }\n this.open = !this.open;\n const popover = this.getPopover();\n popover?.setOpen(this.open);\n }\n onPopoverOpenChange(event2) {\n const popover = this.getPopover();\n if (event2.target !== popover) {\n return;\n }\n this.open = event2.detail.open;\n }\n render() {\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-popover-trigger\",\n \"data-ref\": \"root\",\n children: [/* @__PURE__ */jsx(\"slot\", {\n name: \"trigger\"\n }), /* @__PURE__ */jsx(\"slot\", {})]\n });\n }\n static {\n _initClass2();\n }\n}\nexport { _RuiPopoverTrigger as RuiPopoverTrigger };\nfunction resolvePopoverAnchor(trigger) {\n const focusable = trigger.querySelector('button, a[href], input, select, textarea, [role=\"button\"]');\n return focusable ?? trigger;\n}", "const OPPOSITE = {\n top: \"bottom\",\n bottom: \"top\",\n left: \"right\",\n right: \"left\"\n};\nconst DEFAULT_VIEWPORT_PADDING = 8;\nfunction parsePlacement(placement) {\n const dash = placement.indexOf(\"-\");\n if (dash === -1) return {\n side: placement,\n align: \"center\"\n };\n const side = placement.slice(0, dash);\n const align = placement.slice(dash + 1);\n return {\n side,\n align: align === \"start\" || align === \"end\" ? align : \"center\"\n };\n}\nfunction primaryAxis(side) {\n return side === \"top\" || side === \"bottom\" ? \"y\" : \"x\";\n}\nfunction coordsFor(anchor, size, side, align, gap) {\n const {\n width,\n height\n } = size;\n let x = 0;\n let y = 0;\n switch (side) {\n case \"top\":\n y = anchor.top - height - gap;\n break;\n case \"bottom\":\n y = anchor.bottom + gap;\n break;\n case \"left\":\n x = anchor.left - width - gap;\n break;\n case \"right\":\n x = anchor.right + gap;\n break;\n }\n if (primaryAxis(side) === \"y\") {\n if (align === \"start\") x = anchor.left;else if (align === \"end\") x = anchor.right - width;else x = anchor.left + (anchor.width - width) / 2;\n } else {\n if (align === \"start\") y = anchor.top;else if (align === \"end\") y = anchor.bottom - height;else y = anchor.top + (anchor.height - height) / 2;\n }\n return {\n x,\n y\n };\n}\nfunction overflowOnPrimary(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return Math.max(0, padding - coords.y);\n if (side === \"bottom\") return Math.max(0, coords.y + size.height - (vh - padding));\n if (side === \"left\") return Math.max(0, padding - coords.x);\n return Math.max(0, coords.x + size.width - (vw - padding));\n}\nfunction freeSpaceOnSide(anchor, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (side === \"top\") return anchor.top - padding - size.height;\n if (side === \"bottom\") return vh - padding - size.height - anchor.bottom;\n if (side === \"left\") return anchor.left - padding - size.width;\n return vw - padding - size.width - anchor.right;\n}\nfunction toPlacement(side, align) {\n if (align === \"center\") {\n return side;\n }\n return `${side}-${align}`;\n}\nfunction clampCrossAxis(coords, size, side, viewport) {\n const {\n padding,\n width: vw,\n height: vh\n } = viewport;\n if (primaryAxis(side) === \"y\") {\n const maxX = Math.max(padding, vw - padding - size.width);\n return {\n x: Math.min(Math.max(coords.x, padding), maxX),\n y: coords.y\n };\n }\n const maxY = Math.max(padding, vh - padding - size.height);\n return {\n x: coords.x,\n y: Math.min(Math.max(coords.y, padding), maxY)\n };\n}\nexport function computeFloatingCoords(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n return computeFloatingPosition(anchor, size, placement, gap, viewport).coords;\n}\nexport function computeFloatingPosition(anchor, size, placement, gap, viewport = {\n width: typeof window === \"undefined\" ? 0 : window.innerWidth,\n height: typeof window === \"undefined\" ? 0 : window.innerHeight,\n padding: DEFAULT_VIEWPORT_PADDING\n}) {\n const {\n side: preferred,\n align\n } = parsePlacement(placement);\n const preferredCoords = coordsFor(anchor, size, preferred, align, gap);\n const preferredOverflow = overflowOnPrimary(preferredCoords, size, preferred, viewport);\n let side = preferred;\n let coords = preferredCoords;\n if (preferredOverflow > 0) {\n const flipped = OPPOSITE[preferred];\n const flippedCoords = coordsFor(anchor, size, flipped, align, gap);\n const preferredFree = freeSpaceOnSide(anchor, size, preferred, viewport);\n const flippedFree = freeSpaceOnSide(anchor, size, flipped, viewport);\n if (flippedFree > preferredFree) {\n side = flipped;\n coords = flippedCoords;\n }\n }\n return {\n coords: clampCrossAxis(coords, size, side, viewport),\n placement: toPlacement(side, align)\n };\n}\nexport function applyFloatingPosition(anchor, floating, placement, gap, options = {}) {\n const {\n coords,\n placement: resolved\n } = computeFloatingPosition(anchor.getBoundingClientRect(), {\n width: floating.offsetWidth,\n height: floating.offsetHeight\n }, placement, gap);\n Object.assign(floating.style, {\n position: \"fixed\",\n left: `${coords.x}px`,\n top: `${coords.y}px`,\n right: \"auto\",\n bottom: \"auto\",\n visibility: \"visible\"\n });\n if (options.matchAnchorWidth) {\n floating.style.width = `${anchor.offsetWidth}px`;\n }\n floating.setAttribute(\"data-placement\", resolved);\n return resolved;\n}\nexport function attachFloating({\n anchor,\n floating,\n getPlacement,\n gap,\n matchAnchorWidth\n}) {\n const update = () => {\n if (floating.hidden) return;\n applyFloatingPosition(anchor, floating, getPlacement(), gap, {\n matchAnchorWidth\n });\n };\n update();\n window.addEventListener(\"resize\", update);\n window.addEventListener(\"scroll\", update, true);\n const observer = new ResizeObserver(update);\n observer.observe(anchor);\n observer.observe(floating);\n return () => {\n window.removeEventListener(\"resize\", update);\n window.removeEventListener(\"scroll\", update, true);\n observer.disconnect();\n };\n}", "export function mountPortal(node, container = document.body) {\n const parent = node.parentNode;\n if (!parent) {\n return {\n unmount: () => {}\n };\n }\n const placeholder = document.createComment(\"rui-portal\");\n parent.insertBefore(placeholder, node);\n container.appendChild(node);\n return {\n unmount: () => {\n const restoreParent = placeholder.parentNode;\n if (!restoreParent) {\n return;\n }\n restoreParent.insertBefore(node, placeholder);\n placeholder.remove();\n }\n };\n}", "import { attachFloating } from \"./floating-position\";\nimport { mountPortal } from \"./portal\";\nexport function popoverContains(anchor, floating, node) {\n if (!node) {\n return false;\n }\n return Boolean(anchor?.contains(node) || floating?.contains(node));\n}\nexport function shouldDismissPopoverFocus(anchor, floating, relatedTarget) {\n if (!(relatedTarget instanceof Node)) {\n return true;\n }\n return !popoverContains(anchor, floating, relatedTarget);\n}\nexport function shouldDismissPopoverPointer(anchor, floating, target) {\n return !popoverContains(anchor, floating, target);\n}\nexport class PopoverController {\n config;\n cleanupFloating = null;\n portalHandle = null;\n floatingElement = null;\n constructor(config) {\n this.config = config;\n }\n updateConfig(patch) {\n this.config = {\n ...this.config,\n ...patch\n };\n }\n sync() {\n const floating = this.resolveFloating();\n if (!floating) {\n return;\n }\n const open = this.config.getOpen();\n if (!open) {\n this.teardown();\n floating.hidden = true;\n return;\n }\n const anchor = this.config.getAnchor();\n if (!anchor) {\n return;\n }\n floating.hidden = false;\n const usePortal = this.config.portal !== false;\n if (usePortal) {\n if (!this.portalHandle) {\n this.portalHandle = mountPortal(floating, this.config.portalContainer ?? document.body);\n }\n } else if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n this.teardownFloating();\n this.cleanupFloating = attachFloating({\n anchor,\n floating,\n getPlacement: this.config.getPlacement,\n gap: this.config.gap ?? 8,\n matchAnchorWidth: this.config.matchAnchorWidth\n });\n }\n contains(node) {\n return popoverContains(this.config.getAnchor(), this.resolveFloating(), node);\n }\n getFloatingElement() {\n return this.resolveFloating();\n }\n teardown() {\n this.teardownFloating();\n if (this.portalHandle) {\n this.portalHandle.unmount();\n this.portalHandle = null;\n }\n }\n destroy() {\n this.teardown();\n this.floatingElement = null;\n }\n resolveFloating() {\n const configuredFloating = this.config.getFloating();\n if (configuredFloating) {\n this.floatingElement = configuredFloating;\n }\n return configuredFloating ?? this.floatingElement;\n }\n teardownFloating() {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n }\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "cx", "parts", "RADIANT_VIEW_ELEMENT", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "linkViewToElement", "view", "element", "RADIANT_VIEW_ELEMENT", "ssrModule", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "defineRadiantView", "render", "_options", "args", "jsx", "jsxs", "RadiantElement", "bound", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "OPPOSITE", "DEFAULT_VIEWPORT_PADDING", "parsePlacement", "placement", "dash", "side", "align", "primaryAxis", "coordsFor", "anchor", "size", "gap", "width", "height", "x", "y", "overflowOnPrimary", "coords", "viewport", "padding", "vw", "vh", "freeSpaceOnSide", "toPlacement", "clampCrossAxis", "maxX", "maxY", "computeFloatingPosition", "anchor", "size", "placement", "gap", "viewport", "DEFAULT_VIEWPORT_PADDING", "preferred", "align", "parsePlacement", "preferredCoords", "coordsFor", "preferredOverflow", "overflowOnPrimary", "side", "coords", "flipped", "OPPOSITE", "flippedCoords", "preferredFree", "freeSpaceOnSide", "clampCrossAxis", "toPlacement", "applyFloatingPosition", "floating", "options", "resolved", "attachFloating", "getPlacement", "matchAnchorWidth", "update", "observer", "mountPortal", "node", "container", "parent", "placeholder", "restoreParent", "popoverContains", "anchor", "floating", "node", "shouldDismissPopoverFocus", "relatedTarget", "shouldDismissPopoverPointer", "target", "PopoverController", "config", "patch", "mountPortal", "attachFloating", "configuredFloating", "_initProto", "_initClass", "_init_open", "_init_extra_open", "_init_placement", "_init_extra_placement", "_init_portal", "_init_extra_portal", "_init_matchAnchorWidth", "_init_extra_matchAnchorWidth", "_init_offset", "_init_extra_offset", "_init_anchor", "_init_extra_anchor", "_init_variant", "_init_extra_variant", "_init_surfaceTarget", "_init_extra_surfaceTarget", "_init_hostTarget", "_init_extra_hostTarget", "_init_openChangeEvent", "_init_extra_openChangeEvent", "_initProto2", "_initClass2", "_init_open2", "_init_extra_open2", "_init_rootTarget", "_init_extra_rootTarget", "_applyDecs", "r", "o", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "n", "i", "a", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiPopover", "RuiPopover", "RadiantElement", "customElement", "prop", "query", "event", "bound", "onUpdated", "onEvent", "triggerFromHost", "resolvePopoverAnchor", "slottedTrigger", "selector", "external", "PopoverController", "anchor", "surface", "controller", "next", "emit", "event2", "target", "shouldDismissPopoverPointer", "shouldDismissPopoverFocus", "variantClass", "jsxs", "jsx", "_RuiPopoverTrigger", "RuiPopoverTrigger", "RadiantElement", "_init_open2", "_init_extra_open2", "_init_rootTarget", "_init_extra_rootTarget", "_initProto2", "_initClass2", "_applyDecs", "customElement", "prop", "query", "bound", "onUpdated", "onEvent", "args", "popover", "event2", "jsxs", "jsx", "resolvePopoverAnchor", "trigger", "RuiPopoverContent", "children", "slot", "className", "props", "jsx", "cx", "RuiPopover", "defineRadiantView", "_RuiPopover", "trigger", "jsxs", "RuiPopoverTrigger", "_RuiPopoverTrigger"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties;
|
|
3
|
+
@layer components {
|
|
4
|
+
.rui-floating {
|
|
5
|
+
position: fixed;
|
|
6
|
+
visibility: hidden;
|
|
7
|
+
}
|
|
8
|
+
.rui-popover {
|
|
9
|
+
z-index: var(--z-index-popover, var(--z-popover));
|
|
10
|
+
overflow: auto;
|
|
11
|
+
border-radius: var(--radius-container, var(--radius-container));
|
|
12
|
+
border-style: var(--tw-border-style);
|
|
13
|
+
border-width: 1px;
|
|
14
|
+
border-color: var(--color-border, var(--border));
|
|
15
|
+
background-color: var(--color-background, var(--background));
|
|
16
|
+
--tw-shadow: var(--shadow-overlay);
|
|
17
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
18
|
+
}
|
|
19
|
+
.rui-popover--listbox {
|
|
20
|
+
display: flex;
|
|
21
|
+
width: 100%;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
padding: 0px;
|
|
25
|
+
}
|
|
26
|
+
.rui-popover[hidden] {
|
|
27
|
+
display: none;
|
|
28
|
+
}
|
|
29
|
+
.rui-popover-trigger {
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
rui-popover,
|
|
34
|
+
rui-popover-trigger {
|
|
35
|
+
display: inline-flex;
|
|
36
|
+
}
|
|
37
|
+
@layer components {
|
|
38
|
+
.rui-popover-host {
|
|
39
|
+
display: inline-flex;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
@property --tw-border-style {
|
|
43
|
+
syntax: "*";
|
|
44
|
+
inherits: false;
|
|
45
|
+
initial-value: solid;
|
|
46
|
+
}
|
|
47
|
+
@property --tw-shadow {
|
|
48
|
+
syntax: "*";
|
|
49
|
+
inherits: false;
|
|
50
|
+
initial-value: 0 0 #0000;
|
|
51
|
+
}
|
|
52
|
+
@property --tw-shadow-color {
|
|
53
|
+
syntax: "*";
|
|
54
|
+
inherits: false;
|
|
55
|
+
}
|
|
56
|
+
@property --tw-shadow-alpha {
|
|
57
|
+
syntax: "<percentage>";
|
|
58
|
+
inherits: false;
|
|
59
|
+
initial-value: 100%;
|
|
60
|
+
}
|
|
61
|
+
@property --tw-inset-shadow {
|
|
62
|
+
syntax: "*";
|
|
63
|
+
inherits: false;
|
|
64
|
+
initial-value: 0 0 #0000;
|
|
65
|
+
}
|
|
66
|
+
@property --tw-inset-shadow-color {
|
|
67
|
+
syntax: "*";
|
|
68
|
+
inherits: false;
|
|
69
|
+
}
|
|
70
|
+
@property --tw-inset-shadow-alpha {
|
|
71
|
+
syntax: "<percentage>";
|
|
72
|
+
inherits: false;
|
|
73
|
+
initial-value: 100%;
|
|
74
|
+
}
|
|
75
|
+
@property --tw-ring-color {
|
|
76
|
+
syntax: "*";
|
|
77
|
+
inherits: false;
|
|
78
|
+
}
|
|
79
|
+
@property --tw-ring-shadow {
|
|
80
|
+
syntax: "*";
|
|
81
|
+
inherits: false;
|
|
82
|
+
initial-value: 0 0 #0000;
|
|
83
|
+
}
|
|
84
|
+
@property --tw-inset-ring-color {
|
|
85
|
+
syntax: "*";
|
|
86
|
+
inherits: false;
|
|
87
|
+
}
|
|
88
|
+
@property --tw-inset-ring-shadow {
|
|
89
|
+
syntax: "*";
|
|
90
|
+
inherits: false;
|
|
91
|
+
initial-value: 0 0 #0000;
|
|
92
|
+
}
|
|
93
|
+
@property --tw-ring-inset {
|
|
94
|
+
syntax: "*";
|
|
95
|
+
inherits: false;
|
|
96
|
+
}
|
|
97
|
+
@property --tw-ring-offset-width {
|
|
98
|
+
syntax: "<length>";
|
|
99
|
+
inherits: false;
|
|
100
|
+
initial-value: 0px;
|
|
101
|
+
}
|
|
102
|
+
@property --tw-ring-offset-color {
|
|
103
|
+
syntax: "*";
|
|
104
|
+
inherits: false;
|
|
105
|
+
initial-value: #fff;
|
|
106
|
+
}
|
|
107
|
+
@property --tw-ring-offset-shadow {
|
|
108
|
+
syntax: "*";
|
|
109
|
+
inherits: false;
|
|
110
|
+
initial-value: 0 0 #0000;
|
|
111
|
+
}
|
|
112
|
+
@layer properties {
|
|
113
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
114
|
+
*, ::before, ::after, ::backdrop {
|
|
115
|
+
--tw-border-style: solid;
|
|
116
|
+
--tw-shadow: 0 0 #0000;
|
|
117
|
+
--tw-shadow-color: initial;
|
|
118
|
+
--tw-shadow-alpha: 100%;
|
|
119
|
+
--tw-inset-shadow: 0 0 #0000;
|
|
120
|
+
--tw-inset-shadow-color: initial;
|
|
121
|
+
--tw-inset-shadow-alpha: 100%;
|
|
122
|
+
--tw-ring-color: initial;
|
|
123
|
+
--tw-ring-shadow: 0 0 #0000;
|
|
124
|
+
--tw-inset-ring-color: initial;
|
|
125
|
+
--tw-inset-ring-shadow: 0 0 #0000;
|
|
126
|
+
--tw-ring-inset: initial;
|
|
127
|
+
--tw-ring-offset-width: 0px;
|
|
128
|
+
--tw-ring-offset-color: #fff;
|
|
129
|
+
--tw-ring-offset-shadow: 0 0 #0000;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { JsxHtmlPropsWithChildren, JsxRenderable } from '@ecopages/jsx';
|
|
2
|
+
import type { RuiPopoverProps, RuiPopoverTriggerProps } from './popover.script';
|
|
3
|
+
export type RuiPopoverContentProps = JsxHtmlPropsWithChildren<{
|
|
4
|
+
slot?: string;
|
|
5
|
+
}>;
|
|
6
|
+
/** Popover body slotted into the floating surface. */
|
|
7
|
+
export declare function RuiPopoverContent({ children, slot, class: className, ...props }: RuiPopoverContentProps): JsxRenderable;
|
|
8
|
+
export declare const RuiPopover: import("@/lib/radiant-view").RadiantViewComponent<JsxHtmlPropsWithChildren<RuiPopoverProps & {
|
|
9
|
+
slot?: string;
|
|
10
|
+
trigger?: JsxRenderable;
|
|
11
|
+
}>>;
|
|
12
|
+
export declare const RuiPopoverTrigger: import("@/lib/radiant-view").RadiantViewComponent<JsxHtmlPropsWithChildren<RuiPopoverTriggerProps & {
|
|
13
|
+
slot?: string;
|
|
14
|
+
trigger: JsxRenderable;
|
|
15
|
+
}>>;
|