@multiplatform.one/components 6.4.3 → 6.7.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.
- package/dist/cjs/Avatar/index.cjs +4 -0
- package/dist/cjs/Avatar/index.native.js +4 -0
- package/dist/cjs/Avatar/index.native.js.map +1 -1
- package/dist/cjs/Badge/index.cjs +3 -0
- package/dist/cjs/Badge/index.native.js +3 -0
- package/dist/cjs/Badge/index.native.js.map +1 -1
- package/dist/cjs/Carousel/index.cjs +28 -15
- package/dist/cjs/Carousel/index.native.js +34 -17
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/DotIndicator/index.cjs +92 -35
- package/dist/cjs/DotIndicator/index.native.js +93 -35
- package/dist/cjs/DotIndicator/index.native.js.map +1 -1
- package/dist/cjs/Pagination.cjs +112 -167
- package/dist/cjs/Pagination.native.js +125 -180
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.cjs +2 -1
- package/dist/cjs/ProgressSteps/index.native.js +2 -1
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
- package/dist/cjs/charts/PieChart.cjs +1 -1
- package/dist/cjs/charts/PieChart.native.js +7 -2
- package/dist/cjs/charts/PieChart.native.js.map +1 -1
- package/dist/cjs/feedback/ConfirmDialog.cjs +1 -3
- package/dist/cjs/feedback/ConfirmDialog.native.js +1 -3
- package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/layouts/ViewSwitcher.cjs +4 -5
- package/dist/cjs/layouts/ViewSwitcher.native.js +13 -7
- package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.cjs +4 -8
- package/dist/cjs/layouts/attachments.native.js +5 -8
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +1 -0
- package/dist/cjs/layouts/page.native.js +4 -1
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/tags.cjs +1 -0
- package/dist/cjs/layouts/tags.native.js +2 -0
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.cjs +0 -6
- package/dist/cjs/layouts/timeline.native.js +0 -6
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/surfaces.cjs +21 -0
- package/dist/cjs/surfaces.native.js +22 -0
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/views/Calendar.cjs +2 -0
- package/dist/cjs/views/Calendar.native.js +8 -2
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Kanban.cjs +22 -13
- package/dist/cjs/views/Kanban.native.js +1 -0
- package/dist/cjs/views/Kanban.native.js.map +1 -1
- package/dist/cjs/views/ReportBuilder.cjs +12 -2
- package/dist/cjs/views/ReportBuilder.native.js +12 -2
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/Avatar/index.mjs +5 -1
- package/dist/esm/Avatar/index.mjs.map +1 -1
- package/dist/esm/Avatar/index.native.js +5 -1
- package/dist/esm/Avatar/index.native.js.map +1 -1
- package/dist/esm/Badge/index.mjs +4 -1
- package/dist/esm/Badge/index.mjs.map +1 -1
- package/dist/esm/Badge/index.native.js +4 -1
- package/dist/esm/Badge/index.native.js.map +1 -1
- package/dist/esm/Carousel/index.mjs +28 -15
- package/dist/esm/Carousel/index.mjs.map +1 -1
- package/dist/esm/Carousel/index.native.js +34 -17
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/DotIndicator/index.mjs +93 -36
- package/dist/esm/DotIndicator/index.mjs.map +1 -1
- package/dist/esm/DotIndicator/index.native.js +94 -36
- package/dist/esm/DotIndicator/index.native.js.map +1 -1
- package/dist/esm/Pagination.mjs +113 -168
- package/dist/esm/Pagination.mjs.map +1 -1
- package/dist/esm/Pagination.native.js +126 -181
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.mjs +2 -1
- package/dist/esm/ProgressSteps/index.mjs.map +1 -1
- package/dist/esm/ProgressSteps/index.native.js +2 -1
- package/dist/esm/ProgressSteps/index.native.js.map +1 -1
- package/dist/esm/charts/PieChart.mjs +1 -1
- package/dist/esm/charts/PieChart.mjs.map +1 -1
- package/dist/esm/charts/PieChart.native.js +7 -2
- package/dist/esm/charts/PieChart.native.js.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.mjs +2 -4
- package/dist/esm/feedback/ConfirmDialog.mjs.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.native.js +2 -4
- package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.mjs +4 -5
- package/dist/esm/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.native.js +13 -7
- package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/esm/layouts/attachments.mjs +4 -8
- package/dist/esm/layouts/attachments.mjs.map +1 -1
- package/dist/esm/layouts/attachments.native.js +5 -8
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +2 -1
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +5 -2
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/tags.mjs +1 -0
- package/dist/esm/layouts/tags.mjs.map +1 -1
- package/dist/esm/layouts/tags.native.js +2 -0
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.mjs +0 -6
- package/dist/esm/layouts/timeline.mjs.map +1 -1
- package/dist/esm/layouts/timeline.native.js +0 -6
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/surfaces.mjs +21 -1
- package/dist/esm/surfaces.mjs.map +1 -1
- package/dist/esm/surfaces.native.js +22 -1
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/views/Calendar.mjs +3 -1
- package/dist/esm/views/Calendar.mjs.map +1 -1
- package/dist/esm/views/Calendar.native.js +9 -3
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Kanban.mjs +23 -14
- package/dist/esm/views/Kanban.mjs.map +1 -1
- package/dist/esm/views/Kanban.native.js +2 -1
- package/dist/esm/views/Kanban.native.js.map +1 -1
- package/dist/esm/views/ReportBuilder.mjs +13 -3
- package/dist/esm/views/ReportBuilder.mjs.map +1 -1
- package/dist/esm/views/ReportBuilder.native.js +13 -3
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/jsx/Avatar/index.mjs +5 -1
- package/dist/jsx/Avatar/index.mjs.map +1 -1
- package/dist/jsx/Avatar/index.native.js +4 -0
- package/dist/jsx/Avatar/index.native.js.map +1 -1
- package/dist/jsx/Badge/index.mjs +4 -1
- package/dist/jsx/Badge/index.mjs.map +1 -1
- package/dist/jsx/Badge/index.native.js +3 -0
- package/dist/jsx/Badge/index.native.js.map +1 -1
- package/dist/jsx/Carousel/index.mjs +28 -15
- package/dist/jsx/Carousel/index.mjs.map +1 -1
- package/dist/jsx/Carousel/index.native.js +34 -17
- package/dist/jsx/Carousel/index.native.js.map +1 -1
- package/dist/jsx/DotIndicator/index.mjs +93 -36
- package/dist/jsx/DotIndicator/index.mjs.map +1 -1
- package/dist/jsx/DotIndicator/index.native.js +93 -35
- package/dist/jsx/DotIndicator/index.native.js.map +1 -1
- package/dist/jsx/Pagination.mjs +113 -168
- package/dist/jsx/Pagination.mjs.map +1 -1
- package/dist/jsx/Pagination.native.js +125 -180
- package/dist/jsx/Pagination.native.js.map +1 -1
- package/dist/jsx/ProgressSteps/index.mjs +2 -1
- package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
- package/dist/jsx/ProgressSteps/index.native.js +2 -1
- package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
- package/dist/jsx/charts/PieChart.mjs +1 -1
- package/dist/jsx/charts/PieChart.mjs.map +1 -1
- package/dist/jsx/charts/PieChart.native.js +7 -2
- package/dist/jsx/charts/PieChart.native.js.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.mjs +2 -4
- package/dist/jsx/feedback/ConfirmDialog.mjs.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.native.js +1 -3
- package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/jsx/index.js +2 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.mjs +4 -5
- package/dist/jsx/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.native.js +13 -7
- package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/jsx/layouts/attachments.mjs +4 -8
- package/dist/jsx/layouts/attachments.mjs.map +1 -1
- package/dist/jsx/layouts/attachments.native.js +5 -8
- package/dist/jsx/layouts/attachments.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +2 -1
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +4 -1
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/tags.mjs +1 -0
- package/dist/jsx/layouts/tags.mjs.map +1 -1
- package/dist/jsx/layouts/tags.native.js +2 -0
- package/dist/jsx/layouts/tags.native.js.map +1 -1
- package/dist/jsx/layouts/timeline.mjs +0 -6
- package/dist/jsx/layouts/timeline.mjs.map +1 -1
- package/dist/jsx/layouts/timeline.native.js +0 -6
- package/dist/jsx/layouts/timeline.native.js.map +1 -1
- package/dist/jsx/surfaces.mjs +21 -1
- package/dist/jsx/surfaces.mjs.map +1 -1
- package/dist/jsx/surfaces.native.js +22 -0
- package/dist/jsx/surfaces.native.js.map +1 -1
- package/dist/jsx/views/Calendar.mjs +3 -1
- package/dist/jsx/views/Calendar.mjs.map +1 -1
- package/dist/jsx/views/Calendar.native.js +8 -2
- package/dist/jsx/views/Calendar.native.js.map +1 -1
- package/dist/jsx/views/Kanban.mjs +23 -14
- package/dist/jsx/views/Kanban.mjs.map +1 -1
- package/dist/jsx/views/Kanban.native.js +1 -0
- package/dist/jsx/views/Kanban.native.js.map +1 -1
- package/dist/jsx/views/ReportBuilder.mjs +13 -3
- package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
- package/dist/jsx/views/ReportBuilder.native.js +12 -2
- package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
- package/package.json +10 -10
- package/src/Accordion/Accordion.stories.tsx +7 -2
- package/src/Avatar/Avatar.spec.tsx +31 -0
- package/src/Avatar/index.tsx +19 -1
- package/src/Badge/Badge.stories.tsx +3 -1
- package/src/Badge/index.tsx +4 -1
- package/src/Carousel/Carousel.spec.tsx +271 -0
- package/src/Carousel/Carousel.stories.tsx +35 -0
- package/src/Carousel/index.tsx +45 -20
- package/src/DialogContent.stories.tsx +2 -2
- package/src/DotIndicator/dotIndicator.spec.tsx +43 -1
- package/src/DotIndicator/index.tsx +169 -35
- package/src/Pagination.api.spec.tsx +345 -0
- package/src/Pagination.tsx +138 -176
- package/src/Panel.stories.tsx +4 -4
- package/src/ProgressSteps/ProgressSteps.spec.tsx +40 -1
- package/src/ProgressSteps/ProgressSteps.stories.tsx +3 -1
- package/src/ProgressSteps/index.tsx +6 -1
- package/src/charts/PieChart.tsx +4 -1
- package/src/feedback/ConfirmDialog.tsx +2 -2
- package/src/index.ts +1 -0
- package/src/layouts/PageHeader.stories.tsx +21 -3
- package/src/layouts/ScreenToolbar.stories.tsx +12 -5
- package/src/layouts/ViewSwitcher.tsx +25 -6
- package/src/layouts/attachments.tsx +4 -1
- package/src/layouts/layouts.spec.tsx +77 -1
- package/src/layouts/page.tsx +5 -1
- package/src/layouts/pageTitleScale.spec.tsx +70 -0
- package/src/layouts/tags.tsx +2 -0
- package/src/layouts/timeline-radius.spec.tsx +21 -0
- package/src/layouts/timeline.tsx +7 -18
- package/src/shared/t.spec.ts +47 -0
- package/src/surfaces.tsx +33 -0
- package/src/views/Calendar.stories.tsx +4 -2
- package/src/views/Calendar.tsx +6 -1
- package/src/views/Gantt.stories.tsx +2 -2
- package/src/views/Kanban.native.tsx +8 -2
- package/src/views/Kanban.stories.tsx +3 -1
- package/src/views/Kanban.tsx +42 -13
- package/src/views/ReportBuilder.tsx +15 -2
- package/types/Avatar/index.d.ts.map +1 -1
- package/types/Badge/index.d.ts.map +1 -1
- package/types/Carousel/index.d.ts.map +1 -1
- package/types/DotIndicator/index.d.ts +44 -3
- package/types/DotIndicator/index.d.ts.map +1 -1
- package/types/Pagination.d.ts +6 -1
- package/types/Pagination.d.ts.map +1 -1
- package/types/ProgressSteps/index.d.ts.map +1 -1
- package/types/charts/PieChart.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/layouts/ViewSwitcher.d.ts.map +1 -1
- package/types/layouts/attachments.d.ts.map +1 -1
- package/types/layouts/page.d.ts.map +1 -1
- package/types/layouts/tags.d.ts.map +1 -1
- package/types/layouts/timeline.d.ts.map +1 -1
- package/types/surfaces.d.ts +17 -0
- package/types/surfaces.d.ts.map +1 -1
- package/types/views/Calendar.d.ts.map +1 -1
- package/types/views/Kanban.d.ts +13 -1
- package/types/views/Kanban.d.ts.map +1 -1
- package/types/views/ReportBuilder.d.ts.map +1 -1
|
@@ -37,6 +37,7 @@ const avatarSizeMap = {
|
|
|
37
37
|
$4: "$3",
|
|
38
38
|
$5: "$4"
|
|
39
39
|
};
|
|
40
|
+
const identityShapeProps = (0, import_theme.radiusClassProps)("R-IDENTITY", "Avatar");
|
|
40
41
|
function initialsFontSize(size) {
|
|
41
42
|
if (typeof size === "number") {
|
|
42
43
|
if (size <= 24) return "$1";
|
|
@@ -75,11 +76,13 @@ function AvatarRoot({
|
|
|
75
76
|
} = (0, import_theme.useResolvedKnobs)();
|
|
76
77
|
const onAccentInitials = (0, import_theme.useReadableTextOn)("$accentBackground");
|
|
77
78
|
const size = sizeProp ?? avatarSizeMap[knobProps.sizeToken] ?? "$3";
|
|
79
|
+
const identityProps = circular ? identityShapeProps : null;
|
|
78
80
|
if (children != null) {
|
|
79
81
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Avatar, {
|
|
80
82
|
circular,
|
|
81
83
|
size,
|
|
82
84
|
backgroundColor: backgroundColor ?? fallbackBackgroundColor,
|
|
85
|
+
...identityProps,
|
|
83
86
|
...props,
|
|
84
87
|
children
|
|
85
88
|
});
|
|
@@ -92,6 +95,7 @@ function AvatarRoot({
|
|
|
92
95
|
size,
|
|
93
96
|
backgroundColor: backgroundColor ?? fallbackBackgroundColor,
|
|
94
97
|
"aria-label": label,
|
|
98
|
+
...identityProps,
|
|
95
99
|
...props,
|
|
96
100
|
children: [src ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Avatar.Image, {
|
|
97
101
|
src,
|
|
@@ -39,6 +39,7 @@ var avatarSizeMap = {
|
|
|
39
39
|
$4: "$3",
|
|
40
40
|
$5: "$4"
|
|
41
41
|
};
|
|
42
|
+
var identityShapeProps = (0, import_theme.radiusClassProps)("R-IDENTITY", "Avatar");
|
|
42
43
|
function initialsFontSize(size) {
|
|
43
44
|
if (typeof size === "number") {
|
|
44
45
|
if (size <= 24) return "$1";
|
|
@@ -79,11 +80,13 @@ function AvatarRoot(param) {
|
|
|
79
80
|
} = (0, import_theme.useResolvedKnobs)();
|
|
80
81
|
var onAccentInitials = (0, import_theme.useReadableTextOn)("$accentBackground");
|
|
81
82
|
var size = (_ref = sizeProp !== null && sizeProp !== void 0 ? sizeProp : avatarSizeMap[knobProps.sizeToken]) !== null && _ref !== void 0 ? _ref : "$3";
|
|
83
|
+
var identityProps = circular ? identityShapeProps : null;
|
|
82
84
|
if (children != null) {
|
|
83
85
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Avatar, {
|
|
84
86
|
circular,
|
|
85
87
|
size,
|
|
86
88
|
backgroundColor: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : fallbackBackgroundColor,
|
|
89
|
+
...identityProps,
|
|
87
90
|
...props,
|
|
88
91
|
children
|
|
89
92
|
});
|
|
@@ -96,6 +99,7 @@ function AvatarRoot(param) {
|
|
|
96
99
|
size,
|
|
97
100
|
backgroundColor: backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : fallbackBackgroundColor,
|
|
98
101
|
"aria-label": label,
|
|
102
|
+
...identityProps,
|
|
99
103
|
...props,
|
|
100
104
|
children: [src ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Avatar.Image, {
|
|
101
105
|
src,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Avatar_exports","__export","Avatar","getInitials","import_getInitials2","module","exports","import_jsx_runtime","require","import_theme","import_tamagui","import_componentColors","import_getInitials","avatarSizeMap","$3","$4","$5","initialsFontSize","size","AvatarRoot","param","src","name","alt","initials","fallbackBackgroundColor","fallbackColor","fallback","sizeProp","circular","children","backgroundColor","props","_ref","_ref1","knobProps","useResolvedKnobs","onAccentInitials","useReadableTextOn","sizeToken","jsx","label","initialsText","onAccent","jsxs","Image","Fallback","alignItems","justifyContent","delayMs","SizableText","fontSize","color","componentColors","text","primary","fontWeight","textAlign","withStaticProperties"],"sources":["../../../src/Avatar/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,MAAA,EAAAA,CAAA,KAAAA,MAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD;AAAA;AACAE,MAAA,CAAAC,OAAA,GAAAX,
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Avatar_exports","__export","Avatar","getInitials","import_getInitials2","module","exports","import_jsx_runtime","require","import_theme","import_tamagui","import_componentColors","import_getInitials","avatarSizeMap","$3","$4","$5","identityShapeProps","radiusClassProps","initialsFontSize","size","AvatarRoot","param","src","name","alt","initials","fallbackBackgroundColor","fallbackColor","fallback","sizeProp","circular","children","backgroundColor","props","_ref","_ref1","knobProps","useResolvedKnobs","onAccentInitials","useReadableTextOn","sizeToken","identityProps","jsx","label","initialsText","onAccent","jsxs","Image","Fallback","alignItems","justifyContent","delayMs","SizableText","fontSize","color","componentColors","text","primary","fontWeight","textAlign","withStaticProperties"],"sources":["../../../src/Avatar/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/Badge/index.cjs
CHANGED
|
@@ -94,6 +94,9 @@ const BadgeWrapper = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
94
94
|
});
|
|
95
95
|
const BadgeIndicator = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
96
96
|
name: "BadgeIndicator",
|
|
97
|
+
// R-PILL (D-09 / LC-60): the count/dot indicator is a pill at every radius
|
|
98
|
+
// value; the knob moves its size and padding, never its shape.
|
|
99
|
+
...(0, import_theme.radiusClassProps)("R-PILL", "Badge count/dot"),
|
|
97
100
|
position: "absolute",
|
|
98
101
|
alignItems: "center",
|
|
99
102
|
justifyContent: "center",
|
|
@@ -96,6 +96,9 @@ var BadgeWrapper = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
96
96
|
});
|
|
97
97
|
var BadgeIndicator = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
98
98
|
name: "BadgeIndicator",
|
|
99
|
+
// R-PILL (D-09 / LC-60): the count/dot indicator is a pill at every radius
|
|
100
|
+
// value; the knob moves its size and padding, never its shape.
|
|
101
|
+
...(0, import_theme.radiusClassProps)("R-PILL", "Badge count/dot"),
|
|
99
102
|
position: "absolute",
|
|
100
103
|
alignItems: "center",
|
|
101
104
|
justifyContent: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Badge_exports","__export","Badge","module","exports","import_jsx_runtime","require","import_theme","import_tamagui","import_componentColors","import_AsyncBoundary","colorMap","red","bg","componentColors","badge","text","blue","green","orange","gray","badgeGeometryMap","$3","capsule","font","dot","$4","$5","positionMap","top","right","left","bottom","BadgeWrapper","styled","View","name","position","display","BadgeIndicator","alignItems","justifyContent","borderRadius","minWidth","height","paddingHorizontal","zIndex","variants","true","width","BadgeText","Text","fontSize","fontWeight","lineHeight","textAlign","param","children","count","max","showZero","color","offset","visible","_badgeGeometryMap_knobProps_sizeToken","knobProps","useResolvedKnobs","colors","geometry","sizeToken","posStyles","asyncCtx","useAsyncBoundary"],"sources":["../../../src/Badge/index.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Badge_exports","__export","Badge","module","exports","import_jsx_runtime","require","import_theme","import_tamagui","import_componentColors","import_AsyncBoundary","colorMap","red","bg","componentColors","badge","text","blue","green","orange","gray","badgeGeometryMap","$3","capsule","font","dot","$4","$5","positionMap","top","right","left","bottom","BadgeWrapper","styled","View","name","position","display","BadgeIndicator","radiusClassProps","alignItems","justifyContent","borderRadius","minWidth","height","paddingHorizontal","zIndex","variants","true","width","BadgeText","Text","fontSize","fontWeight","lineHeight","textAlign","param","children","count","max","showZero","color","offset","visible","_badgeGeometryMap_knobProps_sizeToken","knobProps","useResolvedKnobs","colors","geometry","sizeToken","posStyles","asyncCtx","useAsyncBoundary"],"sources":["../../../src/Badge/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -76,7 +76,6 @@ const ArrowButton = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
76
76
|
});
|
|
77
77
|
const ArrowVisual = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
78
78
|
name: "CarouselArrowVisual",
|
|
79
|
-
borderRadius: 1e3,
|
|
80
79
|
backgroundColor: "$background",
|
|
81
80
|
alignItems: "center",
|
|
82
81
|
justifyContent: "center",
|
|
@@ -107,24 +106,26 @@ function Carousel({
|
|
|
107
106
|
control
|
|
108
107
|
} = (0, import_theme.useResolvedKnobs)();
|
|
109
108
|
const gap = gapProp ?? knobProps.gap.gap;
|
|
109
|
+
const gapPx = typeof gap === "number" ? gap : (0, import_tamagui.getTokens)().space?.[gap]?.val ?? 0;
|
|
110
110
|
const arrowSize = (0, import_tamagui.getTokens)().size?.[knobProps.sizeToken]?.val ?? 40;
|
|
111
111
|
const arrowGlyphSize = Math.round(arrowSize / 2);
|
|
112
|
+
const arrowRadius = knobProps.pointy ? 0 : 1e3;
|
|
112
113
|
const arrowTargetSize = Math.max(arrowSize, import_theme.MIN_PRESS_TARGET);
|
|
113
114
|
const arrowEdgeInset = Math.max(0, 8 - Math.round((arrowTargetSize - arrowSize) / 2));
|
|
114
115
|
const [activeIndex, setActiveIndex] = (0, import_react.useState)(initialSlide);
|
|
115
116
|
const trackRef = (0, import_react.useRef)(null);
|
|
116
117
|
const slideCount = import_react.Children.count(children);
|
|
117
|
-
const
|
|
118
|
+
const [slideWidth, setSlideWidth] = (0, import_react.useState)(0);
|
|
118
119
|
const autoPlayRef = (0, import_react.useRef)(null);
|
|
119
120
|
const scrollToSlide = (0, import_react.useCallback)(index => {
|
|
120
121
|
if (!trackRef.current) return;
|
|
121
122
|
if (index < 0 || index >= slideCount) return;
|
|
122
|
-
const offset = index *
|
|
123
|
+
const offset = index * (slideWidth + gapPx);
|
|
123
124
|
trackRef.current.scrollTo({
|
|
124
125
|
x: offset,
|
|
125
126
|
animated: true
|
|
126
127
|
});
|
|
127
|
-
}, [slideCount]);
|
|
128
|
+
}, [slideCount, slideWidth, gapPx]);
|
|
128
129
|
const goToSlide = (0, import_react.useCallback)(index => {
|
|
129
130
|
let targetIndex = index;
|
|
130
131
|
if (loop) {
|
|
@@ -141,14 +142,13 @@ function Carousel({
|
|
|
141
142
|
const goPrev = (0, import_react.useCallback)(() => goToSlide(activeIndex - 1), [activeIndex, goToSlide]);
|
|
142
143
|
const handleScroll = (0, import_react.useCallback)(event => {
|
|
143
144
|
const scrollX = event.nativeEvent.contentOffset.x;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const newIndex = Math.round(scrollX / width);
|
|
145
|
+
if (!slideWidth) return;
|
|
146
|
+
const newIndex = Math.round(scrollX / (slideWidth + gapPx));
|
|
147
147
|
if (newIndex !== activeIndex && newIndex >= 0 && newIndex < slideCount) {
|
|
148
148
|
setActiveIndex(newIndex);
|
|
149
149
|
onSlideChange?.(newIndex);
|
|
150
150
|
}
|
|
151
|
-
}, [activeIndex, slideCount, onSlideChange]);
|
|
151
|
+
}, [activeIndex, slideCount, onSlideChange, slideWidth, gapPx]);
|
|
152
152
|
(0, import_react.useEffect)(() => {
|
|
153
153
|
if (autoPlay > 0) {
|
|
154
154
|
autoPlayRef.current = setInterval(() => {
|
|
@@ -161,11 +161,16 @@ function Carousel({
|
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
163
|
}, [autoPlay, goNext]);
|
|
164
|
+
const activeIndexRef = (0, import_react.useRef)(activeIndex);
|
|
165
|
+
activeIndexRef.current = activeIndex;
|
|
164
166
|
(0, import_react.useEffect)(() => {
|
|
165
|
-
if (
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
if (!slideWidth || slideCount === 0 || !trackRef.current) return;
|
|
168
|
+
const index = Math.max(0, Math.min(activeIndexRef.current, slideCount - 1));
|
|
169
|
+
trackRef.current.scrollTo({
|
|
170
|
+
x: index * (slideWidth + gapPx),
|
|
171
|
+
animated: false
|
|
172
|
+
});
|
|
173
|
+
}, [slideWidth, gapPx, slideCount]);
|
|
169
174
|
const canGoPrev = loop || activeIndex > 0;
|
|
170
175
|
const canGoNext = loop || activeIndex < slideCount - 1;
|
|
171
176
|
const isRTL = (0, import_useDirection.useDirection)() === "rtl";
|
|
@@ -185,16 +190,22 @@ function Carousel({
|
|
|
185
190
|
},
|
|
186
191
|
onScroll: handleScroll,
|
|
187
192
|
scrollEventThrottle: 16,
|
|
188
|
-
onLayout: e =>
|
|
189
|
-
|
|
193
|
+
onLayout: e => setSlideWidth(e.nativeEvent.layout.width),
|
|
194
|
+
...{
|
|
195
|
+
dataSet: {
|
|
196
|
+
carouselTrack: "true"
|
|
197
|
+
}
|
|
190
198
|
},
|
|
191
199
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
192
200
|
gap,
|
|
193
201
|
children: import_react.Children.map(children, (child, index) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(CarouselSlide, {
|
|
194
|
-
width:
|
|
202
|
+
width: slideWidth > 0 ? slideWidth : void 0,
|
|
195
203
|
style: {
|
|
196
204
|
scrollSnapAlign: "start"
|
|
197
205
|
},
|
|
206
|
+
...{
|
|
207
|
+
"data-carousel-slide": index
|
|
208
|
+
},
|
|
198
209
|
children: child
|
|
199
210
|
}, index))
|
|
200
211
|
})
|
|
@@ -226,6 +237,7 @@ function Carousel({
|
|
|
226
237
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ArrowVisual, {
|
|
227
238
|
width: arrowSize,
|
|
228
239
|
height: arrowSize,
|
|
240
|
+
borderRadius: arrowRadius,
|
|
229
241
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(PrevGlyph, {
|
|
230
242
|
size: arrowGlyphSize
|
|
231
243
|
})
|
|
@@ -257,6 +269,7 @@ function Carousel({
|
|
|
257
269
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ArrowVisual, {
|
|
258
270
|
width: arrowSize,
|
|
259
271
|
height: arrowSize,
|
|
272
|
+
borderRadius: arrowRadius,
|
|
260
273
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(NextGlyph, {
|
|
261
274
|
size: arrowGlyphSize
|
|
262
275
|
})
|
|
@@ -78,7 +78,6 @@ var ArrowButton = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
|
78
78
|
});
|
|
79
79
|
var ArrowVisual = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
80
80
|
name: "CarouselArrowVisual",
|
|
81
|
-
borderRadius: 1e3,
|
|
82
81
|
backgroundColor: "$background",
|
|
83
82
|
alignItems: "center",
|
|
84
83
|
justifyContent: "center",
|
|
@@ -102,8 +101,8 @@ function Carousel(param) {
|
|
|
102
101
|
onSlideChange,
|
|
103
102
|
initialSlide = 0
|
|
104
103
|
} = param;
|
|
105
|
-
var _ref;
|
|
106
|
-
var _getTokens_size_knobProps_sizeToken, _getTokens_size;
|
|
104
|
+
var _ref, _ref1;
|
|
105
|
+
var _getTokens_space_gap, _getTokens_space, _getTokens_size_knobProps_sizeToken, _getTokens_size;
|
|
107
106
|
var {
|
|
108
107
|
t
|
|
109
108
|
} = (0, import_react_i18next.useTranslation)();
|
|
@@ -112,24 +111,26 @@ function Carousel(param) {
|
|
|
112
111
|
control
|
|
113
112
|
} = (0, import_theme.useResolvedKnobs)();
|
|
114
113
|
var gap = gapProp !== null && gapProp !== void 0 ? gapProp : knobProps.gap.gap;
|
|
115
|
-
var
|
|
114
|
+
var gapPx = typeof gap === "number" ? gap : (_ref = (_getTokens_space = (0, import_tamagui.getTokens)().space) === null || _getTokens_space === void 0 ? void 0 : (_getTokens_space_gap = _getTokens_space[gap]) === null || _getTokens_space_gap === void 0 ? void 0 : _getTokens_space_gap.val) !== null && _ref !== void 0 ? _ref : 0;
|
|
115
|
+
var arrowSize = (_ref1 = (_getTokens_size = (0, import_tamagui.getTokens)().size) === null || _getTokens_size === void 0 ? void 0 : (_getTokens_size_knobProps_sizeToken = _getTokens_size[knobProps.sizeToken]) === null || _getTokens_size_knobProps_sizeToken === void 0 ? void 0 : _getTokens_size_knobProps_sizeToken.val) !== null && _ref1 !== void 0 ? _ref1 : 40;
|
|
116
116
|
var arrowGlyphSize = Math.round(arrowSize / 2);
|
|
117
|
+
var arrowRadius = knobProps.pointy ? 0 : 1e3;
|
|
117
118
|
var arrowTargetSize = Math.max(arrowSize, import_theme.MIN_PRESS_TARGET);
|
|
118
119
|
var arrowEdgeInset = Math.max(0, 8 - Math.round((arrowTargetSize - arrowSize) / 2));
|
|
119
120
|
var [activeIndex, setActiveIndex] = (0, import_react.useState)(initialSlide);
|
|
120
121
|
var trackRef = (0, import_react.useRef)(null);
|
|
121
122
|
var slideCount = import_react.Children.count(children);
|
|
122
|
-
var
|
|
123
|
+
var [slideWidth, setSlideWidth] = (0, import_react.useState)(0);
|
|
123
124
|
var autoPlayRef = (0, import_react.useRef)(null);
|
|
124
125
|
var scrollToSlide = (0, import_react.useCallback)(function (index) {
|
|
125
126
|
if (!trackRef.current) return;
|
|
126
127
|
if (index < 0 || index >= slideCount) return;
|
|
127
|
-
var offset = index *
|
|
128
|
+
var offset = index * (slideWidth + gapPx);
|
|
128
129
|
trackRef.current.scrollTo({
|
|
129
130
|
x: offset,
|
|
130
131
|
animated: true
|
|
131
132
|
});
|
|
132
|
-
}, [slideCount]);
|
|
133
|
+
}, [slideCount, slideWidth, gapPx]);
|
|
133
134
|
var goToSlide = (0, import_react.useCallback)(function (index) {
|
|
134
135
|
var targetIndex = index;
|
|
135
136
|
if (loop) {
|
|
@@ -150,14 +151,13 @@ function Carousel(param) {
|
|
|
150
151
|
}, [activeIndex, goToSlide]);
|
|
151
152
|
var handleScroll = (0, import_react.useCallback)(function (event) {
|
|
152
153
|
var scrollX = event.nativeEvent.contentOffset.x;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
var newIndex = Math.round(scrollX / width);
|
|
154
|
+
if (!slideWidth) return;
|
|
155
|
+
var newIndex = Math.round(scrollX / (slideWidth + gapPx));
|
|
156
156
|
if (newIndex !== activeIndex && newIndex >= 0 && newIndex < slideCount) {
|
|
157
157
|
setActiveIndex(newIndex);
|
|
158
158
|
onSlideChange === null || onSlideChange === void 0 ? void 0 : onSlideChange(newIndex);
|
|
159
159
|
}
|
|
160
|
-
}, [activeIndex, slideCount, onSlideChange]);
|
|
160
|
+
}, [activeIndex, slideCount, onSlideChange, slideWidth, gapPx]);
|
|
161
161
|
(0, import_react.useEffect)(function () {
|
|
162
162
|
if (autoPlay > 0) {
|
|
163
163
|
autoPlayRef.current = setInterval(function () {
|
|
@@ -170,11 +170,16 @@ function Carousel(param) {
|
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
}, [autoPlay, goNext]);
|
|
173
|
+
var activeIndexRef = (0, import_react.useRef)(activeIndex);
|
|
174
|
+
activeIndexRef.current = activeIndex;
|
|
173
175
|
(0, import_react.useEffect)(function () {
|
|
174
|
-
if (
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
if (!slideWidth || slideCount === 0 || !trackRef.current) return;
|
|
177
|
+
var index = Math.max(0, Math.min(activeIndexRef.current, slideCount - 1));
|
|
178
|
+
trackRef.current.scrollTo({
|
|
179
|
+
x: index * (slideWidth + gapPx),
|
|
180
|
+
animated: false
|
|
181
|
+
});
|
|
182
|
+
}, [slideWidth, gapPx, slideCount]);
|
|
178
183
|
var canGoPrev = loop || activeIndex > 0;
|
|
179
184
|
var canGoNext = loop || activeIndex < slideCount - 1;
|
|
180
185
|
var isRTL = (0, import_useDirection.useDirection)() === "rtl";
|
|
@@ -195,16 +200,26 @@ function Carousel(param) {
|
|
|
195
200
|
onScroll: handleScroll,
|
|
196
201
|
scrollEventThrottle: 16,
|
|
197
202
|
onLayout: function onLayout(e) {
|
|
198
|
-
|
|
203
|
+
return setSlideWidth(e.nativeEvent.layout.width);
|
|
204
|
+
},
|
|
205
|
+
...{
|
|
206
|
+
dataSet: {
|
|
207
|
+
carouselTrack: "true"
|
|
208
|
+
}
|
|
199
209
|
},
|
|
200
210
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
201
211
|
gap,
|
|
202
212
|
children: import_react.Children.map(children, function (child, index) {
|
|
203
213
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(CarouselSlide, {
|
|
204
|
-
width
|
|
214
|
+
// Measured-viewport width (LC-62), never a percentage; slides
|
|
215
|
+
// stay content-sized only for the pre-measure frame.
|
|
216
|
+
width: slideWidth > 0 ? slideWidth : void 0,
|
|
205
217
|
style: {
|
|
206
218
|
scrollSnapAlign: "start"
|
|
207
219
|
},
|
|
220
|
+
...{
|
|
221
|
+
"data-carousel-slide": index
|
|
222
|
+
},
|
|
208
223
|
children: child
|
|
209
224
|
}, index);
|
|
210
225
|
})
|
|
@@ -237,6 +252,7 @@ function Carousel(param) {
|
|
|
237
252
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ArrowVisual, {
|
|
238
253
|
width: arrowSize,
|
|
239
254
|
height: arrowSize,
|
|
255
|
+
borderRadius: arrowRadius,
|
|
240
256
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(PrevGlyph, {
|
|
241
257
|
size: arrowGlyphSize
|
|
242
258
|
})
|
|
@@ -266,6 +282,7 @@ function Carousel(param) {
|
|
|
266
282
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ArrowVisual, {
|
|
267
283
|
width: arrowSize,
|
|
268
284
|
height: arrowSize,
|
|
285
|
+
borderRadius: arrowRadius,
|
|
269
286
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(NextGlyph, {
|
|
270
287
|
size: arrowGlyphSize
|
|
271
288
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Carousel_exports","__export","Carousel","module","exports","import_jsx_runtime","require","import_react","import_react_i18next","import_react2","import_forms","import_theme","import_tamagui","import_DotIndicator","import_useDirection","CarouselContainer","styled","View","name","position","width","overflow","CarouselSlide","flexShrink","ArrowButton","top","transform","translateY","zIndex","localTop","alignItems","justifyContent","backgroundColor","cursor","opacity","hoverStyle","scale","pressStyle","variants","disabled","true","ArrowVisual","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Carousel_exports","__export","Carousel","module","exports","import_jsx_runtime","require","import_react","import_react_i18next","import_react2","import_forms","import_theme","import_tamagui","import_DotIndicator","import_useDirection","CarouselContainer","styled","View","name","position","width","overflow","CarouselSlide","flexShrink","ArrowButton","top","transform","translateY","zIndex","localTop","alignItems","justifyContent","backgroundColor","cursor","opacity","hoverStyle","scale","pressStyle","variants","disabled","true","ArrowVisual","shadowColor","shadowRadius","shadowOpacity","DotsWrapper","paddingVertical","param","children","showArrows","showDots","autoPlay","loop","gap","gapProp","onSlideChange","initialSlide","_ref","_ref1","_getTokens_space_gap","_getTokens_space","_getTokens_size_knobProps_sizeToken","_getTokens_size","t","useTranslation","knobProps","control","useResolvedKnobs","gapPx","getTokens","space","val","arrowSize","size","sizeToken","arrowGlyphSize","Math","round","arrowRadius","pointy","arrowTargetSize","max","MIN_PRESS_TARGET","arrowEdgeInset","activeIndex","setActiveIndex","useState","trackRef","useRef","slideCount","Children","count","slideWidth","setSlideWidth","autoPlayRef","scrollToSlide","useCallback","index","current","offset","scrollTo","x","animated","goToSlide","targetIndex","min","goNext","goPrev","handleScroll","event","scrollX","nativeEvent","contentOffset","newIndex","useEffect","setInterval","clearInterval","activeIndexRef","canGoPrev","canGoNext","isRTL","useDirection","prevSide","nextSide","PrevGlyph","CaretRightIcon","CaretLeftIcon","NextGlyph","jsxs","containerRadius","jsx","ScrollView","ref","horizontal","showsHorizontalScrollIndicator","style","scrollSnapType","onScroll","scrollEventThrottle","onLayout","e","layout","dataSet","carouselTrack","XStack","map","child","scrollSnapAlign","Fragment","height","transition"],"sources":["../../../src/Carousel/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|