@tamagui/label 1.144.0 → 2.0.0-1767740890268
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/cjs/Label.cjs +2 -4
- package/dist/cjs/Label.js +35 -39
- package/dist/cjs/Label.js.map +1 -1
- package/dist/cjs/Label.native.js +2 -4
- package/dist/cjs/Label.native.js.map +1 -1
- package/dist/esm/Label.js +36 -40
- package/dist/esm/Label.js.map +1 -1
- package/dist/esm/Label.mjs +3 -5
- package/dist/esm/Label.mjs.map +1 -1
- package/dist/esm/Label.native.js +3 -5
- package/dist/esm/Label.native.js.map +1 -1
- package/dist/jsx/Label.js +36 -40
- package/dist/jsx/Label.js.map +1 -1
- package/dist/jsx/Label.mjs +3 -5
- package/dist/jsx/Label.mjs.map +1 -1
- package/dist/jsx/Label.native.js +2 -4
- package/dist/jsx/Label.native.js.map +1 -1
- package/package.json +10 -10
- package/src/Label.tsx +75 -82
- package/types/Label.d.ts +8 -3
- package/types/Label.d.ts.map +1 -1
package/dist/cjs/Label.cjs
CHANGED
|
@@ -85,7 +85,7 @@ const NAME = "Label",
|
|
|
85
85
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
86
86
|
}
|
|
87
87
|
}),
|
|
88
|
-
|
|
88
|
+
Label = LabelFrame.styleable(function (props, forwardedRef) {
|
|
89
89
|
const {
|
|
90
90
|
htmlFor,
|
|
91
91
|
id: idProp,
|
|
@@ -130,9 +130,7 @@ const NAME = "Label",
|
|
|
130
130
|
}
|
|
131
131
|
})
|
|
132
132
|
});
|
|
133
|
-
})
|
|
134
|
-
LabelComponent.displayName = NAME;
|
|
135
|
-
const Label = LabelFrame.extractable((0, import_web.themeable)(LabelComponent)),
|
|
133
|
+
}),
|
|
136
134
|
useLabelContext = element => {
|
|
137
135
|
const context = useLabelContextImpl("LabelConsumer"),
|
|
138
136
|
{
|
package/dist/cjs/Label.js
CHANGED
|
@@ -62,47 +62,43 @@ const NAME = "Label", [LabelProvider, useLabelContextImpl] = (0, import_create_c
|
|
|
62
62
|
defaultVariants: {
|
|
63
63
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
64
64
|
}
|
|
65
|
-
}),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
};
|
|
78
|
-
}
|
|
65
|
+
}), Label = LabelFrame.styleable(function(props, forwardedRef) {
|
|
66
|
+
const { htmlFor, id: idProp, ...labelProps } = props, controlRef = React.useRef(null), ref = React.useRef(null), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, ref), backupId = React.useId(), id = idProp ?? backupId;
|
|
67
|
+
return import_constants.isWeb && React.useEffect(() => {
|
|
68
|
+
if (htmlFor) {
|
|
69
|
+
const element = document.getElementById(htmlFor);
|
|
70
|
+
if (ref.current && element) {
|
|
71
|
+
const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
|
|
72
|
+
return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
|
|
73
|
+
if (!id) return;
|
|
74
|
+
const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
|
|
75
|
+
ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
|
|
76
|
+
};
|
|
79
77
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
78
|
+
}
|
|
79
|
+
}, [id, htmlFor]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelProvider, { id, controlRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
80
|
+
LabelFrame,
|
|
81
|
+
{
|
|
82
|
+
id,
|
|
83
|
+
htmlFor,
|
|
84
|
+
...labelProps,
|
|
85
|
+
ref: composedRefs,
|
|
86
|
+
onMouseDown: (event) => {
|
|
87
|
+
props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
|
|
88
|
+
},
|
|
89
|
+
onPress: (event) => {
|
|
90
|
+
if (props.onPress?.(event), import_constants.isWeb) {
|
|
91
|
+
if (htmlFor || !controlRef.current || event.defaultPrevented) return;
|
|
92
|
+
const isClickingControl = controlRef.current.contains(
|
|
93
|
+
event.target
|
|
94
|
+
), isUserClick = event.isTrusted === !0;
|
|
95
|
+
!isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
|
|
96
|
+
} else
|
|
97
|
+
props.htmlFor && (0, import_focusable.focusFocusable)(props.htmlFor);
|
|
100
98
|
}
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
)
|
|
104
|
-
LabelComponent.displayName = NAME;
|
|
105
|
-
const Label = LabelFrame.extractable((0, import_web.themeable)(LabelComponent)), useLabelContext = (element) => {
|
|
99
|
+
}
|
|
100
|
+
) });
|
|
101
|
+
}), useLabelContext = (element) => {
|
|
106
102
|
const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
|
|
107
103
|
return React.useEffect(() => {
|
|
108
104
|
element && (controlRef.current = element);
|
package/dist/cjs/Label.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Label.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAgC,kCAChC,mBAAsB,+BACtB,wBAA8B,oCAC9B,mBAA+B,+BAC/B,0BAA+B,sCAC/B,wBAA6B,oCAC7B,cAA4B,0BAE5B,aAAkC,yBAClC,QAAuB,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ariaLabelledBy"]
|
|
6
6
|
}
|
package/dist/cjs/Label.native.js
CHANGED
|
@@ -89,7 +89,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
89
89
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
90
90
|
}
|
|
91
91
|
}),
|
|
92
|
-
|
|
92
|
+
Label = LabelFrame.styleable(function (props, forwardedRef) {
|
|
93
93
|
var {
|
|
94
94
|
htmlFor,
|
|
95
95
|
id: idProp,
|
|
@@ -142,9 +142,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
142
142
|
}
|
|
143
143
|
})
|
|
144
144
|
});
|
|
145
|
-
})
|
|
146
|
-
LabelComponent.displayName = NAME;
|
|
147
|
-
var Label = LabelFrame.extractable((0, import_web.themeable)(LabelComponent)),
|
|
145
|
+
}),
|
|
148
146
|
useLabelContext = function (element) {
|
|
149
147
|
var context = useLabelContextImpl("LabelConsumer"),
|
|
150
148
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Label_exports","__export","Label","LabelFrame","useLabelContext","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_create_context","import_focusable","import_get_button_sized","import_get_font_sized","import_text","import_web","React","__toESM","NAME","LabelProvider","useLabelContextImpl","createContext","id","controlRef","current","styled","SizableText","name","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonStyle","getButtonSized","buttonHeight","height","fontStyle","getFontSized","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Label_exports","__export","Label","LabelFrame","useLabelContext","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_create_context","import_focusable","import_get_button_sized","import_get_font_sized","import_text","import_web","React","__toESM","NAME","LabelProvider","useLabelContextImpl","createContext","id","controlRef","current","styled","SizableText","name","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonStyle","getButtonSized","buttonHeight","height","fontStyle","getFontSized","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","styleable","props","forwardedRef","htmlFor","idProp","labelProps","useRef","ref","composedRefs","useComposedRefs","backupId","useId","isWeb","useEffect","element","document","getElementById","label","getAriaLabel","getAttribute","ariaLabelledBy","filter","Boolean","join","setAttribute","_getAriaLabel","ariaLabelledBy2","replace","removeAttribute","jsx","children","onMouseDown","event","_props_onMouseDown","call","defaultPrevented","detail","preventDefault","onPress","_props_onPress"],"sources":["../../src/Label.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Label.js
CHANGED
|
@@ -5,7 +5,7 @@ import { focusFocusable } from "@tamagui/focusable";
|
|
|
5
5
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
6
6
|
import { getFontSized } from "@tamagui/get-font-sized";
|
|
7
7
|
import { SizableText } from "@tamagui/text";
|
|
8
|
-
import { styled
|
|
8
|
+
import { styled } from "@tamagui/web";
|
|
9
9
|
import * as React from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME, {
|
|
@@ -42,47 +42,43 @@ const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME,
|
|
|
42
42
|
defaultVariants: {
|
|
43
43
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
44
44
|
}
|
|
45
|
-
}),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
}
|
|
45
|
+
}), Label = LabelFrame.styleable(function(props, forwardedRef) {
|
|
46
|
+
const { htmlFor, id: idProp, ...labelProps } = props, controlRef = React.useRef(null), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React.useId(), id = idProp ?? backupId;
|
|
47
|
+
return isWeb && React.useEffect(() => {
|
|
48
|
+
if (htmlFor) {
|
|
49
|
+
const element = document.getElementById(htmlFor);
|
|
50
|
+
if (ref.current && element) {
|
|
51
|
+
const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
|
|
52
|
+
return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
|
|
53
|
+
if (!id) return;
|
|
54
|
+
const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
|
|
55
|
+
ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
|
|
56
|
+
};
|
|
59
57
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
58
|
+
}
|
|
59
|
+
}, [id, htmlFor]), /* @__PURE__ */ jsx(LabelProvider, { id, controlRef, children: /* @__PURE__ */ jsx(
|
|
60
|
+
LabelFrame,
|
|
61
|
+
{
|
|
62
|
+
id,
|
|
63
|
+
htmlFor,
|
|
64
|
+
...labelProps,
|
|
65
|
+
ref: composedRefs,
|
|
66
|
+
onMouseDown: (event) => {
|
|
67
|
+
props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
|
|
68
|
+
},
|
|
69
|
+
onPress: (event) => {
|
|
70
|
+
if (props.onPress?.(event), isWeb) {
|
|
71
|
+
if (htmlFor || !controlRef.current || event.defaultPrevented) return;
|
|
72
|
+
const isClickingControl = controlRef.current.contains(
|
|
73
|
+
event.target
|
|
74
|
+
), isUserClick = event.isTrusted === !0;
|
|
75
|
+
!isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
|
|
76
|
+
} else
|
|
77
|
+
props.htmlFor && focusFocusable(props.htmlFor);
|
|
80
78
|
}
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
LabelComponent.displayName = NAME;
|
|
85
|
-
const Label = LabelFrame.extractable(themeable(LabelComponent)), useLabelContext = (element) => {
|
|
79
|
+
}
|
|
80
|
+
) });
|
|
81
|
+
}), useLabelContext = (element) => {
|
|
86
82
|
const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
|
|
87
83
|
return React.useEffect(() => {
|
|
88
84
|
element && (controlRef.current = element);
|
package/dist/esm/Label.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Label.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAE5B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ariaLabelledBy"]
|
|
6
6
|
}
|
package/dist/esm/Label.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { focusFocusable } from "@tamagui/focusable";
|
|
|
5
5
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
6
6
|
import { getFontSized } from "@tamagui/get-font-sized";
|
|
7
7
|
import { SizableText } from "@tamagui/text";
|
|
8
|
-
import { styled
|
|
8
|
+
import { styled } from "@tamagui/web";
|
|
9
9
|
import * as React from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
const NAME = "Label",
|
|
@@ -47,7 +47,7 @@ const NAME = "Label",
|
|
|
47
47
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
48
48
|
}
|
|
49
49
|
}),
|
|
50
|
-
|
|
50
|
+
Label = LabelFrame.styleable(function (props, forwardedRef) {
|
|
51
51
|
const {
|
|
52
52
|
htmlFor,
|
|
53
53
|
id: idProp,
|
|
@@ -92,9 +92,7 @@ const NAME = "Label",
|
|
|
92
92
|
}
|
|
93
93
|
})
|
|
94
94
|
});
|
|
95
|
-
})
|
|
96
|
-
LabelComponent.displayName = NAME;
|
|
97
|
-
const Label = LabelFrame.extractable(themeable(LabelComponent)),
|
|
95
|
+
}),
|
|
98
96
|
useLabelContext = element => {
|
|
99
97
|
const context = useLabelContextImpl("LabelConsumer"),
|
|
100
98
|
{
|
package/dist/esm/Label.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useComposedRefs","isWeb","createContext","focusFocusable","getButtonSized","getFontSized","SizableText","styled","
|
|
1
|
+
{"version":3,"names":["useComposedRefs","isWeb","createContext","focusFocusable","getButtonSized","getFontSized","SizableText","styled","React","jsx","NAME","LabelProvider","useLabelContextImpl","id","controlRef","current","LabelFrame","name","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonHeight","height","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","Label","styleable","props","forwardedRef","htmlFor","idProp","labelProps","useRef","ref","composedRefs","backupId","useId","useEffect","element","document","getElementById","getAriaLabel","getAttribute","ariaLabelledBy","filter","Boolean","join","setAttribute","ariaLabelledBy2","replace","removeAttribute","children","onMouseDown","event","defaultPrevented","detail","preventDefault","onPress","isClickingControl","contains","target","isUserClick","isTrusted","click","focus","useLabelContext","context"],"sources":["../../src/Label.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Label.native.js
CHANGED
|
@@ -6,7 +6,7 @@ import { focusFocusable } from "@tamagui/focusable";
|
|
|
6
6
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
7
7
|
import { getFontSized } from "@tamagui/get-font-sized";
|
|
8
8
|
import { SizableText } from "@tamagui/text";
|
|
9
|
-
import { styled
|
|
9
|
+
import { styled } from "@tamagui/web";
|
|
10
10
|
import * as React from "react";
|
|
11
11
|
var NAME = "Label",
|
|
12
12
|
[LabelProvider, useLabelContextImpl] = createContext(NAME, {
|
|
@@ -49,7 +49,7 @@ var NAME = "Label",
|
|
|
49
49
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
50
50
|
}
|
|
51
51
|
}),
|
|
52
|
-
|
|
52
|
+
Label = LabelFrame.styleable(function (props, forwardedRef) {
|
|
53
53
|
var {
|
|
54
54
|
htmlFor,
|
|
55
55
|
id: idProp,
|
|
@@ -102,9 +102,7 @@ var NAME = "Label",
|
|
|
102
102
|
}
|
|
103
103
|
})
|
|
104
104
|
});
|
|
105
|
-
})
|
|
106
|
-
LabelComponent.displayName = NAME;
|
|
107
|
-
var Label = LabelFrame.extractable(themeable(LabelComponent)),
|
|
105
|
+
}),
|
|
108
106
|
useLabelContext = function (element) {
|
|
109
107
|
var context = useLabelContextImpl("LabelConsumer"),
|
|
110
108
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","useComposedRefs","isWeb","createContext","focusFocusable","getButtonSized","getFontSized","SizableText","styled","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","useComposedRefs","isWeb","createContext","focusFocusable","getButtonSized","getFontSized","SizableText","styled","React","NAME","LabelProvider","useLabelContextImpl","id","controlRef","current","LabelFrame","name","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonStyle","buttonHeight","height","fontStyle","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","Label","styleable","props","forwardedRef","htmlFor","idProp","labelProps","useRef","ref","composedRefs","backupId","useId","useEffect","element","document","getElementById","label","getAriaLabel","getAttribute","ariaLabelledBy","filter","Boolean","join","setAttribute","_getAriaLabel","ariaLabelledBy2","replace","removeAttribute","children","onMouseDown","event","_props_onMouseDown","call","defaultPrevented","detail","preventDefault","onPress","_props_onPress"],"sources":["../../src/Label.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/Label.js
CHANGED
|
@@ -5,7 +5,7 @@ import { focusFocusable } from "@tamagui/focusable";
|
|
|
5
5
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
6
6
|
import { getFontSized } from "@tamagui/get-font-sized";
|
|
7
7
|
import { SizableText } from "@tamagui/text";
|
|
8
|
-
import { styled
|
|
8
|
+
import { styled } from "@tamagui/web";
|
|
9
9
|
import * as React from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME, {
|
|
@@ -42,47 +42,43 @@ const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME,
|
|
|
42
42
|
defaultVariants: {
|
|
43
43
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
44
44
|
}
|
|
45
|
-
}),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
}
|
|
45
|
+
}), Label = LabelFrame.styleable(function(props, forwardedRef) {
|
|
46
|
+
const { htmlFor, id: idProp, ...labelProps } = props, controlRef = React.useRef(null), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React.useId(), id = idProp ?? backupId;
|
|
47
|
+
return isWeb && React.useEffect(() => {
|
|
48
|
+
if (htmlFor) {
|
|
49
|
+
const element = document.getElementById(htmlFor);
|
|
50
|
+
if (ref.current && element) {
|
|
51
|
+
const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
|
|
52
|
+
return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
|
|
53
|
+
if (!id) return;
|
|
54
|
+
const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
|
|
55
|
+
ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
|
|
56
|
+
};
|
|
59
57
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
58
|
+
}
|
|
59
|
+
}, [id, htmlFor]), /* @__PURE__ */ jsx(LabelProvider, { id, controlRef, children: /* @__PURE__ */ jsx(
|
|
60
|
+
LabelFrame,
|
|
61
|
+
{
|
|
62
|
+
id,
|
|
63
|
+
htmlFor,
|
|
64
|
+
...labelProps,
|
|
65
|
+
ref: composedRefs,
|
|
66
|
+
onMouseDown: (event) => {
|
|
67
|
+
props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
|
|
68
|
+
},
|
|
69
|
+
onPress: (event) => {
|
|
70
|
+
if (props.onPress?.(event), isWeb) {
|
|
71
|
+
if (htmlFor || !controlRef.current || event.defaultPrevented) return;
|
|
72
|
+
const isClickingControl = controlRef.current.contains(
|
|
73
|
+
event.target
|
|
74
|
+
), isUserClick = event.isTrusted === !0;
|
|
75
|
+
!isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
|
|
76
|
+
} else
|
|
77
|
+
props.htmlFor && focusFocusable(props.htmlFor);
|
|
80
78
|
}
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
LabelComponent.displayName = NAME;
|
|
85
|
-
const Label = LabelFrame.extractable(themeable(LabelComponent)), useLabelContext = (element) => {
|
|
79
|
+
}
|
|
80
|
+
) });
|
|
81
|
+
}), useLabelContext = (element) => {
|
|
86
82
|
const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
|
|
87
83
|
return React.useEffect(() => {
|
|
88
84
|
element && (controlRef.current = element);
|
package/dist/jsx/Label.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Label.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,aAAa;AACtB,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAE5B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ariaLabelledBy"]
|
|
6
6
|
}
|
package/dist/jsx/Label.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { focusFocusable } from "@tamagui/focusable";
|
|
|
5
5
|
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
6
6
|
import { getFontSized } from "@tamagui/get-font-sized";
|
|
7
7
|
import { SizableText } from "@tamagui/text";
|
|
8
|
-
import { styled
|
|
8
|
+
import { styled } from "@tamagui/web";
|
|
9
9
|
import * as React from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
const NAME = "Label",
|
|
@@ -47,7 +47,7 @@ const NAME = "Label",
|
|
|
47
47
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
48
48
|
}
|
|
49
49
|
}),
|
|
50
|
-
|
|
50
|
+
Label = LabelFrame.styleable(function (props, forwardedRef) {
|
|
51
51
|
const {
|
|
52
52
|
htmlFor,
|
|
53
53
|
id: idProp,
|
|
@@ -92,9 +92,7 @@ const NAME = "Label",
|
|
|
92
92
|
}
|
|
93
93
|
})
|
|
94
94
|
});
|
|
95
|
-
})
|
|
96
|
-
LabelComponent.displayName = NAME;
|
|
97
|
-
const Label = LabelFrame.extractable(themeable(LabelComponent)),
|
|
95
|
+
}),
|
|
98
96
|
useLabelContext = element => {
|
|
99
97
|
const context = useLabelContextImpl("LabelConsumer"),
|
|
100
98
|
{
|
package/dist/jsx/Label.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useComposedRefs","isWeb","createContext","focusFocusable","getButtonSized","getFontSized","SizableText","styled","
|
|
1
|
+
{"version":3,"names":["useComposedRefs","isWeb","createContext","focusFocusable","getButtonSized","getFontSized","SizableText","styled","React","jsx","NAME","LabelProvider","useLabelContextImpl","id","controlRef","current","LabelFrame","name","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonHeight","height","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","Label","styleable","props","forwardedRef","htmlFor","idProp","labelProps","useRef","ref","composedRefs","backupId","useId","useEffect","element","document","getElementById","getAriaLabel","getAttribute","ariaLabelledBy","filter","Boolean","join","setAttribute","ariaLabelledBy2","replace","removeAttribute","children","onMouseDown","event","defaultPrevented","detail","preventDefault","onPress","isClickingControl","contains","target","isUserClick","isTrusted","click","focus","useLabelContext","context"],"sources":["../../src/Label.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/Label.native.js
CHANGED
|
@@ -89,7 +89,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
89
89
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
90
90
|
}
|
|
91
91
|
}),
|
|
92
|
-
|
|
92
|
+
Label = LabelFrame.styleable(function (props, forwardedRef) {
|
|
93
93
|
var {
|
|
94
94
|
htmlFor,
|
|
95
95
|
id: idProp,
|
|
@@ -142,9 +142,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
142
142
|
}
|
|
143
143
|
})
|
|
144
144
|
});
|
|
145
|
-
})
|
|
146
|
-
LabelComponent.displayName = NAME;
|
|
147
|
-
var Label = LabelFrame.extractable((0, import_web.themeable)(LabelComponent)),
|
|
145
|
+
}),
|
|
148
146
|
useLabelContext = function (element) {
|
|
149
147
|
var context = useLabelContextImpl("LabelConsumer"),
|
|
150
148
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Label_exports","Label","LabelFrame","useLabelContext","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_create_context","import_focusable","import_get_button_sized","import_get_font_sized","import_text","import_web","React","NAME","LabelProvider","useLabelContextImpl","createContext","id","controlRef","current","styled","SizableText","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonStyle","getButtonSized","buttonHeight","height","fontStyle","getFontSized","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Label_exports","Label","LabelFrame","useLabelContext","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_create_context","import_focusable","import_get_button_sized","import_get_font_sized","import_text","import_web","React","NAME","LabelProvider","useLabelContextImpl","createContext","id","controlRef","current","styled","SizableText","tag","variants","unstyled","false","size","color","backgroundColor","display","alignItems","userSelect","cursor","pressStyle","...size","val","extras","buttonStyle","getButtonSized","buttonHeight","height","fontStyle","getFontSized","lineHeight","tokens","defaultVariants","process","env","TAMAGUI_HEADLESS","styleable","props","forwardedRef","htmlFor","idProp","labelProps","useRef","ref","composedRefs","useComposedRefs","backupId","useId","isWeb","useEffect","element","document","getElementById","label","getAriaLabel","getAttribute","ariaLabelledBy","filter","Boolean","join","setAttribute","_getAriaLabel","ariaLabelledBy2","replace","removeAttribute"],"sources":["../../src/Label.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/label",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-1767740890268",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
@@ -39,21 +39,21 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@tamagui/compose-refs": "
|
|
43
|
-
"@tamagui/constants": "
|
|
44
|
-
"@tamagui/create-context": "
|
|
45
|
-
"@tamagui/focusable": "
|
|
46
|
-
"@tamagui/get-button-sized": "
|
|
47
|
-
"@tamagui/get-font-sized": "
|
|
48
|
-
"@tamagui/text": "
|
|
49
|
-
"@tamagui/web": "
|
|
42
|
+
"@tamagui/compose-refs": "2.0.0-1767740890268",
|
|
43
|
+
"@tamagui/constants": "2.0.0-1767740890268",
|
|
44
|
+
"@tamagui/create-context": "2.0.0-1767740890268",
|
|
45
|
+
"@tamagui/focusable": "2.0.0-1767740890268",
|
|
46
|
+
"@tamagui/get-button-sized": "2.0.0-1767740890268",
|
|
47
|
+
"@tamagui/get-font-sized": "2.0.0-1767740890268",
|
|
48
|
+
"@tamagui/text": "2.0.0-1767740890268",
|
|
49
|
+
"@tamagui/web": "2.0.0-1767740890268"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": "*",
|
|
53
53
|
"react-native": "*"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@tamagui/build": "
|
|
56
|
+
"@tamagui/build": "2.0.0-1767740890268",
|
|
57
57
|
"react": "*",
|
|
58
58
|
"react-native": "0.81.5"
|
|
59
59
|
},
|
package/src/Label.tsx
CHANGED
|
@@ -64,94 +64,87 @@ export type LabelProps = GetProps<typeof LabelFrame> & {
|
|
|
64
64
|
htmlFor?: string
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
element.setAttribute('aria-labelledby', ariaLabelledBy)
|
|
97
|
-
}
|
|
67
|
+
export const Label = LabelFrame.styleable(function Label(props, forwardedRef) {
|
|
68
|
+
const { htmlFor, id: idProp, ...labelProps } = props
|
|
69
|
+
const controlRef = React.useRef<HTMLElement | null>(null)
|
|
70
|
+
const ref = React.useRef<any>(null)
|
|
71
|
+
const composedRefs = useComposedRefs(forwardedRef, ref)
|
|
72
|
+
const backupId = React.useId()
|
|
73
|
+
const id = idProp ?? backupId
|
|
74
|
+
|
|
75
|
+
if (isWeb) {
|
|
76
|
+
React.useEffect(() => {
|
|
77
|
+
if (htmlFor) {
|
|
78
|
+
const element = document.getElementById(htmlFor)
|
|
79
|
+
const label = ref.current
|
|
80
|
+
if (label && element) {
|
|
81
|
+
const getAriaLabel = () => element.getAttribute('aria-labelledby')
|
|
82
|
+
const ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(' ')
|
|
83
|
+
element.setAttribute('aria-labelledby', ariaLabelledBy)
|
|
84
|
+
controlRef.current = element
|
|
85
|
+
return () => {
|
|
86
|
+
/**
|
|
87
|
+
* We get the latest attribute value because at the time that this cleanup fires,
|
|
88
|
+
* the values from the closure may have changed.
|
|
89
|
+
*/
|
|
90
|
+
if (!id) return
|
|
91
|
+
const ariaLabelledBy = getAriaLabel()?.replace(id, '')
|
|
92
|
+
if (ariaLabelledBy === '') {
|
|
93
|
+
element.removeAttribute('aria-labelledby')
|
|
94
|
+
} else if (ariaLabelledBy) {
|
|
95
|
+
element.setAttribute('aria-labelledby', ariaLabelledBy)
|
|
98
96
|
}
|
|
99
97
|
}
|
|
100
98
|
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
99
|
+
}
|
|
100
|
+
}, [id, htmlFor])
|
|
101
|
+
}
|
|
103
102
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
103
|
+
return (
|
|
104
|
+
<LabelProvider id={id} controlRef={controlRef}>
|
|
105
|
+
<LabelFrame
|
|
106
|
+
id={id}
|
|
107
|
+
// @ts-ignore
|
|
108
|
+
htmlFor={htmlFor}
|
|
109
|
+
{...labelProps}
|
|
110
|
+
ref={composedRefs as any}
|
|
111
|
+
onMouseDown={(event) => {
|
|
112
|
+
props.onMouseDown?.(event)
|
|
113
|
+
// prevent text selection when double clicking label
|
|
114
|
+
if (!event.defaultPrevented && event.detail > 1) {
|
|
115
|
+
event.preventDefault()
|
|
116
|
+
}
|
|
117
|
+
}}
|
|
118
|
+
onPress={(event) => {
|
|
119
|
+
props.onPress?.(event)
|
|
120
|
+
|
|
121
|
+
if (isWeb) {
|
|
122
|
+
if (htmlFor || !controlRef.current || event.defaultPrevented) return
|
|
123
|
+
const isClickingControl = controlRef.current.contains(
|
|
124
|
+
event.target as any as Node
|
|
125
|
+
)
|
|
126
|
+
// Ensure event was generated by a user action
|
|
127
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted
|
|
128
|
+
const isUserClick = event.isTrusted === true
|
|
129
|
+
/**
|
|
130
|
+
* When a label is wrapped around the control it labels, we trigger the appropriate events
|
|
131
|
+
* on the control when the label is clicked. We do nothing if the user is already clicking the
|
|
132
|
+
* control inside the label.
|
|
133
|
+
*/
|
|
134
|
+
if (!isClickingControl && isUserClick) {
|
|
135
|
+
controlRef.current.click()
|
|
136
|
+
controlRef.current.focus()
|
|
117
137
|
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
if (isWeb) {
|
|
123
|
-
if (htmlFor || !controlRef.current || event.defaultPrevented) return
|
|
124
|
-
const isClickingControl = controlRef.current.contains(
|
|
125
|
-
event.target as any as Node
|
|
126
|
-
)
|
|
127
|
-
// Ensure event was generated by a user action
|
|
128
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted
|
|
129
|
-
const isUserClick = event.isTrusted === true
|
|
130
|
-
/**
|
|
131
|
-
* When a label is wrapped around the control it labels, we trigger the appropriate events
|
|
132
|
-
* on the control when the label is clicked. We do nothing if the user is already clicking the
|
|
133
|
-
* control inside the label.
|
|
134
|
-
*/
|
|
135
|
-
if (!isClickingControl && isUserClick) {
|
|
136
|
-
controlRef.current.click()
|
|
137
|
-
controlRef.current.focus()
|
|
138
|
-
}
|
|
139
|
-
} else {
|
|
140
|
-
if (props.htmlFor) {
|
|
141
|
-
focusFocusable(props.htmlFor)
|
|
142
|
-
}
|
|
138
|
+
} else {
|
|
139
|
+
if (props.htmlFor) {
|
|
140
|
+
focusFocusable(props.htmlFor)
|
|
143
141
|
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
)
|
|
150
|
-
|
|
151
|
-
LabelComponent.displayName = NAME
|
|
152
|
-
|
|
153
|
-
export const Label: ReactComponentWithRef<LabelProps, HTMLButtonElement | View> =
|
|
154
|
-
LabelFrame.extractable(themeable(LabelComponent as any) as any)
|
|
142
|
+
}
|
|
143
|
+
}}
|
|
144
|
+
/>
|
|
145
|
+
</LabelProvider>
|
|
146
|
+
)
|
|
147
|
+
})
|
|
155
148
|
|
|
156
149
|
export const useLabelContext = (element?: HTMLElement | null) => {
|
|
157
150
|
const context = useLabelContextImpl('LabelConsumer')
|
package/types/Label.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { FontSizeTokens, GetProps
|
|
2
|
-
import type { View } from 'react-native';
|
|
1
|
+
import type { FontSizeTokens, GetProps } from '@tamagui/web';
|
|
3
2
|
export declare const LabelFrame: import("@tamagui/web").TamaguiComponent<import("@tamagui/web").TamaDefer, import("@tamagui/web").TamaguiTextElement, import("@tamagui/web").TextNonStyleProps, import("@tamagui/web").TextStylePropsBase, {
|
|
4
3
|
size?: import("@tamagui/web").SizeTokens | FontSizeTokens | undefined;
|
|
5
4
|
unstyled?: boolean | undefined;
|
|
@@ -7,6 +6,12 @@ export declare const LabelFrame: import("@tamagui/web").TamaguiComponent<import(
|
|
|
7
6
|
export type LabelProps = GetProps<typeof LabelFrame> & {
|
|
8
7
|
htmlFor?: string;
|
|
9
8
|
};
|
|
10
|
-
export declare const Label:
|
|
9
|
+
export declare const Label: import("@tamagui/web").TamaguiComponent<import("@tamagui/web").GetFinalProps<import("@tamagui/web").TextNonStyleProps, import("@tamagui/web").TextStylePropsBase, {
|
|
10
|
+
size?: import("@tamagui/web").SizeTokens | FontSizeTokens | undefined;
|
|
11
|
+
unstyled?: boolean | undefined;
|
|
12
|
+
}>, import("@tamagui/web").TamaguiTextElement, import("@tamagui/web").TextNonStyleProps & void, import("@tamagui/web").TextStylePropsBase, {
|
|
13
|
+
size?: import("@tamagui/web").SizeTokens | FontSizeTokens | undefined;
|
|
14
|
+
unstyled?: boolean | undefined;
|
|
15
|
+
}, import("@tamagui/web").StaticConfigPublic>;
|
|
11
16
|
export declare const useLabelContext: (element?: HTMLElement | null) => string | undefined;
|
|
12
17
|
//# sourceMappingURL=Label.d.ts.map
|
package/types/Label.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../src/Label.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../src/Label.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAyB,MAAM,cAAc,CAAA;AAiBnF,eAAO,MAAM,UAAU;;;6CAoCrB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,GAAG;IACrD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;6CAgFhB,CAAA;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,WAAW,GAAG,IAAI,uBAS3D,CAAA"}
|