@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.
Files changed (185) hide show
  1. package/dist/components/ui/autocomplete/autocomplete.css +135 -0
  2. package/dist/components/ui/autocomplete/autocomplete.d.ts +21 -0
  3. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +42 -0
  4. package/dist/components/ui/autocomplete/index.d.ts +2 -0
  5. package/dist/components/ui/autocomplete/index.js +2 -0
  6. package/dist/components/ui/autocomplete/index.js.map +7 -0
  7. package/dist/components/ui/avatar/avatar.css +58 -0
  8. package/dist/components/ui/avatar/avatar.d.ts +13 -0
  9. package/dist/components/ui/avatar/index.d.ts +1 -0
  10. package/dist/components/ui/avatar/index.js +2 -0
  11. package/dist/components/ui/avatar/index.js.map +7 -0
  12. package/dist/components/ui/button-group/button-group.css +16 -0
  13. package/dist/components/ui/button-group/button-group.d.ts +10 -0
  14. package/dist/components/ui/button-group/index.d.ts +1 -0
  15. package/dist/components/ui/button-group/index.js +2 -0
  16. package/dist/components/ui/button-group/index.js.map +7 -0
  17. package/dist/components/ui/calendar/calendar.css +318 -0
  18. package/dist/components/ui/calendar/calendar.d.ts +5 -0
  19. package/dist/components/ui/calendar/calendar.script.d.ts +89 -0
  20. package/dist/components/ui/calendar/index.d.ts +2 -0
  21. package/dist/components/ui/calendar/index.js +2 -0
  22. package/dist/components/ui/calendar/index.js.map +7 -0
  23. package/dist/components/ui/chip/chip.css +47 -0
  24. package/dist/components/ui/chip/chip.d.ts +11 -0
  25. package/dist/components/ui/chip/index.d.ts +1 -0
  26. package/dist/components/ui/chip/index.js +2 -0
  27. package/dist/components/ui/chip/index.js.map +7 -0
  28. package/dist/components/ui/chip-list/chip-list.css +15 -0
  29. package/dist/components/ui/chip-list/chip-list.d.ts +10 -0
  30. package/dist/components/ui/chip-list/index.d.ts +1 -0
  31. package/dist/components/ui/chip-list/index.js +2 -0
  32. package/dist/components/ui/chip-list/index.js.map +7 -0
  33. package/dist/components/ui/combobox/combobox.css +42 -80
  34. package/dist/components/ui/combobox/combobox.d.ts +12 -20
  35. package/dist/components/ui/combobox/combobox.script.d.ts +15 -14
  36. package/dist/components/ui/combobox/index.d.ts +2 -1
  37. package/dist/components/ui/combobox/index.js +1 -1
  38. package/dist/components/ui/combobox/index.js.map +4 -4
  39. package/dist/components/ui/date-field/date-field.css +184 -0
  40. package/dist/components/ui/date-field/date-field.d.ts +10 -0
  41. package/dist/components/ui/date-field/date-field.script.d.ts +108 -0
  42. package/dist/components/ui/date-field/index.d.ts +2 -0
  43. package/dist/components/ui/date-field/index.js +2 -0
  44. package/dist/components/ui/date-field/index.js.map +7 -0
  45. package/dist/components/ui/date-range-picker/date-range-picker.css +194 -0
  46. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +10 -0
  47. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +99 -0
  48. package/dist/components/ui/date-range-picker/index.d.ts +2 -0
  49. package/dist/components/ui/date-range-picker/index.js +2 -0
  50. package/dist/components/ui/date-range-picker/index.js.map +7 -0
  51. package/dist/components/ui/dialog/dialog.css +1 -1
  52. package/dist/components/ui/feed/feed.css +169 -5
  53. package/dist/components/ui/feed/feed.d.ts +54 -11
  54. package/dist/components/ui/feed/index.d.ts +1 -2
  55. package/dist/components/ui/feed/index.js +1 -1
  56. package/dist/components/ui/feed/index.js.map +4 -4
  57. package/dist/components/ui/field/index.js +1 -1
  58. package/dist/components/ui/field/index.js.map +3 -3
  59. package/dist/components/ui/form/form-field.test.d.ts +1 -0
  60. package/dist/components/ui/form/index.js +1 -1
  61. package/dist/components/ui/form/index.js.map +3 -3
  62. package/dist/components/ui/heading/heading.css +107 -0
  63. package/dist/components/ui/heading/heading.d.ts +30 -0
  64. package/dist/components/ui/heading/index.d.ts +1 -0
  65. package/dist/components/ui/heading/index.js +2 -0
  66. package/dist/components/ui/heading/index.js.map +7 -0
  67. package/dist/components/ui/headline/headline.css +43 -0
  68. package/dist/components/ui/headline/headline.d.ts +16 -0
  69. package/dist/components/ui/headline/index.d.ts +1 -0
  70. package/dist/components/ui/headline/index.js +2 -0
  71. package/dist/components/ui/headline/index.js.map +7 -0
  72. package/dist/components/ui/input/index.js +1 -1
  73. package/dist/components/ui/input/index.js.map +4 -4
  74. package/dist/components/ui/input/input.d.ts +8 -1
  75. package/dist/components/ui/label/index.js +1 -1
  76. package/dist/components/ui/label/index.js.map +2 -2
  77. package/dist/components/ui/listbox/index.d.ts +1 -1
  78. package/dist/components/ui/listbox/index.js +1 -1
  79. package/dist/components/ui/listbox/index.js.map +4 -4
  80. package/dist/components/ui/listbox/listbox.css +34 -10
  81. package/dist/components/ui/listbox/listbox.d.ts +12 -4
  82. package/dist/components/ui/listbox/listbox.script.d.ts +12 -0
  83. package/dist/components/ui/menu-button/index.js +1 -1
  84. package/dist/components/ui/menu-button/index.js.map +4 -4
  85. package/dist/components/ui/menu-button/menu-button.css +24 -8
  86. package/dist/components/ui/menu-button/menu-button.script.d.ts +3 -4
  87. package/dist/components/ui/menubar/index.js +1 -1
  88. package/dist/components/ui/menubar/index.js.map +4 -4
  89. package/dist/components/ui/menubar/menubar.css +40 -22
  90. package/dist/components/ui/menubar/menubar.script.d.ts +6 -1
  91. package/dist/components/ui/number-field/index.d.ts +2 -0
  92. package/dist/components/ui/number-field/index.js +2 -0
  93. package/dist/components/ui/number-field/index.js.map +7 -0
  94. package/dist/components/ui/number-field/number-field.css +185 -0
  95. package/dist/components/ui/number-field/number-field.d.ts +43 -0
  96. package/dist/components/ui/number-field/number-field.script.d.ts +104 -0
  97. package/dist/components/ui/popover/index.d.ts +4 -0
  98. package/dist/components/ui/popover/index.js +2 -0
  99. package/dist/components/ui/popover/index.js.map +7 -0
  100. package/dist/components/ui/popover/popover.css +132 -0
  101. package/dist/components/ui/popover/popover.d.ts +15 -0
  102. package/dist/components/ui/popover/popover.script.d.ts +85 -0
  103. package/dist/components/ui/select/index.d.ts +3 -0
  104. package/dist/components/ui/select/index.js +2 -0
  105. package/dist/components/ui/select/index.js.map +7 -0
  106. package/dist/components/ui/select/select.css +216 -0
  107. package/dist/components/ui/select/select.d.ts +54 -0
  108. package/dist/components/ui/select/select.script.d.ts +106 -0
  109. package/dist/components/ui/shared/collection-navigation.d.ts +8 -0
  110. package/dist/components/ui/shared/collection-navigation.test.d.ts +1 -0
  111. package/dist/components/ui/shared/control-toggle.css +132 -0
  112. package/dist/components/ui/shared/field-label.d.ts +9 -0
  113. package/dist/components/ui/shared/floating-position.d.ts +13 -2
  114. package/dist/components/ui/shared/listbox-popover-behavior.d.ts +47 -0
  115. package/dist/components/ui/shared/listbox-popover-behavior.test.d.ts +1 -0
  116. package/dist/components/ui/shared/multi-value.d.ts +4 -0
  117. package/dist/components/ui/shared/popover-controller.d.ts +35 -0
  118. package/dist/components/ui/shared/popover-controller.test.d.ts +1 -0
  119. package/dist/components/ui/shared/popover.css +123 -0
  120. package/dist/components/ui/shared/portal.d.ts +7 -0
  121. package/dist/components/ui/shared/portal.test.d.ts +1 -0
  122. package/dist/components/ui/sidebar/index.js +1 -1
  123. package/dist/components/ui/sidebar/index.js.map +3 -3
  124. package/dist/components/ui/slider/index.js +1 -1
  125. package/dist/components/ui/slider/index.js.map +3 -3
  126. package/dist/components/ui/slider/slider.script.d.ts +5 -12
  127. package/dist/components/ui/tag-group/index.d.ts +2 -0
  128. package/dist/components/ui/tag-group/index.js +2 -0
  129. package/dist/components/ui/tag-group/index.js.map +7 -0
  130. package/dist/components/ui/tag-group/tag-group.css +184 -0
  131. package/dist/components/ui/tag-group/tag-group.d.ts +28 -0
  132. package/dist/components/ui/tag-group/tag-group.script.d.ts +65 -0
  133. package/dist/components/ui/textarea/index.js +1 -1
  134. package/dist/components/ui/textarea/index.js.map +2 -2
  135. package/dist/components/ui/toc/index.js +1 -1
  136. package/dist/components/ui/toc/index.js.map +3 -3
  137. package/dist/components/ui/toc/toc.css +1 -1
  138. package/dist/components/ui/toc/toc.ssr.test.d.ts +1 -0
  139. package/dist/components/ui/toc/toc.test.d.ts +1 -0
  140. package/dist/components/ui/tooltip/index.js +1 -1
  141. package/dist/components/ui/tooltip/index.js.map +3 -3
  142. package/dist/index.d.ts +14 -1
  143. package/dist/index.js +1 -1
  144. package/dist/index.js.map +4 -4
  145. package/dist/lib/icons/calendar.d.ts +3 -0
  146. package/dist/lib/icons/chevron-down.d.ts +3 -0
  147. package/dist/lib/icons/index.d.ts +3 -0
  148. package/dist/lib/icons/types.d.ts +4 -0
  149. package/dist/lib/intl/locale.d.ts +3 -0
  150. package/dist/lib/intl-date/calendar.d.ts +25 -0
  151. package/dist/lib/intl-date/formatters.d.ts +13 -0
  152. package/dist/lib/intl-date/index.d.ts +12 -0
  153. package/dist/lib/intl-date/iso.d.ts +6 -0
  154. package/dist/lib/intl-date/months.d.ts +12 -0
  155. package/dist/lib/intl-date/parts.d.ts +15 -0
  156. package/dist/lib/intl-date/parts.test.d.ts +1 -0
  157. package/dist/lib/intl-date/segments.d.ts +32 -0
  158. package/dist/lib/intl-date/segments.test.d.ts +1 -0
  159. package/dist/lib/intl-date/selection.d.ts +39 -0
  160. package/dist/lib/intl-date/selection.test.d.ts +1 -0
  161. package/dist/lib/intl-date/types.d.ts +17 -0
  162. package/dist/lib/intl-number/format.d.ts +9 -0
  163. package/dist/lib/intl-number/index.d.ts +2 -0
  164. package/dist/lib/intl-number/range.d.ts +3 -0
  165. package/dist/lib/intrinsic.d.ts +13 -0
  166. package/dist/lib/mask/date-mask.d.ts +29 -0
  167. package/dist/lib/mask/date-mask.test.d.ts +1 -0
  168. package/dist/lib/mask/index.d.ts +4 -0
  169. package/dist/lib/mask/input-mask.d.ts +52 -0
  170. package/dist/lib/mask/input-mask.test.d.ts +1 -0
  171. package/dist/lib/text-filter.d.ts +7 -0
  172. package/dist/lib/text-filter.test.d.ts +1 -0
  173. package/dist/styles/radiant-ui-core.css +131 -1
  174. package/dist/styles/radiant-ui.css +142 -1
  175. package/dist/styles/styles.css +4504 -2395
  176. package/dist/styles/tailwind.css +142 -1
  177. package/dist/styles/tokens/typography/default.css +8 -0
  178. package/package.json +106 -15
  179. package/dist/components/ui/feed/feed.script.d.ts +0 -22
  180. package/dist/components/ui/spinbutton/index.d.ts +0 -2
  181. package/dist/components/ui/spinbutton/index.js +0 -2
  182. package/dist/components/ui/spinbutton/index.js.map +0 -7
  183. package/dist/components/ui/spinbutton/spinbutton.css +0 -69
  184. package/dist/components/ui/spinbutton/spinbutton.d.ts +0 -5
  185. 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": "AAAA,OAAS,OAAAA,GAAK,QAAAC,OAAY,4BCAnB,SAASC,MAAMC,EAAO,CAC3B,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CCFA,IAAMC,GAAsC,OAAO,IAAI,yCAAyC,EAC1FC,GAAuC,OAAO,IAAI,0CAA0C,EAC5FC,GAAuC,OAAO,IAAI,0CAA0C,EAElG,SAASC,GAAkBC,EAAMC,EAAS,CACxCD,EAAKE,EAAoB,EAAID,EAC7B,IAAME,EAAYF,EAAQG,EAAqB,EAC3CD,IACFH,EAAKI,EAAqB,EAAID,EAC9BH,EAAKK,EAAqB,EAAIJ,EAAQI,EAAqB,GAAKJ,EAAQ,KAE5E,CACO,SAASK,EAAkBL,EAASM,EAAQC,EAAU,CAC3D,IAAMR,EAAOS,GAAQF,EAAOE,CAAI,EAChC,OAAAV,GAAkBC,EAAMC,CAAO,EACxBD,CACT,CCVA,OAAS,OAAAU,EAAK,QAAAC,OAAY,4BAC1B,OAAS,kBAAAC,EAAgB,SAAAC,GAAO,iBAAAC,GAAe,SAAAC,GAAO,WAAAC,EAAS,aAAAC,GAAW,QAAAC,EAAM,SAAAC,OAAa,oBCP7F,IAAMC,GAAW,CACf,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACT,EACMC,GAA2B,EACjC,SAASC,GAAeC,EAAW,CACjC,IAAMC,EAAOD,EAAU,QAAQ,GAAG,EAClC,GAAIC,IAAS,GAAI,MAAO,CACtB,KAAMD,EACN,MAAO,QACT,EACA,IAAME,EAAOF,EAAU,MAAM,EAAGC,CAAI,EAC9BE,EAAQH,EAAU,MAAMC,EAAO,CAAC,EACtC,MAAO,CACL,KAAAC,EACA,MAAOC,IAAU,SAAWA,IAAU,MAAQA,EAAQ,QACxD,CACF,CACA,SAASC,GAAYF,EAAM,CACzB,OAAOA,IAAS,OAASA,IAAS,SAAW,IAAM,GACrD,CACA,SAASG,GAAUC,EAAQC,EAAML,EAAMC,EAAOK,EAAK,CACjD,GAAM,CACJ,MAAAC,EACA,OAAAC,CACF,EAAIH,EACAI,EAAI,EACJC,EAAI,EACR,OAAQV,EAAM,CACZ,IAAK,MACHU,EAAIN,EAAO,IAAMI,EAASF,EAC1B,MACF,IAAK,SACHI,EAAIN,EAAO,OAASE,EACpB,MACF,IAAK,OACHG,EAAIL,EAAO,KAAOG,EAAQD,EAC1B,MACF,IAAK,QACHG,EAAIL,EAAO,MAAQE,EACnB,KACJ,CACA,OAAIJ,GAAYF,CAAI,IAAM,IACpBC,IAAU,QAASQ,EAAIL,EAAO,KAAcH,IAAU,MAAOQ,EAAIL,EAAO,MAAQG,EAAWE,EAAIL,EAAO,MAAQA,EAAO,MAAQG,GAAS,EAEtIN,IAAU,QAASS,EAAIN,EAAO,IAAaH,IAAU,MAAOS,EAAIN,EAAO,OAASI,EAAYE,EAAIN,EAAO,KAAOA,EAAO,OAASI,GAAU,EAEvI,CACL,EAAAC,EACA,EAAAC,CACF,CACF,CACA,SAASC,GAAkBC,EAAQP,EAAML,EAAMa,EAAU,CACvD,GAAM,CACJ,QAAAC,EACA,MAAOC,EACP,OAAQC,CACV,EAAIH,EACJ,OAAIb,IAAS,MAAc,KAAK,IAAI,EAAGc,EAAUF,EAAO,CAAC,EACrDZ,IAAS,SAAiB,KAAK,IAAI,EAAGY,EAAO,EAAIP,EAAK,QAAUW,EAAKF,EAAQ,EAC7Ed,IAAS,OAAe,KAAK,IAAI,EAAGc,EAAUF,EAAO,CAAC,EACnD,KAAK,IAAI,EAAGA,EAAO,EAAIP,EAAK,OAASU,EAAKD,EAAQ,CAC3D,CACA,SAASG,GAAgBb,EAAQC,EAAML,EAAMa,EAAU,CACrD,GAAM,CACJ,QAAAC,EACA,MAAOC,EACP,OAAQC,CACV,EAAIH,EACJ,OAAIb,IAAS,MAAcI,EAAO,IAAMU,EAAUT,EAAK,OACnDL,IAAS,SAAiBgB,EAAKF,EAAUT,EAAK,OAASD,EAAO,OAC9DJ,IAAS,OAAeI,EAAO,KAAOU,EAAUT,EAAK,MAClDU,EAAKD,EAAUT,EAAK,MAAQD,EAAO,KAC5C,CACA,SAASc,GAAYlB,EAAMC,EAAO,CAChC,OAAIA,IAAU,SACLD,EAEF,GAAGA,CAAI,IAAIC,CAAK,EACzB,CACA,SAASkB,GAAeP,EAAQP,EAAML,EAAMa,EAAU,CACpD,GAAM,CACJ,QAAAC,EACA,MAAOC,EACP,OAAQC,CACV,EAAIH,EACJ,GAAIX,GAAYF,CAAI,IAAM,IAAK,CAC7B,IAAMoB,EAAO,KAAK,IAAIN,EAASC,EAAKD,EAAUT,EAAK,KAAK,EACxD,MAAO,CACL,EAAG,KAAK,IAAI,KAAK,IAAIO,EAAO,EAAGE,CAAO,EAAGM,CAAI,EAC7C,EAAGR,EAAO,CACZ,CACF,CACA,IAAMS,EAAO,KAAK,IAAIP,EAASE,EAAKF,EAAUT,EAAK,MAAM,EACzD,MAAO,CACL,EAAGO,EAAO,EACV,EAAG,KAAK,IAAI,KAAK,IAAIA,EAAO,EAAGE,CAAO,EAAGO,CAAI,CAC/C,CACF,CAQO,SAASC,GAAwBC,EAAQC,EAAMC,EAAWC,EAAKC,EAAW,CAC/E,MAAO,OAAO,OAAW,IAAc,EAAI,OAAO,WAClD,OAAQ,OAAO,OAAW,IAAc,EAAI,OAAO,YACnD,QAASC,EACX,EAAG,CACD,GAAM,CACJ,KAAMC,EACN,MAAAC,CACF,EAAIC,GAAeN,CAAS,EACtBO,EAAkBC,GAAUV,EAAQC,EAAMK,EAAWC,EAAOJ,CAAG,EAC/DQ,EAAoBC,GAAkBH,EAAiBR,EAAMK,EAAWF,CAAQ,EAClFS,EAAOP,EACPQ,EAASL,EACb,GAAIE,EAAoB,EAAG,CACzB,IAAMI,EAAUC,GAASV,CAAS,EAC5BW,EAAgBP,GAAUV,EAAQC,EAAMc,EAASR,EAAOJ,CAAG,EAC3De,EAAgBC,GAAgBnB,EAAQC,EAAMK,EAAWF,CAAQ,EACnDe,GAAgBnB,EAAQC,EAAMc,EAASX,CAAQ,EACjDc,IAChBL,EAAOE,EACPD,EAASG,EAEb,CACA,MAAO,CACL,OAAQG,GAAeN,EAAQb,EAAMY,EAAMT,CAAQ,EACnD,UAAWiB,GAAYR,EAAMN,CAAK,CACpC,CACF,CACO,SAASe,GAAsBtB,EAAQuB,EAAUrB,EAAWC,EAAKqB,EAAU,CAAC,EAAG,CACpF,GAAM,CACJ,OAAAV,EACA,UAAWW,CACb,EAAI1B,GAAwBC,EAAO,sBAAsB,EAAG,CAC1D,MAAOuB,EAAS,YAChB,OAAQA,EAAS,YACnB,EAAGrB,EAAWC,CAAG,EACjB,cAAO,OAAOoB,EAAS,MAAO,CAC5B,SAAU,QACV,KAAM,GAAGT,EAAO,CAAC,KACjB,IAAK,GAAGA,EAAO,CAAC,KAChB,MAAO,OACP,OAAQ,OACR,WAAY,SACd,CAAC,EACGU,EAAQ,mBACVD,EAAS,MAAM,MAAQ,GAAGvB,EAAO,WAAW,MAE9CuB,EAAS,aAAa,iBAAkBE,CAAQ,EACzCA,CACT,CACO,SAASC,GAAe,CAC7B,OAAA1B,EACA,SAAAuB,EACA,aAAAI,EACA,IAAAxB,EACA,iBAAAyB,CACF,EAAG,CACD,IAAMC,EAAS,IAAM,CACfN,EAAS,QACbD,GAAsBtB,EAAQuB,EAAUI,EAAa,EAAGxB,EAAK,CAC3D,iBAAAyB,CACF,CAAC,CACH,EACAC,EAAO,EACP,OAAO,iBAAiB,SAAUA,CAAM,EACxC,OAAO,iBAAiB,SAAUA,EAAQ,EAAI,EAC9C,IAAMC,EAAW,IAAI,eAAeD,CAAM,EAC1C,OAAAC,EAAS,QAAQ9B,CAAM,EACvB8B,EAAS,QAAQP,CAAQ,EAClB,IAAM,CACX,OAAO,oBAAoB,SAAUM,CAAM,EAC3C,OAAO,oBAAoB,SAAUA,EAAQ,EAAI,EACjDC,EAAS,WAAW,CACtB,CACF,CCtLO,SAASC,GAAYC,EAAMC,EAAY,SAAS,KAAM,CAC3D,IAAMC,EAASF,EAAK,WACpB,GAAI,CAACE,EACH,MAAO,CACL,QAAS,IAAM,CAAC,CAClB,EAEF,IAAMC,EAAc,SAAS,cAAc,YAAY,EACvD,OAAAD,EAAO,aAAaC,EAAaH,CAAI,EACrCC,EAAU,YAAYD,CAAI,EACnB,CACL,QAAS,IAAM,CACb,IAAMI,EAAgBD,EAAY,WAC7BC,IAGLA,EAAc,aAAaJ,EAAMG,CAAW,EAC5CA,EAAY,OAAO,EACrB,CACF,CACF,CClBO,SAASE,EAAgBC,EAAQC,EAAUC,EAAM,CACtD,OAAKA,EAGE,GAAQF,GAAQ,SAASE,CAAI,GAAKD,GAAU,SAASC,CAAI,GAFvD,EAGX,CACO,SAASC,GAA0BH,EAAQC,EAAUG,EAAe,CACzE,OAAMA,aAAyB,KAGxB,CAACL,EAAgBC,EAAQC,EAAUG,CAAa,EAF9C,EAGX,CACO,SAASC,GAA4BL,EAAQC,EAAUK,EAAQ,CACpE,MAAO,CAACP,EAAgBC,EAAQC,EAAUK,CAAM,CAClD,CACO,IAAMC,EAAN,KAAwB,CAC7B,OACA,gBAAkB,KAClB,aAAe,KACf,gBAAkB,KAClB,YAAYC,EAAQ,CAClB,KAAK,OAASA,CAChB,CACA,aAAaC,EAAO,CAClB,KAAK,OAAS,CACZ,GAAG,KAAK,OACR,GAAGA,CACL,CACF,CACA,MAAO,CACL,IAAMR,EAAW,KAAK,gBAAgB,EACtC,GAAI,CAACA,EACH,OAGF,GAAI,CADS,KAAK,OAAO,QAAQ,EACtB,CACT,KAAK,SAAS,EACdA,EAAS,OAAS,GAClB,MACF,CACA,IAAMD,EAAS,KAAK,OAAO,UAAU,EACrC,GAAI,CAACA,EACH,OAEFC,EAAS,OAAS,GACA,KAAK,OAAO,SAAW,GAElC,KAAK,eACR,KAAK,aAAeS,GAAYT,EAAU,KAAK,OAAO,iBAAmB,SAAS,IAAI,GAE/E,KAAK,eACd,KAAK,aAAa,QAAQ,EAC1B,KAAK,aAAe,MAEtB,KAAK,iBAAiB,EACtB,KAAK,gBAAkBU,GAAe,CACpC,OAAAX,EACA,SAAAC,EACA,aAAc,KAAK,OAAO,aAC1B,IAAK,KAAK,OAAO,KAAO,EACxB,iBAAkB,KAAK,OAAO,gBAChC,CAAC,CACH,CACA,SAASC,EAAM,CACb,OAAOH,EAAgB,KAAK,OAAO,UAAU,EAAG,KAAK,gBAAgB,EAAGG,CAAI,CAC9E,CACA,oBAAqB,CACnB,OAAO,KAAK,gBAAgB,CAC9B,CACA,UAAW,CACT,KAAK,iBAAiB,EAClB,KAAK,eACP,KAAK,aAAa,QAAQ,EAC1B,KAAK,aAAe,KAExB,CACA,SAAU,CACR,KAAK,SAAS,EACd,KAAK,gBAAkB,IACzB,CACA,iBAAkB,CAChB,IAAMU,EAAqB,KAAK,OAAO,YAAY,EACnD,OAAIA,IACF,KAAK,gBAAkBA,GAElBA,GAAsB,KAAK,eACpC,CACA,kBAAmB,CACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAkB,IACzB,CACF,EH7FA,IAAIC,GAAYC,GAAYC,GAAYC,GAAkBC,GAAiBC,GAAuBC,GAAcC,GAAoBC,GAAwBC,GAA8BC,GAAcC,GAAoBC,GAAcC,GAAoBC,GAAeC,GAAqBC,GAAqBC,GAA2BC,GAAkBC,GAAwBC,GAAuBC,GAA6BC,GAAaC,GAAaC,GAAaC,GAAmBC,GAAkBC,GAC5f,SAASC,GAAW,EAAG,EAAG,EAAGC,EAAGC,EAAG,EAAG,CAAE,IAAI,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAI,OAAO,UAAY,OAAO,IAAI,iBAAiB,EAAGC,EAAI,OAAO,eAAgBC,EAAI,OAAO,OAAQC,GAAI,CAACD,EAAE,IAAI,EAAGA,EAAE,IAAI,CAAC,EAAGE,GAAI,EAAE,OAAQ,SAASC,EAAEC,EAAGC,EAAGf,EAAG,CAAE,OAAO,SAAUC,EAAGe,EAAG,CAAED,IAAMC,EAAIf,EAAGA,EAAI,GAAI,QAASgB,EAAI,EAAGA,EAAIH,EAAE,OAAQG,IAAKD,EAAIF,EAAEG,CAAC,EAAE,MAAMhB,EAAGD,EAAI,CAACgB,CAAC,EAAI,CAAC,CAAC,EAAG,OAAOhB,EAAIgB,EAAIf,CAAG,CAAG,CAAE,SAASiB,EAAEC,EAAGL,EAAGC,EAAGf,EAAG,CAAE,GAAkB,OAAOmB,GAArB,aAA2BnB,GAAgBmB,IAAX,QAAe,MAAM,IAAI,UAAUL,EAAI,UAAYC,GAAK,MAAQ,eAAiBf,EAAI,GAAK,gBAAgB,EAAG,OAAOmB,CAAG,CAAE,SAASC,GAASD,EAAGL,EAAGC,EAAGf,EAAGC,EAAGe,EAAGb,EAAGC,EAAGC,EAAGC,EAAGC,GAAG,CAAE,SAASC,EAAEW,EAAG,CAAE,GAAI,CAACZ,GAAEY,CAAC,EAAG,MAAM,IAAI,UAAU,qDAAqD,CAAG,CAAE,IAAIT,EAAI,CAAC,EAAE,OAAOI,EAAE,CAAC,CAAC,EAAGF,GAAIE,EAAE,CAAC,EAAGO,EAAI,CAAClB,EAAGmB,EAAUrB,IAAN,EAASsB,GAAUtB,IAAN,EAASuB,GAAUvB,IAAN,EAASwB,EAAUxB,IAAN,EAAS,SAASyB,EAAEZ,EAAGC,EAAGf,GAAG,CAAE,OAAO,SAAUC,EAAGe,GAAG,CAAE,OAAOD,IAAMC,GAAIf,EAAGA,EAAIkB,GAAInB,IAAKA,GAAEC,CAAC,EAAG0B,EAAEb,CAAC,EAAE,KAAKb,EAAGe,EAAC,CAAG,CAAG,CAAE,GAAI,CAACK,EAAG,CAAE,IAAIM,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAIN,GAAI,MAAQC,IAAKF,EAAI,MAAQ,QAAS,GAAIjB,GAAKC,GAAKgB,EAAIK,EAAI,CAAE,IAAKG,GAAiB,UAAY,CAAE,OAAOlB,GAAE,IAAI,CAAG,EAAGZ,EAAG,KAAK,EAAG,IAAK,SAAUmB,EAAG,CAAEL,EAAE,CAAC,EAAE,KAAMK,CAAC,CAAG,CAAE,EAAIQ,EAAEE,CAAC,EAAIjB,GAAGN,GAAKwB,GAAiBH,EAAEE,CAAC,EAAG7B,EAAGyB,EAAI,GAAKI,CAAC,GAAKvB,IAAMqB,EAAI,OAAO,yBAAyBR,EAAGnB,CAAC,GAAI,CAACM,GAAK,CAACD,EAAG,CAAE,IAAKH,EAAIS,GAAE,CAACP,CAAC,EAAEJ,CAAC,KAAaE,EAAID,KAAX,EAAe,MAAM,MAAM,+CAAiD0B,EAAEE,CAAC,EAAE,KAAO,wBAAwB,EAAGlB,GAAE,CAACP,CAAC,EAAEJ,CAAC,EAAIC,EAAI,EAAI,EAAIA,CAAG,CAAE,CAAE,QAAS8B,EAAIZ,EAAGa,EAAItB,EAAE,OAAS,EAAGsB,GAAK,EAAGA,GAAKjB,EAAI,EAAI,EAAG,CAAE,IAAIkB,GAAIf,EAAER,EAAEsB,CAAC,EAAG,cAAe,KAAM,EAAE,EAAGE,GAAInB,EAAIL,EAAEsB,EAAI,CAAC,EAAI,OAAQG,EAAI,CAAC,EAAGC,EAAI,CAAE,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,OAAO,EAAEnC,CAAC,EAAG,KAAMD,EAAG,SAAU,EAAG,eAAgB,SAAUmB,EAAGL,EAAG,CAAE,GAAIK,EAAE,EAAG,MAAM,IAAI,UAAU,gEAAgE,EAAGD,EAAEJ,EAAG,iBAAkB,KAAM,EAAE,EAAGE,EAAE,KAAKF,CAAC,CAAG,EAAE,KAAK,KAAMqB,CAAC,CAAE,EAAG,GAAId,EAAGnB,EAAI+B,GAAE,KAAKC,GAAGH,EAAGK,CAAC,EAAGD,EAAE,EAAI,EAAGjB,EAAEhB,EAAG,mBAAoB,QAAQ,IAAM6B,EAAI7B,WAAYkC,EAAE,OAAShC,EAAGgC,EAAE,QAAU/B,EAAGH,EAAIkC,EAAE,OAAS,CAAE,IAAK/B,EAAIE,GAAE,KAAK,EAAI,SAAUY,EAAG,CAAE,OAAOnB,KAAKmB,CAAG,CAAE,EAAGK,KAAMtB,EAAE,IAAMG,EAAIoB,EAAI,SAAUN,EAAG,CAAE,OAAOX,EAAEW,CAAC,EAAGQ,EAAE,KAAO,EAAID,EAAE,MAAO,EAAGlB,CAAC,EAAI,SAAUW,EAAG,CAAE,OAAOA,EAAEnB,CAAC,CAAG,GAAIyB,GAAKF,KAAMrB,EAAE,IAAMG,EAAIqB,EAAE,MAAO,EAAGlB,CAAC,EAAI,SAAUW,EAAGL,EAAG,CAAEK,EAAEnB,CAAC,EAAIc,CAAG,GAAIiB,EAAIE,GAAE,KAAKC,GAAGZ,EAAI,CAAE,IAAKK,EAAE,IAAK,IAAKA,EAAE,GAAI,EAAIA,EAAEE,CAAC,EAAGO,CAAC,EAAGD,EAAE,EAAI,EAAGb,GAAK,GAAgB,OAAOS,GAAnB,UAAwBA,GAAI7B,EAAIgB,EAAEa,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMzB,IAAKA,EAAIgB,EAAEa,EAAE,IAAK,cAAc,KAAOJ,EAAE,IAAMzB,IAAKA,EAAIgB,EAAEa,EAAE,KAAM,eAAe,IAAMH,EAAE,QAAQ1B,CAAC,UAAsB6B,IAAX,OAAc,MAAM,IAAI,UAAU,0FAA0F,OAAUb,EAAEa,GAAIzB,EAAI,QAAU,UAAY,cAAe,QAAQ,IAAMA,EAAIsB,EAAE,QAAQG,CAAC,EAAIJ,EAAEE,CAAC,EAAIE,EAAI,CAAE,OAAO9B,EAAI,GAAKE,EAAE,KAAKU,EAAEe,EAAGxB,EAAG,CAAC,EAAGS,EAAEG,EAAGZ,EAAG,CAAC,CAAC,EAAGE,GAAKe,IAAMhB,EAAIiB,EAAInB,EAAE,OAAO,GAAI,EAAGuB,EAAE,MAAOtB,CAAC,EAAGsB,EAAE,MAAOtB,CAAC,CAAC,EAAID,EAAE,KAAKsB,EAAIE,EAAEE,CAAC,EAAIX,EAAE,KAAK,KAAKS,EAAEE,CAAC,CAAC,CAAC,EAAIpB,EAAEU,EAAGnB,EAAG2B,CAAC,GAAII,CAAG,CAAE,SAASV,GAAEF,EAAG,CAAE,OAAOV,EAAEU,EAAGX,EAAG,CAAE,aAAc,GAAI,WAAY,GAAI,MAAO,CAAE,CAAC,CAAG,CAAE,OAAkB,IAAX,SAAiB,EAAI,EAAEA,CAAC,GAAI,EAAIE,EAAU,GAAI,IAAQ,EAAGL,EAAI,CAAC,EAAGC,EAAI,SAAUa,EAAG,CAAEA,GAAKd,EAAE,KAAKQ,EAAEM,CAAC,CAAC,CAAG,EAAGZ,EAAI,SAAUO,EAAGd,EAAG,CAAE,QAASgB,EAAI,EAAGA,EAAI,EAAE,OAAQA,IAAK,CAAE,IAAIC,EAAI,EAAED,CAAC,EAAGd,EAAIe,EAAE,CAAC,EAAGX,EAAI,EAAIJ,EAAG,IAAK,EAAIA,IAAMY,GAAK,CAACR,GAAKN,EAAG,CAAE,IAAIO,EAAIU,EAAE,CAAC,EAAGT,EAAI,CAAC,CAACS,EAAE,CAAC,EAAGR,EAAI,GAAKP,EAAGkB,GAASN,EAAI,EAAI,EAAE,UAAWG,EAAGR,EAAGD,EAAI,IAAMD,EAAI8B,GAAe9B,CAAC,EAAGD,EAAGA,EAAI,EAAI,CAAC,EAAIQ,EAAIV,EAAIA,GAAK,CAAC,EAAID,EAAIA,GAAK,CAAC,EAAGE,EAAG,CAAC,CAACS,EAAGN,EAAGR,EAAGc,GAAKN,EAAI,SAAUM,EAAG,CAAE,OAAOwB,GAAYxB,CAAC,IAAM,CAAG,EAAIb,CAAC,CAAG,CAAE,CAAE,EAAGM,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGA,EAAE,EAAG,CAAC,EAAGD,EAAEH,CAAC,EAAGG,EAAEF,CAAC,EAAGF,EAAIG,EAAGO,IAAKS,GAAE,CAAC,EAAG,CAAE,EAAGnB,EAAG,IAAI,GAAI,CAAE,IAAIa,EAAI,CAAC,EAAG,OAAOH,IAAK,CAACS,GAAE,EAAID,GAAS,EAAG,CAAC,CAAC,EAAGpB,EAAG,EAAE,KAAM,EAAGe,CAAC,CAAC,EAAGF,EAAEE,EAAG,CAAC,CAAC,CAAG,CAAE,CAAG,CACn/G,SAASsB,GAAevB,EAAG,CAAE,IAAIE,EAAIuB,GAAazB,EAAG,QAAQ,EAAG,OAAmB,OAAOE,GAAnB,SAAuBA,EAAIA,EAAI,EAAI,CAC1G,SAASuB,GAAazB,EAAGd,EAAG,CAAE,GAAgB,OAAOc,GAAnB,UAAwB,CAACA,EAAG,OAAOA,EAAG,IAAIK,EAAIL,EAAE,OAAO,WAAW,EAAG,GAAeK,IAAX,OAAc,CAAE,IAAIH,EAAIG,EAAE,KAAKL,EAAGd,GAAK,SAAS,EAAG,GAAgB,OAAOgB,GAAnB,SAAsB,OAAOA,EAAG,MAAM,IAAI,UAAU,8CAA8C,CAAG,CAAE,OAAqBhB,IAAb,SAAiB,OAAS,QAAQc,CAAC,CAAG,CACvT,SAASgB,GAAiB,EAAG,EAAG,EAAG,CAAc,OAAO,GAAnB,WAAyB,GAAK,EAAI,EAAE,aAAe,IAAM,EAAI,IAAM,IAAK,GAAI,CAAE,OAAO,eAAe,EAAG,OAAQ,CAAE,aAAc,GAAI,MAAO,EAAI,EAAI,IAAM,EAAI,CAAE,CAAC,CAAG,MAAY,CAAC,CAAE,OAAO,CAAG,CAChO,SAASQ,GAAY,EAAG,CAAE,GAAI,OAAO,CAAC,IAAM,EAAG,MAAM,UAAU,qDAAgE,IAAT,KAAa,OAAO,EAAI,OAAO,EAAG,OAAO,CAAG,CAIlK,IAAIE,EACEC,GAAN,cAAyBC,CAAe,CACtC,MAAO,EACJ,CACC,EAAG,CAACrE,GAAYC,GAAkBC,GAAiBC,GAAuBC,GAAcC,GAAoBC,GAAwBC,GAA8BC,GAAcC,GAAoBC,GAAcC,GAAoBC,GAAeC,GAAqBC,GAAqBC,GAA2BC,GAAkBC,GAAwBC,GAAuBC,GAA6BrB,EAAU,EACla,EAAG,CAACqE,EAAapE,EAAU,CAC7B,EAAI2B,GAAW,KAAM,CAAC4C,GAAc,aAAa,CAAC,EAAG,CAAC,CAACC,EAAK,CAC1D,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,MAAM,EAAG,CAACA,EAAK,CACpB,KAAM,OACN,aAAc,QAChB,CAAC,EAAG,EAAG,WAAW,EAAG,CAACA,EAAK,CACzB,KAAM,QACN,aAAc,EAChB,CAAC,EAAG,EAAG,QAAQ,EAAG,CAACA,EAAK,CACtB,KAAM,QACN,aAAc,EAChB,CAAC,EAAG,EAAG,kBAAkB,EAAG,CAACA,EAAK,CAChC,KAAM,OACN,aAAc,CAChB,CAAC,EAAG,EAAG,QAAQ,EAAG,CAACA,EAAK,CACtB,KAAM,OACN,aAAc,EAChB,CAAC,EAAG,EAAG,QAAQ,EAAG,CAACA,EAAK,CACtB,KAAM,OACN,aAAc,SAChB,CAAC,EAAG,EAAG,SAAS,EAAG,CAACC,GAAM,CACxB,IAAK,SACP,CAAC,EAAG,EAAG,eAAe,EAAG,CAACA,GAAM,CAC9B,IAAK,MACP,CAAC,EAAG,EAAG,YAAY,EAAG,CAACC,GAAM,CAC3B,KAAM,kBACN,QAAS,GACT,SAAU,EACZ,CAAC,EAAG,EAAG,iBAAiB,EAAG,CAAC,CAACC,GAAOC,GAAU,CAAC,OAAQ,YAAa,SAAU,mBAAoB,SAAU,QAAQ,CAAC,CAAC,EAAG,EAAG,aAAa,EAAG,CAACC,EAAQ,CACnJ,SAAU,GACV,KAAM,aACR,CAAC,EAAG,EAAG,uBAAuB,EAAG,CAACA,EAAQ,CACxC,IAAK,OACL,KAAM,UACR,CAAC,EAAG,EAAG,YAAY,EAAG,CAACF,GAAO,EAAG,uBAAuB,EAAG,CAACE,EAAQ,CAClE,SAAU,GACV,KAAM,SACR,CAAC,EAAG,EAAG,mBAAmB,CAAC,EAAG,EAAG,OAAQP,CAAc,EACzD,CACA,MAAQvE,GAAW,IAAI,EAAGE,GAAW,IAAI,GACzC,WAAaC,GAAiB,IAAI,EAAGC,GAAgB,IAAI,GACzD,QAAUC,GAAsB,IAAI,EAAGC,GAAa,IAAI,GACxD,kBAAoBC,GAAmB,IAAI,EAAGC,GAAuB,IAAI,GACzE,QAAUC,GAA6B,IAAI,EAAGC,GAAa,IAAI,GAC/D,QAAUC,GAAmB,IAAI,EAAGC,GAAa,IAAI,GACrD,SAAWC,GAAmB,IAAI,EAAGC,GAAc,IAAI,GACvD,eAAiBC,GAAoB,IAAI,EAAGC,GAAoB,IAAI,GACpE,YAAcC,GAA0B,IAAI,EAAGC,GAAiB,IAAI,GACpE,iBAAmBC,GAAuB,IAAI,EAAGC,GAAsB,IAAI,GAC3E,WAAaC,GAA4B,IAAI,EAAG,eAAe,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAG,CAAC,CAAC,IACrG,WAAa,KACb,kBAAoB,KACpB,mBAAoB,CAClB,MAAM,kBAAkB,EACxB,eAAe,IAAM,KAAK,YAAY,CAAC,CACzC,CACA,sBAAuB,CACrB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,QAAQ,EACzB,KAAK,WAAa,KAClB,MAAM,qBAAqB,CAC7B,CACA,kBAAmB,CAEjB,IAAM0D,EADc,KAAK,QAAQ,qBAAqB,GACjB,cAAc,kBAAkB,EACrE,GAAIA,aAA2B,YAC7B,OAAOC,EAAqBD,CAAe,EAE7C,IAAME,EAAiB,KAAK,cAAc,kBAAkB,EAC5D,GAAIA,aAA0B,YAC5B,OAAOD,EAAqBC,CAAc,EAE5C,IAAMC,EAAW,KAAK,OAAO,KAAK,EAClC,GAAIA,EAAU,CACZ,IAAMC,EAAW,SAAS,cAAcD,CAAQ,EAChD,GAAIC,aAAoB,YACtB,OAAOH,EAAqBG,CAAQ,CAExC,CACA,OAAO,IACT,CACA,kBAAmB,CACjB,OAAK,KAAK,aACR,KAAK,WAAa,IAAIC,EAAkB,CACtC,UAAW,IAAM,KAAK,iBAAiB,EACvC,YAAa,IAAM,KAAK,cACxB,QAAS,IAAM,KAAK,KACpB,aAAc,IAAM,KAAK,UACzB,IAAK,KAAK,OACV,OAAQ,KAAK,OACb,iBAAkB,KAAK,gBACzB,CAAC,GAEI,KAAK,UACd,CACA,aAAc,CACZ,IAAMC,EAAS,KAAK,iBAAiB,EAC/BC,EAAU,KAAK,cACjBA,IACFA,EAAQ,GAAK,KAAK,WAEhBD,IACFA,EAAO,aAAa,gBAAiB,KAAK,SAAS,EACnDA,EAAO,aAAa,gBAAiB,OAAO,KAAK,IAAI,CAAC,GAExD,KAAK,wBAAwBA,CAAM,EACnC,IAAME,EAAa,KAAK,iBAAiB,EACzCA,EAAW,aAAa,CACtB,UAAW,IAAM,KAAK,iBAAiB,EACvC,YAAa,IAAM,KAAK,cACxB,QAAS,IAAM,KAAK,KACpB,aAAc,IAAM,KAAK,UACzB,IAAK,KAAK,OACV,OAAQ,KAAK,OACb,iBAAkB,KAAK,gBACzB,CAAC,EACDA,EAAW,KAAK,CAClB,CACA,QAAQC,EAAMC,EAAO,GAAM,CACzB,GAAI,KAAK,OAASD,EAAM,CACtB,KAAK,YAAY,EACjB,MACF,CACA,KAAK,KAAOA,EACRC,GACF,KAAK,gBAAgB,KAAK,CACxB,KAAMD,CACR,CAAC,EAEH,KAAK,YAAY,CACnB,CACA,sBAAsBE,EAAQ,CAC5B,GAAI,CAAC,KAAK,KACR,OAEF,IAAMC,EAASD,EAAO,OACjBE,GAA4B,KAAK,iBAAiB,EAAG,KAAK,YAAY,mBAAmB,GAAK,KAAK,cAAeD,CAAM,GAG7H,KAAK,QAAQ,EAAK,CACpB,CACA,WAAWD,EAAQ,CACZ,KAAK,MAGLG,GAA0B,KAAK,iBAAiB,EAAG,KAAK,YAAY,mBAAmB,GAAK,KAAK,cAAeH,EAAO,aAAa,GAGzI,KAAK,QAAQ,EAAK,CACpB,CACA,oBAAqB,CAInB,MAHI,CAAC,KAAK,OAAO,KAAK,GAGlB,KAAK,QAAQ,qBAAqB,EAC7B,GAEF,CAAC,KAAK,cAAc,kBAAkB,CAC/C,CACA,wBAAwBL,EAAQ,CAC9B,GAAI,CAAC,KAAK,mBAAmB,GAAK,CAACA,EAAQ,CACzC,KAAK,0BAA0B,EAC/B,MACF,CACI,KAAK,oBAAsBA,IAG/B,KAAK,0BAA0B,EAC/BA,EAAO,iBAAiB,QAAS,KAAK,qBAAqB,EAC3D,KAAK,kBAAoBA,EAC3B,CACA,2BAA4B,CACrB,KAAK,oBAGV,KAAK,kBAAkB,oBAAoB,QAAS,KAAK,qBAAqB,EAC9E,KAAK,kBAAoB,KAC3B,CACA,uBAAwB,CACtB,KAAK,QAAQ,CAAC,KAAK,IAAI,CACzB,CACA,kBAAkBK,EAAQ,CACxB,GAAI,CAAC,KAAK,MAAQA,EAAO,MAAQ,SAC/B,OAEFA,EAAO,eAAe,EACtB,KAAK,QAAQ,EAAK,EACH,KAAK,iBAAiB,GAC7B,MAAM,CAChB,CACA,QAAS,CACP,IAAMI,EAAe,KAAK,UAAY,UAAY,uBAAyB,GAC3E,OAAsBC,GAAK,MAAO,CAChC,MAAO,mBACP,WAAY,OACZ,SAAU,CAAgBC,EAAI,OAAQ,CACpC,KAAM,SACR,CAAC,EAAkBA,EAAI,MAAO,CAC5B,WAAY,UACZ,MAAO,4BAA4BF,CAAY,GAAG,KAAK,EACvD,KAAM,SACN,OAAQ,GACR,SAAyBE,EAAI,OAAQ,CACnC,KAAM,SACR,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,CACH,CACA,MAAO,CACL/F,GAAW,CACb,CACF,EAEA,IAAIgG,EACEC,GAAN,cAAgCC,CAAe,CAC7C,MAAO,EACJ,CACC,EAAG,CAACC,GAAaC,GAAmBC,GAAkBC,GAAwBC,EAAW,EACzF,EAAG,CAACP,EAAoBQ,EAAW,CACrC,EAAIC,GAAW,KAAM,CAACC,GAAc,qBAAqB,CAAC,EAAG,CAAC,CAACC,EAAK,CAClE,KAAM,QACN,QAAS,GACT,aAAc,EAChB,CAAC,EAAG,EAAG,MAAM,EAAG,CAACC,GAAM,CACrB,IAAK,MACP,CAAC,EAAG,EAAG,YAAY,EAAG,CAAC,CAACC,GAAOC,GAAU,CAAC,MAAM,CAAC,CAAC,EAAG,EAAG,eAAe,EAAG,CAACC,EAAQ,CACjF,IAAK,OACL,KAAM,OACR,CAAC,EAAG,EAAG,aAAa,EAAG,CAACA,EAAQ,CAC9B,SAAU,cACV,KAAM,iBACR,CAAC,EAAG,EAAG,qBAAqB,CAAC,EAAG,EAAG,OAAQb,CAAc,EAC3D,CACA,eAAec,EAAM,CACnB,MAAM,GAAGA,CAAI,EACbV,GAAuB,IAAI,CAC7B,CACA,MAAQC,GAAY,IAAI,EAAGJ,GAAY,IAAI,GAC3C,YAAcC,GAAkB,IAAI,EAAGC,GAAiB,IAAI,GAC5D,YAAa,CACX,OAAO,KAAK,cAAc,aAAa,CACzC,CACA,mBAAoB,CAClB,MAAM,kBAAkB,EACxB,eAAe,IAAM,KAAK,cAAc,CAAC,CAC3C,CACA,eAAgB,CACd,IAAMY,EAAU,KAAK,WAAW,EAC3BA,GAGDA,EAAQ,OAAS,KAAK,MACxBA,EAAQ,QAAQ,KAAK,KAAM,EAAK,CAEpC,CACA,YAAYC,EAAQ,CAElB,GAAI,CADWA,EAAO,QACT,QAAQ,kBAAkB,EACrC,OAEF,KAAK,KAAO,CAAC,KAAK,KACF,KAAK,WAAW,GACvB,QAAQ,KAAK,IAAI,CAC5B,CACA,oBAAoBA,EAAQ,CAC1B,IAAMD,EAAU,KAAK,WAAW,EAC5BC,EAAO,SAAWD,IAGtB,KAAK,KAAOC,EAAO,OAAO,KAC5B,CACA,QAAS,CACP,OAAsBC,GAAK,MAAO,CAChC,MAAO,sBACP,WAAY,OACZ,SAAU,CAAgBC,EAAI,OAAQ,CACpC,KAAM,SACR,CAAC,EAAkBA,EAAI,OAAQ,CAAC,CAAC,CAAC,CACpC,CAAC,CACH,CACA,MAAO,CACLZ,GAAY,CACd,CACF,EAEA,SAASa,EAAqBC,EAAS,CAErC,OADkBA,EAAQ,cAAc,2DAA2D,GAC/EA,CACtB,CH7SO,SAASC,GAAkB,CAChC,SAAAC,EACA,KAAAC,EAAO,UACP,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,GAAI,MAAO,CAC/B,GAAGD,EACH,KAAAF,EACA,MAAOI,GAAGH,CAAS,EACnB,SAAAF,CACF,CAAC,CACH,CACO,IAAMM,GAAaC,EAAkBC,EAAmB,CAAC,CAC9D,QAAAC,EACA,SAAAT,EACA,GAAGG,CACL,IAAqBO,GAAK,cAAe,CACvC,GAAGP,EACH,SAAU,CAACM,GAAW,KAAsBL,GAAI,OAAQ,CACtD,KAAM,UACN,SAAUK,CACZ,CAAC,EAAI,KAAMT,CAAQ,CACrB,CAAC,EAAG,CACF,YAAa,CAAC,eAAe,CAC/B,CAAC,EACYW,GAAoBJ,EAAkBK,EAA0B,CAAC,CAC5E,QAAAH,EACA,SAAAT,EACA,GAAGG,CACL,IAAqBO,GAAK,sBAAuB,CAC/C,GAAGP,EACH,SAAU,CAAgBC,GAAI,OAAQ,CACpC,KAAM,UACN,SAAUK,CACZ,CAAC,EAAGT,CAAQ,CACd,CAAC,EAAG,CACF,YAAa,CAAC,eAAe,CAC/B,CAAC",
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
+ }>>;