@spark-ui/components 10.0.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/CHANGELOG.md +15 -0
- package/LICENSE.md +21 -0
- package/README.md +19 -0
- package/dist/DialogTrigger-5SI4dvpK.d.mts +142 -0
- package/dist/DialogTrigger-5SI4dvpK.d.ts +142 -0
- package/dist/Input-g0LpWuv0.d.mts +17 -0
- package/dist/Input-g0LpWuv0.d.ts +17 -0
- package/dist/InputGroup-aoaZxCLk.d.mts +28 -0
- package/dist/InputGroup-aoaZxCLk.d.ts +28 -0
- package/dist/InputTrailingIcon-BBp7sE6D.d.mts +20 -0
- package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +20 -0
- package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +19 -0
- package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +19 -0
- package/dist/accordion/index.d.mts +85 -0
- package/dist/accordion/index.d.ts +85 -0
- package/dist/accordion/index.js +461 -0
- package/dist/accordion/index.js.map +1 -0
- package/dist/accordion/index.mjs +249 -0
- package/dist/accordion/index.mjs.map +1 -0
- package/dist/alert-dialog/index.d.mts +119 -0
- package/dist/alert-dialog/index.d.ts +119 -0
- package/dist/alert-dialog/index.js +1451 -0
- package/dist/alert-dialog/index.js.map +1 -0
- package/dist/alert-dialog/index.mjs +177 -0
- package/dist/alert-dialog/index.mjs.map +1 -0
- package/dist/badge/index.d.mts +47 -0
- package/dist/badge/index.d.ts +47 -0
- package/dist/badge/index.js +122 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/badge/index.mjs +95 -0
- package/dist/badge/index.mjs.map +1 -0
- package/dist/breadcrumb/index.d.mts +64 -0
- package/dist/breadcrumb/index.d.ts +64 -0
- package/dist/breadcrumb/index.js +326 -0
- package/dist/breadcrumb/index.js.map +1 -0
- package/dist/breadcrumb/index.mjs +149 -0
- package/dist/breadcrumb/index.mjs.map +1 -0
- package/dist/button/index.d.mts +40 -0
- package/dist/button/index.d.ts +40 -0
- package/dist/button/index.js +877 -0
- package/dist/button/index.js.map +1 -0
- package/dist/button/index.mjs +10 -0
- package/dist/button/index.mjs.map +1 -0
- package/dist/carousel/index.d.mts +253 -0
- package/dist/carousel/index.d.ts +253 -0
- package/dist/carousel/index.js +1678 -0
- package/dist/carousel/index.js.map +1 -0
- package/dist/carousel/index.mjs +716 -0
- package/dist/carousel/index.mjs.map +1 -0
- package/dist/checkbox/index.d.mts +120 -0
- package/dist/checkbox/index.d.ts +120 -0
- package/dist/checkbox/index.js +873 -0
- package/dist/checkbox/index.js.map +1 -0
- package/dist/checkbox/index.mjs +349 -0
- package/dist/checkbox/index.mjs.map +1 -0
- package/dist/chip/index.d.mts +97 -0
- package/dist/chip/index.d.ts +97 -0
- package/dist/chip/index.js +905 -0
- package/dist/chip/index.js.map +1 -0
- package/dist/chip/index.mjs +793 -0
- package/dist/chip/index.mjs.map +1 -0
- package/dist/chunk-2KPFQEAA.mjs +52 -0
- package/dist/chunk-2KPFQEAA.mjs.map +1 -0
- package/dist/chunk-4F5DOL57.mjs +26 -0
- package/dist/chunk-4F5DOL57.mjs.map +1 -0
- package/dist/chunk-6JOA37TZ.mjs +742 -0
- package/dist/chunk-6JOA37TZ.mjs.map +1 -0
- package/dist/chunk-7PMPYEHJ.mjs +379 -0
- package/dist/chunk-7PMPYEHJ.mjs.map +1 -0
- package/dist/chunk-AESXFMCC.mjs +68 -0
- package/dist/chunk-AESXFMCC.mjs.map +1 -0
- package/dist/chunk-B42LOFIZ.mjs +308 -0
- package/dist/chunk-B42LOFIZ.mjs.map +1 -0
- package/dist/chunk-FGOZHKBT.mjs +97 -0
- package/dist/chunk-FGOZHKBT.mjs.map +1 -0
- package/dist/chunk-HLXYG643.mjs +52 -0
- package/dist/chunk-HLXYG643.mjs.map +1 -0
- package/dist/chunk-JKNBJHD5.mjs +601 -0
- package/dist/chunk-JKNBJHD5.mjs.map +1 -0
- package/dist/chunk-K7VP7DH3.mjs +66 -0
- package/dist/chunk-K7VP7DH3.mjs.map +1 -0
- package/dist/chunk-MUNDKRAE.mjs +80 -0
- package/dist/chunk-MUNDKRAE.mjs.map +1 -0
- package/dist/chunk-NBZKMCHF.mjs +36 -0
- package/dist/chunk-NBZKMCHF.mjs.map +1 -0
- package/dist/chunk-PZWESKAR.mjs +314 -0
- package/dist/chunk-PZWESKAR.mjs.map +1 -0
- package/dist/collapsible/index.d.mts +60 -0
- package/dist/collapsible/index.d.ts +60 -0
- package/dist/collapsible/index.js +140 -0
- package/dist/collapsible/index.js.map +1 -0
- package/dist/collapsible/index.mjs +8 -0
- package/dist/collapsible/index.mjs.map +1 -0
- package/dist/combobox/index.d.mts +285 -0
- package/dist/combobox/index.d.ts +285 -0
- package/dist/combobox/index.js +2920 -0
- package/dist/combobox/index.js.map +1 -0
- package/dist/combobox/index.mjs +1267 -0
- package/dist/combobox/index.mjs.map +1 -0
- package/dist/dialog/index.d.mts +33 -0
- package/dist/dialog/index.d.ts +33 -0
- package/dist/dialog/index.js +1286 -0
- package/dist/dialog/index.js.map +1 -0
- package/dist/dialog/index.mjs +13 -0
- package/dist/dialog/index.mjs.map +1 -0
- package/dist/divider/index.d.mts +61 -0
- package/dist/divider/index.d.ts +61 -0
- package/dist/divider/index.js +223 -0
- package/dist/divider/index.js.map +1 -0
- package/dist/divider/index.mjs +196 -0
- package/dist/divider/index.mjs.map +1 -0
- package/dist/drawer/index.d.mts +148 -0
- package/dist/drawer/index.d.ts +148 -0
- package/dist/drawer/index.js +1266 -0
- package/dist/drawer/index.js.map +1 -0
- package/dist/drawer/index.mjs +299 -0
- package/dist/drawer/index.mjs.map +1 -0
- package/dist/dropdown/index.d.mts +233 -0
- package/dist/dropdown/index.d.ts +233 -0
- package/dist/dropdown/index.js +2402 -0
- package/dist/dropdown/index.js.map +1 -0
- package/dist/dropdown/index.mjs +741 -0
- package/dist/dropdown/index.mjs.map +1 -0
- package/dist/form-field/index.d.mts +176 -0
- package/dist/form-field/index.d.ts +176 -0
- package/dist/form-field/index.js +540 -0
- package/dist/form-field/index.js.map +1 -0
- package/dist/form-field/index.mjs +13 -0
- package/dist/form-field/index.mjs.map +1 -0
- package/dist/icon/index.d.mts +28 -0
- package/dist/icon/index.d.ts +28 -0
- package/dist/icon/index.js +127 -0
- package/dist/icon/index.js.map +1 -0
- package/dist/icon/index.mjs +9 -0
- package/dist/icon/index.mjs.map +1 -0
- package/dist/icon-button/index.d.mts +16 -0
- package/dist/icon-button/index.d.ts +16 -0
- package/dist/icon-button/index.js +921 -0
- package/dist/icon-button/index.js.map +1 -0
- package/dist/icon-button/index.mjs +11 -0
- package/dist/icon-button/index.mjs.map +1 -0
- package/dist/input/index.d.mts +78 -0
- package/dist/input/index.d.ts +78 -0
- package/dist/input/index.js +1119 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/index.mjs +16 -0
- package/dist/input/index.mjs.map +1 -0
- package/dist/kbd/index.d.mts +9 -0
- package/dist/kbd/index.d.ts +9 -0
- package/dist/kbd/index.js +46 -0
- package/dist/kbd/index.js.map +1 -0
- package/dist/kbd/index.mjs +19 -0
- package/dist/kbd/index.mjs.map +1 -0
- package/dist/label/index.d.mts +11 -0
- package/dist/label/index.d.ts +11 -0
- package/dist/label/index.js +78 -0
- package/dist/label/index.js.map +1 -0
- package/dist/label/index.mjs +7 -0
- package/dist/label/index.mjs.map +1 -0
- package/dist/link-box/index.d.mts +34 -0
- package/dist/link-box/index.d.ts +34 -0
- package/dist/link-box/index.js +92 -0
- package/dist/link-box/index.js.map +1 -0
- package/dist/link-box/index.mjs +58 -0
- package/dist/link-box/index.mjs.map +1 -0
- package/dist/pagination/index.d.mts +143 -0
- package/dist/pagination/index.d.ts +143 -0
- package/dist/pagination/index.js +1303 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/pagination/index.mjs +326 -0
- package/dist/pagination/index.mjs.map +1 -0
- package/dist/popover/index.d.mts +93 -0
- package/dist/popover/index.d.ts +93 -0
- package/dist/popover/index.js +1280 -0
- package/dist/popover/index.js.map +1 -0
- package/dist/popover/index.mjs +13 -0
- package/dist/popover/index.mjs.map +1 -0
- package/dist/portal/index.d.mts +13 -0
- package/dist/portal/index.d.ts +13 -0
- package/dist/portal/index.js +37 -0
- package/dist/portal/index.js.map +1 -0
- package/dist/portal/index.mjs +10 -0
- package/dist/portal/index.mjs.map +1 -0
- package/dist/progress/index.d.mts +48 -0
- package/dist/progress/index.d.ts +48 -0
- package/dist/progress/index.js +201 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/index.mjs +174 -0
- package/dist/progress/index.mjs.map +1 -0
- package/dist/progress-tracker/index.d.mts +81 -0
- package/dist/progress-tracker/index.d.ts +81 -0
- package/dist/progress-tracker/index.js +834 -0
- package/dist/progress-tracker/index.js.map +1 -0
- package/dist/progress-tracker/index.mjs +716 -0
- package/dist/progress-tracker/index.mjs.map +1 -0
- package/dist/radio-group/index.d.mts +100 -0
- package/dist/radio-group/index.d.ts +100 -0
- package/dist/radio-group/index.js +824 -0
- package/dist/radio-group/index.js.map +1 -0
- package/dist/radio-group/index.mjs +297 -0
- package/dist/radio-group/index.mjs.map +1 -0
- package/dist/rating/index.d.mts +78 -0
- package/dist/rating/index.d.ts +78 -0
- package/dist/rating/index.js +362 -0
- package/dist/rating/index.js.map +1 -0
- package/dist/rating/index.mjs +247 -0
- package/dist/rating/index.mjs.map +1 -0
- package/dist/scrolling-list/index.d.mts +105 -0
- package/dist/scrolling-list/index.d.ts +105 -0
- package/dist/scrolling-list/index.js +1367 -0
- package/dist/scrolling-list/index.js.map +1 -0
- package/dist/scrolling-list/index.mjs +407 -0
- package/dist/scrolling-list/index.mjs.map +1 -0
- package/dist/select/index.d.mts +167 -0
- package/dist/select/index.d.ts +167 -0
- package/dist/select/index.js +991 -0
- package/dist/select/index.js.map +1 -0
- package/dist/select/index.mjs +470 -0
- package/dist/select/index.mjs.map +1 -0
- package/dist/skeleton/index.d.mts +67 -0
- package/dist/skeleton/index.d.ts +67 -0
- package/dist/skeleton/index.js +206 -0
- package/dist/skeleton/index.js.map +1 -0
- package/dist/skeleton/index.mjs +147 -0
- package/dist/skeleton/index.mjs.map +1 -0
- package/dist/slider/index.d.mts +97 -0
- package/dist/slider/index.d.ts +97 -0
- package/dist/slider/index.js +209 -0
- package/dist/slider/index.js.map +1 -0
- package/dist/slider/index.mjs +182 -0
- package/dist/slider/index.mjs.map +1 -0
- package/dist/slot/index.d.mts +17 -0
- package/dist/slot/index.d.ts +17 -0
- package/dist/slot/index.js +51 -0
- package/dist/slot/index.js.map +1 -0
- package/dist/slot/index.mjs +11 -0
- package/dist/slot/index.mjs.map +1 -0
- package/dist/snackbar/index.d.mts +158 -0
- package/dist/snackbar/index.d.ts +158 -0
- package/dist/snackbar/index.js +1693 -0
- package/dist/snackbar/index.js.map +1 -0
- package/dist/snackbar/index.mjs +733 -0
- package/dist/snackbar/index.mjs.map +1 -0
- package/dist/spinner/index.d.mts +21 -0
- package/dist/spinner/index.d.ts +21 -0
- package/dist/spinner/index.js +139 -0
- package/dist/spinner/index.js.map +1 -0
- package/dist/spinner/index.mjs +9 -0
- package/dist/spinner/index.mjs.map +1 -0
- package/dist/stepper/index.d.mts +82 -0
- package/dist/stepper/index.d.ts +82 -0
- package/dist/stepper/index.js +2178 -0
- package/dist/stepper/index.js.map +1 -0
- package/dist/stepper/index.mjs +229 -0
- package/dist/stepper/index.mjs.map +1 -0
- package/dist/switch/index.d.mts +64 -0
- package/dist/switch/index.d.ts +64 -0
- package/dist/switch/index.js +768 -0
- package/dist/switch/index.js.map +1 -0
- package/dist/switch/index.mjs +245 -0
- package/dist/switch/index.mjs.map +1 -0
- package/dist/tabs/index.d.mts +103 -0
- package/dist/tabs/index.d.ts +103 -0
- package/dist/tabs/index.js +1315 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs/index.mjs +391 -0
- package/dist/tabs/index.mjs.map +1 -0
- package/dist/tag/index.d.mts +27 -0
- package/dist/tag/index.d.ts +27 -0
- package/dist/tag/index.js +269 -0
- package/dist/tag/index.js.map +1 -0
- package/dist/tag/index.mjs +237 -0
- package/dist/tag/index.mjs.map +1 -0
- package/dist/text-link/index.d.mts +20 -0
- package/dist/text-link/index.d.ts +20 -0
- package/dist/text-link/index.js +99 -0
- package/dist/text-link/index.js.map +1 -0
- package/dist/text-link/index.mjs +8 -0
- package/dist/text-link/index.mjs.map +1 -0
- package/dist/textarea/index.d.mts +47 -0
- package/dist/textarea/index.d.ts +47 -0
- package/dist/textarea/index.js +1180 -0
- package/dist/textarea/index.js.map +1 -0
- package/dist/textarea/index.mjs +77 -0
- package/dist/textarea/index.mjs.map +1 -0
- package/dist/visually-hidden/index.d.mts +16 -0
- package/dist/visually-hidden/index.d.ts +16 -0
- package/dist/visually-hidden/index.js +67 -0
- package/dist/visually-hidden/index.js.map +1 -0
- package/dist/visually-hidden/index.mjs +8 -0
- package/dist/visually-hidden/index.mjs.map +1 -0
- package/global.d.ts +12 -0
- package/package.json +75 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +9 -0
- package/tsup.config.ts +11 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PropsWithChildren, ButtonHTMLAttributes, Ref } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const tagStyles: (props?: ({
|
|
7
|
+
design?: "filled" | "outlined" | "tinted" | null | undefined;
|
|
8
|
+
intent?: "main" | "alert" | "support" | "accent" | "basic" | "success" | "danger" | "info" | "neutral" | "surface" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
type TagStylesProps = VariantProps<typeof tagStyles>;
|
|
11
|
+
|
|
12
|
+
interface BaseTagProps extends PropsWithChildren<ButtonHTMLAttributes<HTMLSpanElement>>, TagStylesProps {
|
|
13
|
+
/**
|
|
14
|
+
* Change the component to the HTML tag or custom component of the only child.
|
|
15
|
+
*/
|
|
16
|
+
asChild?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface FilteredDesignIntent<Design extends TagProps['design'], K extends TagStylesProps['intent'] | never = never> {
|
|
19
|
+
design?: Design;
|
|
20
|
+
intent?: Exclude<TagStylesProps['intent'], K>;
|
|
21
|
+
ref?: Ref<HTMLButtonElement>;
|
|
22
|
+
}
|
|
23
|
+
type ValidTagDesignIntent = FilteredDesignIntent<'tinted', 'surface'> | FilteredDesignIntent<'outlined', 'surface'> | FilteredDesignIntent<'filled'>;
|
|
24
|
+
type TagProps = BaseTagProps & ValidTagDesignIntent;
|
|
25
|
+
declare const Tag: ({ design, intent, asChild, className, ref, ...others }: TagProps) => react_jsx_runtime.JSX.Element;
|
|
26
|
+
|
|
27
|
+
export { Tag, type TagProps, type ValidTagDesignIntent };
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/tag/index.ts
|
|
21
|
+
var tag_exports = {};
|
|
22
|
+
__export(tag_exports, {
|
|
23
|
+
Tag: () => Tag
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(tag_exports);
|
|
26
|
+
|
|
27
|
+
// src/slot/Slot.tsx
|
|
28
|
+
var import_radix_ui = require("radix-ui");
|
|
29
|
+
var import_react = require("react");
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
var Slottable = import_radix_ui.Slot.Slottable;
|
|
32
|
+
var Slot = ({ ref, ...props }) => {
|
|
33
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Slot.Root, { ref, ...props });
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// src/tag/Tag.styles.tsx
|
|
37
|
+
var import_internal_utils = require("@spark-ui/internal-utils");
|
|
38
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
39
|
+
|
|
40
|
+
// src/tag/variants/default.ts
|
|
41
|
+
var tw = (a) => a;
|
|
42
|
+
|
|
43
|
+
// src/tag/variants/filled.ts
|
|
44
|
+
var filledVariants = [
|
|
45
|
+
{
|
|
46
|
+
intent: "main",
|
|
47
|
+
design: "filled",
|
|
48
|
+
class: tw(["bg-main", "text-on-main"])
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
intent: "support",
|
|
52
|
+
design: "filled",
|
|
53
|
+
class: tw(["bg-support", "text-on-support"])
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
intent: "accent",
|
|
57
|
+
design: "filled",
|
|
58
|
+
class: tw(["bg-accent", "text-on-accent"])
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
intent: "basic",
|
|
62
|
+
design: "filled",
|
|
63
|
+
class: tw(["bg-basic", "text-on-basic"])
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
intent: "success",
|
|
67
|
+
design: "filled",
|
|
68
|
+
class: tw(["bg-success", "text-on-success"])
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
intent: "alert",
|
|
72
|
+
design: "filled",
|
|
73
|
+
class: tw(["bg-alert", "text-on-alert"])
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
intent: "danger",
|
|
77
|
+
design: "filled",
|
|
78
|
+
class: tw(["bg-error", "text-on-error"])
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
intent: "info",
|
|
82
|
+
design: "filled",
|
|
83
|
+
class: tw(["bg-info", "text-on-info"])
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
intent: "neutral",
|
|
87
|
+
design: "filled",
|
|
88
|
+
class: tw(["bg-neutral", "text-on-neutral"])
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
intent: "surface",
|
|
92
|
+
design: "filled",
|
|
93
|
+
class: tw(["bg-surface", "text-on-surface"])
|
|
94
|
+
}
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
// src/tag/variants/outlined.ts
|
|
98
|
+
var outlinedVariants = [
|
|
99
|
+
{
|
|
100
|
+
intent: "main",
|
|
101
|
+
design: "outlined",
|
|
102
|
+
class: tw(["text-main"])
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
intent: "support",
|
|
106
|
+
design: "outlined",
|
|
107
|
+
class: tw(["text-support"])
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
intent: "accent",
|
|
111
|
+
design: "outlined",
|
|
112
|
+
class: tw(["text-accent"])
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
intent: "basic",
|
|
116
|
+
design: "outlined",
|
|
117
|
+
class: tw(["text-basic"])
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
intent: "success",
|
|
121
|
+
design: "outlined",
|
|
122
|
+
class: tw(["text-success"])
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
intent: "alert",
|
|
126
|
+
design: "outlined",
|
|
127
|
+
class: tw(["text-alert"])
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
intent: "danger",
|
|
131
|
+
design: "outlined",
|
|
132
|
+
class: tw(["text-error"])
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
intent: "info",
|
|
136
|
+
design: "outlined",
|
|
137
|
+
class: tw(["text-info"])
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
intent: "neutral",
|
|
141
|
+
design: "outlined",
|
|
142
|
+
class: tw(["text-neutral"])
|
|
143
|
+
}
|
|
144
|
+
];
|
|
145
|
+
|
|
146
|
+
// src/tag/variants/tinted.ts
|
|
147
|
+
var tintedVariants = [
|
|
148
|
+
{
|
|
149
|
+
intent: "main",
|
|
150
|
+
design: "tinted",
|
|
151
|
+
class: tw(["bg-main-container", "text-on-main-container"])
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
intent: "support",
|
|
155
|
+
design: "tinted",
|
|
156
|
+
class: tw(["bg-support-container", "text-on-support-container"])
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
intent: "accent",
|
|
160
|
+
design: "tinted",
|
|
161
|
+
class: tw(["bg-accent-container", "text-on-accent-container"])
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
intent: "basic",
|
|
165
|
+
design: "tinted",
|
|
166
|
+
class: tw(["bg-basic-container", "text-on-basic-container"])
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
intent: "success",
|
|
170
|
+
design: "tinted",
|
|
171
|
+
class: tw(["bg-success-container", "text-on-success-container"])
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
intent: "alert",
|
|
175
|
+
design: "tinted",
|
|
176
|
+
class: tw(["bg-alert-container", "text-on-alert-container"])
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
intent: "danger",
|
|
180
|
+
design: "tinted",
|
|
181
|
+
class: tw(["bg-error-container", "text-on-error-container"])
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
intent: "info",
|
|
185
|
+
design: "tinted",
|
|
186
|
+
class: tw(["bg-info-container", "text-on-info-container"])
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
intent: "neutral",
|
|
190
|
+
design: "tinted",
|
|
191
|
+
class: tw(["bg-neutral-container", "text-on-neutral-container"])
|
|
192
|
+
}
|
|
193
|
+
];
|
|
194
|
+
|
|
195
|
+
// src/tag/Tag.styles.tsx
|
|
196
|
+
var tagStyles = (0, import_class_variance_authority.cva)(
|
|
197
|
+
[
|
|
198
|
+
"box-border inline-flex items-center justify-center gap-sm whitespace-nowrap",
|
|
199
|
+
"text-caption font-bold",
|
|
200
|
+
"h-sz-20 px-md",
|
|
201
|
+
"rounded-full"
|
|
202
|
+
],
|
|
203
|
+
{
|
|
204
|
+
variants: {
|
|
205
|
+
/**
|
|
206
|
+
* Main style of the tag.
|
|
207
|
+
* - `filled`: Tag will be plain.
|
|
208
|
+
* - `outlined`: Tag will have a surface background with an colored outline/text.
|
|
209
|
+
* - `tinted`: Tag will be filled but using a lighter color scheme.
|
|
210
|
+
*/
|
|
211
|
+
design: (0, import_internal_utils.makeVariants)({
|
|
212
|
+
filled: [],
|
|
213
|
+
outlined: ["border-sm", "border-current"],
|
|
214
|
+
tinted: []
|
|
215
|
+
}),
|
|
216
|
+
/**
|
|
217
|
+
* Color scheme of the tag.
|
|
218
|
+
*/
|
|
219
|
+
intent: (0, import_internal_utils.makeVariants)({
|
|
220
|
+
main: [],
|
|
221
|
+
support: [],
|
|
222
|
+
accent: [],
|
|
223
|
+
basic: [],
|
|
224
|
+
success: [],
|
|
225
|
+
alert: [],
|
|
226
|
+
danger: [],
|
|
227
|
+
info: [],
|
|
228
|
+
neutral: [],
|
|
229
|
+
surface: []
|
|
230
|
+
})
|
|
231
|
+
},
|
|
232
|
+
compoundVariants: [...filledVariants, ...outlinedVariants, ...tintedVariants],
|
|
233
|
+
defaultVariants: {
|
|
234
|
+
design: "filled",
|
|
235
|
+
intent: "basic"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
);
|
|
239
|
+
|
|
240
|
+
// src/tag/Tag.tsx
|
|
241
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
242
|
+
var Tag = ({
|
|
243
|
+
design = "filled",
|
|
244
|
+
intent = "basic",
|
|
245
|
+
asChild,
|
|
246
|
+
className,
|
|
247
|
+
ref,
|
|
248
|
+
...others
|
|
249
|
+
}) => {
|
|
250
|
+
const Component = asChild ? Slot : "span";
|
|
251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
252
|
+
Component,
|
|
253
|
+
{
|
|
254
|
+
"data-spark-component": "tag",
|
|
255
|
+
ref,
|
|
256
|
+
className: tagStyles({
|
|
257
|
+
className,
|
|
258
|
+
design,
|
|
259
|
+
intent
|
|
260
|
+
}),
|
|
261
|
+
...others
|
|
262
|
+
}
|
|
263
|
+
);
|
|
264
|
+
};
|
|
265
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
266
|
+
0 && (module.exports = {
|
|
267
|
+
Tag
|
|
268
|
+
});
|
|
269
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tag/index.ts","../../src/slot/Slot.tsx","../../src/tag/Tag.styles.tsx","../../src/tag/variants/default.ts","../../src/tag/variants/filled.ts","../../src/tag/variants/outlined.ts","../../src/tag/variants/tinted.ts","../../src/tag/Tag.tsx"],"sourcesContent":["export * from './Tag'\n","import { Slot as RadixSlot } from 'radix-ui'\nimport {\n cloneElement,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n Ref,\n} from 'react'\n\nexport const Slottable = RadixSlot.Slottable\n\nexport type SlotProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Slot = ({ ref, ...props }: SlotProps) => {\n return <RadixSlot.Root ref={ref} {...props} />\n}\n\n/**\n * When using Radix `Slot` component, it will consider its first child to merge its props with.\n * In some cases, you might need to wrap the top child with additional markup without breaking this behaviour.\n */\nexport const wrapPolymorphicSlot = (\n asChild: boolean | undefined,\n children: ReactNode,\n callback: (children: ReactNode) => ReactNode\n) => {\n if (!asChild) return callback(children) // If polymorphic behaviour is not used, we keep the original children\n\n return isValidElement(children)\n ? cloneElement(\n children,\n undefined,\n callback((children.props as { children: ReactNode }).children)\n )\n : null\n}\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { filledVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const tagStyles = cva(\n [\n 'box-border inline-flex items-center justify-center gap-sm whitespace-nowrap',\n 'text-caption font-bold',\n 'h-sz-20 px-md',\n 'rounded-full',\n ],\n {\n variants: {\n /**\n * Main style of the tag.\n * - `filled`: Tag will be plain.\n * - `outlined`: Tag will have a surface background with an colored outline/text.\n * - `tinted`: Tag will be filled but using a lighter color scheme.\n */\n design: makeVariants<'design', ['filled', 'outlined', 'tinted']>({\n filled: [],\n outlined: ['border-sm', 'border-current'],\n tinted: [],\n }),\n /**\n * Color scheme of the tag.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'info',\n 'neutral',\n 'danger',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n basic: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n },\n compoundVariants: [...filledVariants, ...outlinedVariants, ...tintedVariants],\n defaultVariants: {\n design: 'filled',\n intent: 'basic',\n },\n }\n)\n\nexport type TagStylesProps = VariantProps<typeof tagStyles>\n","export const tw = <T>(a: T): T => a\n","import { tw } from './default'\n\nexport const filledVariants = [\n {\n intent: 'main',\n design: 'filled',\n class: tw(['bg-main', 'text-on-main']),\n },\n {\n intent: 'support',\n design: 'filled',\n class: tw(['bg-support', 'text-on-support']),\n },\n {\n intent: 'accent',\n design: 'filled',\n class: tw(['bg-accent', 'text-on-accent']),\n },\n {\n intent: 'basic',\n design: 'filled',\n class: tw(['bg-basic', 'text-on-basic']),\n },\n {\n intent: 'success',\n design: 'filled',\n class: tw(['bg-success', 'text-on-success']),\n },\n {\n intent: 'alert',\n design: 'filled',\n class: tw(['bg-alert', 'text-on-alert']),\n },\n {\n intent: 'danger',\n design: 'filled',\n class: tw(['bg-error', 'text-on-error']),\n },\n {\n intent: 'info',\n design: 'filled',\n class: tw(['bg-info', 'text-on-info']),\n },\n {\n intent: 'neutral',\n design: 'filled',\n class: tw(['bg-neutral', 'text-on-neutral']),\n },\n {\n intent: 'surface',\n design: 'filled',\n class: tw(['bg-surface', 'text-on-surface']),\n },\n] as const\n","import { tw } from './default'\n\nexport const outlinedVariants = [\n {\n intent: 'main',\n design: 'outlined',\n class: tw(['text-main']),\n },\n {\n intent: 'support',\n design: 'outlined',\n class: tw(['text-support']),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw(['text-accent']),\n },\n {\n intent: 'basic',\n design: 'outlined',\n class: tw(['text-basic']),\n },\n {\n intent: 'success',\n design: 'outlined',\n class: tw(['text-success']),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw(['text-alert']),\n },\n {\n intent: 'danger',\n design: 'outlined',\n class: tw(['text-error']),\n },\n {\n intent: 'info',\n design: 'outlined',\n class: tw(['text-info']),\n },\n {\n intent: 'neutral',\n design: 'outlined',\n class: tw(['text-neutral']),\n },\n] as const\n","import { tw } from './default'\n\nexport const tintedVariants = [\n {\n intent: 'main',\n design: 'tinted',\n class: tw(['bg-main-container', 'text-on-main-container']),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw(['bg-support-container', 'text-on-support-container']),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw(['bg-accent-container', 'text-on-accent-container']),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw(['bg-basic-container', 'text-on-basic-container']),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw(['bg-success-container', 'text-on-success-container']),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw(['bg-alert-container', 'text-on-alert-container']),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw(['bg-error-container', 'text-on-error-container']),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw(['bg-info-container', 'text-on-info-container']),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw(['bg-neutral-container', 'text-on-neutral-container']),\n },\n] as const\n","import { ButtonHTMLAttributes, type PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { tagStyles, type TagStylesProps } from './Tag.styles'\n\ninterface BaseTagProps\n extends PropsWithChildren<ButtonHTMLAttributes<HTMLSpanElement>>,\n TagStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n}\n\ninterface FilteredDesignIntent<\n Design extends TagProps['design'],\n K extends TagStylesProps['intent'] | never = never,\n> {\n design?: Design\n intent?: Exclude<TagStylesProps['intent'], K>\n ref?: Ref<HTMLButtonElement>\n}\n\nexport type ValidTagDesignIntent =\n | FilteredDesignIntent<'tinted', 'surface'>\n | FilteredDesignIntent<'outlined', 'surface'>\n | FilteredDesignIntent<'filled'>\n\nexport type TagProps = BaseTagProps & ValidTagDesignIntent\n\nexport const Tag = ({\n design = 'filled',\n intent = 'basic',\n asChild,\n className,\n ref,\n ...others\n}: TagProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n data-spark-component=\"tag\"\n ref={ref}\n className={tagStyles({\n className,\n design,\n intent,\n })}\n {...others}\n />\n )\n}\n"],"mappings":"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","names":["RadixSlot","import_jsx_runtime"]}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Slot
|
|
3
|
+
} from "../chunk-4F5DOL57.mjs";
|
|
4
|
+
|
|
5
|
+
// src/tag/Tag.styles.tsx
|
|
6
|
+
import { makeVariants } from "@spark-ui/internal-utils";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
|
|
9
|
+
// src/tag/variants/default.ts
|
|
10
|
+
var tw = (a) => a;
|
|
11
|
+
|
|
12
|
+
// src/tag/variants/filled.ts
|
|
13
|
+
var filledVariants = [
|
|
14
|
+
{
|
|
15
|
+
intent: "main",
|
|
16
|
+
design: "filled",
|
|
17
|
+
class: tw(["bg-main", "text-on-main"])
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
intent: "support",
|
|
21
|
+
design: "filled",
|
|
22
|
+
class: tw(["bg-support", "text-on-support"])
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
intent: "accent",
|
|
26
|
+
design: "filled",
|
|
27
|
+
class: tw(["bg-accent", "text-on-accent"])
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
intent: "basic",
|
|
31
|
+
design: "filled",
|
|
32
|
+
class: tw(["bg-basic", "text-on-basic"])
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
intent: "success",
|
|
36
|
+
design: "filled",
|
|
37
|
+
class: tw(["bg-success", "text-on-success"])
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
intent: "alert",
|
|
41
|
+
design: "filled",
|
|
42
|
+
class: tw(["bg-alert", "text-on-alert"])
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
intent: "danger",
|
|
46
|
+
design: "filled",
|
|
47
|
+
class: tw(["bg-error", "text-on-error"])
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
intent: "info",
|
|
51
|
+
design: "filled",
|
|
52
|
+
class: tw(["bg-info", "text-on-info"])
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
intent: "neutral",
|
|
56
|
+
design: "filled",
|
|
57
|
+
class: tw(["bg-neutral", "text-on-neutral"])
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
intent: "surface",
|
|
61
|
+
design: "filled",
|
|
62
|
+
class: tw(["bg-surface", "text-on-surface"])
|
|
63
|
+
}
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
// src/tag/variants/outlined.ts
|
|
67
|
+
var outlinedVariants = [
|
|
68
|
+
{
|
|
69
|
+
intent: "main",
|
|
70
|
+
design: "outlined",
|
|
71
|
+
class: tw(["text-main"])
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
intent: "support",
|
|
75
|
+
design: "outlined",
|
|
76
|
+
class: tw(["text-support"])
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
intent: "accent",
|
|
80
|
+
design: "outlined",
|
|
81
|
+
class: tw(["text-accent"])
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
intent: "basic",
|
|
85
|
+
design: "outlined",
|
|
86
|
+
class: tw(["text-basic"])
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
intent: "success",
|
|
90
|
+
design: "outlined",
|
|
91
|
+
class: tw(["text-success"])
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
intent: "alert",
|
|
95
|
+
design: "outlined",
|
|
96
|
+
class: tw(["text-alert"])
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
intent: "danger",
|
|
100
|
+
design: "outlined",
|
|
101
|
+
class: tw(["text-error"])
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
intent: "info",
|
|
105
|
+
design: "outlined",
|
|
106
|
+
class: tw(["text-info"])
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
intent: "neutral",
|
|
110
|
+
design: "outlined",
|
|
111
|
+
class: tw(["text-neutral"])
|
|
112
|
+
}
|
|
113
|
+
];
|
|
114
|
+
|
|
115
|
+
// src/tag/variants/tinted.ts
|
|
116
|
+
var tintedVariants = [
|
|
117
|
+
{
|
|
118
|
+
intent: "main",
|
|
119
|
+
design: "tinted",
|
|
120
|
+
class: tw(["bg-main-container", "text-on-main-container"])
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
intent: "support",
|
|
124
|
+
design: "tinted",
|
|
125
|
+
class: tw(["bg-support-container", "text-on-support-container"])
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
intent: "accent",
|
|
129
|
+
design: "tinted",
|
|
130
|
+
class: tw(["bg-accent-container", "text-on-accent-container"])
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
intent: "basic",
|
|
134
|
+
design: "tinted",
|
|
135
|
+
class: tw(["bg-basic-container", "text-on-basic-container"])
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
intent: "success",
|
|
139
|
+
design: "tinted",
|
|
140
|
+
class: tw(["bg-success-container", "text-on-success-container"])
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
intent: "alert",
|
|
144
|
+
design: "tinted",
|
|
145
|
+
class: tw(["bg-alert-container", "text-on-alert-container"])
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
intent: "danger",
|
|
149
|
+
design: "tinted",
|
|
150
|
+
class: tw(["bg-error-container", "text-on-error-container"])
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
intent: "info",
|
|
154
|
+
design: "tinted",
|
|
155
|
+
class: tw(["bg-info-container", "text-on-info-container"])
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
intent: "neutral",
|
|
159
|
+
design: "tinted",
|
|
160
|
+
class: tw(["bg-neutral-container", "text-on-neutral-container"])
|
|
161
|
+
}
|
|
162
|
+
];
|
|
163
|
+
|
|
164
|
+
// src/tag/Tag.styles.tsx
|
|
165
|
+
var tagStyles = cva(
|
|
166
|
+
[
|
|
167
|
+
"box-border inline-flex items-center justify-center gap-sm whitespace-nowrap",
|
|
168
|
+
"text-caption font-bold",
|
|
169
|
+
"h-sz-20 px-md",
|
|
170
|
+
"rounded-full"
|
|
171
|
+
],
|
|
172
|
+
{
|
|
173
|
+
variants: {
|
|
174
|
+
/**
|
|
175
|
+
* Main style of the tag.
|
|
176
|
+
* - `filled`: Tag will be plain.
|
|
177
|
+
* - `outlined`: Tag will have a surface background with an colored outline/text.
|
|
178
|
+
* - `tinted`: Tag will be filled but using a lighter color scheme.
|
|
179
|
+
*/
|
|
180
|
+
design: makeVariants({
|
|
181
|
+
filled: [],
|
|
182
|
+
outlined: ["border-sm", "border-current"],
|
|
183
|
+
tinted: []
|
|
184
|
+
}),
|
|
185
|
+
/**
|
|
186
|
+
* Color scheme of the tag.
|
|
187
|
+
*/
|
|
188
|
+
intent: makeVariants({
|
|
189
|
+
main: [],
|
|
190
|
+
support: [],
|
|
191
|
+
accent: [],
|
|
192
|
+
basic: [],
|
|
193
|
+
success: [],
|
|
194
|
+
alert: [],
|
|
195
|
+
danger: [],
|
|
196
|
+
info: [],
|
|
197
|
+
neutral: [],
|
|
198
|
+
surface: []
|
|
199
|
+
})
|
|
200
|
+
},
|
|
201
|
+
compoundVariants: [...filledVariants, ...outlinedVariants, ...tintedVariants],
|
|
202
|
+
defaultVariants: {
|
|
203
|
+
design: "filled",
|
|
204
|
+
intent: "basic"
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
);
|
|
208
|
+
|
|
209
|
+
// src/tag/Tag.tsx
|
|
210
|
+
import { jsx } from "react/jsx-runtime";
|
|
211
|
+
var Tag = ({
|
|
212
|
+
design = "filled",
|
|
213
|
+
intent = "basic",
|
|
214
|
+
asChild,
|
|
215
|
+
className,
|
|
216
|
+
ref,
|
|
217
|
+
...others
|
|
218
|
+
}) => {
|
|
219
|
+
const Component = asChild ? Slot : "span";
|
|
220
|
+
return /* @__PURE__ */ jsx(
|
|
221
|
+
Component,
|
|
222
|
+
{
|
|
223
|
+
"data-spark-component": "tag",
|
|
224
|
+
ref,
|
|
225
|
+
className: tagStyles({
|
|
226
|
+
className,
|
|
227
|
+
design,
|
|
228
|
+
intent
|
|
229
|
+
}),
|
|
230
|
+
...others
|
|
231
|
+
}
|
|
232
|
+
);
|
|
233
|
+
};
|
|
234
|
+
export {
|
|
235
|
+
Tag
|
|
236
|
+
};
|
|
237
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tag/Tag.styles.tsx","../../src/tag/variants/default.ts","../../src/tag/variants/filled.ts","../../src/tag/variants/outlined.ts","../../src/tag/variants/tinted.ts","../../src/tag/Tag.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { filledVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const tagStyles = cva(\n [\n 'box-border inline-flex items-center justify-center gap-sm whitespace-nowrap',\n 'text-caption font-bold',\n 'h-sz-20 px-md',\n 'rounded-full',\n ],\n {\n variants: {\n /**\n * Main style of the tag.\n * - `filled`: Tag will be plain.\n * - `outlined`: Tag will have a surface background with an colored outline/text.\n * - `tinted`: Tag will be filled but using a lighter color scheme.\n */\n design: makeVariants<'design', ['filled', 'outlined', 'tinted']>({\n filled: [],\n outlined: ['border-sm', 'border-current'],\n tinted: [],\n }),\n /**\n * Color scheme of the tag.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'info',\n 'neutral',\n 'danger',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n basic: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n },\n compoundVariants: [...filledVariants, ...outlinedVariants, ...tintedVariants],\n defaultVariants: {\n design: 'filled',\n intent: 'basic',\n },\n }\n)\n\nexport type TagStylesProps = VariantProps<typeof tagStyles>\n","export const tw = <T>(a: T): T => a\n","import { tw } from './default'\n\nexport const filledVariants = [\n {\n intent: 'main',\n design: 'filled',\n class: tw(['bg-main', 'text-on-main']),\n },\n {\n intent: 'support',\n design: 'filled',\n class: tw(['bg-support', 'text-on-support']),\n },\n {\n intent: 'accent',\n design: 'filled',\n class: tw(['bg-accent', 'text-on-accent']),\n },\n {\n intent: 'basic',\n design: 'filled',\n class: tw(['bg-basic', 'text-on-basic']),\n },\n {\n intent: 'success',\n design: 'filled',\n class: tw(['bg-success', 'text-on-success']),\n },\n {\n intent: 'alert',\n design: 'filled',\n class: tw(['bg-alert', 'text-on-alert']),\n },\n {\n intent: 'danger',\n design: 'filled',\n class: tw(['bg-error', 'text-on-error']),\n },\n {\n intent: 'info',\n design: 'filled',\n class: tw(['bg-info', 'text-on-info']),\n },\n {\n intent: 'neutral',\n design: 'filled',\n class: tw(['bg-neutral', 'text-on-neutral']),\n },\n {\n intent: 'surface',\n design: 'filled',\n class: tw(['bg-surface', 'text-on-surface']),\n },\n] as const\n","import { tw } from './default'\n\nexport const outlinedVariants = [\n {\n intent: 'main',\n design: 'outlined',\n class: tw(['text-main']),\n },\n {\n intent: 'support',\n design: 'outlined',\n class: tw(['text-support']),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw(['text-accent']),\n },\n {\n intent: 'basic',\n design: 'outlined',\n class: tw(['text-basic']),\n },\n {\n intent: 'success',\n design: 'outlined',\n class: tw(['text-success']),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw(['text-alert']),\n },\n {\n intent: 'danger',\n design: 'outlined',\n class: tw(['text-error']),\n },\n {\n intent: 'info',\n design: 'outlined',\n class: tw(['text-info']),\n },\n {\n intent: 'neutral',\n design: 'outlined',\n class: tw(['text-neutral']),\n },\n] as const\n","import { tw } from './default'\n\nexport const tintedVariants = [\n {\n intent: 'main',\n design: 'tinted',\n class: tw(['bg-main-container', 'text-on-main-container']),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw(['bg-support-container', 'text-on-support-container']),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw(['bg-accent-container', 'text-on-accent-container']),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw(['bg-basic-container', 'text-on-basic-container']),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw(['bg-success-container', 'text-on-success-container']),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw(['bg-alert-container', 'text-on-alert-container']),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw(['bg-error-container', 'text-on-error-container']),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw(['bg-info-container', 'text-on-info-container']),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw(['bg-neutral-container', 'text-on-neutral-container']),\n },\n] as const\n","import { ButtonHTMLAttributes, type PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { tagStyles, type TagStylesProps } from './Tag.styles'\n\ninterface BaseTagProps\n extends PropsWithChildren<ButtonHTMLAttributes<HTMLSpanElement>>,\n TagStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n}\n\ninterface FilteredDesignIntent<\n Design extends TagProps['design'],\n K extends TagStylesProps['intent'] | never = never,\n> {\n design?: Design\n intent?: Exclude<TagStylesProps['intent'], K>\n ref?: Ref<HTMLButtonElement>\n}\n\nexport type ValidTagDesignIntent =\n | FilteredDesignIntent<'tinted', 'surface'>\n | FilteredDesignIntent<'outlined', 'surface'>\n | FilteredDesignIntent<'filled'>\n\nexport type TagProps = BaseTagProps & ValidTagDesignIntent\n\nexport const Tag = ({\n design = 'filled',\n intent = 'basic',\n asChild,\n className,\n ref,\n ...others\n}: TagProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n data-spark-component=\"tag\"\n ref={ref}\n className={tagStyles({\n className,\n design,\n intent,\n })}\n {...others}\n />\n )\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
import { ComponentPropsWithRef } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const textLinkStyles: (props?: ({
|
|
7
|
+
intent?: "main" | "current" | "support" | "accent" | "basic" | "success" | "alert" | "danger" | "info" | "neutral" | null | undefined;
|
|
8
|
+
bold?: boolean | null | undefined;
|
|
9
|
+
underline?: boolean | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
type StylesProps = VariantProps<typeof textLinkStyles>;
|
|
12
|
+
type TextLinkProps = ComponentPropsWithRef<'a'> & StylesProps & {
|
|
13
|
+
/**
|
|
14
|
+
* Change the component to the HTML tag or custom component of the only child.
|
|
15
|
+
*/
|
|
16
|
+
asChild?: boolean;
|
|
17
|
+
};
|
|
18
|
+
declare const TextLink: ({ asChild, bold, children, className, intent, underline, ref, ...props }: TextLinkProps) => react_jsx_runtime.JSX.Element;
|
|
19
|
+
|
|
20
|
+
export { type StylesProps, TextLink, type TextLinkProps };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
import { ComponentPropsWithRef } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const textLinkStyles: (props?: ({
|
|
7
|
+
intent?: "main" | "current" | "support" | "accent" | "basic" | "success" | "alert" | "danger" | "info" | "neutral" | null | undefined;
|
|
8
|
+
bold?: boolean | null | undefined;
|
|
9
|
+
underline?: boolean | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
type StylesProps = VariantProps<typeof textLinkStyles>;
|
|
12
|
+
type TextLinkProps = ComponentPropsWithRef<'a'> & StylesProps & {
|
|
13
|
+
/**
|
|
14
|
+
* Change the component to the HTML tag or custom component of the only child.
|
|
15
|
+
*/
|
|
16
|
+
asChild?: boolean;
|
|
17
|
+
};
|
|
18
|
+
declare const TextLink: ({ asChild, bold, children, className, intent, underline, ref, ...props }: TextLinkProps) => react_jsx_runtime.JSX.Element;
|
|
19
|
+
|
|
20
|
+
export { type StylesProps, TextLink, type TextLinkProps };
|