@rarui/components 1.7.0 → 1.8.0-rc.1

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.6.0",
2
+ "version": "1.8.0-rc.1",
3
3
  "tags": [
4
4
  {
5
5
  "name": "rarui-avatar",
@@ -975,6 +975,133 @@
975
975
  }
976
976
  ]
977
977
  },
978
+ {
979
+ "name": "rarui-tooltip",
980
+ "description": "## Rarui Tooltip\n---\nA Divider is a thin line used to separate or group content in lists and layouts.\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components/exhibition/divider) for more details.",
981
+ "attributes": [
982
+ {
983
+ "name": "arrow",
984
+ "description": "Conditional for displaying the popover arrow.",
985
+ "type": "boolean"
986
+ },
987
+ {
988
+ "name": "match-reference-width",
989
+ "description": "A common feature of select dropdowns is that the dropdown matches the width of the reference regardless of its contents.",
990
+ "type": "boolean"
991
+ },
992
+ {
993
+ "name": "enabled-hover",
994
+ "description": "Adds hover event listeners that change the open state, like CSS :hover.",
995
+ "type": "boolean"
996
+ },
997
+ {
998
+ "name": "enabled-click",
999
+ "description": "Adds click event listeners that change the open state.",
1000
+ "type": "boolean"
1001
+ },
1002
+ {
1003
+ "name": "enabled-dismiss",
1004
+ "description": "Adds listeners that dismiss (close) the floating element.",
1005
+ "type": "boolean"
1006
+ },
1007
+ {
1008
+ "name": "offset",
1009
+ "description": "Offest displaces the floating element from its core placement along the specified axes.",
1010
+ "type": "number"
1011
+ },
1012
+ {
1013
+ "name": "portal-id",
1014
+ "description": "Specifies the ID of the portal element where the tooltip should be rendered.\nThis can be useful for rendering the tooltip in a different part of the DOM, such as a modal or overlay.",
1015
+ "type": "string"
1016
+ },
1017
+ {
1018
+ "name": "visible",
1019
+ "description": "If true, the component is shown.",
1020
+ "type": "boolean"
1021
+ },
1022
+ {
1023
+ "name": "on-visibility",
1024
+ "description": "Function to control popover opening and closing.",
1025
+ "type": "(visible: boolean) => void;"
1026
+ },
1027
+ {
1028
+ "name": "inverted",
1029
+ "description": "Specifies whether the color scheme should be inverted",
1030
+ "type": "boolean"
1031
+ },
1032
+ {
1033
+ "name": "padding",
1034
+ "description": "Specifies the padding for the tooltip\n\n- base\n- none",
1035
+ "type": "string",
1036
+ "values": [
1037
+ {
1038
+ "name": "base"
1039
+ },
1040
+ {
1041
+ "name": "none"
1042
+ }
1043
+ ]
1044
+ },
1045
+ {
1046
+ "name": "position",
1047
+ "description": "Position of the popover.\n\n- bottom\n- bottom-end\n- bottom-start\n- left\n- left-end\n- left-start\n- right\n- right-end\n- right-start\n- top\n- top-end\n- top-start",
1048
+ "type": "string",
1049
+ "values": [
1050
+ {
1051
+ "name": "bottom",
1052
+ "description": "(default)"
1053
+ },
1054
+ {
1055
+ "name": "bottom-end"
1056
+ },
1057
+ {
1058
+ "name": "bottom-start"
1059
+ },
1060
+ {
1061
+ "name": "left"
1062
+ },
1063
+ {
1064
+ "name": "left-end"
1065
+ },
1066
+ {
1067
+ "name": "left-start"
1068
+ },
1069
+ {
1070
+ "name": "right"
1071
+ },
1072
+ {
1073
+ "name": "right-end"
1074
+ },
1075
+ {
1076
+ "name": "right-start"
1077
+ },
1078
+ {
1079
+ "name": "top"
1080
+ },
1081
+ {
1082
+ "name": "top-end"
1083
+ },
1084
+ {
1085
+ "name": "top-start"
1086
+ }
1087
+ ]
1088
+ },
1089
+ {
1090
+ "name": "strategy",
1091
+ "description": "CSS positioning strategy used for the tooltip.\n\n- `\"fixed\"` (default) positions the tooltip relative to the viewport,\n so it stays in the same place even when the page is scrolled.\n- `\"absolute\"` positions the tooltip relative to the nearest positioned ancestor,\n which can be useful when you want the tooltip to move with page content.\n\nUse `\"fixed\"` for tooltips that should remain visible on scroll,\nand `\"absolute\"` when tooltips need to be positioned within scrollable containers.\n\n- absolute\n- fixed",
1092
+ "type": "string",
1093
+ "values": [
1094
+ {
1095
+ "name": "absolute"
1096
+ },
1097
+ {
1098
+ "name": "fixed",
1099
+ "description": "(default)"
1100
+ }
1101
+ ]
1102
+ }
1103
+ ]
1104
+ },
978
1105
  {
979
1106
  "name": "rarui-progress",
980
1107
  "description": "## Rarui Progress\n---\nThe Badge components are only used to transmit dynamic information, such as a connection or status.\n\nSee [a complete document](https://rarui.rarolabs.com.br/docs/components/exhibition/badge) for more details.",
@@ -1282,6 +1409,22 @@
1282
1409
  "name": "tonal"
1283
1410
  }
1284
1411
  ]
1412
+ },
1413
+ {
1414
+ "name": "type",
1415
+ "description": "Defines the native button type.\nCan be 'button', 'submit', or 'reset'.\n\n- button\n- reset\n- submit",
1416
+ "type": "string",
1417
+ "values": [
1418
+ {
1419
+ "name": "button"
1420
+ },
1421
+ {
1422
+ "name": "reset"
1423
+ },
1424
+ {
1425
+ "name": "submit"
1426
+ }
1427
+ ]
1285
1428
  }
1286
1429
  ]
1287
1430
  },
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
@@ -16732,6 +16690,48 @@ declare const textareaStyles: {
16732
16690
 
16733
16691
  type TextareaVariants = NonNullable<RecipeVariants<typeof textareaStyles.textarea>>;
16734
16692
 
16693
+ declare const styles: {
16694
+ tooltip: RuntimeFn<{
16695
+ /**
16696
+ * Specifies whether the color scheme should be inverted
16697
+ */
16698
+ inverted: {
16699
+ true: {
16700
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16701
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16702
+ };
16703
+ false: {
16704
+ backgroundColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16705
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16706
+ };
16707
+ };
16708
+ /**
16709
+ * Specifies the padding for the tooltip
16710
+ */
16711
+ padding: {
16712
+ base: {
16713
+ padding: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16714
+ };
16715
+ none: {
16716
+ padding: number;
16717
+ };
16718
+ };
16719
+ }>;
16720
+ header: RuntimeFn<{
16721
+ padding: {
16722
+ base: {
16723
+ padding: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16724
+ };
16725
+ none: {
16726
+ padding: number;
16727
+ };
16728
+ };
16729
+ }>;
16730
+ container: string;
16731
+ };
16732
+
16733
+ type TooltipVariants = NonNullable<RecipeVariants<typeof styles.tooltip>>;
16734
+
16735
16735
  declare const cardStyles: {
16736
16736
  card: RuntimeFn<{
16737
16737
  /**
@@ -16805,6 +16805,54 @@ interface TextProps extends TextSprinkle {
16805
16805
  lineClamp?: number;
16806
16806
  }
16807
16807
 
16808
+ interface TooltipTyping {
16809
+ /**
16810
+ * Conditional for displaying the popover arrow.
16811
+ * @default true
16812
+ */
16813
+ arrow?: boolean;
16814
+ /**
16815
+ * A common feature of select dropdowns is that the dropdown matches the width of the reference regardless of its contents.
16816
+ * @default false
16817
+ */
16818
+ matchReferenceWidth?: boolean;
16819
+ /**
16820
+ * Adds hover event listeners that change the open state, like CSS :hover.
16821
+ * @default false
16822
+ */
16823
+ enabledHover?: boolean;
16824
+ /**
16825
+ * Adds click event listeners that change the open state.
16826
+ * @default true
16827
+ */
16828
+ enabledClick?: boolean;
16829
+ /**
16830
+ * Adds listeners that dismiss (close) the floating element.
16831
+ * @default true
16832
+ */
16833
+ enabledDismiss?: boolean;
16834
+ /**
16835
+ * Offest displaces the floating element from its core placement along the specified axes.
16836
+ * @default 10
16837
+ */
16838
+ offset?: number;
16839
+ /**
16840
+ * Specifies the ID of the portal element where the tooltip should be rendered.
16841
+ * This can be useful for rendering the tooltip in a different part of the DOM, such as a modal or overlay.
16842
+ */
16843
+ portalId?: string;
16844
+ /**
16845
+ * If true, the component is shown.
16846
+ */
16847
+ visible?: boolean;
16848
+ /**
16849
+ * Function to control popover opening and closing.
16850
+ * @TJS-type (visible: boolean) => void;
16851
+ */
16852
+ onVisibility?: (visible: boolean) => void;
16853
+ }
16854
+ type TooltipProps = TooltipTyping & TooltipVariants;
16855
+
16808
16856
  interface ProgressTyping {
16809
16857
  /**
16810
16858
  * The progress percentage, represented as a number between 0 and 100.
@@ -16984,6 +17032,83 @@ declare class RaruiTitle extends LitElement {
16984
17032
  render(): TemplateResult<1>;
16985
17033
  }
16986
17034
 
17035
+ declare type AlignedPlacement = `${Side}-${Alignment}`;
17036
+
17037
+ declare type Alignment = 'start' | 'end';
17038
+
17039
+ declare type Placement = Prettify<Side | AlignedPlacement>;
17040
+
17041
+ declare type Prettify<T> = {
17042
+ [K in keyof T]: T[K];
17043
+ } & {};
17044
+
17045
+ declare type Side = 'top' | 'right' | 'bottom' | 'left';
17046
+
17047
+ declare global {
17048
+ interface HTMLElementTagNameMap {
17049
+ "rarui-tooltip": RaruiTooltip;
17050
+ }
17051
+ }
17052
+ /**
17053
+ * ## Rarui Tooltip
17054
+ * ---
17055
+ * A Divider is a thin line used to separate or group content in lists and layouts.
17056
+ *
17057
+ * See [a complete document](https://rarui.rarolabs.com.br/docs/components/exhibition/divider) for more details.
17058
+ */
17059
+ type TooltipProperties = Partial<TooltipProps> & {
17060
+ /**
17061
+ * Position of the popover.
17062
+ * @default bottom
17063
+ */
17064
+ position?: Placement;
17065
+ /**
17066
+ * CSS positioning strategy used for the tooltip.
17067
+ *
17068
+ * - `"fixed"` (default) positions the tooltip relative to the viewport,
17069
+ * so it stays in the same place even when the page is scrolled.
17070
+ * - `"absolute"` positions the tooltip relative to the nearest positioned ancestor,
17071
+ * which can be useful when you want the tooltip to move with page content.
17072
+ *
17073
+ * Use `"fixed"` for tooltips that should remain visible on scroll,
17074
+ * and `"absolute"` when tooltips need to be positioned within scrollable containers.
17075
+ * @default fixed
17076
+ */
17077
+ strategy?: "fixed" | "absolute";
17078
+ };
17079
+
17080
+ declare class RaruiTooltip extends LitElement {
17081
+ padding: TooltipProperties["padding"];
17082
+ offset: TooltipProperties["offset"];
17083
+ inverted: TooltipProperties["inverted"];
17084
+ arrow: TooltipProperties["arrow"];
17085
+ enabledDismiss: TooltipProperties["enabledDismiss"];
17086
+ enabledClick: TooltipProperties["enabledClick"];
17087
+ enabledHover: TooltipProperties["enabledHover"];
17088
+ matchReferenceWidth: TooltipProperties["matchReferenceWidth"];
17089
+ position: TooltipProperties["position"];
17090
+ strategy: TooltipProperties["strategy"];
17091
+ open: boolean;
17092
+ reference: HTMLElement;
17093
+ floating: HTMLElement;
17094
+ arrowEl: HTMLElement;
17095
+ cleanupAutoUpdate?: () => void;
17096
+ static styles: CSSResult;
17097
+ private updatePositionDebounceId;
17098
+ connectedCallback(): void;
17099
+ disconnectedCallback(): void;
17100
+ updated(changed: Map<string, any>): void;
17101
+ private scheduleUpdatePosition;
17102
+ private handleClickOutside;
17103
+ private handleClick;
17104
+ private handleMouseEnter;
17105
+ private handleMouseLeave;
17106
+ private getMiddleware;
17107
+ updatePosition(): Promise<void>;
17108
+ computePosition(): Promise<void>;
17109
+ render(): TemplateResult<1>;
17110
+ }
17111
+
16987
17112
  declare global {
16988
17113
  interface HTMLElementTagNameMap {
16989
17114
  "rarui-progress-circle": RaruiProgressCircle;
@@ -17039,14 +17164,22 @@ declare global {
17039
17164
  *
17040
17165
  * See [a complete document](https://rarui.rarolabs.com.br/docs/components/input/button) for more details.
17041
17166
  */
17042
- type ButtonProperties = Partial<ButtonProps>;
17167
+ type ButtonProperties = Partial<ButtonProps> & {
17168
+ /**
17169
+ * Defines the native button type.
17170
+ * Can be 'button', 'submit', or 'reset'.
17171
+ * @default 'button'
17172
+ */
17173
+ type?: "button" | "submit" | "reset";
17174
+ };
17043
17175
 
17044
17176
  declare class RaruiButton extends LitElement {
17045
- appearance: ButtonProperties["appearance"];
17177
+ full: ButtonProperties["full"];
17046
17178
  size: ButtonProperties["size"];
17179
+ type: ButtonProperties["type"];
17047
17180
  variant: ButtonProperties["variant"];
17048
- full: ButtonProperties["full"];
17049
- disabled: boolean;
17181
+ disabled: ButtonProperties["disabled"];
17182
+ appearance: ButtonProperties["appearance"];
17050
17183
  static styles: CSSResult;
17051
17184
  render(): TemplateResult<1>;
17052
17185
  }