@fire-spark/rn-ui 0.0.3 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/product-detail.d.ts +7 -1
- package/dist/product-detail.js +29 -1
- package/package.json +1 -1
package/dist/product-detail.d.ts
CHANGED
|
@@ -78,6 +78,12 @@ declare const ProductDetailOptionLabel: ({ className, ...rest }: ViewProps) => R
|
|
|
78
78
|
declare const ProductDetailOptionName: ({ className, ...rest }: TextProps) => React.JSX.Element;
|
|
79
79
|
declare const ProductDetailOptionPrice: ({ className, ...rest }: TextProps) => React.JSX.Element;
|
|
80
80
|
declare const ProductDetailOptionControl: ({ className, ...rest }: ViewProps) => React.JSX.Element;
|
|
81
|
+
type OptionMarkProps = ViewProps & {
|
|
82
|
+
checked?: boolean;
|
|
83
|
+
};
|
|
84
|
+
/** Selection mark for `ProductDetailOptionControl`; the row owns the a11y role. */
|
|
85
|
+
declare const ProductDetailOptionRadio: (props: OptionMarkProps) => React.JSX.Element;
|
|
86
|
+
declare const ProductDetailOptionCheckbox: (props: OptionMarkProps) => React.JSX.Element;
|
|
81
87
|
declare const ProductDetailVariantGroup: ({ className, ...rest }: ViewProps) => React.JSX.Element;
|
|
82
88
|
declare const ProductDetailVariantOptions: ({ className, ...rest }: ViewProps) => React.JSX.Element;
|
|
83
89
|
type VariantOptionProps = PressableProps & {
|
|
@@ -92,4 +98,4 @@ declare const ProductDetailRelatedGrid: ({ className, ...rest }: ViewProps) => R
|
|
|
92
98
|
declare const ProductDetailFooter: ({ className, ...rest }: ViewProps) => React.JSX.Element;
|
|
93
99
|
declare const ProductDetailSubmit: ({ children, className, ...rest }: PressableProps) => React.JSX.Element;
|
|
94
100
|
//#endregion
|
|
95
|
-
export { ProductDetail, ProductDetailActions, ProductDetailAnchorPrice, ProductDetailBack, ProductDetailBadge, ProductDetailBody, ProductDetailContextMeta, ProductDetailContextValue, ProductDetailDescription, ProductDetailDiscount, ProductDetailFooter, ProductDetailGroup, ProductDetailGroupDescription, ProductDetailGroupHeader, ProductDetailGroupHint, ProductDetailGroupRequired, ProductDetailGroupTitle, ProductDetailGroups, ProductDetailHeader, ProductDetailImage, ProductDetailImageSlot, ProductDetailLayout, ProductDetailMedia, ProductDetailMeta, ProductDetailOption, ProductDetailOptionControl, ProductDetailOptionLabel, ProductDetailOptionName, ProductDetailOptionPrice, ProductDetailOptions, ProductDetailPanel, ProductDetailPrice, ProductDetailProvider, ProductDetailProviderProps, ProductDetailQuantities, ProductDetailRelated, ProductDetailRelatedGrid, ProductDetailRelatedTitle, ProductDetailState, ProductDetailSubmit, ProductDetailTitle, ProductDetailVariantGroup, ProductDetailVariantOption, ProductDetailVariantOptionImage, ProductDetailVariantOptions, useProductDetail };
|
|
101
|
+
export { ProductDetail, ProductDetailActions, ProductDetailAnchorPrice, ProductDetailBack, ProductDetailBadge, ProductDetailBody, ProductDetailContextMeta, ProductDetailContextValue, ProductDetailDescription, ProductDetailDiscount, ProductDetailFooter, ProductDetailGroup, ProductDetailGroupDescription, ProductDetailGroupHeader, ProductDetailGroupHint, ProductDetailGroupRequired, ProductDetailGroupTitle, ProductDetailGroups, ProductDetailHeader, ProductDetailImage, ProductDetailImageSlot, ProductDetailLayout, ProductDetailMedia, ProductDetailMeta, ProductDetailOption, ProductDetailOptionCheckbox, ProductDetailOptionControl, ProductDetailOptionLabel, ProductDetailOptionName, ProductDetailOptionPrice, ProductDetailOptionRadio, ProductDetailOptions, ProductDetailPanel, ProductDetailPrice, ProductDetailProvider, ProductDetailProviderProps, ProductDetailQuantities, ProductDetailRelated, ProductDetailRelatedGrid, ProductDetailRelatedTitle, ProductDetailState, ProductDetailSubmit, ProductDetailTitle, ProductDetailVariantGroup, ProductDetailVariantOption, ProductDetailVariantOptionImage, ProductDetailVariantOptions, useProductDetail };
|
package/dist/product-detail.js
CHANGED
|
@@ -139,6 +139,10 @@ const groupHeaderBase = "flex-row items-start justify-between gap-3";
|
|
|
139
139
|
const groupDescBase = "text-muted-foreground text-xs";
|
|
140
140
|
const optPriceBase = "text-muted-foreground text-sm tabular-nums";
|
|
141
141
|
const optControlBase = "shrink-0 flex-row items-center gap-2";
|
|
142
|
+
const markBase = "size-5 shrink-0 items-center justify-center border-2";
|
|
143
|
+
const radioBase = `${markBase} rounded-full`;
|
|
144
|
+
const checkboxBase = `${markBase} rounded-md`;
|
|
145
|
+
const tickBase = "text-primary-foreground text-xs font-bold leading-none";
|
|
142
146
|
const metaBase = "flex-row flex-wrap items-center gap-2";
|
|
143
147
|
const variantOptionBase = `min-w-24 items-center gap-2 rounded-xl border px-3 py-3`;
|
|
144
148
|
const variantOptionOn = "border-foreground bg-muted";
|
|
@@ -177,6 +181,30 @@ const ProductDetailOptionLabel = view("min-w-0 flex-1");
|
|
|
177
181
|
const ProductDetailOptionName = text(optionNameBase);
|
|
178
182
|
const ProductDetailOptionPrice = text(optPriceBase);
|
|
179
183
|
const ProductDetailOptionControl = view(optControlBase);
|
|
184
|
+
/** Selection mark for `ProductDetailOptionControl`; the row owns the a11y role. */
|
|
185
|
+
const ProductDetailOptionRadio = (props) => {
|
|
186
|
+
const { checked = false, className, children, ...rest } = props;
|
|
187
|
+
const tone = checked ? "border-primary" : "border-input";
|
|
188
|
+
const fill = checked ? children ?? /* @__PURE__ */ jsx(View, { className: "bg-primary size-2.5 rounded-full" }) : null;
|
|
189
|
+
return /* @__PURE__ */ jsx(View, {
|
|
190
|
+
className: cn(radioBase, tone, className),
|
|
191
|
+
...rest,
|
|
192
|
+
children: fill
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
const ProductDetailOptionCheckbox = (props) => {
|
|
196
|
+
const { checked = false, className, children, ...rest } = props;
|
|
197
|
+
const tone = checked ? "border-primary bg-primary" : "border-input";
|
|
198
|
+
const fill = checked ? children ?? /* @__PURE__ */ jsx(Text, {
|
|
199
|
+
className: tickBase,
|
|
200
|
+
children: "✓"
|
|
201
|
+
}) : null;
|
|
202
|
+
return /* @__PURE__ */ jsx(View, {
|
|
203
|
+
className: cn(checkboxBase, tone, className),
|
|
204
|
+
...rest,
|
|
205
|
+
children: fill
|
|
206
|
+
});
|
|
207
|
+
};
|
|
180
208
|
const ProductDetailVariantGroup = view("flex-col gap-3");
|
|
181
209
|
const ProductDetailVariantOptions = view("flex-row flex-wrap gap-2");
|
|
182
210
|
const ProductDetailVariantOption = (props) => {
|
|
@@ -212,4 +240,4 @@ const ProductDetailRelatedGrid = view("flex-row flex-wrap gap-3");
|
|
|
212
240
|
const ProductDetailFooter = view(footerBase);
|
|
213
241
|
const ProductDetailSubmit = button(submitBase, submitLabel);
|
|
214
242
|
//#endregion
|
|
215
|
-
export { ProductDetail, ProductDetailAnchorPrice, ProductDetailBack, ProductDetailBadge, ProductDetailBody, ProductDetailDescription, ProductDetailDiscount, ProductDetailFooter, ProductDetailGroup, ProductDetailGroupDescription, ProductDetailGroupHeader, ProductDetailGroupHint, ProductDetailGroupRequired, ProductDetailGroupTitle, ProductDetailGroups, ProductDetailHeader, ProductDetailImage, ProductDetailImageSlot, ProductDetailLayout, ProductDetailMedia, ProductDetailMeta, ProductDetailOption, ProductDetailOptionControl, ProductDetailOptionLabel, ProductDetailOptionName, ProductDetailOptionPrice, ProductDetailOptions, ProductDetailPanel, ProductDetailPrice, ProductDetailProvider, ProductDetailRelated, ProductDetailRelatedGrid, ProductDetailRelatedTitle, ProductDetailSubmit, ProductDetailTitle, ProductDetailVariantGroup, ProductDetailVariantOption, ProductDetailVariantOptionImage, ProductDetailVariantOptions, useProductDetail };
|
|
243
|
+
export { ProductDetail, ProductDetailAnchorPrice, ProductDetailBack, ProductDetailBadge, ProductDetailBody, ProductDetailDescription, ProductDetailDiscount, ProductDetailFooter, ProductDetailGroup, ProductDetailGroupDescription, ProductDetailGroupHeader, ProductDetailGroupHint, ProductDetailGroupRequired, ProductDetailGroupTitle, ProductDetailGroups, ProductDetailHeader, ProductDetailImage, ProductDetailImageSlot, ProductDetailLayout, ProductDetailMedia, ProductDetailMeta, ProductDetailOption, ProductDetailOptionCheckbox, ProductDetailOptionControl, ProductDetailOptionLabel, ProductDetailOptionName, ProductDetailOptionPrice, ProductDetailOptionRadio, ProductDetailOptions, ProductDetailPanel, ProductDetailPrice, ProductDetailProvider, ProductDetailRelated, ProductDetailRelatedGrid, ProductDetailRelatedTitle, ProductDetailSubmit, ProductDetailTitle, ProductDetailVariantGroup, ProductDetailVariantOption, ProductDetailVariantOptionImage, ProductDetailVariantOptions, useProductDetail };
|