@rarui/components 1.25.0 → 1.27.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,7 +2,65 @@
2
2
 
3
3
  `@rarui/components` components is a component library built with [Lit](https://lit.dev/).
4
4
 
5
- ## 2025-09-23 `1.26.0`
5
+ ## 2025-09-26 `1.28.0`
6
+
7
+ - **PassThroughAttributesMixin**: Introduced mixin for managing pass-through attributes (data-_, aria-_) to internal elements, providing consistent attribute filtering and avoiding conflicts with component-managed attributes. Includes convenience methods `getDataAttributes()`, `getDataAndAriaAttributes()`, and configurable exclusion patterns. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
8
+
9
+ #### 💡 Others
10
+
11
+ - **Lit Binding Best Practices**: Comprehensive review and improvement of property binding patterns across Link, Button, Input, Password, and Search components following Lit best practices. Added `reflect: true` to all visual properties for better CSS styling and debugging, removed unnecessary boolean converters, and applied consistent mixin usage for ARIA properties and pass-through attributes. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
12
+
13
+ #### 🎉 New features
14
+
15
+ ## 2025-09-25 `1.27.0`
16
+
17
+ #### 🎉 New features
18
+
19
+ - **SprinkleAttributesMixin**: Introduced new mixin that replaces `@AddSprinkleAttributes` decorator, providing cleaner implementation with automatic HTML attribute parsing, responsive value support for CSS properties, and optional `cssProps` for programmatic usage. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
20
+ - **AriaAttributesMixin**: Created mixin that eliminates ARIA properties duplication across all components, automatically providing `ariaLabel`, `ariaLabelledBy`, and `ariaDescribedBy` with proper reflection. Applied to 15+ components: Avatar, Button, Badge, Checkbox, Select, Modal, Card, Sidebar, Dropdown, Chip, Title, Text, Icon, Search, Password, and others. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
21
+ - **BaseComponentMixin**: Introduced combined mixin that includes both SprinkleAttributesMixin and AriaAttributesMixin for complete component foundation with automatic CSS properties and ARIA support. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
22
+ - **SpreadAttributesDirective**: Centralized reusable directive for spreading HTML attributes to DOM elements, moved from individual components to shared utils structure for better maintainability. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
23
+
24
+ #### 🐛 Bug fixes
25
+
26
+ - **Select Dropdown Auto-Close**: Fixed Select component to automatically close dropdown after selecting an option in single-select mode. Corrected property binding from `?visible` to `.visible` for proper Dropdown communication and added proper timing for UI updates. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
27
+ - **Dropdown Property Reflection**: Improved Dropdown component by adding `reflect: true` to visual and configuration properties (position, strategy, offset, open, enabled-\*) for better CSS styling support, debugging visibility, and accessibility. Removed unnecessary boolean converters following Lit best practices. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
28
+ - **Modal Property Reflection**: Enhanced Modal component with `reflect: true` on all visual properties (open, padding, max-width, portal-id) for improved debugging and CSS styling capabilities. Optimized event dispatching to only trigger `rarui-modal-open-changed` when `open` property actually changes. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
29
+
30
+ #### 💡 Others
31
+
32
+ - **Enhanced Dropdown Events**: Improved Dropdown component's `dropdown-visibility-change` event to include specific reason information ("click-outside", "escape-key", "click-open", "click-close") instead of generic reasons, enabling better component communication and more precise interaction handling. Updated Select component to properly respond to specific dismissal reasons. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
33
+
34
+ - **Utils Structure Cleanup**: Removed unused utility files and mixins, keeping only essential mixins for better maintainability and reduced bundle size. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
35
+ - **Divider Width Fix**: Fixed host element width behavior to respect user-provided size values, using fit-content for fixed sizes and proper percentage handling for values like "50%". ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
36
+ - **Code Duplication Reduction**: Eliminated 9+ lines of duplicated ARIA property declarations per component, reducing codebase size and improving maintainability across all web components. ([#139](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/139) by [@junior](https://git.rarolabs.com.br/junior))
37
+
38
+ ## 2025-09-25 `1.26.0`
39
+
40
+ #### 🛠 Breaking changes
41
+
42
+ - **Select Component Architecture Refactor**: Completely redesigned Select component to use slot-based sub-components (`rarui-select-option`, `rarui-select-optgroup`) instead of `options` property for better semantic HTML, improved accessibility, and enhanced developer experience. Migration required from `.options` arrays to slot-based markup. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
43
+
44
+ #### 🎉 New features
45
+
46
+ - **Select Sub-Components**: Introduced `rarui-select-option` and `rarui-select-optgroup` components enabling semantic HTML structure with native option selection, default values via `selected` attribute, and improved screen reader compatibility. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
47
+ - **Context Provider System**: Implemented advanced Context Provider pattern in Select using `@lit/context` for seamless parent-child communication, state synchronization, and coordinated updates between Select and SelectOption components. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
48
+ - **MutationObserver Integration**: Added intelligent DOM change detection with MutationObserver to automatically sync Select state when SelectOption children are added, removed, or modified, ensuring consistent UI state. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
49
+ - **Enhanced Checkbox Integration**: Improved multiple selection with properly controlled checkbox states using readonly checkboxes as visual indicators while maintaining click interaction through parent dropdown items. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
50
+ - **Manual Dropdown Dismiss Control**: Implemented custom click-outside and ESC key handling with complete `menuOpen` state control, replacing automatic dropdown dismiss for better programmatic control and consistent behavior. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
51
+
52
+ #### 🐛 Bug fixes
53
+
54
+ - **Multiple Select FormData Fix**: Corrected FormData handling for multiple selections to create proper multiple entries with same name instead of comma-separated strings, ensuring native form submission compatibility. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
55
+ - **Checkbox Boolean Binding**: Standardized Checkbox component property bindings using proper Lit conventions (`?checked=${value}` vs `checked="${value}"`) for consistent boolean attribute handling and resolved diagnostic warnings. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
56
+ - **Selection State Synchronization**: Fixed selection state inconsistencies by establishing Context as single source of truth, eliminating conflicts between local component state and parent coordination. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
57
+ - **Form Value Updates**: Enhanced form integration by ensuring `_updateFormValue()` is called in all selection change scenarios (`handleSelect`, `handleRemoveOption`, chip removal) for consistent FormData synchronization. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
58
+
59
+ #### 💡 Others
60
+
61
+ - **Code Organization Improvements**: Refactored Select component render method by dividing large `render()` function into focused sub-methods (`_renderTrigger`, `_renderPlaceholder`, `_renderSelectedOptions`, `_renderControls`, `_renderContent`) for improved maintainability. ([#138](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/138) by [@junior](https://git.rarolabs.com.br/junior))
62
+
63
+ ## 2025-09-23 `1.25.0`
6
64
 
7
65
  #### 🎉 New features
8
66
 
@@ -19,7 +77,7 @@
19
77
  - Fixed missing `ifDefined` imports across multiple components that were accidentally removed during cleanup process, ensuring proper template directive functionality. ([#137](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/137) by [@junior](https://git.rarolabs.com.br/junior))
20
78
  - Improved component type compatibility by standardizing ARIA property types to `string | null` matching LitElement base class requirements. ([#137](https://git.rarolabs.com.br/frontend/rarui/-/merge_requests/137) by [@junior](https://git.rarolabs.com.br/junior))
21
79
 
22
- ## 2025-09-18 `1.25.0`
80
+ ## 2025-09-18 `1.24.1`
23
81
 
24
82
  #### 🎉 New features
25
83
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.24.2-rc.6",
2
+ "version": "1.27.0-rc.2",
3
3
  "tags": [
4
4
  {
5
5
  "name": "rarui-avatar",
@@ -1361,6 +1361,12 @@
1361
1361
  "name": "for",
1362
1362
  "description": "The for attribute specifies which form element a label is bound to.",
1363
1363
  "type": "string"
1364
+ },
1365
+ {
1366
+ "name": "hidden",
1367
+ "description": "Specifies whether the label is hidden or not",
1368
+ "type": "boolean",
1369
+ "default": false
1364
1370
  }
1365
1371
  ]
1366
1372
  },
@@ -3348,7 +3354,7 @@
3348
3354
  },
3349
3355
  {
3350
3356
  "name": "name",
3351
- "description": "The name of the input for form submission.",
3357
+ "description": "The name of the input for form submission.\n\n(Required)",
3352
3358
  "type": "string"
3353
3359
  },
3354
3360
  {
@@ -3459,7 +3465,7 @@
3459
3465
  },
3460
3466
  {
3461
3467
  "name": "name",
3462
- "description": "The name of the input for form submission.",
3468
+ "description": "The name of the input for form submission.\n\n(Required)",
3463
3469
  "type": "string"
3464
3470
  },
3465
3471
  {
@@ -3624,7 +3630,7 @@
3624
3630
  },
3625
3631
  {
3626
3632
  "name": "rarui-select",
3627
- "description": "## Rarui Select\n---\nSelect component for choosing options from a dropdown menu with support for single and multiple selection.\n\nFeatures:\n- **Single Selection**: Choose one option from the list\n- **Multiple Selection**: Choose multiple options with checkboxes\n- **Custom Content**: Support for slot-based custom content and filtering\n- **Accessibility**: Full keyboard navigation with ESC key support\n- **Controlled Behavior**: Uses internal web components (Dropdown, Checkbox, Text, Box, Chip, Icon)\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/select) for more details.",
3633
+ "description": "## Rarui Select\n---\nSelect component for choosing options from a dropdown menu with support for single and multiple selection.\n\nFeatures:\n- **Single Selection**: Choose one option from the list using rarui-select-option elements\n- **Multiple Selection**: Choose multiple options with checkboxes using rarui-select-option elements\n- **Slot-based Content**: Use rarui-select-option elements as children for flexible content\n- **Accessibility**: Full keyboard navigation with ESC key support\n- **Controlled Behavior**: Uses internal web components (Dropdown, Checkbox, Text, Box, Chip, Icon)\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/select) for more details.",
3628
3634
  "attributes": [
3629
3635
  {
3630
3636
  "name": "open",
@@ -3729,11 +3735,6 @@
3729
3735
  }
3730
3736
  ]
3731
3737
  },
3732
- {
3733
- "name": "options",
3734
- "description": "Options for the Select component. This should be an array of SelectOptionProps objects.\n\n(Required)",
3735
- "type": "array"
3736
- },
3737
3738
  {
3738
3739
  "name": "value",
3739
3740
  "description": "Default selected values for the Select component.\nThis should be an array of SelectOptionProps objects representing the selected options.",
@@ -3833,6 +3834,51 @@
3833
3834
  }
3834
3835
  ]
3835
3836
  },
3837
+ {
3838
+ "name": "rarui-select-select-opt-group",
3839
+ "description": "## Rarui Select OptGroup\n---\nGroup component for organizing related options within rarui-select.\n\nFeatures:\n- **Visual Grouping**: Groups related options with an optional label\n- **Accessibility**: Proper ARIA group semantics\n- **Disabled State**: Can disable entire groups of options\n- **Flexible Content**: Contains rarui-select-option elements\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/select) for more details.",
3840
+ "attributes": [
3841
+ {
3842
+ "name": "label",
3843
+ "description": "The label for the option group. Displayed as a header for the group.",
3844
+ "type": "string"
3845
+ },
3846
+ {
3847
+ "name": "disabled",
3848
+ "description": "Whether this option group is disabled, preventing selection of all options within.",
3849
+ "type": "boolean",
3850
+ "default": false
3851
+ }
3852
+ ]
3853
+ },
3854
+ {
3855
+ "name": "rarui-select-select-option",
3856
+ "description": "## Rarui Select Option\n---\nIndividual option component for use within rarui-select.\n\nFeatures:\n- **Flexible Content**: Support for both label attribute and slot content\n- **Selection State**: Automatic handling of selected state\n- **Accessibility**: Full ARIA support and keyboard navigation\n- **Parent Integration**: Automatically detects parent select configuration\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/select) for more details.",
3857
+ "attributes": [
3858
+ {
3859
+ "name": "value",
3860
+ "description": "The value of the option that will be submitted with forms.\n\n(Required)",
3861
+ "type": "string"
3862
+ },
3863
+ {
3864
+ "name": "label",
3865
+ "description": "The label text for the option. If not provided, will use slot content.",
3866
+ "type": "string"
3867
+ },
3868
+ {
3869
+ "name": "selected",
3870
+ "description": "Whether this option is currently selected.",
3871
+ "type": "boolean",
3872
+ "default": false
3873
+ },
3874
+ {
3875
+ "name": "disabled",
3876
+ "description": "Whether this option is disabled and cannot be selected.",
3877
+ "type": "boolean",
3878
+ "default": false
3879
+ }
3880
+ ]
3881
+ },
3836
3882
  {
3837
3883
  "name": "rarui-textarea",
3838
3884
  "description": "## Rarui Textarea\n---\nExpanded text area for long text entries. Allows you to enter large blocks of text, such as comments or detailed descriptions.\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/textarea) for more details.",
@@ -7813,7 +7859,7 @@
7813
7859
  },
7814
7860
  {
7815
7861
  "name": "as",
7816
- "description": "Changes the rendered element.\n\n- a\n- abbr\n- address\n- area\n- article\n- aside\n- audio\n- b\n- base\n- bdi\n- bdo\n- blockquote\n- body\n- br\n- button\n- canvas\n- caption\n- cite\n- code\n- col\n- colgroup\n- data\n- datalist\n- dd\n- del\n- details\n- dfn\n- dialog\n- div\n- dl\n- dt\n- em\n- embed\n- fieldset\n- figcaption\n- figure\n- footer\n- form\n- h1\n- h2\n- h3\n- h4\n- h5\n- h6\n- head\n- header\n- hgroup\n- hr\n- html\n- i\n- iframe\n- img\n- input\n- ins\n- kbd\n- label\n- legend\n- li\n- link\n- main\n- map\n- mark\n- menu\n- meta\n- meter\n- nav\n- noscript\n- object\n- ol\n- optgroup\n- option\n- output\n- p\n- picture\n- pre\n- progress\n- q\n- rarui-accordion\n- rarui-accordion-body\n- rarui-accordion-header\n- rarui-accordion-item\n- rarui-avatar\n- rarui-badge\n- rarui-banner\n- rarui-box\n- rarui-breadcrumb\n- rarui-breadcrumb-item\n- rarui-button\n- rarui-card\n- rarui-card-body\n- rarui-card-header\n- rarui-checkbox\n- rarui-chip\n- rarui-divider\n- rarui-dropdown\n- rarui-dropdown-item\n- rarui-icon\n- rarui-icon-button\n- rarui-input\n- rarui-label\n- rarui-link\n- rarui-modal\n- rarui-modal-footer\n- rarui-modal-header\n- rarui-pagination\n- rarui-progress\n- rarui-progress-circle\n- rarui-radio-button\n- rarui-select\n- rarui-side-navigation\n- rarui-side-navigation-item\n- rarui-sidebar\n- rarui-skeleton\n- rarui-status\n- rarui-stepper\n- rarui-stepper-step\n- rarui-tabs\n- rarui-text\n- rarui-textarea\n- rarui-theme-provider\n- rarui-title\n- rarui-toggle\n- rarui-tooltip\n- rp\n- rt\n- ruby\n- s\n- samp\n- script\n- section\n- select\n- slot\n- small\n- source\n- span\n- strong\n- style\n- sub\n- summary\n- sup\n- table\n- tbody\n- td\n- template\n- textarea\n- tfoot\n- th\n- thead\n- time\n- title\n- tr\n- track\n- u\n- ul\n- var\n- video\n- wbr\n\n@default div",
7862
+ "description": "Changes the rendered element.\n\n- a\n- abbr\n- address\n- area\n- article\n- aside\n- audio\n- b\n- base\n- bdi\n- bdo\n- blockquote\n- body\n- br\n- button\n- canvas\n- caption\n- cite\n- code\n- col\n- colgroup\n- data\n- datalist\n- dd\n- del\n- details\n- dfn\n- dialog\n- div\n- dl\n- dt\n- em\n- embed\n- fieldset\n- figcaption\n- figure\n- footer\n- form\n- h1\n- h2\n- h3\n- h4\n- h5\n- h6\n- head\n- header\n- hgroup\n- hr\n- html\n- i\n- iframe\n- img\n- input\n- ins\n- kbd\n- label\n- legend\n- li\n- link\n- main\n- map\n- mark\n- menu\n- meta\n- meter\n- nav\n- noscript\n- object\n- ol\n- optgroup\n- option\n- output\n- p\n- picture\n- pre\n- progress\n- q\n- rarui-accordion\n- rarui-accordion-body\n- rarui-accordion-header\n- rarui-accordion-item\n- rarui-avatar\n- rarui-badge\n- rarui-banner\n- rarui-box\n- rarui-breadcrumb\n- rarui-breadcrumb-item\n- rarui-button\n- rarui-card\n- rarui-card-body\n- rarui-card-header\n- rarui-checkbox\n- rarui-chip\n- rarui-divider\n- rarui-dropdown\n- rarui-dropdown-item\n- rarui-icon\n- rarui-icon-button\n- rarui-input\n- rarui-label\n- rarui-link\n- rarui-modal\n- rarui-modal-footer\n- rarui-modal-header\n- rarui-pagination\n- rarui-progress\n- rarui-progress-circle\n- rarui-radio-button\n- rarui-select\n- rarui-select-optgroup\n- rarui-select-option\n- rarui-side-navigation\n- rarui-side-navigation-item\n- rarui-sidebar\n- rarui-skeleton\n- rarui-status\n- rarui-stepper\n- rarui-stepper-step\n- rarui-tabs\n- rarui-text\n- rarui-textarea\n- rarui-theme-provider\n- rarui-title\n- rarui-toggle\n- rarui-tooltip\n- rp\n- rt\n- ruby\n- s\n- samp\n- script\n- section\n- select\n- slot\n- small\n- source\n- span\n- strong\n- style\n- sub\n- summary\n- sup\n- table\n- tbody\n- td\n- template\n- textarea\n- tfoot\n- th\n- thead\n- time\n- title\n- tr\n- track\n- u\n- ul\n- var\n- video\n- wbr\n\n@default div",
7817
7863
  "type": "string",
7818
7864
  "values": [
7819
7865
  {
@@ -8144,6 +8190,12 @@
8144
8190
  {
8145
8191
  "name": "rarui-select"
8146
8192
  },
8193
+ {
8194
+ "name": "rarui-select-optgroup"
8195
+ },
8196
+ {
8197
+ "name": "rarui-select-option"
8198
+ },
8147
8199
  {
8148
8200
  "name": "rarui-side-navigation"
8149
8201
  },
package/dist/index.d.ts CHANGED
@@ -18276,6 +18276,8 @@ interface SideNavigationItemTypings {
18276
18276
  }
18277
18277
  type SideNavigationItemProps = SideNavigationItemTypings & Pick<SideNavigationVariants, "level">;
18278
18278
 
18279
+ type AriaInvalid = "false" | "true" | "grammar" | "spelling" | null;
18280
+
18279
18281
  /**
18280
18282
  * Utility types for Web Components property handling in Rarui Design System
18281
18283
  *
@@ -18315,11 +18317,13 @@ declare global {
18315
18317
  type AvatarManifestProperties = Pick<AvatarProps, "size">;
18316
18318
  type AvatarProperties = WebComponentProperties<AvatarManifestProperties>;
18317
18319
 
18318
- declare class RaruiAvatar extends LitElement {
18319
- size?: AvatarProperties["size"];
18320
+ declare const RaruiAvatar_base: (new (...args: any[]) => {
18320
18321
  ariaLabel: string | null;
18321
18322
  ariaLabelledBy: string | null;
18322
18323
  ariaDescribedBy: string | null;
18324
+ }) & typeof LitElement;
18325
+ declare class RaruiAvatar extends RaruiAvatar_base {
18326
+ size?: AvatarProperties["size"];
18323
18327
  static styles: CSSResult;
18324
18328
  render(): TemplateResult<1>;
18325
18329
  private handleSlotChange;
@@ -18342,13 +18346,15 @@ declare global {
18342
18346
  type BadgeManifestProperties = BadgeProps;
18343
18347
  type BadgeProperties = WebComponentProperties<BadgeManifestProperties>;
18344
18348
 
18345
- declare class RaruiBagde extends LitElement {
18346
- variant?: BadgeProperties["variant"];
18347
- size?: BadgeProperties["size"];
18348
- appearance?: BadgeProperties["appearance"];
18349
+ declare const RaruiBagde_base: (new (...args: any[]) => {
18349
18350
  ariaLabel: string | null;
18350
18351
  ariaLabelledBy: string | null;
18351
18352
  ariaDescribedBy: string | null;
18353
+ }) & typeof LitElement;
18354
+ declare class RaruiBagde extends RaruiBagde_base {
18355
+ variant?: BadgeProperties["variant"];
18356
+ size?: BadgeProperties["size"];
18357
+ appearance?: BadgeProperties["appearance"];
18352
18358
  static styles: CSSResult;
18353
18359
  render(): TemplateResult<1>;
18354
18360
  }
@@ -18368,14 +18374,22 @@ declare global {
18368
18374
  type DividerManifestProperties = DividerProps;
18369
18375
  type DividerProperties = WebComponentProperties<DividerManifestProperties>;
18370
18376
 
18371
- declare class RaruiDivider extends LitElement {
18377
+ declare const RaruiDivider_base: (new (...args: any[]) => {
18378
+ cssProps: Record<string, any>;
18379
+ sprinkleAttrs: Record<string, any>;
18380
+ }) & typeof LitElement;
18381
+ declare class RaruiDivider extends RaruiDivider_base {
18372
18382
  sprinkleAttrs: Record<string, string>;
18373
18383
  direction?: DividerProperties["direction"];
18374
18384
  type?: DividerProperties["type"];
18375
18385
  thickness?: DividerProperties["thickness"];
18376
18386
  color?: DividerProperties["color"];
18377
18387
  size?: DividerProperties["size"];
18388
+ private get _isPercentageSize();
18378
18389
  static styles: CSSResult;
18390
+ updated(changedProperties: PropertyValues): void;
18391
+ connectedCallback(): void;
18392
+ private _updateHostWidth;
18379
18393
  render(): TemplateResult<1>;
18380
18394
  }
18381
18395
 
@@ -18407,13 +18421,18 @@ type IconManifestProperties = IconProps & {
18407
18421
  };
18408
18422
  type IconProperties = WebComponentProperties<IconManifestProperties>;
18409
18423
 
18410
- declare class RaruiIcon extends LitElement {
18411
- sprinkleAttrs: Record<string, string>;
18412
- name: IconProperties["name"];
18413
- size: Sizes | string;
18424
+ declare const RaruiIcon_base: (new (...args: any[]) => {
18414
18425
  ariaLabel: string | null;
18415
18426
  ariaLabelledBy: string | null;
18416
18427
  ariaDescribedBy: string | null;
18428
+ }) & (new (...args: any[]) => {
18429
+ cssProps: Record<string, any>;
18430
+ sprinkleAttrs: Record<string, any>;
18431
+ }) & typeof LitElement;
18432
+ declare class RaruiIcon extends RaruiIcon_base {
18433
+ sprinkleAttrs: Record<string, string>;
18434
+ name: IconProperties["name"];
18435
+ size: Sizes | string;
18417
18436
  static styles: CSSResult;
18418
18437
  private getSvgWithSize;
18419
18438
  render(): TemplateResult<1> | null;
@@ -18436,6 +18455,11 @@ type LabelManifestProperties = {
18436
18455
  * The for attribute specifies which form element a label is bound to.
18437
18456
  */
18438
18457
  for?: string;
18458
+ /**
18459
+ * Specifies whether the label is hidden or not
18460
+ * @default false
18461
+ */
18462
+ hidden?: boolean;
18439
18463
  };
18440
18464
  type LabelProperties = WebComponentProperties<LabelManifestProperties>;
18441
18465
 
@@ -18521,16 +18545,21 @@ type TextManifestProperties = TextProps & {
18521
18545
  };
18522
18546
  type TextProperties = WebComponentProperties<TextManifestProperties>;
18523
18547
 
18524
- declare class RaruiText extends LitElement {
18548
+ declare const RaruiText_base: (new (...args: any[]) => {
18549
+ ariaLabel: string | null;
18550
+ ariaLabelledBy: string | null;
18551
+ ariaDescribedBy: string | null;
18552
+ }) & (new (...args: any[]) => {
18553
+ cssProps: Record<string, any>;
18554
+ sprinkleAttrs: Record<string, any>;
18555
+ }) & typeof LitElement;
18556
+ declare class RaruiText extends RaruiText_base {
18525
18557
  sprinkleAttrs: Record<string, string>;
18526
18558
  as: TextProperties["as"];
18527
18559
  "line-clamp"?: TextProperties["line-clamp"];
18528
18560
  "color"?: TextProperties["color"];
18529
18561
  "font-weight"?: TextProperties["font-weight"];
18530
18562
  "text-align"?: TextProperties["text-align"];
18531
- ariaLabel: string | null;
18532
- ariaLabelledBy: string | null;
18533
- ariaDescribedBy: string | null;
18534
18563
  static styles: CSSResult;
18535
18564
  render(): TemplateResult;
18536
18565
  }
@@ -18556,14 +18585,19 @@ type TitleManifestProperties = TitleProps & {
18556
18585
  };
18557
18586
  type TitleProperties = WebComponentProperties<TitleManifestProperties>;
18558
18587
 
18559
- declare class RaruiTitle extends LitElement {
18588
+ declare const RaruiTitle_base: (new (...args: any[]) => {
18589
+ ariaLabel: string | null;
18590
+ ariaLabelledBy: string | null;
18591
+ ariaDescribedBy: string | null;
18592
+ }) & (new (...args: any[]) => {
18593
+ cssProps: Record<string, any>;
18594
+ sprinkleAttrs: Record<string, any>;
18595
+ }) & typeof LitElement;
18596
+ declare class RaruiTitle extends RaruiTitle_base {
18560
18597
  sprinkleAttrs: Record<string, string>;
18561
18598
  as: TitleProperties["as"];
18562
18599
  "font-weight"?: TitleProperties["font-weight"];
18563
18600
  "text-align"?: TitleProperties["text-align"];
18564
- ariaLabel: string | null;
18565
- ariaLabelledBy: string | null;
18566
- ariaDescribedBy: string | null;
18567
18601
  static styles: CSSResult;
18568
18602
  render(): TemplateResult;
18569
18603
  }
@@ -18766,7 +18800,17 @@ type ButtonManifestProperties = ButtonProps & {
18766
18800
  };
18767
18801
  type ButtonProperties = WebComponentProperties<ButtonManifestProperties>;
18768
18802
 
18769
- declare class RaruiButton extends LitElement {
18803
+ declare const RaruiButton_base: (new (...args: any[]) => {
18804
+ getPassThroughAttributes(allowedPrefixes?: string[], excludedAttributes?: string[]): Record<string, string>;
18805
+ isManagedAttribute(attrName: string, additionalManagedAttrs?: string[]): boolean;
18806
+ getDataAttributes(excludedAttributes?: string[]): Record<string, string>;
18807
+ getDataAndAriaAttributes(excludedAttributes?: string[]): Record<string, string>;
18808
+ }) & (new (...args: any[]) => {
18809
+ ariaLabel: string | null;
18810
+ ariaLabelledBy: string | null;
18811
+ ariaDescribedBy: string | null;
18812
+ }) & typeof LitElement;
18813
+ declare class RaruiButton extends RaruiButton_base {
18770
18814
  static shadowRootOptions: {
18771
18815
  delegatesFocus: boolean;
18772
18816
  mode: ShadowRootMode;
@@ -18782,9 +18826,6 @@ declare class RaruiButton extends LitElement {
18782
18826
  name: ButtonProperties["name"];
18783
18827
  value: ButtonProperties["value"];
18784
18828
  form: ButtonProperties["form"];
18785
- ariaLabel: string | null;
18786
- ariaLabelledBy: string | null;
18787
- ariaDescribedBy: string | null;
18788
18829
  ariaPressed: "true" | "false" | "mixed" | null;
18789
18830
  ariaExpanded: "true" | "false" | null;
18790
18831
  ariaHasPopup: "menu" | "dialog" | "listbox" | "tree" | "grid" | "true" | "false" | null;
@@ -18860,7 +18901,12 @@ type CheckboxManifestProperties = Pick<CheckboxProps, "error" | "size" | "indete
18860
18901
  };
18861
18902
  type CheckboxProperties = WebComponentProperties<CheckboxManifestProperties>;
18862
18903
 
18863
- declare class RaruiCheckbox extends LitElement {
18904
+ declare const RaruiCheckbox_base: (new (...args: any[]) => {
18905
+ ariaLabel: string | null;
18906
+ ariaLabelledBy: string | null;
18907
+ ariaDescribedBy: string | null;
18908
+ }) & typeof LitElement;
18909
+ declare class RaruiCheckbox extends RaruiCheckbox_base {
18864
18910
  label?: CheckboxProperties["label"];
18865
18911
  size: CheckboxProperties["size"];
18866
18912
  error: CheckboxProperties["error"];
@@ -18872,9 +18918,6 @@ declare class RaruiCheckbox extends LitElement {
18872
18918
  name?: CheckboxProperties["name"];
18873
18919
  value?: CheckboxProperties["value"];
18874
18920
  form?: CheckboxProperties["form"];
18875
- ariaLabel: string | null;
18876
- ariaLabelledBy: string | null;
18877
- ariaDescribedBy: string | null;
18878
18921
  static shadowRootOptions: {
18879
18922
  delegatesFocus: boolean;
18880
18923
  mode: ShadowRootMode;
@@ -18939,7 +18982,15 @@ type ChipManifestProperties = ChipProps & {
18939
18982
  };
18940
18983
  type ChipProperties = WebComponentProperties<ChipManifestProperties>;
18941
18984
 
18942
- declare class RaruiChip extends LitElement {
18985
+ declare const RaruiChip_base: (new (...args: any[]) => {
18986
+ ariaLabel: string | null;
18987
+ ariaLabelledBy: string | null;
18988
+ ariaDescribedBy: string | null;
18989
+ }) & (new (...args: any[]) => {
18990
+ cssProps: Record<string, any>;
18991
+ sprinkleAttrs: Record<string, any>;
18992
+ }) & typeof LitElement;
18993
+ declare class RaruiChip extends RaruiChip_base {
18943
18994
  static shadowRootOptions: {
18944
18995
  delegatesFocus: boolean;
18945
18996
  mode: ShadowRootMode;
@@ -18959,9 +19010,6 @@ declare class RaruiChip extends LitElement {
18959
19010
  name?: ChipProperties["name"];
18960
19011
  value?: ChipProperties["value"];
18961
19012
  form?: ChipProperties["form"];
18962
- ariaLabel: string | null;
18963
- ariaLabelledBy: string | null;
18964
- ariaDescribedBy: string | null;
18965
19013
  ariaPressed: "true" | "false" | "mixed" | null;
18966
19014
  static styles: CSSResult;
18967
19015
  private handleClick;
@@ -19018,7 +19066,15 @@ type DropdownManifestProperties = DropdownProps & {
19018
19066
  };
19019
19067
  type DropdownProperties = WebComponentProperties<DropdownManifestProperties, "onVisibility" | "portalId">;
19020
19068
 
19021
- declare class RaruiDropdown extends LitElement {
19069
+ declare const RaruiDropdown_base: (new (...args: any[]) => {
19070
+ ariaLabel: string | null;
19071
+ ariaLabelledBy: string | null;
19072
+ ariaDescribedBy: string | null;
19073
+ }) & (new (...args: any[]) => {
19074
+ cssProps: Record<string, any>;
19075
+ sprinkleAttrs: Record<string, any>;
19076
+ }) & typeof LitElement;
19077
+ declare class RaruiDropdown extends RaruiDropdown_base {
19022
19078
  static shadowRootOptions: {
19023
19079
  delegatesFocus: boolean;
19024
19080
  mode: ShadowRootMode;
@@ -19039,9 +19095,6 @@ declare class RaruiDropdown extends LitElement {
19039
19095
  get visible(): boolean | undefined;
19040
19096
  private _visible?;
19041
19097
  private _hasVisibleAttribute;
19042
- ariaLabel: string | null;
19043
- ariaLabelledBy: string | null;
19044
- ariaDescribedBy: string | null;
19045
19098
  reference: HTMLElement;
19046
19099
  floating: HTMLElement;
19047
19100
  static styles: CSSResult;
@@ -19247,7 +19300,12 @@ type InputManifestProperties = InputProps & {
19247
19300
  };
19248
19301
  type InputProperties = WebComponentProperties<InputManifestProperties>;
19249
19302
 
19250
- declare class RaruiInput extends LitElement {
19303
+ declare const RaruiInput_base: (new (...args: any[]) => {
19304
+ ariaLabel: string | null;
19305
+ ariaLabelledBy: string | null;
19306
+ ariaDescribedBy: string | null;
19307
+ }) & typeof LitElement;
19308
+ declare class RaruiInput extends RaruiInput_base {
19251
19309
  static shadowRootOptions: {
19252
19310
  delegatesFocus: boolean;
19253
19311
  mode: ShadowRootMode;
@@ -19271,10 +19329,7 @@ declare class RaruiInput extends LitElement {
19271
19329
  minlength: InputProperties["minlength"];
19272
19330
  maxlength: InputProperties["maxlength"];
19273
19331
  pattern: InputProperties["pattern"];
19274
- ariaLabel: string | null;
19275
- ariaLabelledBy: string | null;
19276
- ariaDescribedBy: string | null;
19277
- ariaInvalid: "true" | "false" | null;
19332
+ ariaInvalid: AriaInvalid;
19278
19333
  private _internals;
19279
19334
  static formAssociated: boolean;
19280
19335
  constructor();
@@ -19370,6 +19425,18 @@ declare global {
19370
19425
  }
19371
19426
  }
19372
19427
 
19428
+ declare global {
19429
+ interface HTMLElementTagNameMap {
19430
+ "rarui-select-option": any;
19431
+ }
19432
+ }
19433
+
19434
+ declare global {
19435
+ interface HTMLElementTagNameMap {
19436
+ "rarui-select-optgroup": any;
19437
+ }
19438
+ }
19439
+
19373
19440
  declare global {
19374
19441
  interface HTMLElementTagNameMap {
19375
19442
  "rarui-textarea": RaruiTextarea;
@@ -19447,7 +19514,7 @@ declare class RaruiTextarea extends LitElement {
19447
19514
  ariaLabel: string | null;
19448
19515
  ariaLabelledBy: string | null;
19449
19516
  ariaDescribedBy: string | null;
19450
- ariaInvalid: "true" | "false" | null;
19517
+ ariaInvalid: AriaInvalid;
19451
19518
  static styles: CSSResult;
19452
19519
  render(): TemplateResult<1>;
19453
19520
  connectedCallback(): void;
@@ -19518,7 +19585,7 @@ declare class RaruiToggle extends LitElement {
19518
19585
  ariaLabel: string | null;
19519
19586
  ariaLabelledBy: string | null;
19520
19587
  ariaDescribedBy: string | null;
19521
- ariaInvalid: "true" | "false" | null;
19588
+ ariaInvalid: AriaInvalid;
19522
19589
  private _internals;
19523
19590
  static formAssociated: boolean;
19524
19591
  constructor();
@@ -19545,7 +19612,15 @@ declare global {
19545
19612
  type SidebarManifestProperties = SidebarProps;
19546
19613
  type SidebarProperties = WebComponentProperties<SidebarManifestProperties, "onRemove">;
19547
19614
 
19548
- declare class RaruiSidebar extends LitElement {
19615
+ declare const RaruiSidebar_base: (new (...args: any[]) => {
19616
+ ariaLabel: string | null;
19617
+ ariaLabelledBy: string | null;
19618
+ ariaDescribedBy: string | null;
19619
+ }) & (new (...args: any[]) => {
19620
+ cssProps: Record<string, any>;
19621
+ sprinkleAttrs: Record<string, any>;
19622
+ }) & typeof LitElement;
19623
+ declare class RaruiSidebar extends RaruiSidebar_base {
19549
19624
  static shadowRootOptions: {
19550
19625
  delegatesFocus: boolean;
19551
19626
  mode: ShadowRootMode;
@@ -19558,9 +19633,6 @@ declare class RaruiSidebar extends LitElement {
19558
19633
  maxWidth: SidebarProperties["max-width"];
19559
19634
  padding: SidebarProperties["padding"];
19560
19635
  portalId: SidebarProperties["portal-id"];
19561
- ariaLabel: string | null;
19562
- ariaLabelledBy: string | null;
19563
- ariaDescribedBy: string | null;
19564
19636
  sidebarElement: HTMLElement;
19565
19637
  overlayElement: HTMLElement;
19566
19638
  static styles: CSSResult;
@@ -19735,7 +19807,17 @@ type LinkManifestProperties = LinkProps & {
19735
19807
  };
19736
19808
  type LinkProperties = WebComponentProperties<LinkManifestProperties>;
19737
19809
 
19738
- declare class RaruiLink extends LitElement {
19810
+ declare const RaruiLink_base: (new (...args: any[]) => {
19811
+ getPassThroughAttributes(allowedPrefixes?: string[], excludedAttributes?: string[]): Record<string, string>;
19812
+ isManagedAttribute(attrName: string, additionalManagedAttrs?: string[]): boolean;
19813
+ getDataAttributes(excludedAttributes?: string[]): Record<string, string>;
19814
+ getDataAndAriaAttributes(excludedAttributes?: string[]): Record<string, string>;
19815
+ }) & (new (...args: any[]) => {
19816
+ ariaLabel: string | null;
19817
+ ariaLabelledBy: string | null;
19818
+ ariaDescribedBy: string | null;
19819
+ }) & typeof LitElement;
19820
+ declare class RaruiLink extends RaruiLink_base {
19739
19821
  static shadowRootOptions: {
19740
19822
  delegatesFocus: boolean;
19741
19823
  mode: ShadowRootMode;
@@ -19753,9 +19835,6 @@ declare class RaruiLink extends LitElement {
19753
19835
  name?: LinkProperties["name"];
19754
19836
  value?: LinkProperties["value"];
19755
19837
  form?: LinkProperties["form"];
19756
- ariaLabel: string | null;
19757
- ariaLabelledBy: string | null;
19758
- ariaDescribedBy: string | null;
19759
19838
  static styles: CSSResult;
19760
19839
  private _onClick;
19761
19840
  render(): TemplateResult<1>;
@@ -19915,7 +19994,11 @@ declare global {
19915
19994
  type AccordionManifestProperties = AccordionProps;
19916
19995
  type AccordionProperties = WebComponentProperties<AccordionManifestProperties>;
19917
19996
 
19918
- declare class RaruiAccordion extends LitElement {
19997
+ declare const RaruiAccordion_base: (new (...args: any[]) => {
19998
+ cssProps: Record<string, any>;
19999
+ sprinkleAttrs: Record<string, any>;
20000
+ }) & typeof LitElement;
20001
+ declare class RaruiAccordion extends RaruiAccordion_base {
19919
20002
  sprinkleAttrs: Record<string, string>;
19920
20003
  selectedDefault?: AccordionProperties["selected-default"];
19921
20004
  disabled?: AccordionProperties["disabled"];
@@ -20087,13 +20170,18 @@ declare global {
20087
20170
  type CardManifestProperties = CardProps;
20088
20171
  type CardProperties = WebComponentProperties<CardManifestProperties>;
20089
20172
 
20090
- declare class RaruiCard extends LitElement {
20091
- sprinkleAttrs: Record<string, string>;
20092
- padding?: CardProperties["padding"];
20093
- "background-color": CardProperties["background-color"];
20173
+ declare const RaruiCard_base: (new (...args: any[]) => {
20094
20174
  ariaLabel: string | null;
20095
20175
  ariaLabelledBy: string | null;
20096
20176
  ariaDescribedBy: string | null;
20177
+ }) & (new (...args: any[]) => {
20178
+ cssProps: Record<string, any>;
20179
+ sprinkleAttrs: Record<string, any>;
20180
+ }) & typeof LitElement;
20181
+ declare class RaruiCard extends RaruiCard_base {
20182
+ sprinkleAttrs: Record<string, string>;
20183
+ padding?: CardProperties["padding"];
20184
+ "background-color": CardProperties["background-color"];
20097
20185
  static styles: CSSResult;
20098
20186
  render(): TemplateResult<1>;
20099
20187
  }
@@ -20113,7 +20201,15 @@ declare global {
20113
20201
  type ModalManifestProperties = ModalProps;
20114
20202
  type ModalProperties = WebComponentProperties<ModalManifestProperties, "onDismiss">;
20115
20203
 
20116
- declare class RaruiModal extends LitElement {
20204
+ declare const RaruiModal_base: (new (...args: any[]) => {
20205
+ ariaLabel: string | null;
20206
+ ariaLabelledBy: string | null;
20207
+ ariaDescribedBy: string | null;
20208
+ }) & (new (...args: any[]) => {
20209
+ cssProps: Record<string, any>;
20210
+ sprinkleAttrs: Record<string, any>;
20211
+ }) & typeof LitElement;
20212
+ declare class RaruiModal extends RaruiModal_base {
20117
20213
  static shadowRootOptions: {
20118
20214
  delegatesFocus: boolean;
20119
20215
  mode: ShadowRootMode;
@@ -20125,9 +20221,6 @@ declare class RaruiModal extends LitElement {
20125
20221
  portalId: ModalProperties["portal-id"];
20126
20222
  open: ModalProperties["open"];
20127
20223
  maxWidth: ModalProperties["max-width"];
20128
- ariaLabel: string | null;
20129
- ariaLabelledBy: string | null;
20130
- ariaDescribedBy: string | null;
20131
20224
  dialog: HTMLElement;
20132
20225
  static styles: CSSResult;
20133
20226
  cleanupAutoUpdate?: () => void;