@rarui/components 1.21.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -17641,6 +17641,54 @@ declare const paginationStyles: {
17641
17641
 
17642
17642
  type PaginationVariants = Omit<NonNullable<RecipeVariants<typeof paginationStyles.item>>, "selected">;
17643
17643
 
17644
+ declare const sidebarStyles: {
17645
+ sidebar: RuntimeFn<{
17646
+ /**
17647
+ * Specifies where the sidebar should be positioned
17648
+ */
17649
+ position: {
17650
+ left: {
17651
+ left: number;
17652
+ transform: "translateX(-100%)";
17653
+ };
17654
+ right: {
17655
+ right: number;
17656
+ transform: "translateX(100%)";
17657
+ };
17658
+ };
17659
+ /**
17660
+ * Determines if the sidebar is shown or not.
17661
+ * @default true
17662
+ */
17663
+ open: {
17664
+ true: {
17665
+ opacity: number;
17666
+ transform: "translateX(0)";
17667
+ };
17668
+ };
17669
+ }>;
17670
+ overlay: string;
17671
+ };
17672
+ declare const sidebarPaddingProperties: {
17673
+ none: string;
17674
+ small: `var(--${string})` | `var(--${string}, ${string})`;
17675
+ medium: `var(--${string})` | `var(--${string}, ${string})`;
17676
+ };
17677
+
17678
+ type SidebarVariants = RecipeVariants<typeof sidebarStyles.sidebar>;
17679
+ type SidebarDynamicProperties = Pick<StandardLonghandProperties, "maxWidth">;
17680
+ interface SidebarSprinkle extends SidebarDynamicProperties {
17681
+ /**
17682
+ * The **`padding`** CSS shorthand property sets the padding area on all four sides of an element at once.
17683
+ * @default small
17684
+ */
17685
+ padding?: AddDollar<keyof typeof sidebarPaddingProperties> | Conditions<AddDollar<keyof typeof sidebarPaddingProperties>>;
17686
+ /**
17687
+ * The zIndex property specifies the stack order of the box.
17688
+ */
17689
+ zIndex?: AddDollar<keyof typeof zIndexProperties> | Conditions<AddDollar<keyof typeof zIndexProperties>>;
17690
+ }
17691
+
17644
17692
  declare const sideNavigationStyles: {
17645
17693
  sideNavigation: RuntimeFn<{
17646
17694
  active: {
@@ -18166,6 +18214,33 @@ interface ModalHeaderTypings {
18166
18214
  }
18167
18215
  type ModalHeaderProps = ModalHeaderTypings;
18168
18216
 
18217
+ interface SidebarTyping {
18218
+ /**
18219
+ * Whether the sidebar is open or not.
18220
+ */
18221
+ open?: boolean;
18222
+ /**
18223
+ * Specifies the ID of the portal element where the sidebar should be rendered.
18224
+ * This can be useful for rendering the sidebar in a different part of the DOM, such as a modal or overlay.
18225
+ */
18226
+ portalId?: string;
18227
+ /**
18228
+ * Callback fired when the component requests to be closed.
18229
+ * @TJS-type () => void;
18230
+ */
18231
+ onRemove?: () => void;
18232
+ }
18233
+ type SidebarProps = SidebarTyping & SidebarSprinkle & SidebarVariants;
18234
+
18235
+ interface BreadcrumbProps {
18236
+ /**
18237
+ * Specifies the number of breadcrumb items to display after truncation.
18238
+ * This is useful for managing the display of long breadcrumb lists.
18239
+ * @default 10
18240
+ */
18241
+ itemsAfterTruncate?: number;
18242
+ }
18243
+
18169
18244
  interface BreadcrumbItemTyping {
18170
18245
  /**
18171
18246
  * The name of the breadcrumb item. This is typically the text that is displayed for the item.
@@ -18223,6 +18298,30 @@ interface SideNavigationItemTypings {
18223
18298
  }
18224
18299
  type SideNavigationItemProps = SideNavigationItemTypings & Pick<SideNavigationVariants, "level">;
18225
18300
 
18301
+ /**
18302
+ * Utility types for Web Components property handling in Rarui Design System
18303
+ *
18304
+ * These types help convert React-style camelCase properties to web component
18305
+ * kebab-case attributes while maintaining type safety.
18306
+ */
18307
+ /**
18308
+ * Converts a camelCase string to kebab-case
18309
+ *
18310
+ * @example
18311
+ * CamelToKebab<"maxWidth"> // "max-width"
18312
+ * CamelToKebab<"portalId"> // "portal-id"
18313
+ * CamelToKebab<"position"> // "position"
18314
+ */
18315
+ type CamelToKebab<T extends string> = T extends `${infer Start}${infer Rest}` ? Rest extends `${infer First}${infer End}` ? First extends Uppercase<First> ? `${Lowercase<Start>}-${CamelToKebab<`${Lowercase<First>}${End}`>}` : `${Lowercase<Start>}${CamelToKebab<Rest>}` : Lowercase<T> : T;
18316
+ type CamelToKebabKeys<T> = {
18317
+ [K in keyof T as CamelToKebab<string & K>]: T[K];
18318
+ };
18319
+ /**
18320
+ * Common React properties that should be excluded from web component types
18321
+ */
18322
+ type CommonReactExclusions = "children" | "className" | "style" | "ref" | "key";
18323
+ type WebComponentProperties<TReactProps, TExclude extends keyof TReactProps = never> = CamelToKebabKeys<Omit<Partial<TReactProps>, CommonReactExclusions | TExclude>>;
18324
+
18226
18325
  declare global {
18227
18326
  interface HTMLElementTagNameMap {
18228
18327
  "rarui-avatar": RaruiAvatar;
@@ -18235,7 +18334,8 @@ declare global {
18235
18334
  *
18236
18335
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/avatar) for more details.
18237
18336
  */
18238
- type AvatarProperties = Pick<AvatarProps, "size">;
18337
+ type AvatarManifestProperties = Pick<AvatarProps, "size">;
18338
+ type AvatarProperties = WebComponentProperties<AvatarManifestProperties>;
18239
18339
 
18240
18340
  declare class RaruiAvatar extends LitElement {
18241
18341
  size?: AvatarProperties["size"];
@@ -18255,7 +18355,8 @@ declare global {
18255
18355
  *
18256
18356
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/badge) for more details.
18257
18357
  */
18258
- type BadgeProperties = Partial<BadgeProps>;
18358
+ type BadgeManifestProperties = BadgeProps;
18359
+ type BadgeProperties = WebComponentProperties<BadgeManifestProperties>;
18259
18360
 
18260
18361
  declare class RaruiBagde extends LitElement {
18261
18362
  variant?: BadgeProperties["variant"];
@@ -18277,7 +18378,8 @@ declare global {
18277
18378
  *
18278
18379
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/divider) for more details.
18279
18380
  */
18280
- type DividerProperties = Partial<DividerProps>;
18381
+ type DividerManifestProperties = DividerProps;
18382
+ type DividerProperties = WebComponentProperties<DividerManifestProperties>;
18281
18383
 
18282
18384
  declare class RaruiDivider extends LitElement {
18283
18385
  sprinkleAttrs: Record<string, string>;
@@ -18305,7 +18407,7 @@ declare global {
18305
18407
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/icon) for more details.
18306
18408
  */
18307
18409
  type Sizes = "small" | "medium" | "large";
18308
- type IconProperties = IconProps & {
18410
+ type IconManifestProperties = IconProps & {
18309
18411
  /**
18310
18412
  * Name of the icon to be rendered (must be in the @rarui/icons package).
18311
18413
  */
@@ -18316,6 +18418,7 @@ type IconProperties = IconProps & {
18316
18418
  */
18317
18419
  size?: Sizes | number;
18318
18420
  };
18421
+ type IconProperties = WebComponentProperties<IconManifestProperties>;
18319
18422
 
18320
18423
  declare class RaruiIcon extends LitElement {
18321
18424
  sprinkleAttrs: Record<string, string>;
@@ -18338,10 +18441,11 @@ declare global {
18338
18441
  *
18339
18442
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/label) for more details.
18340
18443
  */
18341
- type LabelProperties = Partial<LabelProps>;
18444
+ type LabelManifestProperties = LabelProps;
18445
+ type LabelProperties = WebComponentProperties<LabelManifestProperties>;
18342
18446
 
18343
18447
  declare class RaruiLabel extends LitElement {
18344
- htmlFor: LabelProperties["htmlFor"];
18448
+ htmlFor: LabelProperties["html-for"];
18345
18449
  hidden: boolean;
18346
18450
  static styles: CSSResult;
18347
18451
  render(): TemplateResult<1>;
@@ -18359,7 +18463,8 @@ declare global {
18359
18463
  *
18360
18464
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/stepper) for more details.
18361
18465
  */
18362
- type StepperStepProperties = Partial<StepperStepProps>;
18466
+ type StepperStepManifestProperties = StepperStepProps;
18467
+ type StepperStepProperties = WebComponentProperties<StepperStepManifestProperties>;
18363
18468
 
18364
18469
  declare class RaruiStepperStep extends LitElement {
18365
18470
  description: StepperStepProperties["description"];
@@ -18383,7 +18488,8 @@ declare global {
18383
18488
  *
18384
18489
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/stepper) for more details.
18385
18490
  */
18386
- type StepperProperties = Partial<StepperProps>;
18491
+ type StepperManifestProperties = StepperProps;
18492
+ type StepperProperties = WebComponentProperties<StepperManifestProperties>;
18387
18493
 
18388
18494
  declare class RaruiStepper extends LitElement {
18389
18495
  direction: StepperProperties["direction"];
@@ -18406,14 +18512,15 @@ declare global {
18406
18512
  *
18407
18513
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/typography) for more details.
18408
18514
  */
18409
- type TextProperties = Omit<TextProps, "as">;
18515
+ type TextManifestProperties = TextProps;
18516
+ type TextProperties = WebComponentProperties<TextManifestProperties, "as">;
18410
18517
 
18411
18518
  declare class RaruiText extends LitElement {
18412
18519
  sprinkleAttrs: Record<string, string>;
18413
- "line-clamp"?: TextProperties["lineClamp"];
18520
+ "line-clamp"?: TextProperties["line-clamp"];
18414
18521
  "color"?: TextProperties["color"];
18415
- "font-weight"?: TextProperties["fontWeight"];
18416
- "text-align"?: TextProperties["textAlign"];
18522
+ "font-weight"?: TextProperties["font-weight"];
18523
+ "text-align"?: TextProperties["text-align"];
18417
18524
  static styles: CSSResult;
18418
18525
  render(): TemplateResult<1>;
18419
18526
  }
@@ -18430,13 +18537,14 @@ declare global {
18430
18537
  *
18431
18538
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/typography) for more details.
18432
18539
  */
18433
- type TitleProperties = Partial<TitleProps>;
18540
+ type TitleManifestProperties = TitleProps;
18541
+ type TitleProperties = WebComponentProperties<TitleManifestProperties>;
18434
18542
 
18435
18543
  declare class RaruiTitle extends LitElement {
18436
18544
  sprinkleAttrs: Record<string, string>;
18437
18545
  as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
18438
- "font-weight"?: TitleProperties["fontWeight"];
18439
- "text-align"?: TitleProperties["textAlign"];
18546
+ "font-weight"?: TitleProperties["font-weight"];
18547
+ "text-align"?: TitleProperties["text-align"];
18440
18548
  static styles: CSSResult;
18441
18549
  render(): TemplateResult<1>;
18442
18550
  }
@@ -18465,7 +18573,7 @@ declare global {
18465
18573
  *
18466
18574
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/tooltip) for more details.
18467
18575
  */
18468
- type TooltipProperties = Partial<Omit<TooltipProps, "visible" | "onVisibility" | "portalId">> & {
18576
+ type TooltipManifestProperties = Omit<TooltipProps, "visible" | "onVisibility" | "portalId"> & {
18469
18577
  /**
18470
18578
  * Position of the tooltip.
18471
18579
  * @default bottom
@@ -18485,16 +18593,17 @@ type TooltipProperties = Partial<Omit<TooltipProps, "visible" | "onVisibility" |
18485
18593
  */
18486
18594
  strategy?: "fixed" | "absolute";
18487
18595
  };
18596
+ type TooltipProperties = WebComponentProperties<TooltipManifestProperties>;
18488
18597
 
18489
18598
  declare class RaruiTooltip extends LitElement {
18490
18599
  arrow: TooltipProperties["arrow"];
18491
18600
  padding: TooltipProperties["padding"];
18492
18601
  offset: TooltipProperties["offset"];
18493
18602
  inverted: TooltipProperties["inverted"];
18494
- enabledDismiss: TooltipProperties["enabledDismiss"];
18495
- enabledClick: TooltipProperties["enabledClick"];
18496
- enabledHover: TooltipProperties["enabledHover"];
18497
- matchReferenceWidth: TooltipProperties["matchReferenceWidth"];
18603
+ enabledDismiss: TooltipProperties["enabled-dismiss"];
18604
+ enabledClick: TooltipProperties["enabled-click"];
18605
+ enabledHover: TooltipProperties["enabled-hover"];
18606
+ matchReferenceWidth: TooltipProperties["match-reference-width"];
18498
18607
  position: TooltipProperties["position"];
18499
18608
  strategy: TooltipProperties["strategy"];
18500
18609
  open: boolean;
@@ -18530,7 +18639,8 @@ declare global {
18530
18639
  *
18531
18640
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/card) for more details.
18532
18641
  */
18533
- type ProgressCircleProperties = Partial<ProgressCircleProps>;
18642
+ type ProgressCircleManifestProperties = ProgressCircleProps;
18643
+ type ProgressCircleProperties = WebComponentProperties<ProgressCircleManifestProperties>;
18534
18644
 
18535
18645
  declare class RaruiProgressCircle extends LitElement {
18536
18646
  size?: ProgressCircleProperties["size"];
@@ -18552,7 +18662,8 @@ declare global {
18552
18662
  *
18553
18663
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/badge) for more details.
18554
18664
  */
18555
- type ProgressProperties = Partial<ProgressProps>;
18665
+ type ProgressManifestProperties = ProgressProps;
18666
+ type ProgressProperties = WebComponentProperties<ProgressManifestProperties>;
18556
18667
 
18557
18668
  declare class RaruiProgress extends LitElement {
18558
18669
  percentage?: ProgressProperties["percentage"];
@@ -18574,7 +18685,8 @@ declare global {
18574
18685
  *
18575
18686
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/exhibition/status) for more details.
18576
18687
  */
18577
- type StatusProperties = Partial<StatusProps>;
18688
+ type StatusManifestProperties = StatusProps;
18689
+ type StatusProperties = WebComponentProperties<StatusManifestProperties>;
18578
18690
 
18579
18691
  declare class RaruiStatus extends LitElement {
18580
18692
  appearance?: StatusProperties["appearance"];
@@ -18598,7 +18710,7 @@ declare global {
18598
18710
  *
18599
18711
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/button) for more details.
18600
18712
  */
18601
- type ButtonProperties = Partial<ButtonProps> & {
18713
+ type ButtonManifestProperties = ButtonProps & {
18602
18714
  /**
18603
18715
  * Defines the native button type.
18604
18716
  * Can be 'button', 'submit', or 'reset'.
@@ -18606,6 +18718,7 @@ type ButtonProperties = Partial<ButtonProps> & {
18606
18718
  */
18607
18719
  type?: "button" | "submit" | "reset";
18608
18720
  };
18721
+ type ButtonProperties = WebComponentProperties<ButtonManifestProperties>;
18609
18722
 
18610
18723
  declare class RaruiButton extends LitElement {
18611
18724
  type: ButtonProperties["type"];
@@ -18630,7 +18743,8 @@ declare global {
18630
18743
  *
18631
18744
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/checkbox) for more details.
18632
18745
  */
18633
- type CheckboxProperties = Partial<CheckboxProps>;
18746
+ type CheckboxManifestProperties = CheckboxProps;
18747
+ type CheckboxProperties = WebComponentProperties<CheckboxManifestProperties>;
18634
18748
 
18635
18749
  declare class RaruiCheckbox extends LitElement {
18636
18750
  label?: CheckboxProperties["label"];
@@ -18655,13 +18769,14 @@ declare global {
18655
18769
  *
18656
18770
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/button) for more details.
18657
18771
  */
18658
- type ChipProperties = Partial<ChipProps> & {
18772
+ type ChipManifestProperties = ChipProps & {
18659
18773
  /**
18660
18774
  * Disables the chip, disallowing user interaction.
18661
18775
  * @default false
18662
18776
  */
18663
18777
  disabled?: boolean;
18664
18778
  };
18779
+ type ChipProperties = WebComponentProperties<ChipManifestProperties>;
18665
18780
 
18666
18781
  declare class RaruiChip extends LitElement {
18667
18782
  sprinkleAttrs: Record<string, string>;
@@ -18669,8 +18784,8 @@ declare class RaruiChip extends LitElement {
18669
18784
  size?: ChipProperties["size"];
18670
18785
  closeable: ChipProperties["closeable"];
18671
18786
  pill: ChipProperties["pill"];
18672
- textTransform?: ChipProperties["textTransform"];
18673
- textOverflow?: ChipProperties["textOverflow"];
18787
+ textTransform?: ChipProperties["text-transform"];
18788
+ textOverflow?: ChipProperties["text-overflow"];
18674
18789
  selected?: ChipProperties["selected"];
18675
18790
  disabled?: ChipProperties["disabled"];
18676
18791
  static styles: CSSResult;
@@ -18691,7 +18806,7 @@ declare global {
18691
18806
  *
18692
18807
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/dropdown) for more details.
18693
18808
  */
18694
- type DropdownProperties = Omit<Partial<DropdownProps>, "onVisibility" | "portalId"> & {
18809
+ type DropdownManifestProperties = DropdownProps & {
18695
18810
  /**
18696
18811
  * Position of the dropdown.
18697
18812
  * @default bottom-start
@@ -18711,6 +18826,7 @@ type DropdownProperties = Omit<Partial<DropdownProps>, "onVisibility" | "portalI
18711
18826
  */
18712
18827
  strategy?: "fixed" | "absolute";
18713
18828
  };
18829
+ type DropdownProperties = WebComponentProperties<DropdownManifestProperties, "onVisibility" | "portalId">;
18714
18830
 
18715
18831
  declare class RaruiDropdown extends LitElement {
18716
18832
  sprinkleAttrs: Record<string, string>;
@@ -18718,10 +18834,10 @@ declare class RaruiDropdown extends LitElement {
18718
18834
  padding: DropdownProperties["padding"];
18719
18835
  position: DropdownProperties["position"];
18720
18836
  strategy: DropdownProperties["strategy"];
18721
- matchReferenceWidth?: DropdownProperties["matchReferenceWidth"];
18722
- enabledFlip?: DropdownProperties["enabledFlip"];
18723
- enabledClick: DropdownProperties["enabledClick"];
18724
- enabledDismiss: DropdownProperties["enabledDismiss"];
18837
+ matchReferenceWidth?: DropdownProperties["match-reference-width"];
18838
+ enabledFlip?: DropdownProperties["enabled-flip"];
18839
+ enabledClick: DropdownProperties["enabled-click"];
18840
+ enabledDismiss: DropdownProperties["enabled-dismiss"];
18725
18841
  open: boolean;
18726
18842
  set visible(value: boolean | undefined);
18727
18843
  get visible(): boolean | undefined;
@@ -18755,7 +18871,8 @@ declare global {
18755
18871
  *
18756
18872
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/dropdown) for more details.
18757
18873
  */
18758
- type DropdownItemProperties = Omit<DropdownItemProps, "icon">;
18874
+ type DropdownItemManifestProperties = DropdownItemProps;
18875
+ type DropdownItemProperties = WebComponentProperties<DropdownItemManifestProperties>;
18759
18876
 
18760
18877
  declare class RaruiDropdownItem extends LitElement {
18761
18878
  name: DropdownItemProperties["name"];
@@ -18776,7 +18893,8 @@ declare global {
18776
18893
  *
18777
18894
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/button) for more details.
18778
18895
  */
18779
- type IconButtonProperties = Partial<IconButtonProps>;
18896
+ type IconButtonManifestProperties = IconButtonProps;
18897
+ type IconButtonProperties = WebComponentProperties<IconButtonManifestProperties>;
18780
18898
 
18781
18899
  declare class RaruiIconButton extends LitElement {
18782
18900
  size: IconButtonProperties["size"];
@@ -18800,7 +18918,7 @@ declare global {
18800
18918
  *
18801
18919
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/input) for more details.
18802
18920
  */
18803
- type InputProperties = Partial<InputProps> & {
18921
+ type InputManifestProperties = InputProps & {
18804
18922
  /**
18805
18923
  * The value of the input element.
18806
18924
  */
@@ -18815,6 +18933,7 @@ type InputProperties = Partial<InputProps> & {
18815
18933
  */
18816
18934
  disabled?: boolean;
18817
18935
  };
18936
+ type InputProperties = WebComponentProperties<InputManifestProperties>;
18818
18937
 
18819
18938
  declare class RaruiInput extends LitElement {
18820
18939
  size: InputProperties["size"];
@@ -18845,7 +18964,7 @@ declare global {
18845
18964
  *
18846
18965
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/radiobutton) for more details.
18847
18966
  */
18848
- type RadioButtonProperties = Partial<RadioButtonProps> & {
18967
+ type RadioButtonManifestProperties = RadioButtonProps & {
18849
18968
  /**
18850
18969
  * Defines a unique identifier (ID) which must be unique in the whole document.
18851
18970
  * Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with CSS).
@@ -18857,6 +18976,7 @@ type RadioButtonProperties = Partial<RadioButtonProps> & {
18857
18976
  */
18858
18977
  disabled?: boolean;
18859
18978
  };
18979
+ type RadioButtonProperties = WebComponentProperties<RadioButtonManifestProperties>;
18860
18980
 
18861
18981
  declare class RaruiRadioButton extends LitElement {
18862
18982
  id: string;
@@ -18883,13 +19003,14 @@ declare global {
18883
19003
  *
18884
19004
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/textarea) for more details.
18885
19005
  */
18886
- type TextareaProperties = Partial<TextareaProps> & {
19006
+ type TextareaManifestProperties = TextareaProps & {
18887
19007
  /**
18888
19008
  * Disables the Textarea, disallowing user interaction.
18889
19009
  * @default false
18890
19010
  */
18891
19011
  disabled?: boolean;
18892
19012
  };
19013
+ type TextareaProperties = WebComponentProperties<TextareaManifestProperties>;
18893
19014
 
18894
19015
  declare class RaruiTextarea extends LitElement {
18895
19016
  disabled: boolean;
@@ -18913,7 +19034,7 @@ declare global {
18913
19034
  *
18914
19035
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/input/toggle) for more details.
18915
19036
  */
18916
- type ToggleProperties = Partial<ToggleProps> & {
19037
+ type ToggleManifestProperties = ToggleProps & {
18917
19038
  /**
18918
19039
  * Defines if Toggle is disabled.
18919
19040
  * When `true`, the component cannot be interacted.
@@ -18926,6 +19047,7 @@ type ToggleProperties = Partial<ToggleProps> & {
18926
19047
  */
18927
19048
  id?: string;
18928
19049
  };
19050
+ type ToggleProperties = WebComponentProperties<ToggleManifestProperties>;
18929
19051
 
18930
19052
  declare class RaruiToggle extends LitElement {
18931
19053
  name: ToggleProperties["name"];
@@ -18939,6 +19061,48 @@ declare class RaruiToggle extends LitElement {
18939
19061
  render(): TemplateResult<1>;
18940
19062
  }
18941
19063
 
19064
+ declare global {
19065
+ interface HTMLElementTagNameMap {
19066
+ "rarui-sidebar": RaruiSidebar;
19067
+ }
19068
+ }
19069
+ /**
19070
+ * ## Rarui Sidebar
19071
+ * ---
19072
+ * A sidebar component that slides in from the left or right side of the screen, with floating-ui positioning for responsive behavior.
19073
+ *
19074
+ * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/layout/sidebar) for more details.
19075
+ */
19076
+ type SidebarManifestProperties = SidebarProps;
19077
+ type SidebarProperties = WebComponentProperties<SidebarManifestProperties, "onRemove">;
19078
+
19079
+ declare class RaruiSidebar extends LitElement {
19080
+ sprinkleAttrs: Record<string, string>;
19081
+ open: SidebarProperties["open"];
19082
+ position: SidebarProperties["position"];
19083
+ maxWidth: SidebarProperties["max-width"];
19084
+ padding: SidebarProperties["padding"];
19085
+ portalId: SidebarProperties["portal-id"];
19086
+ sidebarElement: HTMLElement;
19087
+ overlayElement: HTMLElement;
19088
+ static styles: CSSResult;
19089
+ cleanupAutoUpdate?: () => void;
19090
+ connectedCallback(): void;
19091
+ disconnectedCallback(): void;
19092
+ firstUpdated(): void;
19093
+ updated(changed: Map<string, any>): void;
19094
+ private getPortalRoot;
19095
+ private scheduleUpdatePosition;
19096
+ private handleKeyDown;
19097
+ private handleClickOutside;
19098
+ private dismiss;
19099
+ updatePosition(): Promise<void>;
19100
+ private getMiddleware;
19101
+ computePosition(virtualReference?: any): Promise<void>;
19102
+ private createVirtualReference;
19103
+ render(): TemplateResult<1>;
19104
+ }
19105
+
18942
19106
  declare global {
18943
19107
  interface HTMLElementTagNameMap {
18944
19108
  "rarui-breadcrumb": RaruiBreadcrumb;
@@ -18951,14 +19115,8 @@ declare global {
18951
19115
  *
18952
19116
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/navigation/breadcrumb) for more details.
18953
19117
  */
18954
- interface BreadcrumbProperties {
18955
- /**
18956
- * Especifica o número de itens do breadcrumb a serem exibidos após o truncamento.
18957
- * Útil para gerenciar a exibição de listas longas de breadcrumb.
18958
- * @default 10
18959
- */
18960
- "items-after-truncate"?: number;
18961
- }
19118
+ type BreadcrumbManifestProperties = BreadcrumbProps;
19119
+ type BreadcrumbProperties = WebComponentProperties<BreadcrumbManifestProperties>;
18962
19120
 
18963
19121
  declare class RaruiBreadcrumb extends LitElement {
18964
19122
  itemsAfterTruncate: BreadcrumbProperties["items-after-truncate"];
@@ -18991,7 +19149,7 @@ declare global {
18991
19149
  *
18992
19150
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/navigation/breadcrumb-item) for more details.
18993
19151
  */
18994
- type BreadcrumbItemProperties = BreadcrumbItemProps & {
19152
+ type BreadcrumbItemManifestProperties = BreadcrumbItemProps & {
18995
19153
  /**
18996
19154
  * Nome do item do breadcrumb exibido como texto.
18997
19155
  */
@@ -19006,6 +19164,7 @@ type BreadcrumbItemProperties = BreadcrumbItemProps & {
19006
19164
  */
19007
19165
  as?: "button" | "a";
19008
19166
  };
19167
+ type BreadcrumbItemProperties = WebComponentProperties<BreadcrumbItemManifestProperties>;
19009
19168
 
19010
19169
  declare class RaruiBreadcrumbItem extends LitElement {
19011
19170
  name?: BreadcrumbItemProperties["name"];
@@ -19031,7 +19190,7 @@ declare global {
19031
19190
  *
19032
19191
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/navigation/link) for more details.
19033
19192
  */
19034
- type LinkProperties = Partial<LinkProps> & {
19193
+ type LinkManifestProperties = LinkProps & {
19035
19194
  /**
19036
19195
  * Defines the native type of the button.
19037
19196
  * It can be `Button`, `submit` or `reset`.
@@ -19059,6 +19218,7 @@ type LinkProperties = Partial<LinkProps> & {
19059
19218
  */
19060
19219
  href?: string;
19061
19220
  };
19221
+ type LinkProperties = WebComponentProperties<LinkManifestProperties>;
19062
19222
 
19063
19223
  declare class RaruiLink extends LitElement {
19064
19224
  type: LinkProperties["type"];
@@ -19083,14 +19243,15 @@ declare global {
19083
19243
  *
19084
19244
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/navigation/pagination) for more details.
19085
19245
  */
19086
- type PaginationProperties = Partial<Omit<PaginationProps, "onPageChange">>;
19246
+ type PaginationManifestProperties = PaginationProps;
19247
+ type PaginationProperties = WebComponentProperties<PaginationManifestProperties, "onPageChange">;
19087
19248
 
19088
19249
  declare class RaruiPagination extends LitElement {
19089
- activePage: PaginationProperties["activePage"];
19090
- pageCount: PaginationProperties["pageCount"];
19250
+ activePage: PaginationProperties["active-page"];
19251
+ pageCount: PaginationProperties["page-count"];
19091
19252
  size?: PaginationProperties["size"];
19092
- showNumbers: PaginationProperties["showNumbers"];
19093
- showArrows: PaginationProperties["showArrows"];
19253
+ showNumbers: PaginationProperties["show-numbers"];
19254
+ showArrows: PaginationProperties["show-arrows"];
19094
19255
  static styles: CSSResult;
19095
19256
  private handlePageChange;
19096
19257
  render(): TemplateResult<1>;
@@ -19113,7 +19274,7 @@ declare global {
19113
19274
  *
19114
19275
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/navigation/side-navigation) for more details.
19115
19276
  */
19116
- type SideNavigationProperties = Partial<SideNavigationProps> & {
19277
+ type SideNavigationManifestProperties = SideNavigationProps & {
19117
19278
  /**
19118
19279
  * Whether the navigation item is disabled.
19119
19280
  * @default false
@@ -19130,6 +19291,7 @@ type SideNavigationProperties = Partial<SideNavigationProps> & {
19130
19291
  */
19131
19292
  as?: "button" | "a";
19132
19293
  };
19294
+ type SideNavigationProperties = WebComponentProperties<SideNavigationManifestProperties>;
19133
19295
 
19134
19296
  declare class RaruiSideNavigation extends LitElement {
19135
19297
  name: SideNavigationProperties["name"];
@@ -19160,13 +19322,14 @@ declare global {
19160
19322
  *
19161
19323
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/navigation/side-navigation) for more details.
19162
19324
  */
19163
- type SideNavigationItemProperties = Partial<SideNavigationItemProps> & {
19325
+ type SideNavigationItemManifestProperties = SideNavigationItemProps & {
19164
19326
  /**
19165
19327
  * The HTML element type to render.
19166
19328
  * @default "button"
19167
19329
  */
19168
19330
  as?: "button" | "a";
19169
19331
  };
19332
+ type SideNavigationItemProperties = WebComponentProperties<SideNavigationItemManifestProperties>;
19170
19333
 
19171
19334
  declare class RaruiSideNavigationItem extends LitElement {
19172
19335
  active: SideNavigationItemProperties["active"];
@@ -19190,13 +19353,8 @@ declare global {
19190
19353
  *
19191
19354
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/accordion) for more details.
19192
19355
  */
19193
- type AccordionProperties = Pick<AccordionProps, "disabled"> & {
19194
- /**
19195
- * Informs which accordion item is open by default.
19196
- * @default ""
19197
- */
19198
- "selected-default"?: string;
19199
- };
19356
+ type AccordionManifestProperties = AccordionProps;
19357
+ type AccordionProperties = WebComponentProperties<AccordionManifestProperties>;
19200
19358
 
19201
19359
  declare class RaruiAccordion extends LitElement {
19202
19360
  sprinkleAttrs: Record<string, string>;
@@ -19225,7 +19383,8 @@ declare global {
19225
19383
  *
19226
19384
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/accordion) for more details.
19227
19385
  */
19228
- type AccordionItemProperties = Pick<AccordionItemProps, "index">;
19386
+ type AccordionItemManifestProperties = AccordionItemProps;
19387
+ type AccordionItemProperties = WebComponentProperties<AccordionItemManifestProperties>;
19229
19388
 
19230
19389
  declare class RaruiAccordionItem extends LitElement {
19231
19390
  index: AccordionItemProperties["index"];
@@ -19249,13 +19408,8 @@ declare global {
19249
19408
  *
19250
19409
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/accordion) for more details.
19251
19410
  */
19252
- type AccordionHeaderProperties = Pick<AccordionHeaderProps, "size" | "subtitle" | "title"> & {
19253
- /**
19254
- * Removes the arrow icon that shows if the accordion item is open or not which makes it possible to create a custom indicator.
19255
- * @default false
19256
- */
19257
- "no-icon-toggle"?: boolean;
19258
- };
19411
+ type AccordionHeaderManifestProperties = AccordionHeaderProps;
19412
+ type AccordionHeaderProperties = WebComponentProperties<AccordionHeaderManifestProperties>;
19259
19413
 
19260
19414
  declare class RaruiAccordionHeader extends LitElement {
19261
19415
  title: NonNullable<AccordionHeaderProperties["title"]>;
@@ -19283,7 +19437,8 @@ declare global {
19283
19437
  *
19284
19438
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/accordion) for more details.
19285
19439
  */
19286
- type AccordionBodyProperties = Partial<AccordionBodyProps>;
19440
+ type AccordionBodyManifestProperties = AccordionBodyProps;
19441
+ type AccordionBodyProperties = WebComponentProperties<AccordionBodyManifestProperties>;
19287
19442
 
19288
19443
  declare class RaruiAccordionBody extends LitElement {
19289
19444
  padding: AccordionBodyProperties["padding"];
@@ -19304,7 +19459,7 @@ declare global {
19304
19459
  *
19305
19460
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/banner) for more details.
19306
19461
  */
19307
- type BannerProperties = Partial<Pick<BannerProps, "appearance" | "floating">> & {
19462
+ type BannerManifestProperties = BannerProps & {
19308
19463
  /**
19309
19464
  * If `true`, display the closing button in the upper right corner of the banner.
19310
19465
  * When clicked, it fires the `close` event that can be listened to externally.
@@ -19313,6 +19468,7 @@ type BannerProperties = Partial<Pick<BannerProps, "appearance" | "floating">> &
19313
19468
  */
19314
19469
  closable?: boolean;
19315
19470
  };
19471
+ type BannerProperties = WebComponentProperties<BannerManifestProperties, "onClose">;
19316
19472
 
19317
19473
  declare class RaruiBanner extends LitElement {
19318
19474
  appearance?: BannerProperties["appearance"];
@@ -19335,7 +19491,8 @@ declare global {
19335
19491
  *
19336
19492
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/card) for more details.
19337
19493
  */
19338
- type CardHeaderProperties = Partial<CardHeaderProps>;
19494
+ type CardHeaderManifestProperties = CardHeaderProps;
19495
+ type CardHeaderProperties = WebComponentProperties<CardHeaderManifestProperties>;
19339
19496
 
19340
19497
  declare class RaruiCardHeader extends LitElement {
19341
19498
  sprinkleAttrs: Record<string, string>;
@@ -19356,12 +19513,13 @@ declare global {
19356
19513
  *
19357
19514
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/card) for more details.
19358
19515
  */
19359
- type CardProperties = Partial<CardProps>;
19516
+ type CardManifestProperties = CardProps;
19517
+ type CardProperties = WebComponentProperties<CardManifestProperties>;
19360
19518
 
19361
19519
  declare class RaruiCard extends LitElement {
19362
19520
  sprinkleAttrs: Record<string, string>;
19363
19521
  padding?: CardProperties["padding"];
19364
- "background-color": CardProperties["backgroundColor"];
19522
+ "background-color": CardProperties["background-color"];
19365
19523
  static styles: CSSResult;
19366
19524
  render(): TemplateResult<1>;
19367
19525
  }
@@ -19378,14 +19536,15 @@ declare global {
19378
19536
  *
19379
19537
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/modal) for more details.
19380
19538
  */
19381
- type ModalProperties = Omit<Partial<ModalProps>, "onDismiss">;
19539
+ type ModalManifestProperties = ModalProps;
19540
+ type ModalProperties = WebComponentProperties<ModalManifestProperties, "onDismiss">;
19382
19541
 
19383
19542
  declare class RaruiModal extends LitElement {
19384
19543
  sprinkleAttrs: Record<string, string>;
19385
19544
  padding: ModalProperties["padding"];
19386
- portalId: ModalProperties["portalId"];
19545
+ portalId: ModalProperties["portal-id"];
19387
19546
  open: ModalProperties["open"];
19388
- maxWidth: ModalProperties["maxWidth"];
19547
+ maxWidth: ModalProperties["max-width"];
19389
19548
  dialog: HTMLElement;
19390
19549
  static styles: CSSResult;
19391
19550
  cleanupAutoUpdate?: () => void;
@@ -19411,7 +19570,8 @@ declare global {
19411
19570
  *
19412
19571
  See [a complete document](https://rarui.rarolabs.com.br/docs/components-web-components/surface/modal) for more details.
19413
19572
  */
19414
- type ModalHeaderProperties = ModalHeaderProps;
19573
+ type ModalHeaderManifestProperties = ModalHeaderProps;
19574
+ type ModalHeaderProperties = WebComponentProperties<ModalHeaderManifestProperties>;
19415
19575
 
19416
19576
  declare class RaruiModalHeader extends LitElement {
19417
19577
  title: string;