panelui-native 0.1.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +251 -0
  2. package/lib/module/components/alert/index.js +107 -24
  3. package/lib/module/components/alert/index.js.map +1 -1
  4. package/lib/module/components/avatar/index.js +1 -1
  5. package/lib/module/components/avatar/index.js.map +1 -1
  6. package/lib/module/components/badge/index.js +3 -3
  7. package/lib/module/components/badge/index.js.map +1 -1
  8. package/lib/module/components/bottom-sheet/index.js +35 -31
  9. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  10. package/lib/module/components/button/index.js +44 -15
  11. package/lib/module/components/button/index.js.map +1 -1
  12. package/lib/module/components/card/index.js +5 -5
  13. package/lib/module/components/card/index.js.map +1 -1
  14. package/lib/module/components/checkbox/index.js +21 -8
  15. package/lib/module/components/checkbox/index.js.map +1 -1
  16. package/lib/module/components/dialog/index.js +21 -17
  17. package/lib/module/components/dialog/index.js.map +1 -1
  18. package/lib/module/components/empty-state/index.js +178 -0
  19. package/lib/module/components/empty-state/index.js.map +1 -0
  20. package/lib/module/components/frame/index.js +100 -0
  21. package/lib/module/components/frame/index.js.map +1 -0
  22. package/lib/module/components/inline-select/index.js +159 -0
  23. package/lib/module/components/inline-select/index.js.map +1 -0
  24. package/lib/module/components/input/index.js +1 -1
  25. package/lib/module/components/input/index.js.map +1 -1
  26. package/lib/module/components/input-group/index.js +132 -0
  27. package/lib/module/components/input-group/index.js.map +1 -0
  28. package/lib/module/components/label/index.js +117 -0
  29. package/lib/module/components/label/index.js.map +1 -0
  30. package/lib/module/components/progress/index.js +138 -0
  31. package/lib/module/components/progress/index.js.map +1 -0
  32. package/lib/module/components/select/index.js +35 -28
  33. package/lib/module/components/select/index.js.map +1 -1
  34. package/lib/module/components/skeleton/index.js +1 -1
  35. package/lib/module/components/skeleton/index.js.map +1 -1
  36. package/lib/module/components/spinner/index.js +1 -1
  37. package/lib/module/components/spinner/index.js.map +1 -1
  38. package/lib/module/components/steps/index.js +354 -0
  39. package/lib/module/components/steps/index.js.map +1 -0
  40. package/lib/module/components/tabs/index.js +9 -3
  41. package/lib/module/components/tabs/index.js.map +1 -1
  42. package/lib/module/components/toast/index.js +479 -0
  43. package/lib/module/components/toast/index.js.map +1 -0
  44. package/lib/module/components/toast/toast-store.js +81 -0
  45. package/lib/module/components/toast/toast-store.js.map +1 -0
  46. package/lib/module/components/typography/index.js +126 -0
  47. package/lib/module/components/typography/index.js.map +1 -0
  48. package/lib/module/icons/index.js +223 -2
  49. package/lib/module/icons/index.js.map +1 -1
  50. package/lib/module/index.js +11 -2
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/providers/panel-ui-provider.js +20 -8
  53. package/lib/module/providers/panel-ui-provider.js.map +1 -1
  54. package/lib/module/theme/use-theme.js +90 -3
  55. package/lib/module/theme/use-theme.js.map +1 -1
  56. package/lib/typescript/src/components/alert/index.d.ts +41 -19
  57. package/lib/typescript/src/components/alert/index.d.ts.map +1 -1
  58. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  59. package/lib/typescript/src/components/button/index.d.ts +39 -0
  60. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  61. package/lib/typescript/src/components/checkbox/index.d.ts +8 -0
  62. package/lib/typescript/src/components/checkbox/index.d.ts.map +1 -1
  63. package/lib/typescript/src/components/dialog/index.d.ts.map +1 -1
  64. package/lib/typescript/src/components/empty-state/index.d.ts +73 -0
  65. package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -0
  66. package/lib/typescript/src/components/frame/index.d.ts +21 -0
  67. package/lib/typescript/src/components/frame/index.d.ts.map +1 -0
  68. package/lib/typescript/src/components/inline-select/index.d.ts +25 -0
  69. package/lib/typescript/src/components/inline-select/index.d.ts.map +1 -0
  70. package/lib/typescript/src/components/input-group/index.d.ts +34 -0
  71. package/lib/typescript/src/components/input-group/index.d.ts.map +1 -0
  72. package/lib/typescript/src/components/label/index.d.ts +28 -0
  73. package/lib/typescript/src/components/label/index.d.ts.map +1 -0
  74. package/lib/typescript/src/components/progress/index.d.ts +132 -0
  75. package/lib/typescript/src/components/progress/index.d.ts.map +1 -0
  76. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/spinner/index.d.ts +2 -2
  78. package/lib/typescript/src/components/spinner/index.d.ts.map +1 -1
  79. package/lib/typescript/src/components/steps/index.d.ts +62 -0
  80. package/lib/typescript/src/components/steps/index.d.ts.map +1 -0
  81. package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
  82. package/lib/typescript/src/components/toast/index.d.ts +176 -0
  83. package/lib/typescript/src/components/toast/index.d.ts.map +1 -0
  84. package/lib/typescript/src/components/toast/toast-store.d.ts +65 -0
  85. package/lib/typescript/src/components/toast/toast-store.d.ts.map +1 -0
  86. package/lib/typescript/src/components/typography/index.d.ts +77 -0
  87. package/lib/typescript/src/components/typography/index.d.ts.map +1 -0
  88. package/lib/typescript/src/icons/index.d.ts +25 -0
  89. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  90. package/lib/typescript/src/index.d.ts +12 -3
  91. package/lib/typescript/src/index.d.ts.map +1 -1
  92. package/lib/typescript/src/providers/panel-ui-provider.d.ts +20 -5
  93. package/lib/typescript/src/providers/panel-ui-provider.d.ts.map +1 -1
  94. package/lib/typescript/src/theme/use-theme.d.ts +64 -4
  95. package/lib/typescript/src/theme/use-theme.d.ts.map +1 -1
  96. package/package.json +28 -5
  97. package/src/components/alert/index.tsx +104 -28
  98. package/src/components/avatar/index.tsx +1 -1
  99. package/src/components/badge/index.tsx +3 -3
  100. package/src/components/bottom-sheet/index.tsx +8 -3
  101. package/src/components/button/index.tsx +47 -7
  102. package/src/components/card/index.tsx +5 -5
  103. package/src/components/checkbox/index.tsx +18 -4
  104. package/src/components/dialog/index.tsx +10 -5
  105. package/src/components/empty-state/index.tsx +136 -0
  106. package/src/components/frame/index.tsx +104 -0
  107. package/src/components/inline-select/index.tsx +185 -0
  108. package/src/components/input/index.tsx +1 -1
  109. package/src/components/input-group/index.tsx +164 -0
  110. package/src/components/label/index.tsx +128 -0
  111. package/src/components/progress/index.tsx +147 -0
  112. package/src/components/select/index.tsx +30 -23
  113. package/src/components/skeleton/index.tsx +1 -1
  114. package/src/components/spinner/index.tsx +1 -1
  115. package/src/components/steps/index.tsx +343 -0
  116. package/src/components/tabs/index.tsx +10 -2
  117. package/src/components/toast/index.tsx +447 -0
  118. package/src/components/toast/toast-store.ts +120 -0
  119. package/src/components/typography/index.tsx +121 -0
  120. package/src/icons/index.tsx +152 -1
  121. package/src/index.ts +82 -3
  122. package/src/providers/panel-ui-provider.tsx +35 -10
  123. package/src/theme/use-theme.ts +119 -4
  124. package/theme.css +446 -108
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","View","Text","cn","jsx","_jsx","FrameRoot","className","props","ref","displayName","FrameHeader","FrameTitle","size","weight","FrameDescription","muted","FramePanel","FrameRow","divided","FrameFooter","Frame","Object","assign","Header","Title","Description","Panel","Row","Footer"],"sourceRoot":"../../../../src","sources":["components/frame/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ import { Children, createContext, isValidElement, useCallback, useContext, useMemo, useState } from 'react';
4
+ import { Pressable, View } from 'react-native';
5
+ import Animated, { FadeIn, FadeOut, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
6
+ import { tv } from 'tailwind-variants';
7
+ import { useCSSVariable } from 'uniwind';
8
+ import { CheckIcon, ChevronDownIcon } from "../../icons/index.js";
9
+ import { Text } from "../../primitives/text.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const inlineSelectVariants = tv({
12
+ slots: {
13
+ trigger: 'w-full flex-row items-center justify-between gap-3 rounded-2xl border border-input bg-background px-4 py-3.5',
14
+ triggerLabel: 'flex-1 text-base font-medium text-foreground',
15
+ placeholder: 'flex-1 text-base text-muted-foreground',
16
+ list: 'mt-2 overflow-hidden rounded-2xl border border-border bg-popover p-2 shadow-sm',
17
+ item: 'flex-row items-center gap-2 rounded-xl px-3 py-3',
18
+ itemLabel: 'flex-1 text-base font-medium text-foreground',
19
+ itemIndicator: 'h-5 w-5 items-center justify-center'
20
+ },
21
+ variants: {
22
+ selected: {
23
+ true: {
24
+ item: 'bg-accent'
25
+ }
26
+ },
27
+ disabled: {
28
+ true: {
29
+ trigger: 'opacity-[0.64]'
30
+ }
31
+ }
32
+ }
33
+ });
34
+ const InlineSelectContext = /*#__PURE__*/createContext(null);
35
+ /** Option row. Rendered inline beneath the trigger — no overlay involved. */
36
+ function InlineSelectItem({
37
+ value,
38
+ label
39
+ }) {
40
+ const context = useContext(InlineSelectContext);
41
+ if (!context) {
42
+ throw new Error('InlineSelect.Item must be used within an <InlineSelect>');
43
+ }
44
+ const selected = context.value === value;
45
+ const {
46
+ item,
47
+ itemLabel,
48
+ itemIndicator
49
+ } = inlineSelectVariants({
50
+ selected
51
+ });
52
+ const checkColor = useCSSVariable('--color-muted-foreground');
53
+ return /*#__PURE__*/_jsxs(Pressable, {
54
+ accessibilityRole: "menuitem",
55
+ accessibilityState: {
56
+ selected
57
+ },
58
+ onPress: () => context.onSelect(value),
59
+ className: item(),
60
+ children: [/*#__PURE__*/_jsx(Text, {
61
+ className: itemLabel(),
62
+ children: label
63
+ }), /*#__PURE__*/_jsx(View, {
64
+ className: itemIndicator(),
65
+ children: selected ? /*#__PURE__*/_jsx(CheckIcon, {
66
+ size: 16,
67
+ color: typeof checkColor === 'string' ? checkColor : '#737373'
68
+ }) : null
69
+ })]
70
+ });
71
+ }
72
+ /**
73
+ * A select that expands its options inline instead of opening a bottom sheet.
74
+ * Useful inside forms and scroll views where an overlay would be disruptive.
75
+ */
76
+ function InlineSelectRoot({
77
+ className,
78
+ value,
79
+ onValueChange,
80
+ placeholder = 'Select an option',
81
+ disabled,
82
+ children
83
+ }) {
84
+ const [open, setOpen] = useState(false);
85
+ const chevron = useSharedValue(0);
86
+ const selectedLabel = useMemo(() => {
87
+ let label;
88
+ Children.forEach(children, child => {
89
+ if (/*#__PURE__*/isValidElement(child) && child.props.value === value) {
90
+ label = child.props.label;
91
+ }
92
+ });
93
+ return label;
94
+ }, [children, value]);
95
+ const toggle = useCallback(() => {
96
+ setOpen(current => {
97
+ chevron.value = withTiming(current ? 0 : 1, {
98
+ duration: 160
99
+ });
100
+ return !current;
101
+ });
102
+ }, [chevron]);
103
+ const context = useMemo(() => ({
104
+ value,
105
+ onSelect: next => {
106
+ onValueChange(next);
107
+ chevron.value = withTiming(0, {
108
+ duration: 160
109
+ });
110
+ setOpen(false);
111
+ }
112
+ }), [value, onValueChange, chevron]);
113
+ const slots = inlineSelectVariants({
114
+ disabled: !!disabled
115
+ });
116
+ const chevronColor = useCSSVariable('--color-muted-foreground');
117
+ const chevronStyle = useAnimatedStyle(() => ({
118
+ transform: [{
119
+ rotate: `${chevron.value * 180}deg`
120
+ }]
121
+ }));
122
+ return /*#__PURE__*/_jsx(InlineSelectContext.Provider, {
123
+ value: context,
124
+ children: /*#__PURE__*/_jsxs(View, {
125
+ className: className,
126
+ children: [/*#__PURE__*/_jsxs(Pressable, {
127
+ accessibilityRole: "button",
128
+ accessibilityState: {
129
+ disabled: !!disabled,
130
+ expanded: open
131
+ },
132
+ disabled: disabled,
133
+ onPress: toggle,
134
+ className: slots.trigger(),
135
+ children: [selectedLabel ? /*#__PURE__*/_jsx(Text, {
136
+ className: slots.triggerLabel(),
137
+ children: selectedLabel
138
+ }) : /*#__PURE__*/_jsx(Text, {
139
+ className: slots.placeholder(),
140
+ children: placeholder
141
+ }), /*#__PURE__*/_jsx(Animated.View, {
142
+ style: chevronStyle,
143
+ children: /*#__PURE__*/_jsx(ChevronDownIcon, {
144
+ color: typeof chevronColor === 'string' ? chevronColor : '#737373'
145
+ })
146
+ })]
147
+ }), open ? /*#__PURE__*/_jsx(Animated.View, {
148
+ entering: FadeIn.duration(140),
149
+ exiting: FadeOut.duration(120),
150
+ className: slots.list(),
151
+ children: children
152
+ }) : null]
153
+ })
154
+ });
155
+ }
156
+ export const InlineSelect = Object.assign(InlineSelectRoot, {
157
+ Item: InlineSelectItem
158
+ });
159
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","createContext","isValidElement","useCallback","useContext","useMemo","useState","Pressable","View","Animated","FadeIn","FadeOut","useAnimatedStyle","useSharedValue","withTiming","tv","useCSSVariable","CheckIcon","ChevronDownIcon","Text","jsx","_jsx","jsxs","_jsxs","inlineSelectVariants","slots","trigger","triggerLabel","placeholder","list","item","itemLabel","itemIndicator","variants","selected","true","disabled","InlineSelectContext","InlineSelectItem","value","label","context","Error","checkColor","accessibilityRole","accessibilityState","onPress","onSelect","className","children","size","color","InlineSelectRoot","onValueChange","open","setOpen","chevron","selectedLabel","forEach","child","props","toggle","current","duration","next","chevronColor","chevronStyle","transform","rotate","Provider","expanded","style","entering","exiting","InlineSelect","Object","assign","Item"],"sourceRoot":"../../../../src","sources":["components/inline-select/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -44,7 +44,7 @@ export const Input = /*#__PURE__*/forwardRef(({
44
44
  ...props
45
45
  }, ref) => {
46
46
  const [focused, setFocused] = useState(false);
47
- const placeholderColor = useCSSVariable('--muted-foreground');
47
+ const placeholderColor = useCSSVariable('--color-muted-foreground');
48
48
  const slots = inputVariants({
49
49
  focused,
50
50
  invalid: !!errorMessage,
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useState","TextInput","View","tv","useCSSVariable","Text","jsx","_jsx","jsxs","_jsxs","inputVariants","slots","container","field","label","description","error","variants","focused","true","invalid","disabled","Input","className","containerClassName","errorMessage","onFocus","onBlur","props","ref","setFocused","placeholderColor","handleFocus","event","handleBlur","children","editable","accessibilityLabel","accessibilityState","placeholderTextColor","undefined","displayName"],"sourceRoot":"../../../../src","sources":["components/input/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useState","TextInput","View","tv","useCSSVariable","Text","jsx","_jsx","jsxs","_jsxs","inputVariants","slots","container","field","label","description","error","variants","focused","true","invalid","disabled","Input","className","containerClassName","errorMessage","onFocus","onBlur","props","ref","setFocused","placeholderColor","handleFocus","event","handleBlur","children","editable","accessibilityLabel","accessibilityState","placeholderTextColor","undefined","displayName"],"sourceRoot":"../../../../src","sources":["components/input/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * InputGroup — an Input with leading and/or trailing decorators.
5
+ *
6
+ * Adapted from: heroui-inc/heroui-native src/components/input-group/
7
+ * Prefix and Suffix are absolutely positioned and their measured widths become
8
+ * padding on the Input, so text never runs underneath a decorator regardless
9
+ * of how wide that decorator turns out to be.
10
+ */
11
+ import { createContext, forwardRef, useCallback, useContext, useMemo, useState } from 'react';
12
+ import { View } from 'react-native';
13
+ import { tv } from 'tailwind-variants';
14
+ import { Input } from "../input/index.js";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ const inputGroupVariants = tv({
17
+ slots: {
18
+ root: 'w-full',
19
+ prefix: 'absolute bottom-0 left-0 top-0 z-10 flex-row items-center justify-center gap-2 px-3',
20
+ suffix: 'absolute bottom-0 right-0 top-0 z-10 flex-row items-center justify-center gap-2 px-3'
21
+ },
22
+ variants: {
23
+ isDisabled: {
24
+ true: {
25
+ prefix: 'opacity-[0.64]',
26
+ suffix: 'opacity-[0.64]'
27
+ }
28
+ }
29
+ }
30
+ });
31
+ const InputGroupContext = /*#__PURE__*/createContext(null);
32
+ function useInputGroup() {
33
+ return useContext(InputGroupContext);
34
+ }
35
+ const InputGroupRoot = /*#__PURE__*/forwardRef(({
36
+ className,
37
+ isDisabled = false,
38
+ children,
39
+ ...props
40
+ }, ref) => {
41
+ const {
42
+ root
43
+ } = inputGroupVariants();
44
+ const [prefixWidth, setPrefixWidth] = useState(0);
45
+ const [suffixWidth, setSuffixWidth] = useState(0);
46
+ const value = useMemo(() => ({
47
+ isDisabled,
48
+ prefixWidth,
49
+ suffixWidth,
50
+ setPrefixWidth,
51
+ setSuffixWidth
52
+ }), [isDisabled, prefixWidth, suffixWidth]);
53
+ return /*#__PURE__*/_jsx(InputGroupContext.Provider, {
54
+ value: value,
55
+ children: /*#__PURE__*/_jsx(View, {
56
+ ref: ref,
57
+ className: root({
58
+ className
59
+ }),
60
+ ...props,
61
+ children: children
62
+ })
63
+ });
64
+ });
65
+ InputGroupRoot.displayName = 'InputGroup';
66
+ /** Builds Prefix/Suffix, which differ only in which side they measure. */
67
+ function createDecorator(side) {
68
+ const Decorator = /*#__PURE__*/forwardRef(({
69
+ className,
70
+ isDecorative = false,
71
+ onLayout,
72
+ children,
73
+ ...props
74
+ }, ref) => {
75
+ const group = useInputGroup();
76
+ const slots = inputGroupVariants({
77
+ isDisabled: group?.isDisabled ?? false
78
+ });
79
+ const setWidth = side === 'prefix' ? group?.setPrefixWidth : group?.setSuffixWidth;
80
+ const handleLayout = useCallback(event => {
81
+ setWidth?.(event.nativeEvent.layout.width);
82
+ onLayout?.(event);
83
+ }, [setWidth, onLayout]);
84
+ return /*#__PURE__*/_jsx(View, {
85
+ ref: ref,
86
+ onLayout: handleLayout,
87
+ pointerEvents: isDecorative ? 'none' : 'auto',
88
+ accessibilityElementsHidden: isDecorative,
89
+ importantForAccessibility: isDecorative ? 'no-hide-descendants' : 'auto',
90
+ className: slots[side]({
91
+ className
92
+ }),
93
+ ...props,
94
+ children: children
95
+ });
96
+ });
97
+ Decorator.displayName = side === 'prefix' ? 'InputGroup.Prefix' : 'InputGroup.Suffix';
98
+ return Decorator;
99
+ }
100
+ const InputGroupPrefix = createDecorator('prefix');
101
+ const InputGroupSuffix = createDecorator('suffix');
102
+ /**
103
+ * The Input itself. Receives left/right padding matching the measured
104
+ * decorator widths, so its text always clears them.
105
+ */
106
+ const InputGroupInput = /*#__PURE__*/forwardRef(({
107
+ style,
108
+ disabled,
109
+ ...props
110
+ }, ref) => {
111
+ const group = useInputGroup();
112
+ return /*#__PURE__*/_jsx(Input, {
113
+ ref: ref,
114
+ disabled: disabled ?? group?.isDisabled,
115
+ style: [
116
+ // Only override padding on the side that actually has a decorator —
117
+ // a 0 here would wipe out the field's default horizontal padding.
118
+ group?.prefixWidth ? {
119
+ paddingLeft: group.prefixWidth
120
+ } : null, group?.suffixWidth ? {
121
+ paddingRight: group.suffixWidth
122
+ } : null, style],
123
+ ...props
124
+ });
125
+ });
126
+ InputGroupInput.displayName = 'InputGroup.Input';
127
+ export const InputGroup = Object.assign(InputGroupRoot, {
128
+ Prefix: InputGroupPrefix,
129
+ Input: InputGroupInput,
130
+ Suffix: InputGroupSuffix
131
+ });
132
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","forwardRef","useCallback","useContext","useMemo","useState","View","tv","Input","jsx","_jsx","inputGroupVariants","slots","root","prefix","suffix","variants","isDisabled","true","InputGroupContext","useInputGroup","InputGroupRoot","className","children","props","ref","prefixWidth","setPrefixWidth","suffixWidth","setSuffixWidth","value","Provider","displayName","createDecorator","side","Decorator","isDecorative","onLayout","group","setWidth","handleLayout","event","nativeEvent","layout","width","pointerEvents","accessibilityElementsHidden","importantForAccessibility","InputGroupPrefix","InputGroupSuffix","InputGroupInput","style","disabled","paddingLeft","paddingRight","InputGroup","Object","assign","Prefix","Suffix"],"sourceRoot":"../../../../src","sources":["components/input-group/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Label — text that names a form field.
5
+ *
6
+ * Adapted from: heroui-inc/heroui-native src/components/label/ (root +
7
+ * Label.Text anatomy, string children auto-wrapping, the required asterisk,
8
+ * and the isInvalid / isDisabled recolouring).
9
+ */
10
+ import { createContext, forwardRef, useContext, useMemo } from 'react';
11
+ import { View } from 'react-native';
12
+ import { tv } from 'tailwind-variants';
13
+ import { Text } from "../../primitives/text.js";
14
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
15
+ const labelVariants = tv({
16
+ slots: {
17
+ root: 'flex-row items-center gap-1',
18
+ text: 'text-sm font-medium text-foreground',
19
+ asterisk: 'text-sm font-medium text-destructive'
20
+ },
21
+ variants: {
22
+ isDisabled: {
23
+ true: {
24
+ root: 'opacity-[0.64]',
25
+ asterisk: 'text-muted-foreground'
26
+ }
27
+ },
28
+ isInvalid: {
29
+ true: {
30
+ text: 'text-destructive'
31
+ }
32
+ }
33
+ }
34
+ });
35
+ const LabelContext = /*#__PURE__*/createContext({
36
+ isRequired: false,
37
+ isInvalid: false,
38
+ isDisabled: false
39
+ });
40
+ const LabelRoot = /*#__PURE__*/forwardRef(({
41
+ className,
42
+ isRequired = false,
43
+ isInvalid = false,
44
+ isDisabled = false,
45
+ children,
46
+ ...props
47
+ }, ref) => {
48
+ const {
49
+ root
50
+ } = labelVariants({
51
+ isDisabled,
52
+ isInvalid
53
+ });
54
+ const state = useMemo(() => ({
55
+ isRequired,
56
+ isInvalid,
57
+ isDisabled
58
+ }), [isRequired, isInvalid, isDisabled]);
59
+ return /*#__PURE__*/_jsx(LabelContext.Provider, {
60
+ value: state,
61
+ children: /*#__PURE__*/_jsx(View, {
62
+ ref: ref,
63
+ className: root({
64
+ className
65
+ }),
66
+ accessibilityState: {
67
+ disabled: isDisabled
68
+ },
69
+ ...props,
70
+ children: typeof children === 'string' ? /*#__PURE__*/_jsx(LabelText, {
71
+ children: children
72
+ }) : children
73
+ })
74
+ });
75
+ });
76
+ LabelRoot.displayName = 'Label';
77
+ const LabelText = /*#__PURE__*/forwardRef(({
78
+ className,
79
+ asteriskClassName,
80
+ children,
81
+ ...props
82
+ }, ref) => {
83
+ const {
84
+ isRequired,
85
+ isInvalid,
86
+ isDisabled
87
+ } = useContext(LabelContext);
88
+ const {
89
+ text,
90
+ asterisk
91
+ } = labelVariants({
92
+ isDisabled,
93
+ isInvalid
94
+ });
95
+ return /*#__PURE__*/_jsxs(_Fragment, {
96
+ children: [/*#__PURE__*/_jsx(Text, {
97
+ ref: ref,
98
+ className: text({
99
+ className
100
+ }),
101
+ ...props,
102
+ children: children
103
+ }), isRequired ? /*#__PURE__*/_jsx(Text, {
104
+ accessibilityElementsHidden: true,
105
+ importantForAccessibility: "no-hide-descendants",
106
+ className: asterisk({
107
+ className: asteriskClassName
108
+ }),
109
+ children: "*"
110
+ }) : null]
111
+ });
112
+ });
113
+ LabelText.displayName = 'Label.Text';
114
+ export const Label = Object.assign(LabelRoot, {
115
+ Text: LabelText
116
+ });
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","forwardRef","useContext","useMemo","View","tv","Text","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","labelVariants","slots","root","text","asterisk","variants","isDisabled","true","isInvalid","LabelContext","isRequired","LabelRoot","className","children","props","ref","state","Provider","value","accessibilityState","disabled","LabelText","displayName","asteriskClassName","accessibilityElementsHidden","importantForAccessibility","Label","Object","assign"],"sourceRoot":"../../../../src","sources":["components/label/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useEffect } from 'react';
4
+ import { View } from 'react-native';
5
+ import Animated, { Easing, cancelAnimation, interpolate, useAnimatedStyle, useSharedValue, withRepeat, withSpring, withTiming } from 'react-native-reanimated';
6
+ import { tv } from 'tailwind-variants';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const SPRING = {
9
+ damping: 20,
10
+ stiffness: 180,
11
+ mass: 0.6
12
+ };
13
+ /** Fraction of the track covered by the sliding bar in indeterminate mode. */
14
+ const INDETERMINATE_WIDTH = 0.4;
15
+ const progressVariants = tv({
16
+ slots: {
17
+ track: 'w-full overflow-hidden rounded-full',
18
+ indicator: 'h-full rounded-full'
19
+ },
20
+ variants: {
21
+ color: {
22
+ primary: {
23
+ track: 'bg-primary/16',
24
+ indicator: 'bg-primary'
25
+ },
26
+ success: {
27
+ track: 'bg-success/16',
28
+ indicator: 'bg-success'
29
+ },
30
+ warning: {
31
+ track: 'bg-warning/16',
32
+ indicator: 'bg-warning'
33
+ },
34
+ destructive: {
35
+ track: 'bg-destructive/16',
36
+ indicator: 'bg-destructive'
37
+ },
38
+ info: {
39
+ track: 'bg-info/16',
40
+ indicator: 'bg-info'
41
+ }
42
+ },
43
+ size: {
44
+ sm: {
45
+ track: 'h-1.5'
46
+ },
47
+ md: {
48
+ track: 'h-2'
49
+ },
50
+ lg: {
51
+ track: 'h-3'
52
+ }
53
+ }
54
+ },
55
+ defaultVariants: {
56
+ color: 'primary',
57
+ size: 'md'
58
+ }
59
+ });
60
+ function clamp(value) {
61
+ 'worklet';
62
+
63
+ if (value < 0) return 0;
64
+ if (value > 100) return 100;
65
+ return value;
66
+ }
67
+
68
+ /**
69
+ * Determinate or indeterminate progress bar. The fill width (determinate) and
70
+ * the sliding bar (indeterminate) are both driven on the UI thread, so updates
71
+ * never re-render past the value change itself.
72
+ */
73
+ export const Progress = /*#__PURE__*/forwardRef(({
74
+ className,
75
+ indicatorClassName,
76
+ value = 0,
77
+ indeterminate = false,
78
+ color,
79
+ size,
80
+ ...props
81
+ }, ref) => {
82
+ const slots = progressVariants({
83
+ color,
84
+ size
85
+ });
86
+ const trackWidth = useSharedValue(0);
87
+ const progress = useSharedValue(clamp(value) / 100);
88
+ const slide = useSharedValue(0);
89
+ const target = clamp(value) / 100;
90
+ useEffect(() => {
91
+ if (indeterminate) {
92
+ slide.value = withRepeat(withTiming(1, {
93
+ duration: 1100,
94
+ easing: Easing.inOut(Easing.ease)
95
+ }), -1, false);
96
+ return () => cancelAnimation(slide);
97
+ }
98
+ progress.value = withSpring(target, SPRING);
99
+ return undefined;
100
+ }, [indeterminate, target, progress, slide]);
101
+ const onLayout = event => {
102
+ trackWidth.value = event.nativeEvent.layout.width;
103
+ };
104
+ const determinateStyle = useAnimatedStyle(() => ({
105
+ width: trackWidth.value * progress.value
106
+ }));
107
+ const indeterminateStyle = useAnimatedStyle(() => {
108
+ const barWidth = trackWidth.value * INDETERMINATE_WIDTH;
109
+ return {
110
+ width: barWidth,
111
+ transform: [{
112
+ translateX: interpolate(slide.value, [0, 1], [-barWidth, trackWidth.value])
113
+ }]
114
+ };
115
+ });
116
+ return /*#__PURE__*/_jsx(View, {
117
+ ref: ref,
118
+ accessibilityRole: "progressbar",
119
+ accessibilityValue: indeterminate ? undefined : {
120
+ min: 0,
121
+ max: 100,
122
+ now: clamp(value)
123
+ },
124
+ className: slots.track({
125
+ className
126
+ }),
127
+ onLayout: onLayout,
128
+ ...props,
129
+ children: /*#__PURE__*/_jsx(Animated.View, {
130
+ style: indeterminate ? indeterminateStyle : determinateStyle,
131
+ className: slots.indicator({
132
+ className: indicatorClassName
133
+ })
134
+ })
135
+ });
136
+ });
137
+ Progress.displayName = 'Progress';
138
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useEffect","View","Animated","Easing","cancelAnimation","interpolate","useAnimatedStyle","useSharedValue","withRepeat","withSpring","withTiming","tv","jsx","_jsx","SPRING","damping","stiffness","mass","INDETERMINATE_WIDTH","progressVariants","slots","track","indicator","variants","color","primary","success","warning","destructive","info","size","sm","md","lg","defaultVariants","clamp","value","Progress","className","indicatorClassName","indeterminate","props","ref","trackWidth","progress","slide","target","duration","easing","inOut","ease","undefined","onLayout","event","nativeEvent","layout","width","determinateStyle","indeterminateStyle","barWidth","transform","translateX","accessibilityRole","accessibilityValue","min","max","now","children","style","displayName"],"sourceRoot":"../../../../src","sources":["components/progress/index.tsx"],"mappings":"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","ignoreList":[]}