@tamagui/label 1.61.3 → 1.62.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.
package/dist/cjs/Label.js CHANGED
@@ -1,20 +1,15 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
14
11
  for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
13
  return to;
19
14
  };
20
15
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
@@ -22,10 +17,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
17
  // file that has been converted to a CommonJS file using a Babel-
23
18
  // compatible transform (i.e. "__esModule" has not been set), then set
24
19
  // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
26
21
  mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
29
23
  var Label_exports = {};
30
24
  __export(Label_exports, {
31
25
  Label: () => Label,
@@ -33,21 +27,11 @@ __export(Label_exports, {
33
27
  useLabelContext: () => useLabelContext
34
28
  });
35
29
  module.exports = __toCommonJS(Label_exports);
36
- var import_jsx_runtime = require("react/jsx-runtime");
37
- var import_compose_refs = require("@tamagui/compose-refs");
38
- var import_create_context = require("@tamagui/create-context");
39
- var import_focusable = require("@tamagui/focusable");
40
- var import_get_button_sized = require("@tamagui/get-button-sized");
41
- var import_get_font_sized = require("@tamagui/get-font-sized");
42
- var import_text = require("@tamagui/text");
43
- var import_web = require("@tamagui/web");
44
- var React = __toESM(require("react"));
45
- const NAME = "Label";
46
- const [LabelProvider, useLabelContextImpl] = (0, import_create_context.createContext)(NAME, {
30
+ var import_compose_refs = require("@tamagui/compose-refs"), import_create_context = require("@tamagui/create-context"), import_focusable = require("@tamagui/focusable"), import_get_button_sized = require("@tamagui/get-button-sized"), import_get_font_sized = require("@tamagui/get-font-sized"), import_text = require("@tamagui/text"), import_web = require("@tamagui/web"), React = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
31
+ const NAME = "Label", [LabelProvider, useLabelContextImpl] = (0, import_create_context.createContext)(NAME, {
47
32
  id: void 0,
48
33
  controlRef: { current: null }
49
- });
50
- const LabelFrame = (0, import_web.styled)(import_text.SizableText, {
34
+ }), LabelFrame = (0, import_web.styled)(import_text.SizableText, {
51
35
  name: "Label",
52
36
  tag: "label",
53
37
  variants: {
@@ -67,54 +51,34 @@ const LabelFrame = (0, import_web.styled)(import_text.SizableText, {
67
51
  },
68
52
  size: {
69
53
  "...size": (val, extras) => {
70
- const buttonStyle = (0, import_get_button_sized.getButtonSized)(val, extras);
71
- const buttonHeight = buttonStyle == null ? void 0 : buttonStyle.height;
72
- const fontStyle = (0, import_get_font_sized.getFontSized)(val, extras);
54
+ const buttonHeight = (0, import_get_button_sized.getButtonSized)(val, extras)?.height;
73
55
  return {
74
- ...fontStyle,
56
+ ...(0, import_get_font_sized.getFontSized)(val, extras),
75
57
  lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0
76
58
  };
77
59
  }
78
60
  }
79
61
  },
80
62
  defaultVariants: {
81
- unstyled: false
63
+ unstyled: !1
82
64
  }
83
- });
84
- const LabelComponent = React.forwardRef(
65
+ }), LabelComponent = React.forwardRef(
85
66
  (props, forwardedRef) => {
86
- const { htmlFor, id: idProp, ...labelProps } = props;
87
- const controlRef = React.useRef(null);
88
- const ref = React.useRef(null);
89
- const composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, ref);
90
- const backupId = React.useId();
91
- const id = idProp ?? backupId;
92
- if (import_web.isWeb) {
93
- React.useEffect(() => {
94
- if (htmlFor) {
95
- const element = document.getElementById(htmlFor);
96
- const label = ref.current;
97
- if (label && element) {
98
- const getAriaLabel = () => element.getAttribute("aria-labelledby");
99
- const ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
100
- element.setAttribute("aria-labelledby", ariaLabelledBy);
101
- controlRef.current = element;
102
- return () => {
103
- var _a;
104
- if (!id)
105
- return;
106
- const ariaLabelledBy2 = (_a = getAriaLabel()) == null ? void 0 : _a.replace(id, "");
107
- if (ariaLabelledBy2 === "") {
108
- element.removeAttribute("aria-labelledby");
109
- } else if (ariaLabelledBy2) {
110
- element.setAttribute("aria-labelledby", ariaLabelledBy2);
111
- }
112
- };
113
- }
67
+ 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;
68
+ return import_web.isWeb && React.useEffect(() => {
69
+ if (htmlFor) {
70
+ const element = document.getElementById(htmlFor);
71
+ if (ref.current && element) {
72
+ const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
73
+ return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
74
+ if (!id)
75
+ return;
76
+ const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
77
+ ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
78
+ };
114
79
  }
115
- }, [id, htmlFor]);
116
- }
117
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelProvider, { id, controlRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
80
+ }
81
+ }, [id, htmlFor]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelProvider, { id, controlRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
118
82
  LabelFrame,
119
83
  {
120
84
  id,
@@ -122,31 +86,18 @@ const LabelComponent = React.forwardRef(
122
86
  ...labelProps,
123
87
  ref: composedRefs,
124
88
  onMouseDown: (event) => {
125
- var _a;
126
- (_a = props.onMouseDown) == null ? void 0 : _a.call(props, event);
127
- if (!event.defaultPrevented && event.detail > 1) {
128
- event.preventDefault();
129
- }
89
+ props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
130
90
  },
131
91
  onPress: (event) => {
132
- var _a;
133
- (_a = props.onPress) == null ? void 0 : _a.call(props, event);
134
- if (import_web.isWeb) {
92
+ if (props.onPress?.(event), import_web.isWeb) {
135
93
  if (htmlFor || !controlRef.current || event.defaultPrevented)
136
94
  return;
137
95
  const isClickingControl = controlRef.current.contains(
138
96
  event.target
139
- );
140
- const isUserClick = event.isTrusted === true;
141
- if (!isClickingControl && isUserClick) {
142
- controlRef.current.click();
143
- controlRef.current.focus();
144
- }
145
- } else {
146
- if (props.htmlFor) {
147
- (0, import_focusable.focusFocusable)(props.htmlFor);
148
- }
149
- }
97
+ ), isUserClick = event.isTrusted === !0;
98
+ !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
99
+ } else
100
+ props.htmlFor && (0, import_focusable.focusFocusable)(props.htmlFor);
150
101
  }
151
102
  }
152
103
  ) });
@@ -154,18 +105,13 @@ const LabelComponent = React.forwardRef(
154
105
  );
155
106
  LabelComponent.displayName = NAME;
156
107
  const Label = LabelFrame.extractable((0, import_web.themeable)(LabelComponent), {
157
- neverFlatten: true
158
- });
159
- const useLabelContext = (element) => {
160
- const context = useLabelContextImpl("LabelConsumer");
161
- const { controlRef } = context;
162
- React.useEffect(() => {
163
- if (element)
164
- controlRef.current = element;
165
- }, [element, controlRef]);
166
- return context.id;
108
+ neverFlatten: !0
109
+ }), useLabelContext = (element) => {
110
+ const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
111
+ return React.useEffect(() => {
112
+ element && (controlRef.current = element);
113
+ }, [element, controlRef]), context.id;
167
114
  };
168
- const Root = Label;
169
115
  // Annotate the CommonJS export names for ESM import in node:
170
116
  0 && (module.exports = {
171
117
  Label,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Label.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ariaLabelledBy"]
6
6
  }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var Label_exports = {};
25
+ __export(Label_exports, {
26
+ Label: () => Label,
27
+ LabelFrame: () => LabelFrame,
28
+ useLabelContext: () => useLabelContext
29
+ });
30
+ module.exports = __toCommonJS(Label_exports);
31
+ var import_compose_refs = require("@tamagui/compose-refs"), import_create_context = require("@tamagui/create-context"), import_focusable = require("@tamagui/focusable"), import_get_button_sized = require("@tamagui/get-button-sized"), import_get_font_sized = require("@tamagui/get-font-sized"), import_text = require("@tamagui/text"), import_web = require("@tamagui/web"), React = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
32
+ const NAME = "Label", [LabelProvider, useLabelContextImpl] = (0, import_create_context.createContext)(NAME, {
33
+ id: void 0,
34
+ controlRef: { current: null }
35
+ }), LabelFrame = (0, import_web.styled)(import_text.SizableText, {
36
+ name: "Label",
37
+ tag: "label",
38
+ variants: {
39
+ unstyled: {
40
+ false: {
41
+ size: "$true",
42
+ color: "$color",
43
+ backgroundColor: "transparent",
44
+ display: "flex",
45
+ alignItems: "center",
46
+ userSelect: "none",
47
+ cursor: "default",
48
+ pressStyle: {
49
+ color: "$colorPress"
50
+ }
51
+ }
52
+ },
53
+ size: {
54
+ "...size": (val, extras) => {
55
+ const buttonHeight = (0, import_get_button_sized.getButtonSized)(val, extras)?.height;
56
+ return {
57
+ ...(0, import_get_font_sized.getFontSized)(val, extras),
58
+ lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0
59
+ };
60
+ }
61
+ }
62
+ },
63
+ defaultVariants: {
64
+ unstyled: !1
65
+ }
66
+ }), LabelComponent = React.forwardRef(
67
+ (props, forwardedRef) => {
68
+ 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;
69
+ return import_web.isWeb && React.useEffect(() => {
70
+ if (htmlFor) {
71
+ const element = document.getElementById(htmlFor);
72
+ if (ref.current && element) {
73
+ const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
74
+ return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
75
+ if (!id)
76
+ return;
77
+ const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
78
+ ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
79
+ };
80
+ }
81
+ }
82
+ }, [id, htmlFor]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelProvider, { id, controlRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
83
+ LabelFrame,
84
+ {
85
+ id,
86
+ htmlFor,
87
+ ...labelProps,
88
+ ref: composedRefs,
89
+ onMouseDown: (event) => {
90
+ props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
91
+ },
92
+ onPress: (event) => {
93
+ if (props.onPress?.(event), import_web.isWeb) {
94
+ if (htmlFor || !controlRef.current || event.defaultPrevented)
95
+ return;
96
+ const isClickingControl = controlRef.current.contains(
97
+ event.target
98
+ ), isUserClick = event.isTrusted === !0;
99
+ !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
100
+ } else
101
+ props.htmlFor && (0, import_focusable.focusFocusable)(props.htmlFor);
102
+ }
103
+ }
104
+ ) });
105
+ }
106
+ );
107
+ LabelComponent.displayName = NAME;
108
+ const Label = LabelFrame.extractable((0, import_web.themeable)(LabelComponent), {
109
+ neverFlatten: !0
110
+ }), useLabelContext = (element) => {
111
+ const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
112
+ return React.useEffect(() => {
113
+ element && (controlRef.current = element);
114
+ }, [element, controlRef]), context.id;
115
+ };
116
+ // Annotate the CommonJS export names for ESM import in node:
117
+ 0 && (module.exports = {
118
+ Label,
119
+ LabelFrame,
120
+ useLabelContext
121
+ });
122
+ //# 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
+ }
package/dist/cjs/index.js CHANGED
@@ -1,18 +1,14 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
6
+ if (from && typeof from == "object" || typeof from == "function")
8
7
  for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
8
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
9
  return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
10
+ }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
12
  var src_exports = {};
17
13
  module.exports = __toCommonJS(src_exports);
18
14
  __reExport(src_exports, require("./Label"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,oBAAd;",
4
+ "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,oBAAd;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from == "object" || typeof from == "function")
8
+ for (let key of __getOwnPropNames(from))
9
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ return to;
11
+ }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
+ var src_exports = {};
14
+ module.exports = __toCommonJS(src_exports);
15
+ __reExport(src_exports, require("./Label"), module.exports);
16
+ // Annotate the CommonJS export names for ESM import in node:
17
+ 0 && (module.exports = {
18
+ ...require("./Label")
19
+ });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,oBAAd;",
5
+ "names": []
6
+ }
package/dist/esm/Label.js CHANGED
@@ -1,4 +1,3 @@
1
- import { jsx } from "react/jsx-runtime";
2
1
  import { useComposedRefs } from "@tamagui/compose-refs";
3
2
  import { createContext } from "@tamagui/create-context";
4
3
  import { focusFocusable } from "@tamagui/focusable";
@@ -11,12 +10,11 @@ import {
11
10
  themeable
12
11
  } from "@tamagui/web";
13
12
  import * as React from "react";
14
- const NAME = "Label";
15
- const [LabelProvider, useLabelContextImpl] = createContext(NAME, {
13
+ import { jsx } from "react/jsx-runtime";
14
+ const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME, {
16
15
  id: void 0,
17
16
  controlRef: { current: null }
18
- });
19
- const LabelFrame = styled(SizableText, {
17
+ }), LabelFrame = styled(SizableText, {
20
18
  name: "Label",
21
19
  tag: "label",
22
20
  variants: {
@@ -36,54 +34,34 @@ const LabelFrame = styled(SizableText, {
36
34
  },
37
35
  size: {
38
36
  "...size": (val, extras) => {
39
- const buttonStyle = getButtonSized(val, extras);
40
- const buttonHeight = buttonStyle == null ? void 0 : buttonStyle.height;
41
- const fontStyle = getFontSized(val, extras);
37
+ const buttonHeight = getButtonSized(val, extras)?.height;
42
38
  return {
43
- ...fontStyle,
39
+ ...getFontSized(val, extras),
44
40
  lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0
45
41
  };
46
42
  }
47
43
  }
48
44
  },
49
45
  defaultVariants: {
50
- unstyled: false
46
+ unstyled: !1
51
47
  }
52
- });
53
- const LabelComponent = React.forwardRef(
48
+ }), LabelComponent = React.forwardRef(
54
49
  (props, forwardedRef) => {
55
- const { htmlFor, id: idProp, ...labelProps } = props;
56
- const controlRef = React.useRef(null);
57
- const ref = React.useRef(null);
58
- const composedRefs = useComposedRefs(forwardedRef, ref);
59
- const backupId = React.useId();
60
- const id = idProp ?? backupId;
61
- if (isWeb) {
62
- React.useEffect(() => {
63
- if (htmlFor) {
64
- const element = document.getElementById(htmlFor);
65
- const label = ref.current;
66
- if (label && element) {
67
- const getAriaLabel = () => element.getAttribute("aria-labelledby");
68
- const ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
69
- element.setAttribute("aria-labelledby", ariaLabelledBy);
70
- controlRef.current = element;
71
- return () => {
72
- var _a;
73
- if (!id)
74
- return;
75
- const ariaLabelledBy2 = (_a = getAriaLabel()) == null ? void 0 : _a.replace(id, "");
76
- if (ariaLabelledBy2 === "") {
77
- element.removeAttribute("aria-labelledby");
78
- } else if (ariaLabelledBy2) {
79
- element.setAttribute("aria-labelledby", ariaLabelledBy2);
80
- }
81
- };
82
- }
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
+ };
83
62
  }
84
- }, [id, htmlFor]);
85
- }
86
- return /* @__PURE__ */ jsx(LabelProvider, { id, controlRef, children: /* @__PURE__ */ jsx(
63
+ }
64
+ }, [id, htmlFor]), /* @__PURE__ */ jsx(LabelProvider, { id, controlRef, children: /* @__PURE__ */ jsx(
87
65
  LabelFrame,
88
66
  {
89
67
  id,
@@ -91,31 +69,18 @@ const LabelComponent = React.forwardRef(
91
69
  ...labelProps,
92
70
  ref: composedRefs,
93
71
  onMouseDown: (event) => {
94
- var _a;
95
- (_a = props.onMouseDown) == null ? void 0 : _a.call(props, event);
96
- if (!event.defaultPrevented && event.detail > 1) {
97
- event.preventDefault();
98
- }
72
+ props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
99
73
  },
100
74
  onPress: (event) => {
101
- var _a;
102
- (_a = props.onPress) == null ? void 0 : _a.call(props, event);
103
- if (isWeb) {
75
+ if (props.onPress?.(event), isWeb) {
104
76
  if (htmlFor || !controlRef.current || event.defaultPrevented)
105
77
  return;
106
78
  const isClickingControl = controlRef.current.contains(
107
79
  event.target
108
- );
109
- const isUserClick = event.isTrusted === true;
110
- if (!isClickingControl && isUserClick) {
111
- controlRef.current.click();
112
- controlRef.current.focus();
113
- }
114
- } else {
115
- if (props.htmlFor) {
116
- focusFocusable(props.htmlFor);
117
- }
118
- }
80
+ ), isUserClick = event.isTrusted === !0;
81
+ !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
82
+ } else
83
+ props.htmlFor && focusFocusable(props.htmlFor);
119
84
  }
120
85
  }
121
86
  ) });
@@ -123,18 +88,13 @@ const LabelComponent = React.forwardRef(
123
88
  );
124
89
  LabelComponent.displayName = NAME;
125
90
  const Label = LabelFrame.extractable(themeable(LabelComponent), {
126
- neverFlatten: true
127
- });
128
- const useLabelContext = (element) => {
129
- const context = useLabelContextImpl("LabelConsumer");
130
- const { controlRef } = context;
131
- React.useEffect(() => {
132
- if (element)
133
- controlRef.current = element;
134
- }, [element, controlRef]);
135
- return context.id;
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;
136
97
  };
137
- const Root = Label;
138
98
  export {
139
99
  Label,
140
100
  LabelFrame,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Label.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ariaLabelledBy"]
6
6
  }
package/dist/jsx/Label.js CHANGED
@@ -10,12 +10,10 @@ import {
10
10
  themeable
11
11
  } from "@tamagui/web";
12
12
  import * as React from "react";
13
- const NAME = "Label";
14
- const [LabelProvider, useLabelContextImpl] = createContext(NAME, {
13
+ const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME, {
15
14
  id: void 0,
16
15
  controlRef: { current: null }
17
- });
18
- const LabelFrame = styled(SizableText, {
16
+ }), LabelFrame = styled(SizableText, {
19
17
  name: "Label",
20
18
  tag: "label",
21
19
  variants: {
@@ -35,99 +33,64 @@ const LabelFrame = styled(SizableText, {
35
33
  },
36
34
  size: {
37
35
  "...size": (val, extras) => {
38
- const buttonStyle = getButtonSized(val, extras);
39
- const buttonHeight = buttonStyle?.height;
40
- const fontStyle = getFontSized(val, extras);
36
+ const buttonHeight = getButtonSized(val, extras)?.height;
41
37
  return {
42
- ...fontStyle,
38
+ ...getFontSized(val, extras),
43
39
  lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0
44
40
  };
45
41
  }
46
42
  }
47
43
  },
48
44
  defaultVariants: {
49
- unstyled: false
45
+ unstyled: !1
50
46
  }
51
- });
52
- const LabelComponent = React.forwardRef(
47
+ }), LabelComponent = React.forwardRef(
53
48
  (props, forwardedRef) => {
54
- const { htmlFor, id: idProp, ...labelProps } = props;
55
- const controlRef = React.useRef(null);
56
- const ref = React.useRef(null);
57
- const composedRefs = useComposedRefs(forwardedRef, ref);
58
- const backupId = React.useId();
59
- const id = idProp ?? backupId;
60
- if (isWeb) {
61
- React.useEffect(() => {
62
- if (htmlFor) {
63
- const element = document.getElementById(htmlFor);
64
- const label = ref.current;
65
- if (label && element) {
66
- const getAriaLabel = () => element.getAttribute("aria-labelledby");
67
- const ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
68
- element.setAttribute("aria-labelledby", ariaLabelledBy);
69
- controlRef.current = element;
70
- return () => {
71
- if (!id)
72
- return;
73
- const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
74
- if (ariaLabelledBy2 === "") {
75
- element.removeAttribute("aria-labelledby");
76
- } else if (ariaLabelledBy2) {
77
- element.setAttribute("aria-labelledby", ariaLabelledBy2);
78
- }
79
- };
80
- }
49
+ const { htmlFor, id: idProp, ...labelProps } = props, controlRef = React.useRef(null), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React.useId(), id = idProp ?? backupId;
50
+ return isWeb && React.useEffect(() => {
51
+ if (htmlFor) {
52
+ const element = document.getElementById(htmlFor);
53
+ if (ref.current && element) {
54
+ const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
55
+ return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
56
+ if (!id)
57
+ return;
58
+ const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
59
+ ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
60
+ };
81
61
  }
82
- }, [id, htmlFor]);
83
- }
84
- return <LabelProvider id={id} controlRef={controlRef}><LabelFrame
62
+ }
63
+ }, [id, htmlFor]), <LabelProvider id={id} controlRef={controlRef}><LabelFrame
85
64
  id={id}
86
65
  htmlFor={htmlFor}
87
66
  {...labelProps}
88
67
  ref={composedRefs}
89
68
  onMouseDown={(event) => {
90
- props.onMouseDown?.(event);
91
- if (!event.defaultPrevented && event.detail > 1) {
92
- event.preventDefault();
93
- }
69
+ props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
94
70
  }}
95
71
  onPress={(event) => {
96
- props.onPress?.(event);
97
- if (isWeb) {
72
+ if (props.onPress?.(event), isWeb) {
98
73
  if (htmlFor || !controlRef.current || event.defaultPrevented)
99
74
  return;
100
75
  const isClickingControl = controlRef.current.contains(
101
76
  event.target
102
- );
103
- const isUserClick = event.isTrusted === true;
104
- if (!isClickingControl && isUserClick) {
105
- controlRef.current.click();
106
- controlRef.current.focus();
107
- }
108
- } else {
109
- if (props.htmlFor) {
110
- focusFocusable(props.htmlFor);
111
- }
112
- }
77
+ ), isUserClick = event.isTrusted === !0;
78
+ !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
79
+ } else
80
+ props.htmlFor && focusFocusable(props.htmlFor);
113
81
  }}
114
82
  /></LabelProvider>;
115
83
  }
116
84
  );
117
85
  LabelComponent.displayName = NAME;
118
86
  const Label = LabelFrame.extractable(themeable(LabelComponent), {
119
- neverFlatten: true
120
- });
121
- const useLabelContext = (element) => {
122
- const context = useLabelContextImpl("LabelConsumer");
123
- const { controlRef } = context;
124
- React.useEffect(() => {
125
- if (element)
126
- controlRef.current = element;
127
- }, [element, controlRef]);
128
- return context.id;
87
+ neverFlatten: !0
88
+ }), useLabelContext = (element) => {
89
+ const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
90
+ return React.useEffect(() => {
91
+ element && (controlRef.current = element);
92
+ }, [element, controlRef]), context.id;
129
93
  };
130
- const Root = Label;
131
94
  export {
132
95
  Label,
133
96
  LabelFrame,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Label.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ariaLabelledBy"]
6
6
  }
@@ -0,0 +1,99 @@
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
+ const NAME = "Label", [LabelProvider, useLabelContextImpl] = createContext(NAME, {
14
+ id: void 0,
15
+ controlRef: { current: null }
16
+ }), LabelFrame = styled(SizableText, {
17
+ name: "Label",
18
+ tag: "label",
19
+ variants: {
20
+ unstyled: {
21
+ false: {
22
+ size: "$true",
23
+ color: "$color",
24
+ backgroundColor: "transparent",
25
+ display: "flex",
26
+ alignItems: "center",
27
+ userSelect: "none",
28
+ cursor: "default",
29
+ pressStyle: {
30
+ color: "$colorPress"
31
+ }
32
+ }
33
+ },
34
+ size: {
35
+ "...size": (val, extras) => {
36
+ const buttonHeight = getButtonSized(val, extras)?.height;
37
+ return {
38
+ ...getFontSized(val, extras),
39
+ lineHeight: buttonHeight ? extras.tokens.size[buttonHeight] : void 0
40
+ };
41
+ }
42
+ }
43
+ },
44
+ defaultVariants: {
45
+ unstyled: !1
46
+ }
47
+ }), LabelComponent = React.forwardRef(
48
+ (props, forwardedRef) => {
49
+ const { htmlFor, id: idProp, ...labelProps } = props, controlRef = React.useRef(null), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), backupId = React.useId(), id = idProp ?? backupId;
50
+ return isWeb && React.useEffect(() => {
51
+ if (htmlFor) {
52
+ const element = document.getElementById(htmlFor);
53
+ if (ref.current && element) {
54
+ const getAriaLabel = () => element.getAttribute("aria-labelledby"), ariaLabelledBy = [id, getAriaLabel()].filter(Boolean).join(" ");
55
+ return element.setAttribute("aria-labelledby", ariaLabelledBy), controlRef.current = element, () => {
56
+ if (!id)
57
+ return;
58
+ const ariaLabelledBy2 = getAriaLabel()?.replace(id, "");
59
+ ariaLabelledBy2 === "" ? element.removeAttribute("aria-labelledby") : ariaLabelledBy2 && element.setAttribute("aria-labelledby", ariaLabelledBy2);
60
+ };
61
+ }
62
+ }
63
+ }, [id, htmlFor]), <LabelProvider id={id} controlRef={controlRef}><LabelFrame
64
+ id={id}
65
+ htmlFor={htmlFor}
66
+ {...labelProps}
67
+ ref={composedRefs}
68
+ onMouseDown={(event) => {
69
+ props.onMouseDown?.(event), !event.defaultPrevented && event.detail > 1 && event.preventDefault();
70
+ }}
71
+ onPress={(event) => {
72
+ if (props.onPress?.(event), isWeb) {
73
+ if (htmlFor || !controlRef.current || event.defaultPrevented)
74
+ return;
75
+ const isClickingControl = controlRef.current.contains(
76
+ event.target
77
+ ), isUserClick = event.isTrusted === !0;
78
+ !isClickingControl && isUserClick && (controlRef.current.click(), controlRef.current.focus());
79
+ } else
80
+ props.htmlFor && focusFocusable(props.htmlFor);
81
+ }}
82
+ /></LabelProvider>;
83
+ }
84
+ );
85
+ LabelComponent.displayName = NAME;
86
+ const Label = LabelFrame.extractable(themeable(LabelComponent), {
87
+ neverFlatten: !0
88
+ }), useLabelContext = (element) => {
89
+ const context = useLabelContextImpl("LabelConsumer"), { controlRef } = context;
90
+ return React.useEffect(() => {
91
+ element && (controlRef.current = element);
92
+ }, [element, controlRef]), context.id;
93
+ };
94
+ export {
95
+ Label,
96
+ LabelFrame,
97
+ useLabelContext
98
+ };
99
+ //# 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.61.3",
3
+ "version": "1.62.1",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -31,20 +31,20 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/compose-refs": "1.61.3",
35
- "@tamagui/create-context": "1.61.3",
36
- "@tamagui/focusable": "1.61.3",
37
- "@tamagui/get-button-sized": "1.61.3",
38
- "@tamagui/get-font-sized": "1.61.3",
39
- "@tamagui/text": "1.61.3",
40
- "@tamagui/web": "1.61.3"
34
+ "@tamagui/compose-refs": "1.62.1",
35
+ "@tamagui/create-context": "1.62.1",
36
+ "@tamagui/focusable": "1.62.1",
37
+ "@tamagui/get-button-sized": "1.62.1",
38
+ "@tamagui/get-font-sized": "1.62.1",
39
+ "@tamagui/text": "1.62.1",
40
+ "@tamagui/web": "1.62.1"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "*",
44
44
  "react-native": "*"
45
45
  },
46
46
  "devDependencies": {
47
- "@tamagui/build": "1.61.3",
47
+ "@tamagui/build": "1.62.1",
48
48
  "react": "^18.2.0",
49
49
  "react-native": "^0.72.1"
50
50
  },