@multiplatform.one/frappe-ui 7.65.2 → 7.67.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/FormSidebar.cjs +95 -194
- package/dist/cjs/FormSidebar.native.js +107 -217
- package/dist/cjs/FormSidebar.native.js.map +1 -1
- package/dist/cjs/FrappeConnectionIndicator.cjs +5 -24
- package/dist/cjs/FrappeConnectionIndicator.native.js +5 -24
- package/dist/cjs/FrappeConnectionIndicator.native.js.map +1 -1
- package/dist/cjs/FrappeImageView.cjs +46 -65
- package/dist/cjs/FrappeImageView.native.js +46 -68
- package/dist/cjs/FrappeImageView.native.js.map +1 -1
- package/dist/cjs/FrappeListView.cjs +24 -67
- package/dist/cjs/FrappeListView.native.js +25 -71
- package/dist/cjs/FrappeListView.native.js.map +1 -1
- package/dist/cjs/FrappeRecordView.cjs +4 -0
- package/dist/cjs/FrappeRecordView.native.js +4 -0
- package/dist/cjs/FrappeRecordView.native.js.map +1 -1
- package/dist/cjs/FrappeReportBuilder.cjs +21 -18
- package/dist/cjs/FrappeReportBuilder.native.js +21 -18
- package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
- package/dist/cjs/SyncErrorNotice.cjs +8 -36
- package/dist/cjs/SyncErrorNotice.native.js +8 -36
- package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
- package/dist/cjs/desk/DeskFormSidebar.cjs +1 -6
- package/dist/cjs/desk/DeskFormSidebar.native.js +1 -6
- package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/cjs/desk/DeskShell.native.js.map +1 -1
- package/dist/cjs/fields/Date/catalog.native.js +0 -1
- package/dist/cjs/fields/Date/catalog.native.js.map +1 -1
- package/dist/cjs/fields/Date/index.native.js +4 -363
- package/dist/cjs/fields/Date/index.native.js.map +1 -1
- package/dist/cjs/insights/InsightsFacetTags.cjs +16 -92
- package/dist/cjs/insights/InsightsFacetTags.native.js +15 -97
- package/dist/cjs/insights/InsightsFacetTags.native.js.map +1 -1
- package/dist/cjs/list/FacetBadge.cjs +4 -28
- package/dist/cjs/list/FacetBadge.native.js +4 -28
- package/dist/cjs/list/FacetBadge.native.js.map +1 -1
- package/dist/cjs/list/FacetRail.cjs +37 -128
- package/dist/cjs/list/FacetRail.native.js +32 -130
- package/dist/cjs/list/FacetRail.native.js.map +1 -1
- package/dist/cjs/list/RecordCard.cjs +107 -127
- package/dist/cjs/list/RecordCard.native.js +86 -96
- package/dist/cjs/list/RecordCard.native.js.map +1 -1
- package/dist/cjs/list/ShufflePanel.cjs +57 -36
- package/dist/cjs/list/ShufflePanel.native.js +64 -39
- package/dist/cjs/list/ShufflePanel.native.js.map +1 -1
- package/dist/cjs/record/RecordHero.cjs +7 -85
- package/dist/cjs/record/RecordHero.native.js +7 -85
- package/dist/cjs/record/RecordHero.native.js.map +1 -1
- package/dist/cjs/record/RecordPage.cjs +1 -0
- package/dist/cjs/record/RecordPage.native.js +1 -0
- package/dist/cjs/record/RecordPage.native.js.map +1 -1
- package/dist/cjs/report/ReportViewToolbar.cjs +70 -39
- package/dist/cjs/report/ReportViewToolbar.native.js +73 -40
- package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -1
- package/dist/esm/FormSidebar.mjs +98 -197
- package/dist/esm/FormSidebar.mjs.map +1 -1
- package/dist/esm/FormSidebar.native.js +110 -220
- package/dist/esm/FormSidebar.native.js.map +1 -1
- package/dist/esm/FrappeConnectionIndicator.mjs +7 -26
- package/dist/esm/FrappeConnectionIndicator.mjs.map +1 -1
- package/dist/esm/FrappeConnectionIndicator.native.js +7 -26
- package/dist/esm/FrappeConnectionIndicator.native.js.map +1 -1
- package/dist/esm/FrappeImageView.mjs +48 -67
- package/dist/esm/FrappeImageView.mjs.map +1 -1
- package/dist/esm/FrappeImageView.native.js +48 -70
- package/dist/esm/FrappeImageView.native.js.map +1 -1
- package/dist/esm/FrappeListView.mjs +25 -68
- package/dist/esm/FrappeListView.mjs.map +1 -1
- package/dist/esm/FrappeListView.native.js +26 -72
- package/dist/esm/FrappeListView.native.js.map +1 -1
- package/dist/esm/FrappeRecordView.mjs +4 -0
- package/dist/esm/FrappeRecordView.mjs.map +1 -1
- package/dist/esm/FrappeRecordView.native.js +4 -0
- package/dist/esm/FrappeRecordView.native.js.map +1 -1
- package/dist/esm/FrappeReportBuilder.mjs +21 -18
- package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
- package/dist/esm/FrappeReportBuilder.native.js +21 -18
- package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
- package/dist/esm/SyncErrorNotice.mjs +10 -38
- package/dist/esm/SyncErrorNotice.mjs.map +1 -1
- package/dist/esm/SyncErrorNotice.native.js +10 -38
- package/dist/esm/SyncErrorNotice.native.js.map +1 -1
- package/dist/esm/desk/DeskFormSidebar.mjs +1 -6
- package/dist/esm/desk/DeskFormSidebar.mjs.map +1 -1
- package/dist/esm/desk/DeskFormSidebar.native.js +1 -6
- package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/esm/desk/DeskShell.mjs.map +1 -1
- package/dist/esm/desk/DeskShell.native.js.map +1 -1
- package/dist/esm/fields/Date/catalog.mjs.map +1 -1
- package/dist/esm/fields/Date/catalog.native.js +0 -1
- package/dist/esm/fields/Date/catalog.native.js.map +1 -1
- package/dist/esm/fields/Date/index.native.js +2 -361
- package/dist/esm/fields/Date/index.native.js.map +1 -1
- package/dist/esm/insights/InsightsFacetTags.mjs +18 -94
- package/dist/esm/insights/InsightsFacetTags.mjs.map +1 -1
- package/dist/esm/insights/InsightsFacetTags.native.js +17 -99
- package/dist/esm/insights/InsightsFacetTags.native.js.map +1 -1
- package/dist/esm/list/FacetBadge.mjs +5 -29
- package/dist/esm/list/FacetBadge.mjs.map +1 -1
- package/dist/esm/list/FacetBadge.native.js +5 -29
- package/dist/esm/list/FacetBadge.native.js.map +1 -1
- package/dist/esm/list/FacetRail.mjs +40 -131
- package/dist/esm/list/FacetRail.mjs.map +1 -1
- package/dist/esm/list/FacetRail.native.js +35 -133
- package/dist/esm/list/FacetRail.native.js.map +1 -1
- package/dist/esm/list/RecordCard.mjs +107 -127
- package/dist/esm/list/RecordCard.mjs.map +1 -1
- package/dist/esm/list/RecordCard.native.js +86 -96
- package/dist/esm/list/RecordCard.native.js.map +1 -1
- package/dist/esm/list/ShufflePanel.mjs +59 -38
- package/dist/esm/list/ShufflePanel.mjs.map +1 -1
- package/dist/esm/list/ShufflePanel.native.js +66 -41
- package/dist/esm/list/ShufflePanel.native.js.map +1 -1
- package/dist/esm/record/RecordHero.mjs +8 -86
- package/dist/esm/record/RecordHero.mjs.map +1 -1
- package/dist/esm/record/RecordHero.native.js +8 -86
- package/dist/esm/record/RecordHero.native.js.map +1 -1
- package/dist/esm/record/RecordPage.mjs +2 -1
- package/dist/esm/record/RecordPage.mjs.map +1 -1
- package/dist/esm/record/RecordPage.native.js +2 -1
- package/dist/esm/record/RecordPage.native.js.map +1 -1
- package/dist/esm/report/ReportViewToolbar.mjs +72 -41
- package/dist/esm/report/ReportViewToolbar.mjs.map +1 -1
- package/dist/esm/report/ReportViewToolbar.native.js +75 -42
- package/dist/esm/report/ReportViewToolbar.native.js.map +1 -1
- package/dist/jsx/FormSidebar.mjs +98 -197
- package/dist/jsx/FormSidebar.mjs.map +1 -1
- package/dist/jsx/FormSidebar.native.js +107 -217
- package/dist/jsx/FormSidebar.native.js.map +1 -1
- package/dist/jsx/FrappeConnectionIndicator.mjs +7 -26
- package/dist/jsx/FrappeConnectionIndicator.mjs.map +1 -1
- package/dist/jsx/FrappeConnectionIndicator.native.js +5 -24
- package/dist/jsx/FrappeConnectionIndicator.native.js.map +1 -1
- package/dist/jsx/FrappeImageView.mjs +48 -67
- package/dist/jsx/FrappeImageView.mjs.map +1 -1
- package/dist/jsx/FrappeImageView.native.js +46 -68
- package/dist/jsx/FrappeImageView.native.js.map +1 -1
- package/dist/jsx/FrappeListView.mjs +25 -68
- package/dist/jsx/FrappeListView.mjs.map +1 -1
- package/dist/jsx/FrappeListView.native.js +25 -71
- package/dist/jsx/FrappeListView.native.js.map +1 -1
- package/dist/jsx/FrappeRecordView.mjs +4 -0
- package/dist/jsx/FrappeRecordView.mjs.map +1 -1
- package/dist/jsx/FrappeRecordView.native.js +4 -0
- package/dist/jsx/FrappeRecordView.native.js.map +1 -1
- package/dist/jsx/FrappeReportBuilder.mjs +21 -18
- package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
- package/dist/jsx/FrappeReportBuilder.native.js +21 -18
- package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
- package/dist/jsx/SyncErrorNotice.mjs +10 -38
- package/dist/jsx/SyncErrorNotice.mjs.map +1 -1
- package/dist/jsx/SyncErrorNotice.native.js +8 -36
- package/dist/jsx/SyncErrorNotice.native.js.map +1 -1
- package/dist/jsx/desk/DeskFormSidebar.mjs +1 -6
- package/dist/jsx/desk/DeskFormSidebar.mjs.map +1 -1
- package/dist/jsx/desk/DeskFormSidebar.native.js +1 -6
- package/dist/jsx/desk/DeskFormSidebar.native.js.map +1 -1
- package/dist/jsx/desk/DeskShell.mjs.map +1 -1
- package/dist/jsx/desk/DeskShell.native.js.map +1 -1
- package/dist/jsx/fields/Date/catalog.mjs.map +1 -1
- package/dist/jsx/fields/Date/catalog.native.js +0 -1
- package/dist/jsx/fields/Date/catalog.native.js.map +1 -1
- package/dist/jsx/fields/Date/index.native.js +4 -363
- package/dist/jsx/fields/Date/index.native.js.map +1 -1
- package/dist/jsx/insights/InsightsFacetTags.mjs +18 -94
- package/dist/jsx/insights/InsightsFacetTags.mjs.map +1 -1
- package/dist/jsx/insights/InsightsFacetTags.native.js +15 -97
- package/dist/jsx/insights/InsightsFacetTags.native.js.map +1 -1
- package/dist/jsx/list/FacetBadge.mjs +5 -29
- package/dist/jsx/list/FacetBadge.mjs.map +1 -1
- package/dist/jsx/list/FacetBadge.native.js +4 -28
- package/dist/jsx/list/FacetBadge.native.js.map +1 -1
- package/dist/jsx/list/FacetRail.mjs +40 -131
- package/dist/jsx/list/FacetRail.mjs.map +1 -1
- package/dist/jsx/list/FacetRail.native.js +32 -130
- package/dist/jsx/list/FacetRail.native.js.map +1 -1
- package/dist/jsx/list/RecordCard.mjs +107 -127
- package/dist/jsx/list/RecordCard.mjs.map +1 -1
- package/dist/jsx/list/RecordCard.native.js +86 -96
- package/dist/jsx/list/RecordCard.native.js.map +1 -1
- package/dist/jsx/list/ShufflePanel.mjs +59 -38
- package/dist/jsx/list/ShufflePanel.mjs.map +1 -1
- package/dist/jsx/list/ShufflePanel.native.js +64 -39
- package/dist/jsx/list/ShufflePanel.native.js.map +1 -1
- package/dist/jsx/record/RecordHero.mjs +8 -86
- package/dist/jsx/record/RecordHero.mjs.map +1 -1
- package/dist/jsx/record/RecordHero.native.js +7 -85
- package/dist/jsx/record/RecordHero.native.js.map +1 -1
- package/dist/jsx/record/RecordPage.mjs +2 -1
- package/dist/jsx/record/RecordPage.mjs.map +1 -1
- package/dist/jsx/record/RecordPage.native.js +1 -0
- package/dist/jsx/record/RecordPage.native.js.map +1 -1
- package/dist/jsx/report/ReportViewToolbar.mjs +72 -41
- package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -1
- package/dist/jsx/report/ReportViewToolbar.native.js +73 -40
- package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -1
- package/package.json +16 -16
- package/src/FormSidebar.stories.tsx +1 -1
- package/src/FormSidebar.tsx +128 -253
- package/src/FrappeConnectionIndicator.tsx +6 -28
- package/src/FrappeImageView.stories.tsx +1 -6
- package/src/FrappeImageView.tsx +52 -66
- package/src/FrappeListView.controls.spec.tsx +3 -2
- package/src/FrappeListView.tsx +23 -55
- package/src/FrappeRecordView.tsx +16 -3
- package/src/FrappeReportBuilder.tsx +21 -19
- package/src/SyncErrorNotice.spec.tsx +7 -12
- package/src/SyncErrorNotice.stories.tsx +2 -4
- package/src/SyncErrorNotice.tsx +13 -41
- package/src/desk/DeskFormSidebar.tsx +1 -2
- package/src/desk/DeskShell.tsx +1 -0
- package/src/fields/Date/catalog.tsx +6 -7
- package/src/fields/Date/nativeIsCatalog.spec.tsx +26 -0
- package/src/fields/Date/typeParity.spec.tsx +20 -98
- package/src/frappeRemainder.designLaw.spec.ts +8 -7
- package/src/insights/InsightsFacetTags.tsx +21 -102
- package/src/list/FacetBadge.tsx +7 -29
- package/src/list/FacetRail.spec.tsx +11 -10
- package/src/list/FacetRail.tsx +49 -161
- package/src/list/RecordCard.native.tsx +63 -64
- package/src/list/RecordCard.spec.tsx +8 -5
- package/src/list/RecordCard.tsx +116 -129
- package/src/list/ShufflePanel.tsx +65 -38
- package/src/record/RecordHero.tsx +11 -51
- package/src/record/RecordPage.tsx +6 -1
- package/src/report/ReportViewToolbar.spec.tsx +45 -3
- package/src/report/ReportViewToolbar.tsx +109 -56
- package/types/FormSidebar.d.ts +13 -3
- package/types/FormSidebar.d.ts.map +1 -1
- package/types/FrappeConnectionIndicator.d.ts +2 -1
- package/types/FrappeConnectionIndicator.d.ts.map +1 -1
- package/types/FrappeImageView.d.ts.map +1 -1
- package/types/FrappeListView.d.ts.map +1 -1
- package/types/FrappeRecordView.d.ts.map +1 -1
- package/types/FrappeReportBuilder.d.ts.map +1 -1
- package/types/SyncErrorNotice.d.ts +4 -6
- package/types/SyncErrorNotice.d.ts.map +1 -1
- package/types/desk/DeskFormSidebar.d.ts.map +1 -1
- package/types/desk/DeskShell.d.ts.map +1 -1
- package/types/fields/Date/catalog.d.ts +5 -4
- package/types/fields/Date/catalog.d.ts.map +1 -1
- package/types/insights/InsightsFacetTags.d.ts +4 -1
- package/types/insights/InsightsFacetTags.d.ts.map +1 -1
- package/types/list/FacetBadge.d.ts +3 -3
- package/types/list/FacetBadge.d.ts.map +1 -1
- package/types/list/FacetRail.d.ts +7 -5
- package/types/list/FacetRail.d.ts.map +1 -1
- package/types/list/RecordCard.d.ts +6 -6
- package/types/list/RecordCard.d.ts.map +1 -1
- package/types/list/RecordCard.native.d.ts +4 -3
- package/types/list/RecordCard.native.d.ts.map +1 -1
- package/types/list/ShufflePanel.d.ts +8 -3
- package/types/list/ShufflePanel.d.ts.map +1 -1
- package/types/record/RecordHero.d.ts +5 -1
- package/types/record/RecordHero.d.ts.map +1 -1
- package/types/record/RecordPage.d.ts.map +1 -1
- package/types/report/ReportViewToolbar.d.ts.map +1 -1
- package/dist/cjs/fields/Date/dateTimePickerLoader.cjs +0 -38
- package/dist/cjs/fields/Date/dateTimePickerLoader.native.js +0 -42
- package/dist/cjs/fields/Date/dateTimePickerLoader.native.js.map +0 -1
- package/dist/cjs/fields/Date/sheetKeyboard.cjs +0 -54
- package/dist/cjs/fields/Date/sheetKeyboard.native.js +0 -57
- package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +0 -1
- package/dist/esm/fields/Date/dateTimePickerLoader.mjs +0 -13
- package/dist/esm/fields/Date/dateTimePickerLoader.mjs.map +0 -1
- package/dist/esm/fields/Date/dateTimePickerLoader.native.js +0 -14
- package/dist/esm/fields/Date/dateTimePickerLoader.native.js.map +0 -1
- package/dist/esm/fields/Date/sheetKeyboard.mjs +0 -21
- package/dist/esm/fields/Date/sheetKeyboard.mjs.map +0 -1
- package/dist/esm/fields/Date/sheetKeyboard.native.js +0 -21
- package/dist/esm/fields/Date/sheetKeyboard.native.js.map +0 -1
- package/dist/jsx/fields/Date/dateTimePickerLoader.mjs +0 -13
- package/dist/jsx/fields/Date/dateTimePickerLoader.mjs.map +0 -1
- package/dist/jsx/fields/Date/dateTimePickerLoader.native.js +0 -42
- package/dist/jsx/fields/Date/dateTimePickerLoader.native.js.map +0 -1
- package/dist/jsx/fields/Date/sheetKeyboard.mjs +0 -21
- package/dist/jsx/fields/Date/sheetKeyboard.mjs.map +0 -1
- package/dist/jsx/fields/Date/sheetKeyboard.native.js +0 -57
- package/dist/jsx/fields/Date/sheetKeyboard.native.js.map +0 -1
- package/src/fields/Date/dateTimePickerLoader.ts +0 -25
- package/src/fields/Date/index.native.tsx +0 -445
- package/src/fields/Date/nativeFallback.spec.tsx +0 -21
- package/src/fields/Date/nativePresentation.spec.tsx +0 -278
- package/src/fields/Date/sheetKeyboard.spec.ts +0 -60
- package/src/fields/Date/sheetKeyboard.ts +0 -45
- package/types/fields/Date/dateTimePickerLoader.d.ts +0 -11
- package/types/fields/Date/dateTimePickerLoader.d.ts.map +0 -1
- package/types/fields/Date/index.native.d.ts +0 -14
- package/types/fields/Date/index.native.d.ts.map +0 -1
- package/types/fields/Date/sheetKeyboard.d.ts +0 -20
- package/types/fields/Date/sheetKeyboard.d.ts.map +0 -1
|
@@ -81,39 +81,71 @@ function RecordCard({
|
|
|
81
81
|
press?.nativeEvent?.stopPropagation?.();
|
|
82
82
|
favorite?.toggle();
|
|
83
83
|
};
|
|
84
|
-
const
|
|
85
|
-
|
|
84
|
+
const heart = favorite ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
85
|
+
position: "absolute",
|
|
86
|
+
top: "$1",
|
|
87
|
+
right: "$1",
|
|
88
|
+
zIndex: 2,
|
|
89
|
+
...(import_components.isWeb ? {
|
|
90
|
+
onClickCapture: event => {
|
|
91
|
+
event.preventDefault();
|
|
92
|
+
}
|
|
93
|
+
} : void 0),
|
|
94
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
95
|
+
circular: true,
|
|
96
|
+
chromeless: true,
|
|
97
|
+
minWidth: knobProps.sizeToken,
|
|
98
|
+
minHeight: knobProps.sizeToken,
|
|
99
|
+
...(0, import_theme.transitionProps)(knobProps.motion.control),
|
|
100
|
+
backgroundColor: "$background08",
|
|
101
|
+
hoverStyle: {
|
|
102
|
+
backgroundColor: "$background",
|
|
103
|
+
scale: 1.08
|
|
104
|
+
},
|
|
105
|
+
pressStyle: {
|
|
106
|
+
backgroundColor: "$background",
|
|
107
|
+
scale: 0.92
|
|
108
|
+
},
|
|
109
|
+
onPress: handleToggleFavorite,
|
|
110
|
+
render: "button",
|
|
111
|
+
type: "button",
|
|
112
|
+
col: favorite.active ? "$red9" : "$color11",
|
|
113
|
+
icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.HeartIcon, {
|
|
114
|
+
size: 20,
|
|
115
|
+
weight: favorite.active ? "fill" : "regular"
|
|
116
|
+
}),
|
|
117
|
+
"aria-label": favorite.active ? t("Remove {{name}} from favorites", {
|
|
118
|
+
name: title
|
|
119
|
+
}) : t("Add {{name}} to favorites", {
|
|
120
|
+
name: title
|
|
121
|
+
}),
|
|
122
|
+
"aria-pressed": favorite.active,
|
|
123
|
+
testID: favoriteTestID
|
|
124
|
+
})
|
|
125
|
+
}) : null;
|
|
86
126
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Card, {
|
|
87
127
|
testID,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
...elevationState.pressKnobProps
|
|
102
|
-
},
|
|
103
|
-
...(href ? anchorKeyboardFocus ? import_theme.keyboardFocusRingProps : null : {
|
|
104
|
-
role: "button",
|
|
105
|
-
"aria-label": title,
|
|
106
|
-
onPress: handlePress,
|
|
107
|
-
focusVisibleStyle: focusRing
|
|
128
|
+
media: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
129
|
+
position: "relative",
|
|
130
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ImageWell.ImageWell, {
|
|
131
|
+
sources: images,
|
|
132
|
+
alt: title,
|
|
133
|
+
tint,
|
|
134
|
+
inset: 0.04,
|
|
135
|
+
borderRadius: 0,
|
|
136
|
+
lazy,
|
|
137
|
+
...{
|
|
138
|
+
"data-record-card-media": ""
|
|
139
|
+
}
|
|
140
|
+
}), heart]
|
|
108
141
|
}),
|
|
109
|
-
|
|
142
|
+
overlay: href ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Anchor, {
|
|
110
143
|
href,
|
|
111
144
|
position: "absolute",
|
|
112
145
|
top: 0,
|
|
113
146
|
left: 0,
|
|
114
147
|
right: 0,
|
|
115
148
|
bottom: 0,
|
|
116
|
-
zIndex: 0,
|
|
117
149
|
textDecorationLine: "none",
|
|
118
150
|
outlineWidth: 0,
|
|
119
151
|
"aria-label": title,
|
|
@@ -124,108 +156,56 @@ function RecordCard({
|
|
|
124
156
|
},
|
|
125
157
|
onBlur: () => setAnchorKeyboardFocus(false)
|
|
126
158
|
} : void 0)
|
|
127
|
-
}) :
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}),
|
|
179
|
-
"aria-label": favorite.active ? t("Remove {{name}} from favorites", {
|
|
180
|
-
name: title
|
|
181
|
-
}) : t("Add {{name}} to favorites", {
|
|
182
|
-
name: title
|
|
183
|
-
}),
|
|
184
|
-
"aria-pressed": favorite.active,
|
|
185
|
-
testID: favoriteTestID
|
|
186
|
-
})
|
|
187
|
-
}) : null]
|
|
188
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
189
|
-
...knobProps.panelPadding,
|
|
190
|
-
gap: "$1.5",
|
|
191
|
-
pointerEvents: inert,
|
|
192
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
193
|
-
gap: "$2",
|
|
194
|
-
alignItems: "baseline",
|
|
195
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
196
|
-
...knobProps.heading,
|
|
197
|
-
fontWeight: "700",
|
|
198
|
-
fontSize: "$4",
|
|
199
|
-
numberOfLines: 1,
|
|
200
|
-
color: "$color12",
|
|
201
|
-
flexShrink: 1,
|
|
202
|
-
children: title
|
|
203
|
-
}), code ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
204
|
-
fontSize: "$2",
|
|
205
|
-
fontWeight: "700",
|
|
206
|
-
color: "$color10",
|
|
207
|
-
flexShrink: 0,
|
|
208
|
-
...{
|
|
209
|
-
"data-record-card-code": ""
|
|
210
|
-
},
|
|
211
|
-
children: code
|
|
212
|
-
}) : null]
|
|
213
|
-
}), subtitle ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
214
|
-
...knobProps.body,
|
|
215
|
-
fontSize: "$2",
|
|
216
|
-
color: "$color10",
|
|
217
|
-
numberOfLines: 1,
|
|
218
|
-
children: subtitle
|
|
219
|
-
}) : null, badges.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
220
|
-
gap: "$1.5",
|
|
221
|
-
flexWrap: "wrap",
|
|
222
|
-
children: badges.map(badge => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FacetBadge.FacetBadge, {
|
|
223
|
-
label: badge.label,
|
|
224
|
-
tint: badge.tint,
|
|
225
|
-
size: "$3"
|
|
226
|
-
}, badge.value))
|
|
227
|
-
}) : null]
|
|
228
|
-
})]
|
|
229
|
-
})]
|
|
159
|
+
}) : void 0,
|
|
160
|
+
cursor: "pointer",
|
|
161
|
+
...(0, import_theme.transitionProps)(knobProps.motion.control, ["boxShadow", "shadowColor", "shadowOffset", "shadowOpacity", "shadowRadius", "elevation"]),
|
|
162
|
+
hoverStyle: {
|
|
163
|
+
...elevationState.hoverKnobProps
|
|
164
|
+
},
|
|
165
|
+
pressStyle: {
|
|
166
|
+
...elevationState.pressKnobProps
|
|
167
|
+
},
|
|
168
|
+
...(href ? anchorKeyboardFocus ? import_theme.keyboardFocusRingProps : null : {
|
|
169
|
+
role: "button",
|
|
170
|
+
"aria-label": title,
|
|
171
|
+
onPress: handlePress,
|
|
172
|
+
focusVisibleStyle: focusRing
|
|
173
|
+
}),
|
|
174
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
175
|
+
gap: "$2",
|
|
176
|
+
alignItems: "baseline",
|
|
177
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
178
|
+
...knobProps.heading,
|
|
179
|
+
fontWeight: "700",
|
|
180
|
+
fontSize: "$4",
|
|
181
|
+
numberOfLines: 1,
|
|
182
|
+
color: "$color12",
|
|
183
|
+
flexShrink: 1,
|
|
184
|
+
children: title
|
|
185
|
+
}), code ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
186
|
+
fontSize: "$2",
|
|
187
|
+
fontWeight: "700",
|
|
188
|
+
color: "$color10",
|
|
189
|
+
flexShrink: 0,
|
|
190
|
+
...{
|
|
191
|
+
"data-record-card-code": ""
|
|
192
|
+
},
|
|
193
|
+
children: code
|
|
194
|
+
}) : null]
|
|
195
|
+
}), subtitle ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
196
|
+
...knobProps.body,
|
|
197
|
+
fontSize: "$2",
|
|
198
|
+
color: "$color10",
|
|
199
|
+
numberOfLines: 1,
|
|
200
|
+
children: subtitle
|
|
201
|
+
}) : null, badges.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
202
|
+
gap: "$1.5",
|
|
203
|
+
flexWrap: "wrap",
|
|
204
|
+
children: badges.map(badge => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FacetBadge.FacetBadge, {
|
|
205
|
+
label: badge.label,
|
|
206
|
+
tint: badge.tint,
|
|
207
|
+
size: "$3"
|
|
208
|
+
}, badge.value))
|
|
209
|
+
}) : null]
|
|
230
210
|
});
|
|
231
211
|
}
|
|
@@ -33,6 +33,7 @@ var import_forms = require("@multiplatform.one/forms");
|
|
|
33
33
|
var import_theme = require("@multiplatform.one/theme");
|
|
34
34
|
var import_react = require("@phosphor-icons/react");
|
|
35
35
|
var import_react_i18next = require("react-i18next");
|
|
36
|
+
var import_tamagui = require("tamagui");
|
|
36
37
|
var import_FacetBadge = require("./FacetBadge.native.js");
|
|
37
38
|
var import_ImageWell = require("./ImageWell.native.js");
|
|
38
39
|
function RecordCard(param) {
|
|
@@ -48,6 +49,7 @@ function RecordCard(param) {
|
|
|
48
49
|
testID,
|
|
49
50
|
favoriteTestID
|
|
50
51
|
} = param;
|
|
52
|
+
var _this;
|
|
51
53
|
var {
|
|
52
54
|
t
|
|
53
55
|
} = (0, import_react_i18next.useTranslation)();
|
|
@@ -57,21 +59,58 @@ function RecordCard(param) {
|
|
|
57
59
|
} = (0, import_theme.useResolvedKnobs)({
|
|
58
60
|
component: "Card"
|
|
59
61
|
});
|
|
62
|
+
var theme = (0, import_tamagui.useTheme)();
|
|
60
63
|
var handleToggleFavorite = function handleToggleFavorite2(event) {
|
|
61
64
|
var _event_stopPropagation;
|
|
62
65
|
event === null || event === void 0 ? void 0 : (_event_stopPropagation = event.stopPropagation) === null || _event_stopPropagation === void 0 ? void 0 : _event_stopPropagation.call(event);
|
|
63
66
|
favorite === null || favorite === void 0 ? void 0 : favorite.toggle();
|
|
64
67
|
};
|
|
65
|
-
return /* @__PURE__ */(0, import_jsx_runtime.
|
|
68
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Card, {
|
|
66
69
|
testID,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
media: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
71
|
+
position: "relative",
|
|
72
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ImageWell.ImageWell, {
|
|
73
|
+
sources: images,
|
|
74
|
+
alt: title,
|
|
75
|
+
tint,
|
|
76
|
+
inset: 0.04,
|
|
77
|
+
borderRadius: 0,
|
|
78
|
+
...{
|
|
79
|
+
"data-record-card-media": ""
|
|
80
|
+
}
|
|
81
|
+
}), favorite ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
82
|
+
position: "absolute",
|
|
83
|
+
top: "$1",
|
|
84
|
+
right: "$1",
|
|
85
|
+
zIndex: 2,
|
|
86
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
87
|
+
circular: true,
|
|
88
|
+
chromeless: true,
|
|
89
|
+
minWidth: knobProps.sizeToken,
|
|
90
|
+
minHeight: knobProps.sizeToken,
|
|
91
|
+
...(0, import_theme.transitionProps)(knobProps.motion.control),
|
|
92
|
+
backgroundColor: "$background08",
|
|
93
|
+
pressStyle: {
|
|
94
|
+
backgroundColor: "$background",
|
|
95
|
+
scale: 0.92
|
|
96
|
+
},
|
|
97
|
+
onPress: handleToggleFavorite,
|
|
98
|
+
col: favorite.active ? "$red9" : "$color11",
|
|
99
|
+
icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.HeartIcon, {
|
|
100
|
+
size: 20,
|
|
101
|
+
weight: favorite.active ? "fill" : "regular",
|
|
102
|
+
color: (_this = favorite.active ? theme.red9 : theme.color11) === null || _this === void 0 ? void 0 : _this.val
|
|
103
|
+
}),
|
|
104
|
+
"aria-label": favorite.active ? t("Remove {{name}} from favorites", {
|
|
105
|
+
name: title
|
|
106
|
+
}) : t("Add {{name}} to favorites", {
|
|
107
|
+
name: title
|
|
108
|
+
}),
|
|
109
|
+
"aria-pressed": favorite.active,
|
|
110
|
+
testID: favoriteTestID
|
|
111
|
+
})
|
|
112
|
+
}) : null]
|
|
113
|
+
}),
|
|
75
114
|
...(0, import_theme.transitionProps)(knobProps.motion.control, ["boxShadow", "shadowColor", "shadowOffset", "shadowOpacity", "shadowRadius", "elevation"]),
|
|
76
115
|
pressStyle: {
|
|
77
116
|
scale: 0.98,
|
|
@@ -82,93 +121,44 @@ function RecordCard(param) {
|
|
|
82
121
|
onPress: function onPress1() {
|
|
83
122
|
return onPress === null || onPress === void 0 ? void 0 : onPress();
|
|
84
123
|
},
|
|
85
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.
|
|
86
|
-
gap:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
name: title
|
|
124
|
-
}),
|
|
125
|
-
"aria-pressed": favorite.active,
|
|
126
|
-
testID: favoriteTestID
|
|
127
|
-
})
|
|
128
|
-
}) : null]
|
|
129
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
130
|
-
...knobProps.panelPadding,
|
|
131
|
-
gap: "$1.5",
|
|
132
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
133
|
-
gap: "$2",
|
|
134
|
-
alignItems: "baseline",
|
|
135
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
136
|
-
...knobProps.heading,
|
|
137
|
-
fontWeight: "700",
|
|
138
|
-
fontSize: "$4",
|
|
139
|
-
numberOfLines: 1,
|
|
140
|
-
color: "$color12",
|
|
141
|
-
flexShrink: 1,
|
|
142
|
-
children: title
|
|
143
|
-
}), code ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
144
|
-
fontSize: "$2",
|
|
145
|
-
fontWeight: "700",
|
|
146
|
-
color: "$color10",
|
|
147
|
-
flexShrink: 0,
|
|
148
|
-
...{
|
|
149
|
-
"data-record-card-code": ""
|
|
150
|
-
},
|
|
151
|
-
children: code
|
|
152
|
-
}) : null]
|
|
153
|
-
}), subtitle ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
154
|
-
...knobProps.body,
|
|
155
|
-
fontSize: "$2",
|
|
156
|
-
color: "$color10",
|
|
157
|
-
numberOfLines: 1,
|
|
158
|
-
children: subtitle
|
|
159
|
-
}) : null, badges.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
160
|
-
gap: "$1.5",
|
|
161
|
-
flexWrap: "wrap",
|
|
162
|
-
children: badges.map(function (badge) {
|
|
163
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FacetBadge.FacetBadge, {
|
|
164
|
-
label: badge.label,
|
|
165
|
-
tint: badge.tint,
|
|
166
|
-
size: "$3"
|
|
167
|
-
}, badge.value);
|
|
168
|
-
})
|
|
169
|
-
}) : null]
|
|
170
|
-
})]
|
|
171
|
-
})
|
|
124
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
125
|
+
gap: "$2",
|
|
126
|
+
alignItems: "baseline",
|
|
127
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
128
|
+
...knobProps.heading,
|
|
129
|
+
fontWeight: "700",
|
|
130
|
+
fontSize: "$4",
|
|
131
|
+
numberOfLines: 1,
|
|
132
|
+
color: "$color12",
|
|
133
|
+
flexShrink: 1,
|
|
134
|
+
children: title
|
|
135
|
+
}), code ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
136
|
+
fontSize: "$2",
|
|
137
|
+
fontWeight: "700",
|
|
138
|
+
color: "$color10",
|
|
139
|
+
flexShrink: 0,
|
|
140
|
+
...{
|
|
141
|
+
"data-record-card-code": ""
|
|
142
|
+
},
|
|
143
|
+
children: code
|
|
144
|
+
}) : null]
|
|
145
|
+
}), subtitle ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
146
|
+
...knobProps.body,
|
|
147
|
+
fontSize: "$2",
|
|
148
|
+
color: "$color10",
|
|
149
|
+
numberOfLines: 1,
|
|
150
|
+
children: subtitle
|
|
151
|
+
}) : null, badges.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
152
|
+
gap: "$1.5",
|
|
153
|
+
flexWrap: "wrap",
|
|
154
|
+
children: badges.map(function (badge) {
|
|
155
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_FacetBadge.FacetBadge, {
|
|
156
|
+
label: badge.label,
|
|
157
|
+
tint: badge.tint,
|
|
158
|
+
size: "$3"
|
|
159
|
+
}, badge.value);
|
|
160
|
+
})
|
|
161
|
+
}) : null]
|
|
172
162
|
});
|
|
173
163
|
}
|
|
174
164
|
//# sourceMappingURL=RecordCard.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RecordCard_native_exports","__export","RecordCard","module","exports","__toCommonJS","import_jsx_runtime","require","import_components","import_forms","import_theme","import_react","import_react_i18next","import_FacetBadge","import_ImageWell","param","title","subtitle","code","images","tint","badges","onPress","favorite","testID","favoriteTestID","t","useTranslation","knobProps","elevation","elevationState","useResolvedKnobs","component","handleToggleFavorite","handleToggleFavorite2","event","_event_stopPropagation","stopPropagation","call","toggle","
|
|
1
|
+
{"version":3,"names":["RecordCard_native_exports","__export","RecordCard","module","exports","__toCommonJS","import_jsx_runtime","require","import_components","import_forms","import_theme","import_react","import_react_i18next","import_tamagui","import_FacetBadge","import_ImageWell","param","title","subtitle","code","images","tint","badges","onPress","favorite","testID","favoriteTestID","_this","t","useTranslation","knobProps","elevation","elevationState","useResolvedKnobs","component","theme","useTheme","handleToggleFavorite","handleToggleFavorite2","event","_event_stopPropagation","stopPropagation","call","toggle","jsxs","Card","media","YStack","position","children","jsx","ImageWell","sources","alt","inset","borderRadius","XStack","top","right","zIndex","Button","circular","chromeless","minWidth","sizeToken","minHeight","transitionProps","motion","control","backgroundColor","pressStyle","scale","col","active","icon","HeartIcon","size","weight","color","red9","color11","val","name","pressKnobProps","role","onPress1","gap","alignItems","Text","heading","fontWeight","fontSize","numberOfLines","flexShrink","body","length","flexWrap","map","badge","FacetBadge","label","value"],"sources":["../../../src/list/RecordCard.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -31,7 +31,6 @@ var import_react = require("@phosphor-icons/react");
|
|
|
31
31
|
var import_react2 = require("react");
|
|
32
32
|
var import_react_i18next = require("react-i18next");
|
|
33
33
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
34
|
-
const pickWidth = "$12";
|
|
35
34
|
function randomOtherIndex(current, length) {
|
|
36
35
|
if (length < 2) return Math.max(0, current);
|
|
37
36
|
const offset = 1 + Math.floor(Math.random() * (length - 1));
|
|
@@ -44,6 +43,7 @@ function ShufflePanel({
|
|
|
44
43
|
itemLabel,
|
|
45
44
|
renderPick,
|
|
46
45
|
onGo,
|
|
46
|
+
grid,
|
|
47
47
|
testID
|
|
48
48
|
}) {
|
|
49
49
|
const {
|
|
@@ -52,6 +52,10 @@ function ShufflePanel({
|
|
|
52
52
|
const {
|
|
53
53
|
knobProps
|
|
54
54
|
} = (0, import_theme.useResolvedKnobs)();
|
|
55
|
+
const {
|
|
56
|
+
columns,
|
|
57
|
+
gutter
|
|
58
|
+
} = (0, import_components.useImageGridGeometry)(grid);
|
|
55
59
|
const named = (0, import_react2.useMemo)(() => rows.filter(row => row.name), [rows]);
|
|
56
60
|
const items = (0, import_react2.useMemo)(() => named.map(row => ({
|
|
57
61
|
value: row.name,
|
|
@@ -64,49 +68,66 @@ function ShufflePanel({
|
|
|
64
68
|
const current = named.findIndex(row => row.name === pick.name);
|
|
65
69
|
setSelected(named[randomOtherIndex(current, named.length)]?.name ?? "");
|
|
66
70
|
};
|
|
71
|
+
const pickLabel = itemLabel(pick);
|
|
72
|
+
const tracks = Math.max(2, columns);
|
|
67
73
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
68
74
|
id,
|
|
69
75
|
role: "region",
|
|
70
76
|
"aria-label": label,
|
|
71
|
-
|
|
72
|
-
...knobProps.borderRadius,
|
|
73
|
-
...knobProps.panelPadding,
|
|
74
|
-
...knobProps.gap,
|
|
77
|
+
gap: gutter,
|
|
75
78
|
alignItems: "center",
|
|
76
|
-
flexWrap: "wrap",
|
|
77
79
|
testID,
|
|
78
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
loop: true,
|
|
84
|
-
"aria-label": label
|
|
85
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
86
|
-
width: pickWidth,
|
|
87
|
-
flexShrink: 0,
|
|
88
|
-
children: renderPick(pick)
|
|
89
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
90
|
-
...knobProps.gap,
|
|
80
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
81
|
+
flexGrow: tracks - 1,
|
|
82
|
+
flexShrink: 1,
|
|
83
|
+
flexBasis: gutter * (tracks - 2),
|
|
84
|
+
minWidth: 0,
|
|
91
85
|
alignItems: "center",
|
|
92
|
-
|
|
93
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
86
|
+
...knobProps.gap,
|
|
87
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Wheel, {
|
|
88
|
+
items,
|
|
89
|
+
value: pick.name,
|
|
90
|
+
onChange: next => setSelected(String(next)),
|
|
91
|
+
visibleItems: 3,
|
|
92
|
+
loop: true,
|
|
93
|
+
"aria-label": label
|
|
94
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
95
|
+
alignItems: "center",
|
|
96
|
+
gap: "$2",
|
|
97
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Tooltip, {
|
|
98
|
+
content: t("Shuffle"),
|
|
99
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
|
|
100
|
+
chromeless: true,
|
|
101
|
+
accentInk: true,
|
|
102
|
+
circular: true,
|
|
103
|
+
icon: import_react.ShuffleIcon,
|
|
104
|
+
"aria-label": t("Shuffle"),
|
|
105
|
+
onPress: spin,
|
|
106
|
+
testID: testID ? `${testID}-spin` : void 0
|
|
107
|
+
})
|
|
108
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Tooltip, {
|
|
109
|
+
content: t("Open {{name}}", {
|
|
110
|
+
name: pickLabel
|
|
111
|
+
}),
|
|
112
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
|
|
113
|
+
chromeless: true,
|
|
114
|
+
accentInk: true,
|
|
115
|
+
circular: true,
|
|
116
|
+
icon: import_react.ArrowRightIcon,
|
|
117
|
+
"aria-label": t("Open {{name}}", {
|
|
118
|
+
name: pickLabel
|
|
119
|
+
}),
|
|
120
|
+
onPress: () => onGo(pick),
|
|
121
|
+
testID: testID ? `${testID}-go` : void 0
|
|
122
|
+
})
|
|
123
|
+
})]
|
|
109
124
|
})]
|
|
125
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
126
|
+
flexGrow: 1,
|
|
127
|
+
flexShrink: 1,
|
|
128
|
+
flexBasis: 0,
|
|
129
|
+
minWidth: 0,
|
|
130
|
+
children: renderPick(pick)
|
|
110
131
|
})]
|
|
111
132
|
});
|
|
112
133
|
}
|