yuyeon 0.0.24 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +1001 -949
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/components/alert/YAlert.mjs +46 -0
- package/lib/components/alert/YAlert.mjs.map +1 -0
- package/lib/components/alert/YAlert.scss +74 -0
- package/lib/components/alert/index.mjs +2 -0
- package/lib/components/alert/index.mjs.map +1 -0
- package/lib/components/button/YButton.scss +1 -1
- package/lib/components/card/YCard.scss +1 -1
- package/lib/components/checkbox/YCheckbox.mjs +6 -6
- package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YCheckbox.scss +5 -5
- package/lib/components/checkbox/YInputCheckbox.scss +3 -3
- package/lib/components/dropdown/YDropdown.mjs +1 -1
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/field-input/YFieldInput.scss +64 -73
- package/lib/components/index.mjs +1 -0
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/input/YInput.mjs.map +1 -1
- package/lib/components/input/YInput.scss +1 -1
- package/lib/components/layer/YLayer.mjs +1 -1
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/menu/YMenu.scss +1 -1
- package/lib/components/select/YSelect.mjs +1 -1
- package/lib/components/select/YSelect.mjs.map +1 -1
- package/lib/components/switch/YSwitch.scss +1 -1
- package/lib/components/table/YTable.scss +2 -2
- package/lib/composables/layer-group.mjs +6 -1
- package/lib/composables/layer-group.mjs.map +1 -1
- package/lib/composables/theme/setting.mjs +16 -2
- package/lib/composables/theme/setting.mjs.map +1 -1
- package/lib/composables/timing.mjs +3 -3
- package/lib/composables/timing.mjs.map +1 -1
- package/lib/styles/_palette.scss +1 -90
- package/lib/styles/base.scss +122 -119
- package/lib/styles/theme/dark.scss +1 -11
- package/lib/styles/theme/light.scss +1 -11
- package/package.json +1 -1
- package/types/components/alert/YAlert.d.ts +18 -0
- package/types/components/alert/index.d.ts +1 -0
- package/types/components/index.d.ts +1 -0
- package/types/composables/timing.d.ts +1 -1
- package/types/shims.d.ts +77 -75
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
|
2
|
+
import { defineComponent, ref } from 'vue';
|
|
3
|
+
import { useRender } from "../../composables/component.mjs";
|
|
4
|
+
import { toKebabCase } from "../../util/string.mjs";
|
|
5
|
+
import { YPlate } from "../plate/index.mjs";
|
|
6
|
+
import "./YAlert.scss";
|
|
7
|
+
const NAME = 'YAlert';
|
|
8
|
+
const KEBAB_NAME = toKebabCase(NAME);
|
|
9
|
+
const YAlertPropOptions = {
|
|
10
|
+
semantic: String,
|
|
11
|
+
variation: String,
|
|
12
|
+
color: String,
|
|
13
|
+
textColor: String,
|
|
14
|
+
outlineColor: String
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* # Component
|
|
19
|
+
*/
|
|
20
|
+
export const YAlert = defineComponent({
|
|
21
|
+
name: NAME,
|
|
22
|
+
props: {
|
|
23
|
+
...YAlertPropOptions
|
|
24
|
+
},
|
|
25
|
+
setup(looseProps, _ref) {
|
|
26
|
+
let {
|
|
27
|
+
slots
|
|
28
|
+
} = _ref;
|
|
29
|
+
const el$ = ref();
|
|
30
|
+
useRender(() => _withDirectives(_createVNode("div", {
|
|
31
|
+
"ref": el$,
|
|
32
|
+
"class": [KEBAB_NAME, {
|
|
33
|
+
[`y-alert--${looseProps.semantic}`]: looseProps.semantic
|
|
34
|
+
}]
|
|
35
|
+
}, [_createVNode(YPlate, null, null), slots.leading && _createVNode("div", {
|
|
36
|
+
"class": ['y-alert__leading']
|
|
37
|
+
}, [slots.leading()]), _createVNode("div", {
|
|
38
|
+
"class": ['y-alert__content']
|
|
39
|
+
}, [slots.title && _createVNode("div", {
|
|
40
|
+
"class": ['y-alert__title']
|
|
41
|
+
}, [slots.title()]), slots.default?.()]), slots.trailing && _createVNode("div", {
|
|
42
|
+
"class": ['y-alert__trailing']
|
|
43
|
+
}, [slots.trailing()])]), [[_resolveDirective("theme")]]));
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=YAlert.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YAlert.mjs","names":["defineComponent","ref","useRender","toKebabCase","YPlate","NAME","KEBAB_NAME","YAlertPropOptions","semantic","String","variation","color","textColor","outlineColor","YAlert","name","props","setup","looseProps","_ref","slots","el$","_withDirectives","_createVNode","leading","title","default","trailing","_resolveDirective"],"sources":["../../../src/components/alert/YAlert.tsx"],"sourcesContent":["import { PropType, defineComponent, ref } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { toKebabCase } from '../../util/string';\nimport { YPlate } from '../plate';\n\nimport './YAlert.scss';\n\nconst NAME = 'YAlert';\nconst KEBAB_NAME = toKebabCase(NAME);\n\nconst YAlertPropOptions = {\n semantic: String as PropType<\n 'info' | 'warning' | 'success' | 'error' | string\n >,\n variation: String as PropType<'outlined' | 'filled' | string>,\n color: String as PropType<string>,\n textColor: String as PropType<string>,\n outlineColor: String as PropType<string>,\n};\n\n/**\n * # Component\n */\nexport const YAlert = defineComponent({\n name: NAME,\n props: {\n ...YAlertPropOptions,\n },\n setup(looseProps, { slots }) {\n const el$ = ref<HTMLElement>();\n\n useRender(() => (\n <div\n ref={el$}\n class={[\n KEBAB_NAME,\n { [`y-alert--${looseProps.semantic}`]: looseProps.semantic },\n ]}\n v-theme\n >\n <YPlate></YPlate>\n {slots.leading && (\n <div class={['y-alert__leading']}>{slots.leading()}</div>\n )}\n <div class={['y-alert__content']}>\n {slots.title && <div class={['y-alert__title']}>{slots.title()}</div>}\n {slots.default?.()}\n </div>\n {slots.trailing && (\n <div class={['y-alert__trailing']}>{slots.trailing()}</div>\n )}\n </div>\n ));\n },\n});\n\nexport type YAlert = InstanceType<typeof YAlert>;\n"],"mappings":";AAAA,SAAmBA,eAAe,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAE5CC,SAAS;AAAA,SACTC,WAAW;AAAA,SACXC,MAAM;AAEf;AAEA,MAAMC,IAAI,GAAG,QAAQ;AACrB,MAAMC,UAAU,GAAGH,WAAW,CAACE,IAAI,CAAC;AAEpC,MAAME,iBAAiB,GAAG;EACxBC,QAAQ,EAAEC,MAET;EACDC,SAAS,EAAED,MAAkD;EAC7DE,KAAK,EAAEF,MAA0B;EACjCG,SAAS,EAAEH,MAA0B;EACrCI,YAAY,EAAEJ;AAChB,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMK,MAAM,GAAGd,eAAe,CAAC;EACpCe,IAAI,EAAEV,IAAI;EACVW,KAAK,EAAE;IACL,GAAGT;EACL,CAAC;EACDU,KAAKA,CAACC,UAAU,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACzB,MAAME,GAAG,GAAGpB,GAAG,CAAc,CAAC;IAE9BC,SAAS,CAAC,MAAAoB,eAAA,CAAAC,YAAA;MAAA,OAEDF,GAAG;MAAA,SACD,CACLf,UAAU,EACV;QAAE,CAAE,YAAWY,UAAU,CAACV,QAAS,EAAC,GAAGU,UAAU,CAACV;MAAS,CAAC;IAC7D,IAAAe,YAAA,CAAAnB,MAAA,eAIAgB,KAAK,CAACI,OAAO,IAAAD,YAAA;MAAA,SACA,CAAC,kBAAkB;IAAC,IAAGH,KAAK,CAACI,OAAO,CAAC,CAAC,EACnD,EAAAD,YAAA;MAAA,SACW,CAAC,kBAAkB;IAAC,IAC7BH,KAAK,CAACK,KAAK,IAAAF,YAAA;MAAA,SAAgB,CAAC,gBAAgB;IAAC,IAAGH,KAAK,CAACK,KAAK,CAAC,CAAC,EAAO,EACpEL,KAAK,CAACM,OAAO,GAAG,CAAC,IAEnBN,KAAK,CAACO,QAAQ,IAAAJ,YAAA;MAAA,SACD,CAAC,mBAAmB;IAAC,IAAGH,KAAK,CAACO,QAAQ,CAAC,CAAC,EACrD,MAAAC,iBAAA,YAEJ,CAAC;EACJ;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
.y-alert {
|
|
2
|
+
--y-alert-text-color: var(--y-theme-base-font);
|
|
3
|
+
--y-alert-surface-color: var(--y-theme-base-font);
|
|
4
|
+
--y-alert-surface-opacity: var(--y-theme-outline-opacity);
|
|
5
|
+
--y-alert-outline-color: var(--y-theme-outline);
|
|
6
|
+
|
|
7
|
+
display: flex;
|
|
8
|
+
position: relative;
|
|
9
|
+
padding: 16px 24px;
|
|
10
|
+
color: var(--y-alert-text-color);
|
|
11
|
+
align-self: flex-start;
|
|
12
|
+
|
|
13
|
+
&__title {
|
|
14
|
+
font-size: 1.1rem;
|
|
15
|
+
font-weight: 600;
|
|
16
|
+
line-height: 1.74;
|
|
17
|
+
padding-bottom: 0.12rem;
|
|
18
|
+
margin-top: -2px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__content {
|
|
22
|
+
flex: 1 1;
|
|
23
|
+
min-width: 0;
|
|
24
|
+
padding-top: 2px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&__leading, &__trailing {
|
|
28
|
+
flex: 0 0 auto;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&__leading {
|
|
32
|
+
padding-right: 12px;
|
|
33
|
+
margin-top: 0.2rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&__trailing {
|
|
37
|
+
padding-left: 12px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.y-plate {
|
|
41
|
+
background: var(--y-alert-surface-color);
|
|
42
|
+
opacity: var(--y-alert-surface-opacity);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&--info {
|
|
46
|
+
--y-alert-text-color: var(--y-theme-info);
|
|
47
|
+
--y-alert-surface-color: var(--y-theme-info);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&--success {
|
|
51
|
+
--y-alert-text-color: var(--y-theme-success);
|
|
52
|
+
--y-alert-surface-color: var(--y-theme-success);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&--warning {
|
|
56
|
+
--y-alert-text-color: var(--y-theme-warning);
|
|
57
|
+
--y-alert-surface-color: var(--y-theme-warning);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&--error {
|
|
61
|
+
--y-alert-text-color: var(--y-theme-error);
|
|
62
|
+
--y-alert-surface-color: var(--y-theme-error);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&--filled {
|
|
66
|
+
--y-alert-surface-opacity: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&--outlined {
|
|
70
|
+
.y-plate {
|
|
71
|
+
border: 1px solid var(--y-alert-outline-color);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/alert/index.ts"],"sourcesContent":["export * from './YAlert';\r\n"],"mappings":""}
|
|
@@ -94,10 +94,10 @@ export default defineComponent({
|
|
|
94
94
|
});
|
|
95
95
|
useRender(() => {
|
|
96
96
|
return _createVNode("div", {
|
|
97
|
-
"class":
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
},
|
|
97
|
+
"class": [{
|
|
98
|
+
...classes.value
|
|
99
|
+
}]
|
|
100
|
+
}, [slots.leading?.(), _createVNode("div", {
|
|
101
101
|
"class": "y-checkbox__slot"
|
|
102
102
|
}, [_createVNode(YInputCheckbox, {
|
|
103
103
|
"onClick": function (e) {
|
|
@@ -109,7 +109,7 @@ export default defineComponent({
|
|
|
109
109
|
},
|
|
110
110
|
"onFocus": onFocus,
|
|
111
111
|
"onBlur": onBlur,
|
|
112
|
-
"id":
|
|
112
|
+
"id": counterId,
|
|
113
113
|
"value": innerValue.value,
|
|
114
114
|
"icon": computedIcon.value,
|
|
115
115
|
"color": props.color,
|
|
@@ -128,7 +128,7 @@ export default defineComponent({
|
|
|
128
128
|
"onClick": withModifiers(() => {}, ['stop']),
|
|
129
129
|
"class": "y-checkbox__label",
|
|
130
130
|
"for": inputId
|
|
131
|
-
}, [slots.label ? slots.label?.() : props.label])]), slots.
|
|
131
|
+
}, [slots.label ? slots.label?.() : props.label])]), slots.trailing?.()]);
|
|
132
132
|
});
|
|
133
133
|
return {
|
|
134
134
|
innerValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YCheckbox.mjs","names":["computed","defineComponent","ref","withModifiers","useRender","getUid","YInputCheckbox","name","components","model","prop","event","emits","props","inputValue","Boolean","Array","value","String","Number","Object","label","reverse","icon","type","color","default","disabled","readonly","setup","_ref","emit","slots","focused","innerValue","counterId","toString","inputId","onFocus","e","onBlur","onClick","inputByValue","isArray","found","find","inp","undefined","classes","computedIcon","isMultipleInput","multipleInputIndex","findIndex","v","_createVNode","stopPropagation","_len","arguments","length","args","_key","_len2","_key2","
|
|
1
|
+
{"version":3,"file":"YCheckbox.mjs","names":["computed","defineComponent","ref","withModifiers","useRender","getUid","YInputCheckbox","name","components","model","prop","event","emits","props","inputValue","Boolean","Array","value","String","Number","Object","label","reverse","icon","type","color","default","disabled","readonly","setup","_ref","emit","slots","focused","innerValue","counterId","toString","inputId","onFocus","e","onBlur","onClick","inputByValue","isArray","found","find","inp","undefined","classes","computedIcon","isMultipleInput","multipleInputIndex","findIndex","v","_createVNode","leading","stopPropagation","_len","arguments","length","args","_key","_len2","_key2","trailing","created","watch","handler","immediate"],"sources":["../../../src/components/checkbox/YCheckbox.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, ref, withModifiers } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { getUid } from '../../util/vue-component';\n\nimport './YCheckbox.scss';\nimport YInputCheckbox from './YInputCheckbox';\n\nexport default defineComponent({\n name: 'YCheckbox',\n components: { YInputCheckbox },\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n emits: ['focus', 'blur', 'change'],\n props: {\n inputValue: [Boolean, Array] as PropType<boolean | any[]>,\n value: [String, Number, Object] as PropType<any>,\n label: String as PropType<string>,\n reverse: Boolean as PropType<boolean>,\n icon: {\n type: [Object, String] as PropType<\n { checked?: string; unchecked?: string } | string\n >,\n },\n color: {\n type: String as PropType<string>,\n default: () => 'primary',\n },\n disabled: Boolean as PropType<boolean>,\n readonly: Boolean as PropType<boolean>,\n },\n setup(props, { emit, slots }) {\n const focused = ref(false);\n const innerValue = ref(false);\n const counterId = (getUid() ?? '').toString();\n const inputId = `input-${counterId}`;\n\n function onFocus(e: FocusEvent) {\n focused.value = true;\n emit('focus', e);\n }\n\n function onBlur(e: FocusEvent) {\n focused.value = false;\n emit('blur', e);\n }\n\n function onClick(e: Event, ...args: any[]) {\n if (props.disabled || props.readonly) return;\n innerValue.value = !innerValue.value;\n emit('change', innerValue.value, e);\n }\n\n function inputByValue() {\n if (Array.isArray(props.inputValue)) {\n const found = props.inputValue?.find((inp: any) => inp === props.value);\n\n if (found !== undefined) {\n innerValue.value = true;\n } else {\n innerValue.value = false;\n }\n } else if (typeof props.inputValue === 'boolean') {\n innerValue.value = props.inputValue;\n }\n }\n\n const classes = computed<Record<string, boolean>>(() => {\n const { reverse, disabled, readonly } = props;\n return {\n 'y-checkbox': true,\n 'y-checkbox--reverse': !!reverse,\n 'y-checkbox--focused': focused.value,\n 'y-checkbox--disabled': !!disabled,\n 'y-checkbox--readonly': !!readonly,\n };\n });\n\n const computedIcon = computed<string | undefined>(() => {\n if (typeof props.icon === 'string') {\n return props.icon;\n }\n return undefined;\n });\n\n const isMultipleInput = computed<boolean>(() => {\n return Array.isArray(props.inputValue);\n });\n\n const multipleInputIndex = computed<number>(() => {\n if (!isMultipleInput.value) {\n return -1;\n }\n return (props.inputValue as any[]).findIndex(\n (v: any) => v === props.value,\n );\n });\n\n useRender(() => {\n return (\n <div class={[{...classes.value}]}>\n {slots.leading?.()}\n <div class=\"y-checkbox__slot\">\n <YInputCheckbox\n onClick={(e: Event, ...args: any[]) => {\n e.stopPropagation();\n onClick(e, ...args);\n }}\n onFocus={onFocus}\n onBlur={onBlur}\n id={counterId}\n value={innerValue.value}\n icon={computedIcon.value}\n color={props.color}\n disabled={props.disabled}\n readonly={props.readonly}\n >\n {slots.icon && {\n icon: (...args: any[]) => slots.icon?.(...args),\n }}\n </YInputCheckbox>\n <label\n onClick={withModifiers(() => {}, ['stop'])}\n class=\"y-checkbox__label\"\n for={inputId}\n >\n {slots.label ? slots.label?.() : props.label}\n </label>\n </div>\n {slots.trailing?.()}\n </div>\n );\n });\n\n return {\n innerValue,\n inputByValue,\n };\n },\n created() {\n if (Array.isArray(this.inputValue)) {\n this.inputByValue();\n } else {\n this.innerValue = !!this.inputValue;\n }\n },\n watch: {\n inputValue: {\n handler() {\n this.inputByValue();\n },\n immediate: true,\n },\n },\n});\n"],"mappings":"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"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
@use '../../styles/palette';
|
|
2
|
-
|
|
3
|
-
$checkbox__label-color: #585858 !default;
|
|
4
|
-
|
|
5
1
|
.y-checkbox {
|
|
6
2
|
display: flex;
|
|
7
3
|
align-items: center;
|
|
@@ -15,7 +11,7 @@ $checkbox__label-color: #585858 !default;
|
|
|
15
11
|
.y-checkbox__label {
|
|
16
12
|
cursor: pointer;
|
|
17
13
|
font-weight: 400;
|
|
18
|
-
color:
|
|
14
|
+
color: var(--y-theme-on-surface-variant);
|
|
19
15
|
font-size: 14px;
|
|
20
16
|
}
|
|
21
17
|
|
|
@@ -27,6 +23,10 @@ $checkbox__label-color: #585858 !default;
|
|
|
27
23
|
margin-right: 8px;
|
|
28
24
|
}
|
|
29
25
|
|
|
26
|
+
.y-input--checkbox {
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
30
|
&--reverse .y-input--checkbox {
|
|
31
31
|
margin-left: 8px;
|
|
32
32
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
@use '../../styles/palette';
|
|
2
1
|
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
$checkbox__color: var(--y-theme-primary);
|
|
4
4
|
$checkbox__border-color: #a4a4a4;
|
|
5
5
|
|
|
6
6
|
.y-input--checkbox {
|
|
@@ -67,7 +67,7 @@ $checkbox__border-color: #a4a4a4;
|
|
|
67
67
|
|
|
68
68
|
&.y-input--active:hover {
|
|
69
69
|
.y-icon-checkbox__border-path {
|
|
70
|
-
|
|
70
|
+
filter: brightness(1.1);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDropdown.mjs","names":["defineComponent","pressItemsPropsOptions","useModelDuplex","useRender","pressCoordinateProps","getObjectValueByPath","omit","chooseProps","propsFactory","YButton","YCard","YIconDropdown","YList","YListItem","YMenu","pressYDropdownPropsOptions","modelValue","Boolean","variation","String","color","position","YDropdown","name","inheritAttrs","components","props","emits","setup","_ref","slots","attrs","emit","opened","onClickItem","item","value","menuProps","_createVNode","_Fragment","_mergeProps","$event","base","_len","arguments","length","args","Array","_key","default","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 { 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 ...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 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['expand-icon'] ? (\n slots['expand-icon']()\n ) : (\n <i class=\"y-dropdown__icon\">\n <YIconDropdown></YIconDropdown>\n </i>\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=\"
|
|
1
|
+
{"version":3,"file":"YDropdown.mjs","names":["defineComponent","pressItemsPropsOptions","useModelDuplex","useRender","pressCoordinateProps","getObjectValueByPath","omit","chooseProps","propsFactory","YButton","YCard","YIconDropdown","YList","YListItem","YMenu","pressYDropdownPropsOptions","modelValue","Boolean","variation","String","color","position","YDropdown","name","inheritAttrs","components","props","emits","setup","_ref","slots","attrs","emit","opened","onClickItem","item","value","menuProps","_createVNode","_Fragment","_mergeProps","$event","base","_len","arguments","length","args","Array","_key","default","menu","isArray","items","map","text","itemText","e","_createTextVNode"],"sources":["../../../src/components/dropdown/YDropdown.tsx"],"sourcesContent":["import { PropType, defineComponent, mergeProps } from 'vue';\r\n\r\nimport { pressItemsPropsOptions } from '../../abstract/items';\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { pressCoordinateProps } from '../../composables/coordinate';\r\nimport { getObjectValueByPath, omit } from '../../util/common';\r\nimport { chooseProps, propsFactory } from '../../util/vue-component';\r\nimport { YButton } from '../button';\r\nimport { YCard } from '../card';\r\nimport { YIconDropdown } from '../icons/YIconDropdown';\r\nimport { YList, YListItem } from '../list';\r\nimport { YMenu } from '../menu';\r\n\r\nimport './YDropdown.scss';\r\n\r\nexport const pressYDropdownPropsOptions = propsFactory(\r\n {\r\n modelValue: Boolean as PropType<boolean>,\r\n variation: String as PropType<string>,\r\n color: String as PropType<string>,\r\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\r\n 'coordinateStrategy',\r\n ]),\r\n ...pressItemsPropsOptions(),\r\n },\r\n 'YDropdown',\r\n);\r\n\r\nexport const YDropdown = defineComponent({\r\n name: 'YDropdown',\r\n inheritAttrs: false,\r\n components: {\r\n YMenu,\r\n },\r\n props: {\r\n ...pressYDropdownPropsOptions(),\r\n },\r\n emits: ['update:modelValue', 'click'],\r\n setup(props, { slots, attrs, emit }) {\r\n const opened = useModelDuplex(props);\r\n\r\n function onClickItem(item: any) {\r\n opened.value = false;\r\n emit('click', item);\r\n }\r\n\r\n useRender(() => {\r\n const menuProps = chooseProps(props, YMenu.props);\r\n return (\r\n <>\r\n <YMenu\r\n {...menuProps}\r\n v-model={opened.value}\r\n content-classes={['y-dropdown__content']}\r\n >\r\n {{\r\n base: (...args: any[]) =>\r\n slots.base ? (\r\n slots.base?.(...args)\r\n ) : (\r\n <YButton\r\n variation={props.variation}\r\n color={props.color}\r\n class={[\r\n 'y-dropdown',\r\n { 'y-dropdown--opened': opened.value },\r\n ]}\r\n {...attrs}\r\n >\r\n {\r\n <span class=\"y-dropdown__default\">\r\n {slots.default?.()}\r\n </span>\r\n }\r\n {slots['expand-icon'] ? (\r\n slots['expand-icon']()\r\n ) : (\r\n <i class=\"y-dropdown__icon\">\r\n <YIconDropdown></YIconDropdown>\r\n </i>\r\n )}\r\n </YButton>\r\n ),\r\n default: () =>\r\n slots.menu ? (\r\n slots.menu()\r\n ) : (\r\n <YCard>\r\n {Array.isArray(props.items) && props.items.length > 0 ? (\r\n <YList>\r\n {props.items.map((item) => {\r\n const text = getObjectValueByPath(\r\n item,\r\n props.itemText,\r\n );\r\n return (\r\n <YListItem onClick={(e) => onClickItem(item)}>\r\n {text}\r\n </YListItem>\r\n );\r\n })}\r\n </YList>\r\n ) : (\r\n <div class=\"y-dropdown__no-options\">항목이 없습니다.</div>\r\n )}\r\n </YCard>\r\n ),\r\n }}\r\n </YMenu>\r\n </>\r\n );\r\n });\r\n },\r\n});\r\n"],"mappings":"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"}
|
|
@@ -1,73 +1,64 @@
|
|
|
1
|
-
@use '../../styles/
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@include theme.basicTheme('y-field-input') using ($themeMap, $class) {
|
|
68
|
-
.y-field-input {
|
|
69
|
-
&__clear {
|
|
70
|
-
color: helper.deepGet($themeMap, 'fieldInput', 'clear');
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
1
|
+
@use '../../styles/variables';
|
|
2
|
+
|
|
3
|
+
.y-field-input {
|
|
4
|
+
--y-field-input-horizon-padding: 10px;
|
|
5
|
+
|
|
6
|
+
.y-input {
|
|
7
|
+
&__display {
|
|
8
|
+
padding: 0 2px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&__plate {
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&__floating-label {
|
|
16
|
+
padding-left: var(--y-field-input-horizon-padding, 10px);
|
|
17
|
+
|
|
18
|
+
&--floated {
|
|
19
|
+
padding-left: unset;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&__field {
|
|
25
|
+
position: relative;
|
|
26
|
+
flex: 1 1 auto;
|
|
27
|
+
min-height: 36px;
|
|
28
|
+
padding: 1px 0;
|
|
29
|
+
border-radius: inherit;
|
|
30
|
+
|
|
31
|
+
> input {
|
|
32
|
+
position: relative;
|
|
33
|
+
outline: none;
|
|
34
|
+
padding: 8px var(--y-field-input-horizon-padding, 10px);
|
|
35
|
+
width: 100%;
|
|
36
|
+
height: 100%;
|
|
37
|
+
line-height: 1.2;
|
|
38
|
+
font-size: 0.875rem;
|
|
39
|
+
color: inherit;
|
|
40
|
+
border-radius: inherit;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.y-input__prepend + &__field {
|
|
45
|
+
> input {
|
|
46
|
+
padding-left: 4px;
|
|
47
|
+
padding-right: 4px;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.y-input__append:last-child {
|
|
52
|
+
&.y-input__append--clear {
|
|
53
|
+
margin-right: 8px;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&__clear {
|
|
58
|
+
width: 16px;
|
|
59
|
+
height: 16px;
|
|
60
|
+
padding: 0;
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
color: var(--y-theme-on-surface);
|
|
63
|
+
}
|
|
64
|
+
}
|
package/lib/components/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\r\nexport * from './button';\r\nexport * from './input';\r\nexport * from './field-input';\r\nexport * from './form';\r\nexport * from './progress-bar';\r\nexport * from './card';\r\nexport * from './chip';\r\nexport * from './switch';\r\nexport * from './layer';\r\nexport * from './dialog';\r\nexport * from './snackbar';\r\nexport * from './tooltip';\r\nexport * from './transitions';\r\nexport * from './panel';\r\nexport * from './tree-view';\r\nexport * from './list';\r\nexport * from './icons';\r\nexport * from './table';\r\nexport * from './menu';\r\nexport * from './checkbox';\r\nexport * from './pagination';\r\nexport * from './loading';\r\nexport * from './dropdown';\r\nexport * from './select';\r\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\r\nexport * from './button';\r\nexport * from './input';\r\nexport * from './field-input';\r\nexport * from './form';\r\nexport * from './progress-bar';\r\nexport * from './card';\r\nexport * from './chip';\r\nexport * from './switch';\r\nexport * from './layer';\r\nexport * from './dialog';\r\nexport * from './snackbar';\r\nexport * from './tooltip';\r\nexport * from './transitions';\r\nexport * from './panel';\r\nexport * from './tree-view';\r\nexport * from './list';\r\nexport * from './icons';\r\nexport * from './table';\r\nexport * from './menu';\r\nexport * from './checkbox';\r\nexport * from './pagination';\r\nexport * from './loading';\r\nexport * from './dropdown';\r\nexport * from './select';\r\nexport * from './alert';\r\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YInput.mjs","names":["defineComponent","h","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","getSlot","propsFactory","NAME","uidCounter","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","readonly","disabled","status","validator","value","includes","validators","Array","YInput","props","emits","data","iid","toString","lazyValue","undefined","inValue","hasMouseDown","errorResult","inError","computed","classes","variations","isFocused","isError","isSuccess","themeClasses","displayStyles","isNaN","getDisplayHeight","attrId","$attrs","id","isFloatedLabel","formLoading","split","map","trim","methods","createPrepend","slot","class","createAppend","createLabelSlot","createLabel","show","createDefaultChildren","createDefault","slotContent","onFocus","onBlur","createLeading","error","onClick","onClickLeading","createTrailing","createDisplay","onMousedown","onMouseup","ref","style","createHelperText","helperTextSlot","children","push","createStackChildren","createStack","createContent","event","target","window","getSelection","selectAllChildren","$emit","e","whenFocus","whenBlur","invokeValidators","onChange","resetError","flag","isArray","some","result","getClasses","watch","neo","created","setup","focused","focusedClasses","render"],"sources":["../../../src/components/input/YInput.ts"],"sourcesContent":["import {\n PropType,\n VNode,\n defineComponent,\n h,\n resolveDirective,\n withDirectives,\n} from 'vue';\n\nimport { pressFocusPropsOptions, useFocus } from '../../composables/focus';\nimport { pressThemePropsOptions, useLocalTheme } from '../../composables/theme';\nimport DiMixin from '../../mixins/di';\nimport { getSlot, propsFactory } from '../../util/vue-component';\n\nimport './YInput.scss';\n\nconst NAME = 'y-input';\nlet uidCounter = 0;\n\nexport const pressYInputPropsOptions = propsFactory(\n {\n name: String,\n width: {\n type: [String, Number] as PropType<string | number>,\n },\n height: [Number, String],\n displayTag: {\n type: String as PropType<string>,\n default: 'div',\n },\n label: String as PropType<string>,\n modelValue: { type: [String, Number] as PropType<string | number> },\n autoSelect: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n floating: { type: Boolean as PropType<boolean>, default: false },\n floated: { type: Boolean as PropType<boolean>, default: () => false },\n placeholder: String as PropType<string>,\n required: Boolean as PropType<boolean>,\n loading: Boolean as PropType<boolean>,\n // variations\n variation: String as PropType<string>,\n outlined: Boolean as PropType<boolean>,\n filled: Boolean as PropType<boolean>,\n ceramic: Boolean as PropType<boolean>,\n // validate\n readonly: Boolean as PropType<boolean>,\n disabled: Boolean as PropType<boolean>,\n status: {\n type: String as PropType<'success' | 'warning' | 'error' | undefined>,\n validator(value: string) {\n return ['success', 'warning', 'error'].includes(value);\n },\n },\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\n ...pressFocusPropsOptions(),\n },\n 'YInput',\n);\n\nexport const YInput = defineComponent({\n name: 'YInput',\n\n props: {\n ...pressThemePropsOptions(),\n ...pressYInputPropsOptions(),\n },\n emits: [\n 'error',\n 'click',\n 'mousedown',\n 'mouseup',\n 'focus',\n 'blur',\n 'mousedown:display',\n 'mouseup:display',\n 'click:leading',\n 'update:modelValue',\n 'update:focused',\n ],\n data() {\n const iid = uidCounter.toString();\n uidCounter += 1;\n return {\n iid,\n lazyValue: undefined as string | undefined,\n inValue: '' as string | number | undefined,\n hasMouseDown: false,\n errorResult: undefined as string | undefined,\n inError: false,\n };\n },\n computed: {\n classes(): Record<string, boolean> {\n return {\n 'y-input--ceramic': !!this.ceramic,\n 'y-input--outlined':\n !this.ceramic &&\n (this.variations.includes('outlined') || !!this.outlined),\n 'y-input--filled': this.variations.includes('filled') || !!this.filled,\n 'y-input--focused': this.isFocused,\n 'y-input--readonly': !!this.readonly,\n 'y-input--has-value': !!this.inValue,\n 'y-input--disabled': !!this.disabled,\n 'y-input--error': this.isError,\n 'y-input--success': this.isSuccess,\n [this.themeClasses as string]: true,\n };\n },\n displayStyles(): Record<string, any> {\n let { width } = this;\n if (!Number.isNaN(Number(width))) {\n width = `${width}px`;\n }\n return {\n width,\n height: this.getDisplayHeight(),\n };\n },\n attrId(): string {\n return (this.$attrs.id as string) ?? `y-input--${this.iid}`;\n },\n isFloatedLabel(): boolean {\n return (\n this.floated ||\n !!this.placeholder ||\n (!this.placeholder && this.isFocused) ||\n !!this.inValue\n );\n },\n formLoading(): boolean {\n // TODO: composable `form` binding\n // const form$ = (this as any)?.form$ as any;\n // if (form$) {\n // return form$.loading;\n // }\n return false;\n },\n isError(): boolean {\n return this.status === 'error' || this.inError;\n },\n isSuccess(): boolean {\n return !this.isError && this.status === 'success';\n },\n variations(): string[] {\n const { variation } = this;\n if (variation) {\n return variation.split(',').map((value) => {\n return value.trim();\n });\n }\n return [];\n },\n },\n methods: {\n createPrepend(): VNode | undefined {\n const slot = getSlot(this, 'prepend');\n return slot ? h('div', { class: `${NAME}__prepend` }, slot) : undefined;\n },\n createAppend(): VNode | undefined {\n const slot = getSlot(this, 'append');\n return slot ? h('div', { class: `${NAME}__append` }, slot) : undefined;\n },\n createLabelSlot(): (VNode | string | VNode[] | undefined)[] {\n const slot: VNode[] | undefined = getSlot(this, 'label');\n if (!slot) {\n if (this.label) {\n return [\n this.label,\n this.required ? h('span', { class: 'y-input__required-mark' }, '*') : undefined,\n ];\n }\n if (this.placeholder && !this.inValue) {\n return [this.placeholder];\n }\n }\n\n return slot ? [slot] : [];\n },\n createLabel(): VNode | undefined {\n const show = !!this.label || !!getSlot(this, 'label');\n if (!show) {\n return undefined;\n }\n return h(\n 'label',\n {\n class: {\n [`${NAME}__label`]: true,\n 'y-input__floating-label': this.floating,\n 'y-input__floating-label--floated':\n this.floating && this.isFloatedLabel,\n },\n '.for': this.attrId,\n },\n this.createLabelSlot(),\n );\n },\n createDefaultChildren(): (VNode | undefined | VNode[] | string)[] {\n const { modelValue } = this;\n return [\n this.floating ? this.createLabel() : undefined,\n modelValue?.toString(),\n ];\n },\n createDefault(): VNode[] | VNode {\n const { modelValue, formLoading, attrId } = this;\n const slotContent = getSlot(this, 'default', {\n value: modelValue,\n formLoading,\n attrId,\n });\n return (\n slotContent ??\n h(\n 'div',\n {\n [`.${NAME}__value`]: true,\n '.data-id': this.attrId,\n '.tabindex': 0,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n },\n this.createDefaultChildren(),\n )\n );\n },\n createLeading(): VNode | undefined {\n const slot = getSlot(this, 'leading', { error: this.isError });\n return slot\n ? h(\n 'div',\n {\n class: 'y-input__leading',\n onClick: this.onClickLeading,\n },\n slot,\n )\n : undefined;\n },\n createTrailing(): VNode | VNode[] | undefined {\n return getSlot(this, 'trailing');\n },\n getDisplayHeight() {\n const { height } = this;\n if (!isNaN(Number(height))) {\n return `${height}px`;\n }\n return height;\n },\n createDisplay(): VNode {\n return h(\n 'div',\n {\n class: {\n [`${NAME}__display`]: true,\n },\n // onClick: this.onClick,\n onMousedown: this.onMousedown,\n onMouseup: this.onMouseup,\n ref: 'display',\n style: {\n ...this.displayStyles,\n },\n },\n [\n h('div', { class: `${NAME}__plate` }),\n this.createLeading(),\n this.createDefault(),\n this.createTrailing(),\n ],\n );\n },\n createHelperText(): VNode {\n const helperTextSlot = getSlot(this, 'helper-text', {\n error: this.status === 'error' || this.inError,\n errorResult: this.errorResult,\n });\n const children = [];\n if (helperTextSlot) {\n children.push(h('span', {}, helperTextSlot));\n } else {\n children.push(this.errorResult);\n }\n return h('div', { class: `${NAME}__helper-text` }, children);\n },\n createStackChildren(): (VNode | undefined)[] {\n return [\n !this.floating ? this.createLabel() : undefined,\n this.createDisplay(),\n this.createHelperText(),\n ];\n },\n createStack(): VNode {\n return h(\n 'div',\n {\n class: `${NAME}__stack`,\n ref: 'stack',\n },\n this.createStackChildren(),\n );\n },\n createContent(): (VNode | undefined)[] {\n return [this.createPrepend(), this.createStack(), this.createAppend()];\n },\n //\n onClick(event: MouseEvent) {\n if (this.autoSelect) {\n if (event.target) {\n window.getSelection()?.selectAllChildren(event.target as HTMLElement);\n }\n }\n this.$emit('click', event);\n },\n onMousedown(e: Event) {\n this.hasMouseDown = true;\n this.$emit('mousedown:display', e);\n },\n onMouseup(e: Event) {\n this.hasMouseDown = false;\n this.$emit('mouseup:display', e);\n },\n onFocus(event: FocusEvent) {\n this.whenFocus();\n this.$emit('focus', event);\n },\n onBlur(event: FocusEvent) {\n this.whenBlur();\n this.invokeValidators();\n this.$emit('blur', event);\n },\n onClickLeading(event: MouseEvent) {\n this.$emit('click:leading', event);\n },\n onChange(event?: Event) {\n this.invokeValidators();\n },\n //\n invokeValidators(): boolean {\n const { validators, inValue, $attrs } = this;\n const { required } = $attrs;\n this.resetError();\n let flag = true;\n if (Array.isArray(validators)) {\n validators.some((validator: any) => {\n const result = validator(inValue);\n if (typeof result === 'string') {\n this.inError = true;\n this.errorResult = result;\n flag = false;\n return true;\n }\n if (result === false) {\n this.inError = true;\n this.errorResult = '';\n flag = false;\n return true;\n }\n return false;\n });\n }\n if (flag && required && !inValue) {\n this.inError = true;\n return false;\n }\n return flag;\n },\n resetError() {\n this.inError = false;\n this.errorResult = undefined;\n },\n getClasses() {\n return this.classes;\n },\n },\n watch: {\n modelValue(neo: string) {\n if (!this.readonly) {\n this.inValue = neo;\n }\n },\n readonly(neo: boolean) {\n if (!neo) {\n this.inValue = this.modelValue;\n }\n },\n inValue(neo: string) {\n if (!this.readonly) {\n this.$emit('update:modelValue', neo);\n }\n },\n isError(neo: boolean) {\n this.$emit('error', neo);\n },\n },\n created() {\n this.inValue = this.modelValue;\n },\n setup(props) {\n const { themeClasses } = useLocalTheme(props);\n const {\n focused: isFocused,\n focusedClasses,\n whenFocus,\n whenBlur,\n } = useFocus(props, 'y-input');\n return {\n themeClasses,\n isFocused,\n focusedClasses,\n whenFocus,\n whenBlur,\n };\n },\n render(): VNode {\n return h(\n 'div',\n {\n class: { ...this.getClasses(), [`${NAME}`]: true },\n },\n this.createContent(),\n );\n },\n});\n\nexport type YInput = InstanceType<typeof YInput>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YInput.mjs","names":["defineComponent","h","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","getSlot","propsFactory","NAME","uidCounter","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","readonly","disabled","status","validator","value","includes","validators","Array","YInput","props","emits","data","iid","toString","lazyValue","undefined","inValue","hasMouseDown","errorResult","inError","computed","classes","variations","isFocused","isError","isSuccess","themeClasses","displayStyles","isNaN","getDisplayHeight","attrId","$attrs","id","isFloatedLabel","formLoading","split","map","trim","methods","createPrepend","slot","class","createAppend","createLabelSlot","createLabel","show","createDefaultChildren","createDefault","slotContent","onFocus","onBlur","createLeading","error","onClick","onClickLeading","createTrailing","createDisplay","onMousedown","onMouseup","ref","style","createHelperText","helperTextSlot","children","push","createStackChildren","createStack","createContent","event","target","window","getSelection","selectAllChildren","$emit","e","whenFocus","whenBlur","invokeValidators","onChange","resetError","flag","isArray","some","result","getClasses","watch","neo","created","setup","focused","focusedClasses","render"],"sources":["../../../src/components/input/YInput.ts"],"sourcesContent":["import {\r\n PropType,\r\n VNode,\r\n defineComponent,\r\n h,\r\n resolveDirective,\r\n withDirectives,\r\n} from 'vue';\r\n\r\nimport { pressFocusPropsOptions, useFocus } from '../../composables/focus';\r\nimport { pressThemePropsOptions, useLocalTheme } from '../../composables/theme';\r\nimport DiMixin from '../../mixins/di';\r\nimport { getSlot, propsFactory } from '../../util/vue-component';\r\n\r\nimport './YInput.scss';\r\n\r\nconst NAME = 'y-input';\r\nlet uidCounter = 0;\r\n\r\nexport const pressYInputPropsOptions = propsFactory(\r\n {\r\n name: String,\r\n width: {\r\n type: [String, Number] as PropType<string | number>,\r\n },\r\n height: [Number, String],\r\n displayTag: {\r\n type: String as PropType<string>,\r\n default: 'div',\r\n },\r\n label: String as PropType<string>,\r\n modelValue: { type: [String, Number] as PropType<string | number> },\r\n autoSelect: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n floating: { type: Boolean as PropType<boolean>, default: false },\r\n floated: { type: Boolean as PropType<boolean>, default: () => false },\r\n placeholder: String as PropType<string>,\r\n required: Boolean as PropType<boolean>,\r\n loading: Boolean as PropType<boolean>,\r\n // variations\r\n variation: String as PropType<string>,\r\n outlined: Boolean as PropType<boolean>,\r\n filled: Boolean as PropType<boolean>,\r\n ceramic: Boolean as PropType<boolean>,\r\n // validate\r\n readonly: Boolean as PropType<boolean>,\r\n disabled: Boolean as PropType<boolean>,\r\n status: {\r\n type: String as PropType<'success' | 'warning' | 'error' | undefined>,\r\n validator(value: string) {\r\n return ['success', 'warning', 'error'].includes(value);\r\n },\r\n },\r\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\r\n ...pressFocusPropsOptions(),\r\n },\r\n 'YInput',\r\n);\r\n\r\nexport const YInput = defineComponent({\r\n name: 'YInput',\r\n\r\n props: {\r\n ...pressThemePropsOptions(),\r\n ...pressYInputPropsOptions(),\r\n },\r\n emits: [\r\n 'error',\r\n 'click',\r\n 'mousedown',\r\n 'mouseup',\r\n 'focus',\r\n 'blur',\r\n 'mousedown:display',\r\n 'mouseup:display',\r\n 'click:leading',\r\n 'update:modelValue',\r\n 'update:focused',\r\n ],\r\n data() {\r\n const iid = uidCounter.toString();\r\n uidCounter += 1;\r\n return {\r\n iid,\r\n lazyValue: undefined as string | undefined,\r\n inValue: '' as string | number | undefined,\r\n hasMouseDown: false,\r\n errorResult: undefined as string | undefined,\r\n inError: false,\r\n };\r\n },\r\n computed: {\r\n classes(): Record<string, boolean> {\r\n return {\r\n 'y-input--ceramic': !!this.ceramic,\r\n 'y-input--outlined':\r\n !this.ceramic &&\r\n (this.variations.includes('outlined') || !!this.outlined),\r\n 'y-input--filled': this.variations.includes('filled') || !!this.filled,\r\n 'y-input--focused': this.isFocused,\r\n 'y-input--readonly': !!this.readonly,\r\n 'y-input--has-value': !!this.inValue,\r\n 'y-input--disabled': !!this.disabled,\r\n 'y-input--error': this.isError,\r\n 'y-input--success': this.isSuccess,\r\n [this.themeClasses as string]: true,\r\n };\r\n },\r\n displayStyles(): Record<string, any> {\r\n let { width } = this;\r\n if (!Number.isNaN(Number(width))) {\r\n width = `${width}px`;\r\n }\r\n return {\r\n width,\r\n height: this.getDisplayHeight(),\r\n };\r\n },\r\n attrId(): string {\r\n return (this.$attrs.id as string) ?? `y-input--${this.iid}`;\r\n },\r\n isFloatedLabel(): boolean {\r\n return (\r\n this.floated ||\r\n !!this.placeholder ||\r\n (!this.placeholder && this.isFocused) ||\r\n !!this.inValue\r\n );\r\n },\r\n formLoading(): boolean {\r\n // TODO: composable `form` binding\r\n // const form$ = (this as any)?.form$ as any;\r\n // if (form$) {\r\n // return form$.loading;\r\n // }\r\n return false;\r\n },\r\n isError(): boolean {\r\n return this.status === 'error' || this.inError;\r\n },\r\n isSuccess(): boolean {\r\n return !this.isError && this.status === 'success';\r\n },\r\n variations(): string[] {\r\n const { variation } = this;\r\n if (variation) {\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 methods: {\r\n createPrepend(): VNode | undefined {\r\n const slot = getSlot(this, 'prepend');\r\n return slot ? h('div', { class: `${NAME}__prepend` }, slot) : undefined;\r\n },\r\n createAppend(): VNode | undefined {\r\n const slot = getSlot(this, 'append');\r\n return slot ? h('div', { class: `${NAME}__append` }, slot) : undefined;\r\n },\r\n createLabelSlot(): (VNode | string | VNode[] | undefined)[] {\r\n const slot: VNode[] | undefined = getSlot(this, 'label');\r\n if (!slot) {\r\n if (this.label) {\r\n return [\r\n this.label,\r\n this.required ? h('span', { class: 'y-input__required-mark' }, '*') : undefined,\r\n ];\r\n }\r\n if (this.placeholder && !this.inValue) {\r\n return [this.placeholder];\r\n }\r\n }\r\n\r\n return slot ? [slot] : [];\r\n },\r\n createLabel(): VNode | undefined {\r\n const show = !!this.label || !!getSlot(this, 'label');\r\n if (!show) {\r\n return undefined;\r\n }\r\n return h(\r\n 'label',\r\n {\r\n class: {\r\n [`${NAME}__label`]: true,\r\n 'y-input__floating-label': this.floating,\r\n 'y-input__floating-label--floated':\r\n this.floating && this.isFloatedLabel,\r\n },\r\n '.for': this.attrId,\r\n },\r\n this.createLabelSlot(),\r\n );\r\n },\r\n createDefaultChildren(): (VNode | undefined | VNode[] | string)[] {\r\n const { modelValue } = this;\r\n return [\r\n this.floating ? this.createLabel() : undefined,\r\n modelValue?.toString(),\r\n ];\r\n },\r\n createDefault(): VNode[] | VNode {\r\n const { modelValue, formLoading, attrId } = this;\r\n const slotContent = getSlot(this, 'default', {\r\n value: modelValue,\r\n formLoading,\r\n attrId,\r\n });\r\n return (\r\n slotContent ??\r\n h(\r\n 'div',\r\n {\r\n [`.${NAME}__value`]: true,\r\n '.data-id': this.attrId,\r\n '.tabindex': 0,\r\n onFocus: this.onFocus,\r\n onBlur: this.onBlur,\r\n },\r\n this.createDefaultChildren(),\r\n )\r\n );\r\n },\r\n createLeading(): VNode | undefined {\r\n const slot = getSlot(this, 'leading', { error: this.isError });\r\n return slot\r\n ? h(\r\n 'div',\r\n {\r\n class: 'y-input__leading',\r\n onClick: this.onClickLeading,\r\n },\r\n slot,\r\n )\r\n : undefined;\r\n },\r\n createTrailing(): VNode | VNode[] | undefined {\r\n return getSlot(this, 'trailing');\r\n },\r\n getDisplayHeight() {\r\n const { height } = this;\r\n if (!isNaN(Number(height))) {\r\n return `${height}px`;\r\n }\r\n return height;\r\n },\r\n createDisplay(): VNode {\r\n return h(\r\n 'div',\r\n {\r\n class: {\r\n [`${NAME}__display`]: true,\r\n },\r\n // onClick: this.onClick,\r\n onMousedown: this.onMousedown,\r\n onMouseup: this.onMouseup,\r\n ref: 'display',\r\n style: {\r\n ...this.displayStyles,\r\n },\r\n },\r\n [\r\n h('div', { class: `${NAME}__plate` }),\r\n this.createLeading(),\r\n this.createDefault(),\r\n this.createTrailing(),\r\n ],\r\n );\r\n },\r\n createHelperText(): VNode {\r\n const helperTextSlot = getSlot(this, 'helper-text', {\r\n error: this.status === 'error' || this.inError,\r\n errorResult: this.errorResult,\r\n });\r\n const children = [];\r\n if (helperTextSlot) {\r\n children.push(h('span', {}, helperTextSlot));\r\n } else {\r\n children.push(this.errorResult);\r\n }\r\n return h('div', { class: `${NAME}__helper-text` }, children);\r\n },\r\n createStackChildren(): (VNode | undefined)[] {\r\n return [\r\n !this.floating ? this.createLabel() : undefined,\r\n this.createDisplay(),\r\n this.createHelperText(),\r\n ];\r\n },\r\n createStack(): VNode {\r\n return h(\r\n 'div',\r\n {\r\n class: `${NAME}__stack`,\r\n ref: 'stack',\r\n },\r\n this.createStackChildren(),\r\n );\r\n },\r\n createContent(): (VNode | undefined)[] {\r\n return [this.createPrepend(), this.createStack(), this.createAppend()];\r\n },\r\n //\r\n onClick(event: MouseEvent) {\r\n if (this.autoSelect) {\r\n if (event.target) {\r\n window.getSelection()?.selectAllChildren(event.target as HTMLElement);\r\n }\r\n }\r\n this.$emit('click', event);\r\n },\r\n onMousedown(e: Event) {\r\n this.hasMouseDown = true;\r\n this.$emit('mousedown:display', e);\r\n },\r\n onMouseup(e: Event) {\r\n this.hasMouseDown = false;\r\n this.$emit('mouseup:display', e);\r\n },\r\n onFocus(event: FocusEvent) {\r\n this.whenFocus();\r\n this.$emit('focus', event);\r\n },\r\n onBlur(event: FocusEvent) {\r\n this.whenBlur();\r\n this.invokeValidators();\r\n this.$emit('blur', event);\r\n },\r\n onClickLeading(event: MouseEvent) {\r\n this.$emit('click:leading', event);\r\n },\r\n onChange(event?: Event) {\r\n this.invokeValidators();\r\n },\r\n //\r\n invokeValidators(): boolean {\r\n const { validators, inValue, $attrs } = this;\r\n const { required } = $attrs;\r\n this.resetError();\r\n let flag = true;\r\n if (Array.isArray(validators)) {\r\n validators.some((validator: any) => {\r\n const result = validator(inValue);\r\n if (typeof result === 'string') {\r\n this.inError = true;\r\n this.errorResult = result;\r\n flag = false;\r\n return true;\r\n }\r\n if (result === false) {\r\n this.inError = true;\r\n this.errorResult = '';\r\n flag = false;\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n if (flag && required && !inValue) {\r\n this.inError = true;\r\n return false;\r\n }\r\n return flag;\r\n },\r\n resetError() {\r\n this.inError = false;\r\n this.errorResult = undefined;\r\n },\r\n getClasses() {\r\n return this.classes;\r\n },\r\n },\r\n watch: {\r\n modelValue(neo: string) {\r\n if (!this.readonly) {\r\n this.inValue = neo;\r\n }\r\n },\r\n readonly(neo: boolean) {\r\n if (!neo) {\r\n this.inValue = this.modelValue;\r\n }\r\n },\r\n inValue(neo: string) {\r\n if (!this.readonly) {\r\n this.$emit('update:modelValue', neo);\r\n }\r\n },\r\n isError(neo: boolean) {\r\n this.$emit('error', neo);\r\n },\r\n },\r\n created() {\r\n this.inValue = this.modelValue;\r\n },\r\n setup(props) {\r\n const { themeClasses } = useLocalTheme(props);\r\n const {\r\n focused: isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n } = useFocus(props, 'y-input');\r\n return {\r\n themeClasses,\r\n isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n };\r\n },\r\n render(): VNode {\r\n return h(\r\n 'div',\r\n {\r\n class: { ...this.getClasses(), [`${NAME}`]: true },\r\n },\r\n this.createContent(),\r\n );\r\n },\r\n});\r\n\r\nexport type YInput = InstanceType<typeof YInput>;\r\n"],"mappings":"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"}
|