yuyeon 0.3.0 → 0.3.1-rc.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.
@@ -3,6 +3,7 @@ import { vShow, withDirectives } from 'vue';
3
3
  import { useRender } from "../../composables/component.mjs";
4
4
  import { useI18n } from "../../composables/i18n/index.mjs";
5
5
  import { IconValue } from "../../composables/icon.mjs";
6
+ import { styleColorPropsOptions, useStyleColor } from "../../composables/style-color.mjs";
6
7
  import { PolyTransition } from "../../composables/transition.mjs";
7
8
  import { defineComponent, propsFactory } from "../../util/component/index.mjs";
8
9
  import { YIcon } from "../icon/YIcon.mjs";
@@ -17,7 +18,6 @@ export const pressYBadgePropsOptions = propsFactory({
17
18
  floating: Boolean,
18
19
  inline: Boolean,
19
20
  icon: IconValue,
20
- color: String,
21
21
  hide: Boolean,
22
22
  label: {
23
23
  type: String,
@@ -28,7 +28,8 @@ export const pressYBadgePropsOptions = propsFactory({
28
28
  transition: {
29
29
  type: String,
30
30
  default: 'fade'
31
- }
31
+ },
32
+ ...styleColorPropsOptions
32
33
  }, 'YBadge');
33
34
  export const YBadge = defineComponent({
34
35
  name: 'YBadge',
@@ -41,6 +42,9 @@ export const YBadge = defineComponent({
41
42
  const {
42
43
  t
43
44
  } = useI18n();
45
+ const {
46
+ colorVars
47
+ } = useStyleColor(props, 'badge');
44
48
  useRender(() => {
45
49
  const ElTag = props.tag;
46
50
  const value = Number(props.content);
@@ -51,7 +55,8 @@ export const YBadge = defineComponent({
51
55
  'y-badge--dot': props.dot,
52
56
  'y-badge--floating': props.floating,
53
57
  'y-badge--inline': props.inline
54
- }]
58
+ }],
59
+ "style": colorVars.value
55
60
  }, {
56
61
  default: () => [_createVNode("div", {
57
62
  "class": "y-badge__base"
@@ -1 +1 @@
1
- {"version":3,"file":"YBadge.mjs","names":["vShow","withDirectives","useRender","useI18n","IconValue","PolyTransition","defineComponent","propsFactory","YIcon","pressYBadgePropsOptions","tag","type","String","default","dot","Boolean","bordered","floating","inline","icon","color","hide","label","content","Number","max","transition","YBadge","name","props","slots","Object","setup","_ref","t","ElTag","value","isNaN","_createVNode","undefined","badge"],"sources":["../../../src/components/badge/YBadge.tsx"],"sourcesContent":["import { type PropType, type SlotsType, vShow, withDirectives } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { useI18n } from '@/composables/i18n';\r\nimport { IconValue } from '@/composables/icon';\r\nimport { PolyTransition } from '@/composables/transition';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { YIcon } from '../icon/YIcon';\r\n\r\nimport './YBadge.scss';\r\n\r\nexport const pressYBadgePropsOptions = propsFactory(\r\n {\r\n tag: {\r\n type: String as PropType<string>,\r\n default: 'div',\r\n },\r\n dot: Boolean,\r\n bordered: Boolean,\r\n floating: Boolean,\r\n inline: Boolean,\r\n icon: IconValue,\r\n color: String,\r\n hide: Boolean,\r\n label: {\r\n type: String,\r\n default: '$yuyeon.badge',\r\n },\r\n content: [Number, String],\r\n max: Number,\r\n transition: {\r\n type: String,\r\n default: 'fade',\r\n },\r\n },\r\n 'YBadge',\r\n);\r\n\r\nexport const YBadge = defineComponent({\r\n name: 'YBadge',\r\n props: pressYBadgePropsOptions(),\r\n slots: Object as SlotsType<{\r\n default: any;\r\n badge: any;\r\n }>,\r\n setup(props, { slots }) {\r\n const { t } = useI18n();\r\n\r\n useRender(() => {\r\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\r\n const value = Number(props.content);\r\n const content =\r\n !props.max || isNaN(value)\r\n ? props.content\r\n : value <= +props.max\r\n ? value\r\n : `${props.max}+`;\r\n return (\r\n <ElTag\r\n class={[\r\n 'y-badge',\r\n {\r\n 'y-badge--bordered': props.bordered,\r\n 'y-badge--dot': props.dot,\r\n 'y-badge--floating': props.floating,\r\n 'y-badge--inline': props.inline,\r\n },\r\n ]}\r\n >\r\n <div class=\"y-badge__base\">\r\n {slots.default?.()}\r\n <PolyTransition\r\n is={props.transition}\r\n transitionProps={{ name: props.transition }}\r\n >\r\n {withDirectives(\r\n <span\r\n class={['y-badge__badge']}\r\n aria-atomic=\"true\"\r\n aria-label={t(props.label, value)}\r\n aria-live=\"polite\"\r\n role=\"status\"\r\n >\r\n {props.dot ? undefined : slots.badge ? (\r\n slots.badge?.()\r\n ) : props.icon ? (\r\n <YIcon icon={props.icon} />\r\n ) : (\r\n content\r\n )}\r\n </span>,\r\n [[vShow, !props.hide]],\r\n )}\r\n </PolyTransition>\r\n </div>\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YBadge = InstanceType<typeof YBadge>;\r\n"],"mappings":";AAAA,SAAwCA,KAAK,EAAEC,cAAc,QAAQ,KAAK;AAAC,SAElEC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,eAAe,EAAEC,YAAY;AAAA,SAE7BC,KAAK;AAEd;AAEA,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CACjD;EACEG,GAAG,EAAE;IACHC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,GAAG,EAAEC,OAAO;EACZC,QAAQ,EAAED,OAAO;EACjBE,QAAQ,EAAEF,OAAO;EACjBG,MAAM,EAAEH,OAAO;EACfI,IAAI,EAAEf,SAAS;EACfgB,KAAK,EAAER,MAAM;EACbS,IAAI,EAAEN,OAAO;EACbO,KAAK,EAAE;IACLX,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDU,OAAO,EAAE,CAACC,MAAM,EAAEZ,MAAM,CAAC;EACzBa,GAAG,EAAED,MAAM;EACXE,UAAU,EAAE;IACVf,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX;AACF,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMc,MAAM,GAAGrB,eAAe,CAAC;EACpCsB,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAEpB,uBAAuB,CAAC,CAAC;EAChCqB,KAAK,EAAEC,MAGL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEH;IAAM,CAAC,GAAAG,IAAA;IACpB,MAAM;MAAEC;IAAE,CAAC,GAAG/B,OAAO,CAAC,CAAC;IAEvBD,SAAS,CAAC,MAAM;MACd,MAAMiC,KAAK,GAAGN,KAAK,CAACnB,GAAkC;MACtD,MAAM0B,KAAK,GAAGZ,MAAM,CAACK,KAAK,CAACN,OAAO,CAAC;MACnC,MAAMA,OAAO,GACX,CAACM,KAAK,CAACJ,GAAG,IAAIY,KAAK,CAACD,KAAK,CAAC,GACtBP,KAAK,CAACN,OAAO,GACba,KAAK,IAAI,CAACP,KAAK,CAACJ,GAAG,GACjBW,KAAK,GACJ,GAAEP,KAAK,CAACJ,GAAI,GAAE;MACvB,OAAAa,YAAA,CAAAH,KAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,mBAAmB,EAAEN,KAAK,CAACb,QAAQ;UACnC,cAAc,EAAEa,KAAK,CAACf,GAAG;UACzB,mBAAmB,EAAEe,KAAK,CAACZ,QAAQ;UACnC,iBAAiB,EAAEY,KAAK,CAACX;QAC3B,CAAC;MACF;QAAAL,OAAA,EAAAA,CAAA,MAAAyB,YAAA;UAAA;QAAA,IAGER,KAAK,CAACjB,OAAO,GAAG,CAAC,EAAAyB,YAAA,CAAAjC,cAAA;UAAA,MAEZwB,KAAK,CAACH,UAAU;UAAA,mBACH;YAAEE,IAAI,EAAEC,KAAK,CAACH;UAAW;QAAC;UAAAb,OAAA,EAAAA,CAAA,MAE1CZ,cAAc,CAAAqC,YAAA;YAAA,SAEJ,CAAC,gBAAgB,CAAC;YAAA;YAAA,cAEbJ,CAAC,CAACL,KAAK,CAACP,KAAK,EAAEc,KAAK,CAAC;YAAA;YAAA;UAAA,IAIhCP,KAAK,CAACf,GAAG,GAAGyB,SAAS,GAAGT,KAAK,CAACU,KAAK,GAClCV,KAAK,CAACU,KAAK,GAAG,CAAC,GACbX,KAAK,CAACV,IAAI,GAAAmB,YAAA,CAAA9B,KAAA;YAAA,QACCqB,KAAK,CAACV;UAAI,WAEvBI,OACD,IAEH,CAAC,CAACvB,KAAK,EAAE,CAAC6B,KAAK,CAACR,IAAI,CAAC,CACvB,CAAC;QAAA;MAAA;IAKX,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YBadge.mjs","names":["vShow","withDirectives","useRender","useI18n","IconValue","styleColorPropsOptions","useStyleColor","PolyTransition","defineComponent","propsFactory","YIcon","pressYBadgePropsOptions","tag","type","String","default","dot","Boolean","bordered","floating","inline","icon","hide","label","content","Number","max","transition","YBadge","name","props","slots","Object","setup","_ref","t","colorVars","ElTag","value","isNaN","_createVNode","undefined","badge"],"sources":["../../../src/components/badge/YBadge.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n computed,\n vShow,\n withDirectives,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useI18n } from '@/composables/i18n';\nimport { IconValue } from '@/composables/icon';\nimport {\n styleColorPropsOptions,\n useStyleColor,\n} from '@/composables/style-color';\nimport { PolyTransition } from '@/composables/transition';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YIcon } from '../icon/YIcon';\n\nimport './YBadge.scss';\n\nexport const pressYBadgePropsOptions = propsFactory(\n {\n tag: {\n type: String as PropType<string>,\n default: 'div',\n },\n dot: Boolean,\n bordered: Boolean,\n floating: Boolean,\n inline: Boolean,\n icon: IconValue,\n hide: Boolean,\n label: {\n type: String,\n default: '$yuyeon.badge',\n },\n content: [Number, String],\n max: Number,\n transition: {\n type: String,\n default: 'fade',\n },\n ...styleColorPropsOptions,\n },\n 'YBadge',\n);\n\nexport const YBadge = defineComponent({\n name: 'YBadge',\n props: pressYBadgePropsOptions(),\n slots: Object as SlotsType<{\n default: any;\n badge: any;\n }>,\n setup(props, { slots }) {\n const { t } = useI18n();\n\n const { colorVars } = useStyleColor(props, 'badge');\n\n useRender(() => {\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\n const value = Number(props.content);\n const content =\n !props.max || isNaN(value)\n ? props.content\n : value <= +props.max\n ? value\n : `${props.max}+`;\n return (\n <ElTag\n class={[\n 'y-badge',\n {\n 'y-badge--bordered': props.bordered,\n 'y-badge--dot': props.dot,\n 'y-badge--floating': props.floating,\n 'y-badge--inline': props.inline,\n },\n ]}\n style={colorVars.value}\n >\n <div class=\"y-badge__base\">\n {slots.default?.()}\n <PolyTransition\n is={props.transition}\n transitionProps={{ name: props.transition }}\n >\n {withDirectives(\n <span\n class={['y-badge__badge']}\n aria-atomic=\"true\"\n aria-label={t(props.label, value)}\n aria-live=\"polite\"\n role=\"status\"\n >\n {props.dot ? undefined : slots.badge ? (\n slots.badge?.()\n ) : props.icon ? (\n <YIcon icon={props.icon} />\n ) : (\n content\n )}\n </span>,\n [[vShow, !props.hide]],\n )}\n </PolyTransition>\n </div>\n </ElTag>\n );\n });\n },\n});\n\nexport type YBadge = InstanceType<typeof YBadge>;\n"],"mappings":";AAAA,SAIEA,KAAK,EACLC,cAAc,QACT,KAAK;AAAC,SAEJC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,SAAS;AAAA,SAEhBC,sBAAsB,EACtBC,aAAa;AAAA,SAENC,cAAc;AAAA,SACdC,eAAe,EAAEC,YAAY;AAAA,SAE7BC,KAAK;AAEd;AAEA,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CACjD;EACEG,GAAG,EAAE;IACHC,IAAI,EAAEC,MAA0B;IAChCC,OAAO,EAAE;EACX,CAAC;EACDC,GAAG,EAAEC,OAAO;EACZC,QAAQ,EAAED,OAAO;EACjBE,QAAQ,EAAEF,OAAO;EACjBG,MAAM,EAAEH,OAAO;EACfI,IAAI,EAAEjB,SAAS;EACfkB,IAAI,EAAEL,OAAO;EACbM,KAAK,EAAE;IACLV,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDS,OAAO,EAAE,CAACC,MAAM,EAAEX,MAAM,CAAC;EACzBY,GAAG,EAAED,MAAM;EACXE,UAAU,EAAE;IACVd,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACD,GAAGV;AACL,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMuB,MAAM,GAAGpB,eAAe,CAAC;EACpCqB,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAEnB,uBAAuB,CAAC,CAAC;EAChCoB,KAAK,EAAEC,MAGL;EACFC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEH;IAAM,CAAC,GAAAG,IAAA;IACpB,MAAM;MAAEC;IAAE,CAAC,GAAGhC,OAAO,CAAC,CAAC;IAEvB,MAAM;MAAEiC;IAAU,CAAC,GAAG9B,aAAa,CAACwB,KAAK,EAAE,OAAO,CAAC;IAEnD5B,SAAS,CAAC,MAAM;MACd,MAAMmC,KAAK,GAAGP,KAAK,CAAClB,GAAkC;MACtD,MAAM0B,KAAK,GAAGb,MAAM,CAACK,KAAK,CAACN,OAAO,CAAC;MACnC,MAAMA,OAAO,GACX,CAACM,KAAK,CAACJ,GAAG,IAAIa,KAAK,CAACD,KAAK,CAAC,GACtBR,KAAK,CAACN,OAAO,GACbc,KAAK,IAAI,CAACR,KAAK,CAACJ,GAAG,GACjBY,KAAK,GACJ,GAAER,KAAK,CAACJ,GAAI,GAAE;MACvB,OAAAc,YAAA,CAAAH,KAAA;QAAA,SAEW,CACL,SAAS,EACT;UACE,mBAAmB,EAAEP,KAAK,CAACZ,QAAQ;UACnC,cAAc,EAAEY,KAAK,CAACd,GAAG;UACzB,mBAAmB,EAAEc,KAAK,CAACX,QAAQ;UACnC,iBAAiB,EAAEW,KAAK,CAACV;QAC3B,CAAC,CACF;QAAA,SACMgB,SAAS,CAACE;MAAK;QAAAvB,OAAA,EAAAA,CAAA,MAAAyB,YAAA;UAAA;QAAA,IAGnBT,KAAK,CAAChB,OAAO,GAAG,CAAC,EAAAyB,YAAA,CAAAjC,cAAA;UAAA,MAEZuB,KAAK,CAACH,UAAU;UAAA,mBACH;YAAEE,IAAI,EAAEC,KAAK,CAACH;UAAW;QAAC;UAAAZ,OAAA,EAAAA,CAAA,MAE1Cd,cAAc,CAAAuC,YAAA;YAAA,SAEJ,CAAC,gBAAgB,CAAC;YAAA;YAAA,cAEbL,CAAC,CAACL,KAAK,CAACP,KAAK,EAAEe,KAAK,CAAC;YAAA;YAAA;UAAA,IAIhCR,KAAK,CAACd,GAAG,GAAGyB,SAAS,GAAGV,KAAK,CAACW,KAAK,GAClCX,KAAK,CAACW,KAAK,GAAG,CAAC,GACbZ,KAAK,CAACT,IAAI,GAAAmB,YAAA,CAAA9B,KAAA;YAAA,QACCoB,KAAK,CAACT;UAAI,WAEvBG,OACD,IAEH,CAAC,CAACxB,KAAK,EAAE,CAAC8B,KAAK,CAACR,IAAI,CAAC,CACvB,CAAC;QAAA;MAAA;IAKX,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -7,8 +7,12 @@
7
7
  --y-badge__border-width: 2px;
8
8
  --y-badge__border-transform: scale(1.0413);
9
9
  --y-badge__inline-margin: 0 4px;
10
- --y-badge__color: var(--y-theme-surface-variant);
11
- --y-badge__text-color: var(--y-theme-on-surface-variant);
10
+ --y-badge__background-opacity: 1;
11
+ --y-badge__background: rgba(
12
+ var(--y-theme-surface-variant-rgb),
13
+ var(--y-badge__background-opacity, 1)
14
+ );
15
+ --y-badge__color: var(--y-theme-on-surface-variant);
12
16
 
13
17
  display: inline-block;
14
18
 
@@ -29,7 +33,8 @@
29
33
  text-indent: 0;
30
34
  white-space: nowrap;
31
35
  padding: var(--y-badge__padding);
32
- background: var(--y-badge__color);
36
+ color: var(--y-badge__color);
37
+ background: var(--y-badge__background);
33
38
  bottom: calc(100% - var(--y-badge__height) / 2);
34
39
  left: calc(100% - var(--y-badge__min-width));
35
40
  }
@@ -1,16 +1,11 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { computed } from 'vue';
3
3
  import { useRender } from "../../composables/index.mjs";
4
- import { isColorValue, rgbFromHex } from "../../util/color/index.mjs";
4
+ import { styleColorPropsOptions, useStyleColor } from "../../composables/style-color.mjs";
5
5
  import { defineComponent, hasEventProp, propsFactory } from "../../util/component/index.mjs";
6
6
  import "./YChip.scss";
7
7
  export const pressYChipPropsOptions = propsFactory({
8
- color: String,
9
- background: String,
10
- backgroundOpacity: {
11
- type: Number,
12
- default: 0.14
13
- },
8
+ ...styleColorPropsOptions,
14
9
  small: Boolean
15
10
  }, 'YChip');
16
11
  export const YChip = defineComponent({
@@ -26,48 +21,15 @@ export const YChip = defineComponent({
26
21
  const clickable = computed(() => {
27
22
  return hasEventProp(props, 'click');
28
23
  });
29
- const styles = computed(() => {
30
- let {
31
- color,
32
- background
33
- } = props;
34
- if (!background) background = color;
35
- if (color && !isColorValue(color)) {
36
- color = `var(--y-theme-${color})`;
37
- }
38
- if (background) {
39
- if (isColorValue(background)) {
40
- background = `rgba(${colorRgb(background)}, ${props.backgroundOpacity})`;
41
- } else if (!background.startsWith('var(')) {
42
- background = `rgba(${`var(--y-theme-${background}-rgb)`}, ${props.backgroundOpacity})`;
43
- }
44
- }
45
- return {
46
- '--y-chip__color': color,
47
- '--y-chip__background': background
48
- };
49
- });
50
- function colorRgb(color) {
51
- if (color?.startsWith('#')) {
52
- return rgbFromHex(color)?.join(',') || '';
53
- }
54
- const RGBA_REGEX = /rgb(a?)\((?<v>.*)\)/;
55
- if (RGBA_REGEX.test(color)) {
56
- const value = RGBA_REGEX.exec(color)?.[2] || '';
57
- if (value) {
58
- const valueArray = value.trim().split(',');
59
- valueArray.splice(3, 1);
60
- return valueArray.join(',');
61
- }
62
- }
63
- return '';
64
- }
24
+ const {
25
+ colorVars
26
+ } = useStyleColor(props, 'chip');
65
27
  useRender(() => _createVNode("span", {
66
28
  "class": ['y-chip', {
67
29
  'y-chip--small': props.small,
68
30
  'y-chip--clickable': clickable.value
69
31
  }],
70
- "style": styles.value
32
+ "style": colorVars.value
71
33
  }, [_createVNode("span", {
72
34
  "class": "y-chip__content"
73
35
  }, [slots.default?.()])]));
@@ -1 +1 @@
1
- {"version":3,"file":"YChip.mjs","names":["computed","useRender","isColorValue","rgbFromHex","defineComponent","hasEventProp","propsFactory","pressYChipPropsOptions","color","String","background","backgroundOpacity","type","Number","default","small","Boolean","YChip","name","props","setup","_ref","slots","emit","clickable","styles","colorRgb","startsWith","join","RGBA_REGEX","test","value","exec","valueArray","trim","split","splice","_createVNode"],"sources":["../../../src/components/chip/YChip.tsx"],"sourcesContent":["import { computed } from 'vue';\r\n\r\nimport { useRender } from '@/composables';\r\nimport { isColorValue, rgbFromHex } from '@/util/color';\r\nimport { defineComponent, hasEventProp, propsFactory } from '@/util/component';\r\n\r\nimport './YChip.scss';\r\n\r\nexport const pressYChipPropsOptions = propsFactory(\r\n {\r\n color: String,\r\n background: String,\r\n backgroundOpacity: {\r\n type: Number,\r\n default: 0.14,\r\n },\r\n small: Boolean,\r\n },\r\n 'YChip',\r\n);\r\n\r\nexport const YChip = defineComponent({\r\n name: 'YChip',\r\n props: {\r\n ...pressYChipPropsOptions(),\r\n },\r\n setup(props, { slots, emit }) {\r\n const clickable = computed(() => {\r\n return hasEventProp(props, 'click');\r\n });\r\n\r\n const styles = computed(() => {\r\n let { color, background } = props;\r\n if (!background) background = color;\r\n\r\n if (color && !isColorValue(color)) {\r\n color = `var(--y-theme-${color})`;\r\n }\r\n\r\n if (background) {\r\n if (isColorValue(background)) {\r\n background = `rgba(${colorRgb(background)}, ${props.backgroundOpacity})`;\r\n } else if (!background.startsWith('var(')) {\r\n background = `rgba(${`var(--y-theme-${background}-rgb)`}, ${props.backgroundOpacity})`\r\n }\r\n }\r\n\r\n return {\r\n '--y-chip__color': color,\r\n '--y-chip__background': background,\r\n };\r\n });\r\n\r\n function colorRgb(color: string): string {\r\n if (color?.startsWith('#')) {\r\n return rgbFromHex(color)?.join(',') || '';\r\n }\r\n const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\r\n if (RGBA_REGEX.test(color)) {\r\n const value = RGBA_REGEX.exec(color)?.[2] || '';\r\n if (value) {\r\n const valueArray = value.trim().split(',');\r\n valueArray.splice(3, 1);\r\n return valueArray.join(',');\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n useRender(() => (\r\n <span\r\n class={[\r\n 'y-chip',\r\n {\r\n 'y-chip--small': props.small,\r\n 'y-chip--clickable': clickable.value,\r\n },\r\n ]}\r\n style={styles.value}\r\n >\r\n <span class=\"y-chip__content\">{slots.default?.()}</span>\r\n </span>\r\n ));\r\n\r\n return {};\r\n },\r\n});\r\n\r\nexport type YChip = InstanceType<typeof YChip>;\r\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,KAAK;AAAC,SAEtBC,SAAS;AAAA,SACTC,YAAY,EAAEC,UAAU;AAAA,SACxBC,eAAe,EAAEC,YAAY,EAAEC,YAAY;AAEpD;AAEA,OAAO,MAAMC,sBAAsB,GAAGD,YAAY,CAChD;EACEE,KAAK,EAAEC,MAAM;EACbC,UAAU,EAAED,MAAM;EAClBE,iBAAiB,EAAE;IACjBC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC;AACT,CAAC,EACD,OACF,CAAC;AAED,OAAO,MAAMC,KAAK,GAAGb,eAAe,CAAC;EACnCc,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACL,GAAGZ,sBAAsB,CAAC;EAC5B,CAAC;EACDa,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAMG,SAAS,GAAGxB,QAAQ,CAAC,MAAM;MAC/B,OAAOK,YAAY,CAACc,KAAK,EAAE,OAAO,CAAC;IACrC,CAAC,CAAC;IAEF,MAAMM,MAAM,GAAGzB,QAAQ,CAAC,MAAM;MAC5B,IAAI;QAAEQ,KAAK;QAAEE;MAAW,CAAC,GAAGS,KAAK;MACjC,IAAI,CAACT,UAAU,EAAEA,UAAU,GAAGF,KAAK;MAEnC,IAAIA,KAAK,IAAI,CAACN,YAAY,CAACM,KAAK,CAAC,EAAE;QACjCA,KAAK,GAAI,iBAAgBA,KAAM,GAAE;MACnC;MAEA,IAAIE,UAAU,EAAE;QACd,IAAIR,YAAY,CAACQ,UAAU,CAAC,EAAE;UAC5BA,UAAU,GAAI,QAAOgB,QAAQ,CAAChB,UAAU,CAAE,KAAIS,KAAK,CAACR,iBAAkB,GAAE;QAC1E,CAAC,MAAM,IAAI,CAACD,UAAU,CAACiB,UAAU,CAAC,MAAM,CAAC,EAAE;UACzCjB,UAAU,GAAI,QAAQ,iBAAgBA,UAAW,OAAO,KAAIS,KAAK,CAACR,iBAAkB,GAAE;QACxF;MACF;MAEA,OAAO;QACL,iBAAiB,EAAEH,KAAK;QACxB,sBAAsB,EAAEE;MAC1B,CAAC;IACH,CAAC,CAAC;IAEF,SAASgB,QAAQA,CAAClB,KAAa,EAAU;MACvC,IAAIA,KAAK,EAAEmB,UAAU,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAOxB,UAAU,CAACK,KAAK,CAAC,EAAEoB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;MAC3C;MACA,MAAMC,UAAU,GAAG,qBAAqB;MACxC,IAAIA,UAAU,CAACC,IAAI,CAACtB,KAAK,CAAC,EAAE;QAC1B,MAAMuB,KAAK,GAAGF,UAAU,CAACG,IAAI,CAACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAC/C,IAAIuB,KAAK,EAAE;UACT,MAAME,UAAU,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;UAC1CF,UAAU,CAACG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;UACvB,OAAOH,UAAU,CAACL,IAAI,CAAC,GAAG,CAAC;QAC7B;MACF;MACA,OAAO,EAAE;IACX;IAEA3B,SAAS,CAAC,MAAAoC,YAAA;MAAA,SAEC,CACL,QAAQ,EACR;QACE,eAAe,EAAElB,KAAK,CAACJ,KAAK;QAC5B,mBAAmB,EAAES,SAAS,CAACO;MACjC,CAAC,CACF;MAAA,SACMN,MAAM,CAACM;IAAK,IAAAM,YAAA;MAAA;IAAA,IAEYf,KAAK,CAACR,OAAO,GAAG,CAAC,IAEnD,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YChip.mjs","names":["computed","useRender","styleColorPropsOptions","useStyleColor","defineComponent","hasEventProp","propsFactory","pressYChipPropsOptions","small","Boolean","YChip","name","props","setup","_ref","slots","emit","clickable","colorVars","_createVNode","value","default"],"sources":["../../../src/components/chip/YChip.tsx"],"sourcesContent":["import { computed } from 'vue';\n\nimport { useRender } from '@/composables';\nimport {\n styleColorPropsOptions,\n useStyleColor,\n} from '@/composables/style-color';\nimport { defineComponent, hasEventProp, propsFactory } from '@/util/component';\n\nimport './YChip.scss';\n\nexport const pressYChipPropsOptions = propsFactory(\n {\n ...styleColorPropsOptions,\n small: Boolean,\n },\n 'YChip',\n);\n\nexport const YChip = defineComponent({\n name: 'YChip',\n props: {\n ...pressYChipPropsOptions(),\n },\n setup(props, { slots, emit }) {\n const clickable = computed(() => {\n return hasEventProp(props, 'click');\n });\n const { colorVars } = useStyleColor(props, 'chip');\n\n useRender(() => (\n <span\n class={[\n 'y-chip',\n {\n 'y-chip--small': props.small,\n 'y-chip--clickable': clickable.value,\n },\n ]}\n style={colorVars.value}\n >\n <span class=\"y-chip__content\">{slots.default?.()}</span>\n </span>\n ));\n\n return {};\n },\n});\n\nexport type YChip = InstanceType<typeof YChip>;\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,KAAK;AAAC,SAEtBC,SAAS;AAAA,SAEhBC,sBAAsB,EACtBC,aAAa;AAAA,SAENC,eAAe,EAAEC,YAAY,EAAEC,YAAY;AAEpD;AAEA,OAAO,MAAMC,sBAAsB,GAAGD,YAAY,CAChD;EACE,GAAGJ,sBAAsB;EACzBM,KAAK,EAAEC;AACT,CAAC,EACD,OACF,CAAC;AAED,OAAO,MAAMC,KAAK,GAAGN,eAAe,CAAC;EACnCO,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACL,GAAGL,sBAAsB,CAAC;EAC5B,CAAC;EACDM,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC1B,MAAMG,SAAS,GAAGjB,QAAQ,CAAC,MAAM;MAC/B,OAAOK,YAAY,CAACO,KAAK,EAAE,OAAO,CAAC;IACrC,CAAC,CAAC;IACF,MAAM;MAAEM;IAAU,CAAC,GAAGf,aAAa,CAACS,KAAK,EAAE,MAAM,CAAC;IAElDX,SAAS,CAAC,MAAAkB,YAAA;MAAA,SAEC,CACL,QAAQ,EACR;QACE,eAAe,EAAEP,KAAK,CAACJ,KAAK;QAC5B,mBAAmB,EAAES,SAAS,CAACG;MACjC,CAAC,CACF;MAAA,SACMF,SAAS,CAACE;IAAK,IAAAD,YAAA;MAAA;IAAA,IAESJ,KAAK,CAACM,OAAO,GAAG,CAAC,IAEnD,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { computed } from 'vue';
2
+ import { colorRgb, isColorValue } from "../util/index.mjs";
3
+ export const styleColorPropsOptions = {
4
+ color: String,
5
+ background: String,
6
+ backgroundOpacity: {
7
+ type: Number,
8
+ default: 1
9
+ }
10
+ };
11
+ export function useStyleColor(props, name) {
12
+ const colorVars = computed(() => {
13
+ let {
14
+ color,
15
+ background
16
+ } = props;
17
+ if (!background) background = color;
18
+ if (color && !isColorValue(color)) {
19
+ color = `var(--y-theme-${color})`;
20
+ }
21
+ if (background) {
22
+ if (isColorValue(background)) {
23
+ background = `rgba(${colorRgb(background)}, ${props.backgroundOpacity})`;
24
+ } else if (!background.startsWith('var(')) {
25
+ background = `rgba(${`var(--y-theme-${background}-rgb)`}, ${props.backgroundOpacity})`;
26
+ }
27
+ }
28
+ return {
29
+ [`--y-${name}__color`]: color,
30
+ [`--y-${name}__background`]: background
31
+ };
32
+ });
33
+ return {
34
+ colorVars
35
+ };
36
+ }
37
+ //# sourceMappingURL=style-color.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-color.mjs","names":["computed","colorRgb","isColorValue","styleColorPropsOptions","color","String","background","backgroundOpacity","type","Number","default","useStyleColor","props","name","colorVars","startsWith"],"sources":["../../src/composables/style-color.ts"],"sourcesContent":["import { ExtractPropTypes, computed } from 'vue';\n\nimport { colorRgb, isColorValue } from '@/util';\n\nexport const styleColorPropsOptions = {\n color: String,\n background: String,\n backgroundOpacity: {\n type: Number,\n default: 1,\n },\n};\n\nexport function useStyleColor(\n props: ExtractPropTypes<typeof styleColorPropsOptions>,\n name: string,\n) {\n const colorVars = computed(() => {\n let { color, background } = props;\n if (!background) background = color;\n\n if (color && !isColorValue(color)) {\n color = `var(--y-theme-${color})`;\n }\n\n if (background) {\n if (isColorValue(background)) {\n background = `rgba(${colorRgb(background)}, ${props.backgroundOpacity})`;\n } else if (!background.startsWith('var(')) {\n background = `rgba(${`var(--y-theme-${background}-rgb)`}, ${props.backgroundOpacity})`;\n }\n }\n\n return {\n [`--y-${name}__color`]: color,\n [`--y-${name}__background`]: background,\n };\n });\n\n return {\n colorVars,\n };\n}\n"],"mappings":"AAAA,SAA2BA,QAAQ,QAAQ,KAAK;AAAC,SAExCC,QAAQ,EAAEC,YAAY;AAE/B,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,KAAK,EAAEC,MAAM;EACbC,UAAU,EAAED,MAAM;EAClBE,iBAAiB,EAAE;IACjBC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,SAASC,aAAaA,CAC3BC,KAAsD,EACtDC,IAAY,EACZ;EACA,MAAMC,SAAS,GAAGd,QAAQ,CAAC,MAAM;IAC/B,IAAI;MAAEI,KAAK;MAAEE;IAAW,CAAC,GAAGM,KAAK;IACjC,IAAI,CAACN,UAAU,EAAEA,UAAU,GAAGF,KAAK;IAEnC,IAAIA,KAAK,IAAI,CAACF,YAAY,CAACE,KAAK,CAAC,EAAE;MACjCA,KAAK,GAAI,iBAAgBA,KAAM,GAAE;IACnC;IAEA,IAAIE,UAAU,EAAE;MACd,IAAIJ,YAAY,CAACI,UAAU,CAAC,EAAE;QAC5BA,UAAU,GAAI,QAAOL,QAAQ,CAACK,UAAU,CAAE,KAAIM,KAAK,CAACL,iBAAkB,GAAE;MAC1E,CAAC,MAAM,IAAI,CAACD,UAAU,CAACS,UAAU,CAAC,MAAM,CAAC,EAAE;QACzCT,UAAU,GAAI,QAAQ,iBAAgBA,UAAW,OAAO,KAAIM,KAAK,CAACL,iBAAkB,GAAE;MACxF;IACF;IAEA,OAAO;MACL,CAAE,OAAMM,IAAK,SAAQ,GAAGT,KAAK;MAC7B,CAAE,OAAMS,IAAK,cAAa,GAAGP;IAC/B,CAAC;EACH,CAAC,CAAC;EAEF,OAAO;IACLQ;EACF,CAAC;AACH"}
@@ -12,9 +12,25 @@
12
12
  * https://github.com/vuetifyjs/vuetify
13
13
  * */
14
14
  import { HEX_COLOR_REGEX, RGBA_REGEX } from "./const.mjs";
15
+ import { rgbFromHex } from "./../index.mjs";
15
16
  export function isColorValue(value) {
16
17
  return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);
17
18
  }
19
+ export function colorRgb(color) {
20
+ if (color?.startsWith('#')) {
21
+ return rgbFromHex(color)?.join(',') || '';
22
+ }
23
+ const RGBA_REGEX = /rgb(a?)\((?<v>.*)\)/;
24
+ if (RGBA_REGEX.test(color)) {
25
+ const value = RGBA_REGEX.exec(color)?.[2] || '';
26
+ if (value) {
27
+ const valueArray = value.trim().split(',');
28
+ valueArray.splice(3, 1);
29
+ return valueArray.join(',');
30
+ }
31
+ }
32
+ return '';
33
+ }
18
34
  export function isTextColorIsLight(r, g, b) {
19
35
  const luminance = 1 - (0.299 * r + 0.587 * g + 0.114 * b) / 255;
20
36
  return luminance < 0.5;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["HEX_COLOR_REGEX","RGBA_REGEX","isColorValue","value","test","isTextColorIsLight","r","g","b","luminance"],"sources":["../../../src/util/color/index.ts"],"sourcesContent":["/*\r\n* yuyeon\r\n* Apache-2.0 license (Copyright 2023 yeonyew)\r\n*\r\n* Used Libs\r\n* - material-color-utilities\r\n* Apache-2.0 license (Copyright 2021 Google LLC)\r\n* https://github.com/material-foundation/material-color-utilities\r\n*\r\n* - Vuetify\r\n* MIT license (Copyright (c) 2016-2023 John Jeremy Leider)\r\n* https://github.com/vuetifyjs/vuetify\r\n* */\r\n\r\nimport { HEX_COLOR_REGEX, RGBA_REGEX } from \"./const\";\r\n\r\nexport function isColorValue(value: string): boolean {\r\n return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);\r\n}\r\n\r\nexport function isTextColorIsLight(r: number, g: number, b: number): boolean {\r\n const luminance = 1 - (0.299 * r + 0.587 * g + 0.114 * b) / 255;\r\n return luminance < 0.5;\r\n}\r\n\r\nexport * from './const';\r\nexport * from \"./conversion\";\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAcSA,eAAe,EAAEC,UAAU;AAEpC,OAAO,SAASC,YAAYA,CAACC,KAAa,EAAW;EACnD,OAAOF,UAAU,CAACG,IAAI,CAACD,KAAK,CAAC,IAAIH,eAAe,CAACI,IAAI,CAACD,KAAK,CAAC;AAC9D;AAEA,OAAO,SAASE,kBAAkBA,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAS,EAAW;EAC3E,MAAMC,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,GAAGH,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,GAAGC,CAAC,IAAI,GAAG;EAC/D,OAAOC,SAAS,GAAG,GAAG;AACxB;AAAC;AAAA"}
1
+ {"version":3,"file":"index.mjs","names":["HEX_COLOR_REGEX","RGBA_REGEX","rgbFromHex","isColorValue","value","test","colorRgb","color","startsWith","join","exec","valueArray","trim","split","splice","isTextColorIsLight","r","g","b","luminance"],"sources":["../../../src/util/color/index.ts"],"sourcesContent":["/*\r\n* yuyeon\r\n* Apache-2.0 license (Copyright 2023 yeonyew)\r\n*\r\n* Used Libs\r\n* - material-color-utilities\r\n* Apache-2.0 license (Copyright 2021 Google LLC)\r\n* https://github.com/material-foundation/material-color-utilities\r\n*\r\n* - Vuetify\r\n* MIT license (Copyright (c) 2016-2023 John Jeremy Leider)\r\n* https://github.com/vuetifyjs/vuetify\r\n* */\r\n\r\nimport { HEX_COLOR_REGEX, RGBA_REGEX } from \"./const\";\r\nimport { rgbFromHex } from '@/util';\r\n\r\nexport function isColorValue(value: string): boolean {\r\n return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);\r\n}\r\n\r\nexport function colorRgb(color: string): string {\r\n if (color?.startsWith('#')) {\r\n return rgbFromHex(color)?.join(',') || '';\r\n }\r\n const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\r\n if (RGBA_REGEX.test(color)) {\r\n const value = RGBA_REGEX.exec(color)?.[2] || '';\r\n if (value) {\r\n const valueArray = value.trim().split(',');\r\n valueArray.splice(3, 1);\r\n return valueArray.join(',');\r\n }\r\n }\r\n return '';\r\n}\r\n\r\nexport function isTextColorIsLight(r: number, g: number, b: number): boolean {\r\n const luminance = 1 - (0.299 * r + 0.587 * g + 0.114 * b) / 255;\r\n return luminance < 0.5;\r\n}\r\n\r\nexport * from './const';\r\nexport * from \"./conversion\";\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAcSA,eAAe,EAAEC,UAAU;AAAA,SAC3BC,UAAU;AAEnB,OAAO,SAASC,YAAYA,CAACC,KAAa,EAAW;EACnD,OAAOH,UAAU,CAACI,IAAI,CAACD,KAAK,CAAC,IAAIJ,eAAe,CAACK,IAAI,CAACD,KAAK,CAAC;AAC9D;AAEA,OAAO,SAASE,QAAQA,CAACC,KAAa,EAAU;EAC9C,IAAIA,KAAK,EAAEC,UAAU,CAAC,GAAG,CAAC,EAAE;IAC1B,OAAON,UAAU,CAACK,KAAK,CAAC,EAAEE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;EAC3C;EACA,MAAMR,UAAU,GAAG,qBAAqB;EACxC,IAAIA,UAAU,CAACI,IAAI,CAACE,KAAK,CAAC,EAAE;IAC1B,MAAMH,KAAK,GAAGH,UAAU,CAACS,IAAI,CAACH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC/C,IAAIH,KAAK,EAAE;MACT,MAAMO,UAAU,GAAGP,KAAK,CAACQ,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;MAC1CF,UAAU,CAACG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACvB,OAAOH,UAAU,CAACF,IAAI,CAAC,GAAG,CAAC;IAC7B;EACF;EACA,OAAO,EAAE;AACX;AAEA,OAAO,SAASM,kBAAkBA,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAS,EAAW;EAC3E,MAAMC,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,GAAGH,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,GAAGC,CAAC,IAAI,GAAG;EAC/D,OAAOC,SAAS,GAAG,GAAG;AACxB;AAAC;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.3.0",
3
+ "version": "0.3.1-rc.0",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"
@@ -2,19 +2,39 @@ import { PropType } from 'vue';
2
2
  import { IconValue } from '../../composables/icon';
3
3
 
4
4
  export declare const pressYBadgePropsOptions: <Defaults extends {
5
+ color?: unknown;
6
+ background?: unknown;
7
+ backgroundOpacity?: unknown;
5
8
  tag?: unknown;
6
9
  dot?: unknown;
7
10
  bordered?: unknown;
8
11
  floating?: unknown;
9
12
  inline?: unknown;
10
13
  icon?: unknown;
11
- color?: unknown;
12
14
  hide?: unknown;
13
15
  label?: unknown;
14
16
  content?: unknown;
15
17
  max?: unknown;
16
18
  transition?: unknown;
17
19
  } = {}>(defaults?: Defaults | undefined) => {
20
+ color: unknown extends Defaults["color"] ? StringConstructor : {
21
+ type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
22
+ default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
23
+ };
24
+ background: unknown extends Defaults["background"] ? StringConstructor : {
25
+ type: PropType<unknown extends Defaults["background"] ? string : string | Defaults["background"]>;
26
+ default: unknown extends Defaults["background"] ? string : string | Defaults["background"];
27
+ };
28
+ backgroundOpacity: unknown extends Defaults["backgroundOpacity"] ? {
29
+ type: NumberConstructor;
30
+ default: number;
31
+ } : Omit<{
32
+ type: NumberConstructor;
33
+ default: number;
34
+ }, "type" | "default"> & {
35
+ type: PropType<unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"]>;
36
+ default: unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"];
37
+ };
18
38
  tag: unknown extends Defaults["tag"] ? {
19
39
  type: PropType<string>;
20
40
  default: string;
@@ -45,10 +65,6 @@ export declare const pressYBadgePropsOptions: <Defaults extends {
45
65
  type: PropType<unknown extends Defaults["icon"] ? IconValue : NonNullable<IconValue> | Defaults["icon"]>;
46
66
  default: unknown extends Defaults["icon"] ? IconValue : NonNullable<IconValue> | Defaults["icon"];
47
67
  };
48
- color: unknown extends Defaults["color"] ? StringConstructor : {
49
- type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
50
- default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
51
- };
52
68
  hide: unknown extends Defaults["hide"] ? BooleanConstructor : {
53
69
  type: PropType<unknown extends Defaults["hide"] ? boolean : boolean | Defaults["hide"]>;
54
70
  default: unknown extends Defaults["hide"] ? boolean : boolean | Defaults["hide"];
@@ -83,6 +99,12 @@ export declare const pressYBadgePropsOptions: <Defaults extends {
83
99
  };
84
100
  };
85
101
  export declare const YBadge: import('vue').DefineComponent<{
102
+ color: StringConstructor;
103
+ background: StringConstructor;
104
+ backgroundOpacity: {
105
+ type: NumberConstructor;
106
+ default: number;
107
+ };
86
108
  tag: {
87
109
  type: PropType<string>;
88
110
  default: string;
@@ -92,7 +114,6 @@ export declare const YBadge: import('vue').DefineComponent<{
92
114
  floating: BooleanConstructor;
93
115
  inline: BooleanConstructor;
94
116
  icon: PropType<IconValue>;
95
- color: StringConstructor;
96
117
  hide: BooleanConstructor;
97
118
  label: {
98
119
  type: StringConstructor;
@@ -1,10 +1,14 @@
1
1
 
2
2
  export declare const pressYChipPropsOptions: <Defaults extends {
3
+ small?: unknown;
3
4
  color?: unknown;
4
5
  background?: unknown;
5
6
  backgroundOpacity?: unknown;
6
- small?: unknown;
7
7
  } = {}>(defaults?: Defaults | undefined) => {
8
+ small: unknown extends Defaults["small"] ? BooleanConstructor : {
9
+ type: import('vue').PropType<unknown extends Defaults["small"] ? boolean : boolean | Defaults["small"]>;
10
+ default: unknown extends Defaults["small"] ? boolean : boolean | Defaults["small"];
11
+ };
8
12
  color: unknown extends Defaults["color"] ? StringConstructor : {
9
13
  type: import('vue').PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
10
14
  default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
@@ -23,18 +27,14 @@ export declare const pressYChipPropsOptions: <Defaults extends {
23
27
  type: import('vue').PropType<unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"]>;
24
28
  default: unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"];
25
29
  };
26
- small: unknown extends Defaults["small"] ? BooleanConstructor : {
27
- type: import('vue').PropType<unknown extends Defaults["small"] ? boolean : boolean | Defaults["small"]>;
28
- default: unknown extends Defaults["small"] ? boolean : boolean | Defaults["small"];
29
- };
30
30
  };
31
31
  export declare const YChip: import('vue').DefineComponent<{
32
+ small: BooleanConstructor;
32
33
  color: StringConstructor;
33
34
  background: StringConstructor;
34
35
  backgroundOpacity: {
35
36
  type: NumberConstructor;
36
37
  default: number;
37
38
  };
38
- small: BooleanConstructor;
39
39
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string>;
40
40
  export type YChip = InstanceType<typeof YChip>;
@@ -4,11 +4,11 @@ export declare const pressYDatePickerPropsOptions: <Defaults extends {
4
4
  disabled?: unknown;
5
5
  multiple?: unknown;
6
6
  max?: unknown;
7
- color?: unknown;
7
+ year?: unknown;
8
8
  month?: unknown;
9
+ color?: unknown;
9
10
  range?: unknown;
10
11
  min?: unknown;
11
- year?: unknown;
12
12
  allowedDates?: unknown;
13
13
  hideWeekdays?: unknown;
14
14
  showAdjacentMonthDates?: unknown;
@@ -30,14 +30,18 @@ export declare const pressYDatePickerPropsOptions: <Defaults extends {
30
30
  type: import('vue').PropType<unknown extends Defaults["max"] ? unknown : {} | Defaults["max"]>;
31
31
  default: unknown extends Defaults["max"] ? unknown : {} | Defaults["max"];
32
32
  };
33
- color: unknown extends Defaults["color"] ? StringConstructor : {
34
- type: import('vue').PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
35
- default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
33
+ year: unknown extends Defaults["year"] ? (NumberConstructor | StringConstructor)[] : {
34
+ type: import('vue').PropType<unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"]>;
35
+ default: unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"];
36
36
  };
37
37
  month: unknown extends Defaults["month"] ? (NumberConstructor | StringConstructor)[] : {
38
38
  type: import('vue').PropType<unknown extends Defaults["month"] ? string | number : NonNullable<string | number> | Defaults["month"]>;
39
39
  default: unknown extends Defaults["month"] ? string | number : NonNullable<string | number> | Defaults["month"];
40
40
  };
41
+ color: unknown extends Defaults["color"] ? StringConstructor : {
42
+ type: import('vue').PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
43
+ default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
44
+ };
41
45
  range: unknown extends Defaults["range"] ? BooleanConstructor : {
42
46
  type: import('vue').PropType<unknown extends Defaults["range"] ? boolean : boolean | Defaults["range"]>;
43
47
  default: unknown extends Defaults["range"] ? boolean : boolean | Defaults["range"];
@@ -46,10 +50,6 @@ export declare const pressYDatePickerPropsOptions: <Defaults extends {
46
50
  type: import('vue').PropType<unknown extends Defaults["min"] ? unknown : {} | Defaults["min"]>;
47
51
  default: unknown extends Defaults["min"] ? unknown : {} | Defaults["min"];
48
52
  };
49
- year: unknown extends Defaults["year"] ? (NumberConstructor | StringConstructor)[] : {
50
- type: import('vue').PropType<unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"]>;
51
- default: unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"];
52
- };
53
53
  allowedDates: unknown extends Defaults["allowedDates"] ? (ArrayConstructor | FunctionConstructor)[] : {
54
54
  type: import('vue').PropType<unknown extends Defaults["allowedDates"] ? Function | unknown[] : NonNullable<Function | unknown[]> | Defaults["allowedDates"]>;
55
55
  default: unknown extends Defaults["allowedDates"] ? Function | unknown[] : NonNullable<Function | unknown[]> | Defaults["allowedDates"];
@@ -78,11 +78,11 @@ export declare const YDatePicker: import('vue').DefineComponent<{
78
78
  disabled: BooleanConstructor;
79
79
  multiple: BooleanConstructor;
80
80
  max: import('vue').PropType<unknown>;
81
- color: StringConstructor;
81
+ year: (NumberConstructor | StringConstructor)[];
82
82
  month: (NumberConstructor | StringConstructor)[];
83
+ color: StringConstructor;
83
84
  range: BooleanConstructor;
84
85
  min: import('vue').PropType<unknown>;
85
- year: (NumberConstructor | StringConstructor)[];
86
86
  allowedDates: (ArrayConstructor | FunctionConstructor)[];
87
87
  hideWeekdays: BooleanConstructor;
88
88
  showAdjacentMonthDates: {
@@ -48,14 +48,14 @@ export declare const pressYDatePickerControlPropsOptions: <Defaults extends {
48
48
  default: unknown extends Defaults["dropdownIcon"] ? string | Record<string, any> : NonNullable<string | Record<string, any>> | Defaults["dropdownIcon"];
49
49
  };
50
50
  mode: unknown extends Defaults["mode"] ? {
51
- type: PropType<"date" | "month" | "year">;
51
+ type: PropType<"year" | "month" | "date">;
52
52
  default: string;
53
53
  } : Omit<{
54
- type: PropType<"date" | "month" | "year">;
54
+ type: PropType<"year" | "month" | "date">;
55
55
  default: string;
56
56
  }, "type" | "default"> & {
57
- type: PropType<unknown extends Defaults["mode"] ? "date" | "month" | "year" : Defaults["mode"] | NonNullable<"date" | "month" | "year">>;
58
- default: unknown extends Defaults["mode"] ? "date" | "month" | "year" : Defaults["mode"] | NonNullable<"date" | "month" | "year">;
57
+ type: PropType<unknown extends Defaults["mode"] ? "year" | "month" | "date" : Defaults["mode"] | NonNullable<"year" | "month" | "date">>;
58
+ default: unknown extends Defaults["mode"] ? "year" | "month" | "date" : Defaults["mode"] | NonNullable<"year" | "month" | "date">;
59
59
  };
60
60
  yearText: unknown extends Defaults["yearText"] ? StringConstructor : {
61
61
  type: PropType<unknown extends Defaults["yearText"] ? string : string | Defaults["yearText"]>;
@@ -83,7 +83,7 @@ export declare const YDatePickerControl: import('vue').DefineComponent<{
83
83
  type: (ObjectConstructor | StringConstructor)[];
84
84
  };
85
85
  mode: {
86
- type: PropType<"date" | "month" | "year">;
86
+ type: PropType<"year" | "month" | "date">;
87
87
  default: string;
88
88
  };
89
89
  yearText: StringConstructor;
@@ -6,12 +6,12 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
6
6
  modelValue?: unknown;
7
7
  width?: unknown;
8
8
  height?: unknown;
9
+ align?: unknown;
9
10
  theme?: unknown;
10
11
  closeDelay?: unknown;
11
12
  openDelay?: unknown;
12
13
  transition?: unknown;
13
14
  minWidth?: unknown;
14
- align?: unknown;
15
15
  minHeight?: unknown;
16
16
  maxWidth?: unknown;
17
17
  maxHeight?: unknown;
@@ -68,6 +68,16 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
68
68
  type: PropType<unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"]>;
69
69
  default: unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"];
70
70
  };
71
+ align: unknown extends Defaults["align"] ? {
72
+ type: PropType<"top" | "bottom" | "start" | "end" | "center">;
73
+ default: string;
74
+ } : Omit<{
75
+ type: PropType<"top" | "bottom" | "start" | "end" | "center">;
76
+ default: string;
77
+ }, "type" | "default"> & {
78
+ type: PropType<unknown extends Defaults["align"] ? "top" | "bottom" | "start" | "end" | "center" : NonNullable<"top" | "bottom" | "start" | "end" | "center"> | Defaults["align"]>;
79
+ default: unknown extends Defaults["align"] ? "top" | "bottom" | "start" | "end" | "center" : NonNullable<"top" | "bottom" | "start" | "end" | "center"> | Defaults["align"];
80
+ };
71
81
  theme: unknown extends Defaults["theme"] ? PropType<string> : {
72
82
  type: PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>;
73
83
  default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"];
@@ -118,16 +128,6 @@ export declare const pressYDialogPropsOptions: <Defaults extends {
118
128
  type: PropType<unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"]>;
119
129
  default: unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"];
120
130
  };
121
- align: unknown extends Defaults["align"] ? {
122
- type: PropType<"top" | "bottom" | "start" | "end" | "center">;
123
- default: string;
124
- } : Omit<{
125
- type: PropType<"top" | "bottom" | "start" | "end" | "center">;
126
- default: string;
127
- }, "type" | "default"> & {
128
- type: PropType<unknown extends Defaults["align"] ? "top" | "bottom" | "start" | "end" | "center" : NonNullable<"top" | "bottom" | "start" | "end" | "center"> | Defaults["align"]>;
129
- default: unknown extends Defaults["align"] ? "top" | "bottom" | "start" | "end" | "center" : NonNullable<"top" | "bottom" | "start" | "end" | "center"> | Defaults["align"];
130
- };
131
131
  minHeight: unknown extends Defaults["minHeight"] ? PropType<string | number> : {
132
132
  type: PropType<unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"]>;
133
133
  default: unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"];
@@ -350,6 +350,10 @@ export declare const YDialog: import('vue').DefineComponent<{
350
350
  };
351
351
  width: PropType<string | number>;
352
352
  height: PropType<string | number>;
353
+ align: {
354
+ type: PropType<"top" | "bottom" | "start" | "end" | "center">;
355
+ default: string;
356
+ };
353
357
  theme: PropType<string>;
354
358
  closeDelay: {
355
359
  type: PropType<number>;
@@ -366,10 +370,6 @@ export declare const YDialog: import('vue').DefineComponent<{
366
370
  default: string;
367
371
  };
368
372
  minWidth: PropType<string | number>;
369
- align: {
370
- type: PropType<"top" | "bottom" | "start" | "end" | "center">;
371
- default: string;
372
- };
373
373
  minHeight: PropType<string | number>;
374
374
  maxWidth: PropType<string | number>;
375
375
  maxHeight: PropType<string | number>;
@@ -0,0 +1,15 @@
1
+ import { ExtractPropTypes } from 'vue';
2
+
3
+ export declare const styleColorPropsOptions: {
4
+ color: StringConstructor;
5
+ background: StringConstructor;
6
+ backgroundOpacity: {
7
+ type: NumberConstructor;
8
+ default: number;
9
+ };
10
+ };
11
+ export declare function useStyleColor(props: ExtractPropTypes<typeof styleColorPropsOptions>, name: string): {
12
+ colorVars: import('vue').ComputedRef<{
13
+ [x: string]: string | undefined;
14
+ }>;
15
+ };
@@ -1,4 +1,5 @@
1
1
  export declare function isColorValue(value: string): boolean;
2
+ export declare function colorRgb(color: string): string;
2
3
  export declare function isTextColorIsLight(r: number, g: number, b: number): boolean;
3
4
  export * from './const';
4
5
  export * from './conversion';