@ecopages/radiant-ui 0.1.0-rc.1 → 0.1.0-rc.3

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 (244) hide show
  1. package/dist/components/ui/alert/alert.d.ts +7 -9
  2. package/dist/components/ui/autocomplete/autocomplete.d.ts +11 -17
  3. package/dist/components/ui/autocomplete/autocomplete.script.d.ts +4 -8
  4. package/dist/components/ui/autocomplete/index.js +1 -1
  5. package/dist/components/ui/autocomplete/index.js.map +3 -3
  6. package/dist/components/ui/avatar/avatar.d.ts +4 -4
  7. package/dist/components/ui/badge/badge.css +55 -0
  8. package/dist/components/ui/badge/badge.d.ts +19 -0
  9. package/dist/components/ui/badge/index.d.ts +1 -0
  10. package/dist/components/ui/badge/index.js +2 -0
  11. package/dist/components/ui/badge/index.js.map +7 -0
  12. package/dist/components/ui/breadcrumb/breadcrumb.d.ts +13 -17
  13. package/dist/components/ui/breadcrumb/breadcrumb.script.d.ts +2 -11
  14. package/dist/components/ui/breadcrumb/index.js +1 -1
  15. package/dist/components/ui/breadcrumb/index.js.map +3 -3
  16. package/dist/components/ui/button/button.css +4 -5
  17. package/dist/components/ui/button/button.d.ts +13 -15
  18. package/dist/components/ui/button/index.js +1 -1
  19. package/dist/components/ui/button/index.js.map +3 -3
  20. package/dist/components/ui/button-group/button-group.d.ts +4 -6
  21. package/dist/components/ui/calendar/calendar.d.ts +3 -5
  22. package/dist/components/ui/calendar/calendar.script.d.ts +1 -1
  23. package/dist/components/ui/calendar/index.js +1 -1
  24. package/dist/components/ui/calendar/index.js.map +2 -2
  25. package/dist/components/ui/carousel/carousel.d.ts +19 -36
  26. package/dist/components/ui/carousel/carousel.script.d.ts +12 -24
  27. package/dist/components/ui/carousel/index.js +1 -1
  28. package/dist/components/ui/carousel/index.js.map +3 -3
  29. package/dist/components/ui/checkbox/checkbox.d.ts +3 -5
  30. package/dist/components/ui/checkbox/checkbox.script.d.ts +11 -13
  31. package/dist/components/ui/checkbox/index.js +1 -1
  32. package/dist/components/ui/checkbox/index.js.map +3 -3
  33. package/dist/components/ui/chip/chip.d.ts +3 -3
  34. package/dist/components/ui/chip-list/chip-list.d.ts +4 -7
  35. package/dist/components/ui/combobox/combobox.css +1 -67
  36. package/dist/components/ui/combobox/combobox.d.ts +16 -24
  37. package/dist/components/ui/combobox/combobox.script.d.ts +1 -5
  38. package/dist/components/ui/combobox/index.d.ts +1 -1
  39. package/dist/components/ui/combobox/index.js +1 -1
  40. package/dist/components/ui/combobox/index.js.map +3 -3
  41. package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +7 -11
  42. package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +1 -0
  43. package/dist/components/ui/cycle-toggle/index.js +1 -1
  44. package/dist/components/ui/cycle-toggle/index.js.map +2 -2
  45. package/dist/components/ui/date-field/date-field.css +0 -67
  46. package/dist/components/ui/date-field/date-field.d.ts +10 -14
  47. package/dist/components/ui/date-field/date-field.script.d.ts +1 -1
  48. package/dist/components/ui/date-field/index.js +1 -1
  49. package/dist/components/ui/date-field/index.js.map +2 -2
  50. package/dist/components/ui/date-range-picker/date-range-picker.css +0 -67
  51. package/dist/components/ui/date-range-picker/date-range-picker.d.ts +14 -17
  52. package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +1 -1
  53. package/dist/components/ui/date-range-picker/index.js +1 -1
  54. package/dist/components/ui/date-range-picker/index.js.map +2 -2
  55. package/dist/components/ui/dialog/dialog.d.ts +18 -27
  56. package/dist/components/ui/dialog/dialog.script.d.ts +2 -8
  57. package/dist/components/ui/dialog/index.js +1 -1
  58. package/dist/components/ui/dialog/index.js.map +3 -3
  59. package/dist/components/ui/disclosure/disclosure-group.script.d.ts +1 -3
  60. package/dist/components/ui/disclosure/disclosure.d.ts +13 -17
  61. package/dist/components/ui/disclosure/disclosure.script.d.ts +2 -5
  62. package/dist/components/ui/disclosure/index.js +1 -1
  63. package/dist/components/ui/disclosure/index.js.map +3 -3
  64. package/dist/components/ui/feed/feed.d.ts +13 -23
  65. package/dist/components/ui/field/field-description.d.ts +2 -2
  66. package/dist/components/ui/field/field-error.d.ts +2 -2
  67. package/dist/components/ui/field/field.d.ts +3 -3
  68. package/dist/components/ui/field/field.script.d.ts +3 -6
  69. package/dist/components/ui/field/index.js +1 -1
  70. package/dist/components/ui/field/index.js.map +3 -3
  71. package/dist/components/ui/form/control-protocol.d.ts +2 -0
  72. package/dist/components/ui/form/form-context.d.ts +3 -1
  73. package/dist/components/ui/form/form.d.ts +3 -3
  74. package/dist/components/ui/form/form.script.d.ts +14 -2
  75. package/dist/components/ui/form/index.js +1 -1
  76. package/dist/components/ui/form/index.js.map +3 -3
  77. package/dist/components/ui/grid/grid.d.ts +4 -5
  78. package/dist/components/ui/grid/grid.script.d.ts +1 -6
  79. package/dist/components/ui/grid/index.js +1 -1
  80. package/dist/components/ui/grid/index.js.map +3 -3
  81. package/dist/components/ui/heading/heading.css +0 -1
  82. package/dist/components/ui/heading/heading.d.ts +10 -14
  83. package/dist/components/ui/heading/index.js +1 -1
  84. package/dist/components/ui/heading/index.js.map +3 -3
  85. package/dist/components/ui/headline/headline.css +1 -1
  86. package/dist/components/ui/headline/headline.d.ts +7 -7
  87. package/dist/components/ui/headline/index.js +1 -1
  88. package/dist/components/ui/headline/index.js.map +3 -3
  89. package/dist/components/ui/hover-card/hover-card.css +121 -0
  90. package/dist/components/ui/hover-card/hover-card.d.ts +10 -0
  91. package/dist/components/ui/hover-card/hover-card.script.d.ts +86 -0
  92. package/dist/components/ui/hover-card/index.d.ts +3 -0
  93. package/dist/components/ui/hover-card/index.js +2 -0
  94. package/dist/components/ui/hover-card/index.js.map +7 -0
  95. package/dist/components/ui/input/index.js +1 -1
  96. package/dist/components/ui/input/index.js.map +2 -2
  97. package/dist/components/ui/input/input.d.ts +3 -8
  98. package/dist/components/ui/input-group/index.d.ts +1 -0
  99. package/dist/components/ui/input-group/index.js +2 -0
  100. package/dist/components/ui/input-group/index.js.map +7 -0
  101. package/dist/components/ui/input-group/input-group.css +161 -0
  102. package/dist/components/ui/input-group/input-group.d.ts +31 -0
  103. package/dist/components/ui/knob/index.d.ts +2 -0
  104. package/dist/components/ui/knob/index.js +2 -0
  105. package/dist/components/ui/knob/index.js.map +7 -0
  106. package/dist/components/ui/knob/knob-geometry.d.ts +21 -0
  107. package/dist/components/ui/knob/knob.css +139 -0
  108. package/dist/components/ui/knob/knob.d.ts +16 -0
  109. package/dist/components/ui/knob/knob.script.d.ts +104 -0
  110. package/dist/components/ui/label/index.js +1 -1
  111. package/dist/components/ui/label/index.js.map +2 -2
  112. package/dist/components/ui/label/label.d.ts +3 -3
  113. package/dist/components/ui/listbox/index.js +1 -1
  114. package/dist/components/ui/listbox/index.js.map +3 -3
  115. package/dist/components/ui/listbox/listbox.d.ts +5 -6
  116. package/dist/components/ui/listbox/listbox.script.d.ts +4 -14
  117. package/dist/components/ui/menu-button/index.js +1 -1
  118. package/dist/components/ui/menu-button/index.js.map +4 -4
  119. package/dist/components/ui/menu-button/menu-button.css +1 -118
  120. package/dist/components/ui/menu-button/menu-button.d.ts +7 -8
  121. package/dist/components/ui/menu-button/menu-button.script.d.ts +5 -1
  122. package/dist/components/ui/menubar/index.js +1 -1
  123. package/dist/components/ui/menubar/index.js.map +3 -3
  124. package/dist/components/ui/menubar/menubar.css +10 -40
  125. package/dist/components/ui/menubar/menubar.d.ts +4 -5
  126. package/dist/components/ui/menubar/menubar.script.d.ts +1 -4
  127. package/dist/components/ui/meter/meter.d.ts +3 -5
  128. package/dist/components/ui/navigation-menu/index.d.ts +1 -1
  129. package/dist/components/ui/navigation-menu/index.js +1 -1
  130. package/dist/components/ui/navigation-menu/index.js.map +3 -3
  131. package/dist/components/ui/navigation-menu/navigation-menu.d.ts +21 -20
  132. package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +1 -5
  133. package/dist/components/ui/number-field/index.js +1 -1
  134. package/dist/components/ui/number-field/index.js.map +3 -3
  135. package/dist/components/ui/number-field/number-field.d.ts +18 -27
  136. package/dist/components/ui/number-field/number-field.script.d.ts +1 -13
  137. package/dist/components/ui/pagination/index.d.ts +2 -0
  138. package/dist/components/ui/pagination/index.js +2 -0
  139. package/dist/components/ui/pagination/index.js.map +7 -0
  140. package/dist/components/ui/pagination/pagination.css +76 -0
  141. package/dist/components/ui/pagination/pagination.d.ts +26 -0
  142. package/dist/components/ui/pagination/pagination.script.d.ts +57 -0
  143. package/dist/components/ui/popover/index.js +1 -1
  144. package/dist/components/ui/popover/index.js.map +3 -3
  145. package/dist/components/ui/popover/popover.css +0 -122
  146. package/dist/components/ui/popover/popover.d.ts +7 -11
  147. package/dist/components/ui/popover/popover.script.d.ts +4 -9
  148. package/dist/components/ui/radio-group/index.js +1 -1
  149. package/dist/components/ui/radio-group/index.js.map +2 -2
  150. package/dist/components/ui/radio-group/radio-group.d.ts +6 -7
  151. package/dist/components/ui/radio-group/radio-group.script.d.ts +1 -1
  152. package/dist/components/ui/select/index.d.ts +1 -1
  153. package/dist/components/ui/select/index.js +1 -1
  154. package/dist/components/ui/select/index.js.map +4 -4
  155. package/dist/components/ui/select/select.css +0 -69
  156. package/dist/components/ui/select/select.d.ts +22 -34
  157. package/dist/components/ui/select/select.script.d.ts +1 -4
  158. package/dist/components/ui/shared/control-toggle.css +0 -9
  159. package/dist/components/ui/shared/numeric-range.d.ts +17 -0
  160. package/dist/components/ui/shared/popover.css +0 -4
  161. package/dist/components/ui/shared/preview-timing.d.ts +11 -0
  162. package/dist/components/ui/sidebar/index.d.ts +1 -1
  163. package/dist/components/ui/sidebar/index.js +1 -1
  164. package/dist/components/ui/sidebar/index.js.map +4 -4
  165. package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +15 -8
  166. package/dist/components/ui/sidebar/sidebar.css +36 -0
  167. package/dist/components/ui/sidebar/sidebar.d.ts +45 -92
  168. package/dist/components/ui/sidebar/sidebar.script.d.ts +11 -26
  169. package/dist/components/ui/slider/index.d.ts +2 -2
  170. package/dist/components/ui/slider/index.js +1 -1
  171. package/dist/components/ui/slider/index.js.map +4 -4
  172. package/dist/components/ui/slider/slider.css +118 -120
  173. package/dist/components/ui/slider/slider.d.ts +17 -5
  174. package/dist/components/ui/slider/slider.script.d.ts +85 -59
  175. package/dist/components/ui/spinner/index.d.ts +1 -0
  176. package/dist/components/ui/spinner/index.js +2 -0
  177. package/dist/components/ui/spinner/index.js.map +7 -0
  178. package/dist/components/ui/spinner/spinner.css +46 -0
  179. package/dist/components/ui/spinner/spinner.d.ts +19 -0
  180. package/dist/components/ui/switch/index.js +1 -1
  181. package/dist/components/ui/switch/index.js.map +3 -3
  182. package/dist/components/ui/switch/switch.d.ts +3 -13
  183. package/dist/components/ui/switch/switch.script.d.ts +4 -10
  184. package/dist/components/ui/table/index.d.ts +2 -0
  185. package/dist/components/ui/table/index.js +2 -0
  186. package/dist/components/ui/table/index.js.map +7 -0
  187. package/dist/components/ui/table/table.css +250 -0
  188. package/dist/components/ui/table/table.d.ts +52 -0
  189. package/dist/components/ui/table/table.script.d.ts +91 -0
  190. package/dist/components/ui/tabs/index.js +1 -1
  191. package/dist/components/ui/tabs/index.js.map +3 -3
  192. package/dist/components/ui/tabs/tabs.d.ts +11 -19
  193. package/dist/components/ui/tabs/tabs.script.d.ts +1 -0
  194. package/dist/components/ui/tag-group/index.js +1 -1
  195. package/dist/components/ui/tag-group/index.js.map +3 -3
  196. package/dist/components/ui/tag-group/tag-group.d.ts +11 -13
  197. package/dist/components/ui/tag-group/tag-group.script.d.ts +7 -3
  198. package/dist/components/ui/textarea/index.js +1 -1
  199. package/dist/components/ui/textarea/index.js.map +2 -2
  200. package/dist/components/ui/textarea/textarea.d.ts +3 -8
  201. package/dist/components/ui/toast/toast.d.ts +7 -11
  202. package/dist/components/ui/toc/index.js +1 -1
  203. package/dist/components/ui/toc/index.js.map +2 -2
  204. package/dist/components/ui/toc/toc.d.ts +4 -4
  205. package/dist/components/ui/toc/toc.script.d.ts +1 -0
  206. package/dist/components/ui/toolbar/index.js +1 -1
  207. package/dist/components/ui/toolbar/index.js.map +3 -3
  208. package/dist/components/ui/toolbar/toolbar.d.ts +3 -5
  209. package/dist/components/ui/toolbar/toolbar.script.d.ts +1 -4
  210. package/dist/components/ui/tooltip/index.js +1 -1
  211. package/dist/components/ui/tooltip/index.js.map +3 -3
  212. package/dist/components/ui/tooltip/tooltip.css +0 -6
  213. package/dist/components/ui/tooltip/tooltip.d.ts +3 -5
  214. package/dist/components/ui/tree/index.js +1 -1
  215. package/dist/components/ui/tree/index.js.map +3 -3
  216. package/dist/components/ui/tree/tree.d.ts +4 -5
  217. package/dist/components/ui/tree/tree.script.d.ts +1 -6
  218. package/dist/components/ui/treegrid/index.js +1 -1
  219. package/dist/components/ui/treegrid/index.js.map +3 -3
  220. package/dist/components/ui/treegrid/treegrid.d.ts +5 -6
  221. package/dist/components/ui/treegrid/treegrid.script.d.ts +1 -6
  222. package/dist/components/ui/window-splitter/index.js +1 -1
  223. package/dist/components/ui/window-splitter/index.js.map +4 -4
  224. package/dist/components/ui/window-splitter/window-splitter.d.ts +4 -5
  225. package/dist/components/ui/window-splitter/window-splitter.script.d.ts +2 -11
  226. package/dist/index.d.ts +8 -0
  227. package/dist/index.js +1 -1
  228. package/dist/index.js.map +4 -4
  229. package/dist/lib/icons/chevron-left.d.ts +3 -0
  230. package/dist/lib/icons/chevron-right.d.ts +3 -0
  231. package/dist/lib/icons/index.d.ts +2 -0
  232. package/dist/lib/icons/types.d.ts +3 -3
  233. package/dist/lib/intrinsic.d.ts +3 -3
  234. package/dist/lib/mask/date-mask.d.ts +0 -2
  235. package/dist/lib/mask/index.d.ts +2 -2
  236. package/dist/lib/mask/input-mask.d.ts +0 -4
  237. package/dist/styles/primitives.css +160 -0
  238. package/dist/styles/radiant-ui-core.css +82 -9
  239. package/dist/styles/radiant-ui.css +84 -9
  240. package/dist/styles/style-dependencies.json +393 -0
  241. package/dist/styles/styles.css +674 -542
  242. package/dist/styles/tailwind.css +174 -14
  243. package/dist/styles/tokens/typography/default.css +2 -0
  244. package/package.json +78 -10
@@ -1,10 +1,10 @@
1
- import type { JsxHtmlPropsWithChildren } from '@ecopages/jsx';
1
+ import type { JsxElementProps } from '@ecopages/jsx';
2
2
  import type { RuiAlertProps, RuiAlertVariant } from './alert.script';
3
3
  /** Registers `<rui-alert>` when the JSX helpers are imported. */
4
4
  import './alert.script';
5
- export type RuiAlertIconProps = JsxHtmlPropsWithChildren<{
5
+ export type RuiAlertIconProps = JsxElementProps<HTMLSpanElement> & {
6
6
  variant?: RuiAlertVariant;
7
- }>;
7
+ };
8
8
  /**
9
9
  * Default variant icon for `layout="inline"`. Pass `children` to override.
10
10
  *
@@ -14,23 +14,21 @@ export type RuiAlertIconProps = JsxHtmlPropsWithChildren<{
14
14
  * text, not by icon alone.
15
15
  */
16
16
  export declare function RuiAlertIcon({ variant, class: className, children, ...props }: RuiAlertIconProps): import("@ecopages/jsx").JsxRenderable;
17
- export type RuiAlertTitleProps = JsxHtmlPropsWithChildren;
17
+ export type RuiAlertTitleProps = JsxElementProps<HTMLParagraphElement>;
18
18
  /**
19
19
  * Heading for `layout="banner"` alerts.
20
20
  *
21
21
  * @cssclass rui-alert__title - Banner headline.
22
22
  */
23
23
  export declare function RuiAlertTitle({ children, class: className, ...props }: RuiAlertTitleProps): import("@ecopages/jsx").JsxRenderable;
24
- export type RuiAlertDescriptionProps = JsxHtmlPropsWithChildren;
24
+ export type RuiAlertDescriptionProps = JsxElementProps<HTMLDivElement>;
25
25
  /**
26
26
  * Body copy for `layout="banner"` alerts.
27
27
  *
28
28
  * @cssclass rui-alert__description - Banner body.
29
29
  */
30
30
  export declare function RuiAlertDescription({ children, class: className, ...props }: RuiAlertDescriptionProps): import("@ecopages/jsx").JsxRenderable;
31
- export type RuiAlertComponentProps = JsxHtmlPropsWithChildren<RuiAlertProps & {
32
- slot?: string;
33
- }>;
31
+ export type RuiAlertComponentProps = JsxElementProps<HTMLDivElement> & RuiAlertProps;
34
32
  /**
35
33
  * Status alert with optional dismiss control.
36
34
  *
@@ -51,4 +49,4 @@ export type RuiAlertComponentProps = JsxHtmlPropsWithChildren<RuiAlertProps & {
51
49
  * @cssclass rui-alert--dismissible - Layout adjustments for the dismiss control.
52
50
  * @cssclass rui-alert__close - Dismiss button when `dismissible` is set.
53
51
  */
54
- export declare function RuiAlert({ children, variant, layout, dismissible, closeLabel, class: className, ...props }: RuiAlertComponentProps): import("@ecopages/jsx").JsxRenderable;
52
+ export declare function RuiAlert({ children, variant, layout, dismissible, closeLabel, class: className, slot, ...props }: RuiAlertComponentProps): import("@ecopages/jsx").JsxRenderable;
@@ -1,31 +1,25 @@
1
- import type { JsxHtmlProps, JsxHtmlPropsWithChildren } from '@ecopages/jsx';
2
- import type { RuiAutocompleteProps } from './autocomplete.script';
1
+ import type { JsxCustomElementAttributes, JsxElementProps, JsxRenderable } from '@ecopages/jsx';
2
+ import type { RuiAutocomplete as RuiAutocompleteElement, RuiAutocompleteProps } from './autocomplete.script';
3
3
  import './autocomplete.script';
4
- export type RuiAutocompleteInputProps = JsxHtmlProps<{
5
- slot?: string;
4
+ export type RuiAutocompleteInputProps = JsxElementProps<HTMLInputElement> & {
6
5
  placeholder?: string;
7
- 'aria-label'?: string;
8
6
  disabled?: boolean;
9
- }>;
10
- /** Search field slotted into `RuiAutocomplete`. Also pairs with combobox inputs via `data-autocomplete-input`.
7
+ };
8
+ /** Search field paired with `RuiAutocomplete` via `data-autocomplete-input`.
11
9
  *
12
10
  * @cssclass rui-autocomplete__input - Bordered search input.
13
11
  */
14
- export declare function RuiAutocompleteInput({ placeholder, slot, class: className, disabled, ...props }: RuiAutocompleteInputProps): import("@ecopages/jsx").JsxRenderable;
15
- export type RuiAutocompleteCollectionProps = JsxHtmlPropsWithChildren<{
16
- slot?: string;
17
- }>;
12
+ export declare function RuiAutocompleteInput({ placeholder, class: className, disabled, ...props }: RuiAutocompleteInputProps): JsxRenderable;
13
+ export type RuiAutocompleteCollectionProps = JsxElementProps<HTMLDivElement>;
18
14
  /** Wrapper around the filterable collection inside `RuiAutocomplete`.
19
15
  *
20
16
  * @cssclass rui-autocomplete__collection - Scrollable filterable region.
21
17
  */
22
- export declare function RuiAutocompleteCollection({ children, class: className, ...props }: RuiAutocompleteCollectionProps): import("@ecopages/jsx").JsxRenderable;
23
- export type RuiAutocompleteEmptyProps = JsxHtmlPropsWithChildren;
18
+ export declare function RuiAutocompleteCollection({ children, class: className, ...props }: RuiAutocompleteCollectionProps): JsxRenderable;
19
+ export type RuiAutocompleteEmptyProps = JsxElementProps<HTMLDivElement>;
24
20
  /** Shown when filtering yields no visible items.
25
21
  *
26
22
  * @cssclass rui-autocomplete__empty - No-results state.
27
23
  */
28
- export declare function RuiAutocompleteEmpty({ children, class: className, ...props }: RuiAutocompleteEmptyProps): import("@ecopages/jsx").JsxRenderable;
29
- export declare function RuiAutocomplete({ children, ...props }: JsxHtmlPropsWithChildren<RuiAutocompleteProps & {
30
- slot?: string;
31
- }>): import("@ecopages/jsx").JsxRenderable;
24
+ export declare function RuiAutocompleteEmpty({ children, class: className, ...props }: RuiAutocompleteEmptyProps): JsxRenderable;
25
+ export declare function RuiAutocomplete({ children, ...props }: JsxCustomElementAttributes<RuiAutocompleteElement, RuiAutocompleteProps>): JsxRenderable;
@@ -3,11 +3,11 @@ import { type TextFilterSensitivity } from '@/lib/text-filter';
3
3
  export type RuiAutocompleteProps = {
4
4
  /** Filter sensitivity. Default: `base` (case-insensitive contains). */
5
5
  sensitivity?: TextFilterSensitivity;
6
- /** Controlled filter query. When unset, reads from the slotted input. */
6
+ /** Controlled filter query. When unset, reads from the composed input. */
7
7
  inputValue?: string;
8
8
  };
9
9
  /**
10
- * `<rui-autocomplete>` — filters a slotted collection from a text input.
10
+ * `<rui-autocomplete>` — filters a composed collection from a text input.
11
11
  *
12
12
  * Wrap a search field (`data-autocomplete-input`) and a collection
13
13
  * (`data-autocomplete-collection` or default slot) containing `[role="option"]`,
@@ -21,10 +21,7 @@ export type RuiAutocompleteProps = {
21
21
  * @element rui-autocomplete
22
22
  *
23
23
  * @attr {string} sensitivity - Filter sensitivity: `base` (case-insensitive contains), `case`, or `accent`. Default: `base`.
24
- * @attr {string} input-value - Controlled filter query; when unset, reads from the slotted input. Default: `''`.
25
- *
26
- * @slot input - Search field (`RuiAutocompleteInput`).
27
- * @slot - Filterable collection of `[role="option"]`, `[role="menuitem"]`, or `[data-tag]` items.
24
+ * @attr {string} input-value - Controlled filter query; when unset, reads from the composed input. Default: `''`.
28
25
  *
29
26
  * @cssclass rui-autocomplete - Filter host.
30
27
  */
@@ -43,9 +40,8 @@ export declare class RuiAutocomplete extends RadiantElement {
43
40
  private getQuery;
44
41
  private applyFilter;
45
42
  private initialize;
46
- connectedCallback(): void;
43
+ protected onConnected(): void;
47
44
  disconnectedCallback(): void;
48
45
  onPropsUpdated(): void;
49
46
  onInput(): void;
50
- render(): import("@ecopages/jsx").JsxRenderable;
51
47
  }
@@ -1,2 +1,2 @@
1
- import{jsx as ft,jsxs as It}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as mt,customElement as Et,onEvent as _t,onUpdated as wt,prop as dt}from"@ecopages/radiant";function ot(e,t,o="base"){if(!t)return!0;if(o==="case")return e.includes(t);let l=new Intl.Collator(void 0,{sensitivity:o==="accent"?"accent":"base",usage:"search"});for(let p=0;p<=e.length-t.length;p+=1){let I=e.slice(p,p+t.length);if(l.compare(I,t)===0)return!0}return!1}var rt,ut,at,lt,st,ct;function vt(e,t,o,l,p,I){var y,u,q,F,S,O,w,G=Symbol.metadata||Symbol.for("Symbol.metadata"),J=Object.defineProperty,U=Object.create,W=[U(null),U(null)],X=t.length;function C(n,d,f){return function(i,r){d&&(r=i,i=e);for(var h=0;h<n.length;h++)r=n[h].apply(i,f?[r]:[]);return f?r:i}}function g(n,d,f,i){if(typeof n!="function"&&(i||n!==void 0))throw new TypeError(d+" must "+(f||"be")+" a function"+(i?"":" or undefined"));return n}function Y(n,d,f,i,r,h,E,m,v,b,$){function L(s){if(!$(s))throw new TypeError("Attempted to access private element on non-instance")}var Q=[].concat(d[0]),H=d[3],B=!E,j=r===1,P=r===3,N=r===4,R=r===2;function V(s,_,nt){return function(k,it){return _&&(it=k,k=n),nt&&nt(k),a[s].call(k,it)}}if(!B){var a={},K=[],x=P?"get":N||j?"set":"value";if(v?(b||j?a={get:pt(function(){return H(this)},i,"get"),set:function(s){d[4](this,s)}}:a[x]=H,b||pt(a[x],i,R?"":x)):b||(a=Object.getOwnPropertyDescriptor(n,i)),!b&&!v){if((u=W[+m][i])&&(u^r)!==7)throw Error("Decorating two elements with the same name ("+a[x].name+") is not supported yet");W[+m][i]=r<3?1:r}}for(var c=n,T=Q.length-1;T>=0;T-=f?2:1){var tt=g(Q[T],"A decorator","be",!0),et=f?Q[T-1]:void 0,M={},A={kind:["field","accessor","method","getter","setter","class"][r],name:i,metadata:y,addInitializer:function(s,_){if(s.v)throw new TypeError("attempted to call addInitializer after decoration was finished");g(_,"An initializer","be",!0),h.push(_)}.bind(null,M)};if(B)u=tt.call(et,c,A),M.v=1,g(u,"class decorators","return")&&(c=u);else if(A.static=m,A.private=v,u=A.access={has:v?$.bind():function(s){return i in s}},N||(u.get=v?R?function(s){return L(s),a.value}:V("get",0,L):function(s){return s[i]}),R||P||(u.set=v?V("set",0,L):function(s,_){s[i]=_}),c=tt.call(et,j?{get:a.get,set:a.set}:a[x],A),M.v=1,j){if(typeof c=="object"&&c)(u=g(c.get,"accessor.get"))&&(a.get=u),(u=g(c.set,"accessor.set"))&&(a.set=u),(u=g(c.init,"accessor.init"))&&K.unshift(u);else if(c!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else g(c,(b?"field":"method")+" decorators","return")&&(b?K.unshift(c):a[x]=c)}return r<2&&E.push(C(K,m,1),C(h,m,0)),b||B||(v?j?E.splice(-1,0,V("get",m),V("set",m)):E.push(R?a[x]:g.call.bind(a[x])):J(n,i,a)),c}function Z(n){return J(n,G,{configurable:!0,enumerable:!0,value:y})}return I!==void 0&&(y=I[G]),y=U(y??null),S=[],O=function(n){n&&S.push(C(n))},w=function(n,d){for(var f=0;f<o.length;f++){var i=o[f],r=i[1],h=7&r;if((8&r)==n&&!h==d){var E=i[2],m=!!i[3],v=16&r;Y(n?e:e.prototype,i,v,m?"#"+E:bt(E),h,h<2?[]:n?F=F||[]:q=q||[],S,!!n,m,d,n&&m?function(b){return xt(b)===e}:p)}}},w(8,0),w(0,0),w(8,1),w(0,1),O(q),O(F),u=S,X||Z(e),{e:u,get c(){var n=[];return X&&[Z(e=Y(e,[t],l,e.name,5,n)),C(n,1)]}}}function bt(e){var t=gt(e,"string");return typeof t=="symbol"?t:t+""}function gt(e,t){if(typeof e!="object"||!e)return e;var o=e[Symbol.toPrimitive];if(o!==void 0){var l=o.call(e,t||"default");if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pt(e,t,o){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:o?o+" "+t:t})}catch{}return e}function xt(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 yt,ht=class extends mt{static{({e:[at,lt,st,ct,rt],c:[yt,ut]}=vt(this,[Et("rui-autocomplete")],[[dt({type:String,defaultValue:"base"}),0,"sensitivity"],[dt({type:String,attribute:"input-value",defaultValue:""}),0,"inputValue"],[wt(["sensitivity","inputValue"]),2,"onPropsUpdated"],[_t({selector:"[data-autocomplete-input]",type:"input"}),2,"onInput"]],0,void 0,mt))}sensitivity=(rt(this),at(this));inputValue=(lt(this),st(this));externalInput=(ct(this),null);onExternalInput=()=>{this.applyFilter()};getInput(){let t=this.querySelector("[data-autocomplete-input]");return t||(this.closest("rui-combobox, rui-select")?.querySelector("[data-autocomplete-input]")??null)}bindExternalInput(){this.unbindExternalInput();let t=this.getInput();!t||this.contains(t)||(this.externalInput=t,t.addEventListener("input",this.onExternalInput))}unbindExternalInput(){this.externalInput?.removeEventListener("input",this.onExternalInput),this.externalInput=null}syncFilter(){this.applyFilter()}getCollection(){return this.querySelector("[data-autocomplete-collection]")??this}getFilterableItems(){let t=this.getCollection();return t?Array.from(t.querySelectorAll('[role="option"], [data-tag], [role="menuitem"]')).filter(l=>this.contains(l)||t.contains(l)):[]}getItemText(t){return t.getAttribute("data-label")||t.textContent?.trim()||""}getQuery(){return this.inputValue?this.inputValue:this.getInput()?.value??""}applyFilter(){let t=this.getQuery(),o=this.getFilterableItems(),l=0;for(let I of o){let y=ot(this.getItemText(I),t,this.sensitivity);I.hidden=!y,y&&(l+=1)}let p=this.querySelector("[data-autocomplete-empty]");p&&(p.hidden=l>0)}initialize(){this.applyFilter()}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>{this.bindExternalInput(),this.initialize()})}disconnectedCallback(){this.unbindExternalInput(),super.disconnectedCallback()}onPropsUpdated(){this.applyFilter()}onInput(){this.applyFilter()}render(){return It("div",{class:"rui-autocomplete","data-ref":"root",children:[ft("slot",{name:"input"}),ft("slot",{})]})}static{ut()}};import{jsx as z}from"@ecopages/jsx/jsx-runtime";function D(...e){return e.filter(Boolean).join(" ")}function jt({placeholder:e,slot:t="input",class:o,disabled:l,...p}){return z("input",{...p,type:"search",slot:t,"data-autocomplete-input":!0,class:D("rui-autocomplete__input",o),placeholder:e,disabled:l,autocomplete:"off"})}function At({children:e,class:t,...o}){return z("div",{...o,"data-autocomplete-collection":!0,class:D("rui-autocomplete__collection",t),children:e})}function St({children:e,class:t,...o}){return z("div",{...o,"data-autocomplete-empty":!0,class:D("rui-autocomplete__empty",t),hidden:!0,children:e})}function Ct({children:e,...t}){return z("rui-autocomplete",{...t,children:e})}export{Ct as RuiAutocomplete,At as RuiAutocompleteCollection,yt as RuiAutocompleteElement,St as RuiAutocompleteEmpty,jt as RuiAutocompleteInput};
1
+ import{RadiantElement as ft,customElement as xt,onEvent as It,onUpdated as Et,prop as mt}from"@ecopages/radiant";function ot(e,t,o="base"){if(!t)return!0;if(o==="case")return e.includes(t);let a=new Intl.Collator(void 0,{sensitivity:o==="accent"?"accent":"base",usage:"search"});for(let h=0;h<=e.length-t.length;h+=1){let I=e.slice(h,h+t.length);if(a.compare(I,t)===0)return!0}return!1}var rt,ut,lt,at,ct,st;function yt(e,t,o,a,h,I){var y,u,O,U,C,k,A,J=Symbol.metadata||Symbol.for("Symbol.metadata"),M=Object.defineProperty,q=Object.create,W=[q(null),q(null)],X=t.length;function R(n,m,p){return function(i,r){m&&(r=i,i=e);for(var d=0;d<n.length;d++)r=n[d].apply(i,p?[r]:[]);return p?r:i}}function b(n,m,p,i){if(typeof n!="function"&&(i||n!==void 0))throw new TypeError(m+" must "+(p||"be")+" a function"+(i?"":" or undefined"));return n}function Y(n,m,p,i,r,d,E,f,v,g,$){function L(c){if(!$(c))throw new TypeError("Attempted to access private element on non-instance")}var Q=[].concat(m[0]),H=m[3],B=!E,S=r===1,P=r===3,N=r===4,V=r===2;function T(c,_,nt){return function(z,it){return _&&(it=z,z=n),nt&&nt(z),l[c].call(z,it)}}if(!B){var l={},K=[],x=P?"get":N||S?"set":"value";if(v?(g||S?l={get:pt(function(){return H(this)},i,"get"),set:function(c){m[4](this,c)}}:l[x]=H,g||pt(l[x],i,V?"":x)):g||(l=Object.getOwnPropertyDescriptor(n,i)),!g&&!v){if((u=W[+f][i])&&(u^r)!==7)throw Error("Decorating two elements with the same name ("+l[x].name+") is not supported yet");W[+f][i]=r<3?1:r}}for(var s=n,D=Q.length-1;D>=0;D-=p?2:1){var tt=b(Q[D],"A decorator","be",!0),et=p?Q[D-1]:void 0,G={},j={kind:["field","accessor","method","getter","setter","class"][r],name:i,metadata:y,addInitializer:function(c,_){if(c.v)throw new TypeError("attempted to call addInitializer after decoration was finished");b(_,"An initializer","be",!0),d.push(_)}.bind(null,G)};if(B)u=tt.call(et,s,j),G.v=1,b(u,"class decorators","return")&&(s=u);else if(j.static=f,j.private=v,u=j.access={has:v?$.bind():function(c){return i in c}},N||(u.get=v?V?function(c){return L(c),l.value}:T("get",0,L):function(c){return c[i]}),V||P||(u.set=v?T("set",0,L):function(c,_){c[i]=_}),s=tt.call(et,S?{get:l.get,set:l.set}:l[x],j),G.v=1,S){if(typeof s=="object"&&s)(u=b(s.get,"accessor.get"))&&(l.get=u),(u=b(s.set,"accessor.set"))&&(l.set=u),(u=b(s.init,"accessor.init"))&&K.unshift(u);else if(s!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else b(s,(g?"field":"method")+" decorators","return")&&(g?K.unshift(s):l[x]=s)}return r<2&&E.push(R(K,f,1),R(d,f,0)),g||B||(v?S?E.splice(-1,0,T("get",f),T("set",f)):E.push(V?l[x]:b.call.bind(l[x])):M(n,i,l)),s}function Z(n){return M(n,J,{configurable:!0,enumerable:!0,value:y})}return I!==void 0&&(y=I[J]),y=q(y??null),C=[],k=function(n){n&&C.push(R(n))},A=function(n,m){for(var p=0;p<o.length;p++){var i=o[p],r=i[1],d=7&r;if((8&r)==n&&!d==m){var E=i[2],f=!!i[3],v=16&r;Y(n?e:e.prototype,i,v,f?"#"+E:vt(E),d,d<2?[]:n?U=U||[]:O=O||[],C,!!n,f,m,n&&f?function(g){return bt(g)===e}:h)}}},A(8,0),A(0,0),A(8,1),A(0,1),k(O),k(U),u=C,X||Z(e),{e:u,get c(){var n=[];return X&&[Z(e=Y(e,[t],a,e.name,5,n)),R(n,1)]}}}function vt(e){var t=gt(e,"string");return typeof t=="symbol"?t:t+""}function gt(e,t){if(typeof e!="object"||!e)return e;var o=e[Symbol.toPrimitive];if(o!==void 0){var a=o.call(e,t||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pt(e,t,o){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:o?o+" "+t:t})}catch{}return e}function bt(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 ht,dt=class extends ft{static{({e:[lt,at,ct,st,rt],c:[ht,ut]}=yt(this,[xt("rui-autocomplete")],[[mt({type:String,defaultValue:"base"}),0,"sensitivity"],[mt({type:String,attribute:"input-value",defaultValue:""}),0,"inputValue"],[Et(["sensitivity","inputValue"]),2,"onPropsUpdated"],[It({selector:"[data-autocomplete-input]",type:"input"}),2,"onInput"]],0,void 0,ft))}sensitivity=(rt(this),lt(this));inputValue=(at(this),ct(this));externalInput=(st(this),null);onExternalInput=()=>{this.applyFilter()};getInput(){let t=this.querySelector("[data-autocomplete-input]");return t||(this.closest("rui-combobox, rui-select")?.querySelector("[data-autocomplete-input]")??null)}bindExternalInput(){this.unbindExternalInput();let t=this.getInput();!t||this.contains(t)||(this.externalInput=t,t.addEventListener("input",this.onExternalInput))}unbindExternalInput(){this.externalInput?.removeEventListener("input",this.onExternalInput),this.externalInput=null}syncFilter(){this.applyFilter()}getCollection(){return this.querySelector("[data-autocomplete-collection]")??this}getFilterableItems(){let t=this.getCollection();return t?Array.from(t.querySelectorAll('[role="option"], [data-tag], [role="menuitem"]')).filter(a=>this.contains(a)||t.contains(a)):[]}getItemText(t){return t.getAttribute("data-label")||t.textContent?.trim()||""}getQuery(){return this.inputValue?this.inputValue:this.getInput()?.value??""}applyFilter(){let t=this.getQuery(),o=this.getFilterableItems(),a=0;for(let I of o){let y=ot(this.getItemText(I),t,this.sensitivity);I.hidden=!y,y&&(a+=1)}let h=this.querySelector("[data-autocomplete-empty]");h&&h.toggleAttribute("hidden",a>0)}initialize(){this.applyFilter()}onConnected(){this.bindExternalInput(),this.initialize()}disconnectedCallback(){this.unbindExternalInput(),super.disconnectedCallback()}onPropsUpdated(){this.applyFilter()}onInput(){this.applyFilter()}static{ut()}};import{jsx as w}from"@ecopages/jsx/jsx-runtime";function F(...e){return e.filter(Boolean).join(" ")}function _t({placeholder:e,class:t,disabled:o,...a}){return w("input",{...a,type:"search","data-autocomplete-input":!0,class:F("rui-autocomplete__input",t),placeholder:e,disabled:o,autocomplete:"off"})}function wt({children:e,class:t,...o}){return w("div",{...o,"data-autocomplete-collection":!0,class:F("rui-autocomplete__collection",t),children:e})}function At({children:e,class:t,...o}){return w("div",{...o,"data-autocomplete-empty":!0,class:F("rui-autocomplete__empty",t),children:e})}function St({children:e}){return w("div",{class:"rui-autocomplete","data-ref":"root",children:e})}function jt({children:e,...t}){return w("rui-autocomplete",{...t,children:w(St,{children:e})})}export{jt as RuiAutocomplete,wt as RuiAutocompleteCollection,ht as RuiAutocompleteElement,At as RuiAutocompleteEmpty,_t as RuiAutocompleteInput};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/ui/autocomplete/autocomplete.script.tsx", "../../../../src/lib/text-filter.ts", "../../../../src/components/ui/autocomplete/autocomplete.tsx", "../../../../src/lib/cx.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_sensitivity, _init_extra_sensitivity, _init_inputValue, _init_extra_inputValue;\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, customElement, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { textContains } from \"@/lib/text-filter\";\nlet _RuiAutocomplete;\nclass RuiAutocomplete extends RadiantElement {\n static {\n ({\n e: [_init_sensitivity, _init_extra_sensitivity, _init_inputValue, _init_extra_inputValue, _initProto],\n c: [_RuiAutocomplete, _initClass]\n } = _applyDecs(this, [customElement(\"rui-autocomplete\")], [[prop({\n type: String,\n defaultValue: \"base\"\n }), 0, \"sensitivity\"], [prop({\n type: String,\n attribute: \"input-value\",\n defaultValue: \"\"\n }), 0, \"inputValue\"], [onUpdated([\"sensitivity\", \"inputValue\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-autocomplete-input]\",\n type: \"input\"\n }), 2, \"onInput\"]], 0, void 0, RadiantElement));\n }\n sensitivity = (_initProto(this), _init_sensitivity(this));\n inputValue = (_init_extra_sensitivity(this), _init_inputValue(this));\n externalInput = (_init_extra_inputValue(this), null);\n onExternalInput = () => {\n this.applyFilter();\n };\n getInput() {\n const local = this.querySelector(\"[data-autocomplete-input]\");\n if (local) {\n return local;\n }\n const host = this.closest(\"rui-combobox, rui-select\");\n return host?.querySelector(\"[data-autocomplete-input]\") ?? null;\n }\n bindExternalInput() {\n this.unbindExternalInput();\n const input = this.getInput();\n if (!input || this.contains(input)) {\n return;\n }\n this.externalInput = input;\n input.addEventListener(\"input\", this.onExternalInput);\n }\n unbindExternalInput() {\n this.externalInput?.removeEventListener(\"input\", this.onExternalInput);\n this.externalInput = null;\n }\n syncFilter() {\n this.applyFilter();\n }\n getCollection() {\n return this.querySelector(\"[data-autocomplete-collection]\") ?? this;\n }\n getFilterableItems() {\n const collection = this.getCollection();\n if (!collection) {\n return [];\n }\n const options = Array.from(collection.querySelectorAll('[role=\"option\"], [data-tag], [role=\"menuitem\"]'));\n return options.filter(item => this.contains(item) || collection.contains(item));\n }\n getItemText(item) {\n return item.getAttribute(\"data-label\") || item.textContent?.trim() || \"\";\n }\n getQuery() {\n if (this.inputValue) {\n return this.inputValue;\n }\n return this.getInput()?.value ?? \"\";\n }\n applyFilter() {\n const query = this.getQuery();\n const items = this.getFilterableItems();\n let visibleCount = 0;\n for (const item of items) {\n const matches = textContains(this.getItemText(item), query, this.sensitivity);\n item.hidden = !matches;\n if (matches) {\n visibleCount += 1;\n }\n }\n const emptyState = this.querySelector(\"[data-autocomplete-empty]\");\n if (emptyState) {\n emptyState.hidden = visibleCount > 0;\n }\n }\n initialize() {\n this.applyFilter();\n }\n connectedCallback() {\n super.connectedCallback();\n queueMicrotask(() => {\n this.bindExternalInput();\n this.initialize();\n });\n }\n disconnectedCallback() {\n this.unbindExternalInput();\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.applyFilter();\n }\n onInput() {\n this.applyFilter();\n }\n render() {\n return /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-autocomplete\",\n \"data-ref\": \"root\",\n children: [/* @__PURE__ */jsx(\"slot\", {\n name: \"input\"\n }), /* @__PURE__ */jsx(\"slot\", {})]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiAutocomplete as RuiAutocomplete };", "export function textContains(text, query, sensitivity = \"base\") {\n if (!query) {\n return true;\n }\n if (sensitivity === \"case\") {\n return text.includes(query);\n }\n const collator = new Intl.Collator(void 0, {\n sensitivity: sensitivity === \"accent\" ? \"accent\" : \"base\",\n usage: \"search\"\n });\n for (let index = 0; index <= text.length - query.length; index += 1) {\n const slice = text.slice(index, index + query.length);\n if (collator.compare(slice, query) === 0) {\n return true;\n }\n }\n return false;\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./autocomplete.script\";\nexport function RuiAutocompleteInput({\n placeholder,\n slot = \"input\",\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"search\",\n slot,\n \"data-autocomplete-input\": true,\n class: cx(\"rui-autocomplete__input\", className),\n placeholder,\n disabled,\n autocomplete: \"off\"\n });\n}\nexport function RuiAutocompleteCollection({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-autocomplete-collection\": true,\n class: cx(\"rui-autocomplete__collection\", className),\n children\n });\n}\nexport function RuiAutocompleteEmpty({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-autocomplete-empty\": true,\n class: cx(\"rui-autocomplete__empty\", className),\n hidden: true,\n children\n });\n}\nexport function RuiAutocomplete({\n children,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-autocomplete\", {\n ...props,\n children\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "RadiantElement", "customElement", "onEvent", "onUpdated", "prop", "textContains", "text", "query", "sensitivity", "collator", "index", "slice", "_initProto", "_initClass", "_init_sensitivity", "_init_extra_sensitivity", "_init_inputValue", "_init_extra_inputValue", "_applyDecs", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiAutocomplete", "RuiAutocomplete", "RadiantElement", "customElement", "prop", "onUpdated", "onEvent", "local", "input", "collection", "item", "query", "items", "visibleCount", "matches", "textContains", "emptyState", "jsxs", "jsx", "jsx", "cx", "parts", "RuiAutocompleteInput", "placeholder", "slot", "className", "disabled", "props", "jsx", "cx", "RuiAutocompleteCollection", "children", "RuiAutocompleteEmpty", "RuiAutocomplete"]
4
+ "sourcesContent": ["let _initProto, _initClass, _init_sensitivity, _init_extra_sensitivity, _init_inputValue, _init_extra_inputValue;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, customElement, onEvent, onUpdated, prop } from \"@ecopages/radiant\";\nimport { textContains } from \"@/lib/text-filter\";\nlet _RuiAutocomplete;\nclass RuiAutocomplete extends RadiantElement {\n static {\n ({\n e: [_init_sensitivity, _init_extra_sensitivity, _init_inputValue, _init_extra_inputValue, _initProto],\n c: [_RuiAutocomplete, _initClass]\n } = _applyDecs(this, [customElement(\"rui-autocomplete\")], [[prop({\n type: String,\n defaultValue: \"base\"\n }), 0, \"sensitivity\"], [prop({\n type: String,\n attribute: \"input-value\",\n defaultValue: \"\"\n }), 0, \"inputValue\"], [onUpdated([\"sensitivity\", \"inputValue\"]), 2, \"onPropsUpdated\"], [onEvent({\n selector: \"[data-autocomplete-input]\",\n type: \"input\"\n }), 2, \"onInput\"]], 0, void 0, RadiantElement));\n }\n sensitivity = (_initProto(this), _init_sensitivity(this));\n inputValue = (_init_extra_sensitivity(this), _init_inputValue(this));\n externalInput = (_init_extra_inputValue(this), null);\n onExternalInput = () => {\n this.applyFilter();\n };\n getInput() {\n const local = this.querySelector(\"[data-autocomplete-input]\");\n if (local) {\n return local;\n }\n const host = this.closest(\"rui-combobox, rui-select\");\n return host?.querySelector(\"[data-autocomplete-input]\") ?? null;\n }\n bindExternalInput() {\n this.unbindExternalInput();\n const input = this.getInput();\n if (!input || this.contains(input)) {\n return;\n }\n this.externalInput = input;\n input.addEventListener(\"input\", this.onExternalInput);\n }\n unbindExternalInput() {\n this.externalInput?.removeEventListener(\"input\", this.onExternalInput);\n this.externalInput = null;\n }\n syncFilter() {\n this.applyFilter();\n }\n getCollection() {\n return this.querySelector(\"[data-autocomplete-collection]\") ?? this;\n }\n getFilterableItems() {\n const collection = this.getCollection();\n if (!collection) {\n return [];\n }\n const options = Array.from(collection.querySelectorAll('[role=\"option\"], [data-tag], [role=\"menuitem\"]'));\n return options.filter(item => this.contains(item) || collection.contains(item));\n }\n getItemText(item) {\n return item.getAttribute(\"data-label\") || item.textContent?.trim() || \"\";\n }\n getQuery() {\n if (this.inputValue) {\n return this.inputValue;\n }\n return this.getInput()?.value ?? \"\";\n }\n applyFilter() {\n const query = this.getQuery();\n const items = this.getFilterableItems();\n let visibleCount = 0;\n for (const item of items) {\n const matches = textContains(this.getItemText(item), query, this.sensitivity);\n item.hidden = !matches;\n if (matches) {\n visibleCount += 1;\n }\n }\n const emptyState = this.querySelector(\"[data-autocomplete-empty]\");\n if (emptyState) {\n emptyState.toggleAttribute(\"hidden\", visibleCount > 0);\n }\n }\n initialize() {\n this.applyFilter();\n }\n onConnected() {\n this.bindExternalInput();\n this.initialize();\n }\n disconnectedCallback() {\n this.unbindExternalInput();\n super.disconnectedCallback();\n }\n onPropsUpdated() {\n this.applyFilter();\n }\n onInput() {\n this.applyFilter();\n }\n static {\n _initClass();\n }\n}\nexport { _RuiAutocomplete as RuiAutocomplete };", "export function textContains(text, query, sensitivity = \"base\") {\n if (!query) {\n return true;\n }\n if (sensitivity === \"case\") {\n return text.includes(query);\n }\n const collator = new Intl.Collator(void 0, {\n sensitivity: sensitivity === \"accent\" ? \"accent\" : \"base\",\n usage: \"search\"\n });\n for (let index = 0; index <= text.length - query.length; index += 1) {\n const slice = text.slice(index, index + query.length);\n if (collator.compare(slice, query) === 0) {\n return true;\n }\n }\n return false;\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nimport \"./autocomplete.script\";\nexport function RuiAutocompleteInput({\n placeholder,\n class: className,\n disabled,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"input\", {\n ...props,\n type: \"search\",\n \"data-autocomplete-input\": true,\n class: cx(\"rui-autocomplete__input\", className),\n placeholder,\n disabled,\n autocomplete: \"off\"\n });\n}\nexport function RuiAutocompleteCollection({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-autocomplete-collection\": true,\n class: cx(\"rui-autocomplete__collection\", className),\n children\n });\n}\nexport function RuiAutocompleteEmpty({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-autocomplete-empty\": true,\n class: cx(\"rui-autocomplete__empty\", className),\n children\n });\n}\nfunction AutocompleteShell({\n children\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n class: \"rui-autocomplete\",\n \"data-ref\": \"root\",\n children\n });\n}\nexport function RuiAutocomplete({\n children,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-autocomplete\", {\n ...props,\n children: /* @__PURE__ */jsx(AutocompleteShell, {\n children\n })\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
+ "mappings": "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",
6
+ "names": ["RadiantElement", "customElement", "onEvent", "onUpdated", "prop", "textContains", "text", "query", "sensitivity", "collator", "index", "slice", "_initProto", "_initClass", "_init_sensitivity", "_init_extra_sensitivity", "_init_inputValue", "_init_extra_inputValue", "_applyDecs", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "e", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiAutocomplete", "RuiAutocomplete", "RadiantElement", "customElement", "prop", "onUpdated", "onEvent", "local", "input", "collection", "item", "query", "items", "visibleCount", "matches", "textContains", "emptyState", "jsx", "cx", "parts", "RuiAutocompleteInput", "placeholder", "className", "disabled", "props", "jsx", "cx", "RuiAutocompleteCollection", "children", "RuiAutocompleteEmpty", "AutocompleteShell", "RuiAutocomplete"]
7
7
  }
@@ -1,6 +1,6 @@
1
- import type { JsxHtmlPropsWithChildren } from '@ecopages/jsx';
1
+ import type { JsxElementProps } from '@ecopages/jsx';
2
2
  export type RuiAvatarSize = 'sm' | 'md' | 'lg';
3
- export type RuiAvatarProps = JsxHtmlPropsWithChildren<{
3
+ export type RuiAvatarProps = JsxElementProps<HTMLSpanElement> & {
4
4
  /** Image URL. When omitted or broken, initials from `alt` / `fallback` are shown. */
5
5
  src?: string;
6
6
  /** Accessible name for the image. Also used to derive initials when `fallback` is omitted. */
@@ -8,7 +8,7 @@ export type RuiAvatarProps = JsxHtmlPropsWithChildren<{
8
8
  /** Explicit fallback initials / text when there is no image. */
9
9
  fallback?: string;
10
10
  size?: RuiAvatarSize;
11
- }>;
11
+ };
12
12
  /**
13
13
  * Image avatar with initials fallback.
14
14
  *
@@ -24,4 +24,4 @@ export type RuiAvatarProps = JsxHtmlPropsWithChildren<{
24
24
  * @cssclass rui-avatar__image - `<img>` fill.
25
25
  * @cssclass rui-avatar__fallback - Initials / text fallback.
26
26
  */
27
- export declare function RuiAvatar({ src, alt, fallback, size, class: className, children, ...props }: RuiAvatarProps): import("@ecopages/jsx").JsxRenderable;
27
+ export declare function RuiAvatar({ src, alt, fallback, size, class: className, children, role, aria, ...props }: RuiAvatarProps): import("@ecopages/jsx").JsxRenderable;
@@ -0,0 +1,55 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer components {
4
+ .rui-badge {
5
+ display: inline-flex;
6
+ align-items: center;
7
+ gap: var(--spacing-1, var(--space-1));
8
+ border-radius: var(--radius-control, var(--radius-control));
9
+ padding-inline: var(--spacing-2, var(--space-2));
10
+ padding-block: calc(var(--spacing, 0.25rem) * 0.5);
11
+ font-size: var(--text-xs, var(--text-xs));
12
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
13
+ --tw-font-weight: var(--font-weight-medium, var(--weight-medium));
14
+ font-weight: var(--font-weight-medium, var(--weight-medium));
15
+ }
16
+ .rui-badge--filled {
17
+ background-color: var(--color-primary-container, var(--primary-container));
18
+ color: var(--color-on-primary-container, var(--on-primary-container));
19
+ }
20
+ .rui-badge--outline {
21
+ border-style: var(--tw-border-style);
22
+ border-width: 1px;
23
+ border-color: var(--color-border, var(--border));
24
+ background-color: var(--color-background, var(--background));
25
+ color: var(--color-on-background, var(--on-background));
26
+ }
27
+ .rui-badge--destructive {
28
+ background-color: var(--color-error, var(--error));
29
+ color: var(--color-on-error, var(--on-error));
30
+ }
31
+ .rui-badge--ghost {
32
+ color: var(--color-on-surface, var(--on-surface));
33
+ }
34
+ .rui-badge--muted {
35
+ background-color: var(--color-surface-container, var(--surface-container));
36
+ color: var(--color-on-surface, var(--on-surface));
37
+ }
38
+ }
39
+ @property --tw-font-weight {
40
+ syntax: "*";
41
+ inherits: false;
42
+ }
43
+ @property --tw-border-style {
44
+ syntax: "*";
45
+ inherits: false;
46
+ initial-value: solid;
47
+ }
48
+ @layer properties {
49
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
50
+ *, ::before, ::after, ::backdrop {
51
+ --tw-font-weight: initial;
52
+ --tw-border-style: solid;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,19 @@
1
+ import type { JsxElementProps } from '@ecopages/jsx';
2
+ export type RuiBadgeVariant = 'filled' | 'outline' | 'destructive' | 'ghost' | 'muted';
3
+ export type RuiBadgeProps = JsxElementProps<HTMLSpanElement> & {
4
+ /** Visual tone. Default: `filled`. */
5
+ variant?: RuiBadgeVariant;
6
+ };
7
+ /**
8
+ * Compact status or count label.
9
+ *
10
+ * @remarks For category chips and filter entities use `RuiChip` instead.
11
+ *
12
+ * @cssclass rui-badge - Badge root.
13
+ * @cssclass rui-badge--filled - Primary emphasis on `primary-container`.
14
+ * @cssclass rui-badge--outline - Bordered badge on `background`.
15
+ * @cssclass rui-badge--destructive - Error emphasis.
16
+ * @cssclass rui-badge--ghost - Subtle text-only badge.
17
+ * @cssclass rui-badge--muted - Muted surface badge.
18
+ */
19
+ export declare function RuiBadge({ children, variant, class: className, ...props }: RuiBadgeProps): import("@ecopages/jsx").JsxRenderable;
@@ -0,0 +1 @@
1
+ export { RuiBadge, type RuiBadgeProps, type RuiBadgeVariant } from './badge';
@@ -0,0 +1,2 @@
1
+ import{jsx as n}from"@ecopages/jsx/jsx-runtime";function o(...r){return r.filter(Boolean).join(" ")}function a({children:r,variant:e="filled",class:i,...t}){return n("span",{...t,class:o("rui-badge",`rui-badge--${e}`,i),children:r})}export{a as RuiBadge};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/ui/badge/badge.tsx", "../../../../src/lib/cx.ts"],
4
+ "sourcesContent": ["import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiBadge({\n children,\n variant = \"filled\",\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"span\", {\n ...props,\n class: cx(\"rui-badge\", `rui-badge--${variant}`, className),\n children\n });\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}"],
5
+ "mappings": "AAAA,OAAS,OAAAA,MAAW,4BCAb,SAASC,KAAMC,EAAO,CAC3B,OAAOA,EAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CACvC,CDAO,SAASC,EAAS,CACvB,SAAAC,EACA,QAAAC,EAAU,SACV,MAAOC,EACP,GAAGC,CACL,EAAG,CACD,OAAsBC,EAAI,OAAQ,CAChC,GAAGD,EACH,MAAOE,EAAG,YAAa,cAAcJ,CAAO,GAAIC,CAAS,EACzD,SAAAF,CACF,CAAC,CACH",
6
+ "names": ["jsx", "cx", "parts", "RuiBadge", "children", "variant", "className", "props", "jsx", "cx"]
7
+ }
@@ -1,9 +1,7 @@
1
- import type { JsxHtmlProps, JsxHtmlPropsWithChildren } from '@ecopages/jsx';
2
- import type { RuiBreadcrumbProps } from './breadcrumb.script';
1
+ import type { JsxCustomElementAttributes, JsxElementProps } from '@ecopages/jsx';
2
+ import type { RuiBreadcrumb as RuiBreadcrumbElement, RuiBreadcrumbProps } from './breadcrumb.script';
3
3
  import './breadcrumb.script';
4
- export type RuiBreadcrumbViewProps = JsxHtmlPropsWithChildren<RuiBreadcrumbProps & {
5
- slot?: string;
6
- }>;
4
+ export type RuiBreadcrumbViewProps = JsxCustomElementAttributes<RuiBreadcrumbElement, RuiBreadcrumbProps>;
7
5
  /**
8
6
  * Landmark wrapper for a breadcrumb trail. Set `separator` once here (e.g. `/`
9
7
  * or `>`); empty `RuiBreadcrumbSeparator` nodes pick it up via CSS — no context.
@@ -11,40 +9,38 @@ export type RuiBreadcrumbViewProps = JsxHtmlPropsWithChildren<RuiBreadcrumbProps
11
9
  *
12
10
  * @cssclass rui-breadcrumb - `<nav>` landmark root.
13
11
  */
14
- export declare function RuiBreadcrumb({ children, ...props }: RuiBreadcrumbViewProps): import("@ecopages/jsx").JsxRenderable;
15
- export type RuiBreadcrumbListProps = JsxHtmlPropsWithChildren;
12
+ export declare function RuiBreadcrumb({ children, label, separator, ...props }: RuiBreadcrumbViewProps): import("@ecopages/jsx").JsxRenderable;
13
+ export type RuiBreadcrumbListProps = JsxElementProps<HTMLOListElement>;
16
14
  /**
17
15
  * Ordered list of breadcrumb items and separators.
18
16
  *
19
17
  * @cssclass rui-breadcrumb__list - Ordered list row.
20
18
  */
21
19
  export declare function RuiBreadcrumbList({ children, class: className, ...props }: RuiBreadcrumbListProps): import("@ecopages/jsx").JsxRenderable;
22
- export type RuiBreadcrumbItemProps = JsxHtmlPropsWithChildren;
20
+ export type RuiBreadcrumbItemProps = JsxElementProps<HTMLLIElement>;
23
21
  /**
24
22
  * Single crumb (`<li>`).
25
23
  *
26
24
  * @cssclass rui-breadcrumb__item - List item wrapping a crumb link/page.
27
25
  */
28
26
  export declare function RuiBreadcrumbItem({ children, class: className, ...props }: RuiBreadcrumbItemProps): import("@ecopages/jsx").JsxRenderable;
29
- export type RuiBreadcrumbLinkProps = JsxHtmlPropsWithChildren<{
27
+ export type RuiBreadcrumbLinkProps = JsxElementProps<HTMLAnchorElement> & {
30
28
  href: string;
31
- /** Accessible name when the link content is non-text (e.g. an icon). */
32
- 'aria-label'?: string;
33
- }>;
29
+ };
34
30
  /**
35
31
  * Linked ancestor page.
36
32
  *
37
33
  * @cssclass rui-breadcrumb__link - Crumb link.
38
34
  */
39
- export declare function RuiBreadcrumbLink({ children, href, class: className, 'aria-label': ariaLabel, ...props }: RuiBreadcrumbLinkProps): import("@ecopages/jsx").JsxRenderable;
40
- export type RuiBreadcrumbPageProps = JsxHtmlPropsWithChildren;
35
+ export declare function RuiBreadcrumbLink({ children, href, class: className, ...props }: RuiBreadcrumbLinkProps): import("@ecopages/jsx").JsxRenderable;
36
+ export type RuiBreadcrumbPageProps = JsxElementProps<HTMLSpanElement>;
41
37
  /**
42
38
  * Current page (non-link).
43
39
  *
44
40
  * @cssclass rui-breadcrumb__page - Current page span (`aria-current="page"`).
45
41
  */
46
42
  export declare function RuiBreadcrumbPage({ children, class: className, ...props }: RuiBreadcrumbPageProps): import("@ecopages/jsx").JsxRenderable;
47
- export type RuiBreadcrumbSeparatorProps = JsxHtmlPropsWithChildren;
43
+ export type RuiBreadcrumbSeparatorProps = JsxElementProps<HTMLLIElement>;
48
44
  /**
49
45
  * Visual separator between crumbs. Renders as a presentational list item.
50
46
  * With no children, uses the glyph from `RuiBreadcrumb`’s `separator` prop
@@ -53,10 +49,10 @@ export type RuiBreadcrumbSeparatorProps = JsxHtmlPropsWithChildren;
53
49
  * @cssclass rui-breadcrumb__separator - Presentational separator (`aria-hidden`).
54
50
  */
55
51
  export declare function RuiBreadcrumbSeparator({ children, class: className, ...props }: RuiBreadcrumbSeparatorProps): import("@ecopages/jsx").JsxRenderable;
56
- export type RuiBreadcrumbEllipsisProps = JsxHtmlProps<{
52
+ export type RuiBreadcrumbEllipsisProps = JsxElementProps<HTMLSpanElement> & {
57
53
  /** Accessible label announced for the collapsed segment. Default: `More`. */
58
54
  label?: string;
59
- }>;
55
+ };
60
56
  /**
61
57
  * Collapsed middle segment indicator.
62
58
  *
@@ -9,10 +9,6 @@ export type RuiBreadcrumbProps = {
9
9
  */
10
10
  separator?: string;
11
11
  };
12
- type RuiBreadcrumbBindings = {
13
- label: string;
14
- separator: string;
15
- };
16
12
  /**
17
13
  * `<rui-breadcrumb>` — a trail of links to ancestor pages in hierarchical order.
18
14
  *
@@ -21,20 +17,15 @@ type RuiBreadcrumbBindings = {
21
17
  *
22
18
  * Compose with the JSX helpers (`RuiBreadcrumbList`, `RuiBreadcrumbItem`,
23
19
  * `RuiBreadcrumbLink`, `RuiBreadcrumbPage`, `RuiBreadcrumbSeparator`,
24
- * `RuiBreadcrumbEllipsis`), or author equivalent light-DOM markup into the slot.
20
+ * `RuiBreadcrumbEllipsis`).
25
21
  *
26
22
  * @see https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/
27
23
  *
28
24
  * Keyboard interaction: standard link navigation (`Tab`, `Enter`).
29
25
  *
30
26
  * @element rui-breadcrumb
31
- * @slot - Authored breadcrumb list markup.
32
27
  */
33
- export declare class RuiBreadcrumb extends RadiantElement<RuiBreadcrumbBindings> {
28
+ export declare class RuiBreadcrumb extends RadiantElement {
34
29
  label: string;
35
30
  separator: string;
36
- private readonly resolvedAriaLabel;
37
- private readonly separatorStyle;
38
- render(): import("@ecopages/jsx").JsxRenderable;
39
31
  }
40
- export {};
@@ -1,2 +1,2 @@
1
- import{jsx as cr}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as lr,customElement as gr,prop as dr}from"@ecopages/radiant";var ir,nr,ar,ur,or;function fr(r,e,n,g,br,q){var w,u,k,A,E,z,R,G=Symbol.metadata||Symbol.for("Symbol.metadata"),Q=Object.defineProperty,V=Object.create,U=[V(null),V(null)],W=e.length;function I(t,p,l){return function(i,a){p&&(a=i,i=r);for(var m=0;m<t.length;m++)a=t[m].apply(i,l?[a]:[]);return l?a:i}}function h(t,p,l,i){if(typeof t!="function"&&(i||t!==void 0))throw new TypeError(p+" must "+(l||"be")+" a function"+(i?"":" or undefined"));return t}function X(t,p,l,i,a,m,_,d,b,f,Z){function $(s){if(!Z(s))throw new TypeError("Attempted to access private element on non-instance")}var C=[].concat(p[0]),H=p[3],J=!_,j=a===1,F=a===3,P=a===4,L=a===2;function D(s,x,er){return function(O,tr){return x&&(tr=O,O=t),er&&er(O),o[s].call(O,tr)}}if(!J){var o={},K=[],v=F?"get":P||j?"set":"value";if(b?(f||j?o={get:sr(function(){return H(this)},i,"get"),set:function(s){p[4](this,s)}}:o[v]=H,f||sr(o[v],i,L?"":v)):f||(o=Object.getOwnPropertyDescriptor(t,i)),!f&&!b){if((u=U[+d][i])&&(u^a)!==7)throw Error("Decorating two elements with the same name ("+o[v].name+") is not supported yet");U[+d][i]=a<3?1:a}}for(var c=t,T=C.length-1;T>=0;T-=l?2:1){var N=h(C[T],"A decorator","be",!0),rr=l?C[T-1]:void 0,M={},S={kind:["field","accessor","method","getter","setter","class"][a],name:i,metadata:w,addInitializer:function(s,x){if(s.v)throw new TypeError("attempted to call addInitializer after decoration was finished");h(x,"An initializer","be",!0),m.push(x)}.bind(null,M)};if(J)u=N.call(rr,c,S),M.v=1,h(u,"class decorators","return")&&(c=u);else if(S.static=d,S.private=b,u=S.access={has:b?Z.bind():function(s){return i in s}},P||(u.get=b?L?function(s){return $(s),o.value}:D("get",0,$):function(s){return s[i]}),L||F||(u.set=b?D("set",0,$):function(s,x){s[i]=x}),c=N.call(rr,j?{get:o.get,set:o.set}:o[v],S),M.v=1,j){if(typeof c=="object"&&c)(u=h(c.get,"accessor.get"))&&(o.get=u),(u=h(c.set,"accessor.set"))&&(o.set=u),(u=h(c.init,"accessor.init"))&&K.unshift(u);else if(c!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else h(c,(f?"field":"method")+" decorators","return")&&(f?K.unshift(c):o[v]=c)}return a<2&&_.push(I(K,d,1),I(m,d,0)),f||J||(b?j?_.splice(-1,0,D("get",d),D("set",d)):_.push(L?o[v]:h.call.bind(o[v])):Q(t,i,o)),c}function Y(t){return Q(t,G,{configurable:!0,enumerable:!0,value:w})}return q!==void 0&&(w=q[G]),w=V(w??null),E=[],z=function(t){t&&E.push(I(t))},R=function(t,p){for(var l=0;l<n.length;l++){var i=n[l],a=i[1],m=7&a;if((8&a)==t&&!m==p){var _=i[2],d=!!i[3],b=16&a;X(t?r:r.prototype,i,b,d?"#"+_:hr(_),m,m<2?[]:t?A=A||[]:k=k||[],E,!!t,d,p,t&&d?function(f){return yr(f)===r}:br)}}},R(8,0),R(0,0),R(8,1),R(0,1),z(k),z(A),u=E,W||Y(r),{e:u,get c(){var t=[];return W&&[Y(r=X(r,[e],g,r.name,5,t)),I(t,1)]}}}function hr(r){var e=vr(r,"string");return typeof e=="symbol"?e:e+""}function vr(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var g=n.call(r,e||"default");if(typeof g!="object")return g;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function sr(r,e,n){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(r,"name",{configurable:!0,value:n?n+" "+e:e})}catch{}return r}function yr(r){if(Object(r)!==r)throw TypeError("right-hand side of 'in' should be an object, got "+(r!==null?typeof r:"null"));return r}var mr,pr=class extends lr{static{({e:[nr,ar,ur,or],c:[mr,ir]}=fr(this,[gr("rui-breadcrumb")],[[dr({type:String,defaultValue:"Breadcrumb"}),0,"label"],[dr({type:String,defaultValue:"/"}),0,"separator"]],0,void 0,lr))}label=nr(this);separator=(ar(this),ur(this));resolvedAriaLabel=(or(this),this.$.label.map(e=>e||"Breadcrumb"));separatorStyle=this.$.separator.map(e=>({"--rui-breadcrumb-separator":JSON.stringify(e||"/")}));render(){return cr("nav",{class:"rui-breadcrumb","aria-label":this.resolvedAriaLabel,style:this.separatorStyle,children:cr("slot",{})})}static{ir()}};import{jsx as y,jsxs as _r}from"@ecopages/jsx/jsx-runtime";function B(...r){return r.filter(Boolean).join(" ")}function Br({children:r,...e}){return y("rui-breadcrumb",{...e,children:r})}function wr({children:r,class:e,...n}){return y("ol",{...n,class:B("rui-breadcrumb__list",e),children:r})}function xr({children:r,class:e,...n}){return y("li",{...n,class:B("rui-breadcrumb__item",e),children:r})}function Rr({children:r,href:e,class:n,...g}){return y("a",{...g,class:B("rui-breadcrumb__link",n),href:e,children:r})}function jr({children:r,class:e,...n}){return y("span",{...n,class:B("rui-breadcrumb__page",e),"aria-current":"page",children:r})}function Sr({children:r,class:e,...n}){return y("li",{...n,class:B("rui-breadcrumb__separator",e),role:"presentation","aria-hidden":"true",children:r})}function Er({label:r="More",class:e,...n}){return _r("span",{...n,class:B("rui-breadcrumb__ellipsis",e),role:"presentation","aria-hidden":"true",children:[y("span",{"aria-hidden":"true",children:"\u2026"}),y("span",{class:"rui-breadcrumb__ellipsis-label",children:r})]})}export{Br as RuiBreadcrumb,mr as RuiBreadcrumbElement,Er as RuiBreadcrumbEllipsis,xr as RuiBreadcrumbItem,Rr as RuiBreadcrumbLink,wr as RuiBreadcrumbList,jr as RuiBreadcrumbPage,Sr as RuiBreadcrumbSeparator};
1
+ import{RadiantElement as le,customElement as ge,prop as de}from"@ecopages/radiant";var ie,ae,ue,oe,ce;function fe(e,r,n,f,Q,k){var w,u,z,V,E,A,x,U=Symbol.metadata||Symbol.for("Symbol.metadata"),W=Object.defineProperty,C=Object.create,X=[C(null),C(null)],Y=r.length;function I(t,p,l){return function(i,a){p&&(a=i,i=e);for(var m=0;m<t.length;m++)a=t[m].apply(i,l?[a]:[]);return l?a:i}}function g(t,p,l,i){if(typeof t!="function"&&(i||t!==void 0))throw new TypeError(p+" must "+(l||"be")+" a function"+(i?"":" or undefined"));return t}function Z(t,p,l,i,a,m,_,d,b,h,H){function J(c){if(!H(c))throw new TypeError("Attempted to access private element on non-instance")}var K=[].concat(p[0]),F=p[3],M=!_,j=a===1,P=a===3,N=a===4,L=a===2;function D(c,R,te){return function(O,ne){return R&&(ne=O,O=t),te&&te(O),o[c].call(O,ne)}}if(!M){var o={},q=[],y=P?"get":N||j?"set":"value";if(b?(h||j?o={get:se(function(){return F(this)},i,"get"),set:function(c){p[4](this,c)}}:o[y]=F,h||se(o[y],i,L?"":y)):h||(o=Object.getOwnPropertyDescriptor(t,i)),!h&&!b){if((u=X[+d][i])&&(u^a)!==7)throw Error("Decorating two elements with the same name ("+o[y].name+") is not supported yet");X[+d][i]=a<3?1:a}}for(var s=t,T=K.length-1;T>=0;T-=l?2:1){var ee=g(K[T],"A decorator","be",!0),re=l?K[T-1]:void 0,G={},S={kind:["field","accessor","method","getter","setter","class"][a],name:i,metadata:w,addInitializer:function(c,R){if(c.v)throw new TypeError("attempted to call addInitializer after decoration was finished");g(R,"An initializer","be",!0),m.push(R)}.bind(null,G)};if(M)u=ee.call(re,s,S),G.v=1,g(u,"class decorators","return")&&(s=u);else if(S.static=d,S.private=b,u=S.access={has:b?H.bind():function(c){return i in c}},N||(u.get=b?L?function(c){return J(c),o.value}:D("get",0,J):function(c){return c[i]}),L||P||(u.set=b?D("set",0,J):function(c,R){c[i]=R}),s=ee.call(re,j?{get:o.get,set:o.set}:o[y],S),G.v=1,j){if(typeof s=="object"&&s)(u=g(s.get,"accessor.get"))&&(o.get=u),(u=g(s.set,"accessor.set"))&&(o.set=u),(u=g(s.init,"accessor.init"))&&q.unshift(u);else if(s!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else g(s,(h?"field":"method")+" decorators","return")&&(h?q.unshift(s):o[y]=s)}return a<2&&_.push(I(q,d,1),I(m,d,0)),h||M||(b?j?_.splice(-1,0,D("get",d),D("set",d)):_.push(L?o[y]:g.call.bind(o[y])):W(t,i,o)),s}function $(t){return W(t,U,{configurable:!0,enumerable:!0,value:w})}return k!==void 0&&(w=k[U]),w=C(w??null),E=[],A=function(t){t&&E.push(I(t))},x=function(t,p){for(var l=0;l<n.length;l++){var i=n[l],a=i[1],m=7&a;if((8&a)==t&&!m==p){var _=i[2],d=!!i[3],b=16&a;Z(t?e:e.prototype,i,b,d?"#"+_:be(_),m,m<2?[]:t?V=V||[]:z=z||[],E,!!t,d,p,t&&d?function(h){return ve(h)===e}:Q)}}},x(8,0),x(0,0),x(8,1),x(0,1),A(z),A(V),u=E,Y||$(e),{e:u,get c(){var t=[];return Y&&[$(e=Z(e,[r],f,e.name,5,t)),I(t,1)]}}}function be(e){var r=he(e,"string");return typeof r=="symbol"?r:r+""}function he(e,r){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var f=n.call(e,r||"default");if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function se(e,r,n){typeof r=="symbol"&&(r=(r=r.description)?"["+r+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+r:r})}catch{}return e}function ve(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 me,pe=class extends le{static{({e:[ae,ue,oe,ce],c:[me,ie]}=fe(this,[ge("rui-breadcrumb")],[[de({type:String,defaultValue:"Breadcrumb"}),0,"label"],[de({type:String,defaultValue:"/"}),0,"separator"]],0,void 0,le))}constructor(...r){super(...r),ce(this)}label=ae(this);separator=(ue(this),oe(this));static{ie()}};import{jsx as v,jsxs as ye}from"@ecopages/jsx/jsx-runtime";function B(...e){return e.filter(Boolean).join(" ")}function _e({children:e,label:r,separator:n,...f}){return v("rui-breadcrumb",{...f,label:r,separator:n,children:v("nav",{class:"rui-breadcrumb","aria-label":r||"Breadcrumb",style:{"--rui-breadcrumb-separator":JSON.stringify(n||"/")},children:e})})}function Be({children:e,class:r,...n}){return v("ol",{...n,class:B("rui-breadcrumb__list",r),children:e})}function we({children:e,class:r,...n}){return v("li",{...n,class:B("rui-breadcrumb__item",r),children:e})}function Re({children:e,href:r,class:n,...f}){return v("a",{...f,class:B("rui-breadcrumb__link",n),href:r,children:e})}function xe({children:e,class:r,...n}){return v("span",{...n,class:B("rui-breadcrumb__page",r),"aria-current":"page",children:e})}function je({children:e,class:r,...n}){return v("li",{...n,class:B("rui-breadcrumb__separator",r),role:"presentation","aria-hidden":"true",children:e})}function Se({label:e="More",class:r,...n}){return ye("span",{...n,class:B("rui-breadcrumb__ellipsis",r),role:"presentation","aria-hidden":"true",children:[v("span",{"aria-hidden":"true",children:"\u2026"}),v("span",{class:"rui-breadcrumb__ellipsis-label",children:e})]})}export{_e as RuiBreadcrumb,me as RuiBreadcrumbElement,Se as RuiBreadcrumbEllipsis,we as RuiBreadcrumbItem,Re as RuiBreadcrumbLink,Be as RuiBreadcrumbList,xe as RuiBreadcrumbPage,je as RuiBreadcrumbSeparator};
2
2
  //# sourceMappingURL=index.js.map