yuyeon 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -0
- package/README.md +15 -0
- package/dist/style.css +1 -1
- package/dist/yuyeon.mjs +3134 -2276
- package/dist/yuyeon.umd.js +29 -1
- package/lib/abstract/items.mjs +20 -0
- package/lib/abstract/items.mjs.map +1 -0
- package/lib/components/button/YButton.mjs +2 -2
- package/lib/components/button/YButton.mjs.map +1 -1
- package/lib/components/button/YButton.scss +1 -1
- package/lib/components/card/YCard.mjs.map +1 -1
- package/lib/components/card/YCard.scss +3 -2
- package/lib/components/checkbox/YInputCheckbox.scss +1 -1
- package/lib/components/chip/YChip.mjs +2 -2
- package/lib/components/chip/YChip.mjs.map +1 -1
- package/lib/components/dialog/YDialog.mjs +2 -2
- package/lib/components/dialog/YDialog.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.mjs +83 -2
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.scss +33 -0
- package/lib/components/field-input/YFieldInput.mjs +55 -47
- package/lib/components/field-input/YFieldInput.mjs.map +1 -1
- package/lib/components/icons/YIconCheckbox.scss +1 -1
- package/lib/components/icons/YIconDropdown.mjs +16 -0
- package/lib/components/icons/YIconDropdown.mjs.map +1 -0
- package/lib/components/index.mjs +2 -0
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/input/YInput.mjs +83 -49
- package/lib/components/input/YInput.mjs.map +1 -1
- package/lib/components/input/YInput.scss +8 -8
- package/lib/components/layer/YLayer.mjs +21 -9
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/layer/YLayer.scss +1 -0
- package/lib/components/layer/scroll-strategies.mjs +1 -1
- package/lib/components/layer/scroll-strategies.mjs.map +1 -1
- package/lib/components/list/YList.mjs +40 -2
- package/lib/components/list/YList.mjs.map +1 -1
- package/lib/components/list/YListItem.mjs +31 -11
- package/lib/components/list/YListItem.mjs.map +1 -1
- package/lib/components/list/YListItem.scss +5 -2
- package/lib/components/menu/YMenu.mjs +35 -19
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/menu/YMenu.scss +20 -7
- package/lib/components/pagination/YPagination.mjs +8 -8
- package/lib/components/pagination/YPagination.mjs.map +1 -1
- package/lib/components/panel/YDividePanel.scss +4 -4
- package/lib/components/progress-bar/YProgressBar.mjs +20 -3
- package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.scss +109 -40
- package/lib/components/select/YSelect.mjs +185 -0
- package/lib/components/select/YSelect.mjs.map +1 -0
- package/lib/components/select/YSelect.scss +43 -0
- package/lib/components/select/index.mjs +2 -0
- package/lib/components/select/index.mjs.map +1 -0
- package/lib/components/switch/YSwitch.scss +1 -1
- package/lib/components/table/YTable.scss +2 -2
- package/lib/components/tree-view/YTreeView.mjs +76 -18
- package/lib/components/tree-view/YTreeView.mjs.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.mjs +21 -18
- package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
- package/lib/components/tree-view/types.mjs.map +1 -1
- package/lib/components/tree-view/util.mjs +24 -0
- package/lib/components/tree-view/util.mjs.map +1 -1
- package/lib/composables/coordinate/arrangement.mjs.map +1 -1
- package/lib/composables/coordinate/index.mjs.map +1 -1
- package/lib/composables/coordinate/levitation.mjs +1 -1
- package/lib/composables/coordinate/levitation.mjs.map +1 -1
- package/lib/composables/coordinate/utils/point.mjs.map +1 -1
- package/lib/composables/dimension.mjs +26 -0
- package/lib/composables/dimension.mjs.map +1 -0
- package/lib/composables/focus.mjs +29 -0
- package/lib/composables/focus.mjs.map +1 -0
- package/lib/composables/list-items.mjs +58 -0
- package/lib/composables/list-items.mjs.map +1 -0
- package/lib/composables/theme/factory.mjs +45 -0
- package/lib/composables/theme/factory.mjs.map +1 -0
- package/lib/composables/theme/helper.mjs +14 -0
- package/lib/composables/theme/helper.mjs.map +1 -0
- package/lib/composables/theme/index.mjs +144 -10
- package/lib/composables/theme/index.mjs.map +1 -1
- package/lib/composables/theme/setting.mjs +46 -9
- package/lib/composables/theme/setting.mjs.map +1 -1
- package/lib/composables/theme/types.mjs +2 -0
- package/lib/composables/theme/types.mjs.map +1 -0
- package/lib/directives/complement-click/index.mjs.map +1 -1
- package/lib/directives/theme-class.mjs +4 -4
- package/lib/directives/theme-class.mjs.map +1 -1
- package/lib/index.mjs +7 -5
- package/lib/index.mjs.map +1 -1
- package/lib/mixins/di.mjs +0 -3
- package/lib/mixins/di.mjs.map +1 -1
- package/lib/styles/_elevation.scss +15 -0
- package/lib/styles/base.scss +11 -5
- package/lib/styles/settings/_elevation.scss +20 -0
- package/lib/styles/theme/light.scss +1 -1
- package/lib/styles/util/_helper.scss +12 -0
- package/lib/styles/util/_var.scss +18 -0
- package/lib/util/color/apca.mjs +201 -0
- package/lib/util/color/apca.mjs.map +1 -0
- package/lib/util/color/const.mjs +6 -0
- package/lib/util/color/const.mjs.map +1 -0
- package/lib/util/color/contrast/contrast.mjs +149 -0
- package/lib/util/color/contrast/contrast.mjs.map +1 -0
- package/lib/util/color/conversion.mjs +310 -0
- package/lib/util/color/conversion.mjs.map +1 -0
- package/lib/util/color/hct/cam16.mjs +349 -0
- package/lib/util/color/hct/cam16.mjs.map +1 -0
- package/lib/util/color/hct/hct-solver.mjs +389 -0
- package/lib/util/color/hct/hct-solver.mjs.map +1 -0
- package/lib/util/color/hct/hct.mjs +153 -0
- package/lib/util/color/hct/hct.mjs.map +1 -0
- package/lib/util/color/hct/viewing-conditions.mjs +110 -0
- package/lib/util/color/hct/viewing-conditions.mjs.map +1 -0
- package/lib/util/color/index.mjs +24 -0
- package/lib/util/color/index.mjs.map +1 -0
- package/lib/util/color/palettes/core-palette.mjs +99 -0
- package/lib/util/color/palettes/core-palette.mjs.map +1 -0
- package/lib/util/color/palettes/tonal-palette.mjs +112 -0
- package/lib/util/color/palettes/tonal-palette.mjs.map +1 -0
- package/lib/util/color/types.mjs +2 -0
- package/lib/util/color/types.mjs.map +1 -0
- package/lib/util/color/utils/math-utils.mjs +139 -0
- package/lib/util/color/utils/math-utils.mjs.map +1 -0
- package/lib/util/common.mjs +11 -6
- package/lib/util/common.mjs.map +1 -1
- package/lib/util/debounce.mjs +114 -0
- package/lib/util/debounce.mjs.map +1 -0
- package/lib/util/{FrameScheduler.mjs → frame-scheduler.mjs} +1 -1
- package/lib/util/frame-scheduler.mjs.map +1 -0
- package/lib/util/{Rect.mjs → rect.mjs} +1 -1
- package/lib/util/{Rect.mjs.map → rect.mjs.map} +1 -1
- package/lib/util/string.mjs +6 -0
- package/lib/util/string.mjs.map +1 -1
- package/lib/util/ui.mjs +11 -36
- package/lib/util/ui.mjs.map +1 -1
- package/package.json +12 -1
- package/types/abstract/items.d.ts +48 -0
- package/types/components/card/YCard.d.ts +1 -1
- package/types/components/checkbox/YInputCheckbox.d.ts +2 -2
- package/types/components/dialog/YDialog.d.ts +23 -8
- package/types/components/dropdown/YDropdown.d.ts +219 -0
- package/types/components/dropdown/index.d.ts +1 -0
- package/types/components/field-input/YFieldInput.d.ts +238 -25
- package/types/components/icons/YIconCheckbox.d.ts +1 -1
- package/types/components/icons/YIconDropdown.d.ts +1 -0
- package/types/components/index.d.ts +2 -0
- package/types/components/input/YInput.d.ts +156 -42
- package/types/components/layer/YLayer.d.ts +67 -17
- package/types/components/list/YList.d.ts +22 -1
- package/types/components/list/YListItem.d.ts +28 -2
- package/types/components/menu/YMenu.d.ts +132 -16
- package/types/components/pagination/YPagination.d.ts +10 -10
- package/types/components/progress-bar/YProgressBar.d.ts +18 -1
- package/types/components/select/YSelect.d.ts +701 -0
- package/types/components/select/index.d.ts +1 -0
- package/types/components/table/YDataTable.d.ts +1 -1
- package/types/components/table/YDataTableServer.d.ts +1 -1
- package/types/components/text-highlighter/YTextHighlighter.d.ts +40 -0
- package/types/components/tooltip/YTooltip.d.ts +20 -5
- package/types/components/tree-view/YTreeView.d.ts +47 -22
- package/types/components/tree-view/YTreeViewNode.d.ts +72 -26
- package/types/components/tree-view/types.d.ts +1 -0
- package/types/components/tree-view/util.d.ts +4 -1
- package/types/composables/coordinate/arrangement.d.ts +1 -1
- package/types/composables/coordinate/index.d.ts +3 -3
- package/types/composables/coordinate/levitation.d.ts +1 -1
- package/types/composables/coordinate/utils/point.d.ts +1 -1
- package/types/composables/dimension.d.ts +53 -0
- package/types/composables/focus.d.ts +27 -0
- package/types/composables/list-items.d.ts +117 -0
- package/types/composables/theme/factory.d.ts +3 -0
- package/types/composables/theme/helper.d.ts +3 -0
- package/types/composables/theme/index.d.ts +45 -5
- package/types/composables/theme/setting.d.ts +3 -6
- package/types/composables/theme/types.d.ts +28 -0
- package/types/directives/complement-click/index.d.ts +1 -1
- package/types/directives/theme-class.d.ts +1 -1
- package/types/index.d.ts +2 -0
- package/types/shims.d.ts +4 -0
- package/types/util/color/apca.d.ts +29 -0
- package/types/util/color/const.d.ts +5 -0
- package/types/util/color/conversion.d.ts +130 -0
- package/types/util/color/hct/cam16.d.ts +131 -0
- package/types/util/color/hct/hct.d.ts +86 -0
- package/types/util/color/hct/hct_solver.d.ts +146 -0
- package/types/util/color/hct/viewing_conditions.d.ts +74 -0
- package/types/util/color/index.d.ts +4 -0
- package/types/util/color/palettes/tonal_palette.d.ts +55 -0
- package/types/util/color/types.d.ts +14 -0
- package/types/util/color/utils/math-utils.d.ts +82 -0
- package/types/util/color/utils/math_utils.d.ts +82 -0
- package/types/util/common.d.ts +2 -1
- package/types/util/debounce.d.ts +11 -0
- package/types/util/string.d.ts +1 -0
- package/types/util/ui.d.ts +1 -6
- package/lib/components/input/index.scss +0 -2
- package/lib/components/table/pagination.mjs +0 -80
- package/lib/components/table/pagination.mjs.map +0 -1
- package/lib/composables/collections.mjs +0 -2
- package/lib/composables/collections.mjs.map +0 -1
- package/lib/composables/levitation.mjs +0 -135
- package/lib/composables/levitation.mjs.map +0 -1
- package/lib/styles/util/helper.scss +0 -6
- package/lib/util/FrameScheduler.mjs.map +0 -1
- /package/lib/styles/settings/{provided.scss → _provided.scss} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YFieldInput.mjs","names":["computed","defineComponent","getCurrentInstance","h","nextTick","ref","toRef","watch","YIconClear","YInput","YInputProps","NAME","YFieldInput","name","props","clearable","Boolean","inputAlign","String","displayText","Function","whenInputValid","Number","tabindex","type","default","emits","setup","_ref","attrs","expose","emit","slots","yInputRef","inputRef","isFocused","inValue","displayValue","inputType","classes","value","invokeValidators","onClick","event","focus","onFocus","onBlur","changeDisplay","onInput","target","onChange","onKeydown","onKeyup","onClickClear","clear","onKeydownClear","code","select","vm","undefined","text","call","modelValue","neo","immediate","yInputProps","ret","propKey","onUpdateModel","class","prepend","prepends","_len","arguments","length","args","Array","_key","slot","push","defaultProps","attrId","methods","createLabel","readonly","loading","formLoading","placeholder","disabled","autocomplete","maxlength","style","textAlign","append","appends","helper-text"],"sources":["../../../src/components/field-input/YFieldInput.ts"],"sourcesContent":["import {\n PropType,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n ref,\n toRef,\n watch,\n} from 'vue';\n\nimport { YIconClear } from '../icons/YIconClear';\nimport { YInput, YInputProps } from '../input';\n\nimport './YFieldInput.scss';\n\nconst NAME = 'y-field-input';\n\nexport const YFieldInput = defineComponent({\n name: 'YFieldInput',\n props: {\n ...YInputProps,\n clearable: Boolean as PropType<boolean>,\n inputAlign: String as PropType<string>,\n displayText: [String, Function] as PropType<\n string | ((value: any) => string)\n >,\n whenInputValid: [Boolean, Number] as PropType<boolean | number>,\n tabindex: {\n type: String as PropType<string>,\n default: '0',\n },\n type: {\n type: String as PropType<string>,\n default: 'text',\n },\n },\n emits: [\n 'update:modelValue',\n 'input',\n 'change',\n 'click',\n 'mousedown',\n 'mouseup',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n ],\n setup(props, { attrs, expose, emit, slots }) {\n const yInputRef = ref<YInput>();\n const inputRef = ref<HTMLInputElement>();\n const isFocused = ref(false);\n const inValue = ref<any>('');\n const displayValue = ref('');\n const inputType = toRef(props, 'type');\n\n const classes = computed(() => {\n return {\n ...(yInputRef.value?.classes || {}),\n 'y-input--focused': isFocused.value,\n [NAME]: true,\n };\n });\n\n const invokeValidators = () => {\n //\n };\n\n function onClick(event: MouseEvent) {\n inputRef.value?.focus();\n emit('click', event);\n }\n\n function onFocus(event: FocusEvent) {\n isFocused.value = true;\n displayValue.value = inValue.value as string;\n emit('focus', event);\n }\n\n function onBlur(event: FocusEvent) {\n isFocused.value = false;\n invokeValidators();\n emit('blur', event);\n changeDisplay();\n }\n\n function onInput(event: InputEvent) {\n emit('input', event);\n const target = event.target as HTMLInputElement | null;\n inValue.value = target?.value;\n displayValue.value = target?.value as string;\n if (props.whenInputValid) {\n invokeValidators();\n }\n }\n\n function onChange(event: Event) {\n emit('change', inValue.value);\n }\n\n function onKeydown(event: KeyboardEvent) {\n emit('keydown', event);\n }\n\n function onKeyup(event: KeyboardEvent) {\n emit('keyup', event);\n }\n\n function onClickClear(event: MouseEvent) {\n clear();\n }\n\n function onKeydownClear(event: KeyboardEvent) {\n if (event.code === 'Space' || event.code === 'Enter') {\n clear();\n }\n }\n\n function focus() {\n inputRef.value?.focus();\n }\n\n function select() {\n inputRef.value?.select();\n }\n\n function clear() {\n inValue.value = '';\n displayValue.value = '';\n emit('update:modelValue', inValue.value);\n }\n\n function changeDisplay() {\n const vm = getCurrentInstance();\n const { displayText } = props;\n if (displayText !== undefined) {\n let text = inValue.value;\n if (typeof displayText === 'string') {\n text = displayText;\n }\n if (displayText && typeof displayText === 'function') {\n text = (displayText as any).call(vm, text);\n }\n nextTick(() => {\n displayValue.value = text as string;\n });\n }\n }\n\n watch(\n () => props.modelValue,\n (neo: any) => {\n inValue.value = neo;\n displayValue.value = neo;\n },\n {\n immediate: true,\n },\n );\n\n watch(inValue, (neo: string) => {\n if (!isFocused.value) {\n changeDisplay();\n } else {\n displayValue.value = neo;\n }\n });\n\n expose({\n focus,\n select,\n clear,\n inputRef,\n });\n\n const yInputProps = () => {\n const ret: Record<string, any> = {};\n for (const propKey in YInputProps) {\n ret[propKey] = props[propKey as keyof typeof props];\n }\n return ret;\n };\n\n function onUpdateModel(value: any) {\n emit('update:modelValue', value);\n }\n\n return () =>\n h(\n YInput,\n {\n class: classes.value,\n ref: yInputRef,\n ...yInputProps(),\n modelValue: inValue.value,\n 'onUpdate:modelValue': onUpdateModel,\n onClick,\n },\n {\n prepend: slots.prepend\n ? (...args: any[]) => {\n const prepends = [];\n const slot = slots.prepend?.(...args);\n if (slot) {\n prepends.push(slot);\n } else {\n return undefined;\n }\n return prepends;\n }\n : undefined,\n default: (defaultProps: any) =>\n h(\n 'div',\n {\n class: `${NAME}__field`,\n 'data-id': defaultProps.attrId,\n ref: 'field',\n },\n [\n YInput.methods!.createLabel.call(yInputRef),\n h('input', {\n '.value': displayValue.value,\n '.id': defaultProps.attrId,\n '^type': inputType.value,\n readonly:\n props.readonly || props.loading || defaultProps.formLoading,\n '.placeholder': props.placeholder,\n '.disabled': props.disabled,\n '^tabindex': props.tabindex || '0',\n autocomplete: attrs.autocomplete,\n maxlength: attrs.maxlength,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeydown,\n onKeyup,\n style: {\n textAlign: props.inputAlign,\n },\n ref: inputRef,\n }),\n ],\n ),\n append: () => {\n const appends = [];\n if (props.clearable && inValue.value) {\n appends.push(\n h('div', { class: 'y-input__append y-input__append--clear' }, [\n h(\n 'button',\n {\n class: `${NAME}__clear`,\n onClick: onClickClear,\n onKeydown: onKeydownClear,\n '^tabindex': '2',\n },\n [h(YIconClear)],\n ),\n ]),\n );\n }\n const slot = slots.append;\n if (slot) {\n appends.push(h('div', { class: 'y-input__append' }, slot()));\n }\n return appends;\n },\n 'helper-text': () => {\n return slots['helper-text']?.();\n },\n },\n );\n },\n});\n\nexport type YFieldInput = InstanceType<typeof YFieldInput>;\n"],"mappings":"AAAA,SAEEA,QAAQ,EACRC,eAAe,EACfC,kBAAkB,EAClBC,CAAC,EACDC,QAAQ,EACRC,GAAG,EACHC,KAAK,EACLC,KAAK,QACA,KAAK;AAAC,SAEJC,UAAU;AAAA,SACVC,MAAM,EAAEC,WAAW;AAE5B;AAEA,MAAMC,IAAI,GAAG,eAAe;AAE5B,OAAO,MAAMC,WAAW,GAAGX,eAAe,CAAC;EACzCY,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE;IACL,GAAGJ,WAAW;IACdK,SAAS,EAAEC,OAA4B;IACvCC,UAAU,EAAEC,MAA0B;IACtCC,WAAW,EAAE,CAACD,MAAM,EAAEE,QAAQ,CAE7B;IACDC,cAAc,EAAE,CAACL,OAAO,EAAEM,MAAM,CAA+B;IAC/DC,QAAQ,EAAE;MACRC,IAAI,EAAEN,MAA0B;MAChCO,OAAO,EAAE;IACX,CAAC;IACDD,IAAI,EAAE;MACJA,IAAI,EAAEN,MAA0B;MAChCO,OAAO,EAAE;IACX;EACF,CAAC;EACDC,KAAK,EAAE,CACL,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,EACP,MAAM,CACP;EACDC,KAAKA,CAACb,KAAK,EAAAc,IAAA,EAAkC;IAAA,IAAhC;MAAEC,KAAK;MAAEC,MAAM;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAJ,IAAA;IACzC,MAAMK,SAAS,GAAG5B,GAAG,CAAS,CAAC;IAC/B,MAAM6B,QAAQ,GAAG7B,GAAG,CAAmB,CAAC;IACxC,MAAM8B,SAAS,GAAG9B,GAAG,CAAC,KAAK,CAAC;IAC5B,MAAM+B,OAAO,GAAG/B,GAAG,CAAM,EAAE,CAAC;IAC5B,MAAMgC,YAAY,GAAGhC,GAAG,CAAC,EAAE,CAAC;IAC5B,MAAMiC,SAAS,GAAGhC,KAAK,CAACQ,KAAK,EAAE,MAAM,CAAC;IAEtC,MAAMyB,OAAO,GAAGvC,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,IAAIiC,SAAS,CAACO,KAAK,EAAED,OAAO,IAAI,CAAC,CAAC,CAAC;QACnC,kBAAkB,EAAEJ,SAAS,CAACK,KAAK;QACnC,CAAC7B,IAAI,GAAG;MACV,CAAC;IACH,CAAC,CAAC;IAEF,MAAM8B,gBAAgB,GAAGA,CAAA,KAAM;MAC7B;IAAA,CACD;IAED,SAASC,OAAOA,CAACC,KAAiB,EAAE;MAClCT,QAAQ,CAACM,KAAK,EAAEI,KAAK,CAAC,CAAC;MACvBb,IAAI,CAAC,OAAO,EAAEY,KAAK,CAAC;IACtB;IAEA,SAASE,OAAOA,CAACF,KAAiB,EAAE;MAClCR,SAAS,CAACK,KAAK,GAAG,IAAI;MACtBH,YAAY,CAACG,KAAK,GAAGJ,OAAO,CAACI,KAAe;MAC5CT,IAAI,CAAC,OAAO,EAAEY,KAAK,CAAC;IACtB;IAEA,SAASG,MAAMA,CAACH,KAAiB,EAAE;MACjCR,SAAS,CAACK,KAAK,GAAG,KAAK;MACvBC,gBAAgB,CAAC,CAAC;MAClBV,IAAI,CAAC,MAAM,EAAEY,KAAK,CAAC;MACnBI,aAAa,CAAC,CAAC;IACjB;IAEA,SAASC,OAAOA,CAACL,KAAiB,EAAE;MAClCZ,IAAI,CAAC,OAAO,EAAEY,KAAK,CAAC;MACpB,MAAMM,MAAM,GAAGN,KAAK,CAACM,MAAiC;MACtDb,OAAO,CAACI,KAAK,GAAGS,MAAM,EAAET,KAAK;MAC7BH,YAAY,CAACG,KAAK,GAAGS,MAAM,EAAET,KAAe;MAC5C,IAAI1B,KAAK,CAACO,cAAc,EAAE;QACxBoB,gBAAgB,CAAC,CAAC;MACpB;IACF;IAEA,SAASS,QAAQA,CAACP,KAAY,EAAE;MAC9BZ,IAAI,CAAC,QAAQ,EAAEK,OAAO,CAACI,KAAK,CAAC;IAC/B;IAEA,SAASW,SAASA,CAACR,KAAoB,EAAE;MACvCZ,IAAI,CAAC,SAAS,EAAEY,KAAK,CAAC;IACxB;IAEA,SAASS,OAAOA,CAACT,KAAoB,EAAE;MACrCZ,IAAI,CAAC,OAAO,EAAEY,KAAK,CAAC;IACtB;IAEA,SAASU,YAAYA,CAACV,KAAiB,EAAE;MACvCW,KAAK,CAAC,CAAC;IACT;IAEA,SAASC,cAAcA,CAACZ,KAAoB,EAAE;MAC5C,IAAIA,KAAK,CAACa,IAAI,KAAK,OAAO,IAAIb,KAAK,CAACa,IAAI,KAAK,OAAO,EAAE;QACpDF,KAAK,CAAC,CAAC;MACT;IACF;IAEA,SAASV,KAAKA,CAAA,EAAG;MACfV,QAAQ,CAACM,KAAK,EAAEI,KAAK,CAAC,CAAC;IACzB;IAEA,SAASa,MAAMA,CAAA,EAAG;MAChBvB,QAAQ,CAACM,KAAK,EAAEiB,MAAM,CAAC,CAAC;IAC1B;IAEA,SAASH,KAAKA,CAAA,EAAG;MACflB,OAAO,CAACI,KAAK,GAAG,EAAE;MAClBH,YAAY,CAACG,KAAK,GAAG,EAAE;MACvBT,IAAI,CAAC,mBAAmB,EAAEK,OAAO,CAACI,KAAK,CAAC;IAC1C;IAEA,SAASO,aAAaA,CAAA,EAAG;MACvB,MAAMW,EAAE,GAAGxD,kBAAkB,CAAC,CAAC;MAC/B,MAAM;QAAEiB;MAAY,CAAC,GAAGL,KAAK;MAC7B,IAAIK,WAAW,KAAKwC,SAAS,EAAE;QAC7B,IAAIC,IAAI,GAAGxB,OAAO,CAACI,KAAK;QACxB,IAAI,OAAOrB,WAAW,KAAK,QAAQ,EAAE;UACnCyC,IAAI,GAAGzC,WAAW;QACpB;QACA,IAAIA,WAAW,IAAI,OAAOA,WAAW,KAAK,UAAU,EAAE;UACpDyC,IAAI,GAAIzC,WAAW,CAAS0C,IAAI,CAACH,EAAE,EAAEE,IAAI,CAAC;QAC5C;QACAxD,QAAQ,CAAC,MAAM;UACbiC,YAAY,CAACG,KAAK,GAAGoB,IAAc;QACrC,CAAC,CAAC;MACJ;IACF;IAEArD,KAAK,CACH,MAAMO,KAAK,CAACgD,UAAU,EACrBC,GAAQ,IAAK;MACZ3B,OAAO,CAACI,KAAK,GAAGuB,GAAG;MACnB1B,YAAY,CAACG,KAAK,GAAGuB,GAAG;IAC1B,CAAC,EACD;MACEC,SAAS,EAAE;IACb,CACF,CAAC;IAEDzD,KAAK,CAAC6B,OAAO,EAAG2B,GAAW,IAAK;MAC9B,IAAI,CAAC5B,SAAS,CAACK,KAAK,EAAE;QACpBO,aAAa,CAAC,CAAC;MACjB,CAAC,MAAM;QACLV,YAAY,CAACG,KAAK,GAAGuB,GAAG;MAC1B;IACF,CAAC,CAAC;IAEFjC,MAAM,CAAC;MACLc,KAAK;MACLa,MAAM;MACNH,KAAK;MACLpB;IACF,CAAC,CAAC;IAEF,MAAM+B,WAAW,GAAGA,CAAA,KAAM;MACxB,MAAMC,GAAwB,GAAG,CAAC,CAAC;MACnC,KAAK,MAAMC,OAAO,IAAIzD,WAAW,EAAE;QACjCwD,GAAG,CAACC,OAAO,CAAC,GAAGrD,KAAK,CAACqD,OAAO,CAAuB;MACrD;MACA,OAAOD,GAAG;IACZ,CAAC;IAED,SAASE,aAAaA,CAAC5B,KAAU,EAAE;MACjCT,IAAI,CAAC,mBAAmB,EAAES,KAAK,CAAC;IAClC;IAEA,OAAO,MACLrC,CAAC,CACCM,MAAM,EACN;MACE4D,KAAK,EAAE9B,OAAO,CAACC,KAAK;MACpBnC,GAAG,EAAE4B,SAAS;MACd,GAAGgC,WAAW,CAAC,CAAC;MAChBH,UAAU,EAAE1B,OAAO,CAACI,KAAK;MACzB,qBAAqB,EAAE4B,aAAa;MACpC1B;IACF,CAAC,EACD;MACE4B,OAAO,EAAEtC,KAAK,CAACsC,OAAO,GAClB,YAAoB;QAClB,MAAMC,QAAQ,GAAG,EAAE;QAAC,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADlBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;UAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;QAAA;QAEN,MAAMC,IAAI,GAAG9C,KAAK,CAACsC,OAAO,GAAG,GAAGK,IAAI,CAAC;QACrC,IAAIG,IAAI,EAAE;UACRP,QAAQ,CAACQ,IAAI,CAACD,IAAI,CAAC;QACrB,CAAC,MAAM;UACL,OAAOnB,SAAS;QAClB;QACA,OAAOY,QAAQ;MACjB,CAAC,GACDZ,SAAS;MACblC,OAAO,EAAGuD,YAAiB,IACzB7E,CAAC,CACC,KAAK,EACL;QACEkE,KAAK,EAAG,GAAE1D,IAAK,SAAQ;QACvB,SAAS,EAAEqE,YAAY,CAACC,MAAM;QAC9B5E,GAAG,EAAE;MACP,CAAC,EACD,CACEI,MAAM,CAACyE,OAAO,CAAEC,WAAW,CAACtB,IAAI,CAAC5B,SAAS,CAAC,EAC3C9B,CAAC,CAAC,OAAO,EAAE;QACT,QAAQ,EAAEkC,YAAY,CAACG,KAAK;QAC5B,KAAK,EAAEwC,YAAY,CAACC,MAAM;QAC1B,OAAO,EAAE3C,SAAS,CAACE,KAAK;QACxB4C,QAAQ,EACNtE,KAAK,CAACsE,QAAQ,IAAItE,KAAK,CAACuE,OAAO,IAAIL,YAAY,CAACM,WAAW;QAC7D,cAAc,EAAExE,KAAK,CAACyE,WAAW;QACjC,WAAW,EAAEzE,KAAK,CAAC0E,QAAQ;QAC3B,WAAW,EAAE1E,KAAK,CAACS,QAAQ,IAAI,GAAG;QAClCkE,YAAY,EAAE5D,KAAK,CAAC4D,YAAY;QAChCC,SAAS,EAAE7D,KAAK,CAAC6D,SAAS;QAC1B1C,OAAO;QACPH,OAAO;QACPC,MAAM;QACNI,QAAQ;QACRC,SAAS;QACTC,OAAO;QACPuC,KAAK,EAAE;UACLC,SAAS,EAAE9E,KAAK,CAACG;QACnB,CAAC;QACDZ,GAAG,EAAE6B;MACP,CAAC,CAAC,CAEN,CAAC;MACH2D,MAAM,EAAEA,CAAA,KAAM;QACZ,MAAMC,OAAO,GAAG,EAAE;QAClB,IAAIhF,KAAK,CAACC,SAAS,IAAIqB,OAAO,CAACI,KAAK,EAAE;UACpCsD,OAAO,CAACf,IAAI,CACV5E,CAAC,CAAC,KAAK,EAAE;YAAEkE,KAAK,EAAE;UAAyC,CAAC,EAAE,CAC5DlE,CAAC,CACC,QAAQ,EACR;YACEkE,KAAK,EAAG,GAAE1D,IAAK,SAAQ;YACvB+B,OAAO,EAAEW,YAAY;YACrBF,SAAS,EAAEI,cAAc;YACzB,WAAW,EAAE;UACf,CAAC,EACD,CAACpD,CAAC,CAACK,UAAU,CAAC,CAChB,CAAC,CACF,CACH,CAAC;QACH;QACA,MAAMsE,IAAI,GAAG9C,KAAK,CAAC6D,MAAM;QACzB,IAAIf,IAAI,EAAE;UACRgB,OAAO,CAACf,IAAI,CAAC5E,CAAC,CAAC,KAAK,EAAE;YAAEkE,KAAK,EAAE;UAAkB,CAAC,EAAES,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D;QACA,OAAOgB,OAAO;MAChB,CAAC;MACD,aAAa,EAAEC,CAAA,KAAM;QACnB,OAAO/D,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;MACjC;IACF,CACF,CAAC;EACL;AACF,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"YFieldInput.mjs","names":["computed","defineComponent","getCurrentInstance","h","nextTick","ref","toRef","watch","useRender","useFocus","chooseProps","propsFactory","YIconClear","YInput","pressYInputPropsOptions","NAME","pressYFieldInputPropsOptions","enableClear","Boolean","inputAlign","String","displayText","Function","whenInputValid","Number","tabindex","type","default","variation","YFieldInput","name","props","emits","setup","_ref","attrs","expose","emit","slots","yInputRef","inputRef","focused","whenFocus","whenBlur","inValue","displayValue","inputType","classes","invokeValidators","onClick","event","value","focus","onFocus","onBlur","changeDisplay","onInput","target","onChange","onKeydown","onKeyup","onClickClear","clear","onKeydownClear","code","select","vm","undefined","text","call","modelValue","neo","immediate","onUpdateModel","class","$event","leading","leadingChildren","_len","arguments","length","args","Array","_key","slot","push","defaultProps","attrId","methods","createLabel","readonly","loading","formLoading","placeholder","disabled","autocomplete","maxlength","style","textAlign","trailing","trailingChildren","helper-text"],"sources":["../../../src/components/field-input/YFieldInput.ts"],"sourcesContent":["import type { PropType } from 'vue';\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n ref,\n toRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { useFocus } from '../../composables/focus';\nimport { chooseProps, propsFactory } from '../../util/vue-component';\nimport { YIconClear } from '../icons/YIconClear';\nimport { YInput, pressYInputPropsOptions } from '../input';\n\nimport './YFieldInput.scss';\n\nconst NAME = 'y-field-input';\n\nexport const pressYFieldInputPropsOptions = propsFactory(\n {\n enableClear: Boolean as PropType<boolean>,\n inputAlign: String as PropType<string>,\n displayText: [String, Function] as PropType<\n string | ((value: any) => string)\n >,\n whenInputValid: [Boolean, Number] as PropType<boolean | number>,\n tabindex: {\n type: String as PropType<string>,\n default: '0',\n },\n type: {\n type: String as PropType<string>,\n default: 'text',\n },\n ...pressYInputPropsOptions({\n variation: 'filled',\n }),\n },\n 'YFieldInput',\n);\n\nexport const YFieldInput = defineComponent({\n name: 'YFieldInput',\n props: {\n ...pressYFieldInputPropsOptions(),\n },\n emits: [\n 'update:modelValue',\n 'update:focused',\n 'input',\n 'change',\n 'click',\n 'mousedown',\n 'mouseup',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n 'mousedown:display',\n ],\n setup(props, { attrs, expose, emit, slots }) {\n const yInputRef = ref<YInput>();\n const inputRef = ref<HTMLInputElement>();\n const { focused, whenFocus, whenBlur } = useFocus(props, 'y-field-input');\n const inValue = ref<any>('');\n const displayValue = ref('');\n const inputType = toRef(props, 'type');\n\n const classes = computed(() => {\n return {\n [NAME]: true,\n };\n });\n\n const invokeValidators = () => {\n //\n };\n\n function onClick(event: MouseEvent) {\n inputRef.value?.focus();\n emit('click', event);\n }\n\n function onFocus(event: FocusEvent) {\n whenFocus();\n displayValue.value = inValue.value as string;\n emit('focus', event);\n }\n\n function onBlur(event: FocusEvent) {\n whenBlur();\n invokeValidators();\n emit('blur', event);\n changeDisplay();\n }\n\n function onInput(event: InputEvent) {\n emit('input', event);\n const target = event.target as HTMLInputElement | null;\n inValue.value = target?.value;\n displayValue.value = target?.value as string;\n if (props.whenInputValid) {\n invokeValidators();\n }\n }\n\n function onChange(event: Event) {\n emit('change', inValue.value);\n }\n\n function onKeydown(event: KeyboardEvent) {\n emit('keydown', event);\n }\n\n function onKeyup(event: KeyboardEvent) {\n emit('keyup', event);\n }\n\n function onClickClear(event: MouseEvent) {\n clear();\n }\n\n function onKeydownClear(event: KeyboardEvent) {\n if (event.code === 'Space' || event.code === 'Enter') {\n clear();\n }\n }\n\n function focus() {\n inputRef.value?.focus();\n }\n\n function select() {\n inputRef.value?.select();\n }\n\n function clear() {\n inValue.value = '';\n displayValue.value = '';\n emit('update:modelValue', inValue.value);\n }\n\n function changeDisplay() {\n const vm = getCurrentInstance();\n const { displayText } = props;\n if (displayText !== undefined) {\n let text = inValue.value;\n if (typeof displayText === 'string') {\n text = displayText;\n }\n if (displayText && typeof displayText === 'function') {\n text = (displayText as any).call(vm, text);\n }\n nextTick(() => {\n displayValue.value = text as string;\n });\n }\n }\n\n watch(\n () => props.modelValue,\n (neo: any) => {\n inValue.value = neo;\n displayValue.value = neo;\n },\n {\n immediate: true,\n },\n );\n\n watch(inValue, (neo: string) => {\n if (!focused.value) {\n changeDisplay();\n } else {\n displayValue.value = neo;\n }\n });\n\n expose({\n focus,\n select,\n clear,\n inputRef,\n });\n\n function onUpdateModel(value: any) {\n emit('update:modelValue', value);\n }\n\n useRender(() =>\n h(\n YInput,\n {\n class: classes.value,\n ref: yInputRef,\n ...chooseProps(props, YInput.props),\n modelValue: inValue.value,\n 'onUpdate:modelValue': onUpdateModel,\n onClick,\n focused: focused.value,\n 'onMousedown:display': ($event) => emit('mousedown:display', $event),\n },\n {\n leading: slots.leading\n ? (...args: any[]) => {\n const leadingChildren = [];\n const slot = slots.leading?.(...args);\n if (slot) {\n leadingChildren.push(slot);\n } else {\n return undefined;\n }\n return leadingChildren;\n }\n : undefined,\n default: (defaultProps: any) =>\n h(\n 'div',\n {\n class: `${NAME}__field`,\n 'data-id': defaultProps.attrId,\n ref: 'field',\n },\n [\n YInput.methods!.createLabel.call(yInputRef),\n slots.default?.(),\n h('input', {\n '.value': displayValue.value,\n '.id': defaultProps.attrId,\n '^type': inputType.value,\n readonly:\n props.readonly || props.loading || defaultProps.formLoading,\n '.placeholder': props.placeholder,\n '.disabled': props.disabled,\n '^tabindex': props.tabindex || '0',\n autocomplete: attrs.autocomplete,\n maxlength: attrs.maxlength,\n onInput,\n onFocus,\n onBlur,\n onChange,\n onKeydown,\n onKeyup,\n style: {\n textAlign: props.inputAlign,\n },\n ref: inputRef,\n }),\n ],\n ),\n trailing: () => {\n const trailingChildren = [];\n if (props.enableClear && inValue.value) {\n trailingChildren.push(\n h(\n 'div',\n { class: 'y-input__trailing y-input__trailing--clear' },\n [\n h(\n 'button',\n {\n class: `${NAME}__clear`,\n onClick: onClickClear,\n onKeydown: onKeydownClear,\n '^tabindex': '2',\n },\n [h(YIconClear)],\n ),\n ],\n ),\n );\n }\n const slot = slots.trailing;\n if (slot) {\n trailingChildren.push(\n h('div', { class: 'y-input__trailing' }, slot()),\n );\n }\n return trailingChildren;\n },\n 'helper-text': () => {\n return slots['helper-text']?.();\n },\n },\n ),\n );\n\n return {\n focused,\n };\n },\n});\n\nexport type YFieldInput = InstanceType<typeof YFieldInput>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createVNode as _createVNode } from "vue";
|
|
2
|
+
import { defineComponent } from 'vue';
|
|
3
|
+
export const YIconDropdown = defineComponent({
|
|
4
|
+
name: 'YIconDropdown',
|
|
5
|
+
setup() {
|
|
6
|
+
return () => _createVNode("svg", {
|
|
7
|
+
"version": "1.1",
|
|
8
|
+
"viewBox": "0 0 24 24",
|
|
9
|
+
"xmlns": "http://www.w3.org/2000/svg"
|
|
10
|
+
}, [_createVNode("path", {
|
|
11
|
+
"d": "M7,10L12,15L17,10H7Z",
|
|
12
|
+
"fill": "currentColor"
|
|
13
|
+
}, null)]);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=YIconDropdown.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YIconDropdown.mjs","names":["defineComponent","YIconDropdown","name","setup","_createVNode"],"sources":["../../../src/components/icons/YIconDropdown.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\n\nexport const YIconDropdown = defineComponent({\n name: 'YIconDropdown',\n setup() {\n return () => (\n <svg version=\"1.1\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7,10L12,15L17,10H7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n },\n});\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAErC,OAAO,MAAMC,aAAa,GAAGD,eAAe,CAAC;EAC3CE,IAAI,EAAE,eAAe;EACrBC,KAAKA,CAAA,EAAG;IACN,OAAO,MAAAC,YAAA;MAAA,WACQ,KAAK;MAAA,WAAS,WAAW;MAAA,SAAO;IAA4B,IAAAA,YAAA;MAAA,KAEnE,sBAAsB;MAAA,QACnB;IAAc,UAGxB;EACH;AACF,CAAC,CAAC"}
|
package/lib/components/index.mjs
CHANGED
|
@@ -21,4 +21,6 @@ export * from "./menu/index.mjs";
|
|
|
21
21
|
export * from "./checkbox/index.mjs";
|
|
22
22
|
export * from "./pagination/index.mjs";
|
|
23
23
|
export * from "./loading/index.mjs";
|
|
24
|
+
export * from "./dropdown/index.mjs";
|
|
25
|
+
export * from "./select/index.mjs";
|
|
24
26
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\nexport * from './button';\nexport * from './input';\nexport * from './field-input';\nexport * from './form';\nexport * from './progress-bar';\nexport * from './card';\nexport * from './chip';\nexport * from './switch';\nexport * from './layer';\nexport * from './dialog';\nexport * from './snackbar';\nexport * from './tooltip';\nexport * from './transitions';\nexport * from './panel';\nexport * from './tree-view';\nexport * from './list';\nexport * from './icons';\nexport * from './table';\nexport * from './menu';\nexport * from './checkbox';\nexport * from './pagination';\nexport * from './loading';\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\nexport * from './button';\nexport * from './input';\nexport * from './field-input';\nexport * from './form';\nexport * from './progress-bar';\nexport * from './card';\nexport * from './chip';\nexport * from './switch';\nexport * from './layer';\nexport * from './dialog';\nexport * from './snackbar';\nexport * from './tooltip';\nexport * from './transitions';\nexport * from './panel';\nexport * from './tree-view';\nexport * from './list';\nexport * from './icons';\nexport * from './table';\nexport * from './menu';\nexport * from './checkbox';\nexport * from './pagination';\nexport * from './loading';\nexport * from './dropdown';\nexport * from './select';\n"],"mappings":""}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { defineComponent, h
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import "
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
import { getSlot, propsFactory } from "../../util/vue-component.mjs";
|
|
3
|
+
import "./YInput.scss";
|
|
4
|
+
import { pressThemePropsOptions, useLocalTheme } from "../../composables/theme/index.mjs";
|
|
5
|
+
import { pressFocusPropsOptions, useFocus } from "../../composables/focus.mjs";
|
|
5
6
|
const NAME = 'y-input';
|
|
6
7
|
let uidCounter = 0;
|
|
7
|
-
export const
|
|
8
|
+
export const pressYInputPropsOptions = propsFactory({
|
|
8
9
|
name: String,
|
|
9
10
|
width: {
|
|
10
11
|
type: [String, Number]
|
|
@@ -14,11 +15,6 @@ export const YInputProps = {
|
|
|
14
15
|
type: String,
|
|
15
16
|
default: 'div'
|
|
16
17
|
},
|
|
17
|
-
outlined: Boolean,
|
|
18
|
-
filled: {
|
|
19
|
-
type: Boolean
|
|
20
|
-
},
|
|
21
|
-
ceramic: Boolean,
|
|
22
18
|
label: String,
|
|
23
19
|
modelValue: {
|
|
24
20
|
type: [String, Number]
|
|
@@ -33,6 +29,11 @@ export const YInputProps = {
|
|
|
33
29
|
},
|
|
34
30
|
placeholder: String,
|
|
35
31
|
loading: Boolean,
|
|
32
|
+
// variations
|
|
33
|
+
variation: String,
|
|
34
|
+
outlined: Boolean,
|
|
35
|
+
filled: Boolean,
|
|
36
|
+
ceramic: Boolean,
|
|
36
37
|
// validate
|
|
37
38
|
readonly: Boolean,
|
|
38
39
|
disabled: Boolean,
|
|
@@ -42,18 +43,20 @@ export const YInputProps = {
|
|
|
42
43
|
return ['success', 'warning', 'error'].includes(value);
|
|
43
44
|
}
|
|
44
45
|
},
|
|
45
|
-
validators: Array
|
|
46
|
-
|
|
46
|
+
validators: Array,
|
|
47
|
+
...pressFocusPropsOptions()
|
|
48
|
+
}, 'YInput');
|
|
47
49
|
export const YInput = defineComponent({
|
|
48
|
-
name:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
name: 'YInput',
|
|
51
|
+
props: {
|
|
52
|
+
...pressThemePropsOptions(),
|
|
53
|
+
...pressYInputPropsOptions()
|
|
54
|
+
},
|
|
55
|
+
emits: ['error', 'click', 'mousedown', 'mouseup', 'focus', 'blur', 'mousedown:display', 'mouseup:display', 'click:leading', 'update:modelValue', 'update:focused'],
|
|
52
56
|
data() {
|
|
53
57
|
const iid = uidCounter.toString();
|
|
54
58
|
uidCounter += 1;
|
|
55
59
|
return {
|
|
56
|
-
isFocused: false,
|
|
57
60
|
iid,
|
|
58
61
|
lazyValue: undefined,
|
|
59
62
|
inValue: '',
|
|
@@ -65,15 +68,16 @@ export const YInput = defineComponent({
|
|
|
65
68
|
computed: {
|
|
66
69
|
classes() {
|
|
67
70
|
return {
|
|
68
|
-
'y-input--outlined': !this.ceramic && !!this.outlined,
|
|
69
|
-
'y-input--filled': !!this.filled,
|
|
70
|
-
'y-input--focused': this.isFocused,
|
|
71
71
|
'y-input--ceramic': !!this.ceramic,
|
|
72
|
+
'y-input--outlined': !this.ceramic && (this.variations.includes('outlined') || !!this.outlined),
|
|
73
|
+
'y-input--filled': this.variations.includes('filled') || !!this.filled,
|
|
74
|
+
'y-input--focused': this.isFocused,
|
|
72
75
|
'y-input--readonly': !!this.readonly,
|
|
73
76
|
'y-input--has-value': !!this.inValue,
|
|
74
77
|
'y-input--disabled': !!this.disabled,
|
|
75
78
|
'y-input--error': this.isError,
|
|
76
|
-
'y-input--success': this.isSuccess
|
|
79
|
+
'y-input--success': this.isSuccess,
|
|
80
|
+
[this.themeClasses]: true
|
|
77
81
|
};
|
|
78
82
|
},
|
|
79
83
|
displayStyles() {
|
|
@@ -95,10 +99,11 @@ export const YInput = defineComponent({
|
|
|
95
99
|
return this.floated || !!this.placeholder || !this.placeholder && this.isFocused || !!this.inValue;
|
|
96
100
|
},
|
|
97
101
|
formLoading() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
// TODO: composable `form` binding
|
|
103
|
+
// const form$ = (this as any)?.form$ as any;
|
|
104
|
+
// if (form$) {
|
|
105
|
+
// return form$.loading;
|
|
106
|
+
// }
|
|
102
107
|
return false;
|
|
103
108
|
},
|
|
104
109
|
isError() {
|
|
@@ -106,19 +111,30 @@ export const YInput = defineComponent({
|
|
|
106
111
|
},
|
|
107
112
|
isSuccess() {
|
|
108
113
|
return !this.isError && this.status === 'success';
|
|
114
|
+
},
|
|
115
|
+
variations() {
|
|
116
|
+
const {
|
|
117
|
+
variation
|
|
118
|
+
} = this;
|
|
119
|
+
if (variation) {
|
|
120
|
+
return variation.split(',').map(value => {
|
|
121
|
+
return value.trim();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return [];
|
|
109
125
|
}
|
|
110
126
|
},
|
|
111
127
|
methods: {
|
|
112
|
-
|
|
113
|
-
const slot = getSlot(this, 'prepend
|
|
128
|
+
createPrepend() {
|
|
129
|
+
const slot = getSlot(this, 'prepend');
|
|
114
130
|
return slot ? h('div', {
|
|
115
|
-
class: `${NAME}__prepend
|
|
131
|
+
class: `${NAME}__prepend`
|
|
116
132
|
}, slot) : undefined;
|
|
117
133
|
},
|
|
118
|
-
|
|
119
|
-
const slot = getSlot(this, 'append
|
|
134
|
+
createAppend() {
|
|
135
|
+
const slot = getSlot(this, 'append');
|
|
120
136
|
return slot ? h('div', {
|
|
121
|
-
class: `${NAME}__append
|
|
137
|
+
class: `${NAME}__append`
|
|
122
138
|
}, slot) : undefined;
|
|
123
139
|
},
|
|
124
140
|
createLabelSlot() {
|
|
@@ -171,17 +187,17 @@ export const YInput = defineComponent({
|
|
|
171
187
|
onBlur: this.onBlur
|
|
172
188
|
}, this.createDefaultChildren());
|
|
173
189
|
},
|
|
174
|
-
|
|
175
|
-
const slot = getSlot(this, '
|
|
190
|
+
createLeading() {
|
|
191
|
+
const slot = getSlot(this, 'leading', {
|
|
176
192
|
error: this.isError
|
|
177
193
|
});
|
|
178
194
|
return slot ? h('div', {
|
|
179
|
-
class: 'y-
|
|
180
|
-
onClick: this.
|
|
195
|
+
class: 'y-input__leading',
|
|
196
|
+
onClick: this.onClickLeading
|
|
181
197
|
}, slot) : undefined;
|
|
182
198
|
},
|
|
183
|
-
|
|
184
|
-
return getSlot(this, '
|
|
199
|
+
createTrailing() {
|
|
200
|
+
return getSlot(this, 'trailing');
|
|
185
201
|
},
|
|
186
202
|
getDisplayHeight() {
|
|
187
203
|
const {
|
|
@@ -198,15 +214,15 @@ export const YInput = defineComponent({
|
|
|
198
214
|
[`${NAME}__display`]: true
|
|
199
215
|
},
|
|
200
216
|
// onClick: this.onClick,
|
|
201
|
-
|
|
202
|
-
|
|
217
|
+
onMousedown: this.onMousedown,
|
|
218
|
+
onMouseup: this.onMouseup,
|
|
203
219
|
ref: 'display',
|
|
204
220
|
style: {
|
|
205
221
|
...this.displayStyles
|
|
206
222
|
}
|
|
207
223
|
}, [h('div', {
|
|
208
224
|
class: `${NAME}__plate`
|
|
209
|
-
}), this.
|
|
225
|
+
}), this.createLeading(), this.createDefault(), this.createTrailing()]);
|
|
210
226
|
},
|
|
211
227
|
createHelperText() {
|
|
212
228
|
const helperTextSlot = getSlot(this, 'helper-text', {
|
|
@@ -233,7 +249,7 @@ export const YInput = defineComponent({
|
|
|
233
249
|
}, this.createStackChildren());
|
|
234
250
|
},
|
|
235
251
|
createContent() {
|
|
236
|
-
return [this.
|
|
252
|
+
return [this.createPrepend(), this.createStack(), this.createAppend()];
|
|
237
253
|
},
|
|
238
254
|
//
|
|
239
255
|
onClick(event) {
|
|
@@ -246,23 +262,23 @@ export const YInput = defineComponent({
|
|
|
246
262
|
},
|
|
247
263
|
onMousedown(e) {
|
|
248
264
|
this.hasMouseDown = true;
|
|
249
|
-
this.$emit('mousedown', e);
|
|
265
|
+
this.$emit('mousedown:display', e);
|
|
250
266
|
},
|
|
251
267
|
onMouseup(e) {
|
|
252
268
|
this.hasMouseDown = false;
|
|
253
|
-
this.$emit('mouseup', e);
|
|
269
|
+
this.$emit('mouseup:display', e);
|
|
254
270
|
},
|
|
255
271
|
onFocus(event) {
|
|
256
|
-
this.
|
|
272
|
+
this.whenFocus();
|
|
257
273
|
this.$emit('focus', event);
|
|
258
274
|
},
|
|
259
275
|
onBlur(event) {
|
|
260
|
-
this.
|
|
276
|
+
this.whenBlur();
|
|
261
277
|
this.invokeValidators();
|
|
262
278
|
this.$emit('blur', event);
|
|
263
279
|
},
|
|
264
|
-
|
|
265
|
-
this.$emit('click:
|
|
280
|
+
onClickLeading(event) {
|
|
281
|
+
this.$emit('click:leading', event);
|
|
266
282
|
},
|
|
267
283
|
onChange(event) {
|
|
268
284
|
this.invokeValidators();
|
|
@@ -334,13 +350,31 @@ export const YInput = defineComponent({
|
|
|
334
350
|
created() {
|
|
335
351
|
this.inValue = this.modelValue;
|
|
336
352
|
},
|
|
353
|
+
setup(props) {
|
|
354
|
+
const {
|
|
355
|
+
themeClasses
|
|
356
|
+
} = useLocalTheme(props);
|
|
357
|
+
const {
|
|
358
|
+
focused: isFocused,
|
|
359
|
+
focusedClasses,
|
|
360
|
+
whenFocus,
|
|
361
|
+
whenBlur
|
|
362
|
+
} = useFocus(props, 'y-input');
|
|
363
|
+
return {
|
|
364
|
+
themeClasses,
|
|
365
|
+
isFocused,
|
|
366
|
+
focusedClasses,
|
|
367
|
+
whenFocus,
|
|
368
|
+
whenBlur
|
|
369
|
+
};
|
|
370
|
+
},
|
|
337
371
|
render() {
|
|
338
|
-
return
|
|
372
|
+
return h('div', {
|
|
339
373
|
class: {
|
|
340
374
|
...this.getClasses(),
|
|
341
375
|
[`${NAME}`]: true
|
|
342
376
|
}
|
|
343
|
-
}, this.createContent())
|
|
377
|
+
}, this.createContent());
|
|
344
378
|
}
|
|
345
379
|
});
|
|
346
380
|
//# sourceMappingURL=YInput.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YInput.mjs","names":["defineComponent","h","withDirectives","resolveDirective","DiMixin","getSlot","NAME","uidCounter","YInputProps","name","String","width","type","Number","height","displayTag","default","outlined","Boolean","filled","ceramic","label","modelValue","autoSelect","floated","placeholder","loading","readonly","disabled","status","validator","value","includes","validators","Array","YInput","mixins","props","emits","data","iid","toString","isFocused","lazyValue","undefined","inValue","hasMouseDown","errorResult","inError","computed","classes","isError","isSuccess","displayStyles","isNaN","getDisplayHeight","attrId","$attrs","id","isFloatedLabel","formLoading","form$","methods","createPrependOuter","slot","class","createAppendOuter","createLabelSlot","createLabel","show","createDefaultChildren","createDefault","slotContent","onFocus","onBlur","createPrepend","error","onClick","onClickPrepend","createAppend","createDisplay","ref","style","createHelperText","helperTextSlot","children","push","createStackChildren","createStack","createContent","event","target","window","getSelection","selectAllChildren","$emit","onMousedown","e","onMouseup","invokeValidators","onChange","required","resetError","flag","isArray","some","result","getClasses","watch","neo","created","render","theme","dark"],"sources":["../../../src/components/input/YInput.ts"],"sourcesContent":["\r\nimport {\r\n PropType,\r\n VNode,\r\n defineComponent,\r\n h,\r\n withDirectives, resolveDirective\r\n} from \"vue\";\r\n\r\nimport DiMixin from '../../mixins/di';\r\nimport { getSlot } from '../../util/vue-component';\r\nimport './index.scss';\r\n\r\nconst NAME = 'y-input';\r\nlet uidCounter = 0;\r\n\r\nexport const YInputProps = {\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 outlined: Boolean as PropType<boolean>,\r\n filled: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n ceramic: Boolean as PropType<boolean>,\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 floated: { type: Boolean as PropType<boolean>, default: () => false },\r\n placeholder: String as PropType<string>,\r\n loading: 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}\r\n\r\nexport const YInput = defineComponent({\r\n name: NAME,\r\n mixins: [DiMixin],\r\n props: YInputProps,\r\n emits: ['error', 'click', 'mousedown', 'mouseup', 'focus', 'blur', 'click:prepend', 'update:modelValue'],\r\n data() {\r\n const iid = uidCounter.toString();\r\n uidCounter += 1;\r\n return {\r\n isFocused: false,\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--outlined': !this.ceramic && !!this.outlined,\r\n 'y-input--filled': !!this.filled,\r\n 'y-input--focused': this.isFocused,\r\n 'y-input--ceramic': !!this.ceramic,\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 };\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 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 },\r\n methods: {\r\n createPrependOuter(): VNode | undefined {\r\n const slot = getSlot(this, 'prepend-outer');\r\n return slot\r\n ? h('div', { class: `${NAME}__prepend-outer` }, slot)\r\n : undefined;\r\n },\r\n createAppendOuter(): VNode | undefined {\r\n const slot = getSlot(this, 'append-outer');\r\n return slot\r\n ? h('div', { class: `${NAME}__append-outer` }, slot)\r\n : undefined;\r\n },\r\n createLabelSlot(): (VNode | string | VNode[])[] {\r\n const slot: VNode[] | undefined = getSlot(this, 'label');\r\n if (!slot) {\r\n if (this.label) {\r\n return [this.label];\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__label--floated': 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 [this.createLabel(), modelValue?.toString()];\r\n },\r\n createDefault(): VNode[] | VNode {\r\n const { modelValue, formLoading, attrId } = this;\r\n const slotContent = getSlot(this, 'default', { value: modelValue, formLoading, attrId });\r\n return slotContent ?? 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 createPrepend(): VNode | undefined {\r\n const slot = getSlot(this, 'prepend', { error: this.isError });\r\n return slot\r\n ? h(\r\n 'div',\r\n {\r\n class: 'y-input__prepend',\r\n onClick: this.onClickPrepend,\r\n },\r\n slot,\r\n )\r\n : undefined;\r\n },\r\n createAppend(): VNode | VNode[] | undefined {\r\n return getSlot(this, 'append');\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.createPrepend(),\r\n this.createDefault(),\r\n this.createAppend(),\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[] {\r\n return [this.createDisplay(), this.createHelperText()];\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 [\r\n this.createPrependOuter(),\r\n this.createStack(),\r\n this.createAppendOuter(),\r\n ];\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', e);\r\n },\r\n onMouseup(e: Event) {\r\n this.hasMouseDown = false;\r\n this.$emit('mouseup', e);\r\n },\r\n onFocus(event: FocusEvent) {\r\n this.isFocused = true;\r\n this.$emit('focus', event);\r\n },\r\n onBlur(event: FocusEvent) {\r\n this.isFocused = false;\r\n this.invokeValidators();\r\n this.$emit('blur', event);\r\n },\r\n onClickPrepend(event: MouseEvent) {\r\n this.$emit('click:prepend', 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 render(): VNode {\r\n return withDirectives(\r\n 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 resolveDirective('theme'),\r\n (this as any)?.theme?.dark ? 'dark' : 'light',\r\n ],\r\n ],\r\n );\r\n },\r\n});\r\n\r\nexport type YInput = InstanceType<typeof YInput>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YInput.mjs","names":["defineComponent","h","getSlot","propsFactory","pressThemePropsOptions","useLocalTheme","pressFocusPropsOptions","useFocus","NAME","uidCounter","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","autoSelect","Boolean","floated","placeholder","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","required","resetError","flag","isArray","some","result","getClasses","watch","neo","created","setup","focused","focusedClasses","render"],"sources":["../../../src/components/input/YInput.ts"],"sourcesContent":["\r\nimport {\r\n PropType,\r\n VNode,\r\n defineComponent,\r\n h,\r\n withDirectives, resolveDirective\r\n} from \"vue\";\r\n\r\nimport DiMixin from '../../mixins/di';\r\nimport { getSlot, propsFactory } from \"../../util/vue-component\";\r\nimport './YInput.scss';\r\nimport { pressThemePropsOptions, useLocalTheme } from \"../../composables/theme\";\r\nimport { pressFocusPropsOptions, useFocus } from \"../../composables/focus\";\r\n\r\nconst NAME = 'y-input';\r\nlet uidCounter = 0;\r\n\r\nexport const pressYInputPropsOptions = propsFactory({\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 floated: { type: Boolean as PropType<boolean>, default: () => false },\r\n placeholder: String as PropType<string>,\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}, 'YInput');\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: ['error', 'click', 'mousedown', 'mouseup', 'focus', 'blur', 'mousedown:display', 'mouseup:display', 'click:leading', 'update:modelValue', 'update:focused'],\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': !this.ceramic && (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\r\n ? h('div', { class: `${NAME}__prepend` }, slot)\r\n : undefined;\r\n },\r\n createAppend(): VNode | undefined {\r\n const slot = getSlot(this, 'append');\r\n return slot\r\n ? h('div', { class: `${NAME}__append` }, slot)\r\n : undefined;\r\n },\r\n createLabelSlot(): (VNode | string | VNode[])[] {\r\n const slot: VNode[] | undefined = getSlot(this, 'label');\r\n if (!slot) {\r\n if (this.label) {\r\n return [this.label];\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__label--floated': 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 [this.createLabel(), modelValue?.toString()];\r\n },\r\n createDefault(): VNode[] | VNode {\r\n const { modelValue, formLoading, attrId } = this;\r\n const slotContent = getSlot(this, 'default', { value: modelValue, formLoading, attrId });\r\n return slotContent ?? 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 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[] {\r\n return [this.createDisplay(), this.createHelperText()];\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 [\r\n this.createPrepend(),\r\n this.createStack(),\r\n this.createAppend(),\r\n ];\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 { focused: isFocused, focusedClasses, whenFocus, whenBlur } = 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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"}
|
|
@@ -12,8 +12,8 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
12
12
|
letter-spacing: normal;
|
|
13
13
|
text-align: left;
|
|
14
14
|
|
|
15
|
-
&__prepend
|
|
16
|
-
&__append
|
|
15
|
+
&__prepend,
|
|
16
|
+
&__append {
|
|
17
17
|
height: 100%;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -38,7 +38,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
38
38
|
&__plate {
|
|
39
39
|
position: absolute;
|
|
40
40
|
inset: 0;
|
|
41
|
-
border-
|
|
41
|
+
border-bottom: 1px solid transparent;
|
|
42
42
|
contain: paint;
|
|
43
43
|
border-radius: $input-border-radius;
|
|
44
44
|
outline: 0 solid rgba(0, 0, 0, 0);
|
|
@@ -108,7 +108,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
&
|
|
111
|
+
&__leading {
|
|
112
112
|
position: relative;
|
|
113
113
|
display: inline-flex;
|
|
114
114
|
margin-top: 10px;
|
|
@@ -122,7 +122,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
&
|
|
125
|
+
&__trailing {
|
|
126
126
|
position: relative;
|
|
127
127
|
display: inline-flex;
|
|
128
128
|
justify-content: center;
|
|
@@ -166,7 +166,7 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
166
166
|
border-top-color: transparent;
|
|
167
167
|
border-left-width: 0;
|
|
168
168
|
border-right-width: 0;
|
|
169
|
-
box-shadow: 1px 2px 8px -1px rgb(0 0 0 /
|
|
169
|
+
box-shadow: 1px 2px 8px -1px rgb(0 0 0 / 12%), -1px -1px 2px 1px rgba(0, 0, 0, 0.04),
|
|
170
170
|
inset 1px 1px 8px -4px rgb(0 0 0 / 11%);
|
|
171
171
|
outline: 0 solid rgba(0, 0, 0, 0);
|
|
172
172
|
}
|
|
@@ -185,10 +185,10 @@ $input-border-radius: variables.$border-radius-root !default;
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
.y-input__plate {
|
|
188
|
-
outline: 1px solid rgba(var(--y-
|
|
188
|
+
outline: 1px solid rgba(var(--y-theme-primary, #4f97dc), 0.1);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
.y-
|
|
191
|
+
.y-input__leading {
|
|
192
192
|
color: currentColor;
|
|
193
193
|
}
|
|
194
194
|
}
|