@zhixingyu/ws-inexus-components 0.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Mayer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,29 @@
1
+ 想发布公共的 Vue3 组件库 (组件) 吗?
2
+
3
+ 这个脚手架可以帮到你!
4
+
5
+ ```shell
6
+ npm create vue3-lib-template
7
+ ```
8
+
9
+ 借助这个脚手架生成的项目,可以做到:
10
+ - 打包自己的组件或组件库
11
+ - 开发时预览组件效果
12
+ - 快速上传新的 git 版本并同步到 npm 仓库
13
+ - 构建配套的组件库文档并自动化部署到 github page
14
+
15
+ 该项目使用了:
16
+ - pnpm
17
+ - vite
18
+ - gulp
19
+ - tsx
20
+ - pkgroll
21
+ - vue3
22
+ - typescript
23
+ - less
24
+ - tailwindcss
25
+ - eslint
26
+ - vitepress
27
+ - release-it
28
+
29
+ [快速开始](https://maylisten.github.io/vue3-lib-template/start.html)
package/lib/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import { App } from 'vue';
2
+ export * from './src';
3
+ declare const _default: {
4
+ install: (Vue: App) => void;
5
+ };
6
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export * from './tailwind-button';
2
+ export * from './less-button';
3
+ export * from './ws-lines-chart';
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ message: string;
3
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
4
+ message: string;
5
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,21 @@
1
+ export declare const LessButton: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ message: string;
4
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
5
+ P: {};
6
+ B: {};
7
+ D: {};
8
+ C: {};
9
+ M: {};
10
+ Defaults: {};
11
+ }, Readonly<{
12
+ message: string;
13
+ }> & Readonly<{}>, {}, {}, {}, {}, {}>;
14
+ __isFragment?: never;
15
+ __isTeleport?: never;
16
+ __isSuspense?: never;
17
+ } & import('vue').ComponentOptionsBase<Readonly<{
18
+ message: string;
19
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
20
+ install: Exclude<import('vue').Plugin["install"], undefined>;
21
+ };
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ message: string;
3
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
4
+ message: string;
5
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,21 @@
1
+ export declare const TailwindButton: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
3
+ message: string;
4
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
5
+ P: {};
6
+ B: {};
7
+ D: {};
8
+ C: {};
9
+ M: {};
10
+ Defaults: {};
11
+ }, Readonly<{
12
+ message: string;
13
+ }> & Readonly<{}>, {}, {}, {}, {}, {}>;
14
+ __isFragment?: never;
15
+ __isTeleport?: never;
16
+ __isSuspense?: never;
17
+ } & import('vue').ComponentOptionsBase<Readonly<{
18
+ message: string;
19
+ }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
20
+ install: Exclude<import('vue').Plugin["install"], undefined>;
21
+ };
@@ -0,0 +1,6 @@
1
+ import { Plugin } from 'vue';
2
+ type SFCWithInstall<T> = T & {
3
+ install: Exclude<Plugin['install'], undefined>;
4
+ };
5
+ export declare const withInstall: <T>(comp: T) => SFCWithInstall<T>;
6
+ export {};
@@ -0,0 +1,95 @@
1
+ import { PropType } from 'vue';
2
+ import { ChartLinesData, xAxisType } from './type';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ lines: {
5
+ type: PropType<ChartLinesData[]>;
6
+ required: true;
7
+ default: () => never[];
8
+ };
9
+ xAxisOptions: {
10
+ type: PropType<xAxisType>;
11
+ default: () => {
12
+ min: number;
13
+ max: number;
14
+ };
15
+ };
16
+ yAxisOptions: {
17
+ type: ObjectConstructor;
18
+ default: () => {
19
+ min: string;
20
+ max: string;
21
+ };
22
+ };
23
+ markSelect: {
24
+ type: ArrayConstructor;
25
+ default: () => never[];
26
+ };
27
+ showMark: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ yAxisName: {
32
+ type: StringConstructor;
33
+ default: string;
34
+ };
35
+ xAxisName: {
36
+ type: StringConstructor;
37
+ default: string;
38
+ };
39
+ isDataZoom: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ }>, {
44
+ captureChart: () => Promise<unknown>;
45
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
46
+ lines: {
47
+ type: PropType<ChartLinesData[]>;
48
+ required: true;
49
+ default: () => never[];
50
+ };
51
+ xAxisOptions: {
52
+ type: PropType<xAxisType>;
53
+ default: () => {
54
+ min: number;
55
+ max: number;
56
+ };
57
+ };
58
+ yAxisOptions: {
59
+ type: ObjectConstructor;
60
+ default: () => {
61
+ min: string;
62
+ max: string;
63
+ };
64
+ };
65
+ markSelect: {
66
+ type: ArrayConstructor;
67
+ default: () => never[];
68
+ };
69
+ showMark: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ yAxisName: {
74
+ type: StringConstructor;
75
+ default: string;
76
+ };
77
+ xAxisName: {
78
+ type: StringConstructor;
79
+ default: string;
80
+ };
81
+ isDataZoom: {
82
+ type: BooleanConstructor;
83
+ default: boolean;
84
+ };
85
+ }>> & Readonly<{}>, {
86
+ lines: ChartLinesData[];
87
+ xAxisOptions: xAxisType;
88
+ yAxisOptions: Record<string, any>;
89
+ markSelect: unknown[];
90
+ showMark: boolean;
91
+ yAxisName: string;
92
+ xAxisName: string;
93
+ isDataZoom: boolean;
94
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
95
+ export default _default;
@@ -0,0 +1,168 @@
1
+ export declare const WsLinesChart: {
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
3
+ lines: {
4
+ type: import('vue').PropType<import('./type').ChartLinesData[]>;
5
+ required: true;
6
+ default: () => never[];
7
+ };
8
+ xAxisOptions: {
9
+ type: import('vue').PropType<import('./type').xAxisType>;
10
+ default: () => {
11
+ min: number;
12
+ max: number;
13
+ };
14
+ };
15
+ yAxisOptions: {
16
+ type: ObjectConstructor;
17
+ default: () => {
18
+ min: string;
19
+ max: string;
20
+ };
21
+ };
22
+ markSelect: {
23
+ type: ArrayConstructor;
24
+ default: () => never[];
25
+ };
26
+ showMark: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ yAxisName: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
34
+ xAxisName: {
35
+ type: StringConstructor;
36
+ default: string;
37
+ };
38
+ isDataZoom: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ }>> & Readonly<{}>, {
43
+ captureChart: () => Promise<unknown>;
44
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
45
+ lines: import('./type').ChartLinesData[];
46
+ xAxisOptions: import('./type').xAxisType;
47
+ yAxisOptions: Record<string, any>;
48
+ markSelect: unknown[];
49
+ showMark: boolean;
50
+ yAxisName: string;
51
+ xAxisName: string;
52
+ isDataZoom: boolean;
53
+ }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
54
+ P: {};
55
+ B: {};
56
+ D: {};
57
+ C: {};
58
+ M: {};
59
+ Defaults: {};
60
+ }, Readonly<import('vue').ExtractPropTypes<{
61
+ lines: {
62
+ type: import('vue').PropType<import('./type').ChartLinesData[]>;
63
+ required: true;
64
+ default: () => never[];
65
+ };
66
+ xAxisOptions: {
67
+ type: import('vue').PropType<import('./type').xAxisType>;
68
+ default: () => {
69
+ min: number;
70
+ max: number;
71
+ };
72
+ };
73
+ yAxisOptions: {
74
+ type: ObjectConstructor;
75
+ default: () => {
76
+ min: string;
77
+ max: string;
78
+ };
79
+ };
80
+ markSelect: {
81
+ type: ArrayConstructor;
82
+ default: () => never[];
83
+ };
84
+ showMark: {
85
+ type: BooleanConstructor;
86
+ default: boolean;
87
+ };
88
+ yAxisName: {
89
+ type: StringConstructor;
90
+ default: string;
91
+ };
92
+ xAxisName: {
93
+ type: StringConstructor;
94
+ default: string;
95
+ };
96
+ isDataZoom: {
97
+ type: BooleanConstructor;
98
+ default: boolean;
99
+ };
100
+ }>> & Readonly<{}>, {
101
+ captureChart: () => Promise<unknown>;
102
+ }, {}, {}, {}, {
103
+ lines: import('./type').ChartLinesData[];
104
+ xAxisOptions: import('./type').xAxisType;
105
+ yAxisOptions: Record<string, any>;
106
+ markSelect: unknown[];
107
+ showMark: boolean;
108
+ yAxisName: string;
109
+ xAxisName: string;
110
+ isDataZoom: boolean;
111
+ }>;
112
+ __isFragment?: never;
113
+ __isTeleport?: never;
114
+ __isSuspense?: never;
115
+ } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
116
+ lines: {
117
+ type: import('vue').PropType<import('./type').ChartLinesData[]>;
118
+ required: true;
119
+ default: () => never[];
120
+ };
121
+ xAxisOptions: {
122
+ type: import('vue').PropType<import('./type').xAxisType>;
123
+ default: () => {
124
+ min: number;
125
+ max: number;
126
+ };
127
+ };
128
+ yAxisOptions: {
129
+ type: ObjectConstructor;
130
+ default: () => {
131
+ min: string;
132
+ max: string;
133
+ };
134
+ };
135
+ markSelect: {
136
+ type: ArrayConstructor;
137
+ default: () => never[];
138
+ };
139
+ showMark: {
140
+ type: BooleanConstructor;
141
+ default: boolean;
142
+ };
143
+ yAxisName: {
144
+ type: StringConstructor;
145
+ default: string;
146
+ };
147
+ xAxisName: {
148
+ type: StringConstructor;
149
+ default: string;
150
+ };
151
+ isDataZoom: {
152
+ type: BooleanConstructor;
153
+ default: boolean;
154
+ };
155
+ }>> & Readonly<{}>, {
156
+ captureChart: () => Promise<unknown>;
157
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
158
+ lines: import('./type').ChartLinesData[];
159
+ xAxisOptions: import('./type').xAxisType;
160
+ yAxisOptions: Record<string, any>;
161
+ markSelect: unknown[];
162
+ showMark: boolean;
163
+ yAxisName: string;
164
+ xAxisName: string;
165
+ isDataZoom: boolean;
166
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
167
+ install: Exclude<import('vue').Plugin["install"], undefined>;
168
+ };
@@ -0,0 +1,35 @@
1
+ export interface ChartDataItem {
2
+ x: number | string;
3
+ y: number | string;
4
+ marked: number;
5
+ feng: number;
6
+ gu: number;
7
+ [key: string]: any;
8
+ }
9
+ export interface ChartLinesData {
10
+ name: string;
11
+ color?: string;
12
+ data?: ChartDataItem[];
13
+ }
14
+ export interface MarkPointItem {
15
+ name: string;
16
+ coord: [number, number];
17
+ symbol?: string;
18
+ symbolSize?: number;
19
+ itemStyle?: {
20
+ color: string;
21
+ };
22
+ label?: {
23
+ show: boolean;
24
+ formatter?: string;
25
+ rich?: {
26
+ [key: string]: any;
27
+ };
28
+ [key: string]: any;
29
+ };
30
+ [key: string]: any;
31
+ }
32
+ export interface xAxisType {
33
+ min: number | string;
34
+ max: number | string;
35
+ }
package/lib/style.css ADDED
@@ -0,0 +1 @@
1
+ .alert-button{margin:0;padding:5px;border:1px solid transparent;outline:none;background-color:#1e90ff;color:#fff;border-radius:5px;transition:.3s transform}.alert-button:hover{cursor:pointer;transform:scale(1.05)}.dynamic-line-chart[data-v-e3caf8cf]{background:#dce2e8;border-radius:4px}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.m-0{margin:0}.m-1{margin:.25rem}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.w-1{width:.25rem}.shrink{flex-shrink:1}.\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.bg-pink-300{--tw-bg-opacity: 1;background-color:rgb(249 168 212 / var(--tw-bg-opacity))}.p-1{padding:.25rem}.lowercase{text-transform:lowercase}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.hover\:scale-\[1\.05\]:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:cursor-pointer:hover{cursor:pointer}