@rarui/components 1.8.0 → 1.9.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
@@ -1,88 +1,3 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google LLC
4
- * SPDX-License-Identifier: BSD-3-Clause
5
- */
6
-
7
- /** TemplateResult types */
8
- declare const HTML_RESULT = 1;
9
- declare const SVG_RESULT = 2;
10
- declare const MATHML_RESULT = 3;
11
- type ResultType = typeof HTML_RESULT | typeof SVG_RESULT | typeof MATHML_RESULT;
12
- /**
13
- * The return type of the template tag functions, {@linkcode html} and
14
- * {@linkcode svg} when it hasn't been compiled by @lit-labs/compiler.
15
- *
16
- * A `TemplateResult` object holds all the information about a template
17
- * expression required to render it: the template strings, expression values,
18
- * and type of template (html or svg).
19
- *
20
- * `TemplateResult` objects do not create any DOM on their own. To create or
21
- * update DOM you need to render the `TemplateResult`. See
22
- * [Rendering](https://lit.dev/docs/components/rendering) for more information.
23
- *
24
- */
25
- type UncompiledTemplateResult<T extends ResultType = ResultType> = {
26
- ['_$litType$']: T;
27
- strings: TemplateStringsArray;
28
- values: unknown[];
29
- };
30
- /**
31
- * The return type of the template tag functions, {@linkcode html} and
32
- * {@linkcode svg}.
33
- *
34
- * A `TemplateResult` object holds all the information about a template
35
- * expression required to render it: the template strings, expression values,
36
- * and type of template (html or svg).
37
- *
38
- * `TemplateResult` objects do not create any DOM on their own. To create or
39
- * update DOM you need to render the `TemplateResult`. See
40
- * [Rendering](https://lit.dev/docs/components/rendering) for more information.
41
- *
42
- * In Lit 4, this type will be an alias of
43
- * MaybeCompiledTemplateResult, so that code will get type errors if it assumes
44
- * that Lit templates are not compiled. When deliberately working with only
45
- * one, use either {@linkcode CompiledTemplateResult} or
46
- * {@linkcode UncompiledTemplateResult} explicitly.
47
- */
48
- type TemplateResult<T extends ResultType = ResultType> = UncompiledTemplateResult<T>;
49
- /**
50
- * Object specifying options for controlling lit-html rendering. Note that
51
- * while `render` may be called multiple times on the same `container` (and
52
- * `renderBefore` reference node) to efficiently update the rendered content,
53
- * only the options passed in during the first render are respected during
54
- * the lifetime of renders to that unique `container` + `renderBefore`
55
- * combination.
56
- */
57
- interface RenderOptions {
58
- /**
59
- * An object to use as the `this` value for event listeners. It's often
60
- * useful to set this to the host component rendering a template.
61
- */
62
- host?: object;
63
- /**
64
- * A DOM node before which to render content in the container.
65
- */
66
- renderBefore?: ChildNode | null;
67
- /**
68
- * Node used for cloning the template (`importNode` will be called on this
69
- * node). This controls the `ownerDocument` of the rendered DOM, along with
70
- * any inherited context. Defaults to the global `document`.
71
- */
72
- creationScope?: {
73
- importNode(node: Node, deep?: boolean): Node;
74
- };
75
- /**
76
- * The initial connected state for the top-level part being rendered. If no
77
- * `isConnected` option is set, `AsyncDirective`s will be connected by
78
- * default. Set to `false` if the initial render occurs in a disconnected tree
79
- * and `AsyncDirective`s should see `isConnected === false` for their initial
80
- * render. The `part.setConnected()` method must be used subsequent to initial
81
- * render to change the connected state of the part.
82
- */
83
- isConnected?: boolean;
84
- }
85
-
86
1
  /**
87
2
  * A CSSResult or native CSSStyleSheet.
88
3
  *
@@ -914,6 +829,49 @@ declare abstract class ReactiveElement extends HTMLElement implements ReactiveCo
914
829
  protected firstUpdated(_changedProperties: PropertyValues): void;
915
830
  }
916
831
 
832
+ /**
833
+ * @license
834
+ * Copyright 2017 Google LLC
835
+ * SPDX-License-Identifier: BSD-3-Clause
836
+ */
837
+
838
+ /**
839
+ * Object specifying options for controlling lit-html rendering. Note that
840
+ * while `render` may be called multiple times on the same `container` (and
841
+ * `renderBefore` reference node) to efficiently update the rendered content,
842
+ * only the options passed in during the first render are respected during
843
+ * the lifetime of renders to that unique `container` + `renderBefore`
844
+ * combination.
845
+ */
846
+ interface RenderOptions {
847
+ /**
848
+ * An object to use as the `this` value for event listeners. It's often
849
+ * useful to set this to the host component rendering a template.
850
+ */
851
+ host?: object;
852
+ /**
853
+ * A DOM node before which to render content in the container.
854
+ */
855
+ renderBefore?: ChildNode | null;
856
+ /**
857
+ * Node used for cloning the template (`importNode` will be called on this
858
+ * node). This controls the `ownerDocument` of the rendered DOM, along with
859
+ * any inherited context. Defaults to the global `document`.
860
+ */
861
+ creationScope?: {
862
+ importNode(node: Node, deep?: boolean): Node;
863
+ };
864
+ /**
865
+ * The initial connected state for the top-level part being rendered. If no
866
+ * `isConnected` option is set, `AsyncDirective`s will be connected by
867
+ * default. Set to `false` if the initial render occurs in a disconnected tree
868
+ * and `AsyncDirective`s should see `isConnected === false` for their initial
869
+ * render. The `part.setConnected()` method must be used subsequent to initial
870
+ * render to change the connected state of the part.
871
+ */
872
+ isConnected?: boolean;
873
+ }
874
+
917
875
  /**
918
876
  * @license
919
877
  * Copyright 2017 Google LLC
@@ -16208,6 +16166,14 @@ interface DividerSprinkle {
16208
16166
  color?: AddDollar<keyof typeof borderColorProperties> | Conditions<AddDollar<keyof typeof borderColorProperties>>;
16209
16167
  }
16210
16168
 
16169
+ type IconDynamicProperties = Pick<StandardLonghandProperties, "cursor">;
16170
+ interface IconSprinkle extends IconDynamicProperties {
16171
+ /**
16172
+ * The color property sets the icon.
16173
+ */
16174
+ color?: AddDollar<keyof typeof colorProperties> | Conditions<AddDollar<keyof typeof colorProperties>>;
16175
+ }
16176
+
16211
16177
  declare const textLineHeightProperties: {
16212
16178
  xxs: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16213
16179
  xs: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
@@ -16593,6 +16559,112 @@ declare const checkboxStyles: {
16593
16559
 
16594
16560
  type CheckboxVariants = NonNullable<RecipeVariants<typeof checkboxStyles.checkbox>>;
16595
16561
 
16562
+ declare const iconButtonStyles: {
16563
+ iconButton: RuntimeFn<{
16564
+ /**
16565
+ * Determines the visual style of the icon button, influencing its color scheme and appearance.
16566
+ * @default brand
16567
+ */
16568
+ appearance: {
16569
+ brand: {
16570
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16571
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16572
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16573
+ };
16574
+ danger: {
16575
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16576
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16577
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16578
+ };
16579
+ success: {
16580
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16581
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16582
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16583
+ };
16584
+ warning: {
16585
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16586
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16587
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16588
+ };
16589
+ neutral: {
16590
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16591
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16592
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16593
+ };
16594
+ inverted: {
16595
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16596
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16597
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16598
+ };
16599
+ };
16600
+ /**
16601
+ * Defines the size of the icon button component.
16602
+ * @default medium
16603
+ */
16604
+ size: {
16605
+ large: {
16606
+ height: "3rem";
16607
+ width: "3rem";
16608
+ fontSize: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16609
+ };
16610
+ medium: {
16611
+ height: "2.5rem";
16612
+ width: "2.5rem";
16613
+ fontSize: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16614
+ };
16615
+ small: {
16616
+ height: "2rem";
16617
+ width: "2rem";
16618
+ fontSize: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16619
+ };
16620
+ };
16621
+ variant: {
16622
+ /**
16623
+ * Defines the visual variant of the icon button, affecting its background style, border and text.
16624
+ * @default solid
16625
+ */
16626
+ solid: {
16627
+ selectors: {
16628
+ "&:hover:after": {
16629
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16630
+ };
16631
+ "&:active:after": {
16632
+ borderColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16633
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16634
+ };
16635
+ };
16636
+ };
16637
+ outlined: {
16638
+ backgroundColor: "transparent";
16639
+ };
16640
+ ghost: {
16641
+ backgroundColor: "transparent";
16642
+ borderColor: "transparent";
16643
+ };
16644
+ tonal: {
16645
+ borderColor: "transparent";
16646
+ };
16647
+ };
16648
+ /**
16649
+ * Defines if the button should have rounded edges.
16650
+ *
16651
+ * - `true`: The button will be rendered with completely rounded edges, useful for circular -shaped icons.
16652
+ * - `false` (default): The button will have standard edges or defined by the component style.
16653
+ * @default false
16654
+ */
16655
+ rounded: {
16656
+ true: {
16657
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16658
+ ":after": {
16659
+ borderRadius: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16660
+ };
16661
+ };
16662
+ };
16663
+ }>;
16664
+ };
16665
+
16666
+ type IconButtonVariants = NonNullable<RecipeVariants<typeof iconButtonStyles.iconButton>>;
16667
+
16596
16668
  declare const progressStyles: {
16597
16669
  progress: string;
16598
16670
  bar: string;
@@ -16835,6 +16907,8 @@ interface DividerProps extends DividerSprinkle {
16835
16907
  direction?: "vertical" | "horizontal";
16836
16908
  }
16837
16909
 
16910
+ type IconProps = IconSprinkle;
16911
+
16838
16912
  interface TitleProps extends TitleSprinkle {
16839
16913
  /**
16840
16914
  * Type of html tag to create for the title.
@@ -16935,6 +17009,15 @@ interface CheckboxTyping {
16935
17009
  }
16936
17010
  type CheckboxProps = CheckboxTyping & CheckboxVariants;
16937
17011
 
17012
+ interface IconButtonTyping {
17013
+ /**
17014
+ * Disables the button, disallowing user interaction.
17015
+ * @default false
17016
+ */
17017
+ disabled?: boolean;
17018
+ }
17019
+ type IconButtonProps = IconButtonTyping & IconButtonVariants;
17020
+
16938
17021
  interface RadioButtonTyping {
16939
17022
  /**
16940
17023
  * Sets radio state to activated or deactivated.
@@ -17035,6 +17118,42 @@ declare class RaruiDivider extends LitElement {
17035
17118
  render(): TemplateResult<1>;
17036
17119
  }
17037
17120
 
17121
+ type IconName = "add-circle-filled" | "add-circle-outlined" | "alarm-filled" | "alarm-outlined" | "alternate-email" | "archive-all-filled" | "archive-all-outlined" | "archive-filled" | "archive-in-filled" | "archive-in-outlined" | "archive-outlined" | "arrow-alt-down" | "arrow-alt-left" | "arrow-alt-right" | "arrow-alt-up" | "arrow-circle-down-filled" | "arrow-circle-down-outlined" | "arrow-circle-up-filled" | "arrow-circle-up-outlined" | "arrow-circled-down-circle-outlined" | "arrow-circled-down-filled" | "arrow-circled-up-circle-outlined" | "arrow-direction-down-up" | "arrow-direction-left-right" | "arrow-direction-right-left" | "arrow-direction-up-down" | "arrow-directions" | "arrow-down" | "arrow-down-left" | "arrow-down-right" | "arrow-first-page" | "arrow-last-page" | "arrow-left" | "arrow-line-down" | "arrow-line-left" | "arrow-line-long-down" | "arrow-line-long-left" | "arrow-line-long-right" | "arrow-line-long-up" | "arrow-line-right" | "arrow-line-up" | "arrow-right" | "arrow-subdirectory-left" | "arrow-subdirectory-right" | "arrow-trending-down" | "arrow-trending-up" | "arrow-up" | "arrow-up-left" | "arrow-up-right" | "attachment" | "backspace" | "backspace-outlined" | "barley" | "barley-off" | "bolt-circle-filled" | "bolt-circle-outlined" | "bookmark-filled" | "bookmark-outlined" | "calendar-date-range-filled" | "calendar-date-range-outlined" | "calendar-event-filled" | "calendar-event-outlined" | "calendar-filled" | "calendar-outlined" | "camera-filled" | "camera-outlined" | "camera-shutter-filled" | "camera-shutter-outlined" | "cancel-circle-filled" | "cancel-circle-outlined" | "car-filled" | "car-outlined" | "chart-bars-filled" | "chart-bars-outlined" | "chat-bubble-filled" | "chat-bubble-outlined" | "chat-message-filled" | "chat-message-outlined" | "check" | "check-circle-filled" | "check-circle-outlined" | "check-small" | "chevron-big-down" | "chevron-big-left" | "chevron-big-right" | "chevron-big-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "clock-filled" | "clock-outlined" | "close" | "cloud-filled" | "cloud-outlined" | "contact-support-filled" | "contact-support-outlined" | "content-copy-filled" | "content-copy-outlined" | "content-paste-filled" | "content-paste-outlined" | "conversation-filled" | "conversation-outlined" | "copyright-filled" | "copyright-outlined" | "credit-card-filled" | "credit-card-outlined" | "danger-filled" | "danger-outlined" | "dashboard-filled" | "dashboard-outlined" | "document-filled" | "document-outlined" | "document-text-filled" | "document-text-outlined" | "download-filled" | "download-outlined" | "eco-filled" | "eco-outlined" | "edit-filled" | "edit-outlined" | "euro-symbol" | "exit-fullscreen" | "eye-filled" | "eye-off-filled" | "eye-off-outlined" | "eye-outlined" | "facebook-filled" | "facebook-outlined" | "file-copy-filled" | "file-copy-outlined" | "filter-alt-filled" | "filter-alt-outlined" | "filter-list" | "fingerprint" | "flag-filled" | "flag-outlined" | "flag-tour-filled" | "flag-tour-outlined" | "flower-filled" | "flower-outlined" | "folder-filled" | "folder-list-filled" | "folder-list-outlined" | "folder-open" | "folder-outlined" | "fruit-apple-filled" | "fruit-apple-outlined" | "fullscreen-filled" | "fullscreen-outlined" | "google" | "google-play" | "headphones-filled" | "headphones-outlined" | "heart-filled" | "heart-outlined" | "help-filled" | "help-outlined" | "history" | "home-filled" | "home-outlined" | "image-filled" | "image-outlined" | "info-circle-filled" | "info-circle-outlined" | "instagram" | "instagram-outlined" | "label-filled" | "label-important-filled" | "label-important-outlined" | "label-outlined" | "language" | "lightbulb-filled" | "lightbulb-outlined" | "link" | "linkedin-filled" | "linkedin-outlined" | "loader" | "loading" | "lock-filled" | "lock-open-filled" | "lock-open-outlined" | "lock-outlined" | "login" | "logout" | "mail-filled" | "mail-open-filled" | "mail-open-outlined" | "mail-outlined" | "menu" | "menu-large" | "microphone-filled" | "microphone-outlined" | "minus" | "money-filled" | "money-outlined" | "mood-bad" | "mood-bad-outlined" | "mood-filled" | "mood-outlined" | "more-horiz" | "more-vert" | "music-note-filled" | "music-note-outlined" | "notification-filled" | "notification-outlined" | "open-in-new" | "package" | "package-outlined" | "pause-filled" | "pause-outlined" | "pets-filled" | "pets-outlined" | "phone-call-filled" | "phone-call-outlined" | "phone-filled" | "phone-outlined" | "pin-filled" | "pin-outlined" | "play-arrow-filled" | "play-arrow-outlined" | "play-circle-filled" | "play-circle-outlined" | "plus" | "power-settings-new" | "printer-filled" | "printer-outlined" | "push-pin-filled" | "push-pin-outlined" | "receipt-filled" | "receipt-outlined" | "recycle" | "redeem" | "redo" | "refresh" | "refresh-alt" | "remove" | "remove-circle-filled" | "remove-circle-outlined" | "repeat" | "reply" | "save-alt" | "screen-outlined" | "search" | "send-filled" | "send-outlined" | "sentiment-dissatisfied-filled" | "sentiment-dissatisfied-outlined" | "sentiment-neutral-filled" | "sentiment-neutral-outlined" | "sentiment-satisfied-filled" | "sentiment-satisfied-outlined" | "sentiment-very-dissatisfied-filled" | "sentiment-very-dissatisfied-outlined" | "sentiment-very-satisfied-filled" | "sentiment-very-satisfied-outlined" | "settings-filled" | "settings-outlined" | "share-filled" | "share-outlined" | "shopping-bag-filled" | "shopping-bag-outlined" | "shopping-cart-add" | "shopping-cart-filled" | "shopping-cart-outlined" | "sprout" | "sprout-outline-outlined" | "star-filled" | "star-outlined" | "stay-primary-portrait" | "storefront" | "tag-filled" | "tag-outlined" | "textsms-filled" | "textsms-outlined" | "thumb-down-filled" | "thumb-down-outlined" | "thumb-up-filled" | "thumb-up-outlined" | "tiktok" | "toc" | "trash-filled" | "trash-outlined" | "truck-filled" | "truck-outlined" | "tune" | "twitter" | "undo" | "upload-filled" | "upload-outlined" | "user-circle-filled" | "user-circle-outlined" | "user-filled" | "user-outlined" | "user-square-filled" | "user-square-outlined" | "users-filled" | "users-outlined" | "view-grid-filled" | "view-grid-outlined" | "view-list-filled" | "view-list-outlined" | "warning-bubble-filled" | "warning-bubble-outlined" | "warning-filled" | "warning-outlined" | "whatsapp-filled" | "whatsapp-outlined" | "work-filled" | "work-outlined" | "wysiwyg-filled" | "youtube-filled" | "youtube-outlined" | "zoom-in" | "zoom-out";
17122
+
17123
+ declare global {
17124
+ interface HTMLElementTagNameMap {
17125
+ "rarui-icon": RaruiIcon;
17126
+ }
17127
+ }
17128
+ /**
17129
+ * ## Rarui Icon
17130
+ * ---
17131
+ * Iconography used in the system based on Google's Material Design.
17132
+ *
17133
+ * See [a complete document](https://rarui.rarolabs.com.br/docs/components/exhibition/icon) for more details.
17134
+ */
17135
+ type Sizes = "small" | "medium" | "large";
17136
+ type IconProperties = IconProps & {
17137
+ /**
17138
+ * Name of the icon to be rendered (must be in the @rarui/icons package).
17139
+ */
17140
+ name: IconName;
17141
+ /**
17142
+ * Icon size, can be 'small' |'medium' |'large' or a number.
17143
+ * @default medium
17144
+ */
17145
+ size?: Sizes | number;
17146
+ };
17147
+
17148
+ declare class RaruiIcon extends LitElement {
17149
+ sprinkleAttrs: Record<string, string>;
17150
+ name: IconProperties["name"];
17151
+ size: Sizes | string;
17152
+ static styles: CSSResult;
17153
+ private getSvgWithSize;
17154
+ render(): TemplateResult<1> | null;
17155
+ }
17156
+
17038
17157
  declare global {
17039
17158
  interface HTMLElementTagNameMap {
17040
17159
  "rarui-text": RaruiText;
@@ -17259,6 +17378,30 @@ declare class RaruiCheckbox extends LitElement {
17259
17378
  private _onChange;
17260
17379
  }
17261
17380
 
17381
+ declare global {
17382
+ interface HTMLElementTagNameMap {
17383
+ "rarui-icon-button": RaruiIconButton;
17384
+ }
17385
+ }
17386
+ /**
17387
+ * ## Rarui Icon Button
17388
+ * ---
17389
+ * Button allows the user to perform actions, such as sending a file, advancing a form, sharing a document, or making a comment.
17390
+ *
17391
+ * See [a complete document](https://rarui.rarolabs.com.br/docs/components/input/button) for more details.
17392
+ */
17393
+ type IconButtonProperties = Partial<IconButtonProps>;
17394
+
17395
+ declare class RaruiIconButton extends LitElement {
17396
+ size: IconButtonProperties["size"];
17397
+ variant: IconButtonProperties["variant"];
17398
+ appearance: IconButtonProperties["appearance"];
17399
+ disabled: IconButtonProperties["disabled"];
17400
+ rounded: IconButtonProperties["rounded"];
17401
+ static styles: CSSResult;
17402
+ render(): TemplateResult<1>;
17403
+ }
17404
+
17262
17405
  declare global {
17263
17406
  interface HTMLElementTagNameMap {
17264
17407
  "rarui-radio-button": RaruiRadioButton;