yuyeon 0.0.42 → 0.0.44

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.
Files changed (105) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +2810 -2717
  3. package/dist/yuyeon.umd.cjs +6 -6
  4. package/lib/components/badge/YBadge.mjs +78 -0
  5. package/lib/components/badge/YBadge.mjs.map +1 -0
  6. package/lib/components/badge/YBadge.scss +76 -0
  7. package/lib/components/badge/index.mjs +2 -0
  8. package/lib/components/badge/index.mjs.map +1 -0
  9. package/lib/components/button/YButton.mjs +4 -18
  10. package/lib/components/button/YButton.mjs.map +1 -1
  11. package/lib/components/card/YCard.mjs +5 -3
  12. package/lib/components/card/YCard.mjs.map +1 -1
  13. package/lib/components/card/YCard.scss +7 -0
  14. package/lib/components/card/YCardBody.mjs +2 -2
  15. package/lib/components/card/YCardBody.mjs.map +1 -1
  16. package/lib/components/card/YCardFooter.mjs +2 -2
  17. package/lib/components/card/YCardFooter.mjs.map +1 -1
  18. package/lib/components/card/YCardHeader.mjs +2 -2
  19. package/lib/components/card/YCardHeader.mjs.map +1 -1
  20. package/lib/components/card/index.mjs +4 -5
  21. package/lib/components/card/index.mjs.map +1 -1
  22. package/lib/components/checkbox/YCheckbox.mjs +1 -1
  23. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  24. package/lib/components/checkbox/index.mjs +1 -2
  25. package/lib/components/checkbox/index.mjs.map +1 -1
  26. package/lib/components/chip/YChip.mjs +2 -2
  27. package/lib/components/chip/YChip.mjs.map +1 -1
  28. package/lib/components/chip/index.mjs +1 -2
  29. package/lib/components/chip/index.mjs.map +1 -1
  30. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  31. package/lib/components/form/YForm.mjs +2 -2
  32. package/lib/components/form/YForm.mjs.map +1 -1
  33. package/lib/components/form/index.mjs +1 -3
  34. package/lib/components/form/index.mjs.map +1 -1
  35. package/lib/components/index.mjs +1 -0
  36. package/lib/components/index.mjs.map +1 -1
  37. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  38. package/lib/components/menu/YMenu.mjs +4 -4
  39. package/lib/components/menu/YMenu.mjs.map +1 -1
  40. package/lib/components/pagination/YPagination.mjs.map +1 -1
  41. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  42. package/lib/components/progress-bar/YProgressBar.mjs +3 -2
  43. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  44. package/lib/components/progress-bar/YProgressBar.scss +6 -2
  45. package/lib/components/select/YSelect.mjs +10 -6
  46. package/lib/components/select/YSelect.mjs.map +1 -1
  47. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  48. package/lib/components/switch/YSwitch.mjs.map +1 -1
  49. package/lib/components/tab/YTab.mjs.map +1 -1
  50. package/lib/components/table/YDataTableCell.mjs +4 -0
  51. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  52. package/lib/components/table/YDataTableHead.mjs +1 -0
  53. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  54. package/lib/components/table/YDataTableRow.mjs +52 -39
  55. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  56. package/lib/components/table/YTable.mjs.map +1 -1
  57. package/lib/components/table/YTable.scss +6 -2
  58. package/lib/components/table/types/index.mjs.map +1 -1
  59. package/lib/components/text-highlighter/YTextHighlighter.mjs +1 -1
  60. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  61. package/lib/components/text-highlighter/index.mjs +1 -2
  62. package/lib/components/text-highlighter/index.mjs.map +1 -1
  63. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  64. package/lib/components/tree-view/YTreeViewNode.mjs +1 -1
  65. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  66. package/lib/composables/i18n/index.mjs.map +1 -1
  67. package/lib/locales/en.mjs +2 -1
  68. package/lib/locales/en.mjs.map +1 -1
  69. package/lib/locales/ko.mjs +2 -1
  70. package/lib/locales/ko.mjs.map +1 -1
  71. package/lib/util/ui.mjs +4 -2
  72. package/lib/util/ui.mjs.map +1 -1
  73. package/package.json +1 -1
  74. package/types/components/badge/YBadge.d.ts +141 -0
  75. package/types/components/badge/index.d.ts +1 -0
  76. package/types/components/card/YCard.d.ts +2 -2
  77. package/types/components/card/YCardBody.d.ts +2 -2
  78. package/types/components/card/YCardFooter.d.ts +2 -2
  79. package/types/components/card/YCardHeader.d.ts +2 -2
  80. package/types/components/card/index.d.ts +4 -5
  81. package/types/components/checkbox/YCheckbox.d.ts +2 -2
  82. package/types/components/checkbox/index.d.ts +1 -2
  83. package/types/components/chip/YChip.d.ts +2 -2
  84. package/types/components/chip/index.d.ts +1 -2
  85. package/types/components/form/YForm.d.ts +2 -2
  86. package/types/components/form/index.d.ts +1 -3
  87. package/types/components/index.d.ts +1 -0
  88. package/types/components/loading/YSpinnerRing.d.ts +1 -0
  89. package/types/components/menu/YMenu.d.ts +15 -0
  90. package/types/components/pagination/YPagination.d.ts +1 -0
  91. package/types/components/panel/YDividePanel.d.ts +1 -0
  92. package/types/components/progress-bar/YProgressBar.d.ts +1 -0
  93. package/types/components/select/YSelect.d.ts +1 -0
  94. package/types/components/snackbar/YSnackbar.d.ts +1 -0
  95. package/types/components/switch/YSwitch.d.ts +1 -0
  96. package/types/components/tab/YTab.d.ts +1 -0
  97. package/types/components/table/YDataTableCell.d.ts +6 -0
  98. package/types/components/table/YDataTableRow.d.ts +5 -8
  99. package/types/components/table/YTable.d.ts +1 -0
  100. package/types/components/table/composibles/header.d.ts +2 -0
  101. package/types/components/table/types/index.d.ts +19 -4
  102. package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -2
  103. package/types/components/tooltip/YTooltip.d.ts +1 -0
  104. package/types/locales/en.d.ts +1 -0
  105. package/types/shims.d.ts +2 -0
@@ -0,0 +1,78 @@
1
+ import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from "vue";
2
+ import { defineComponent } from 'vue';
3
+ import { useRender } from "../../composables/component.mjs";
4
+ import { useI18n } from "../../composables/i18n/index.mjs";
5
+ import { IconValue } from "../../composables/icon.mjs";
6
+ import { PolyTransition } from "../../composables/transition.mjs";
7
+ import { propsFactory } from "../../util/vue-component.mjs";
8
+ import { YIcon } from "../icon/YIcon.mjs";
9
+ import "./YBadge.scss";
10
+ export const pressYBadgePropsOptions = propsFactory({
11
+ tag: {
12
+ type: String,
13
+ default: 'div'
14
+ },
15
+ dot: Boolean,
16
+ bordered: Boolean,
17
+ floating: Boolean,
18
+ inline: Boolean,
19
+ icon: IconValue,
20
+ color: String,
21
+ hide: Boolean,
22
+ label: {
23
+ type: String,
24
+ default: '$yuyeon.badge'
25
+ },
26
+ content: [Number, String],
27
+ max: Number,
28
+ transition: {
29
+ type: String,
30
+ default: 'fade'
31
+ }
32
+ }, 'YBadge');
33
+ export const YBadge = defineComponent({
34
+ name: 'YBadge',
35
+ props: pressYBadgePropsOptions(),
36
+ slots: Object,
37
+ setup(props, _ref) {
38
+ let {
39
+ slots
40
+ } = _ref;
41
+ const {
42
+ t
43
+ } = useI18n();
44
+ useRender(() => {
45
+ const ElTag = props.tag;
46
+ const value = Number(props.content);
47
+ const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;
48
+ return _createVNode(ElTag, {
49
+ "class": ['y-badge', {
50
+ 'y-badge--bordered': props.bordered,
51
+ 'y-badge--dot': props.dot,
52
+ 'y-badge--floating': props.floating,
53
+ 'y-badge--inline': props.inline
54
+ }]
55
+ }, {
56
+ default: () => [_createVNode("div", {
57
+ "class": "y-badge__base"
58
+ }, [slots.default?.(), _createVNode(PolyTransition, {
59
+ "is": props.transition,
60
+ "transitionProps": {
61
+ name: props.transition
62
+ }
63
+ }, {
64
+ default: () => [_withDirectives(_createVNode("span", {
65
+ "class": ['y-badge__badge'],
66
+ "aria-atomic": "true",
67
+ "aria-label": t(props.label, value),
68
+ "aria-live": "polite",
69
+ "role": "status"
70
+ }, [props.dot ? undefined : slots.badge ? slots.badge?.() : props.icon ? _createVNode(YIcon, {
71
+ "icon": props.icon
72
+ }, null) : content]), [[_vShow, !props.hide]])]
73
+ })])]
74
+ });
75
+ });
76
+ }
77
+ });
78
+ //# sourceMappingURL=YBadge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YBadge.mjs","names":["defineComponent","useRender","useI18n","IconValue","PolyTransition","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","_withDirectives","undefined","badge","_vShow"],"sources":["../../../src/components/badge/YBadge.tsx"],"sourcesContent":["import { PropType, SlotsType, defineComponent } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { useI18n } from '../../composables/i18n';\nimport { IconValue } from '../../composables/icon';\nimport { PolyTransition } from '../../composables/transition';\nimport { propsFactory } from '../../util/vue-component';\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 color: String,\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 },\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 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 >\n <div class=\"y-badge__base\">\n {slots.default?.()}\n <PolyTransition\n is={props.transition}\n transitionProps={{ name: props.transition }}\n >\n <span\n v-show={!props.hide}\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 </PolyTransition>\n </div>\n </ElTag>\n );\n });\n },\n});\n\nexport type YBadge = InstanceType<typeof YBadge>;\n"],"mappings":";AAAA,SAA8BA,eAAe,QAAQ,KAAK;AAAC,SAElDC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,SAAS;AAAA,SACTC,cAAc;AAAA,SACdC,YAAY;AAAA,SACZC,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,EAAEd,SAAS;EACfe,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,GAAGzB,eAAe,CAAC;EACpC0B,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,GAAG9B,OAAO,CAAC,CAAC;IACvBD,SAAS,CAAC,MAAM;MACd,MAAMgC,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,GACnBW,KAAK,GACJ,GAAEP,KAAK,CAACJ,GAAI,GAAE;MACrB,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,SAEU;QAAe,IACvBR,KAAK,CAACjB,OAAO,GAAG,CAAC,EAAAyB,YAAA,CAAAhC,cAAA;UAAA,MAEZuB,KAAK,CAACH,UAAU;UAAA,mBACH;YAAEE,IAAI,EAAEC,KAAK,CAACH;UAAW;QAAC;UAAAb,OAAA,EAAAA,CAAA,MAAA0B,eAAA,CAAAD,YAAA;YAAA,SAIlC,CAAC,gBAAgB,CAAC;YAAA,eACb,MAAM;YAAA,cACNJ,CAAC,CAACL,KAAK,CAACP,KAAK,EAAEc,KAAK,CAAC;YAAA,aACvB,QAAQ;YAAA,QACb;UAAQ,IAEZP,KAAK,CAACf,GAAG,GAAG0B,SAAS,GAAGV,KAAK,CAACW,KAAK,GAClCX,KAAK,CAACW,KAAK,GAAG,CAAC,GACbZ,KAAK,CAACV,IAAI,GAAAmB,YAAA,CAAA9B,KAAA;YAAA,QACCqB,KAAK,CAACV;UAAI,WAEvBI,OACD,MAAAmB,MAAA,EAbO,CAACb,KAAK,CAACR,IAAI;QAAA;MAAA;IAmB/B,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -0,0 +1,76 @@
1
+ .y-badge {
2
+ --y-badge__min-width: 20px;
3
+ --y-badge__height: 20px;
4
+ --y-badge__dot-size: 8px;
5
+ --y-badge__dot-border-width: 1.413px;
6
+ --y-badge__padding: 4px 8px;
7
+ --y-badge__border-width: 2px;
8
+ --y-badge__border-transform: scale(1.0413);
9
+ --y-badge__inline-margin: 0 4px;
10
+ --y-badge__color: var(--y-theme-surface-variant);
11
+
12
+ display: inline-block;
13
+
14
+ &__base {
15
+ display: flex;
16
+ position: relative;
17
+ }
18
+
19
+ &__badge {
20
+ display: inline-flex;
21
+ align-items: center;
22
+ min-width: var(--y-badge__min-width);
23
+ height: var(--y-badge__height);
24
+ border-radius: 8px;
25
+ font-size: 0.75rem;
26
+ position: absolute;
27
+ text-align: center;
28
+ text-indent: 0;
29
+ white-space: nowrap;
30
+ padding: var(--y-badge__padding);
31
+ background: var(--y-badge__color);
32
+ bottom: calc(100% - var(--y-badge__height) / 2);
33
+ left: calc(100% - var(--y-badge__min-width));
34
+ }
35
+
36
+ @mixin badgeBorder {
37
+ border-radius: inherit;
38
+ border-style: solid;
39
+ content: '';
40
+ position: absolute;
41
+ left: 0;
42
+ right: 0;
43
+ top: 0;
44
+ bottom: 0;
45
+ transform: var(--y-badge__border-transform);
46
+ }
47
+
48
+ &--bordered & {
49
+ &__badge {
50
+ &::after {
51
+ @include badgeBorder;
52
+ }
53
+ }
54
+ }
55
+
56
+ &--dot & {
57
+ &__badge {
58
+ border-radius: 50%;
59
+ width: var(--y-badge__dot-size);
60
+ height: var(--y-badge__dot-size);
61
+ min-width: 0.00000001px;
62
+ padding: 0;
63
+ &::after {
64
+ @include badgeBorder;
65
+ border-width: var(--y-badge__dot-border-width);
66
+ }
67
+ }
68
+ }
69
+
70
+ &--inline &__base {
71
+ display: inline-flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ margin: var(--y-badge__inline-margin);
75
+ }
76
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./YBadge.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/badge/index.ts"],"sourcesContent":["export * from './YBadge';\r\n"],"mappings":""}
@@ -9,8 +9,8 @@ import { isColorValue } from "../../util/color/index.mjs";
9
9
  import { propsFactory } from "../../util/vue-component.mjs";
10
10
  import { YSpinnerRing } from "../loading/YSpinnerRing.mjs";
11
11
  import { Y_TOGGLE_BUTTON_KEY } from "../toggle-button/index.mjs";
12
- /**
13
- * Style
12
+ /**
13
+ * Style
14
14
  */
15
15
  import "./YButton.scss";
16
16
  const NAME = 'y-button';
@@ -60,7 +60,7 @@ export const YButton = defineComponent({
60
60
  },
61
61
  props: pressYButtonProps(),
62
62
  emits: {
63
- 'click': event => true,
63
+ click: event => true,
64
64
  'choice:selected': choice => true
65
65
  },
66
66
  setup(props, _ref) {
@@ -133,25 +133,11 @@ export const YButton = defineComponent({
133
133
 
134
134
  /// Events
135
135
  function onClick(e) {
136
- function guardEvent(e) {
137
- // don't redirect with control keys
138
- if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;
139
- // don't redirect when preventDefault called
140
- if (e.defaultPrevented) return;
141
- // don't redirect on right click
142
- if (e.button !== undefined && e.button !== 0) return;
143
- // don't redirect if `target="_blank"`
144
- if (/\b_blank\b/i.test(attrs.target)) {
145
- return;
146
- }
147
- return true;
148
- }
149
- if (!guardEvent(e) || props.loading || isDisabled.value) {
136
+ if (isDisabled.value || props.loading || link.isLink.value && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) {
150
137
  return;
151
138
  }
152
139
  emit('click', e);
153
140
  link.navigate?.(e);
154
- if (e.preventDefault) e.preventDefault();
155
141
  choice?.toggle();
156
142
  }
157
143
  useRender(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"YButton.mjs","names":["computed","defineComponent","mergeProps","pressChoiceItemPropsOptions","useChoiceItem","useChoiceByLink","useRender","pressVueRouterPropsOptions","useLink","PlateWave","isColorValue","propsFactory","YSpinnerRing","Y_TOGGLE_BUTTON_KEY","NAME","pressYButtonProps","loading","Boolean","active","type","default","undefined","injectSymbol","variation","String","small","icon","outlined","rounded","filled","color","noWave","YButton","name","directives","props","emits","event","choice","setup","_ref","attrs","slots","emit","link","select","isActive","isLink","value","isSelected","variations","split","map","trim","classes","includes","disabled","styles","textColor","isDisabled","onClick","e","guardEvent","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","test","target","navigate","preventDefault","toggle","Tag","_withDirectives","_createVNode","selectedClass","href","width","height","append","_resolveDirective"],"sources":["../../../src/components/button/YButton.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport { computed, defineComponent, mergeProps } from 'vue';\n\nimport {\n pressChoiceItemPropsOptions,\n useChoiceItem,\n} from '../../composables/choice';\nimport { useChoiceByLink } from '../../composables/choice-link';\nimport { useRender } from '../../composables/component';\nimport {\n pressVueRouterPropsOptions,\n useLink,\n} from '../../composables/vue-router';\nimport { PlateWave } from '../../directives/plate-wave';\nimport { isColorValue } from '../../util/color';\nimport { propsFactory } from '../../util/vue-component';\nimport { YSpinnerRing } from '../loading/YSpinnerRing';\nimport { Y_TOGGLE_BUTTON_KEY } from '../toggle-button';\n\n/**\n * Style\n */\nimport './YButton.scss';\n\nconst NAME = 'y-button';\n\nexport const pressYButtonProps = propsFactory(\n {\n loading: Boolean,\n active: { type: Boolean, default: undefined },\n injectSymbol: { type: null, default: Y_TOGGLE_BUTTON_KEY },\n //\n variation: {\n type: String as PropType<string>,\n },\n small: Boolean,\n icon: Boolean,\n outlined: {\n type: Boolean,\n default: false,\n },\n rounded: {\n type: Boolean,\n default: false,\n },\n filled: {\n type: Boolean,\n default: false,\n },\n //\n color: {\n type: String,\n },\n noWave: {\n type: Boolean,\n default: false,\n },\n ...pressVueRouterPropsOptions(),\n ...pressChoiceItemPropsOptions(),\n },\n 'YButton',\n);\n\nexport const YButton = defineComponent({\n name: 'YButton',\n directives: {\n PlateWave,\n },\n props: pressYButtonProps(),\n emits: {\n 'click': (event: MouseEvent) => true,\n 'choice:selected': (choice: { value: boolean }) => true,\n },\n setup(props, { attrs, slots, emit }) {\n const choice = useChoiceItem(props, props.injectSymbol, false);\n const link = useLink(props, attrs);\n useChoiceByLink(link, choice?.select);\n\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active;\n }\n if (link.isLink.value) {\n return link.isActive?.value;\n }\n return choice?.isSelected.value;\n });\n\n const variations = computed(() => {\n const { variation } = props;\n if (typeof variation === 'string') {\n return variation.split(',').map((value) => {\n return value.trim();\n });\n }\n return [];\n });\n\n const classes = computed(() => {\n const { outlined, rounded, filled, small, icon } = props;\n return {\n [`${NAME}--outlined`]:\n variations.value.includes('outlined') || outlined,\n [`${NAME}--rounded`]: variations.value.includes('rounded') || rounded,\n [`${NAME}--filled`]: variations.value.includes('filled') || filled,\n [`${NAME}--text`]: variations.value.includes('text'),\n [`${NAME}--small`]: variations.value.includes('small') || small,\n [`${NAME}--icon`]: variations.value.includes('icon') || icon,\n [`${NAME}--color`]: props.color,\n [`${NAME}--loading`]: props.loading,\n [`${NAME}--disabled`]: props.disabled,\n [`${NAME}--active`]: isActive.value,\n };\n });\n\n const styles = computed(() => {\n let { color } = props;\n let textColor: string | undefined;\n if (color && !isColorValue(color)) {\n color = `var(--y-theme-${color})`;\n textColor = `var(--y-theme-on-${props.color})`;\n }\n return {\n [`--y-button__color`]: color,\n [`--y-button__text-color`]: textColor,\n };\n });\n\n const isDisabled = computed(() => {\n return choice?.disabled.value || props.disabled;\n });\n\n /// Events\n function onClick(e: MouseEvent) {\n function guardEvent(e: MouseEvent) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented) return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) return;\n // don't redirect if `target=\"_blank\"`\n if (/\\b_blank\\b/i.test(attrs.target as string)) {\n return;\n }\n return true;\n }\n if (!guardEvent(e) || props.loading || isDisabled.value) {\n return;\n }\n emit('click', e);\n link.navigate?.(e);\n if (e.preventDefault) e.preventDefault();\n choice?.toggle();\n }\n\n useRender(() => {\n const Tag = link.isLink.value ? 'a' : 'button';\n return (\n <Tag\n class={[\n `${NAME}`,\n choice?.selectedClass.value,\n {\n ...classes.value,\n },\n ]}\n href={link.href.value}\n style={styles.value}\n onClick={onClick}\n disabled={props.disabled ? true : undefined}\n v-plate-wave={!props.noWave && !props.loading}\n >\n <span class={['y-button__content']}>\n {props.loading && (\n <YSpinnerRing\n {...mergeProps({ width: '24', height: '24' })}\n ></YSpinnerRing>\n )}\n {slots.default?.()}\n </span>\n {slots.append?.()}\n </Tag>\n );\n });\n\n return {\n link,\n };\n },\n});\n\nexport type YButton = InstanceType<typeof YButton>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YButton.mjs","names":["computed","defineComponent","mergeProps","pressChoiceItemPropsOptions","useChoiceItem","useChoiceByLink","useRender","pressVueRouterPropsOptions","useLink","PlateWave","isColorValue","propsFactory","YSpinnerRing","Y_TOGGLE_BUTTON_KEY","NAME","pressYButtonProps","loading","Boolean","active","type","default","undefined","injectSymbol","variation","String","small","icon","outlined","rounded","filled","color","noWave","YButton","name","directives","props","emits","click","event","choice","setup","_ref","attrs","slots","emit","link","select","isActive","isLink","value","isSelected","variations","split","map","trim","classes","includes","disabled","styles","textColor","isDisabled","onClick","e","metaKey","altKey","ctrlKey","shiftKey","button","target","navigate","toggle","Tag","_withDirectives","_createVNode","selectedClass","href","width","height","append","_resolveDirective"],"sources":["../../../src/components/button/YButton.tsx"],"sourcesContent":["import type { PropType } from 'vue';\r\nimport { computed, defineComponent, mergeProps } from 'vue';\r\n\r\nimport {\r\n pressChoiceItemPropsOptions,\r\n useChoiceItem,\r\n} from '../../composables/choice';\r\nimport { useChoiceByLink } from '../../composables/choice-link';\r\nimport { useRender } from '../../composables/component';\r\nimport {\r\n pressVueRouterPropsOptions,\r\n useLink,\r\n} from '../../composables/vue-router';\r\nimport { PlateWave } from '../../directives/plate-wave';\r\nimport { isColorValue } from '../../util/color';\r\nimport { EventProp, propsFactory } from '../../util/vue-component';\r\nimport { YSpinnerRing } from '../loading/YSpinnerRing';\r\nimport { Y_TOGGLE_BUTTON_KEY } from '../toggle-button';\r\n\r\n/**\r\n * Style\r\n */\r\nimport './YButton.scss';\r\n\r\nconst NAME = 'y-button';\r\n\r\nexport const pressYButtonProps = propsFactory(\r\n {\r\n loading: Boolean,\r\n active: { type: Boolean, default: undefined },\r\n injectSymbol: { type: null, default: Y_TOGGLE_BUTTON_KEY },\r\n //\r\n variation: {\r\n type: String as PropType<string>,\r\n },\r\n small: Boolean,\r\n icon: Boolean,\r\n outlined: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n rounded: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n filled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n //\r\n color: {\r\n type: String,\r\n },\r\n noWave: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n ...pressVueRouterPropsOptions(),\r\n ...pressChoiceItemPropsOptions(),\r\n },\r\n 'YButton',\r\n);\r\n\r\nexport const YButton = defineComponent({\r\n name: 'YButton',\r\n directives: {\r\n PlateWave,\r\n },\r\n props: pressYButtonProps(),\r\n emits: {\r\n click: (event: MouseEvent) => true,\r\n 'choice:selected': (choice: { value: boolean }) => true,\r\n },\r\n setup(props, { attrs, slots, emit }) {\r\n const choice = useChoiceItem(props, props.injectSymbol, false);\r\n const link = useLink(props, attrs);\r\n useChoiceByLink(link, choice?.select);\r\n\r\n const isActive = computed(() => {\r\n if (props.active !== undefined) {\r\n return props.active;\r\n }\r\n if (link.isLink.value) {\r\n return link.isActive?.value;\r\n }\r\n return choice?.isSelected.value;\r\n });\r\n\r\n const variations = computed(() => {\r\n const { variation } = props;\r\n if (typeof variation === 'string') {\r\n return variation.split(',').map((value) => {\r\n return value.trim();\r\n });\r\n }\r\n return [];\r\n });\r\n\r\n const classes = computed(() => {\r\n const { outlined, rounded, filled, small, icon } = props;\r\n return {\r\n [`${NAME}--outlined`]:\r\n variations.value.includes('outlined') || outlined,\r\n [`${NAME}--rounded`]: variations.value.includes('rounded') || rounded,\r\n [`${NAME}--filled`]: variations.value.includes('filled') || filled,\r\n [`${NAME}--text`]: variations.value.includes('text'),\r\n [`${NAME}--small`]: variations.value.includes('small') || small,\r\n [`${NAME}--icon`]: variations.value.includes('icon') || icon,\r\n [`${NAME}--color`]: props.color,\r\n [`${NAME}--loading`]: props.loading,\r\n [`${NAME}--disabled`]: props.disabled,\r\n [`${NAME}--active`]: isActive.value,\r\n };\r\n });\r\n\r\n const styles = computed(() => {\r\n let { color } = props;\r\n let textColor: string | undefined;\r\n if (color && !isColorValue(color)) {\r\n color = `var(--y-theme-${color})`;\r\n textColor = `var(--y-theme-on-${props.color})`;\r\n }\r\n return {\r\n [`--y-button__color`]: color,\r\n [`--y-button__text-color`]: textColor,\r\n };\r\n });\r\n\r\n const isDisabled = computed(() => {\r\n return choice?.disabled.value || props.disabled;\r\n });\r\n\r\n /// Events\r\n function onClick(e: MouseEvent) {\r\n if (\r\n isDisabled.value ||\r\n props.loading ||\r\n (link.isLink.value &&\r\n (e.metaKey ||\r\n e.altKey ||\r\n e.ctrlKey ||\r\n e.shiftKey ||\r\n e.button !== 0 ||\r\n attrs.target === '_blank'))\r\n ) {\r\n return;\r\n }\r\n emit('click', e);\r\n link.navigate?.(e);\r\n choice?.toggle();\r\n }\r\n\r\n useRender(() => {\r\n const Tag = link.isLink.value ? 'a' : 'button';\r\n return (\r\n <Tag\r\n class={[\r\n `${NAME}`,\r\n choice?.selectedClass.value,\r\n {\r\n ...classes.value,\r\n },\r\n ]}\r\n href={link.href.value}\r\n style={styles.value}\r\n onClick={onClick}\r\n disabled={props.disabled ? true : undefined}\r\n v-plate-wave={!props.noWave && !props.loading}\r\n >\r\n <span class={['y-button__content']}>\r\n {props.loading && (\r\n <YSpinnerRing\r\n {...mergeProps({ width: '24', height: '24' })}\r\n ></YSpinnerRing>\r\n )}\r\n {slots.default?.()}\r\n </span>\r\n {slots.append?.()}\r\n </Tag>\r\n );\r\n });\r\n\r\n return {\r\n link,\r\n };\r\n },\r\n});\r\n\r\nexport type YButton = InstanceType<typeof YButton>;\r\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, h, withDirectives } from 'vue';
2
2
  import ThemeClass from "../../directives/theme-class.mjs";
3
3
  import "./YCard.scss";
4
- export default defineComponent({
5
- name: 'y-card',
4
+ export const YCard = defineComponent({
5
+ name: 'YCard',
6
6
  props: {
7
7
  outline: {
8
8
  type: Boolean
@@ -11,7 +11,9 @@ export default defineComponent({
11
11
  render() {
12
12
  const theme = ThemeClass;
13
13
  return withDirectives(h('div', {
14
- class: ['y-card']
14
+ class: ['y-card', {
15
+ 'y-card--outlined': this.$props.outline
16
+ }]
15
17
  }, this.$slots.default?.call(this)), [[theme]]);
16
18
  }
17
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"YCard.mjs","names":["defineComponent","h","withDirectives","ThemeClass","name","props","outline","type","Boolean","render","theme","class","$slots","default","call"],"sources":["../../../src/components/card/YCard.ts"],"sourcesContent":["import type { Directive, PropType, VNode } from 'vue';\nimport { defineComponent, h, withDirectives } from 'vue';\n\nimport ThemeClass from '../../directives/theme-class';\n\nimport './YCard.scss';\n\nexport default defineComponent({\n name: 'y-card',\n props: {\n outline: {\n type: Boolean as PropType<boolean>,\n },\n },\n render(): VNode {\n const theme = ThemeClass as Directive;\n return withDirectives(\n h(\n 'div',\n {\n class: ['y-card'],\n },\n this.$slots.default?.call(this),\n ),\n [[theme]],\n );\n },\n});\n"],"mappings":"AACA,SAASA,eAAe,EAAEC,CAAC,EAAEC,cAAc,QAAQ,KAAK;AAAC,OAElDC,UAAU;AAEjB;AAEA,eAAeH,eAAe,CAAC;EAC7BI,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACLC,OAAO,EAAE;MACPC,IAAI,EAAEC;IACR;EACF,CAAC;EACDC,MAAMA,CAAA,EAAU;IACd,MAAMC,KAAK,GAAGP,UAAuB;IACrC,OAAOD,cAAc,CACnBD,CAAC,CACC,KAAK,EACL;MACEU,KAAK,EAAE,CAAC,QAAQ;IAClB,CAAC,EACD,IAAI,CAACC,MAAM,CAACC,OAAO,EAAEC,IAAI,CAAC,IAAI,CAChC,CAAC,EACD,CAAC,CAACJ,KAAK,CAAC,CACV,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YCard.mjs","names":["defineComponent","h","withDirectives","ThemeClass","YCard","name","props","outline","type","Boolean","render","theme","class","$props","$slots","default","call"],"sources":["../../../src/components/card/YCard.ts"],"sourcesContent":["import type { Directive, PropType, VNode } from 'vue';\nimport { defineComponent, h, withDirectives } from 'vue';\n\nimport ThemeClass from '../../directives/theme-class';\n\nimport './YCard.scss';\n\nexport const YCard = defineComponent({\n name: 'YCard',\n props: {\n outline: {\n type: Boolean as PropType<boolean>,\n },\n },\n render(): VNode {\n const theme = ThemeClass as Directive;\n return withDirectives(\n h(\n 'div',\n {\n class: ['y-card', { 'y-card--outlined': this.$props.outline }],\n },\n this.$slots.default?.call(this),\n ),\n [[theme]],\n );\n },\n});\n\nexport type YCard = InstanceType<typeof YCard>;\n"],"mappings":"AACA,SAASA,eAAe,EAAEC,CAAC,EAAEC,cAAc,QAAQ,KAAK;AAAC,OAElDC,UAAU;AAEjB;AAEA,OAAO,MAAMC,KAAK,GAAGJ,eAAe,CAAC;EACnCK,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACLC,OAAO,EAAE;MACPC,IAAI,EAAEC;IACR;EACF,CAAC;EACDC,MAAMA,CAAA,EAAU;IACd,MAAMC,KAAK,GAAGR,UAAuB;IACrC,OAAOD,cAAc,CACnBD,CAAC,CACC,KAAK,EACL;MACEW,KAAK,EAAE,CAAC,QAAQ,EAAE;QAAE,kBAAkB,EAAE,IAAI,CAACC,MAAM,CAACN;MAAQ,CAAC;IAC/D,CAAC,EACD,IAAI,CAACO,MAAM,CAACC,OAAO,EAAEC,IAAI,CAAC,IAAI,CAChC,CAAC,EACD,CAAC,CAACL,KAAK,CAAC,CACV,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -8,6 +8,7 @@ $card__padding: 24px;
8
8
  --y-card__border-radius: #{$card__border-radius};
9
9
  --y-card__default-background: #ffffff;
10
10
  --y-card__background: var(--y-theme-surface, var(--y-card__default-background));
11
+ --y-card__outline-color: var(--y-theme-outline);
11
12
 
12
13
  background-color: var(--y-card__background);
13
14
  border-radius: var(--y-card__border-radius, $card__border-radius);
@@ -33,4 +34,10 @@ $card__padding: 24px;
33
34
  font-weight: bolder;
34
35
  font-size: 1.12em;
35
36
  }
37
+
38
+ &--outlined {
39
+ border-width: 1px;
40
+ border-style: solid;
41
+ border-color: var(--y-card__outline-color);
42
+ }
36
43
  }
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, h } from 'vue';
2
- export default defineComponent({
3
- name: 'y-card-body',
2
+ export const YCardBody = defineComponent({
3
+ name: 'YCardBody',
4
4
  render() {
5
5
  return h('div', {
6
6
  class: 'y-card__body'
@@ -1 +1 @@
1
- {"version":3,"file":"YCardBody.mjs","names":["defineComponent","h","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardBody.ts"],"sourcesContent":["import { defineComponent, h } from 'vue';\n\nexport default defineComponent({\n name: 'y-card-body',\n render() {\n return h('div', { class: 'y-card__body' }, this.$slots.default?.());\n },\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAExC,eAAeD,eAAe,CAAC;EAC7BE,IAAI,EAAE,aAAa;EACnBC,MAAMA,CAAA,EAAG;IACP,OAAOF,CAAC,CAAC,KAAK,EAAE;MAAEG,KAAK,EAAE;IAAe,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACrE;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YCardBody.mjs","names":["defineComponent","h","YCardBody","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardBody.ts"],"sourcesContent":["import { defineComponent, h } from 'vue';\n\nexport const YCardBody = defineComponent({\n name: 'YCardBody',\n render() {\n return h('div', { class: 'y-card__body' }, this.$slots.default?.());\n },\n});\n\nexport type YCardBody = InstanceType<typeof YCardBody>;\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAExC,OAAO,MAAMC,SAAS,GAAIF,eAAe,CAAC;EACxCG,IAAI,EAAE,WAAW;EACjBC,MAAMA,CAAA,EAAG;IACP,OAAOH,CAAC,CAAC,KAAK,EAAE;MAAEI,KAAK,EAAE;IAAe,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACrE;AACF,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, h } from 'vue';
2
- export default defineComponent({
3
- name: 'y-card-footer',
2
+ export const YCardFooter = defineComponent({
3
+ name: 'YCardFooter',
4
4
  render() {
5
5
  return h('div', {
6
6
  class: 'y-card__footer'
@@ -1 +1 @@
1
- {"version":3,"file":"YCardFooter.mjs","names":["defineComponent","h","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardFooter.ts"],"sourcesContent":["import { defineComponent, h } from 'vue';\n\nexport default defineComponent({\n name: 'y-card-footer',\n render() {\n return h('div', { class: 'y-card__footer' }, this.$slots.default?.());\n },\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAExC,eAAeD,eAAe,CAAC;EAC7BE,IAAI,EAAE,eAAe;EACrBC,MAAMA,CAAA,EAAG;IACP,OAAOF,CAAC,CAAC,KAAK,EAAE;MAAEG,KAAK,EAAE;IAAiB,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACvE;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YCardFooter.mjs","names":["defineComponent","h","YCardFooter","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardFooter.ts"],"sourcesContent":["import { defineComponent, h } from 'vue';\n\nexport const YCardFooter = defineComponent({\n name: 'YCardFooter',\n render() {\n return h('div', { class: 'y-card__footer' }, this.$slots.default?.());\n },\n});\n\nexport type YCardFooter = InstanceType<typeof YCardFooter>;\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAExC,OAAO,MAAMC,WAAW,GAAGF,eAAe,CAAC;EACzCG,IAAI,EAAE,aAAa;EACnBC,MAAMA,CAAA,EAAG;IACP,OAAOH,CAAC,CAAC,KAAK,EAAE;MAAEI,KAAK,EAAE;IAAiB,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACvE;AACF,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, h } from 'vue';
2
- export default defineComponent({
3
- name: 'y-card-header',
2
+ export const YCardHeader = defineComponent({
3
+ name: 'YCardHeader',
4
4
  render() {
5
5
  return h('div', {
6
6
  class: 'y-card__header'
@@ -1 +1 @@
1
- {"version":3,"file":"YCardHeader.mjs","names":["defineComponent","h","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardHeader.ts"],"sourcesContent":["import { defineComponent, h } from 'vue';\n\nexport default defineComponent({\n name: 'y-card-header',\n render() {\n return h('div', { class: 'y-card__header' }, this.$slots.default?.());\n },\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAExC,eAAeD,eAAe,CAAC;EAC7BE,IAAI,EAAE,eAAe;EACrBC,MAAMA,CAAA,EAAG;IACP,OAAOF,CAAC,CAAC,KAAK,EAAE;MAAEG,KAAK,EAAE;IAAiB,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACvE;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YCardHeader.mjs","names":["defineComponent","h","YCardHeader","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardHeader.ts"],"sourcesContent":["import { defineComponent, h } from 'vue';\n\nexport const YCardHeader = defineComponent({\n name: 'YCardHeader',\n render() {\n return h('div', { class: 'y-card__header' }, this.$slots.default?.());\n },\n});\n\nexport type YCardHeader = InstanceType<typeof YCardHeader>;\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,CAAC,QAAQ,KAAK;AAExC,OAAO,MAAMC,WAAW,GAAGF,eAAe,CAAC;EACzCG,IAAI,EAAE,aAAa;EACnBC,MAAMA,CAAA,EAAG;IACP,OAAOH,CAAC,CAAC,KAAK,EAAE;MAAEI,KAAK,EAAE;IAAiB,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACvE;AACF,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
- import YCard from "./YCard.mjs";
2
- import YCardBody from "./YCardBody.mjs";
3
- import YCardFooter from "./YCardFooter.mjs";
4
- import YCardHeader from "./YCardHeader.mjs";
5
- export { YCard, YCardHeader, YCardBody, YCardFooter };
1
+ export * from "./YCard.mjs";
2
+ export * from "./YCardBody.mjs";
3
+ export * from "./YCardFooter.mjs";
4
+ export * from "./YCardHeader.mjs";
6
5
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["YCard","YCardBody","YCardFooter","YCardHeader"],"sources":["../../../src/components/card/index.ts"],"sourcesContent":["import YCard from './YCard';\nimport YCardBody from './YCardBody';\nimport YCardFooter from './YCardFooter';\nimport YCardHeader from './YCardHeader';\n\nexport { YCard, YCardHeader, YCardBody, YCardFooter };\n"],"mappings":"OAAOA,KAAK;AAAA,OACLC,SAAS;AAAA,OACTC,WAAW;AAAA,OACXC,WAAW;AAElB,SAASH,KAAK,EAAEG,WAAW,EAAEF,SAAS,EAAEC,WAAW"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/card/index.ts"],"sourcesContent":["export * from './YCard';\nexport * from './YCardBody';\nexport * from './YCardFooter';\nexport * from './YCardHeader';\n"],"mappings":""}
@@ -4,7 +4,7 @@ import { useRender } from "../../composables/component.mjs";
4
4
  import { getUid } from "../../util/vue-component.mjs";
5
5
  import YInputCheckbox from "./YInputCheckbox.mjs";
6
6
  import "./YCheckbox.scss";
7
- export default defineComponent({
7
+ export const YCheckbox = defineComponent({
8
8
  name: 'YCheckbox',
9
9
  components: {
10
10
  YInputCheckbox
@@ -1 +1 @@
1
- {"version":3,"file":"YCheckbox.mjs","names":["computed","defineComponent","ref","watch","withModifiers","useRender","getUid","YInputCheckbox","name","components","emits","props","modelValue","Boolean","Array","value","String","Number","Object","label","reverse","icon","type","color","default","disabled","readonly","setup","_ref","emit","slots","focused","checked","counterId","toString","inputId","onFocus","e","onBlur","onClick","check","inputByProp","isArray","found","find","inp","undefined","classes","computedIcon","isMultipleInput","getMultipleInputIndex","findIndex","v","neo","index","push","splice","immediate","deep","_createVNode","leading","stopPropagation","_len","arguments","length","args","_key","_len2","_key2","trailing"],"sources":["../../../src/components/checkbox/YCheckbox.tsx"],"sourcesContent":["import {\r\n PropType,\r\n computed,\r\n defineComponent,\r\n ref,\r\n watch,\r\n withModifiers,\r\n} from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { getUid } from '../../util/vue-component';\r\nimport YInputCheckbox from './YInputCheckbox';\r\n\r\nimport './YCheckbox.scss';\r\n\r\nexport default defineComponent({\r\n name: 'YCheckbox',\r\n components: { YInputCheckbox },\r\n emits: ['focus', 'blur', 'click', 'update:modelValue', 'change'],\r\n props: {\r\n modelValue: [Boolean, Array] as PropType<boolean | any[]>,\r\n value: [String, Number, Object] as PropType<any>,\r\n label: String as PropType<string>,\r\n reverse: Boolean as PropType<boolean>,\r\n icon: {\r\n type: [Object, String] as PropType<\r\n { checked?: string; unchecked?: string } | string\r\n >,\r\n },\r\n color: {\r\n type: String as PropType<string>,\r\n default: () => 'primary',\r\n },\r\n disabled: Boolean as PropType<boolean>,\r\n readonly: Boolean as PropType<boolean>,\r\n },\r\n setup(props, { emit, slots }) {\r\n const focused = ref(false);\r\n const checked = ref(false);\r\n const counterId = (getUid() ?? '').toString();\r\n const inputId = `input-${counterId}`;\r\n\r\n function onFocus(e: FocusEvent) {\r\n focused.value = true;\r\n emit('focus', e);\r\n }\r\n\r\n function onBlur(e: FocusEvent) {\r\n focused.value = false;\r\n emit('blur', e);\r\n }\r\n\r\n function onClick(e: Event, ...args: any[]) {\r\n emit('click', e);\r\n if (props.disabled || props.readonly) return;\r\n const check = !checked.value;\r\n checked.value = check;\r\n emit('change', check);\r\n }\r\n\r\n function inputByProp() {\r\n if (Array.isArray(props.modelValue)) {\r\n const found = props.modelValue?.find((inp: any) => inp === props.value);\r\n if (found !== undefined) {\r\n checked.value = true;\r\n } else {\r\n checked.value = false;\r\n }\r\n } else if (typeof props.modelValue === 'boolean') {\r\n checked.value = props.modelValue;\r\n }\r\n }\r\n\r\n const classes = computed<Record<string, boolean>>(() => {\r\n const { reverse, disabled, readonly } = props;\r\n return {\r\n 'y-checkbox': true,\r\n 'y-checkbox--reverse': !!reverse,\r\n 'y-checkbox--focused': focused.value,\r\n 'y-checkbox--disabled': !!disabled,\r\n 'y-checkbox--readonly': !!readonly,\r\n };\r\n });\r\n\r\n const computedIcon = computed<string | undefined>(() => {\r\n if (typeof props.icon === 'string') {\r\n return props.icon;\r\n }\r\n return undefined;\r\n });\r\n\r\n const isMultipleInput = computed<boolean>(() => {\r\n return Array.isArray(props.modelValue);\r\n });\r\n\r\n function getMultipleInputIndex() {\r\n if (!isMultipleInput.value) {\r\n return -1;\r\n }\r\n return (props.modelValue as any[]).findIndex(\r\n (v: any) => v === props.value,\r\n );\r\n }\r\n\r\n watch(checked, (neo) => {\r\n if (Array.isArray(props.modelValue)) {\r\n const value = props.modelValue;\r\n const index = getMultipleInputIndex();\r\n if (neo && index === -1) {\r\n value.push(props.value);\r\n } else if (!neo && index !== -1) {\r\n value.splice(index, 1);\r\n }\r\n emit('update:modelValue', value);\r\n } else {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n if (Array.isArray(neo)) {\r\n inputByProp();\r\n } else {\r\n checked.value = !!neo;\r\n }\r\n },\r\n { immediate: true, deep: true },\r\n );\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[{ ...classes.value }]}>\r\n {slots.leading?.()}\r\n <div class=\"y-checkbox__slot\">\r\n <YInputCheckbox\r\n onClick={(e: Event, ...args: any[]) => {\r\n e.stopPropagation();\r\n onClick(e, ...args);\r\n }}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n id={counterId}\r\n value={checked.value}\r\n icon={computedIcon.value}\r\n color={props.color}\r\n disabled={props.disabled}\r\n readonly={props.readonly}\r\n >\r\n {slots.icon && {\r\n icon: (...args: any[]) => slots.icon?.(...args),\r\n }}\r\n </YInputCheckbox>\r\n <label\r\n onClick={withModifiers(() => {}, ['stop'])}\r\n class=\"y-checkbox__label\"\r\n for={inputId}\r\n >\r\n {slots.label ? slots.label?.() : props.label}\r\n </label>\r\n </div>\r\n {slots.trailing?.()}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n checked,\r\n };\r\n },\r\n});\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YCheckbox.mjs","names":["computed","defineComponent","ref","watch","withModifiers","useRender","getUid","YInputCheckbox","YCheckbox","name","components","emits","props","modelValue","Boolean","Array","value","String","Number","Object","label","reverse","icon","type","color","default","disabled","readonly","setup","_ref","emit","slots","focused","checked","counterId","toString","inputId","onFocus","e","onBlur","onClick","check","inputByProp","isArray","found","find","inp","undefined","classes","computedIcon","isMultipleInput","getMultipleInputIndex","findIndex","v","neo","index","push","splice","immediate","deep","_createVNode","leading","stopPropagation","_len","arguments","length","args","_key","_len2","_key2","trailing"],"sources":["../../../src/components/checkbox/YCheckbox.tsx"],"sourcesContent":["import {\r\n PropType,\r\n computed,\r\n defineComponent,\r\n ref,\r\n watch,\r\n withModifiers,\r\n} from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { getUid } from '../../util/vue-component';\r\nimport YInputCheckbox from './YInputCheckbox';\r\n\r\nimport './YCheckbox.scss';\r\n\r\nexport const YCheckbox = defineComponent({\r\n name: 'YCheckbox',\r\n components: { YInputCheckbox },\r\n emits: ['focus', 'blur', 'click', 'update:modelValue', 'change'],\r\n props: {\r\n modelValue: [Boolean, Array] as PropType<boolean | any[]>,\r\n value: [String, Number, Object] as PropType<any>,\r\n label: String as PropType<string>,\r\n reverse: Boolean as PropType<boolean>,\r\n icon: {\r\n type: [Object, String] as PropType<\r\n { checked?: string; unchecked?: string } | string\r\n >,\r\n },\r\n color: {\r\n type: String as PropType<string>,\r\n default: () => 'primary',\r\n },\r\n disabled: Boolean as PropType<boolean>,\r\n readonly: Boolean as PropType<boolean>,\r\n },\r\n setup(props, { emit, slots }) {\r\n const focused = ref(false);\r\n const checked = ref(false);\r\n const counterId = (getUid() ?? '').toString();\r\n const inputId = `input-${counterId}`;\r\n\r\n function onFocus(e: FocusEvent) {\r\n focused.value = true;\r\n emit('focus', e);\r\n }\r\n\r\n function onBlur(e: FocusEvent) {\r\n focused.value = false;\r\n emit('blur', e);\r\n }\r\n\r\n function onClick(e: Event, ...args: any[]) {\r\n emit('click', e);\r\n if (props.disabled || props.readonly) return;\r\n const check = !checked.value;\r\n checked.value = check;\r\n emit('change', check);\r\n }\r\n\r\n function inputByProp() {\r\n if (Array.isArray(props.modelValue)) {\r\n const found = props.modelValue?.find((inp: any) => inp === props.value);\r\n if (found !== undefined) {\r\n checked.value = true;\r\n } else {\r\n checked.value = false;\r\n }\r\n } else if (typeof props.modelValue === 'boolean') {\r\n checked.value = props.modelValue;\r\n }\r\n }\r\n\r\n const classes = computed<Record<string, boolean>>(() => {\r\n const { reverse, disabled, readonly } = props;\r\n return {\r\n 'y-checkbox': true,\r\n 'y-checkbox--reverse': !!reverse,\r\n 'y-checkbox--focused': focused.value,\r\n 'y-checkbox--disabled': !!disabled,\r\n 'y-checkbox--readonly': !!readonly,\r\n };\r\n });\r\n\r\n const computedIcon = computed<string | undefined>(() => {\r\n if (typeof props.icon === 'string') {\r\n return props.icon;\r\n }\r\n return undefined;\r\n });\r\n\r\n const isMultipleInput = computed<boolean>(() => {\r\n return Array.isArray(props.modelValue);\r\n });\r\n\r\n function getMultipleInputIndex() {\r\n if (!isMultipleInput.value) {\r\n return -1;\r\n }\r\n return (props.modelValue as any[]).findIndex(\r\n (v: any) => v === props.value,\r\n );\r\n }\r\n\r\n watch(checked, (neo) => {\r\n if (Array.isArray(props.modelValue)) {\r\n const value = props.modelValue;\r\n const index = getMultipleInputIndex();\r\n if (neo && index === -1) {\r\n value.push(props.value);\r\n } else if (!neo && index !== -1) {\r\n value.splice(index, 1);\r\n }\r\n emit('update:modelValue', value);\r\n } else {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n if (Array.isArray(neo)) {\r\n inputByProp();\r\n } else {\r\n checked.value = !!neo;\r\n }\r\n },\r\n { immediate: true, deep: true },\r\n );\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[{ ...classes.value }]}>\r\n {slots.leading?.()}\r\n <div class=\"y-checkbox__slot\">\r\n <YInputCheckbox\r\n onClick={(e: Event, ...args: any[]) => {\r\n e.stopPropagation();\r\n onClick(e, ...args);\r\n }}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n id={counterId}\r\n value={checked.value}\r\n icon={computedIcon.value}\r\n color={props.color}\r\n disabled={props.disabled}\r\n readonly={props.readonly}\r\n >\r\n {slots.icon && {\r\n icon: (...args: any[]) => slots.icon?.(...args),\r\n }}\r\n </YInputCheckbox>\r\n <label\r\n onClick={withModifiers(() => {}, ['stop'])}\r\n class=\"y-checkbox__label\"\r\n for={inputId}\r\n >\r\n {slots.label ? slots.label?.() : props.label}\r\n </label>\r\n </div>\r\n {slots.trailing?.()}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n checked,\r\n };\r\n },\r\n});\r\n\r\nexport type YCheckbox = InstanceType<typeof YCheckbox>;\r\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import YCheckbox from "./YCheckbox.mjs";
1
+ export * from "./YCheckbox.mjs";
2
2
  import YInputCheckbox from "./YInputCheckbox.mjs";
3
- export { YCheckbox };
4
3
  export { YInputCheckbox };
5
4
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["YCheckbox","YInputCheckbox"],"sources":["../../../src/components/checkbox/index.ts"],"sourcesContent":["import YCheckbox from './YCheckbox';\nimport YInputCheckbox from './YInputCheckbox';\n\nexport { YCheckbox };\nexport { YInputCheckbox };\n"],"mappings":"OAAOA,SAAS;AAAA,OACTC,cAAc;AAErB,SAASD,SAAS;AAClB,SAASC,cAAc"}
1
+ {"version":3,"file":"index.mjs","names":["YInputCheckbox"],"sources":["../../../src/components/checkbox/index.ts"],"sourcesContent":["export * from './YCheckbox';\nimport YInputCheckbox from './YInputCheckbox';\n\nexport { YInputCheckbox };\n"],"mappings":";OACOA,cAAc;AAErB,SAASA,cAAc"}
@@ -3,8 +3,8 @@ import { defineComponent } from 'vue';
3
3
  import { hasOwnProperty } from "../../util/common.mjs";
4
4
  import "./YChip.scss";
5
5
  import { rgbFromHex } from "../../util/color/index.mjs";
6
- export default defineComponent({
7
- name: 'y-chip',
6
+ export const YChip = defineComponent({
7
+ name: 'YChip',
8
8
  props: {
9
9
  color: String,
10
10
  background: String,
@@ -1 +1 @@
1
- {"version":3,"file":"YChip.mjs","names":["defineComponent","hasOwnProperty","rgbFromHex","name","props","color","String","background","small","Boolean","bgOpacity","type","Number","default","computed","clickable","$attrs","classes","backgroundColor","colorRgb","styles","methods","startsWith","join","RGBA_REGEX","test","value","exec","valueArray","trim","split","splice","render","_createVNode","$slots"],"sources":["../../../src/components/chip/YChip.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\n\nimport { hasOwnProperty } from '../../util/common';\n\nimport './YChip.scss';\nimport { rgbFromHex } from \"../../util/color\";\n\nexport default defineComponent({\n name: 'y-chip',\n props: {\n color: String,\n background: String,\n small: Boolean,\n bgOpacity: {\n type: Number,\n default: 0.14,\n },\n },\n computed: {\n clickable() {\n return hasOwnProperty(this.$attrs, 'onClick');\n },\n classes() {\n return {\n 'y-chip': true,\n 'y-chip--small': this.small,\n 'y-chip--clickable': this.clickable,\n };\n },\n backgroundColor() {\n const color = (this.background as string) ?? this.color;\n return this.colorRgb(color);\n },\n styles() {\n return {\n color: this.color,\n background: `rgba(${this.backgroundColor}, ${this.bgOpacity})`,\n };\n },\n },\n methods: {\n colorRgb(color: string): string {\n if (color?.startsWith('#')) {\n return rgbFromHex(color)?.join(',') || '';\n }\n const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\n if (RGBA_REGEX.test(color)) {\n const value = RGBA_REGEX.exec(color)?.[2] || '';\n if (value) {\n const valueArray = value.trim().split(',');\n valueArray.splice(3, 1);\n return valueArray.join(',');\n }\n }\n return '';\n },\n },\n render() {\n const { classes, styles } = this;\n return (\n <span class={classes} style={styles}>\n <span class=\"y-chip__content\">\n {this.$slots.default?.()}\n </span>\n </span>\n );\n },\n});\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAE7BC,cAAc;AAEvB;AAAsB,SACbC,UAAU;AAEnB,eAAeF,eAAe,CAAC;EAC7BG,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACLC,KAAK,EAAEC,MAAM;IACbC,UAAU,EAAED,MAAM;IAClBE,KAAK,EAAEC,OAAO;IACdC,SAAS,EAAE;MACTC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,SAASA,CAAA,EAAG;MACV,OAAOd,cAAc,CAAC,IAAI,CAACe,MAAM,EAAE,SAAS,CAAC;IAC/C,CAAC;IACDC,OAAOA,CAAA,EAAG;MACR,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI,CAACT,KAAK;QAC3B,mBAAmB,EAAE,IAAI,CAACO;MAC5B,CAAC;IACH,CAAC;IACDG,eAAeA,CAAA,EAAG;MAChB,MAAMb,KAAK,GAAI,IAAI,CAACE,UAAU,IAAe,IAAI,CAACF,KAAK;MACvD,OAAO,IAAI,CAACc,QAAQ,CAACd,KAAK,CAAC;IAC7B,CAAC;IACDe,MAAMA,CAAA,EAAG;MACP,OAAO;QACLf,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBE,UAAU,EAAG,QAAO,IAAI,CAACW,eAAgB,KAAI,IAAI,CAACR,SAAU;MAC9D,CAAC;IACH;EACF,CAAC;EACDW,OAAO,EAAE;IACPF,QAAQA,CAACd,KAAa,EAAU;MAC9B,IAAIA,KAAK,EAAEiB,UAAU,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAOpB,UAAU,CAACG,KAAK,CAAC,EAAEkB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;MAC3C;MACA,MAAMC,UAAU,GAAG,qBAAqB;MACxC,IAAIA,UAAU,CAACC,IAAI,CAACpB,KAAK,CAAC,EAAE;QAC1B,MAAMqB,KAAK,GAAGF,UAAU,CAACG,IAAI,CAACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAC/C,IAAIqB,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;EACF,CAAC;EACDS,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEf,OAAO;MAAEG;IAAO,CAAC,GAAG,IAAI;IAChC,OAAAa,YAAA;MAAA,SACehB,OAAO;MAAA,SAASG;IAAM,IAAAa,YAAA;MAAA,SACrB;IAAiB,IAC1B,IAAI,CAACC,MAAM,CAACrB,OAAO,GAAG,CAAC;EAIhC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YChip.mjs","names":["defineComponent","hasOwnProperty","rgbFromHex","YChip","name","props","color","String","background","small","Boolean","bgOpacity","type","Number","default","computed","clickable","$attrs","classes","backgroundColor","colorRgb","styles","methods","startsWith","join","RGBA_REGEX","test","value","exec","valueArray","trim","split","splice","render","_createVNode","$slots"],"sources":["../../../src/components/chip/YChip.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\n\nimport { hasOwnProperty } from '../../util/common';\n\nimport './YChip.scss';\nimport { rgbFromHex } from \"../../util/color\";\n\nexport const YChip = defineComponent({\n name: 'YChip',\n props: {\n color: String,\n background: String,\n small: Boolean,\n bgOpacity: {\n type: Number,\n default: 0.14,\n },\n },\n computed: {\n clickable() {\n return hasOwnProperty(this.$attrs, 'onClick');\n },\n classes() {\n return {\n 'y-chip': true,\n 'y-chip--small': this.small,\n 'y-chip--clickable': this.clickable,\n };\n },\n backgroundColor() {\n const color = (this.background as string) ?? this.color;\n return this.colorRgb(color);\n },\n styles() {\n return {\n color: this.color,\n background: `rgba(${this.backgroundColor}, ${this.bgOpacity})`,\n };\n },\n },\n methods: {\n colorRgb(color: string): string {\n if (color?.startsWith('#')) {\n return rgbFromHex(color)?.join(',') || '';\n }\n const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\n if (RGBA_REGEX.test(color)) {\n const value = RGBA_REGEX.exec(color)?.[2] || '';\n if (value) {\n const valueArray = value.trim().split(',');\n valueArray.splice(3, 1);\n return valueArray.join(',');\n }\n }\n return '';\n },\n },\n render() {\n const { classes, styles } = this;\n return (\n <span class={classes} style={styles}>\n <span class=\"y-chip__content\">\n {this.$slots.default?.()}\n </span>\n </span>\n );\n },\n});\n\nexport type YChip = InstanceType<typeof YChip>;\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAE7BC,cAAc;AAEvB;AAAsB,SACbC,UAAU;AAEnB,OAAO,MAAMC,KAAK,GAAGH,eAAe,CAAC;EACnCI,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACLC,KAAK,EAAEC,MAAM;IACbC,UAAU,EAAED,MAAM;IAClBE,KAAK,EAAEC,OAAO;IACdC,SAAS,EAAE;MACTC,IAAI,EAAEC,MAAM;MACZC,OAAO,EAAE;IACX;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,SAASA,CAAA,EAAG;MACV,OAAOf,cAAc,CAAC,IAAI,CAACgB,MAAM,EAAE,SAAS,CAAC;IAC/C,CAAC;IACDC,OAAOA,CAAA,EAAG;MACR,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI,CAACT,KAAK;QAC3B,mBAAmB,EAAE,IAAI,CAACO;MAC5B,CAAC;IACH,CAAC;IACDG,eAAeA,CAAA,EAAG;MAChB,MAAMb,KAAK,GAAI,IAAI,CAACE,UAAU,IAAe,IAAI,CAACF,KAAK;MACvD,OAAO,IAAI,CAACc,QAAQ,CAACd,KAAK,CAAC;IAC7B,CAAC;IACDe,MAAMA,CAAA,EAAG;MACP,OAAO;QACLf,KAAK,EAAE,IAAI,CAACA,KAAK;QACjBE,UAAU,EAAG,QAAO,IAAI,CAACW,eAAgB,KAAI,IAAI,CAACR,SAAU;MAC9D,CAAC;IACH;EACF,CAAC;EACDW,OAAO,EAAE;IACPF,QAAQA,CAACd,KAAa,EAAU;MAC9B,IAAIA,KAAK,EAAEiB,UAAU,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAOrB,UAAU,CAACI,KAAK,CAAC,EAAEkB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;MAC3C;MACA,MAAMC,UAAU,GAAG,qBAAqB;MACxC,IAAIA,UAAU,CAACC,IAAI,CAACpB,KAAK,CAAC,EAAE;QAC1B,MAAMqB,KAAK,GAAGF,UAAU,CAACG,IAAI,CAACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAC/C,IAAIqB,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;EACF,CAAC;EACDS,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEf,OAAO;MAAEG;IAAO,CAAC,GAAG,IAAI;IAChC,OAAAa,YAAA;MAAA,SACehB,OAAO;MAAA,SAASG;IAAM,IAAAa,YAAA;MAAA,SACrB;IAAiB,IAC1B,IAAI,CAACC,MAAM,CAACrB,OAAO,GAAG,CAAC;EAIhC;AACF,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- import YChip from "./YChip.mjs";
2
- export { YChip };
1
+ export * from "./YChip.mjs";
3
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["YChip"],"sources":["../../../src/components/chip/index.ts"],"sourcesContent":["import YChip from './YChip';\n\nexport { YChip };\n"],"mappings":"OAAOA,KAAK;AAEZ,SAASA,KAAK"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/chip/index.ts"],"sourcesContent":["export * from './YChip';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"YDropdown.mjs","names":["defineComponent","mergeProps","pressItemsPropsOptions","useModelDuplex","useRender","pressCoordinateProps","getObjectValueByPath","omit","chooseProps","propsFactory","YButton","YCard","YIcon","YList","YListItem","YMenu","pressYDropdownPropsOptions","modelValue","Boolean","variation","String","color","position","dropdownIcon","type","Array","Object","default","YDropdown","name","inheritAttrs","components","props","emits","setup","_ref","slots","attrs","emit","opened","onClickItem","item","value","menuProps","dropdownIconProps","_createVNode","_Fragment","_mergeProps","$event","base","_len","arguments","length","args","_key","menu","isArray","items","map","text","itemText","e","_createTextVNode"],"sources":["../../../src/components/dropdown/YDropdown.tsx"],"sourcesContent":["import { PropType, defineComponent, mergeProps } from 'vue';\n\nimport { pressItemsPropsOptions } from '../../abstract/items';\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { pressCoordinateProps } from '../../composables/coordinate';\nimport { getObjectValueByPath, omit } from '../../util/common';\nimport { chooseProps, propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\nimport { YCard } from '../card';\nimport { YIcon, YIconIconProp } from '../icon';\nimport { YIconDropdown } from '../icons/YIconDropdown';\nimport { YList, YListItem } from '../list';\nimport { YMenu } from '../menu';\n\nimport './YDropdown.scss';\n\nexport const pressYDropdownPropsOptions = propsFactory(\n {\n modelValue: Boolean as PropType<boolean>,\n variation: String as PropType<string>,\n color: String as PropType<string>,\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\n 'coordinateStrategy',\n ]),\n dropdownIcon: {\n type: [String, Array, Object] as PropType<YIconIconProp>,\n default: '$dropdown',\n },\n ...pressItemsPropsOptions(),\n },\n 'YDropdown',\n);\n\nexport const YDropdown = defineComponent({\n name: 'YDropdown',\n inheritAttrs: false,\n components: {\n YMenu,\n },\n props: {\n ...pressYDropdownPropsOptions(),\n },\n emits: ['update:modelValue', 'click'],\n setup(props, { slots, attrs, emit }) {\n const opened = useModelDuplex(props);\n\n function onClickItem(item: any) {\n opened.value = false;\n emit('click', item);\n }\n\n useRender(() => {\n const menuProps = chooseProps(props, YMenu.props);\n const dropdownIconProps = chooseProps(\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\n YIcon.props,\n );\n return (\n <>\n <YMenu\n {...menuProps}\n v-model={opened.value}\n content-classes={['y-dropdown__content']}\n >\n {{\n base: (...args: any[]) =>\n slots.base ? (\n slots.base?.(...args)\n ) : (\n <YButton\n variation={props.variation}\n color={props.color}\n class={[\n 'y-dropdown',\n { 'y-dropdown--opened': opened.value },\n ]}\n {...attrs}\n >\n {\n <span class=\"y-dropdown__default\">\n {slots.default?.()}\n </span>\n }\n {slots['dropdown-icon'] ? (\n slots['dropdown-icon']()\n ) : (\n <YIcon\n {...mergeProps(dropdownIconProps)}\n icon={props.dropdownIcon}\n class={['y-dropdown__icon']}\n ></YIcon>\n )}\n </YButton>\n ),\n default: () =>\n slots.menu ? (\n slots.menu()\n ) : (\n <YCard>\n {Array.isArray(props.items) && props.items.length > 0 ? (\n <YList>\n {props.items.map((item) => {\n const text = getObjectValueByPath(\n item,\n props.itemText,\n );\n return (\n <YListItem onClick={(e) => onClickItem(item)}>\n {text}\n </YListItem>\n );\n })}\n </YList>\n ) : (\n <div class=\"y-dropdown__no-options\">항목이 없습니다.</div>\n )}\n </YCard>\n ),\n }}\n </YMenu>\n </>\n );\n });\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDropdown.mjs","names":["defineComponent","mergeProps","pressItemsPropsOptions","useModelDuplex","useRender","pressCoordinateProps","getObjectValueByPath","omit","chooseProps","propsFactory","YButton","YCard","YIcon","YList","YListItem","YMenu","pressYDropdownPropsOptions","modelValue","Boolean","variation","String","color","position","dropdownIcon","type","Array","Object","default","YDropdown","name","inheritAttrs","components","props","emits","setup","_ref","slots","attrs","emit","opened","onClickItem","item","value","menuProps","dropdownIconProps","_createVNode","_Fragment","_mergeProps","$event","base","_len","arguments","length","args","_key","menu","isArray","items","map","text","itemText","e","_createTextVNode"],"sources":["../../../src/components/dropdown/YDropdown.tsx"],"sourcesContent":["import { PropType, defineComponent, mergeProps } from 'vue';\n\nimport { pressItemsPropsOptions } from '../../abstract/items';\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { pressCoordinateProps } from '../../composables/coordinate';\nimport { getObjectValueByPath, omit } from '../../util/common';\nimport { chooseProps, propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\nimport { YCard } from '../card';\nimport { YIcon, YIconIconProp } from '../icon';\nimport { YList, YListItem } from '../list';\nimport { YMenu } from '../menu';\n\nimport './YDropdown.scss';\n\nexport const pressYDropdownPropsOptions = propsFactory(\n {\n modelValue: Boolean as PropType<boolean>,\n variation: String as PropType<string>,\n color: String as PropType<string>,\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\n 'coordinateStrategy',\n ]),\n dropdownIcon: {\n type: [String, Array, Object] as PropType<YIconIconProp>,\n default: '$dropdown',\n },\n ...pressItemsPropsOptions(),\n },\n 'YDropdown',\n);\n\nexport const YDropdown = defineComponent({\n name: 'YDropdown',\n inheritAttrs: false,\n components: {\n YMenu,\n },\n props: {\n ...pressYDropdownPropsOptions(),\n },\n emits: ['update:modelValue', 'click'],\n setup(props, { slots, attrs, emit }) {\n const opened = useModelDuplex(props);\n\n function onClickItem(item: any) {\n opened.value = false;\n emit('click', item);\n }\n\n useRender(() => {\n const menuProps = chooseProps(props, YMenu.props);\n const dropdownIconProps = chooseProps(\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\n YIcon.props,\n );\n return (\n <>\n <YMenu\n {...menuProps}\n v-model={opened.value}\n content-classes={['y-dropdown__content']}\n >\n {{\n base: (...args: any[]) =>\n slots.base ? (\n slots.base?.(...args)\n ) : (\n <YButton\n variation={props.variation}\n color={props.color}\n class={[\n 'y-dropdown',\n { 'y-dropdown--opened': opened.value },\n ]}\n {...attrs}\n >\n {\n <span class=\"y-dropdown__default\">\n {slots.default?.()}\n </span>\n }\n {slots['dropdown-icon'] ? (\n slots['dropdown-icon']()\n ) : (\n <YIcon\n {...mergeProps(dropdownIconProps)}\n icon={props.dropdownIcon}\n class={['y-dropdown__icon']}\n ></YIcon>\n )}\n </YButton>\n ),\n default: () =>\n slots.menu ? (\n slots.menu()\n ) : (\n <YCard>\n {Array.isArray(props.items) && props.items.length > 0 ? (\n <YList>\n {props.items.map((item) => {\n const text = getObjectValueByPath(\n item,\n props.itemText,\n );\n return (\n <YListItem onClick={(e) => onClickItem(item)}>\n {text}\n </YListItem>\n );\n })}\n </YList>\n ) : (\n <div class=\"y-dropdown__no-options\">항목이 없습니다.</div>\n )}\n </YCard>\n ),\n }}\n </YMenu>\n </>\n );\n });\n },\n});\n"],"mappings":"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"}
@@ -3,8 +3,8 @@ import { defineComponent, h, withKeys } from 'vue';
3
3
  import RebindAttrs from "../../mixins/rebind-attrs.mjs";
4
4
  const NAME = 'y-form';
5
5
  const rootTags = ['form', 'div', 'section', 'article'];
6
- export default defineComponent({
7
- name: NAME,
6
+ export const YForm = defineComponent({
7
+ name: 'YForm',
8
8
  inheritAttrs: false,
9
9
  mixins: [RebindAttrs],
10
10
  provide() {