@tamagui/label 1.74.3 → 1.74.5

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.
@@ -0,0 +1,103 @@
1
+ import { useComposedRefs } from "@tamagui/compose-refs";
2
+ import { createContext } from "@tamagui/create-context";
3
+ import { focusFocusable } from "@tamagui/focusable";
4
+ import { getButtonSized } from "@tamagui/get-button-sized";
5
+ import { getFontSized } from "@tamagui/get-font-sized";
6
+ import { SizableText } from "@tamagui/text";
7
+ import {
8
+ isWeb,
9
+ styled,
10
+ themeable
11
+ } from "@tamagui/web";
12
+ import * as React from "react";
13
+ import { jsx } from "react/jsx-runtime";
14
+ const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME, {
15
+ id: void 0,
16
+ controlRef: { current: null }
17
+ }), LabelFrame = styled(SizableText, {
18
+ name: "Label",
19
+ tag: "label",
20
+ variants: {
21
+ unstyled: {
22
+ false: {
23
+ size: "$true",
24
+ color: "$color",
25
+ backgroundColor: "transparent",
26
+ display: "flex",
27
+ alignItems: "center",
28
+ userSelect: "none",
29
+ cursor: "default",
30
+ pressStyle: {
31
+ color: "$colorPress"
32
+ }
33
+ }
34
+ },
35
+ size: {
36
+ "...size": (val, extras) => {
37
+ const buttonHeight = getButtonSized(val, extras)?.height;
38
+ return {
39
+ ...getFontSized(val, extras),
40
+ lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0
41
+ };
42
+ }
43
+ }
44
+ },
45
+ defaultVariants: {
46
+ unstyled: !1
47
+ }
48
+ }), LabelComponent = React.forwardRef(
49
+ (props, forwardedRef) => {
50
+ const { htmlFor, id: idProp, ...labelProps } = props, controlRef = React.useRef(null), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React.useId(), id = idProp ?? backupId;
51
+ return isWeb && React.useEffect(() => {
52
+ if (htmlFor) {
53
+ const element = document.getElementById(htmlFor);
54
+ if (ref.current && element) {
55
+ const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
56
+ return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
57
+ if (!id)
58
+ return;
59
+ const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
60
+ ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
61
+ };
62
+ }
63
+ }
64
+ }, [id, htmlFor]), /* @__PURE__ */ jsx(LabelProvider, { id, controlRef, children: /* @__PURE__ */ jsx(
65
+ LabelFrame,
66
+ {
67
+ id,
68
+ htmlFor,
69
+ ...labelProps,
70
+ ref: composedRefs,
71
+ onMouseDown: (event) => {
72
+ props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
73
+ },
74
+ onPress: (event) => {
75
+ if (props.onPress?.(event), isWeb) {
76
+ if (htmlFor || !controlRef.current || event.defaultPrevented)
77
+ return;
78
+ const isClickingControl = controlRef.current.contains(
79
+ event.target
80
+ ), isUserClick = event.isTrusted === !0;
81
+ !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
82
+ } else
83
+ props.htmlFor && focusFocusable(props.htmlFor);
84
+ }
85
+ }
86
+ ) });
87
+ }
88
+ );
89
+ LabelComponent.displayName = NAME;
90
+ const Label = LabelFrame.extractable(themeable(LabelComponent), {
91
+ neverFlatten: !0
92
+ }), useLabelContext = (element) => {
93
+ const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
94
+ return React.useEffect(() => {
95
+ element && (controlRef.current = element);
96
+ }, [element, controlRef]), context.id;
97
+ };
98
+ export {
99
+ Label,
100
+ LabelFrame,
101
+ useLabelContext
102
+ };
103
+ //# sourceMappingURL=Label.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Label.tsx"],
4
+ "mappings": "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",
5
+ "names": ["ariaLabelledBy"]
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Label";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": "AAAA,cAAc;",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/label",
3
- "version": "1.74.3",
3
+ "version": "1.74.5",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -31,20 +31,20 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/compose-refs": "1.74.3",
35
- "@tamagui/create-context": "1.74.3",
36
- "@tamagui/focusable": "1.74.3",
37
- "@tamagui/get-button-sized": "1.74.3",
38
- "@tamagui/get-font-sized": "1.74.3",
39
- "@tamagui/text": "1.74.3",
40
- "@tamagui/web": "1.74.3"
34
+ "@tamagui/compose-refs": "1.74.5",
35
+ "@tamagui/create-context": "1.74.5",
36
+ "@tamagui/focusable": "1.74.5",
37
+ "@tamagui/get-button-sized": "1.74.5",
38
+ "@tamagui/get-font-sized": "1.74.5",
39
+ "@tamagui/text": "1.74.5",
40
+ "@tamagui/web": "1.74.5"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "*",
44
44
  "react-native": "*"
45
45
  },
46
46
  "devDependencies": {
47
- "@tamagui/build": "1.74.3",
47
+ "@tamagui/build": "1.74.5",
48
48
  "react": "^18.2.0",
49
49
  "react-native": "^0.72.1"
50
50
  },