bsm-design-system 1.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/index.d.mts ADDED
@@ -0,0 +1,120 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ButtonHTMLAttributes } from 'react';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+
5
+ declare const buttonVariants: tailwind_variants.TVReturnType<{
6
+ variant: {
7
+ fill: string;
8
+ ghost: string;
9
+ outlined: string;
10
+ text: string;
11
+ };
12
+ color: {
13
+ primary: string;
14
+ error: string;
15
+ };
16
+ size: {
17
+ xs: string;
18
+ sm: string;
19
+ md: string;
20
+ lg: string;
21
+ };
22
+ iconOnly: {
23
+ true: string;
24
+ false: string;
25
+ };
26
+ }, undefined, "inline-flex items-center relative focus-visible:ring-offset-background focus-visible:ring-offset-2 focus-visible:ring-2 active:scale-95 [&_svg]:text-current cursor-pointer disabled:text-disabled-foreground justify-center gap-2 whitespace-nowrap font-normal transition-all disabled:pointer-events-none select-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none", {
27
+ variant: {
28
+ fill: string;
29
+ ghost: string;
30
+ outlined: string;
31
+ text: string;
32
+ };
33
+ color: {
34
+ primary: string;
35
+ error: string;
36
+ };
37
+ size: {
38
+ xs: string;
39
+ sm: string;
40
+ md: string;
41
+ lg: string;
42
+ };
43
+ iconOnly: {
44
+ true: string;
45
+ false: string;
46
+ };
47
+ }, undefined, tailwind_variants.TVReturnType<{
48
+ variant: {
49
+ fill: string;
50
+ ghost: string;
51
+ outlined: string;
52
+ text: string;
53
+ };
54
+ color: {
55
+ primary: string;
56
+ error: string;
57
+ };
58
+ size: {
59
+ xs: string;
60
+ sm: string;
61
+ md: string;
62
+ lg: string;
63
+ };
64
+ iconOnly: {
65
+ true: string;
66
+ false: string;
67
+ };
68
+ }, undefined, "inline-flex items-center relative focus-visible:ring-offset-background focus-visible:ring-offset-2 focus-visible:ring-2 active:scale-95 [&_svg]:text-current cursor-pointer disabled:text-disabled-foreground justify-center gap-2 whitespace-nowrap font-normal transition-all disabled:pointer-events-none select-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none", unknown, unknown, undefined>>;
69
+
70
+ type ButtonVariant = keyof typeof buttonVariants.variants.variant;
71
+
72
+ type ButtonSize = keyof typeof buttonVariants.variants.size;
73
+
74
+ type ButtonColors = "primary" | "error";
75
+
76
+ /**
77
+ * Primary UI component for user interaction
78
+ */
79
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
80
+ /**
81
+ * Button contents
82
+ */
83
+ children: React.ReactNode;
84
+ /**
85
+ * Button Trailling Icon
86
+ */
87
+ traillingIcon?: React.ReactNode;
88
+ /**
89
+ * Button Variant
90
+ */
91
+ variant?: ButtonVariant;
92
+ /**
93
+ * Button Size
94
+ */
95
+ size?: ButtonSize;
96
+ /**
97
+ * Button Color
98
+ */
99
+ color?: ButtonColors;
100
+ /**
101
+ * Button Loading State
102
+ */
103
+ loading?: boolean;
104
+ /**
105
+ /**
106
+ * Button Loading State
107
+ */
108
+ iconOnly?: boolean;
109
+ /**
110
+ * Button Click Event
111
+ */
112
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
113
+ }
114
+
115
+ /**
116
+ * A button component
117
+ */
118
+ declare function Button({ className, variant, size, children, color, traillingIcon, loading, disabled, iconOnly, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
119
+
120
+ export { Button };
package/index.d.ts ADDED
@@ -0,0 +1,120 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ButtonHTMLAttributes } from 'react';
3
+ import * as tailwind_variants from 'tailwind-variants';
4
+
5
+ declare const buttonVariants: tailwind_variants.TVReturnType<{
6
+ variant: {
7
+ fill: string;
8
+ ghost: string;
9
+ outlined: string;
10
+ text: string;
11
+ };
12
+ color: {
13
+ primary: string;
14
+ error: string;
15
+ };
16
+ size: {
17
+ xs: string;
18
+ sm: string;
19
+ md: string;
20
+ lg: string;
21
+ };
22
+ iconOnly: {
23
+ true: string;
24
+ false: string;
25
+ };
26
+ }, undefined, "inline-flex items-center relative focus-visible:ring-offset-background focus-visible:ring-offset-2 focus-visible:ring-2 active:scale-95 [&_svg]:text-current cursor-pointer disabled:text-disabled-foreground justify-center gap-2 whitespace-nowrap font-normal transition-all disabled:pointer-events-none select-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none", {
27
+ variant: {
28
+ fill: string;
29
+ ghost: string;
30
+ outlined: string;
31
+ text: string;
32
+ };
33
+ color: {
34
+ primary: string;
35
+ error: string;
36
+ };
37
+ size: {
38
+ xs: string;
39
+ sm: string;
40
+ md: string;
41
+ lg: string;
42
+ };
43
+ iconOnly: {
44
+ true: string;
45
+ false: string;
46
+ };
47
+ }, undefined, tailwind_variants.TVReturnType<{
48
+ variant: {
49
+ fill: string;
50
+ ghost: string;
51
+ outlined: string;
52
+ text: string;
53
+ };
54
+ color: {
55
+ primary: string;
56
+ error: string;
57
+ };
58
+ size: {
59
+ xs: string;
60
+ sm: string;
61
+ md: string;
62
+ lg: string;
63
+ };
64
+ iconOnly: {
65
+ true: string;
66
+ false: string;
67
+ };
68
+ }, undefined, "inline-flex items-center relative focus-visible:ring-offset-background focus-visible:ring-offset-2 focus-visible:ring-2 active:scale-95 [&_svg]:text-current cursor-pointer disabled:text-disabled-foreground justify-center gap-2 whitespace-nowrap font-normal transition-all disabled:pointer-events-none select-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none", unknown, unknown, undefined>>;
69
+
70
+ type ButtonVariant = keyof typeof buttonVariants.variants.variant;
71
+
72
+ type ButtonSize = keyof typeof buttonVariants.variants.size;
73
+
74
+ type ButtonColors = "primary" | "error";
75
+
76
+ /**
77
+ * Primary UI component for user interaction
78
+ */
79
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
80
+ /**
81
+ * Button contents
82
+ */
83
+ children: React.ReactNode;
84
+ /**
85
+ * Button Trailling Icon
86
+ */
87
+ traillingIcon?: React.ReactNode;
88
+ /**
89
+ * Button Variant
90
+ */
91
+ variant?: ButtonVariant;
92
+ /**
93
+ * Button Size
94
+ */
95
+ size?: ButtonSize;
96
+ /**
97
+ * Button Color
98
+ */
99
+ color?: ButtonColors;
100
+ /**
101
+ * Button Loading State
102
+ */
103
+ loading?: boolean;
104
+ /**
105
+ /**
106
+ * Button Loading State
107
+ */
108
+ iconOnly?: boolean;
109
+ /**
110
+ * Button Click Event
111
+ */
112
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
113
+ }
114
+
115
+ /**
116
+ * A button component
117
+ */
118
+ declare function Button({ className, variant, size, children, color, traillingIcon, loading, disabled, iconOnly, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
119
+
120
+ export { Button };
package/index.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";var l=Object.defineProperty,B=Object.defineProperties,V=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyDescriptors,M=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols;var c=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var u=(r,e,t)=>e in r?l(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,m=(r,e)=>{for(var t in e||(e={}))c.call(e,t)&&u(r,t,e[t]);if(a)for(var t of a(e))b.call(e,t)&&u(r,t,e[t]);return r},f=(r,e)=>B(r,k(e));var h=(r,e)=>{var t={};for(var i in r)c.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&a)for(var i of a(r))e.indexOf(i)<0&&b.call(r,i)&&(t[i]=r[i]);return t};var P=(r,e)=>{for(var t in e)l(r,t,{get:e[t],enumerable:!0})},j=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of M(e))!c.call(r,o)&&o!==t&&l(r,o,{get:()=>e[o],enumerable:!(i=V(e,o))||i.enumerable});return r};var C=r=>j(l({},"__esModule",{value:!0}),r);var L={};P(L,{Button:()=>d});module.exports=C(L);var x=require("tailwind-variants"),y=(0,x.tv)({base:"inline-flex items-center relative focus-visible:ring-offset-background focus-visible:ring-offset-2 focus-visible:ring-2 active:scale-95 [&_svg]:text-current cursor-pointer disabled:text-disabled-foreground justify-center gap-2 whitespace-nowrap font-normal transition-all disabled:pointer-events-none select-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none",variants:{variant:{fill:"disabled:bg-disabled",ghost:"disabled:bg-disabled-light ",outlined:"border-2 disabled:border-disabled",text:"bg-transparent"},color:{primary:"",error:""},size:{xs:"rounded-lg [&_svg:not([class*='size-'])]:size-4",sm:"rounded-lg [&_svg:not([class*='size-'])]:size-5",md:"rounded-[10px] [&_svg:not([class*='size-'])]:size-6",lg:"rounded-xl [&_svg:not([class*='size-'])]:size-6"},iconOnly:{true:"",false:""}},compoundVariants:[{size:"xs",iconOnly:!0,class:"size-8"},{size:"xs",iconOnly:!1,class:"h-8 px-8 text-xs min-w-[84px]"},{size:"sm",iconOnly:!0,class:"size-10"},{size:"sm",iconOnly:!1,class:"h-10 px-10 py-2 text-sm min-w-[104px]"},{size:"md",iconOnly:!0,class:"size-12"},{size:"md",iconOnly:!1,class:"h-12 px-12 text-base min-w-[122px]"},{size:"lg",iconOnly:!0,class:"size-14"},{size:"lg",iconOnly:!1,class:"h-14 px-14 text-lg min-w-36"},{variant:"fill",color:"primary",class:"bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active focus-visible:ring-primary"},{variant:"fill",color:"error",class:"bg-error text-error-foreground hover:bg-error-hover active:bg-error-active focus-visible:ring-error"},{variant:"outlined",color:"primary",class:"border-primary-border text-primary hover:bg-outline-hover active:bg-outline-active"},{variant:"outlined",color:"error",class:"border-error-light text-error hover:bg-error-light active:bg-error-light-active"},{variant:"ghost",color:"primary",class:" text-primary bg-primary-light hover:bg-outline-hover active:bg-outline-active"},{variant:"ghost",color:"error",class:" text-error bg-error-light hover:bg-error-light-hover active:bg-error-light-active"},{variant:"text",color:"primary",class:" text-primary hover:bg-primary-light active:bg-outline-active"},{variant:"text",color:"error",class:" text-error hover:bg-error-light active:bg-error-light-active"}],defaultVariants:{variant:"fill",color:"primary"}});var z=require("react");var s=require("react/jsx-runtime");function d(S){var p=S,{className:r,variant:e,size:t="md",children:i,color:o,traillingIcon:g,loading:v,disabled:N,iconOnly:n}=p,O=h(p,["className","variant","size","children","color","traillingIcon","loading","disabled","iconOnly"]);let _=(0,z.useMemo)(()=>{let w=["md","lg"].includes(t);return n||!w?"*:size-1.5":"*:size-2"},[n]);return(0,s.jsx)("button",f(m({className:y({variant:e,size:t,className:r,color:o,iconOnly:n}),disabled:N||v},O),{children:(0,s.jsx)(s.Fragment,{children:v?(0,s.jsx)("div",{className:"flex items-center justify-center",children:(0,s.jsxs)("div",{className:`*:bg-icon flex rounded-full bg-blue-50 *:rounded-full ${_}`,children:[(0,s.jsx)("span",{className:"dot"}),(0,s.jsx)("span",{className:"dot delay-02"}),(0,s.jsx)("span",{className:"dot delay-04"}),(0,s.jsx)("span",{className:"dot delay-06"})]})}):(0,s.jsxs)(s.Fragment,{children:[i,g&&(0,s.jsx)("span",{className:"absolute top-1/2 -translate-y-1/2 ltr:right-3 rtl:left-3",children:g})]})})}))}0&&(module.exports={Button});
package/index.mjs ADDED
@@ -0,0 +1 @@
1
+ var w=Object.defineProperty,B=Object.defineProperties;var V=Object.getOwnPropertyDescriptors;var o=Object.getOwnPropertySymbols;var g=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var d=(r,e,t)=>e in r?w(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,p=(r,e)=>{for(var t in e||(e={}))g.call(e,t)&&d(r,t,e[t]);if(o)for(var t of o(e))v.call(e,t)&&d(r,t,e[t]);return r},u=(r,e)=>B(r,V(e));var b=(r,e)=>{var t={};for(var s in r)g.call(r,s)&&e.indexOf(s)<0&&(t[s]=r[s]);if(r!=null&&o)for(var s of o(r))e.indexOf(s)<0&&v.call(r,s)&&(t[s]=r[s]);return t};import{tv as k}from"tailwind-variants";var m=k({base:"inline-flex items-center relative focus-visible:ring-offset-background focus-visible:ring-offset-2 focus-visible:ring-2 active:scale-95 [&_svg]:text-current cursor-pointer disabled:text-disabled-foreground justify-center gap-2 whitespace-nowrap font-normal transition-all disabled:pointer-events-none select-none [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none",variants:{variant:{fill:"disabled:bg-disabled",ghost:"disabled:bg-disabled-light ",outlined:"border-2 disabled:border-disabled",text:"bg-transparent"},color:{primary:"",error:""},size:{xs:"rounded-lg [&_svg:not([class*='size-'])]:size-4",sm:"rounded-lg [&_svg:not([class*='size-'])]:size-5",md:"rounded-[10px] [&_svg:not([class*='size-'])]:size-6",lg:"rounded-xl [&_svg:not([class*='size-'])]:size-6"},iconOnly:{true:"",false:""}},compoundVariants:[{size:"xs",iconOnly:!0,class:"size-8"},{size:"xs",iconOnly:!1,class:"h-8 px-8 text-xs min-w-[84px]"},{size:"sm",iconOnly:!0,class:"size-10"},{size:"sm",iconOnly:!1,class:"h-10 px-10 py-2 text-sm min-w-[104px]"},{size:"md",iconOnly:!0,class:"size-12"},{size:"md",iconOnly:!1,class:"h-12 px-12 text-base min-w-[122px]"},{size:"lg",iconOnly:!0,class:"size-14"},{size:"lg",iconOnly:!1,class:"h-14 px-14 text-lg min-w-36"},{variant:"fill",color:"primary",class:"bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active focus-visible:ring-primary"},{variant:"fill",color:"error",class:"bg-error text-error-foreground hover:bg-error-hover active:bg-error-active focus-visible:ring-error"},{variant:"outlined",color:"primary",class:"border-primary-border text-primary hover:bg-outline-hover active:bg-outline-active"},{variant:"outlined",color:"error",class:"border-error-light text-error hover:bg-error-light active:bg-error-light-active"},{variant:"ghost",color:"primary",class:" text-primary bg-primary-light hover:bg-outline-hover active:bg-outline-active"},{variant:"ghost",color:"error",class:" text-error bg-error-light hover:bg-error-light-hover active:bg-error-light-active"},{variant:"text",color:"primary",class:" text-primary hover:bg-primary-light active:bg-outline-active"},{variant:"text",color:"error",class:" text-error hover:bg-error-light active:bg-error-light-active"}],defaultVariants:{variant:"fill",color:"primary"}});import{useMemo as M}from"react";import{Fragment as h,jsx as i,jsxs as f}from"react/jsx-runtime";function x(P){var c=P,{className:r,variant:e,size:t="md",children:s,color:y,traillingIcon:l,loading:n,disabled:z,iconOnly:a}=c,N=b(c,["className","variant","size","children","color","traillingIcon","loading","disabled","iconOnly"]);let O=M(()=>{let _=["md","lg"].includes(t);return a||!_?"*:size-1.5":"*:size-2"},[a]);return i("button",u(p({className:m({variant:e,size:t,className:r,color:y,iconOnly:a}),disabled:z||n},N),{children:i(h,{children:n?i("div",{className:"flex items-center justify-center",children:f("div",{className:`*:bg-icon flex rounded-full bg-blue-50 *:rounded-full ${O}`,children:[i("span",{className:"dot"}),i("span",{className:"dot delay-02"}),i("span",{className:"dot delay-04"}),i("span",{className:"dot delay-06"})]})}):f(h,{children:[s,l&&i("span",{className:"absolute top-1/2 -translate-y-1/2 ltr:right-3 rtl:left-3",children:l})]})})}))}export{x as Button};
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "bsm-design-system",
3
+ "version": "1.0.0",
4
+ "private": false,
5
+ "main": "index.js",
6
+ "module": "index.mjs",
7
+ "types": "index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./index.mjs",
11
+ "require": "./index.js"
12
+ },
13
+ "./package.json": "./package.json",
14
+ "./styles.css": "./styles.css",
15
+ "./theme.css": "./theme.css"
16
+ },
17
+ "files": [
18
+ "*.css",
19
+ "*.d.mts",
20
+ "*.d.ts",
21
+ "*.js",
22
+ "*.mjs"
23
+ ],
24
+ "author": "",
25
+ "license": "ISC",
26
+ "description": "",
27
+ "peerDependencies": {
28
+ "react": "^19.0.0 || ^18.0.0",
29
+ "react-dom": "^19.0.0 || ^18.0.0",
30
+ "tailwind-variants": "^3.0.0",
31
+ "tailwind-merge": "^3.3.1"
32
+ }
33
+ }
package/styles.css ADDED
@@ -0,0 +1,859 @@
1
+ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, base, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
7
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
+ "Courier New", monospace;
10
+ --spacing: 0.25rem;
11
+ --text-xs: 0.75rem;
12
+ --text-xs--line-height: calc(1 / 0.75);
13
+ --text-sm: 0.875rem;
14
+ --text-sm--line-height: calc(1.25 / 0.875);
15
+ --text-base: 1rem;
16
+ --text-base--line-height: calc(1.5 / 1);
17
+ --text-lg: 1.125rem;
18
+ --text-lg--line-height: calc(1.75 / 1.125);
19
+ --text-3xl: 1.875rem;
20
+ --text-3xl--line-height: calc(2.25 / 1.875);
21
+ --font-weight-normal: 400;
22
+ --font-weight-semibold: 600;
23
+ --font-weight-bold: 700;
24
+ --radius-lg: 0.5rem;
25
+ --radius-xl: 0.75rem;
26
+ --default-transition-duration: 150ms;
27
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
28
+ --default-font-family: var(--font-sans);
29
+ --default-mono-font-family: var(--font-mono);
30
+ }
31
+ }
32
+ @layer base {
33
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
34
+ box-sizing: border-box;
35
+ margin: 0;
36
+ padding: 0;
37
+ border: 0 solid;
38
+ }
39
+ html, :host {
40
+ line-height: 1.5;
41
+ -webkit-text-size-adjust: 100%;
42
+ tab-size: 4;
43
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
44
+ font-feature-settings: var(--default-font-feature-settings, normal);
45
+ font-variation-settings: var(--default-font-variation-settings, normal);
46
+ -webkit-tap-highlight-color: transparent;
47
+ }
48
+ hr {
49
+ height: 0;
50
+ color: inherit;
51
+ border-top-width: 1px;
52
+ }
53
+ abbr:where([title]) {
54
+ -webkit-text-decoration: underline dotted;
55
+ text-decoration: underline dotted;
56
+ }
57
+ h1, h2, h3, h4, h5, h6 {
58
+ font-size: inherit;
59
+ font-weight: inherit;
60
+ }
61
+ a {
62
+ color: inherit;
63
+ -webkit-text-decoration: inherit;
64
+ text-decoration: inherit;
65
+ }
66
+ b, strong {
67
+ font-weight: bolder;
68
+ }
69
+ code, kbd, samp, pre {
70
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
71
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
72
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
73
+ font-size: 1em;
74
+ }
75
+ small {
76
+ font-size: 80%;
77
+ }
78
+ sub, sup {
79
+ font-size: 75%;
80
+ line-height: 0;
81
+ position: relative;
82
+ vertical-align: baseline;
83
+ }
84
+ sub {
85
+ bottom: -0.25em;
86
+ }
87
+ sup {
88
+ top: -0.5em;
89
+ }
90
+ table {
91
+ text-indent: 0;
92
+ border-color: inherit;
93
+ border-collapse: collapse;
94
+ }
95
+ :-moz-focusring {
96
+ outline: auto;
97
+ }
98
+ progress {
99
+ vertical-align: baseline;
100
+ }
101
+ summary {
102
+ display: list-item;
103
+ }
104
+ ol, ul, menu {
105
+ list-style: none;
106
+ }
107
+ img, svg, video, canvas, audio, iframe, embed, object {
108
+ display: block;
109
+ vertical-align: middle;
110
+ }
111
+ img, video {
112
+ max-width: 100%;
113
+ height: auto;
114
+ }
115
+ button, input, select, optgroup, textarea, ::file-selector-button {
116
+ font: inherit;
117
+ font-feature-settings: inherit;
118
+ font-variation-settings: inherit;
119
+ letter-spacing: inherit;
120
+ color: inherit;
121
+ border-radius: 0;
122
+ background-color: transparent;
123
+ opacity: 1;
124
+ }
125
+ :where(select:is([multiple], [size])) optgroup {
126
+ font-weight: bolder;
127
+ }
128
+ :where(select:is([multiple], [size])) optgroup option {
129
+ padding-inline-start: 20px;
130
+ }
131
+ ::file-selector-button {
132
+ margin-inline-end: 4px;
133
+ }
134
+ ::placeholder {
135
+ opacity: 1;
136
+ }
137
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
138
+ ::placeholder {
139
+ color: currentcolor;
140
+ @supports (color: color-mix(in lab, red, red)) {
141
+ color: color-mix(in oklab, currentcolor 50%, transparent);
142
+ }
143
+ }
144
+ }
145
+ textarea {
146
+ resize: vertical;
147
+ }
148
+ ::-webkit-search-decoration {
149
+ -webkit-appearance: none;
150
+ }
151
+ ::-webkit-date-and-time-value {
152
+ min-height: 1lh;
153
+ text-align: inherit;
154
+ }
155
+ ::-webkit-datetime-edit {
156
+ display: inline-flex;
157
+ }
158
+ ::-webkit-datetime-edit-fields-wrapper {
159
+ padding: 0;
160
+ }
161
+ ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
162
+ padding-block: 0;
163
+ }
164
+ ::-webkit-calendar-picker-indicator {
165
+ line-height: 1;
166
+ }
167
+ :-moz-ui-invalid {
168
+ box-shadow: none;
169
+ }
170
+ button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
171
+ appearance: button;
172
+ }
173
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
174
+ height: auto;
175
+ }
176
+ [hidden]:where(:not([hidden="until-found"])) {
177
+ display: none !important;
178
+ }
179
+ }
180
+ @layer utilities {
181
+ .absolute {
182
+ position: absolute;
183
+ }
184
+ .relative {
185
+ position: relative;
186
+ }
187
+ .top-1\/2 {
188
+ top: calc(1/2 * 100%);
189
+ }
190
+ .mb-8 {
191
+ margin-bottom: calc(var(--spacing) * 8);
192
+ }
193
+ .contents {
194
+ display: contents;
195
+ }
196
+ .flex {
197
+ display: flex;
198
+ }
199
+ .inline-flex {
200
+ display: inline-flex;
201
+ }
202
+ .size-8 {
203
+ width: calc(var(--spacing) * 8);
204
+ height: calc(var(--spacing) * 8);
205
+ }
206
+ .size-10 {
207
+ width: calc(var(--spacing) * 10);
208
+ height: calc(var(--spacing) * 10);
209
+ }
210
+ .size-12 {
211
+ width: calc(var(--spacing) * 12);
212
+ height: calc(var(--spacing) * 12);
213
+ }
214
+ .size-14 {
215
+ width: calc(var(--spacing) * 14);
216
+ height: calc(var(--spacing) * 14);
217
+ }
218
+ .h-8 {
219
+ height: calc(var(--spacing) * 8);
220
+ }
221
+ .h-10 {
222
+ height: calc(var(--spacing) * 10);
223
+ }
224
+ .h-12 {
225
+ height: calc(var(--spacing) * 12);
226
+ }
227
+ .h-14 {
228
+ height: calc(var(--spacing) * 14);
229
+ }
230
+ .min-w-36 {
231
+ min-width: calc(var(--spacing) * 36);
232
+ }
233
+ .min-w-\[84px\] {
234
+ min-width: 84px;
235
+ }
236
+ .min-w-\[104px\] {
237
+ min-width: 104px;
238
+ }
239
+ .min-w-\[122px\] {
240
+ min-width: 122px;
241
+ }
242
+ .shrink-0 {
243
+ flex-shrink: 0;
244
+ }
245
+ .-translate-y-1\/2 {
246
+ --tw-translate-y: calc(calc(1/2 * 100%) * -1);
247
+ translate: var(--tw-translate-x) var(--tw-translate-y);
248
+ }
249
+ .cursor-pointer {
250
+ cursor: pointer;
251
+ }
252
+ .items-center {
253
+ align-items: center;
254
+ }
255
+ .justify-center {
256
+ justify-content: center;
257
+ }
258
+ .gap-2 {
259
+ gap: calc(var(--spacing) * 2);
260
+ }
261
+ .gap-4 {
262
+ gap: calc(var(--spacing) * 4);
263
+ }
264
+ .space-y-8 {
265
+ :where(& > :not(:last-child)) {
266
+ --tw-space-y-reverse: 0;
267
+ margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
268
+ margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
269
+ }
270
+ }
271
+ .rounded-\[10px\] {
272
+ border-radius: 10px;
273
+ }
274
+ .rounded-full {
275
+ border-radius: calc(infinity * 1px);
276
+ }
277
+ .rounded-lg {
278
+ border-radius: var(--radius-lg);
279
+ }
280
+ .rounded-xl {
281
+ border-radius: var(--radius-xl);
282
+ }
283
+ .border {
284
+ border-style: var(--tw-border-style);
285
+ border-width: 1px;
286
+ }
287
+ .border-2 {
288
+ border-style: var(--tw-border-style);
289
+ border-width: 2px;
290
+ }
291
+ .border-error-light {
292
+ border-color: var(--bsm-error-light , #fff0f0);
293
+ }
294
+ .border-primary-border {
295
+ border-color: var(--bsm-primary-border , #d8d9da);
296
+ }
297
+ .bg-error {
298
+ background-color: var(--bsm-error , #FF585E);
299
+ }
300
+ .bg-error-light {
301
+ background-color: var(--bsm-error-light , #fff0f0);
302
+ }
303
+ .bg-primary {
304
+ background-color: var(--bsm-primary , #1b1e22);
305
+ }
306
+ .bg-primary-light {
307
+ background-color: var(--bsm-primary-light , #e9e9ea);
308
+ }
309
+ .bg-transparent {
310
+ background-color: transparent;
311
+ }
312
+ .px-8 {
313
+ padding-inline: calc(var(--spacing) * 8);
314
+ }
315
+ .px-10 {
316
+ padding-inline: calc(var(--spacing) * 10);
317
+ }
318
+ .px-12 {
319
+ padding-inline: calc(var(--spacing) * 12);
320
+ }
321
+ .px-14 {
322
+ padding-inline: calc(var(--spacing) * 14);
323
+ }
324
+ .py-2 {
325
+ padding-block: calc(var(--spacing) * 2);
326
+ }
327
+ .text-3xl {
328
+ font-size: var(--text-3xl);
329
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
330
+ }
331
+ .text-base {
332
+ font-size: var(--text-base);
333
+ line-height: var(--tw-leading, var(--text-base--line-height));
334
+ }
335
+ .text-lg {
336
+ font-size: var(--text-lg);
337
+ line-height: var(--tw-leading, var(--text-lg--line-height));
338
+ }
339
+ .text-sm {
340
+ font-size: var(--text-sm);
341
+ line-height: var(--tw-leading, var(--text-sm--line-height));
342
+ }
343
+ .text-xs {
344
+ font-size: var(--text-xs);
345
+ line-height: var(--tw-leading, var(--text-xs--line-height));
346
+ }
347
+ .font-bold {
348
+ --tw-font-weight: var(--font-weight-bold);
349
+ font-weight: var(--font-weight-bold);
350
+ }
351
+ .font-normal {
352
+ --tw-font-weight: var(--font-weight-normal);
353
+ font-weight: var(--font-weight-normal);
354
+ }
355
+ .font-semibold {
356
+ --tw-font-weight: var(--font-weight-semibold);
357
+ font-weight: var(--font-weight-semibold);
358
+ }
359
+ .whitespace-nowrap {
360
+ white-space: nowrap;
361
+ }
362
+ .text-error {
363
+ color: var(--bsm-error , #FF585E);
364
+ }
365
+ .text-error-foreground {
366
+ color: var(--bsm-error-foreground , #ffffff);
367
+ }
368
+ .text-primary {
369
+ color: var(--bsm-primary , #1b1e22);
370
+ }
371
+ .text-primary-foreground {
372
+ color: var(--bsm-primary-foreground , #fff);
373
+ }
374
+ .outline {
375
+ outline-style: var(--tw-outline-style);
376
+ outline-width: 1px;
377
+ }
378
+ .transition-all {
379
+ transition-property: all;
380
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
381
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
382
+ }
383
+ .outline-none {
384
+ --tw-outline-style: none;
385
+ outline-style: none;
386
+ }
387
+ .select-none {
388
+ -webkit-user-select: none;
389
+ user-select: none;
390
+ }
391
+ .\*\:size-1\.5 {
392
+ :is(& > *) {
393
+ width: calc(var(--spacing) * 1.5);
394
+ height: calc(var(--spacing) * 1.5);
395
+ }
396
+ }
397
+ .\*\:size-2 {
398
+ :is(& > *) {
399
+ width: calc(var(--spacing) * 2);
400
+ height: calc(var(--spacing) * 2);
401
+ }
402
+ }
403
+ .\*\:rounded-full {
404
+ :is(& > *) {
405
+ border-radius: calc(infinity * 1px);
406
+ }
407
+ }
408
+ .\*\:bg-icon {
409
+ :is(& > *) {
410
+ background-color: var(--bsm-icon-color , #F5F5F5);
411
+ }
412
+ }
413
+ .hover\:bg-error-hover {
414
+ &:hover {
415
+ @media (hover: hover) {
416
+ background-color: var(--bsm-error-hover , #FF868A);
417
+ }
418
+ }
419
+ }
420
+ .hover\:bg-error-light {
421
+ &:hover {
422
+ @media (hover: hover) {
423
+ background-color: var(--bsm-error-light , #fff0f0);
424
+ }
425
+ }
426
+ }
427
+ .hover\:bg-error-light-hover {
428
+ &:hover {
429
+ @media (hover: hover) {
430
+ background-color: var(--bsm-error-light-hover , #ffd2d3);
431
+ }
432
+ }
433
+ }
434
+ .hover\:bg-outline-hover {
435
+ &:hover {
436
+ @media (hover: hover) {
437
+ background-color: var(--bsm-outline-hover , #F5F5F5);
438
+ }
439
+ }
440
+ }
441
+ .hover\:bg-primary-hover {
442
+ &:hover {
443
+ @media (hover: hover) {
444
+ background-color: var(--bsm-primary-hover , #505358);
445
+ }
446
+ }
447
+ }
448
+ .hover\:bg-primary-light {
449
+ &:hover {
450
+ @media (hover: hover) {
451
+ background-color: var(--bsm-primary-light , #e9e9ea);
452
+ }
453
+ }
454
+ }
455
+ .focus-visible\:ring-2 {
456
+ &:focus-visible {
457
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
458
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
459
+ }
460
+ }
461
+ .focus-visible\:ring-error {
462
+ &:focus-visible {
463
+ --tw-ring-color: var(--bsm-error , #FF585E);
464
+ }
465
+ }
466
+ .focus-visible\:ring-primary {
467
+ &:focus-visible {
468
+ --tw-ring-color: var(--bsm-primary , #1b1e22);
469
+ }
470
+ }
471
+ .focus-visible\:ring-offset-2 {
472
+ &:focus-visible {
473
+ --tw-ring-offset-width: 2px;
474
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
475
+ }
476
+ }
477
+ .focus-visible\:ring-offset-background {
478
+ &:focus-visible {
479
+ --tw-ring-offset-color: var(--bsm-background , #ffffff);
480
+ }
481
+ }
482
+ .active\:scale-95 {
483
+ &:active {
484
+ --tw-scale-x: 95%;
485
+ --tw-scale-y: 95%;
486
+ --tw-scale-z: 95%;
487
+ scale: var(--tw-scale-x) var(--tw-scale-y);
488
+ }
489
+ }
490
+ .active\:bg-error-active {
491
+ &:active {
492
+ background-color: var(--bsm-error-active , #820004);
493
+ }
494
+ }
495
+ .active\:bg-error-light-active {
496
+ &:active {
497
+ background-color: var(--bsm-error-light-active , rgba(234, 16, 23, 0.25));
498
+ }
499
+ }
500
+ .active\:bg-outline-active {
501
+ &:active {
502
+ background-color: var(--bsm-outline-active , #E9E9EA);
503
+ }
504
+ }
505
+ .active\:bg-primary-active {
506
+ &:active {
507
+ background-color: var(--bsm-primary-active , #000000);
508
+ }
509
+ }
510
+ .disabled\:pointer-events-none {
511
+ &:disabled {
512
+ pointer-events: none;
513
+ }
514
+ }
515
+ .disabled\:border-disabled {
516
+ &:disabled {
517
+ border-color: var(--bsm-disabled , #D8D9DA);
518
+ }
519
+ }
520
+ .disabled\:bg-disabled {
521
+ &:disabled {
522
+ background-color: var(--bsm-disabled , #D8D9DA);
523
+ }
524
+ }
525
+ .disabled\:bg-disabled-light {
526
+ &:disabled {
527
+ background-color: var(--bsm-disabled-light , #F5F5F5);
528
+ }
529
+ }
530
+ .disabled\:text-disabled-foreground {
531
+ &:disabled {
532
+ color: var(--bsm-disabled-foreground , #C7C8C9);
533
+ }
534
+ }
535
+ .ltr\:right-3 {
536
+ &:where(:dir(ltr), [dir="ltr"], [dir="ltr"] *) {
537
+ right: calc(var(--spacing) * 3);
538
+ }
539
+ }
540
+ .rtl\:left-3 {
541
+ &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
542
+ left: calc(var(--spacing) * 3);
543
+ }
544
+ }
545
+ .\[\&_svg\]\:pointer-events-none {
546
+ & svg {
547
+ pointer-events: none;
548
+ }
549
+ }
550
+ .\[\&_svg\]\:shrink-0 {
551
+ & svg {
552
+ flex-shrink: 0;
553
+ }
554
+ }
555
+ .\[\&_svg\]\:text-current {
556
+ & svg {
557
+ color: currentcolor;
558
+ }
559
+ }
560
+ .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 {
561
+ & svg:not([class*='size-']) {
562
+ width: calc(var(--spacing) * 4);
563
+ height: calc(var(--spacing) * 4);
564
+ }
565
+ }
566
+ .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-5 {
567
+ & svg:not([class*='size-']) {
568
+ width: calc(var(--spacing) * 5);
569
+ height: calc(var(--spacing) * 5);
570
+ }
571
+ }
572
+ .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 {
573
+ & svg:not([class*='size-']) {
574
+ width: calc(var(--spacing) * 6);
575
+ height: calc(var(--spacing) * 6);
576
+ }
577
+ }
578
+ }
579
+ :root {
580
+ --bsm-primary: #1b1e22;
581
+ --bsm-primary-hover: #505358;
582
+ --bsm-primary-focus: #1b1e22;
583
+ --bsm-primary-active: #000000;
584
+ --bsm-primary-light: #e9e9ea;
585
+ --bsm-primary-light-hover: #d8d9da;
586
+ --bsm-primary-light-active: #c7c8c9;
587
+ --bsm-primary-border: #d8d9da;
588
+ --bsm-primary-foreground: #fff;
589
+ --bsm-tertiary: #f7941d;
590
+ --bsm-tertiary-hover: #ffb991;
591
+ --bsm-tertiary-focus: #f7941d;
592
+ --bsm-tertiary-active: #bb5115;
593
+ --bsm-tertiary-light: #fff2eb;
594
+ --bsm-tertiary-light-hover: #ffe7d9;
595
+ --bsm-tertiary-light-active: #ffd6be;
596
+ --bsm-tertiary-border: #ffd6be;
597
+ --bsm-tertiary-foreground: #ffffff;
598
+ --bsm-info: #1677ff;
599
+ --bsm-info-hover: #69b1ff;
600
+ --bsm-info-focus: #1677ff;
601
+ --bsm-info-active: #124ab3;
602
+ --bsm-info-foreground: #ffffff;
603
+ --bsm-info-light: #e6f4ff;
604
+ --bsm-info-border: #bae0ff;
605
+ --bsm-info-light-hover: #bae0ff;
606
+ --bsm-info-light-active: #91caff;
607
+ --bsm-info-secondary-foreground: #141d33;
608
+ --bsm-info-light-foreground: #124ab3;
609
+ --bsm-info-light-secondary-foreground: #1677ff;
610
+ --bsm-info-light-tertiary-foreground: #141d33;
611
+ --bsm-success: #1ac475;
612
+ --bsm-success-hover: #64dea5;
613
+ --bsm-success-focus: #1ac475;
614
+ --bsm-success-active: #047842;
615
+ --bsm-success-light: #edfff7;
616
+ --bsm-success-border: #bef7dc;
617
+ --bsm-success-light-hover: #bef7dc;
618
+ --bsm-success-light-active: #8febc0;
619
+ --bsm-success-foreground: #ffffff;
620
+ --bsm-success-secondary-foreground: #142a20;
621
+ --bsm-success-light-foreground: #047842;
622
+ --bsm-success-light-secondary-foreground: #0d9e5a;
623
+ --bsm-success-light-tertiary-foreground: #0f1f17;
624
+ --bsm-error: #ea1017;
625
+ --bsm-error-hover: #ff868a;
626
+ --bsm-error-focus: #ea1017;
627
+ --bsm-error-active: #b20006;
628
+ --bsm-error-border: #ffd2d3;
629
+ --bsm-error-light: #fff0f0;
630
+ --bsm-error-light-hover: #ffd2d3;
631
+ --bsm-error-light-active: #ffacae;
632
+ --bsm-error-foreground: #ffffff;
633
+ --bsm-error-secondary-foreground: #460103;
634
+ --bsm-error-light-foreground: #5c0003;
635
+ --bsm-error-light-secondary-foreground: #ea1017;
636
+ --bsm-error-light-tertiary-foreground: #25282d;
637
+ --bsm-warning: #fcaf17;
638
+ --bsm-warning-hover: #ffd666;
639
+ --bsm-warning-focus: #fcaf17;
640
+ --bsm-warning-active: #ad6800;
641
+ --bsm-warning-border: #fff1b8;
642
+ --bsm-warning-light: #fffbe6;
643
+ --bsm-warning-light-havor: #fff1b8;
644
+ --bsm-warning-light-active: #ffe58f;
645
+ --bsm-warning-foreground: #ffffff;
646
+ --bsm-warning-secondary-foreground: #772c01;
647
+ --bsm-warning-light-foreground: #bb5115;
648
+ --bsm-warning-light-secondary-foreground: #ff8037;
649
+ --bsm-warning-light-tertiary-foreground: #25282d;
650
+ --bsm-disabled: #d8d9da;
651
+ --bsm-disabled-light: #f5f5f5;
652
+ --bsm-disabled-foreground: #b6b7b9;
653
+ --bsm-inverse-border: #1b1e22;
654
+ --bsm-inverse-text: #ffffff;
655
+ --bsm-outline: #ffffff;
656
+ --bsm-outline-hover: #f5f5f5;
657
+ --bsm-outline-active: #e9e9ea;
658
+ --bsm-icon-color: #25282d;
659
+ --bsm-background: #ffffff;
660
+ }
661
+ .dark, [data-theme="dark"] {
662
+ --bsm-primary: #f5f5f5;
663
+ --bsm-primary-hover: #c7c8c9;
664
+ --bsm-primary-focus: #505358;
665
+ --bsm-primary-active: #b6b7b9;
666
+ --bsm-primary-light: rgba(161, 189, 217, 0.08);
667
+ --bsm-primary-light-hover: rgba(3, 4, 3, 0.25);
668
+ --bsm-primary-light-active: rgba(3, 4, 3, 0.25);
669
+ --bsm-primary-border: rgba(166, 197, 226, 0.16);
670
+ --bsm-primary-foreground: #000;
671
+ --bsm-error: #ea1017;
672
+ --bsm-error-hover: #ff585e;
673
+ --bsm-error-focus: #ff585e;
674
+ --bsm-error-active: #820004;
675
+ --bsm-error-border: #ff585e;
676
+ --bsm-error-light: rgba(234, 16, 23, 0.15);
677
+ --bsm-error-light-hover: rgba(234, 16, 23, 0.2);
678
+ --bsm-error-light-active: rgba(234, 16, 23, 0.25);
679
+ --bsm-error-foreground: #ffffff;
680
+ --bsm-error-secondary-foreground: #460103;
681
+ --bsm-error-light-foreground: #5c0003;
682
+ --bsm-error-light-secondary-foreground: #ea1017;
683
+ --bsm-error-light-tertiary-foreground: #25282d;
684
+ --bsm-outline: #ffffff;
685
+ --bsm-outline-hover: rgba(3, 4, 3, 0.12);
686
+ --bsm-outline-active: rgba(3, 4, 3, 0.25);
687
+ --bsm-disabled: #3d444c;
688
+ --bsm-disabled-light: #3d444c;
689
+ --bsm-disabled-foreground: rgb(195, 222, 254, 0.15);
690
+ --bsm-inverse-text: #25282d;
691
+ --bsm-icon-color: #ffffff;
692
+ --bsm-background: #1b1e22;
693
+ }
694
+ @keyframes dotBounce {
695
+ 0%, 80%, 100% {
696
+ transform: scale(0.4) translateY(0);
697
+ opacity: 0.6;
698
+ }
699
+ 40% {
700
+ transform: scale(0.8) translateY(-5px);
701
+ opacity: 1;
702
+ }
703
+ }
704
+ .dot {
705
+ animation: dotBounce 1.4s infinite ease-in-out both;
706
+ }
707
+ .delay-02 {
708
+ animation-delay: 0.2s;
709
+ }
710
+ .delay-04 {
711
+ animation-delay: 0.4s;
712
+ }
713
+ .delay-06 {
714
+ animation-delay: 0.6s;
715
+ }
716
+ @property --tw-translate-x {
717
+ syntax: "*";
718
+ inherits: false;
719
+ initial-value: 0;
720
+ }
721
+ @property --tw-translate-y {
722
+ syntax: "*";
723
+ inherits: false;
724
+ initial-value: 0;
725
+ }
726
+ @property --tw-translate-z {
727
+ syntax: "*";
728
+ inherits: false;
729
+ initial-value: 0;
730
+ }
731
+ @property --tw-space-y-reverse {
732
+ syntax: "*";
733
+ inherits: false;
734
+ initial-value: 0;
735
+ }
736
+ @property --tw-border-style {
737
+ syntax: "*";
738
+ inherits: false;
739
+ initial-value: solid;
740
+ }
741
+ @property --tw-font-weight {
742
+ syntax: "*";
743
+ inherits: false;
744
+ }
745
+ @property --tw-outline-style {
746
+ syntax: "*";
747
+ inherits: false;
748
+ initial-value: solid;
749
+ }
750
+ @property --tw-shadow {
751
+ syntax: "*";
752
+ inherits: false;
753
+ initial-value: 0 0 #0000;
754
+ }
755
+ @property --tw-shadow-color {
756
+ syntax: "*";
757
+ inherits: false;
758
+ }
759
+ @property --tw-shadow-alpha {
760
+ syntax: "<percentage>";
761
+ inherits: false;
762
+ initial-value: 100%;
763
+ }
764
+ @property --tw-inset-shadow {
765
+ syntax: "*";
766
+ inherits: false;
767
+ initial-value: 0 0 #0000;
768
+ }
769
+ @property --tw-inset-shadow-color {
770
+ syntax: "*";
771
+ inherits: false;
772
+ }
773
+ @property --tw-inset-shadow-alpha {
774
+ syntax: "<percentage>";
775
+ inherits: false;
776
+ initial-value: 100%;
777
+ }
778
+ @property --tw-ring-color {
779
+ syntax: "*";
780
+ inherits: false;
781
+ }
782
+ @property --tw-ring-shadow {
783
+ syntax: "*";
784
+ inherits: false;
785
+ initial-value: 0 0 #0000;
786
+ }
787
+ @property --tw-inset-ring-color {
788
+ syntax: "*";
789
+ inherits: false;
790
+ }
791
+ @property --tw-inset-ring-shadow {
792
+ syntax: "*";
793
+ inherits: false;
794
+ initial-value: 0 0 #0000;
795
+ }
796
+ @property --tw-ring-inset {
797
+ syntax: "*";
798
+ inherits: false;
799
+ }
800
+ @property --tw-ring-offset-width {
801
+ syntax: "<length>";
802
+ inherits: false;
803
+ initial-value: 0px;
804
+ }
805
+ @property --tw-ring-offset-color {
806
+ syntax: "*";
807
+ inherits: false;
808
+ initial-value: #fff;
809
+ }
810
+ @property --tw-ring-offset-shadow {
811
+ syntax: "*";
812
+ inherits: false;
813
+ initial-value: 0 0 #0000;
814
+ }
815
+ @property --tw-scale-x {
816
+ syntax: "*";
817
+ inherits: false;
818
+ initial-value: 1;
819
+ }
820
+ @property --tw-scale-y {
821
+ syntax: "*";
822
+ inherits: false;
823
+ initial-value: 1;
824
+ }
825
+ @property --tw-scale-z {
826
+ syntax: "*";
827
+ inherits: false;
828
+ initial-value: 1;
829
+ }
830
+ @layer properties {
831
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
832
+ *, ::before, ::after, ::backdrop {
833
+ --tw-translate-x: 0;
834
+ --tw-translate-y: 0;
835
+ --tw-translate-z: 0;
836
+ --tw-space-y-reverse: 0;
837
+ --tw-border-style: solid;
838
+ --tw-font-weight: initial;
839
+ --tw-outline-style: solid;
840
+ --tw-shadow: 0 0 #0000;
841
+ --tw-shadow-color: initial;
842
+ --tw-shadow-alpha: 100%;
843
+ --tw-inset-shadow: 0 0 #0000;
844
+ --tw-inset-shadow-color: initial;
845
+ --tw-inset-shadow-alpha: 100%;
846
+ --tw-ring-color: initial;
847
+ --tw-ring-shadow: 0 0 #0000;
848
+ --tw-inset-ring-color: initial;
849
+ --tw-inset-ring-shadow: 0 0 #0000;
850
+ --tw-ring-inset: initial;
851
+ --tw-ring-offset-width: 0px;
852
+ --tw-ring-offset-color: #fff;
853
+ --tw-ring-offset-shadow: 0 0 #0000;
854
+ --tw-scale-x: 1;
855
+ --tw-scale-y: 1;
856
+ --tw-scale-z: 1;
857
+ }
858
+ }
859
+ }
package/theme.css ADDED
@@ -0,0 +1,138 @@
1
+ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */
2
+ :root {
3
+ --bsm-primary: #1b1e22;
4
+ --bsm-primary-hover: #505358;
5
+ --bsm-primary-focus: #1b1e22;
6
+ --bsm-primary-active: #000000;
7
+ --bsm-primary-light: #e9e9ea;
8
+ --bsm-primary-light-hover: #d8d9da;
9
+ --bsm-primary-light-active: #c7c8c9;
10
+ --bsm-primary-border: #d8d9da;
11
+ --bsm-primary-foreground: #fff;
12
+ --bsm-tertiary: #f7941d;
13
+ --bsm-tertiary-hover: #ffb991;
14
+ --bsm-tertiary-focus: #f7941d;
15
+ --bsm-tertiary-active: #bb5115;
16
+ --bsm-tertiary-light: #fff2eb;
17
+ --bsm-tertiary-light-hover: #ffe7d9;
18
+ --bsm-tertiary-light-active: #ffd6be;
19
+ --bsm-tertiary-border: #ffd6be;
20
+ --bsm-tertiary-foreground: #ffffff;
21
+ --bsm-info: #1677ff;
22
+ --bsm-info-hover: #69b1ff;
23
+ --bsm-info-focus: #1677ff;
24
+ --bsm-info-active: #124ab3;
25
+ --bsm-info-foreground: #ffffff;
26
+ --bsm-info-light: #e6f4ff;
27
+ --bsm-info-border: #bae0ff;
28
+ --bsm-info-light-hover: #bae0ff;
29
+ --bsm-info-light-active: #91caff;
30
+ --bsm-info-secondary-foreground: #141d33;
31
+ --bsm-info-light-foreground: #124ab3;
32
+ --bsm-info-light-secondary-foreground: #1677ff;
33
+ --bsm-info-light-tertiary-foreground: #141d33;
34
+ --bsm-success: #1ac475;
35
+ --bsm-success-hover: #64dea5;
36
+ --bsm-success-focus: #1ac475;
37
+ --bsm-success-active: #047842;
38
+ --bsm-success-light: #edfff7;
39
+ --bsm-success-border: #bef7dc;
40
+ --bsm-success-light-hover: #bef7dc;
41
+ --bsm-success-light-active: #8febc0;
42
+ --bsm-success-foreground: #ffffff;
43
+ --bsm-success-secondary-foreground: #142a20;
44
+ --bsm-success-light-foreground: #047842;
45
+ --bsm-success-light-secondary-foreground: #0d9e5a;
46
+ --bsm-success-light-tertiary-foreground: #0f1f17;
47
+ --bsm-error: #ea1017;
48
+ --bsm-error-hover: #ff868a;
49
+ --bsm-error-focus: #ea1017;
50
+ --bsm-error-active: #b20006;
51
+ --bsm-error-border: #ffd2d3;
52
+ --bsm-error-light: #fff0f0;
53
+ --bsm-error-light-hover: #ffd2d3;
54
+ --bsm-error-light-active: #ffacae;
55
+ --bsm-error-foreground: #ffffff;
56
+ --bsm-error-secondary-foreground: #460103;
57
+ --bsm-error-light-foreground: #5c0003;
58
+ --bsm-error-light-secondary-foreground: #ea1017;
59
+ --bsm-error-light-tertiary-foreground: #25282d;
60
+ --bsm-warning: #fcaf17;
61
+ --bsm-warning-hover: #ffd666;
62
+ --bsm-warning-focus: #fcaf17;
63
+ --bsm-warning-active: #ad6800;
64
+ --bsm-warning-border: #fff1b8;
65
+ --bsm-warning-light: #fffbe6;
66
+ --bsm-warning-light-havor: #fff1b8;
67
+ --bsm-warning-light-active: #ffe58f;
68
+ --bsm-warning-foreground: #ffffff;
69
+ --bsm-warning-secondary-foreground: #772c01;
70
+ --bsm-warning-light-foreground: #bb5115;
71
+ --bsm-warning-light-secondary-foreground: #ff8037;
72
+ --bsm-warning-light-tertiary-foreground: #25282d;
73
+ --bsm-disabled: #d8d9da;
74
+ --bsm-disabled-light: #f5f5f5;
75
+ --bsm-disabled-foreground: #b6b7b9;
76
+ --bsm-inverse-border: #1b1e22;
77
+ --bsm-inverse-text: #ffffff;
78
+ --bsm-outline: #ffffff;
79
+ --bsm-outline-hover: #f5f5f5;
80
+ --bsm-outline-active: #e9e9ea;
81
+ --bsm-icon-color: #25282d;
82
+ --bsm-background: #ffffff;
83
+ }
84
+ .dark, [data-theme="dark"] {
85
+ --bsm-primary: #f5f5f5;
86
+ --bsm-primary-hover: #c7c8c9;
87
+ --bsm-primary-focus: #505358;
88
+ --bsm-primary-active: #b6b7b9;
89
+ --bsm-primary-light: rgba(161, 189, 217, 0.08);
90
+ --bsm-primary-light-hover: rgba(3, 4, 3, 0.25);
91
+ --bsm-primary-light-active: rgba(3, 4, 3, 0.25);
92
+ --bsm-primary-border: rgba(166, 197, 226, 0.16);
93
+ --bsm-primary-foreground: #000;
94
+ --bsm-error: #ea1017;
95
+ --bsm-error-hover: #ff585e;
96
+ --bsm-error-focus: #ff585e;
97
+ --bsm-error-active: #820004;
98
+ --bsm-error-border: #ff585e;
99
+ --bsm-error-light: rgba(234, 16, 23, 0.15);
100
+ --bsm-error-light-hover: rgba(234, 16, 23, 0.2);
101
+ --bsm-error-light-active: rgba(234, 16, 23, 0.25);
102
+ --bsm-error-foreground: #ffffff;
103
+ --bsm-error-secondary-foreground: #460103;
104
+ --bsm-error-light-foreground: #5c0003;
105
+ --bsm-error-light-secondary-foreground: #ea1017;
106
+ --bsm-error-light-tertiary-foreground: #25282d;
107
+ --bsm-outline: #ffffff;
108
+ --bsm-outline-hover: rgba(3, 4, 3, 0.12);
109
+ --bsm-outline-active: rgba(3, 4, 3, 0.25);
110
+ --bsm-disabled: #3d444c;
111
+ --bsm-disabled-light: #3d444c;
112
+ --bsm-disabled-foreground: rgb(195, 222, 254, 0.15);
113
+ --bsm-inverse-text: #25282d;
114
+ --bsm-icon-color: #ffffff;
115
+ --bsm-background: #1b1e22;
116
+ }
117
+ @keyframes dotBounce {
118
+ 0%, 80%, 100% {
119
+ transform: scale(0.4) translateY(0);
120
+ opacity: 0.6;
121
+ }
122
+ 40% {
123
+ transform: scale(0.8) translateY(-5px);
124
+ opacity: 1;
125
+ }
126
+ }
127
+ .dot {
128
+ animation: dotBounce 1.4s infinite ease-in-out both;
129
+ }
130
+ .delay-02 {
131
+ animation-delay: 0.2s;
132
+ }
133
+ .delay-04 {
134
+ animation-delay: 0.4s;
135
+ }
136
+ .delay-06 {
137
+ animation-delay: 0.6s;
138
+ }