yuyeon 0.3.2-rc.3 → 0.3.2-rc.5
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/yuyeon.js +2214 -2205
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/components/field-input/YFieldInput.js +4 -1
- package/lib/components/field-input/YFieldInput.js.map +1 -1
- package/lib/components/input/YInput.js +2 -1
- package/lib/components/input/YInput.js.map +1 -1
- package/lib/components/slider/YSlider.js +1 -0
- package/lib/components/slider/YSlider.js.map +1 -1
- package/lib/components/slider/YSlider.scss +3 -0
- package/lib/components/slider/index.js +1 -1
- package/lib/components/slider/index.js.map +1 -1
- package/lib/components/slider/slider.js +2 -0
- package/lib/components/slider/slider.js.map +1 -0
- package/lib/components/table/YDataTableRow.js +1 -1
- package/lib/components/table/YDataTableRow.js.map +1 -1
- package/lib/components/tree-view/YTreeView.js +4 -0
- package/lib/components/tree-view/YTreeView.js.map +1 -1
- package/lib/util/color/index.js +1 -1
- package/lib/util/color/index.js.map +1 -1
- package/package.json +1 -1
- package/types/components/date-picker/YDatePicker.d.ts +11 -11
- package/types/components/date-picker/YDatePickerControl.d.ts +5 -5
- package/types/components/dialog/YDialog.d.ts +15 -15
- package/types/components/input/YInput.d.ts +1 -0
- package/types/components/select/YSelect.d.ts +39 -39
- package/types/components/slider/index.d.ts +1 -0
- package/types/components/slider/slider.d.ts +0 -0
- package/types/components/tree-view/YTreeView.d.ts +8 -0
|
@@ -177,7 +177,10 @@ export const YFieldInput = defineComponent({
|
|
|
177
177
|
"class": [`${NAME}__field`],
|
|
178
178
|
"data-id": defaultProps.attrId,
|
|
179
179
|
"ref": 'field'
|
|
180
|
-
}, [props.floating ? yInput$.value?.createLabel?.() : undefined, slots.default?.(
|
|
180
|
+
}, [props.floating ? yInput$.value?.createLabel?.() : undefined, slots.default?.({
|
|
181
|
+
...defaultProps,
|
|
182
|
+
focused: focused.value
|
|
183
|
+
}), _createVNode("input", {
|
|
181
184
|
"ref": input$,
|
|
182
185
|
"value": displayValue.value,
|
|
183
186
|
"name": props.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YFieldInput.js","names":["computed","getCurrentInstance","nextTick","ref","toRef","watch","useRender","useFocus","chooseProps","defineComponent","propsFactory","YIconClear","YInput","pressYInputPropsOptions","NAME","pressYFieldInputPropsOptions","enableClear","Boolean","inputAlign","String","inlineLabel","displayText","Function","whenInputValid","Number","tabindex","type","default","variation","YFieldInput","name","props","emits","slots","Object","setup","_ref","attrs","expose","emit","yInput$","input$","focused","whenFocus","whenBlur","inValue","displayValue","inputType","classes","onClick","event","onFocus","value","onBlur","changeDisplay","onInput","target","onChange","onKeydown","onKeyup","onClickClear","clear","onKeydownClear","code","focus","select","vm","undefined","text","call","modelValue","neo","immediate","extended","validate","invokeValidators","resetError","onUpdateModel","_createVNode","_mergeProps","$event","leading","args","leadingChildren","slot","push","defaultProps","attrId","floating","createLabel","readonly","loading","placeholder","disabled","autocomplete","maxlength","min","max","style","textAlign","size","trailing","_Fragment","label","prepend","append","slotProps"],"sources":["../../../src/components/field-input/YFieldInput.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n computed,\n getCurrentInstance,\n nextTick,\n ref,\n toRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useFocus } from '@/composables/focus';\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\n\nimport { YIconClear } from '../icons/YIconClear';\nimport {\n YInput,\n YInputDefaultSlotProps,\n pressYInputPropsOptions,\n} 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 inlineLabel: Boolean as PropType<boolean>,\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 'keydown:display',\n 'click:clear',\n ],\n slots: Object as SlotsType<{\n prepend: any;\n append: any;\n label: any;\n default: YInputDefaultSlotProps;\n leading: { error: boolean };\n trailing: any;\n 'leading-out': any;\n 'trailing-out': any;\n 'helper-text': { error: boolean; errorResult: string | undefined };\n }>,\n setup(props, { attrs, expose, emit, slots }) {\n const yInput$ = ref<YInput>();\n const input$ = 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 [`${NAME}--inline-label`]: !!props.inlineLabel,\n };\n });\n\n function onClick(event: MouseEvent) {\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 emit('blur', event);\n changeDisplay();\n }\n\n function onInput(event: Event) {\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 }\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 emit('click:clear', event);\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 input$.value?.focus();\n }\n\n function select() {\n input$.value?.select();\n }\n\n function clear() {\n inValue.value = '';\n displayValue.value = '';\n emit('update:modelValue', inValue.value);\n emit('change', 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(\n inValue,\n (neo: string) => {\n if (!focused.value) {\n changeDisplay();\n } else {\n displayValue.value = neo;\n }\n },\n { immediate: true },\n );\n\n const extended = {\n focus,\n select,\n clear,\n };\n\n expose({\n ...extended,\n input$,\n validate: () => yInput$.value?.invokeValidators(),\n resetError: () => yInput$.value?.resetError(),\n });\n\n function onUpdateModel(value: any) {\n emit('update:modelValue', value);\n }\n\n useRender(() => (\n <YInput\n class={classes.value}\n ref={yInput$}\n {...chooseProps(props, YInput.props)}\n modelValue={inValue.value}\n focused={focused.value}\n extended={extended}\n onUpdate:modelValue={onUpdateModel}\n onClick={onClick}\n onMousedown:display={($event) => emit('mousedown:display', $event)}\n onKeydown:display={($event) => emit('keydown: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: YInputDefaultSlotProps) => (\n <div\n class={[`${NAME}__field`]}\n data-id={defaultProps.attrId}\n ref={'field'}\n >\n {props.floating ? yInput$.value?.createLabel?.() : undefined}\n {slots.default?.(defaultProps)}\n {\n <input\n ref={input$}\n value={displayValue.value}\n name={props.name}\n id={defaultProps.attrId}\n type={inputType.value}\n readonly={\n props.readonly || props.loading || defaultProps.loading\n }\n placeholder={props.placeholder}\n disabled={props.disabled}\n tabindex={props.tabindex || '0'}\n autocomplete={attrs.autocomplete as string}\n maxlength={attrs.maxlength as number | string}\n min={attrs.min as number | string}\n max={attrs.max as number | string}\n style={[attrs?.style, { textAlign: props.inputAlign } as any]}\n size={(attrs.size ?? 1) as number}\n onInput={onInput}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n onKeydown={onKeydown}\n onKeyup={onKeyup}\n />\n }\n </div>\n ),\n trailing:\n slots.trailing || (props.enableClear && inValue.value)\n ? () => (\n <>\n {props.enableClear && inValue.value && (\n <div\n class={[\n 'y-input__trailing',\n 'y-input__trailing--clear',\n ]}\n >\n <button\n class={[`${NAME}__clear`]}\n disabled={props.disabled}\n onClick={onClickClear}\n onKeydown={onKeydownClear}\n tabindex={2}\n >\n <YIconClear></YIconClear>\n </button>\n </div>\n )}\n {slots.trailing && (\n <div class={['y-input__trailing']}>\n {slots.trailing()}\n </div>\n )}\n </>\n )\n : undefined,\n label: slots.label ? () => slots.label?.() : undefined,\n prepend: slots.prepend ? () => slots.prepend?.() : undefined,\n append: slots.append ? () => slots.append?.() : undefined,\n 'leading-out': slots['leading-out']\n ? () => slots['leading-out']?.()\n : undefined,\n 'trailing-out': slots['trailing-out']\n ? () => slots['trailing-out']?.()\n : undefined,\n 'helper-text': slots['helper-text']\n ? (slotProps: any) => slots['helper-text']?.(slotProps)\n : undefined,\n }}\n </YInput>\n ));\n\n return {\n focused,\n inValue,\n };\n },\n});\n\nexport type YFieldInput = InstanceType<typeof YFieldInput>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YFieldInput.js","names":["computed","getCurrentInstance","nextTick","ref","toRef","watch","useRender","useFocus","chooseProps","defineComponent","propsFactory","YIconClear","YInput","pressYInputPropsOptions","NAME","pressYFieldInputPropsOptions","enableClear","Boolean","inputAlign","String","inlineLabel","displayText","Function","whenInputValid","Number","tabindex","type","default","variation","YFieldInput","name","props","emits","slots","Object","setup","_ref","attrs","expose","emit","yInput$","input$","focused","whenFocus","whenBlur","inValue","displayValue","inputType","classes","onClick","event","onFocus","value","onBlur","changeDisplay","onInput","target","onChange","onKeydown","onKeyup","onClickClear","clear","onKeydownClear","code","focus","select","vm","undefined","text","call","modelValue","neo","immediate","extended","validate","invokeValidators","resetError","onUpdateModel","_createVNode","_mergeProps","$event","leading","args","leadingChildren","slot","push","defaultProps","attrId","floating","createLabel","readonly","loading","placeholder","disabled","autocomplete","maxlength","min","max","style","textAlign","size","trailing","_Fragment","label","prepend","append","slotProps"],"sources":["../../../src/components/field-input/YFieldInput.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n computed,\n getCurrentInstance,\n nextTick,\n ref,\n toRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useFocus } from '@/composables/focus';\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\n\nimport { YIconClear } from '../icons/YIconClear';\nimport {\n YInput,\n YInputDefaultSlotProps,\n pressYInputPropsOptions,\n} 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 inlineLabel: Boolean as PropType<boolean>,\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 'keydown:display',\n 'click:clear',\n ],\n slots: Object as SlotsType<{\n prepend: any;\n append: any;\n label: any;\n default: YInputDefaultSlotProps & { focused: boolean };\n leading: { error: boolean };\n trailing: any;\n 'leading-out': any;\n 'trailing-out': any;\n 'helper-text': { error: boolean; errorResult: string | undefined };\n }>,\n setup(props, { attrs, expose, emit, slots }) {\n const yInput$ = ref<YInput>();\n const input$ = 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 [`${NAME}--inline-label`]: !!props.inlineLabel,\n };\n });\n\n function onClick(event: MouseEvent) {\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 emit('blur', event);\n changeDisplay();\n }\n\n function onInput(event: Event) {\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 }\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 emit('click:clear', event);\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 input$.value?.focus();\n }\n\n function select() {\n input$.value?.select();\n }\n\n function clear() {\n inValue.value = '';\n displayValue.value = '';\n emit('update:modelValue', inValue.value);\n emit('change', 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(\n inValue,\n (neo: string) => {\n if (!focused.value) {\n changeDisplay();\n } else {\n displayValue.value = neo;\n }\n },\n { immediate: true },\n );\n\n const extended = {\n focus,\n select,\n clear,\n };\n\n expose({\n ...extended,\n input$,\n validate: () => yInput$.value?.invokeValidators(),\n resetError: () => yInput$.value?.resetError(),\n });\n\n function onUpdateModel(value: any) {\n emit('update:modelValue', value);\n }\n\n useRender(() => (\n <YInput\n class={classes.value}\n ref={yInput$}\n {...chooseProps(props, YInput.props)}\n modelValue={inValue.value}\n focused={focused.value}\n extended={extended}\n onUpdate:modelValue={onUpdateModel}\n onClick={onClick}\n onMousedown:display={($event) => emit('mousedown:display', $event)}\n onKeydown:display={($event) => emit('keydown: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: YInputDefaultSlotProps) => (\n <div\n class={[`${NAME}__field`]}\n data-id={defaultProps.attrId}\n ref={'field'}\n >\n {props.floating ? yInput$.value?.createLabel?.() : undefined}\n {slots.default?.({ ...defaultProps, focused: focused.value })}\n {\n <input\n ref={input$}\n value={displayValue.value}\n name={props.name}\n id={defaultProps.attrId}\n type={inputType.value}\n readonly={\n props.readonly || props.loading || defaultProps.loading\n }\n placeholder={props.placeholder}\n disabled={props.disabled}\n tabindex={props.tabindex || '0'}\n autocomplete={attrs.autocomplete as string}\n maxlength={attrs.maxlength as number | string}\n min={attrs.min as number | string}\n max={attrs.max as number | string}\n style={[attrs?.style, { textAlign: props.inputAlign } as any]}\n size={(attrs.size ?? 1) as number}\n onInput={onInput}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n onKeydown={onKeydown}\n onKeyup={onKeyup}\n />\n }\n </div>\n ),\n trailing:\n slots.trailing || (props.enableClear && inValue.value)\n ? () => (\n <>\n {props.enableClear && inValue.value && (\n <div\n class={[\n 'y-input__trailing',\n 'y-input__trailing--clear',\n ]}\n >\n <button\n class={[`${NAME}__clear`]}\n disabled={props.disabled}\n onClick={onClickClear}\n onKeydown={onKeydownClear}\n tabindex={2}\n >\n <YIconClear></YIconClear>\n </button>\n </div>\n )}\n {slots.trailing && (\n <div class={['y-input__trailing']}>\n {slots.trailing()}\n </div>\n )}\n </>\n )\n : undefined,\n label: slots.label ? () => slots.label?.() : undefined,\n prepend: slots.prepend ? () => slots.prepend?.() : undefined,\n append: slots.append ? () => slots.append?.() : undefined,\n 'leading-out': slots['leading-out']\n ? () => slots['leading-out']?.()\n : undefined,\n 'trailing-out': slots['trailing-out']\n ? () => slots['trailing-out']?.()\n : undefined,\n 'helper-text': slots['helper-text']\n ? (slotProps: any) => slots['helper-text']?.(slotProps)\n : undefined,\n }}\n </YInput>\n ));\n\n return {\n focused,\n inValue,\n };\n },\n});\n\nexport type YFieldInput = InstanceType<typeof YFieldInput>;\n"],"mappings":";AAAA,SAGEA,QAAQ,EACRC,kBAAkB,EAClBC,QAAQ,EACRC,GAAG,EACHC,KAAK,EACLC,KAAK,QACA,KAAK;AAAC,SAEJC,SAAS;AAAA,SACTC,QAAQ;AAAA,SACRC,WAAW,EAAEC,eAAe,EAAEC,YAAY;AAAA,SAE1CC,UAAU;AAAA,SAEjBC,MAAM,EAENC,uBAAuB;AAGzB;AAEA,MAAMC,IAAI,GAAG,eAAe;AAE5B,OAAO,MAAMC,4BAA4B,GAAGL,YAAY,CACtD;EACEM,WAAW,EAAEC,OAA4B;EACzCC,UAAU,EAAEC,MAA0B;EACtCC,WAAW,EAAEH,OAA4B;EACzCI,WAAW,EAAE,CAACF,MAAM,EAAEG,QAAQ,CAE7B;EACDC,cAAc,EAAE,CAACN,OAAO,EAAEO,MAAM,CAA+B;EAC/DC,QAAQ,EAAE;IACRC,IAAI,EAAEP,MAA0B;IAChCQ,OAAO,EAAE;EACX,CAAC;EACDD,IAAI,EAAE;IACJA,IAAI,EAAEP,MAA0B;IAChCQ,OAAO,EAAE;EACX,CAAC;EACD,GAAGd,uBAAuB,CAAC;IACzBe,SAAS,EAAE;EACb,CAAC;AACH,CAAC,EACD,aACF,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGpB,eAAe,CAAC;EACzCqB,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE;IACL,GAAGhB,4BAA4B,CAAC;EAClC,CAAC;EACDiB,KAAK,EAAE,CACL,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,CACd;EACDC,KAAK,EAAEC,MAUL;EACFC,KAAKA,CAACJ,KAAK,EAAAK,IAAA,EAAkC;IAAA,IAAhC;MAAEC,KAAK;MAAEC,MAAM;MAAEC,IAAI;MAAEN;IAAM,CAAC,GAAAG,IAAA;IACzC,MAAMI,OAAO,GAAGrC,GAAG,CAAS,CAAC;IAC7B,MAAMsC,MAAM,GAAGtC,GAAG,CAAmB,CAAC;IACtC,MAAM;MAAEuC,OAAO;MAAEC,SAAS;MAAEC;IAAS,CAAC,GAAGrC,QAAQ,CAACwB,KAAK,EAAE,eAAe,CAAC;IACzE,MAAMc,OAAO,GAAG1C,GAAG,CAAM,EAAE,CAAC;IAC5B,MAAM2C,YAAY,GAAG3C,GAAG,CAAC,EAAE,CAAC;IAC5B,MAAM4C,SAAS,GAAG3C,KAAK,CAAC2B,KAAK,EAAE,MAAM,CAAC;IAEtC,MAAMiB,OAAO,GAAGhD,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,CAACc,IAAI,GAAG,IAAI;QACZ,CAAE,GAAEA,IAAK,gBAAe,GAAG,CAAC,CAACiB,KAAK,CAACX;MACrC,CAAC;IACH,CAAC,CAAC;IAEF,SAAS6B,OAAOA,CAACC,KAAiB,EAAE;MAClCX,IAAI,CAAC,OAAO,EAAEW,KAAK,CAAC;IACtB;IAEA,SAASC,OAAOA,CAACD,KAAiB,EAAE;MAClCP,SAAS,CAAC,CAAC;MACXG,YAAY,CAACM,KAAK,GAAGP,OAAO,CAACO,KAAe;MAC5Cb,IAAI,CAAC,OAAO,EAAEW,KAAK,CAAC;IACtB;IAEA,SAASG,MAAMA,CAACH,KAAiB,EAAE;MACjCN,QAAQ,CAAC,CAAC;MACVL,IAAI,CAAC,MAAM,EAAEW,KAAK,CAAC;MACnBI,aAAa,CAAC,CAAC;IACjB;IAEA,SAASC,OAAOA,CAACL,KAAY,EAAE;MAC7BX,IAAI,CAAC,OAAO,EAAEW,KAAK,CAAC;MACpB,MAAMM,MAAM,GAAGN,KAAK,CAACM,MAAiC;MACtDX,OAAO,CAACO,KAAK,GAAGI,MAAM,EAAEJ,KAAK;MAC7BN,YAAY,CAACM,KAAK,GAAGI,MAAM,EAAEJ,KAAe;IAC9C;IAEA,SAASK,QAAQA,CAACP,KAAY,EAAE;MAC9BX,IAAI,CAAC,QAAQ,EAAEM,OAAO,CAACO,KAAK,CAAC;IAC/B;IAEA,SAASM,SAASA,CAACR,KAAoB,EAAE;MACvCX,IAAI,CAAC,SAAS,EAAEW,KAAK,CAAC;IACxB;IAEA,SAASS,OAAOA,CAACT,KAAoB,EAAE;MACrCX,IAAI,CAAC,OAAO,EAAEW,KAAK,CAAC;IACtB;IAEA,SAASU,YAAYA,CAACV,KAAiB,EAAE;MACvCX,IAAI,CAAC,aAAa,EAAEW,KAAK,CAAC;MAC1BW,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,SAASG,KAAKA,CAAA,EAAG;MACfvB,MAAM,CAACW,KAAK,EAAEY,KAAK,CAAC,CAAC;IACvB;IAEA,SAASC,MAAMA,CAAA,EAAG;MAChBxB,MAAM,CAACW,KAAK,EAAEa,MAAM,CAAC,CAAC;IACxB;IAEA,SAASJ,KAAKA,CAAA,EAAG;MACfhB,OAAO,CAACO,KAAK,GAAG,EAAE;MAClBN,YAAY,CAACM,KAAK,GAAG,EAAE;MACvBb,IAAI,CAAC,mBAAmB,EAAEM,OAAO,CAACO,KAAK,CAAC;MACxCb,IAAI,CAAC,QAAQ,EAAEM,OAAO,CAACO,KAAK,CAAC;IAC/B;IAEA,SAASE,aAAaA,CAAA,EAAG;MACvB,MAAMY,EAAE,GAAGjE,kBAAkB,CAAC,CAAC;MAC/B,MAAM;QAAEoB;MAAY,CAAC,GAAGU,KAAK;MAC7B,IAAIV,WAAW,KAAK8C,SAAS,EAAE;QAC7B,IAAIC,IAAI,GAAGvB,OAAO,CAACO,KAAK;QACxB,IAAI,OAAO/B,WAAW,KAAK,QAAQ,EAAE;UACnC+C,IAAI,GAAG/C,WAAW;QACpB;QACA,IAAIA,WAAW,IAAI,OAAOA,WAAW,KAAK,UAAU,EAAE;UACpD+C,IAAI,GAAI/C,WAAW,CAASgD,IAAI,CAACH,EAAE,EAAEE,IAAI,CAAC;QAC5C;QACAlE,QAAQ,CAAC,MAAM;UACb4C,YAAY,CAACM,KAAK,GAAGgB,IAAc;QACrC,CAAC,CAAC;MACJ;IACF;IAEA/D,KAAK,CACH,MAAM0B,KAAK,CAACuC,UAAU,EACrBC,GAAQ,IAAK;MACZ1B,OAAO,CAACO,KAAK,GAAGmB,GAAG;MACnBzB,YAAY,CAACM,KAAK,GAAGmB,GAAG;IAC1B,CAAC,EACD;MACEC,SAAS,EAAE;IACb,CACF,CAAC;IAEDnE,KAAK,CACHwC,OAAO,EACN0B,GAAW,IAAK;MACf,IAAI,CAAC7B,OAAO,CAACU,KAAK,EAAE;QAClBE,aAAa,CAAC,CAAC;MACjB,CAAC,MAAM;QACLR,YAAY,CAACM,KAAK,GAAGmB,GAAG;MAC1B;IACF,CAAC,EACD;MAAEC,SAAS,EAAE;IAAK,CACpB,CAAC;IAED,MAAMC,QAAQ,GAAG;MACfT,KAAK;MACLC,MAAM;MACNJ;IACF,CAAC;IAEDvB,MAAM,CAAC;MACL,GAAGmC,QAAQ;MACXhC,MAAM;MACNiC,QAAQ,EAAEA,CAAA,KAAMlC,OAAO,CAACY,KAAK,EAAEuB,gBAAgB,CAAC,CAAC;MACjDC,UAAU,EAAEA,CAAA,KAAMpC,OAAO,CAACY,KAAK,EAAEwB,UAAU,CAAC;IAC9C,CAAC,CAAC;IAEF,SAASC,aAAaA,CAACzB,KAAU,EAAE;MACjCb,IAAI,CAAC,mBAAmB,EAAEa,KAAK,CAAC;IAClC;IAEA9C,SAAS,CAAC,MAAAwE,YAAA,CAAAlE,MAAA,EAAAmE,WAAA;MAAA,SAEC/B,OAAO,CAACI,KAAK;MAAA,OACfZ;IAAO,GACRhC,WAAW,CAACuB,KAAK,EAAEnB,MAAM,CAACmB,KAAK,CAAC;MAAA,cACxBc,OAAO,CAACO,KAAK;MAAA,WAChBV,OAAO,CAACU,KAAK;MAAA,YACZqB,QAAQ;MAAA,uBACGI,aAAa;MAAA,WACzB5B,OAAO;MAAA,uBACM+B,MAAM,IAAKzC,IAAI,CAAC,mBAAmB,EAAEyC,MAAM,CAAC;MAAA,qBAC9CA,MAAM,IAAKzC,IAAI,CAAC,iBAAiB,EAAEyC,MAAM;IAAC;MAG5DC,OAAO,EAAEhD,KAAK,CAACgD,OAAO,GACjBC,IAAS,IAAK;QACb,MAAMC,eAAe,GAAG,EAAE;QAC1B,MAAMC,IAAI,GAAGnD,KAAK,CAACgD,OAAO,GAAGC,IAAI,CAAC;QAClC,IAAIE,IAAI,EAAE;UACRD,eAAe,CAACE,IAAI,CAACD,IAAI,CAAC;QAC5B,CAAC,MAAM;UACL,OAAOjB,SAAS;QAClB;QACA,OAAOgB,eAAe;MACxB,CAAC,GACDhB,SAAS;MACbxC,OAAO,EAAG2D,YAAoC,IAAAR,YAAA;QAAA,SAEnC,CAAE,GAAEhE,IAAK,SAAQ,CAAC;QAAA,WAChBwE,YAAY,CAACC,MAAM;QAAA,OACvB;MAAO,IAEXxD,KAAK,CAACyD,QAAQ,GAAGhD,OAAO,CAACY,KAAK,EAAEqC,WAAW,GAAG,CAAC,GAAGtB,SAAS,EAC3DlC,KAAK,CAACN,OAAO,GAAG;QAAE,GAAG2D,YAAY;QAAE5C,OAAO,EAAEA,OAAO,CAACU;MAAM,CAAC,CAAC,EAAA0B,YAAA;QAAA,OAGpDrC,MAAM;QAAA,SACJK,YAAY,CAACM,KAAK;QAAA,QACnBrB,KAAK,CAACD,IAAI;QAAA,MACZwD,YAAY,CAACC,MAAM;QAAA,QACjBxC,SAAS,CAACK,KAAK;QAAA,YAEnBrB,KAAK,CAAC2D,QAAQ,IAAI3D,KAAK,CAAC4D,OAAO,IAAIL,YAAY,CAACK,OAAO;QAAA,eAE5C5D,KAAK,CAAC6D,WAAW;QAAA,YACpB7D,KAAK,CAAC8D,QAAQ;QAAA,YACd9D,KAAK,CAACN,QAAQ,IAAI,GAAG;QAAA,gBACjBY,KAAK,CAACyD,YAAY;QAAA,aACrBzD,KAAK,CAAC0D,SAAS;QAAA,OACrB1D,KAAK,CAAC2D,GAAG;QAAA,OACT3D,KAAK,CAAC4D,GAAG;QAAA,SACP,CAAC5D,KAAK,EAAE6D,KAAK,EAAE;UAAEC,SAAS,EAAEpE,KAAK,CAACb;QAAW,CAAC,CAAQ;QAAA,QACtDmB,KAAK,CAAC+D,IAAI,IAAI,CAAC;QAAA,WACb7C,OAAO;QAAA,WACPJ,OAAO;QAAA,UACRE,MAAM;QAAA,YACJI,QAAQ;QAAA,aACPC,SAAS;QAAA,WACXC;MAAO,UAIvB;MACD0C,QAAQ,EACNpE,KAAK,CAACoE,QAAQ,IAAKtE,KAAK,CAACf,WAAW,IAAI6B,OAAO,CAACO,KAAM,GAClD,MAAA0B,YAAA,CAAAwB,SAAA,SAEKvE,KAAK,CAACf,WAAW,IAAI6B,OAAO,CAACO,KAAK,IAAA0B,YAAA;QAAA,SAExB,CACL,mBAAmB,EACnB,0BAA0B;MAC3B,IAAAA,YAAA;QAAA,SAGQ,CAAE,GAAEhE,IAAK,SAAQ,CAAC;QAAA,YACfiB,KAAK,CAAC8D,QAAQ;QAAA,WACfjC,YAAY;QAAA,aACVE,cAAc;QAAA,YACf;MAAC,IAAAgB,YAAA,CAAAnE,UAAA,iBAKhB,EACAsB,KAAK,CAACoE,QAAQ,IAAAvB,YAAA;QAAA,SACD,CAAC,mBAAmB;MAAC,IAC9B7C,KAAK,CAACoE,QAAQ,CAAC,CAAC,EAEpB,EAEJ,GACDlC,SAAS;MACfoC,KAAK,EAAEtE,KAAK,CAACsE,KAAK,GAAG,MAAMtE,KAAK,CAACsE,KAAK,GAAG,CAAC,GAAGpC,SAAS;MACtDqC,OAAO,EAAEvE,KAAK,CAACuE,OAAO,GAAG,MAAMvE,KAAK,CAACuE,OAAO,GAAG,CAAC,GAAGrC,SAAS;MAC5DsC,MAAM,EAAExE,KAAK,CAACwE,MAAM,GAAG,MAAMxE,KAAK,CAACwE,MAAM,GAAG,CAAC,GAAGtC,SAAS;MACzD,aAAa,EAAElC,KAAK,CAAC,aAAa,CAAC,GAC/B,MAAMA,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAC9BkC,SAAS;MACb,cAAc,EAAElC,KAAK,CAAC,cAAc,CAAC,GACjC,MAAMA,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAC/BkC,SAAS;MACb,aAAa,EAAElC,KAAK,CAAC,aAAa,CAAC,GAC9ByE,SAAc,IAAKzE,KAAK,CAAC,aAAa,CAAC,GAAGyE,SAAS,CAAC,GACrDvC;IAAS,EAGlB,CAAC;IAEF,OAAO;MACLzB,OAAO;MACPG;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
|
|
@@ -226,7 +226,8 @@ export const YInput = defineComponent({
|
|
|
226
226
|
})]), slots.default ? slots.default({
|
|
227
227
|
value: props.modelValue,
|
|
228
228
|
loading: isLoading.value,
|
|
229
|
-
attrId: `y-input--${UID}
|
|
229
|
+
attrId: `y-input--${UID}`,
|
|
230
|
+
focused: isFocused.value
|
|
230
231
|
}) : _createVNode("div", {
|
|
231
232
|
"class": `${NAME}__value`,
|
|
232
233
|
"data-id": `y-input--${UID}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YInput.js","names":["computed","ref","shallowRef","watch","useRender","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","pressValidationPropsOptions","useValidation","defineComponent","getUid","propsFactory","toStyleSizeValue","NAME","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","Array","Object","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","extended","YInput","props","emits","slots","setup","_ref","attrs","expose","emit","UID","themeClasses","focused","isFocused","focusedClasses","whenFocus","whenBlur","isDisabled","isReadonly","isLoading","invokeValidators","resetError","isError","isSuccess","errors","errorResult","stack$","display$","inValue","lazyValue","hasMouseDown","variations","split","map","value","trim","isFloatedLabel","classes","includes","displayStyles","neo","readonly","onClick","event","onMousedown","e","onMouseup","onKeydown","onFocus","onBlur","onClickLeading","onChange","createLabel","show","undefined","_createVNode","_Fragment","_createTextVNode","validate","prepend","leading","error","attrId","toString","trailing","helperText","append"],"sources":["../../../src/components/input/YInput.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n type SlotsType,\r\n type VNode,\r\n computed,\r\n ref,\r\n shallowRef,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressFocusPropsOptions, useFocus } from '@/composables/focus';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport {\r\n pressValidationPropsOptions,\r\n useValidation,\r\n} from '@/composables/validation';\r\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport './YInput.scss';\r\n\r\nconst NAME = 'y-input';\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, Array, Object] as PropType<any> },\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 ...pressValidationPropsOptions(),\r\n ...pressFocusPropsOptions(),\r\n extended: Object as PropType<any>,\r\n },\r\n 'YInput',\r\n);\r\n\r\nexport interface YInputDefaultSlotProps {\r\n value: any;\r\n loading: boolean;\r\n attrId: string;\r\n}\r\n\r\nexport const YInput = defineComponent({\r\n name: 'YInput',\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 'keydown:display',\r\n 'click:leading',\r\n 'update:modelValue',\r\n 'update:focused',\r\n ],\r\n slots: Object as SlotsType<{\r\n prepend: any;\r\n append: any;\r\n label: any;\r\n default: YInputDefaultSlotProps;\r\n leading: { error: boolean };\r\n trailing: any;\r\n 'leading-out': any;\r\n 'trailing-out': any;\r\n 'helper-text': {\r\n error: boolean;\r\n errorResult: string | undefined;\r\n errors: any[];\r\n };\r\n }>,\r\n setup(props, { slots, attrs, expose, emit }) {\r\n const UID = getUid();\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\r\n const {\r\n isDisabled,\r\n isReadonly,\r\n isLoading,\r\n invokeValidators,\r\n resetError,\r\n isError,\r\n isSuccess,\r\n errors,\r\n errorResult,\r\n } = useValidation(props, NAME, UID);\r\n\r\n const stack$ = ref();\r\n const display$ = ref();\r\n\r\n const inValue = ref();\r\n const lazyValue = ref();\r\n const hasMouseDown = shallowRef(false);\r\n\r\n const variations = computed(() => {\r\n if (props.variation) {\r\n return props.variation.split(',').map((value) => {\r\n return value.trim();\r\n });\r\n }\r\n return [];\r\n });\r\n\r\n const isFloatedLabel = computed(() => {\r\n return (\r\n props.floated ||\r\n !!props.placeholder ||\r\n (!props.placeholder && isFocused.value) ||\r\n !!inValue.value\r\n );\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n // Style\r\n [themeClasses.value as string]: true,\r\n 'y-input--ceramic': !!props.ceramic,\r\n 'y-input--outlined':\r\n !props.ceramic &&\r\n (variations.value.includes('outlined') || !!props.outlined),\r\n 'y-input--filled':\r\n variations.value.includes('filled') || !!props.filled,\r\n // Value\r\n 'y-input--loading': isLoading.value,\r\n 'y-input--has-value': !!inValue.value,\r\n 'y-input--focused': isFocused.value,\r\n 'y-input--readonly': isReadonly.value,\r\n 'y-input--disabled': isDisabled.value,\r\n 'y-input--error': isError.value,\r\n 'y-input--success': isSuccess.value,\r\n };\r\n });\r\n\r\n const displayStyles = computed<Record<string, any>>(() => {\r\n return {\r\n width: toStyleSizeValue(props.width),\r\n height: toStyleSizeValue(props.height),\r\n };\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n inValue.value = neo;\r\n },\r\n );\r\n\r\n watch(\r\n () => props.readonly,\r\n (neo) => {\r\n if (!neo) {\r\n inValue.value = props.modelValue;\r\n }\r\n },\r\n );\r\n\r\n watch(inValue, (neo) => {\r\n if (!isReadonly.value && !isLoading.value) {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(isError, (neo) => {\r\n emit('error', neo, errors.value);\r\n });\r\n\r\n watch(\r\n () => props.focused,\r\n (neo) => {\r\n if (!neo) {\r\n invokeValidators();\r\n }\r\n },\r\n );\r\n\r\n function onClick(event: MouseEvent) {\r\n emit('click', event);\r\n }\r\n\r\n function onMousedown(e: Event) {\r\n hasMouseDown.value = true;\r\n emit('mousedown:display', e);\r\n }\r\n\r\n function onMouseup(e: Event) {\r\n hasMouseDown.value = false;\r\n emit('mouseup:display', e);\r\n }\r\n\r\n function onKeydown(e: Event) {\r\n emit('keydown:display', e);\r\n }\r\n\r\n function onFocus(event: FocusEvent) {\r\n whenFocus();\r\n emit('focus', event);\r\n }\r\n\r\n function onBlur(event: FocusEvent) {\r\n whenBlur();\r\n invokeValidators();\r\n emit('blur', event);\r\n }\r\n\r\n function onClickLeading(event: MouseEvent) {\r\n emit('click:leading', event);\r\n }\r\n\r\n function onChange(event?: Event) {\r\n invokeValidators();\r\n }\r\n\r\n function createLabel(): VNode | undefined {\r\n const show = !!props.label || !!slots.label;\r\n if (!show) {\r\n return undefined;\r\n }\r\n return (\r\n <label\r\n class={[\r\n {\r\n [`${NAME}__label`]: true,\r\n 'y-input__floating-label': props.floating,\r\n 'y-input__floating-label--floated':\r\n props.floating && isFloatedLabel.value,\r\n },\r\n ]}\r\n for={`y-input--${UID}`}\r\n >\r\n {slots.label ? (\r\n slots.label()\r\n ) : props.label ? (\r\n <>\r\n {props.label}\r\n {props.required && (\r\n <span class={'y-input__required-mark'}>*</span>\r\n )}\r\n </>\r\n ) : (\r\n props.placeholder && !inValue.value && props.placeholder\r\n )}\r\n </label>\r\n );\r\n }\r\n\r\n expose({\r\n ...(props.extended ?? {}),\r\n createLabel,\r\n invokeValidators,\r\n validate: invokeValidators,\r\n resetError,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[`${NAME}`, { ...classes.value }]}>\r\n {slots.prepend && (\r\n <div class={`${NAME}__prepend`}>{slots.prepend()}</div>\r\n )}\r\n <div ref={stack$} class={[`${NAME}__stack`]}>\r\n {!props.floating && createLabel()}\r\n {slots['leading-out'] && slots['leading-out']()}\r\n <div\r\n ref={display$}\r\n class={`${NAME}__display`}\r\n style={[{ ...displayStyles.value }]}\r\n data-base-parent={true}\r\n onClick={onClick}\r\n onMousedown={onMousedown}\r\n onMouseup={onMouseup}\r\n onKeydown={onKeydown}\r\n >\r\n <div class={`${NAME}__plate`}></div>\r\n {slots.leading && (\r\n <div class={'y-input__leading'} onClick={onClickLeading}>\r\n {slots.leading({ error: isError.value })}\r\n </div>\r\n )}\r\n {slots.default ? (\r\n slots.default({\r\n value: props.modelValue,\r\n loading: isLoading.value,\r\n attrId: `y-input--${UID}`,\r\n })\r\n ) : (\r\n <div\r\n class={`${NAME}__value`}\r\n data-id={`y-input--${UID}`}\r\n tabindex={0}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n >\r\n {props.floating && createLabel()}\r\n {props.modelValue?.toString()}\r\n </div>\r\n )}\r\n {slots.trailing?.()}\r\n </div>\r\n {slots['trailing-out'] && slots['trailing-out']()}\r\n <div class={`${NAME}__helper-text`}>\r\n {slots['helper-text'] ? (\r\n <span>\r\n {slots['helper-text']({\r\n error: isError.value,\r\n errors: errors.value,\r\n errorResult: errorResult.value,\r\n })}\r\n </span>\r\n ) : (\r\n props.helperText ?? errorResult.value\r\n )}\r\n </div>\r\n </div>\r\n {slots.append && (\r\n <div class={`${NAME}__append`}>{slots.append()}</div>\r\n )}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n ...(props.extended ?? {}),\r\n themeClasses,\r\n isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n createLabel,\r\n invokeValidators,\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.js","names":["computed","ref","shallowRef","watch","useRender","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","pressValidationPropsOptions","useValidation","defineComponent","getUid","propsFactory","toStyleSizeValue","NAME","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","Array","Object","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","extended","YInput","props","emits","slots","setup","_ref","attrs","expose","emit","UID","themeClasses","focused","isFocused","focusedClasses","whenFocus","whenBlur","isDisabled","isReadonly","isLoading","invokeValidators","resetError","isError","isSuccess","errors","errorResult","stack$","display$","inValue","lazyValue","hasMouseDown","variations","split","map","value","trim","isFloatedLabel","classes","includes","displayStyles","neo","readonly","onClick","event","onMousedown","e","onMouseup","onKeydown","onFocus","onBlur","onClickLeading","onChange","createLabel","show","undefined","_createVNode","_Fragment","_createTextVNode","validate","prepend","leading","error","attrId","toString","trailing","helperText","append"],"sources":["../../../src/components/input/YInput.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n type SlotsType,\r\n type VNode,\r\n computed,\r\n ref,\r\n shallowRef,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressFocusPropsOptions, useFocus } from '@/composables/focus';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport {\r\n pressValidationPropsOptions,\r\n useValidation,\r\n} from '@/composables/validation';\r\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport './YInput.scss';\r\n\r\nconst NAME = 'y-input';\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, Array, Object] as PropType<any> },\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 ...pressValidationPropsOptions(),\r\n ...pressFocusPropsOptions(),\r\n extended: Object as PropType<any>,\r\n },\r\n 'YInput',\r\n);\r\n\r\nexport interface YInputDefaultSlotProps {\r\n value: any;\r\n loading: boolean;\r\n attrId: string;\r\n focused: boolean;\r\n}\r\n\r\nexport const YInput = defineComponent({\r\n name: 'YInput',\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 'keydown:display',\r\n 'click:leading',\r\n 'update:modelValue',\r\n 'update:focused',\r\n ],\r\n slots: Object as SlotsType<{\r\n prepend: any;\r\n append: any;\r\n label: any;\r\n default: YInputDefaultSlotProps;\r\n leading: { error: boolean };\r\n trailing: any;\r\n 'leading-out': any;\r\n 'trailing-out': any;\r\n 'helper-text': {\r\n error: boolean;\r\n errorResult: string | undefined;\r\n errors: any[];\r\n };\r\n }>,\r\n setup(props, { slots, attrs, expose, emit }) {\r\n const UID = getUid();\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\r\n const {\r\n isDisabled,\r\n isReadonly,\r\n isLoading,\r\n invokeValidators,\r\n resetError,\r\n isError,\r\n isSuccess,\r\n errors,\r\n errorResult,\r\n } = useValidation(props, NAME, UID);\r\n\r\n const stack$ = ref();\r\n const display$ = ref();\r\n\r\n const inValue = ref();\r\n const lazyValue = ref();\r\n const hasMouseDown = shallowRef(false);\r\n\r\n const variations = computed(() => {\r\n if (props.variation) {\r\n return props.variation.split(',').map((value) => {\r\n return value.trim();\r\n });\r\n }\r\n return [];\r\n });\r\n\r\n const isFloatedLabel = computed(() => {\r\n return (\r\n props.floated ||\r\n !!props.placeholder ||\r\n (!props.placeholder && isFocused.value) ||\r\n !!inValue.value\r\n );\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n // Style\r\n [themeClasses.value as string]: true,\r\n 'y-input--ceramic': !!props.ceramic,\r\n 'y-input--outlined':\r\n !props.ceramic &&\r\n (variations.value.includes('outlined') || !!props.outlined),\r\n 'y-input--filled':\r\n variations.value.includes('filled') || !!props.filled,\r\n // Value\r\n 'y-input--loading': isLoading.value,\r\n 'y-input--has-value': !!inValue.value,\r\n 'y-input--focused': isFocused.value,\r\n 'y-input--readonly': isReadonly.value,\r\n 'y-input--disabled': isDisabled.value,\r\n 'y-input--error': isError.value,\r\n 'y-input--success': isSuccess.value,\r\n };\r\n });\r\n\r\n const displayStyles = computed<Record<string, any>>(() => {\r\n return {\r\n width: toStyleSizeValue(props.width),\r\n height: toStyleSizeValue(props.height),\r\n };\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n inValue.value = neo;\r\n },\r\n );\r\n\r\n watch(\r\n () => props.readonly,\r\n (neo) => {\r\n if (!neo) {\r\n inValue.value = props.modelValue;\r\n }\r\n },\r\n );\r\n\r\n watch(inValue, (neo) => {\r\n if (!isReadonly.value && !isLoading.value) {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(isError, (neo) => {\r\n emit('error', neo, errors.value);\r\n });\r\n\r\n watch(\r\n () => props.focused,\r\n (neo) => {\r\n if (!neo) {\r\n invokeValidators();\r\n }\r\n },\r\n );\r\n\r\n function onClick(event: MouseEvent) {\r\n emit('click', event);\r\n }\r\n\r\n function onMousedown(e: Event) {\r\n hasMouseDown.value = true;\r\n emit('mousedown:display', e);\r\n }\r\n\r\n function onMouseup(e: Event) {\r\n hasMouseDown.value = false;\r\n emit('mouseup:display', e);\r\n }\r\n\r\n function onKeydown(e: Event) {\r\n emit('keydown:display', e);\r\n }\r\n\r\n function onFocus(event: FocusEvent) {\r\n whenFocus();\r\n emit('focus', event);\r\n }\r\n\r\n function onBlur(event: FocusEvent) {\r\n whenBlur();\r\n invokeValidators();\r\n emit('blur', event);\r\n }\r\n\r\n function onClickLeading(event: MouseEvent) {\r\n emit('click:leading', event);\r\n }\r\n\r\n function onChange(event?: Event) {\r\n invokeValidators();\r\n }\r\n\r\n function createLabel(): VNode | undefined {\r\n const show = !!props.label || !!slots.label;\r\n if (!show) {\r\n return undefined;\r\n }\r\n return (\r\n <label\r\n class={[\r\n {\r\n [`${NAME}__label`]: true,\r\n 'y-input__floating-label': props.floating,\r\n 'y-input__floating-label--floated':\r\n props.floating && isFloatedLabel.value,\r\n },\r\n ]}\r\n for={`y-input--${UID}`}\r\n >\r\n {slots.label ? (\r\n slots.label()\r\n ) : props.label ? (\r\n <>\r\n {props.label}\r\n {props.required && (\r\n <span class={'y-input__required-mark'}>*</span>\r\n )}\r\n </>\r\n ) : (\r\n props.placeholder && !inValue.value && props.placeholder\r\n )}\r\n </label>\r\n );\r\n }\r\n\r\n expose({\r\n ...(props.extended ?? {}),\r\n createLabel,\r\n invokeValidators,\r\n validate: invokeValidators,\r\n resetError,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[`${NAME}`, { ...classes.value }]}>\r\n {slots.prepend && (\r\n <div class={`${NAME}__prepend`}>{slots.prepend()}</div>\r\n )}\r\n <div ref={stack$} class={[`${NAME}__stack`]}>\r\n {!props.floating && createLabel()}\r\n {slots['leading-out'] && slots['leading-out']()}\r\n <div\r\n ref={display$}\r\n class={`${NAME}__display`}\r\n style={[{ ...displayStyles.value }]}\r\n data-base-parent={true}\r\n onClick={onClick}\r\n onMousedown={onMousedown}\r\n onMouseup={onMouseup}\r\n onKeydown={onKeydown}\r\n >\r\n <div class={`${NAME}__plate`}></div>\r\n {slots.leading && (\r\n <div class={'y-input__leading'} onClick={onClickLeading}>\r\n {slots.leading({ error: isError.value })}\r\n </div>\r\n )}\r\n {slots.default ? (\r\n slots.default({\r\n value: props.modelValue,\r\n loading: isLoading.value,\r\n attrId: `y-input--${UID}`,\r\n focused: isFocused.value,\r\n })\r\n ) : (\r\n <div\r\n class={`${NAME}__value`}\r\n data-id={`y-input--${UID}`}\r\n tabindex={0}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n >\r\n {props.floating && createLabel()}\r\n {props.modelValue?.toString()}\r\n </div>\r\n )}\r\n {slots.trailing?.()}\r\n </div>\r\n {slots['trailing-out'] && slots['trailing-out']()}\r\n <div class={`${NAME}__helper-text`}>\r\n {slots['helper-text'] ? (\r\n <span>\r\n {slots['helper-text']({\r\n error: isError.value,\r\n errors: errors.value,\r\n errorResult: errorResult.value,\r\n })}\r\n </span>\r\n ) : (\r\n props.helperText ?? errorResult.value\r\n )}\r\n </div>\r\n </div>\r\n {slots.append && (\r\n <div class={`${NAME}__append`}>{slots.append()}</div>\r\n )}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n ...(props.extended ?? {}),\r\n themeClasses,\r\n isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n createLabel,\r\n invokeValidators,\r\n };\r\n },\r\n});\r\n\r\nexport type YInput = InstanceType<typeof YInput>;\r\n"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { createVNode as _createVNode } from "vue";
|
|
|
2
2
|
import { useRender } from "../../composables/component.js";
|
|
3
3
|
import { defineComponent } from "../../util/component/component.js";
|
|
4
4
|
import { propsFactory } from "../../util/component/props.js";
|
|
5
|
+
import "./YSlider.scss";
|
|
5
6
|
export const pressYSliderPropsOptions = propsFactory({
|
|
6
7
|
modelValue: Number
|
|
7
8
|
}, 'YSlider');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YSlider.js","names":["useRender","defineComponent","propsFactory","pressYSliderPropsOptions","modelValue","Number","YSlider","name","props","emits","update:modelValue","setup","_ref","slots","_createVNode"],"sources":["../../../src/components/slider/YSlider.tsx"],"sourcesContent":["import { PropType } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent } from '@/util/component/component';\r\nimport { propsFactory } from '@/util/component/props';\r\n\r\nexport const pressYSliderPropsOptions = propsFactory(\r\n {\r\n modelValue: Number as PropType<number>,\r\n },\r\n 'YSlider',\r\n);\r\n\r\nexport const YSlider = defineComponent({\r\n name: 'YSlider',\r\n props: {\r\n ...pressYSliderPropsOptions(),\r\n },\r\n emits: {\r\n 'update:modelValue': () => true,\r\n },\r\n setup(props, { slots }) {\r\n useRender(()
|
|
1
|
+
{"version":3,"file":"YSlider.js","names":["useRender","defineComponent","propsFactory","pressYSliderPropsOptions","modelValue","Number","YSlider","name","props","emits","update:modelValue","setup","_ref","slots","_createVNode"],"sources":["../../../src/components/slider/YSlider.tsx"],"sourcesContent":["import { PropType } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent } from '@/util/component/component';\r\nimport { propsFactory } from '@/util/component/props';\r\n\r\nimport './YSlider.scss';\r\n\r\nexport const pressYSliderPropsOptions = propsFactory(\r\n {\r\n modelValue: Number as PropType<number>,\r\n },\r\n 'YSlider',\r\n);\r\n\r\nexport const YSlider = defineComponent({\r\n name: 'YSlider',\r\n props: {\r\n ...pressYSliderPropsOptions(),\r\n },\r\n emits: {\r\n 'update:modelValue': () => true,\r\n },\r\n setup(props, { slots }) {\r\n useRender(() =>\r\n (<div class={['y-slider']}>\r\n </div>)\r\n );\r\n\r\n return {};\r\n },\r\n});\r\n\r\nexport type YSlider = InstanceType<typeof YSlider>;\r\n"],"mappings":";SAESA,SAAS;AAAA,SACTC,eAAe;AAAA,SACfC,YAAY;AAErB;AAEA,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,UAAU,EAAEC;AACd,CAAC,EACD,SACF,CAAC;AAED,OAAO,MAAMC,OAAO,GAAGL,eAAe,CAAC;EACrCM,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;IACL,GAAGL,wBAAwB,CAAC;EAC9B,CAAC;EACDM,KAAK,EAAE;IACL,mBAAmB,EAAEC,CAAA,KAAM;EAC7B,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBZ,SAAS,CAAC,MAAAc,YAAA;MAAA,SACK,CAAC,UAAU;IAAC,QAE3B,CAAC;IAED,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export * from "./YSlider.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/slider/index.ts"],"sourcesContent":[""],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/slider/index.ts"],"sourcesContent":["export * from './YSlider';\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.js","names":[],"sources":["../../../src/components/slider/slider.ts"],"sourcesContent":[""],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
|
|
2
2
|
import { computed, getCurrentInstance } from 'vue';
|
|
3
|
-
import { YButton } from "
|
|
3
|
+
import { YButton } from "../button/YButton.js";
|
|
4
4
|
import { useRender } from "../../composables/component.js";
|
|
5
5
|
import { getPropertyFromItem } from "../../util/common.js";
|
|
6
6
|
import { defineComponent } from "../../util/component/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDataTableRow.js","names":["computed","getCurrentInstance","YButton","useRender","getPropertyFromItem","defineComponent","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onHover","Function","onMousedown","onClick","onDblclick","onContextmenu","onKeydown","YDataTableRow","name","props","item","Object","cellProps","emits","setup","_ref","emit","slots","vm","isSelected","toggleSelect","columns","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","event","proxy","$el","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","el","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","rightOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { type PropType, computed, getCurrentInstance } from 'vue';\r\n\r\nimport { YButton } from '@/components';\r\nimport { useRender } from '@/composables/component';\r\nimport { getPropertyFromItem } from '@/util/common';\r\nimport { defineComponent } from '@/util/component';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { YIconCheckbox } from '../icons';\r\nimport { YDataTableCell } from './YDataTableCell';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { CellProps, DataTableItem, type FixedPropType } from './types';\r\n\r\nexport const pressYDataTableRowProps = propsFactory(\r\n {\r\n index: Number as PropType<number>,\r\n onHover: Function as PropType<(...args: any[]) => void>,\r\n onMousedown: Function as PropType<(...args: any[]) => void>,\r\n onClick: Function as PropType<(...args: any[]) => void>,\r\n onDblclick: Function as PropType<(...args: any[]) => void>,\r\n onContextmenu: Function as PropType<(...args: any[]) => void>,\r\n onKeydown: Function as PropType<(...args: any[]) => void>,\r\n },\r\n 'YDataTableRow',\r\n);\r\n\r\nexport const YDataTableRow = defineComponent({\r\n name: 'YDataTableRow',\r\n props: {\r\n item: Object as PropType<DataTableItem>,\r\n cellProps: [Object, Function] as PropType<CellProps>,\r\n ...pressYDataTableRowProps(),\r\n },\r\n emits: ['hover', 'mousedown', 'click', 'dblclick', 'contextmenu'],\r\n setup(props, { emit, slots }) {\r\n const vm = getCurrentInstance();\r\n const { isSelected, toggleSelect } = useSelection();\r\n const { columns } = useHeader();\r\n\r\n const selected = computed(() => props.item && isSelected(props.item));\r\n\r\n function arrayClasses(classes: string | string[]) {\r\n const ret: string[] = [];\r\n if (typeof classes === 'string') {\r\n ret.push(classes);\r\n }\r\n if (Array.isArray(classes)) {\r\n classes.forEach((c) => {\r\n if (typeof c === 'string') ret.push(c);\r\n });\r\n }\r\n return ret;\r\n }\r\n\r\n function onMousedown(event: MouseEvent) {\r\n props.onMousedown?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onClick(event: MouseEvent) {\r\n props.onClick?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onContextmenu(event: MouseEvent) {\r\n props.onContextmenu?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onDblclick(event: MouseEvent) {\r\n props.onDblclick?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onKeydown(event: KeyboardEvent) {\r\n props.onKeydown?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n useRender(() => {\r\n return (\r\n <tr\r\n class={[\r\n 'y-data-table__row',\r\n { 'y-data-table__row--selected': selected.value },\r\n ]}\r\n onClick={props.onClick && onClick}\r\n onContextmenu={props.onContextmenu && onContextmenu}\r\n onDblclick={props.onDblclick && onDblclick}\r\n onMousedown={props.onMousedown && onMousedown}\r\n onKeydown={props.onKeydown && onKeydown}\r\n >\r\n {props.item &&\r\n columns.value.map((column, colIndex) => {\r\n const item = props.item!;\r\n const slotProps = {\r\n index: props.index!,\r\n item: props.item!.raw,\r\n internalItem: props.item!,\r\n columns: columns.value,\r\n value: getPropertyFromItem(item.columns, column.key),\r\n selected: selected.value,\r\n toggleSelect,\r\n el: vm?.proxy?.$el,\r\n };\r\n\r\n const classes = computed(() => {\r\n const ret: string[] = [];\r\n if (typeof column.classes === 'function') {\r\n const result = column.classes.call(\r\n null,\r\n slotProps.item,\r\n slotProps.index,\r\n column,\r\n );\r\n if (result) {\r\n ret.push(...arrayClasses(result));\r\n }\r\n } else if (column.classes) {\r\n ret.push(...arrayClasses(column.classes));\r\n }\r\n\r\n return ret;\r\n });\r\n\r\n const cellProps =\r\n typeof props.cellProps === 'function'\r\n ? props.cellProps({\r\n index: slotProps.index,\r\n column,\r\n internalItem: slotProps.internalItem,\r\n item: slotProps.item,\r\n value: slotProps.value,\r\n selected: slotProps.selected,\r\n })\r\n : props.cellProps;\r\n\r\n return (\r\n <YDataTableCell\r\n align={column.align}\r\n fixed={\r\n column.fixed\r\n ? (((column.fixed === 'right' ? 'trail' : 'lead') +\r\n (column.lastFixed ? '-last' : '')) as FixedPropType)\r\n : undefined\r\n }\r\n fixedOffset={column.fixedOffset}\r\n rightOffset={column.rightOffset}\r\n width={column.width}\r\n maxWidth={column.maxWidth}\r\n class={[\r\n 'y-data-table-data',\r\n {\r\n 'y-data-table-data--select':\r\n column.key === 'data-table-select',\r\n },\r\n ...classes.value,\r\n ]}\r\n {...cellProps}\r\n >\r\n {{\r\n default: () => {\r\n const slotName = `item.${column.key}`;\r\n\r\n if (slots[slotName]) {\r\n return slots[slotName]?.(slotProps);\r\n }\r\n\r\n if (column.key === 'data-table-select') {\r\n return (\r\n slots['item.data-table-select']?.(slotProps) ?? (\r\n <YButton\r\n variation={'text,small'}\r\n disabled={!item.selectable}\r\n onClick={(e: MouseEvent) => {\r\n e.stopPropagation();\r\n if (item.selectable) toggleSelect(item);\r\n }}\r\n >\r\n <YIconCheckbox\r\n checked={isSelected(item)}\r\n disabled={!item.selectable}\r\n ></YIconCheckbox>\r\n </YButton>\r\n )\r\n );\r\n }\r\n\r\n return slotProps.value;\r\n },\r\n }}\r\n </YDataTableCell>\r\n );\r\n })}\r\n </tr>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YDataTableRow.js","names":["computed","getCurrentInstance","YButton","useRender","getPropertyFromItem","defineComponent","propsFactory","YIconCheckbox","YDataTableCell","useHeader","useSelection","pressYDataTableRowProps","index","Number","onHover","Function","onMousedown","onClick","onDblclick","onContextmenu","onKeydown","YDataTableRow","name","props","item","Object","cellProps","emits","setup","_ref","emit","slots","vm","isSelected","toggleSelect","columns","selected","arrayClasses","classes","ret","push","Array","isArray","forEach","c","event","proxy","$el","_createVNode","value","map","column","colIndex","slotProps","raw","internalItem","key","el","result","call","_mergeProps","align","fixed","lastFixed","undefined","fixedOffset","rightOffset","width","maxWidth","default","slotName","selectable","e","stopPropagation"],"sources":["../../../src/components/table/YDataTableRow.tsx"],"sourcesContent":["import { type PropType, computed, getCurrentInstance } from 'vue';\r\n\r\nimport { YButton } from '@/components/button/YButton';\r\nimport { useRender } from '@/composables/component';\r\nimport { getPropertyFromItem } from '@/util/common';\r\nimport { defineComponent } from '@/util/component';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { YIconCheckbox } from '../icons';\r\nimport { YDataTableCell } from './YDataTableCell';\r\nimport { useHeader } from './composibles/header';\r\nimport { useSelection } from './composibles/selection';\r\nimport { CellProps, DataTableItem, type FixedPropType } from './types';\r\n\r\nexport const pressYDataTableRowProps = propsFactory(\r\n {\r\n index: Number as PropType<number>,\r\n onHover: Function as PropType<(...args: any[]) => void>,\r\n onMousedown: Function as PropType<(...args: any[]) => void>,\r\n onClick: Function as PropType<(...args: any[]) => void>,\r\n onDblclick: Function as PropType<(...args: any[]) => void>,\r\n onContextmenu: Function as PropType<(...args: any[]) => void>,\r\n onKeydown: Function as PropType<(...args: any[]) => void>,\r\n },\r\n 'YDataTableRow',\r\n);\r\n\r\nexport const YDataTableRow = defineComponent({\r\n name: 'YDataTableRow',\r\n props: {\r\n item: Object as PropType<DataTableItem>,\r\n cellProps: [Object, Function] as PropType<CellProps>,\r\n ...pressYDataTableRowProps(),\r\n },\r\n emits: ['hover', 'mousedown', 'click', 'dblclick', 'contextmenu'],\r\n setup(props, { emit, slots }) {\r\n const vm = getCurrentInstance();\r\n const { isSelected, toggleSelect } = useSelection();\r\n const { columns } = useHeader();\r\n\r\n const selected = computed(() => props.item && isSelected(props.item));\r\n\r\n function arrayClasses(classes: string | string[]) {\r\n const ret: string[] = [];\r\n if (typeof classes === 'string') {\r\n ret.push(classes);\r\n }\r\n if (Array.isArray(classes)) {\r\n classes.forEach((c) => {\r\n if (typeof c === 'string') ret.push(c);\r\n });\r\n }\r\n return ret;\r\n }\r\n\r\n function onMousedown(event: MouseEvent) {\r\n props.onMousedown?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onClick(event: MouseEvent) {\r\n props.onClick?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onContextmenu(event: MouseEvent) {\r\n props.onContextmenu?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onDblclick(event: MouseEvent) {\r\n props.onDblclick?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n function onKeydown(event: KeyboardEvent) {\r\n props.onKeydown?.(event, vm?.proxy?.$el);\r\n }\r\n\r\n useRender(() => {\r\n return (\r\n <tr\r\n class={[\r\n 'y-data-table__row',\r\n { 'y-data-table__row--selected': selected.value },\r\n ]}\r\n onClick={props.onClick && onClick}\r\n onContextmenu={props.onContextmenu && onContextmenu}\r\n onDblclick={props.onDblclick && onDblclick}\r\n onMousedown={props.onMousedown && onMousedown}\r\n onKeydown={props.onKeydown && onKeydown}\r\n >\r\n {props.item &&\r\n columns.value.map((column, colIndex) => {\r\n const item = props.item!;\r\n const slotProps = {\r\n index: props.index!,\r\n item: props.item!.raw,\r\n internalItem: props.item!,\r\n columns: columns.value,\r\n value: getPropertyFromItem(item.columns, column.key),\r\n selected: selected.value,\r\n toggleSelect,\r\n el: vm?.proxy?.$el,\r\n };\r\n\r\n const classes = computed(() => {\r\n const ret: string[] = [];\r\n if (typeof column.classes === 'function') {\r\n const result = column.classes.call(\r\n null,\r\n slotProps.item,\r\n slotProps.index,\r\n column,\r\n );\r\n if (result) {\r\n ret.push(...arrayClasses(result));\r\n }\r\n } else if (column.classes) {\r\n ret.push(...arrayClasses(column.classes));\r\n }\r\n\r\n return ret;\r\n });\r\n\r\n const cellProps =\r\n typeof props.cellProps === 'function'\r\n ? props.cellProps({\r\n index: slotProps.index,\r\n column,\r\n internalItem: slotProps.internalItem,\r\n item: slotProps.item,\r\n value: slotProps.value,\r\n selected: slotProps.selected,\r\n })\r\n : props.cellProps;\r\n\r\n return (\r\n <YDataTableCell\r\n align={column.align}\r\n fixed={\r\n column.fixed\r\n ? (((column.fixed === 'right' ? 'trail' : 'lead') +\r\n (column.lastFixed ? '-last' : '')) as FixedPropType)\r\n : undefined\r\n }\r\n fixedOffset={column.fixedOffset}\r\n rightOffset={column.rightOffset}\r\n width={column.width}\r\n maxWidth={column.maxWidth}\r\n class={[\r\n 'y-data-table-data',\r\n {\r\n 'y-data-table-data--select':\r\n column.key === 'data-table-select',\r\n },\r\n ...classes.value,\r\n ]}\r\n {...cellProps}\r\n >\r\n {{\r\n default: () => {\r\n const slotName = `item.${column.key}`;\r\n\r\n if (slots[slotName]) {\r\n return slots[slotName]?.(slotProps);\r\n }\r\n\r\n if (column.key === 'data-table-select') {\r\n return (\r\n slots['item.data-table-select']?.(slotProps) ?? (\r\n <YButton\r\n variation={'text,small'}\r\n disabled={!item.selectable}\r\n onClick={(e: MouseEvent) => {\r\n e.stopPropagation();\r\n if (item.selectable) toggleSelect(item);\r\n }}\r\n >\r\n <YIconCheckbox\r\n checked={isSelected(item)}\r\n disabled={!item.selectable}\r\n ></YIconCheckbox>\r\n </YButton>\r\n )\r\n );\r\n }\r\n\r\n return slotProps.value;\r\n },\r\n }}\r\n </YDataTableCell>\r\n );\r\n })}\r\n </tr>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDataTableRow = InstanceType<typeof YDataTableRow>;\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YTreeView.js","names":["computed","defineComponent","onMounted","ref","shallowRef","watch","provideTreeView","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","onlyEventActiveStrategy","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","filterItemsFn","excludeItem","expandedCache","nodes","expandedSet","selectedSet","activeSet","searchLoading","excludedSet","issueVnodeState","updateExpanded","updateActive","updateSelected","emitExpanded","emitActive","emitSelected","isExcluded","items","search","arguments","length","undefined","excluded","Set","value","diff","forEach","key","item","itemKey","itemText","itemChildren","expand","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","includes","indeterminate","node","childKeys","map","child","add","neo","deep","until","Object","entries","_ref2","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","renderLeaves","slice","leaf","classes","styles","color","activeColor","activeValue","selectedValue","_createVNode","_Fragment","_mergeProps","_createTextVNode"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\n type PropType,\n type Ref,\n computed,\n defineComponent,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { provideTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { CandidateKey } from '@/types';\nimport { differenceBetween } from '@/util/array';\nimport { isColorValue } from '@/util/color';\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\nimport { chooseProps } from '@/util/component';\nimport { debounce } from '@/util/debounce';\n\nimport { YProgressBar } from '../progress-bar';\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\nimport { NodeState, TreeviewFilterFn } from './types';\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\n\nimport './YTreeView.scss';\n\nconst treeViewNodeProps = pressYTreeViewNodeProps();\n\nexport const YTreeView = defineComponent({\n name: 'YTreeView',\n props: {\n expanded: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n active: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n multipleActive: Boolean,\n activeStrategy: {\n type: String as PropType<'independent' | 'cascade' | 'relative'>,\n default: 'independent',\n },\n onlyEventActiveStrategy: Boolean,\n selected: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n selectStrategy: {\n type: String as PropType<'independent' | 'cascade'>,\n default: 'leaf',\n },\n returnItem: Boolean,\n defaultExpand: [Boolean, String, Number],\n filter: Function as PropType<TreeviewFilterFn>,\n searchDebounceWait: {\n type: Number as PropType<number>,\n default: 700,\n },\n ...treeViewNodeProps,\n },\n emits: ['update:expanded', 'update:active', 'update:selected'],\n setup(props, { slots, emit, expose }) {\n const filterItemsFn = shallowRef(\n debounce(excludeItem, props.searchDebounceWait),\n );\n const expandedCache = ref<CandidateKey[]>([]);\n\n const {\n nodes,\n expanded,\n active,\n selected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n isExcluded,\n } = provideTreeView(props);\n\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\n const excluded = new Set<CandidateKey>();\n if (!search) {\n searchLoading.value = false;\n excludedSet.value = excluded;\n const diff = differenceBetween(expandedCache.value, [\n ...expandedSet.value,\n ]);\n diff.forEach((key) => {\n updateExpanded(key, false);\n });\n expandedCache.value.forEach((key) => {\n updateExpanded(key, true);\n });\n return;\n }\n for (const item of items) {\n filterTreeItems(\n filter,\n item,\n search ?? '',\n props.itemKey,\n props.itemText,\n props.itemChildren as string,\n excluded,\n );\n }\n excludedSet.value = excluded;\n searchLoading.value = false;\n expand();\n }\n\n watch(\n () => props.search,\n () => {\n searchLoading.value = true;\n filterItemsFn.value(props.items, props.search, props.filter);\n },\n );\n\n // Util Methods\n function getNodeKey(itemOrKey: any) {\n return props.returnItem\n ? getObjectValueByPath(itemOrKey, props.itemKey)\n : itemOrKey;\n }\n\n // State Methods\n function updateNodes(\n items: any[],\n parentKey: CandidateKey | null = null,\n level = 0,\n ) {\n for (const item of items) {\n const key = getObjectValueByPath(item, props.itemKey);\n const children =\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\n const exist = hasOwnProperty(nodes.value, key);\n const existNode = exist\n ? nodes.value[key]\n : {\n vnode: null,\n selected: selected.value?.includes(key) ?? false,\n indeterminate: false,\n active: active.value?.includes(key) ?? false,\n expanded: expanded.value?.includes(key) ?? false,\n };\n const node: NodeState = {\n vnode: existNode.vnode,\n item,\n level,\n parentKey,\n childKeys: children.map((child: any) =>\n getObjectValueByPath(child, props.itemKey),\n ),\n expanded: children.length > 0 && existNode.expanded,\n active: existNode.active,\n indeterminate: existNode.indeterminate,\n selected: existNode.selected,\n };\n\n updateNodes(children, key, level + 1);\n\n nodes.value[key] = node;\n if (nodes.value[key].expanded) {\n expandedSet.value.add(key);\n }\n if (nodes.value[key].selected) {\n selectedSet.value.add(key);\n }\n if (nodes.value[key].active) {\n activeSet.value.add(key);\n }\n issueVnodeState(key);\n }\n }\n\n watch(\n expandedSet,\n (neo) => {\n if (!props.search) {\n expandedCache.value = [...neo];\n }\n },\n { deep: true },\n );\n\n function expand(until: boolean | string | number = true) {\n Object.entries(nodes.value).forEach(([key, node]) => {\n if (until === true || Number(until) >= node.level) {\n updateExpanded(key, true);\n }\n });\n emitExpanded();\n return expandedSet.value;\n }\n\n function stateWatcher(\n value: any[],\n stateSet: Ref<Set<CandidateKey>>,\n updater: (key: CandidateKey, to: boolean) => void,\n emitter: () => void,\n ) {\n const valuesOfKey = props.returnItem\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\n : value;\n const old = [...stateSet.value];\n if (deepEqual(old, valuesOfKey)) {\n return;\n }\n old.forEach((key) => updater(key, false));\n valuesOfKey.forEach((key) => updater(key, true));\n emitter();\n }\n\n watch(expanded, (neo) => {\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\n });\n\n watch(active, (neo) => {\n stateWatcher(neo, activeSet, updateActive, emitActive);\n });\n\n watch(selected, (neo) => {\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\n });\n\n watch(\n () => props.items,\n (neo: any[]) => {\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\n );\n const neoKeys = getKeys(\n neo,\n props.itemKey,\n props.itemChildren as string,\n );\n const diff = differenceBetween(oldKeys, neoKeys);\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\n return;\n }\n diff.forEach((k) => delete nodes.value[k]);\n\n // init\n const oldSelected = [...selectedSet.value];\n const oldActive = [...activeSet.value];\n selectedSet.value.clear();\n expandedSet.value.clear();\n activeSet.value.clear();\n updateNodes(neo);\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\n emitSelected();\n }\n if (!deepEqual(oldActive, [...activeSet.value])) {\n emitActive();\n }\n filterItemsFn.value(neo, props.search, props.filter);\n },\n { deep: true, flush: 'sync' },\n );\n\n // Provide & Issue\n\n updateNodes(props.items);\n\n const renderLeaves = computed(() => {\n return props.items.slice().filter((leaf) => {\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n const classes = computed(() => {\n return {\n 'y-tree-view': true,\n };\n });\n\n const styles = computed(() => {\n let color = props.activeColor;\n if (props.activeColor && !isColorValue(props.activeColor)) {\n color = `var(--y-theme-${props.activeColor})`;\n }\n return {\n [`--y-tree-view__active-color`]: color,\n };\n });\n\n onMounted(() => {\n if (props.search) {\n searchLoading.value = true;\n excludeItem(props.items, props.search, props.filter);\n }\n\n if (props.defaultExpand != null && props.defaultExpand !== false) {\n expandedCache.value = [...expand(props.defaultExpand)];\n } else {\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\n emitExpanded();\n }\n\n for (const activeValue of props.active.map(getNodeKey)) {\n updateActive(activeValue, true);\n }\n\n for (const selectedValue of props.selected.map(getNodeKey)) {\n updateSelected(selectedValue, true);\n }\n });\n\n expose({\n expand,\n });\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} style={styles.value} role=\"tree\">\n {searchLoading.value && <YProgressBar indeterminate />}\n {renderLeaves.value.length > 0 ? (\n renderLeaves.value.slice().map((leaf) => {\n return (\n <YTreeViewNode\n v-slots={slots}\n key={getObjectValueByPath(leaf, props.itemKey)}\n {...{\n ...chooseProps(props, treeViewNodeProps),\n item: leaf,\n level: 0,\n }}\n ></YTreeViewNode>\n );\n })\n ) : (\n <div class=\"y-tree-view__no-data\">\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\n </div>\n )}\n </div>\n </>\n );\n });\n\n return {\n nodes,\n expandedSet,\n selectedSet,\n activeSet,\n excludedSet,\n searchLoading,\n expandedCache,\n renderLeaves,\n };\n },\n});\n\nexport type YTreeView = InstanceType<typeof YTreeView>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YTreeView.js","names":["computed","defineComponent","onMounted","ref","shallowRef","watch","provideTreeView","useRender","differenceBetween","isColorValue","deepEqual","getObjectValueByPath","hasOwnProperty","chooseProps","debounce","YProgressBar","YTreeViewNode","pressYTreeViewNodeProps","filterTreeItem","filterTreeItems","getKeys","treeViewNodeProps","YTreeView","name","props","expanded","type","Array","default","active","multipleActive","Boolean","activeStrategy","String","onlyEventActiveStrategy","selected","selectStrategy","returnItem","defaultExpand","Number","filter","Function","searchDebounceWait","emits","setup","_ref","slots","emit","expose","filterItemsFn","excludeItem","expandedCache","nodes","expandedSet","selectedSet","activeSet","searchLoading","excludedSet","issueVnodeState","updateExpanded","updateActive","updateSelected","emitExpanded","emitActive","emitSelected","isExcluded","items","search","arguments","length","undefined","excluded","Set","value","diff","forEach","key","item","itemKey","itemText","itemChildren","expand","getNodeKey","itemOrKey","updateNodes","parentKey","level","children","exist","existNode","vnode","includes","indeterminate","node","childKeys","map","child","add","neo","deep","until","Object","entries","_ref2","stateWatcher","stateSet","updater","emitter","valuesOfKey","v","old","oldKeys","keys","nodeKey","neoKeys","k","oldSelected","oldActive","clear","flush","renderLeaves","slice","leaf","classes","styles","color","activeColor","activeValue","selectedValue","_createVNode","_Fragment","_mergeProps","_createTextVNode"],"sources":["../../../src/components/tree-view/YTreeView.tsx"],"sourcesContent":["import {\n type PropType,\n type Ref,\n computed,\n defineComponent,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { provideTreeView } from '@/components/tree-view/tree-view';\nimport { useRender } from '@/composables/component';\nimport { CandidateKey } from '@/types';\nimport { differenceBetween } from '@/util/array';\nimport { isColorValue } from '@/util/color';\nimport { deepEqual, getObjectValueByPath, hasOwnProperty } from '@/util/common';\nimport { chooseProps } from '@/util/component';\nimport { debounce } from '@/util/debounce';\n\nimport { YProgressBar } from '../progress-bar';\nimport { YTreeViewNode, pressYTreeViewNodeProps } from './YTreeViewNode';\nimport { NodeState, TreeviewFilterFn } from './types';\nimport { filterTreeItem, filterTreeItems, getKeys } from './util';\n\nimport './YTreeView.scss';\n\nconst treeViewNodeProps = pressYTreeViewNodeProps();\n\nexport const YTreeView = defineComponent({\n name: 'YTreeView',\n props: {\n expanded: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n active: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n multipleActive: Boolean,\n activeStrategy: {\n /**\n * cascade: only descendent leaves\n * relative: cascade after check parent (ancestor)\n */\n type: String as PropType<'independent' | 'cascade' | 'relative'>,\n default: 'independent',\n },\n onlyEventActiveStrategy: Boolean,\n selected: {\n type: [Array] as PropType<CandidateKey[]>,\n default: () => [],\n },\n selectStrategy: {\n type: String as PropType<'independent' | 'cascade'>,\n default: 'leaf',\n },\n returnItem: Boolean,\n defaultExpand: [Boolean, String, Number],\n filter: Function as PropType<TreeviewFilterFn>,\n searchDebounceWait: {\n type: Number as PropType<number>,\n default: 700,\n },\n ...treeViewNodeProps,\n },\n emits: ['update:expanded', 'update:active', 'update:selected'],\n setup(props, { slots, emit, expose }) {\n const filterItemsFn = shallowRef(\n debounce(excludeItem, props.searchDebounceWait),\n );\n const expandedCache = ref<CandidateKey[]>([]);\n\n const {\n nodes,\n expanded,\n active,\n selected,\n expandedSet,\n selectedSet,\n activeSet,\n searchLoading,\n excludedSet,\n issueVnodeState,\n updateExpanded,\n updateActive,\n updateSelected,\n emitExpanded,\n emitActive,\n emitSelected,\n isExcluded,\n } = provideTreeView(props);\n\n function excludeItem(items: any[], search = '', filter = filterTreeItem) {\n const excluded = new Set<CandidateKey>();\n if (!search) {\n searchLoading.value = false;\n excludedSet.value = excluded;\n const diff = differenceBetween(expandedCache.value, [\n ...expandedSet.value,\n ]);\n diff.forEach((key) => {\n updateExpanded(key, false);\n });\n expandedCache.value.forEach((key) => {\n updateExpanded(key, true);\n });\n return;\n }\n for (const item of items) {\n filterTreeItems(\n filter,\n item,\n search ?? '',\n props.itemKey,\n props.itemText,\n props.itemChildren as string,\n excluded,\n );\n }\n excludedSet.value = excluded;\n searchLoading.value = false;\n expand();\n }\n\n watch(\n () => props.search,\n () => {\n searchLoading.value = true;\n filterItemsFn.value(props.items, props.search, props.filter);\n },\n );\n\n // Util Methods\n function getNodeKey(itemOrKey: any) {\n return props.returnItem\n ? getObjectValueByPath(itemOrKey, props.itemKey)\n : itemOrKey;\n }\n\n // State Methods\n function updateNodes(\n items: any[],\n parentKey: CandidateKey | null = null,\n level = 0,\n ) {\n for (const item of items) {\n const key = getObjectValueByPath(item, props.itemKey);\n const children =\n getObjectValueByPath(item, props.itemChildren as string) ?? [];\n const exist = hasOwnProperty(nodes.value, key);\n const existNode = exist\n ? nodes.value[key]\n : {\n vnode: null,\n selected: selected.value?.includes(key) ?? false,\n indeterminate: false,\n active: active.value?.includes(key) ?? false,\n expanded: expanded.value?.includes(key) ?? false,\n };\n const node: NodeState = {\n vnode: existNode.vnode,\n item,\n level,\n parentKey,\n childKeys: children.map((child: any) =>\n getObjectValueByPath(child, props.itemKey),\n ),\n expanded: children.length > 0 && existNode.expanded,\n active: existNode.active,\n indeterminate: existNode.indeterminate,\n selected: existNode.selected,\n };\n\n updateNodes(children, key, level + 1);\n\n nodes.value[key] = node;\n if (nodes.value[key].expanded) {\n expandedSet.value.add(key);\n }\n if (nodes.value[key].selected) {\n selectedSet.value.add(key);\n }\n if (nodes.value[key].active) {\n activeSet.value.add(key);\n }\n issueVnodeState(key);\n }\n }\n\n watch(\n expandedSet,\n (neo) => {\n if (!props.search) {\n expandedCache.value = [...neo];\n }\n },\n { deep: true },\n );\n\n function expand(until: boolean | string | number = true) {\n Object.entries(nodes.value).forEach(([key, node]) => {\n if (until === true || Number(until) >= node.level) {\n updateExpanded(key, true);\n }\n });\n emitExpanded();\n return expandedSet.value;\n }\n\n function stateWatcher(\n value: any[],\n stateSet: Ref<Set<CandidateKey>>,\n updater: (key: CandidateKey, to: boolean) => void,\n emitter: () => void,\n ) {\n const valuesOfKey = props.returnItem\n ? value.map((v) => getObjectValueByPath(v, props.itemKey))\n : value;\n const old = [...stateSet.value];\n if (deepEqual(old, valuesOfKey)) {\n return;\n }\n old.forEach((key) => updater(key, false));\n valuesOfKey.forEach((key) => updater(key, true));\n emitter();\n }\n\n watch(expanded, (neo) => {\n stateWatcher(neo, expandedSet, updateExpanded, emitExpanded);\n });\n\n watch(active, (neo) => {\n stateWatcher(neo, activeSet, updateActive, emitActive);\n });\n\n watch(selected, (neo) => {\n stateWatcher(neo, selectedSet, updateSelected, emitSelected);\n });\n\n watch(\n () => props.items,\n (neo: any[]) => {\n const oldKeys = Object.keys(nodes.value).map((nodeKey) =>\n getObjectValueByPath(nodes.value[nodeKey].item, props.itemKey),\n );\n const neoKeys = getKeys(\n neo,\n props.itemKey,\n props.itemChildren as string,\n );\n const diff = differenceBetween(oldKeys, neoKeys);\n if (diff.length < 1 && neoKeys.length < oldKeys.length) {\n return;\n }\n diff.forEach((k) => delete nodes.value[k]);\n\n // init\n const oldSelected = [...selectedSet.value];\n const oldActive = [...activeSet.value];\n selectedSet.value.clear();\n expandedSet.value.clear();\n activeSet.value.clear();\n updateNodes(neo);\n if (!deepEqual(oldSelected, [...selectedSet.value])) {\n emitSelected();\n }\n if (!deepEqual(oldActive, [...activeSet.value])) {\n emitActive();\n }\n filterItemsFn.value(neo, props.search, props.filter);\n },\n { deep: true, flush: 'sync' },\n );\n\n // Provide & Issue\n\n updateNodes(props.items);\n\n const renderLeaves = computed(() => {\n return props.items.slice().filter((leaf) => {\n return !isExcluded(getObjectValueByPath(leaf, props.itemKey));\n });\n });\n\n const classes = computed(() => {\n return {\n 'y-tree-view': true,\n };\n });\n\n const styles = computed(() => {\n let color = props.activeColor;\n if (props.activeColor && !isColorValue(props.activeColor)) {\n color = `var(--y-theme-${props.activeColor})`;\n }\n return {\n [`--y-tree-view__active-color`]: color,\n };\n });\n\n onMounted(() => {\n if (props.search) {\n searchLoading.value = true;\n excludeItem(props.items, props.search, props.filter);\n }\n\n if (props.defaultExpand != null && props.defaultExpand !== false) {\n expandedCache.value = [...expand(props.defaultExpand)];\n } else {\n expanded.value.forEach((v: any) => updateExpanded(getNodeKey(v), true));\n emitExpanded();\n }\n\n for (const activeValue of props.active.map(getNodeKey)) {\n updateActive(activeValue, true);\n }\n\n for (const selectedValue of props.selected.map(getNodeKey)) {\n updateSelected(selectedValue, true);\n }\n });\n\n expose({\n expand,\n });\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} style={styles.value} role=\"tree\">\n {searchLoading.value && <YProgressBar indeterminate />}\n {renderLeaves.value.length > 0 ? (\n renderLeaves.value.slice().map((leaf) => {\n return (\n <YTreeViewNode\n v-slots={slots}\n key={getObjectValueByPath(leaf, props.itemKey)}\n {...{\n ...chooseProps(props, treeViewNodeProps),\n item: leaf,\n level: 0,\n }}\n ></YTreeViewNode>\n );\n })\n ) : (\n <div class=\"y-tree-view__no-data\">\n {slots['no-data'] ? slots['no-data']() : <span>No Data</span>}\n </div>\n )}\n </div>\n </>\n );\n });\n\n return {\n nodes,\n expandedSet,\n selectedSet,\n activeSet,\n excludedSet,\n searchLoading,\n expandedCache,\n renderLeaves,\n };\n },\n});\n\nexport type YTreeView = InstanceType<typeof YTreeView>;\n"],"mappings":"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"}
|
package/lib/util/color/index.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* https://github.com/vuetifyjs/vuetify
|
|
13
13
|
* */
|
|
14
14
|
import { HEX_COLOR_REGEX, RGBA_REGEX } from "./const.js";
|
|
15
|
-
import { rgbFromHex } from "
|
|
15
|
+
import { rgbFromHex } from "./conversion.js";
|
|
16
16
|
export function isColorValue(value) {
|
|
17
17
|
return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["HEX_COLOR_REGEX","RGBA_REGEX","rgbFromHex","isColorValue","value","test","colorRgb","color","startsWith","join","exec","valueArray","trim","split","splice","isTextColorIsLight","r","g","b","luminance"],"sources":["../../../src/util/color/index.ts"],"sourcesContent":["/*\r\n* yuyeon\r\n* Apache-2.0 license (Copyright 2023 yeonyew)\r\n*\r\n* Used Libs\r\n* - material-color-utilities\r\n* Apache-2.0 license (Copyright 2021 Google LLC)\r\n* https://github.com/material-foundation/material-color-utilities\r\n*\r\n* - Vuetify\r\n* MIT license (Copyright (c) 2016-2023 John Jeremy Leider)\r\n* https://github.com/vuetifyjs/vuetify\r\n* */\r\n\r\nimport { HEX_COLOR_REGEX, RGBA_REGEX } from \"./const\";\r\nimport { rgbFromHex } from '
|
|
1
|
+
{"version":3,"file":"index.js","names":["HEX_COLOR_REGEX","RGBA_REGEX","rgbFromHex","isColorValue","value","test","colorRgb","color","startsWith","join","exec","valueArray","trim","split","splice","isTextColorIsLight","r","g","b","luminance"],"sources":["../../../src/util/color/index.ts"],"sourcesContent":["/*\r\n* yuyeon\r\n* Apache-2.0 license (Copyright 2023 yeonyew)\r\n*\r\n* Used Libs\r\n* - material-color-utilities\r\n* Apache-2.0 license (Copyright 2021 Google LLC)\r\n* https://github.com/material-foundation/material-color-utilities\r\n*\r\n* - Vuetify\r\n* MIT license (Copyright (c) 2016-2023 John Jeremy Leider)\r\n* https://github.com/vuetifyjs/vuetify\r\n* */\r\n\r\nimport { HEX_COLOR_REGEX, RGBA_REGEX } from \"./const\";\r\nimport { rgbFromHex } from './conversion';\r\n\r\nexport function isColorValue(value: string): boolean {\r\n return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);\r\n}\r\n\r\nexport function colorRgb(color: string): string {\r\n if (color?.startsWith('#')) {\r\n return rgbFromHex(color)?.join(',') || '';\r\n }\r\n const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\r\n if (RGBA_REGEX.test(color)) {\r\n const value = RGBA_REGEX.exec(color)?.[2] || '';\r\n if (value) {\r\n const valueArray = value.trim().split(',');\r\n valueArray.splice(3, 1);\r\n return valueArray.join(',');\r\n }\r\n }\r\n return '';\r\n}\r\n\r\nexport function isTextColorIsLight(r: number, g: number, b: number): boolean {\r\n const luminance = 1 - (0.299 * r + 0.587 * g + 0.114 * b) / 255;\r\n return luminance < 0.5;\r\n}\r\n\r\nexport * from './const';\r\nexport * from \"./conversion\";\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAcSA,eAAe,EAAEC,UAAU;AAAA,SAC3BC,UAAU;AAEnB,OAAO,SAASC,YAAYA,CAACC,KAAa,EAAW;EACnD,OAAOH,UAAU,CAACI,IAAI,CAACD,KAAK,CAAC,IAAIJ,eAAe,CAACK,IAAI,CAACD,KAAK,CAAC;AAC9D;AAEA,OAAO,SAASE,QAAQA,CAACC,KAAa,EAAU;EAC9C,IAAIA,KAAK,EAAEC,UAAU,CAAC,GAAG,CAAC,EAAE;IAC1B,OAAON,UAAU,CAACK,KAAK,CAAC,EAAEE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;EAC3C;EACA,MAAMR,UAAU,GAAG,qBAAqB;EACxC,IAAIA,UAAU,CAACI,IAAI,CAACE,KAAK,CAAC,EAAE;IAC1B,MAAMH,KAAK,GAAGH,UAAU,CAACS,IAAI,CAACH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC/C,IAAIH,KAAK,EAAE;MACT,MAAMO,UAAU,GAAGP,KAAK,CAACQ,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;MAC1CF,UAAU,CAACG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;MACvB,OAAOH,UAAU,CAACF,IAAI,CAAC,GAAG,CAAC;IAC7B;EACF;EACA,OAAO,EAAE;AACX;AAEA,OAAO,SAASM,kBAAkBA,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAS,EAAW;EAC3E,MAAMC,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,GAAGH,CAAC,GAAG,KAAK,GAAGC,CAAC,GAAG,KAAK,GAAGC,CAAC,IAAI,GAAG;EAC/D,OAAOC,SAAS,GAAG,GAAG;AACxB;AAAC;AAAA"}
|
package/package.json
CHANGED
|
@@ -4,11 +4,11 @@ export declare const pressYDatePickerPropsOptions: <Defaults extends {
|
|
|
4
4
|
disabled?: unknown;
|
|
5
5
|
multiple?: unknown;
|
|
6
6
|
max?: unknown;
|
|
7
|
-
year?: unknown;
|
|
8
|
-
month?: unknown;
|
|
9
7
|
color?: unknown;
|
|
8
|
+
month?: unknown;
|
|
10
9
|
range?: unknown;
|
|
11
10
|
min?: unknown;
|
|
11
|
+
year?: unknown;
|
|
12
12
|
allowedDates?: unknown;
|
|
13
13
|
hideWeekdays?: unknown;
|
|
14
14
|
showAdjacentMonthDates?: unknown;
|
|
@@ -30,18 +30,14 @@ export declare const pressYDatePickerPropsOptions: <Defaults extends {
|
|
|
30
30
|
type: import('vue').PropType<unknown extends Defaults["max"] ? unknown : {} | Defaults["max"]>;
|
|
31
31
|
default: unknown extends Defaults["max"] ? unknown : {} | Defaults["max"];
|
|
32
32
|
};
|
|
33
|
-
|
|
34
|
-
type: import('vue').PropType<unknown extends Defaults["
|
|
35
|
-
default: unknown extends Defaults["
|
|
33
|
+
color: unknown extends Defaults["color"] ? StringConstructor : {
|
|
34
|
+
type: import('vue').PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
|
|
35
|
+
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
|
|
36
36
|
};
|
|
37
37
|
month: unknown extends Defaults["month"] ? (NumberConstructor | StringConstructor)[] : {
|
|
38
38
|
type: import('vue').PropType<unknown extends Defaults["month"] ? string | number : NonNullable<string | number> | Defaults["month"]>;
|
|
39
39
|
default: unknown extends Defaults["month"] ? string | number : NonNullable<string | number> | Defaults["month"];
|
|
40
40
|
};
|
|
41
|
-
color: unknown extends Defaults["color"] ? StringConstructor : {
|
|
42
|
-
type: import('vue').PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
|
|
43
|
-
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
|
|
44
|
-
};
|
|
45
41
|
range: unknown extends Defaults["range"] ? BooleanConstructor : {
|
|
46
42
|
type: import('vue').PropType<unknown extends Defaults["range"] ? boolean : boolean | Defaults["range"]>;
|
|
47
43
|
default: unknown extends Defaults["range"] ? boolean : boolean | Defaults["range"];
|
|
@@ -50,6 +46,10 @@ export declare const pressYDatePickerPropsOptions: <Defaults extends {
|
|
|
50
46
|
type: import('vue').PropType<unknown extends Defaults["min"] ? unknown : {} | Defaults["min"]>;
|
|
51
47
|
default: unknown extends Defaults["min"] ? unknown : {} | Defaults["min"];
|
|
52
48
|
};
|
|
49
|
+
year: unknown extends Defaults["year"] ? (NumberConstructor | StringConstructor)[] : {
|
|
50
|
+
type: import('vue').PropType<unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"]>;
|
|
51
|
+
default: unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"];
|
|
52
|
+
};
|
|
53
53
|
allowedDates: unknown extends Defaults["allowedDates"] ? (ArrayConstructor | FunctionConstructor)[] : {
|
|
54
54
|
type: import('vue').PropType<unknown extends Defaults["allowedDates"] ? Function | unknown[] : NonNullable<Function | unknown[]> | Defaults["allowedDates"]>;
|
|
55
55
|
default: unknown extends Defaults["allowedDates"] ? Function | unknown[] : NonNullable<Function | unknown[]> | Defaults["allowedDates"];
|
|
@@ -78,11 +78,11 @@ export declare const YDatePicker: import('vue').DefineComponent<{
|
|
|
78
78
|
disabled: BooleanConstructor;
|
|
79
79
|
multiple: BooleanConstructor;
|
|
80
80
|
max: import('vue').PropType<unknown>;
|
|
81
|
-
year: (NumberConstructor | StringConstructor)[];
|
|
82
|
-
month: (NumberConstructor | StringConstructor)[];
|
|
83
81
|
color: StringConstructor;
|
|
82
|
+
month: (NumberConstructor | StringConstructor)[];
|
|
84
83
|
range: BooleanConstructor;
|
|
85
84
|
min: import('vue').PropType<unknown>;
|
|
85
|
+
year: (NumberConstructor | StringConstructor)[];
|
|
86
86
|
allowedDates: (ArrayConstructor | FunctionConstructor)[];
|
|
87
87
|
hideWeekdays: BooleanConstructor;
|
|
88
88
|
showAdjacentMonthDates: {
|