yuyeon 0.3.3 → 0.3.4-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +2241 -2217
  3. package/dist/yuyeon.umd.cjs +3 -3
  4. package/lib/components/draggable/YDraggable.js.map +1 -1
  5. package/lib/components/draggable/index.js +2 -0
  6. package/lib/components/draggable/index.js.map +1 -0
  7. package/lib/components/field-input/YFieldInput.js +4 -2
  8. package/lib/components/field-input/YFieldInput.js.map +1 -1
  9. package/lib/components/input/YInput.scss +1 -1
  10. package/lib/components/radio/YRadio.js +58 -0
  11. package/lib/components/radio/YRadio.js.map +1 -0
  12. package/lib/components/radio/YRadio.scss +38 -0
  13. package/lib/components/radio/YRadioIcon.js +33 -0
  14. package/lib/components/radio/YRadioIcon.js.map +1 -0
  15. package/lib/components/radio/YRadioIcon.scss +44 -0
  16. package/lib/components/radio/index.js +3 -0
  17. package/lib/components/radio/index.js.map +1 -0
  18. package/lib/components/select/YSelect.js +0 -1
  19. package/lib/components/select/YSelect.js.map +1 -1
  20. package/lib/components/table/YDataTable.js +7 -4
  21. package/lib/components/table/YDataTable.js.map +1 -1
  22. package/lib/components/table/YDataTableControl.js +8 -6
  23. package/lib/components/table/YDataTableControl.js.map +1 -1
  24. package/lib/components/table/YDataTableControl.scss +10 -0
  25. package/lib/components/table/YDataTableServer.js +8 -5
  26. package/lib/components/table/YDataTableServer.js.map +1 -1
  27. package/lib/components/text-highlighter/YTextHighlighter.js +2 -1
  28. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
  29. package/lib/components/tree-view/YTreeViewNode.js +6 -2
  30. package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
  31. package/lib/composables/style-color.js +1 -2
  32. package/lib/composables/style-color.js.map +1 -1
  33. package/lib/composables/theme/index.js +8 -1
  34. package/lib/composables/theme/index.js.map +1 -1
  35. package/lib/composables/validation.js +7 -4
  36. package/lib/composables/validation.js.map +1 -1
  37. package/lib/directives/index.js +3 -0
  38. package/lib/directives/index.js.map +1 -0
  39. package/lib/directives/plate-wave/index.js +2 -2
  40. package/lib/directives/plate-wave/index.js.map +1 -1
  41. package/lib/directives/theme-class/index.js +24 -0
  42. package/lib/directives/theme-class/index.js.map +1 -0
  43. package/lib/util/string.js +3 -0
  44. package/lib/util/string.js.map +1 -1
  45. package/package.json +9 -1
  46. package/types/components/badge/YBadge.d.ts +0 -3
  47. package/types/components/chip/YChip.d.ts +0 -3
  48. package/types/components/draggable/index.d.ts +1 -0
  49. package/types/components/field-input/YFieldInput.d.ts +6 -0
  50. package/types/components/radio/YRadio.d.ts +25 -0
  51. package/types/components/radio/YRadioIcon.d.ts +6 -0
  52. package/types/components/radio/index.d.ts +2 -0
  53. package/types/components/select/YSelect.d.ts +6 -0
  54. package/types/components/table/YDataTable.d.ts +3 -0
  55. package/types/components/table/YDataTableControl.d.ts +12 -0
  56. package/types/components/table/YDataTableServer.d.ts +20 -8
  57. package/types/composables/style-color.d.ts +0 -1
  58. package/types/composables/theme/index.d.ts +1 -0
  59. package/types/directives/index.d.ts +2 -0
  60. package/types/directives/plate-wave/index.d.ts +7 -1
  61. package/types/shims.d.ts +58 -52
  62. package/types/util/string.d.ts +1 -0
  63. /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { computed, getCurrentInstance, onBeforeMount, ref, watch } from 'vue';
1
+ import { computed, getCurrentInstance, onBeforeMount, onBeforeUnmount, ref, watch } from 'vue';
2
2
  import { getUid, propsFactory } from "../util/component/index.js";
3
3
  import { useModelDuplex } from "./communication.js";
4
4
  import { useForm } from "./form.js";
@@ -44,9 +44,9 @@ export function useValidation(props, name) {
44
44
  });
45
45
  const errorResult = ref();
46
46
  const errors = ref([]);
47
- const isReadonly = computed(() => props.readonly ?? form?.isReadonly.value);
48
- const isDisabled = computed(() => props.disabled ?? form?.isDisabled.value);
49
- const isLoading = computed(() => props.loading ?? form?.isLoading.value);
47
+ const isReadonly = computed(() => props.readonly || form?.isReadonly.value);
48
+ const isDisabled = computed(() => props.disabled || form?.isDisabled.value);
49
+ const isLoading = computed(() => props.loading || form?.isLoading.value);
50
50
  const isError = computed(() => {
51
51
  return props.status === 'error' || errors.value.length > 0;
52
52
  });
@@ -101,6 +101,9 @@ export function useValidation(props, name) {
101
101
  resetError();
102
102
  }
103
103
  }
104
+ onBeforeUnmount(() => {
105
+ form?.unregister?.(cid.value);
106
+ });
104
107
  onBeforeMount(() => {
105
108
  form?.register({
106
109
  id: cid.value,
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","names":["computed","getCurrentInstance","onBeforeMount","ref","watch","getUid","propsFactory","useModelDuplex","useForm","useToggleScope","pressValidationPropsOptions","readonly","Boolean","disabled","status","type","String","validator","value","includes","helperText","validators","Array","validateOn","validationValue","maxErrors","Number","default","useValidation","props","name","uid","arguments","length","undefined","cid","model","validationModel","vm","form","validating","onSet","Set","split","blur","has","input","lazy","submit","errorResult","errors","isReadonly","isDisabled","isLoading","loading","isError","isSuccess","invokeValidators","focused","unwatch","val","results","isArray","handler","result","console","warn","push","resetError","resetValidation","register","id","vnode","validate"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["import {\r\n type PropType,\r\n computed,\r\n getCurrentInstance,\r\n onBeforeMount,\r\n ref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { getUid, propsFactory } from '@/util/component';\r\n\r\nimport { useModelDuplex } from './communication';\r\nimport { useForm } from './form';\r\nimport { useToggleScope } from './scope';\r\n\r\nexport interface ValidationProps {\r\n validateOn: 'input' | 'blur' | 'lazy' | 'submit' | string;\r\n}\r\n\r\nexport const pressValidationPropsOptions = propsFactory(\r\n {\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 helperText: String,\r\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\r\n validateOn: {\r\n type: String as PropType<ValidationProps['validateOn']>,\r\n },\r\n validationValue: null,\r\n maxErrors: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 1,\r\n },\r\n },\r\n 'validation',\r\n);\r\n\r\nexport function useValidation(props: any, name: string, uid = getUid()) {\r\n const cid = computed(() => props.name ?? uid);\r\n const model = useModelDuplex(props, 'modelValue');\r\n const validationModel = computed(() =>\r\n props.validationValue === undefined ? model.value : props.validationValue,\r\n );\r\n const vm = getCurrentInstance()!;\r\n const form = useForm();\r\n const validating = ref(false);\r\n const validateOn = computed(() => {\r\n let value = props.validateOn || 'input';\r\n if (value === 'lazy') value = 'input,lazy';\r\n const onSet = new Set(value?.split(',') ?? []);\r\n\r\n return {\r\n blur: onSet.has('blur') || onSet.has('input'),\r\n input: onSet.has('input'),\r\n lazy: onSet.has('lazy'),\r\n submit: onSet.has('submit'),\r\n };\r\n });\r\n\r\n const errorResult = ref();\r\n const errors = ref<any[]>([]);\r\n\r\n const isReadonly = computed(() => props.readonly ?? form?.isReadonly.value);\r\n\r\n const isDisabled = computed(() => props.disabled ?? form?.isDisabled.value);\r\n\r\n const isLoading = computed(() => props.loading ?? form?.isLoading.value);\r\n\r\n const isError = computed(() => {\r\n return props.status === 'error' || errors.value.length > 0;\r\n });\r\n\r\n const isSuccess = computed(() => {\r\n return !isError.value && props.status === 'success';\r\n });\r\n\r\n useToggleScope(\r\n () => validateOn.value.input,\r\n () => {\r\n watch(validationModel, () => {\r\n if (validationModel.value != null) {\r\n invokeValidators();\r\n } else if (props.focused) {\r\n const unwatch = watch(\r\n () => props.focused,\r\n (val) => {\r\n if (!val) invokeValidators();\r\n\r\n unwatch();\r\n },\r\n );\r\n }\r\n });\r\n },\r\n );\r\n\r\n async function invokeValidators() {\r\n const results: any[] = [];\r\n validating.value = true;\r\n\r\n if (Array.isArray(props.validators)) {\r\n for (const validator of props.validators) {\r\n if (results.length >= +(props.maxErrors ?? 1)) {\r\n break;\r\n }\r\n\r\n const handler =\r\n typeof validator === 'function' ? validator : () => validator;\r\n const result = await handler(validationModel.value);\r\n\r\n if (result === true) {\r\n continue;\r\n }\r\n\r\n if (result !== false && typeof result !== 'string') {\r\n console.warn('Wrong validator return type');\r\n continue;\r\n }\r\n results.push(result || '');\r\n }\r\n }\r\n validating.value = false;\r\n errors.value = results;\r\n errorResult.value = results?.[0];\r\n\r\n return results;\r\n }\r\n\r\n function resetError() {\r\n errors.value = [];\r\n errorResult.value = undefined;\r\n }\r\n\r\n async function resetValidation() {\r\n if (!validateOn.value.lazy) {\r\n await invokeValidators();\r\n } else {\r\n resetError();\r\n }\r\n }\r\n\r\n onBeforeMount(() => {\r\n form?.register({\r\n id: cid.value,\r\n vnode: vm.vnode,\r\n resetValidation,\r\n validate: invokeValidators,\r\n });\r\n });\r\n\r\n return {\r\n invokeValidators,\r\n resetError,\r\n validating,\r\n validateOn,\r\n errorResult,\r\n errors,\r\n isReadonly,\r\n isDisabled,\r\n isLoading,\r\n isError,\r\n isSuccess,\r\n };\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","names":["computed","getCurrentInstance","onBeforeMount","onBeforeUnmount","ref","watch","getUid","propsFactory","useModelDuplex","useForm","useToggleScope","pressValidationPropsOptions","readonly","Boolean","disabled","status","type","String","validator","value","includes","helperText","validators","Array","validateOn","validationValue","maxErrors","Number","default","useValidation","props","name","uid","arguments","length","undefined","cid","model","validationModel","vm","form","validating","onSet","Set","split","blur","has","input","lazy","submit","errorResult","errors","isReadonly","isDisabled","isLoading","loading","isError","isSuccess","invokeValidators","focused","unwatch","val","results","isArray","handler","result","console","warn","push","resetError","resetValidation","unregister","register","id","vnode","validate"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["import {\n type PropType,\n computed,\n getCurrentInstance,\n onBeforeMount,\n onBeforeUnmount,\n ref,\n watch,\n} from 'vue';\n\nimport { getUid, propsFactory } from '@/util/component';\n\nimport { useModelDuplex } from './communication';\nimport { useForm } from './form';\nimport { useToggleScope } from './scope';\n\nexport interface ValidationProps {\n validateOn: 'input' | 'blur' | 'lazy' | 'submit' | string;\n}\n\nexport const pressValidationPropsOptions = propsFactory(\n {\n readonly: Boolean as PropType<boolean>,\n disabled: Boolean as PropType<boolean>,\n status: {\n type: String as PropType<'success' | 'warning' | 'error' | undefined>,\n validator(value: string) {\n return ['success', 'warning', 'error'].includes(value);\n },\n },\n helperText: String,\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\n validateOn: {\n type: String as PropType<ValidationProps['validateOn']>,\n },\n validationValue: null,\n maxErrors: {\n type: [Number, String] as PropType<number | string>,\n default: 1,\n },\n },\n 'validation',\n);\n\nexport function useValidation(props: any, name: string, uid = getUid()) {\n const cid = computed(() => props.name ?? uid);\n const model = useModelDuplex(props, 'modelValue');\n const validationModel = computed(() =>\n props.validationValue === undefined ? model.value : props.validationValue,\n );\n const vm = getCurrentInstance()!;\n const form = useForm();\n const validating = ref(false);\n const validateOn = computed(() => {\n let value = props.validateOn || 'input';\n if (value === 'lazy') value = 'input,lazy';\n const onSet = new Set(value?.split(',') ?? []);\n\n return {\n blur: onSet.has('blur') || onSet.has('input'),\n input: onSet.has('input'),\n lazy: onSet.has('lazy'),\n submit: onSet.has('submit'),\n };\n });\n\n const errorResult = ref();\n const errors = ref<any[]>([]);\n\n const isReadonly = computed(() => props.readonly || form?.isReadonly.value);\n\n const isDisabled = computed(() => props.disabled || form?.isDisabled.value);\n\n const isLoading = computed(() => props.loading || form?.isLoading.value);\n\n const isError = computed(() => {\n return props.status === 'error' || errors.value.length > 0;\n });\n\n const isSuccess = computed(() => {\n return !isError.value && props.status === 'success';\n });\n\n useToggleScope(\n () => validateOn.value.input,\n () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n invokeValidators();\n } else if (props.focused) {\n const unwatch = watch(\n () => props.focused,\n (val) => {\n if (!val) invokeValidators();\n\n unwatch();\n },\n );\n }\n });\n },\n );\n\n async function invokeValidators() {\n const results: any[] = [];\n validating.value = true;\n\n if (Array.isArray(props.validators)) {\n for (const validator of props.validators) {\n if (results.length >= +(props.maxErrors ?? 1)) {\n break;\n }\n\n const handler =\n typeof validator === 'function' ? validator : () => validator;\n const result = await handler(validationModel.value);\n\n if (result === true) {\n continue;\n }\n\n if (result !== false && typeof result !== 'string') {\n console.warn('Wrong validator return type');\n continue;\n }\n results.push(result || '');\n }\n }\n validating.value = false;\n errors.value = results;\n errorResult.value = results?.[0];\n\n return results;\n }\n\n function resetError() {\n errors.value = [];\n errorResult.value = undefined;\n }\n\n async function resetValidation() {\n if (!validateOn.value.lazy) {\n await invokeValidators();\n } else {\n resetError();\n }\n }\n\n onBeforeUnmount(() => {\n form?.unregister?.(cid.value);\n });\n\n onBeforeMount(() => {\n form?.register({\n id: cid.value,\n vnode: vm.vnode,\n resetValidation,\n validate: invokeValidators,\n });\n });\n\n return {\n invokeValidators,\n resetError,\n validating,\n validateOn,\n errorResult,\n errors,\n isReadonly,\n isDisabled,\n isLoading,\n isError,\n isSuccess,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./complement-click/index.js";
2
+ export * from "./plate-wave/index.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/directives/index.ts"],"sourcesContent":["export * from './complement-click';\nexport * from './plate-wave';\n\n"],"mappings":""}
@@ -25,8 +25,8 @@ function hideAnimation(el) {
25
25
  }, delay + 300);
26
26
  }
27
27
 
28
- /*
29
- * Event
28
+ /*
29
+ * Event
30
30
  * */
31
31
 
32
32
  let keyboardEventFlag = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CLASS_NAME","showAnimation","el","animation","document","createElement","className","appendChild","dataset","activated","String","performance","now","hideAnimation","animations","getElementsByClassName","length","isHiding","diff","Number","delay","Math","max","setTimeout","removeChild","keyboardEventFlag","spawn","event","currentTarget","clean","stop","keyboardSpawn","key","keyboardClean","destroyListeners","removeEventListener","attachWave","binding","init","arguments","undefined","value","modifiers","enabled","addEventListener","PlateWave","mounted","updated","oldValue","unmount"],"sources":["../../../src/directives/plate-wave/index.ts"],"sourcesContent":["import type { DirectiveBinding } from 'vue';\r\n\r\nimport './plate-wave.scss';\r\n\r\nexport interface PlateWaveBinding\r\n extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\r\n value?: boolean;\r\n modifiers: { stop?: boolean };\r\n}\r\n\r\nconst CLASS_NAME = 'y-plate-wave__animation';\r\n\r\nfunction showAnimation(el: HTMLElement | null) {\r\n if (!el) return;\r\n const animation = document.createElement('span');\r\n animation.className = CLASS_NAME;\r\n el.appendChild(animation);\r\n animation.dataset.activated = String(performance.now());\r\n}\r\n\r\nfunction hideAnimation(el: HTMLElement | null) {\r\n if (!el) {\r\n return;\r\n }\r\n const animations = el.getElementsByClassName(CLASS_NAME);\r\n if (animations.length === 0) return;\r\n const animation = animations[animations.length - 1] as HTMLElement;\r\n if (animation.dataset.isHiding) return;\r\n animation.dataset.isHiding = 'true';\r\n const diff = performance.now() - Number(animation.dataset.activated);\r\n const delay = Math.max(250 - diff, 0);\r\n setTimeout(() => {\r\n if (animation) {\r\n el.removeChild(animation);\r\n }\r\n }, delay + 300);\r\n}\r\n\r\n/*\r\n * Event\r\n * */\r\n\r\nlet keyboardEventFlag = false;\r\n\r\nfunction spawn(event: Event) {\r\n showAnimation(event.currentTarget as HTMLElement);\r\n}\r\n\r\nfunction clean(event: Event) {\r\n hideAnimation(event.currentTarget as HTMLElement);\r\n}\r\n\r\nfunction stop(event: Event) {\r\n //\r\n}\r\n\r\nfunction keyboardSpawn(event: KeyboardEvent) {\r\n if (!keyboardEventFlag && (event.key === 'Enter' || event.key === 'Space')) {\r\n keyboardEventFlag = true;\r\n showAnimation(event.currentTarget as HTMLElement);\r\n }\r\n}\r\n\r\nfunction keyboardClean(event: KeyboardEvent) {\r\n keyboardEventFlag = false;\r\n hideAnimation(event.currentTarget as HTMLElement);\r\n}\r\n\r\nfunction destroyListeners(el: HTMLElement) {\r\n el.removeEventListener('mousedown', spawn);\r\n el.removeEventListener('mouseup', clean);\r\n el.removeEventListener('mouseleave', clean);\r\n el.removeEventListener('keydown', keyboardSpawn);\r\n el.removeEventListener('keyup', keyboardClean);\r\n}\r\n\r\nfunction attachWave(el: HTMLElement, binding: PlateWaveBinding, init = false) {\r\n const { value, modifiers } = binding;\r\n let enabled = value ?? true;\r\n if (typeof value === 'boolean') {\r\n enabled = value;\r\n }\r\n if (!enabled) hideAnimation(el);\r\n\r\n if (enabled && init) {\r\n if (modifiers.stop) {\r\n el.addEventListener('mousedown', stop);\r\n return;\r\n }\r\n\r\n el.addEventListener('mousedown', spawn);\r\n el.addEventListener('mouseup', clean);\r\n el.addEventListener('mouseleave', clean);\r\n el.addEventListener('keydown', keyboardSpawn);\r\n el.addEventListener('keyup', keyboardClean);\r\n el.addEventListener('blur', clean);\r\n } else if (!enabled && !init) {\r\n destroyListeners(el);\r\n }\r\n}\r\n\r\nexport const PlateWave = {\r\n mounted(el: HTMLElement, binding: PlateWaveBinding) {\r\n attachWave(el, binding, true);\r\n },\r\n updated(el: HTMLElement, binding: PlateWaveBinding) {\r\n if (binding.value === binding.oldValue) {\r\n return;\r\n }\r\n attachWave(el, binding);\r\n },\r\n unmount(el: HTMLElement) {\r\n destroyListeners(el);\r\n },\r\n};\r\n\r\nexport default PlateWave;\r\n"],"mappings":"AAEA;AAQA,MAAMA,UAAU,GAAG,yBAAyB;AAE5C,SAASC,aAAaA,CAACC,EAAsB,EAAE;EAC7C,IAAI,CAACA,EAAE,EAAE;EACT,MAAMC,SAAS,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;EAChDF,SAAS,CAACG,SAAS,GAAGN,UAAU;EAChCE,EAAE,CAACK,WAAW,CAACJ,SAAS,CAAC;EACzBA,SAAS,CAACK,OAAO,CAACC,SAAS,GAAGC,MAAM,CAACC,WAAW,CAACC,GAAG,CAAC,CAAC,CAAC;AACzD;AAEA,SAASC,aAAaA,CAACX,EAAsB,EAAE;EAC7C,IAAI,CAACA,EAAE,EAAE;IACP;EACF;EACA,MAAMY,UAAU,GAAGZ,EAAE,CAACa,sBAAsB,CAACf,UAAU,CAAC;EACxD,IAAIc,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;EAC7B,MAAMb,SAAS,GAAGW,UAAU,CAACA,UAAU,CAACE,MAAM,GAAG,CAAC,CAAgB;EAClE,IAAIb,SAAS,CAACK,OAAO,CAACS,QAAQ,EAAE;EAChCd,SAAS,CAACK,OAAO,CAACS,QAAQ,GAAG,MAAM;EACnC,MAAMC,IAAI,GAAGP,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGO,MAAM,CAAChB,SAAS,CAACK,OAAO,CAACC,SAAS,CAAC;EACpE,MAAMW,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,GAAGJ,IAAI,EAAE,CAAC,CAAC;EACrCK,UAAU,CAAC,MAAM;IACf,IAAIpB,SAAS,EAAE;MACbD,EAAE,CAACsB,WAAW,CAACrB,SAAS,CAAC;IAC3B;EACF,CAAC,EAAEiB,KAAK,GAAG,GAAG,CAAC;AACjB;;AAEA;AACA;AACA;;AAEA,IAAIK,iBAAiB,GAAG,KAAK;AAE7B,SAASC,KAAKA,CAACC,KAAY,EAAE;EAC3B1B,aAAa,CAAC0B,KAAK,CAACC,aAA4B,CAAC;AACnD;AAEA,SAASC,KAAKA,CAACF,KAAY,EAAE;EAC3Bd,aAAa,CAACc,KAAK,CAACC,aAA4B,CAAC;AACnD;AAEA,SAASE,IAAIA,CAACH,KAAY,EAAE;EAC1B;AAAA;AAGF,SAASI,aAAaA,CAACJ,KAAoB,EAAE;EAC3C,IAAI,CAACF,iBAAiB,KAAKE,KAAK,CAACK,GAAG,KAAK,OAAO,IAAIL,KAAK,CAACK,GAAG,KAAK,OAAO,CAAC,EAAE;IAC1EP,iBAAiB,GAAG,IAAI;IACxBxB,aAAa,CAAC0B,KAAK,CAACC,aAA4B,CAAC;EACnD;AACF;AAEA,SAASK,aAAaA,CAACN,KAAoB,EAAE;EAC3CF,iBAAiB,GAAG,KAAK;EACzBZ,aAAa,CAACc,KAAK,CAACC,aAA4B,CAAC;AACnD;AAEA,SAASM,gBAAgBA,CAAChC,EAAe,EAAE;EACzCA,EAAE,CAACiC,mBAAmB,CAAC,WAAW,EAAET,KAAK,CAAC;EAC1CxB,EAAE,CAACiC,mBAAmB,CAAC,SAAS,EAAEN,KAAK,CAAC;EACxC3B,EAAE,CAACiC,mBAAmB,CAAC,YAAY,EAAEN,KAAK,CAAC;EAC3C3B,EAAE,CAACiC,mBAAmB,CAAC,SAAS,EAAEJ,aAAa,CAAC;EAChD7B,EAAE,CAACiC,mBAAmB,CAAC,OAAO,EAAEF,aAAa,CAAC;AAChD;AAEA,SAASG,UAAUA,CAAClC,EAAe,EAAEmC,OAAyB,EAAgB;EAAA,IAAdC,IAAI,GAAAC,SAAA,CAAAvB,MAAA,QAAAuB,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;EAC1E,MAAM;IAAEE,KAAK;IAAEC;EAAU,CAAC,GAAGL,OAAO;EACpC,IAAIM,OAAO,GAAGF,KAAK,IAAI,IAAI;EAC3B,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IAC9BE,OAAO,GAAGF,KAAK;EACjB;EACA,IAAI,CAACE,OAAO,EAAE9B,aAAa,CAACX,EAAE,CAAC;EAE/B,IAAIyC,OAAO,IAAIL,IAAI,EAAE;IACnB,IAAII,SAAS,CAACZ,IAAI,EAAE;MAClB5B,EAAE,CAAC0C,gBAAgB,CAAC,WAAW,EAAEd,IAAI,CAAC;MACtC;IACF;IAEA5B,EAAE,CAAC0C,gBAAgB,CAAC,WAAW,EAAElB,KAAK,CAAC;IACvCxB,EAAE,CAAC0C,gBAAgB,CAAC,SAAS,EAAEf,KAAK,CAAC;IACrC3B,EAAE,CAAC0C,gBAAgB,CAAC,YAAY,EAAEf,KAAK,CAAC;IACxC3B,EAAE,CAAC0C,gBAAgB,CAAC,SAAS,EAAEb,aAAa,CAAC;IAC7C7B,EAAE,CAAC0C,gBAAgB,CAAC,OAAO,EAAEX,aAAa,CAAC;IAC3C/B,EAAE,CAAC0C,gBAAgB,CAAC,MAAM,EAAEf,KAAK,CAAC;EACpC,CAAC,MAAM,IAAI,CAACc,OAAO,IAAI,CAACL,IAAI,EAAE;IAC5BJ,gBAAgB,CAAChC,EAAE,CAAC;EACtB;AACF;AAEA,OAAO,MAAM2C,SAAS,GAAG;EACvBC,OAAOA,CAAC5C,EAAe,EAAEmC,OAAyB,EAAE;IAClDD,UAAU,CAAClC,EAAE,EAAEmC,OAAO,EAAE,IAAI,CAAC;EAC/B,CAAC;EACDU,OAAOA,CAAC7C,EAAe,EAAEmC,OAAyB,EAAE;IAClD,IAAIA,OAAO,CAACI,KAAK,KAAKJ,OAAO,CAACW,QAAQ,EAAE;MACtC;IACF;IACAZ,UAAU,CAAClC,EAAE,EAAEmC,OAAO,CAAC;EACzB,CAAC;EACDY,OAAOA,CAAC/C,EAAe,EAAE;IACvBgC,gBAAgB,CAAChC,EAAE,CAAC;EACtB;AACF,CAAC;AAED,eAAe2C,SAAS"}
1
+ {"version":3,"file":"index.js","names":["CLASS_NAME","showAnimation","el","animation","document","createElement","className","appendChild","dataset","activated","String","performance","now","hideAnimation","animations","getElementsByClassName","length","isHiding","diff","Number","delay","Math","max","setTimeout","removeChild","keyboardEventFlag","spawn","event","currentTarget","clean","stop","keyboardSpawn","key","keyboardClean","destroyListeners","removeEventListener","attachWave","binding","init","arguments","undefined","value","modifiers","enabled","addEventListener","PlateWave","mounted","updated","oldValue","unmount"],"sources":["../../../src/directives/plate-wave/index.ts"],"sourcesContent":["import type { Directive, DirectiveBinding } from 'vue';\n\nimport './plate-wave.scss';\n\nexport interface PlateWaveBinding\n extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean;\n modifiers: { stop?: boolean };\n}\n\nconst CLASS_NAME = 'y-plate-wave__animation';\n\nfunction showAnimation(el: HTMLElement | null) {\n if (!el) return;\n const animation = document.createElement('span');\n animation.className = CLASS_NAME;\n el.appendChild(animation);\n animation.dataset.activated = String(performance.now());\n}\n\nfunction hideAnimation(el: HTMLElement | null) {\n if (!el) {\n return;\n }\n const animations = el.getElementsByClassName(CLASS_NAME);\n if (animations.length === 0) return;\n const animation = animations[animations.length - 1] as HTMLElement;\n if (animation.dataset.isHiding) return;\n animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n if (animation) {\n el.removeChild(animation);\n }\n }, delay + 300);\n}\n\n/*\n * Event\n * */\n\nlet keyboardEventFlag = false;\n\nfunction spawn(event: Event) {\n showAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction clean(event: Event) {\n hideAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction stop(event: Event) {\n //\n}\n\nfunction keyboardSpawn(event: KeyboardEvent) {\n if (!keyboardEventFlag && (event.key === 'Enter' || event.key === 'Space')) {\n keyboardEventFlag = true;\n showAnimation(event.currentTarget as HTMLElement);\n }\n}\n\nfunction keyboardClean(event: KeyboardEvent) {\n keyboardEventFlag = false;\n hideAnimation(event.currentTarget as HTMLElement);\n}\n\nfunction destroyListeners(el: HTMLElement) {\n el.removeEventListener('mousedown', spawn);\n el.removeEventListener('mouseup', clean);\n el.removeEventListener('mouseleave', clean);\n el.removeEventListener('keydown', keyboardSpawn);\n el.removeEventListener('keyup', keyboardClean);\n}\n\nfunction attachWave(el: HTMLElement, binding: PlateWaveBinding, init = false) {\n const { value, modifiers } = binding;\n let enabled = value ?? true;\n if (typeof value === 'boolean') {\n enabled = value;\n }\n if (!enabled) hideAnimation(el);\n\n if (enabled && init) {\n if (modifiers.stop) {\n el.addEventListener('mousedown', stop);\n return;\n }\n\n el.addEventListener('mousedown', spawn);\n el.addEventListener('mouseup', clean);\n el.addEventListener('mouseleave', clean);\n el.addEventListener('keydown', keyboardSpawn);\n el.addEventListener('keyup', keyboardClean);\n el.addEventListener('blur', clean);\n } else if (!enabled && !init) {\n destroyListeners(el);\n }\n}\n\nexport const PlateWave = {\n mounted(el: HTMLElement, binding: PlateWaveBinding) {\n attachWave(el, binding, true);\n },\n updated(el: HTMLElement, binding: PlateWaveBinding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n attachWave(el, binding);\n },\n unmount(el: HTMLElement) {\n destroyListeners(el);\n },\n};\n\nexport type PlateWaveDirective = Directive<HTMLElement, PlateWaveBinding>;\n\ndeclare module 'vue' {\n export interface ComponentCustomProperties {\n vPlateWave: PlateWaveDirective;\n }\n}\n\nexport default PlateWave;\n"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { unref, watchEffect } from 'vue';
2
+ const bindThemeClass = (el, binding, vnode) => {
3
+ function bindingClass(themeClass) {
4
+ el.classList.forEach(classToken => {
5
+ if (classToken.startsWith('y-theme--') && classToken !== themeClass) {
6
+ el.classList.remove(classToken);
7
+ }
8
+ });
9
+ el.classList.add(themeClass);
10
+ }
11
+ watchEffect(() => {
12
+ const theme = binding.instance?.$yuyeon?.theme ?? vnode?.ctx?.root.appContext.config.globalProperties?.$yuyeon?.theme;
13
+ const themeName = binding.value ?? unref(theme.currentThemeKey) ?? '';
14
+ if (!themeName) {
15
+ return;
16
+ }
17
+ const themeClass = `y-theme--${themeName}`;
18
+ bindingClass(themeClass);
19
+ }, {
20
+ flush: 'post'
21
+ });
22
+ };
23
+ export default bindThemeClass;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["unref","watchEffect","bindThemeClass","el","binding","vnode","bindingClass","themeClass","classList","forEach","classToken","startsWith","remove","add","theme","instance","$yuyeon","ctx","root","appContext","config","globalProperties","themeName","value","currentThemeKey","flush"],"sources":["../../../src/directives/theme-class/index.ts"],"sourcesContent":["import { FunctionDirective, unref, watchEffect } from 'vue';\n\nconst bindThemeClass: FunctionDirective = (el, binding, vnode) => {\n function bindingClass(themeClass: string) {\n el.classList.forEach((classToken: string) => {\n if (classToken.startsWith('y-theme--') && classToken !== themeClass) {\n el.classList.remove(classToken);\n }\n });\n el.classList.add(themeClass);\n }\n\n watchEffect(\n () => {\n const theme =\n (binding.instance as any)?.$yuyeon?.theme ??\n (vnode as any)?.ctx?.root.appContext.config.globalProperties?.$yuyeon\n ?.theme;\n const themeName = binding.value ?? unref(theme.currentThemeKey) ?? '';\n if (!themeName) {\n return;\n }\n const themeClass = `y-theme--${themeName}`;\n bindingClass(themeClass);\n },\n { flush: 'post' },\n );\n};\n\nexport default bindThemeClass;\n"],"mappings":"AAAA,SAA4BA,KAAK,EAAEC,WAAW,QAAQ,KAAK;AAE3D,MAAMC,cAAiC,GAAGA,CAACC,EAAE,EAAEC,OAAO,EAAEC,KAAK,KAAK;EAChE,SAASC,YAAYA,CAACC,UAAkB,EAAE;IACxCJ,EAAE,CAACK,SAAS,CAACC,OAAO,CAAEC,UAAkB,IAAK;MAC3C,IAAIA,UAAU,CAACC,UAAU,CAAC,WAAW,CAAC,IAAID,UAAU,KAAKH,UAAU,EAAE;QACnEJ,EAAE,CAACK,SAAS,CAACI,MAAM,CAACF,UAAU,CAAC;MACjC;IACF,CAAC,CAAC;IACFP,EAAE,CAACK,SAAS,CAACK,GAAG,CAACN,UAAU,CAAC;EAC9B;EAEAN,WAAW,CACT,MAAM;IACJ,MAAMa,KAAK,GACRV,OAAO,CAACW,QAAQ,EAAUC,OAAO,EAAEF,KAAK,IACxCT,KAAK,EAAUY,GAAG,EAAEC,IAAI,CAACC,UAAU,CAACC,MAAM,CAACC,gBAAgB,EAAEL,OAAO,EACjEF,KAAK;IACX,MAAMQ,SAAS,GAAGlB,OAAO,CAACmB,KAAK,IAAIvB,KAAK,CAACc,KAAK,CAACU,eAAe,CAAC,IAAI,EAAE;IACrE,IAAI,CAACF,SAAS,EAAE;MACd;IACF;IACA,MAAMf,UAAU,GAAI,YAAWe,SAAU,EAAC;IAC1ChB,YAAY,CAACC,UAAU,CAAC;EAC1B,CAAC,EACD;IAAEkB,KAAK,EAAE;EAAO,CAClB,CAAC;AACH,CAAC;AAED,eAAevB,cAAc"}
@@ -66,4 +66,7 @@ export function simpleBraceParse(input) {
66
66
  });
67
67
  return results;
68
68
  }
69
+ export function escapeRegExp(str) {
70
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
71
+ }
69
72
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","names":["camelToPascal","str","charAt","toUpperCase","slice","toKebabCase","from","arguments","length","undefined","res","index","char","charCode","charCodeAt","toLowerCase","kebabToCamel","randomCharOne","Math","floor","random","simpleBraceParse","input","pattern","results","match","pointer","exec","variable","start","end","lastIndex","prevText","substring","push","type","content","trim"],"sources":["../../src/util/string.ts"],"sourcesContent":["export function camelToPascal(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function toKebabCase(str: string, from: 'camel' | 'pascal' = 'camel') {\n let res = '';\n for (let index = 0; index < str.length; index += 1) {\n const char = str[index];\n const charCode = char.charCodeAt(0);\n if (charCode >= 65 && charCode <= 90) {\n res += `${\n index === 0 && from === 'camel' ? '' : '-'\n }${char.toLowerCase()}`;\n } else {\n res += char;\n }\n }\n return res;\n}\n\nexport function kebabToCamel(str: string) {\n let res = '';\n let index = 0;\n while (index < str.length) {\n const char = str[index];\n if (char === '-') {\n index += 1;\n res += str[index].toUpperCase();\n } else {\n res += char;\n }\n index += 1;\n }\n return res;\n}\n\nexport function randomCharOne(str: string) {\n if (str) {\n return str.charAt(Math.floor(Math.random() * str.length));\n }\n return '';\n}\n\nexport function simpleBraceParse(input: string) {\n const pattern = /\\{([^{}]+)\\}/g;\n const results = [];\n let match;\n let pointer = 0;\n\n while ((match = pattern.exec(input)) !== null) {\n const variable = match[1];\n const start = match.index;\n const end = pattern.lastIndex;\n if (start > 0) {\n const prevText = input.substring(pointer, start);\n results.push({\n type: 'text',\n content: prevText,\n });\n }\n if (variable.trim()) {\n results.push({\n type: 'variable',\n content: variable.trim(),\n });\n }\n\n pointer = end;\n }\n\n results.push({\n type: 'text',\n content: input.substring(pointer, input.length),\n });\n\n return results;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"string.js","names":["camelToPascal","str","charAt","toUpperCase","slice","toKebabCase","from","arguments","length","undefined","res","index","char","charCode","charCodeAt","toLowerCase","kebabToCamel","randomCharOne","Math","floor","random","simpleBraceParse","input","pattern","results","match","pointer","exec","variable","start","end","lastIndex","prevText","substring","push","type","content","trim","escapeRegExp","replace"],"sources":["../../src/util/string.ts"],"sourcesContent":["export function camelToPascal(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nexport function toKebabCase(str: string, from: 'camel' | 'pascal' = 'camel') {\n let res = '';\n for (let index = 0; index < str.length; index += 1) {\n const char = str[index];\n const charCode = char.charCodeAt(0);\n if (charCode >= 65 && charCode <= 90) {\n res += `${\n index === 0 && from === 'camel' ? '' : '-'\n }${char.toLowerCase()}`;\n } else {\n res += char;\n }\n }\n return res;\n}\n\nexport function kebabToCamel(str: string) {\n let res = '';\n let index = 0;\n while (index < str.length) {\n const char = str[index];\n if (char === '-') {\n index += 1;\n res += str[index].toUpperCase();\n } else {\n res += char;\n }\n index += 1;\n }\n return res;\n}\n\nexport function randomCharOne(str: string) {\n if (str) {\n return str.charAt(Math.floor(Math.random() * str.length));\n }\n return '';\n}\n\nexport function simpleBraceParse(input: string) {\n const pattern = /\\{([^{}]+)\\}/g;\n const results = [];\n let match;\n let pointer = 0;\n\n while ((match = pattern.exec(input)) !== null) {\n const variable = match[1];\n const start = match.index;\n const end = pattern.lastIndex;\n if (start > 0) {\n const prevText = input.substring(pointer, start);\n results.push({\n type: 'text',\n content: prevText,\n });\n }\n if (variable.trim()) {\n results.push({\n type: 'variable',\n content: variable.trim(),\n });\n }\n\n pointer = end;\n }\n\n results.push({\n type: 'text',\n content: input.substring(pointer, input.length),\n });\n\n return results;\n}\n\nexport function escapeRegExp(str: string) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.3.3",
3
+ "version": "0.3.4-beta.9",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"
@@ -39,6 +39,14 @@
39
39
  "module": "./lib/components/*/*.js",
40
40
  "types": "./types/components/*/*.d.ts"
41
41
  },
42
+ "./directives": {
43
+ "types": "./types/directives/index.d.ts",
44
+ "module": "./lib/directives/index.js"
45
+ },
46
+ "./directives/*": {
47
+ "module": "./lib/directives/*/*.js",
48
+ "types": "./types/directives/*/*.d.ts"
49
+ },
42
50
  "./composables": {
43
51
  "types": "./types/composables/index.d.ts",
44
52
  "module": "./lib/composables/index.js",
@@ -27,10 +27,8 @@ export declare const pressYBadgePropsOptions: <Defaults extends {
27
27
  };
28
28
  backgroundOpacity: unknown extends Defaults["backgroundOpacity"] ? {
29
29
  type: NumberConstructor;
30
- default: number;
31
30
  } : Omit<{
32
31
  type: NumberConstructor;
33
- default: number;
34
32
  }, "type" | "default"> & {
35
33
  type: PropType<unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"]>;
36
34
  default: unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"];
@@ -103,7 +101,6 @@ export declare const YBadge: import('vue').DefineComponent<{
103
101
  background: StringConstructor;
104
102
  backgroundOpacity: {
105
103
  type: NumberConstructor;
106
- default: number;
107
104
  };
108
105
  tag: {
109
106
  type: PropType<string>;
@@ -19,10 +19,8 @@ export declare const pressYChipPropsOptions: <Defaults extends {
19
19
  };
20
20
  backgroundOpacity: unknown extends Defaults["backgroundOpacity"] ? {
21
21
  type: NumberConstructor;
22
- default: number;
23
22
  } : Omit<{
24
23
  type: NumberConstructor;
25
- default: number;
26
24
  }, "type" | "default"> & {
27
25
  type: import('vue').PropType<unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"]>;
28
26
  default: unknown extends Defaults["backgroundOpacity"] ? number : number | Defaults["backgroundOpacity"];
@@ -34,7 +32,6 @@ export declare const YChip: import('vue').DefineComponent<{
34
32
  background: StringConstructor;
35
33
  backgroundOpacity: {
36
34
  type: NumberConstructor;
37
- default: number;
38
35
  };
39
36
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string>;
40
37
  export type YChip = InstanceType<typeof YChip>;
@@ -0,0 +1 @@
1
+ export * from './YDraggable';
@@ -35,6 +35,7 @@ export declare const pressYFieldInputPropsOptions: <Defaults extends {
35
35
  whenInputValid?: unknown;
36
36
  tabindex?: unknown;
37
37
  type?: unknown;
38
+ inputStyle?: unknown;
38
39
  } = {}>(defaults?: Defaults | undefined) => {
39
40
  extended: unknown extends Defaults["extended"] ? PropType<any> : {
40
41
  type: PropType<unknown extends Defaults["extended"] ? any : any>;
@@ -238,6 +239,10 @@ export declare const pressYFieldInputPropsOptions: <Defaults extends {
238
239
  type: PropType<unknown extends Defaults["type"] ? string : string | Defaults["type"]>;
239
240
  default: unknown extends Defaults["type"] ? string : string | Defaults["type"];
240
241
  };
242
+ inputStyle: unknown extends Defaults["inputStyle"] ? PropType<any> : {
243
+ type: PropType<unknown extends Defaults["inputStyle"] ? any : any>;
244
+ default: unknown extends Defaults["inputStyle"] ? any : any;
245
+ };
241
246
  };
242
247
  export declare const YFieldInput: import('vue').DefineComponent<{
243
248
  extended: PropType<any>;
@@ -307,6 +312,7 @@ export declare const YFieldInput: import('vue').DefineComponent<{
307
312
  type: PropType<string>;
308
313
  default: string;
309
314
  };
315
+ inputStyle: PropType<any>;
310
316
  }, {
311
317
  focused: import('vue').Ref<any, any> & {
312
318
  readonly rxValue: any;
@@ -0,0 +1,25 @@
1
+ import { PropType } from 'vue';
2
+
3
+ export declare const pressYRadioPropsOptions: <Defaults extends {
4
+ modelValue?: unknown;
5
+ disabled?: unknown;
6
+ value?: unknown;
7
+ label?: unknown;
8
+ } = {}>(defaults?: Defaults | undefined) => {
9
+ modelValue: unknown extends Defaults["modelValue"] ? PropType<boolean> : {
10
+ type: PropType<unknown extends Defaults["modelValue"] ? boolean : boolean | Defaults["modelValue"]>;
11
+ default: unknown extends Defaults["modelValue"] ? boolean : boolean | Defaults["modelValue"];
12
+ };
13
+ disabled: unknown extends Defaults["disabled"] ? PropType<boolean> : {
14
+ type: PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
15
+ default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
16
+ };
17
+ value: unknown extends Defaults["value"] ? PropType<string> : {
18
+ type: PropType<unknown extends Defaults["value"] ? string : string | Defaults["value"]>;
19
+ default: unknown extends Defaults["value"] ? string : string | Defaults["value"];
20
+ };
21
+ label: unknown extends Defaults["label"] ? PropType<string> : {
22
+ type: PropType<unknown extends Defaults["label"] ? string : string | Defaults["label"]>;
23
+ default: unknown extends Defaults["label"] ? string : string | Defaults["label"];
24
+ };
25
+ };
@@ -0,0 +1,6 @@
1
+
2
+ export declare const YRadioIcon: import('vue').DefineComponent<{
3
+ active: BooleanConstructor;
4
+ disabled: BooleanConstructor;
5
+ }, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string>;
6
+ export type YRadioIcon = InstanceType<typeof YRadioIcon>;
@@ -0,0 +1,2 @@
1
+ export * from './YRadioIcon';
2
+ export * from './YRadio';
@@ -537,6 +537,7 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
537
537
  whenInputValid?: unknown;
538
538
  tabindex?: unknown;
539
539
  type?: unknown;
540
+ inputStyle?: unknown;
540
541
  returnItem?: unknown;
541
542
  items?: unknown;
542
543
  itemKey?: unknown;
@@ -809,6 +810,10 @@ export declare const pressYSelectPropsOptions: <Defaults extends {
809
810
  type: PropType<unknown extends Defaults["type"] ? string : string | Defaults["type"]>;
810
811
  default: unknown extends Defaults["type"] ? string : string | Defaults["type"];
811
812
  };
813
+ inputStyle: unknown extends Defaults["inputStyle"] ? PropType<any> : {
814
+ type: PropType<unknown extends Defaults["inputStyle"] ? any : any>;
815
+ default: unknown extends Defaults["inputStyle"] ? any : any;
816
+ };
812
817
  returnItem: unknown extends Defaults["returnItem"] ? BooleanConstructor : {
813
818
  type: PropType<unknown extends Defaults["returnItem"] ? boolean : boolean | Defaults["returnItem"]>;
814
819
  default: unknown extends Defaults["returnItem"] ? boolean : boolean | Defaults["returnItem"];
@@ -1420,6 +1425,7 @@ export declare const YSelect: import('vue').DefineComponent<{
1420
1425
  type: PropType<string>;
1421
1426
  default: string;
1422
1427
  };
1428
+ inputStyle: PropType<any>;
1423
1429
  returnItem: BooleanConstructor;
1424
1430
  items: {
1425
1431
  type: PropType<any[]>;
@@ -496,6 +496,9 @@ export declare const YDataTable: import('vue').DefineComponent<{
496
496
  type: PropType<string | number>;
497
497
  default: number;
498
498
  };
499
+ paginationProps: {
500
+ type: ObjectConstructor;
501
+ };
499
502
  }, {
500
503
  paginatedItems: import('vue').ComputedRef<readonly any[]>;
501
504
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -6,6 +6,7 @@ export declare const pressYDataTableControlPropsOptions: <Defaults extends {
6
6
  pageLength?: unknown;
7
7
  setPageSize?: unknown;
8
8
  setPage?: unknown;
9
+ paginationProps?: unknown;
9
10
  } = {}>(defaults?: Defaults | undefined) => {
10
11
  page: unknown extends Defaults["page"] ? {
11
12
  type: PropType<string | number>;
@@ -39,6 +40,14 @@ export declare const pressYDataTableControlPropsOptions: <Defaults extends {
39
40
  type: PropType<unknown extends Defaults["setPage"] ? (page: number) => void : ((page: number) => void) | Defaults["setPage"]>;
40
41
  default: unknown extends Defaults["setPage"] ? (page: number) => void : ((page: number) => void) | Defaults["setPage"];
41
42
  };
43
+ paginationProps: unknown extends Defaults["paginationProps"] ? {
44
+ type: ObjectConstructor;
45
+ } : Omit<{
46
+ type: ObjectConstructor;
47
+ }, "type" | "default"> & {
48
+ type: PropType<unknown extends Defaults["paginationProps"] ? Record<string, any> : Record<string, any> | Defaults["paginationProps"]>;
49
+ default: unknown extends Defaults["paginationProps"] ? Record<string, any> : Record<string, any> | Defaults["paginationProps"];
50
+ };
42
51
  };
43
52
  export declare const YDataTableControl: import('vue').DefineComponent<{
44
53
  page: {
@@ -52,5 +61,8 @@ export declare const YDataTableControl: import('vue').DefineComponent<{
52
61
  pageLength: PropType<number>;
53
62
  setPageSize: PropType<(pageSize: number) => void>;
54
63
  setPage: PropType<(page: number) => void>;
64
+ paginationProps: {
65
+ type: ObjectConstructor;
66
+ };
55
67
  }, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string>;
56
68
  export type YDataTableControl = InstanceType<typeof YDataTableControl>;
@@ -39,6 +39,7 @@ export declare const pressDataTableServerProps: <Defaults extends {
39
39
  'onKeydown:row'?: unknown;
40
40
  page?: unknown;
41
41
  pageSize?: unknown;
42
+ paginationProps?: unknown;
42
43
  total?: unknown;
43
44
  } = {}>(defaults?: Defaults | undefined) => {
44
45
  tag: unknown extends Defaults["tag"] ? {
@@ -150,14 +151,14 @@ export declare const pressDataTableServerProps: <Defaults extends {
150
151
  default: unknown extends Defaults["modelValue"] ? readonly any[] : readonly any[] | Defaults["modelValue"];
151
152
  };
152
153
  itemComparator: unknown extends Defaults["itemComparator"] ? {
153
- type: PropType<string | typeof import('../../util').deepEqual>;
154
- default: () => typeof import('../../util').deepEqual;
154
+ type: PropType<string | typeof import('../../util/common').deepEqual>;
155
+ default: () => typeof import('../../util/common').deepEqual;
155
156
  } : Omit<{
156
- type: PropType<string | typeof import('../../util').deepEqual>;
157
- default: () => typeof import('../../util').deepEqual;
157
+ type: PropType<string | typeof import('../../util/common').deepEqual>;
158
+ default: () => typeof import('../../util/common').deepEqual;
158
159
  }, "type" | "default"> & {
159
- type: PropType<unknown extends Defaults["itemComparator"] ? string | typeof import('../../util').deepEqual : NonNullable<string | typeof import('../../util').deepEqual> | Defaults["itemComparator"]>;
160
- default: unknown extends Defaults["itemComparator"] ? string | typeof import('../../util').deepEqual : NonNullable<string | typeof import('../../util').deepEqual> | Defaults["itemComparator"];
160
+ type: PropType<unknown extends Defaults["itemComparator"] ? string | typeof import('../../util/common').deepEqual : NonNullable<string | typeof import('../../util/common').deepEqual> | Defaults["itemComparator"]>;
161
+ default: unknown extends Defaults["itemComparator"] ? string | typeof import('../../util/common').deepEqual : NonNullable<string | typeof import('../../util/common').deepEqual> | Defaults["itemComparator"];
161
162
  };
162
163
  sortBy: unknown extends Defaults["sortBy"] ? {
163
164
  type: PropType<readonly {
@@ -409,6 +410,14 @@ export declare const pressDataTableServerProps: <Defaults extends {
409
410
  type: PropType<unknown extends Defaults["pageSize"] ? string | number : NonNullable<string | number> | Defaults["pageSize"]>;
410
411
  default: unknown extends Defaults["pageSize"] ? string | number : NonNullable<string | number> | Defaults["pageSize"];
411
412
  };
413
+ paginationProps: unknown extends Defaults["paginationProps"] ? {
414
+ type: ObjectConstructor;
415
+ } : Omit<{
416
+ type: ObjectConstructor;
417
+ }, "type" | "default"> & {
418
+ type: PropType<unknown extends Defaults["paginationProps"] ? Record<string, any> : Record<string, any> | Defaults["paginationProps"]>;
419
+ default: unknown extends Defaults["paginationProps"] ? Record<string, any> : Record<string, any> | Defaults["paginationProps"];
420
+ };
412
421
  total: unknown extends Defaults["total"] ? {
413
422
  type: PropType<string | number>;
414
423
  required: true;
@@ -461,8 +470,8 @@ export declare const YDataTableServer: import('vue').DefineComponent<{
461
470
  default: () => never[];
462
471
  };
463
472
  itemComparator: {
464
- type: PropType<string | typeof import('../../util').deepEqual>;
465
- default: () => typeof import('../../util').deepEqual;
473
+ type: PropType<string | typeof import('../../util/common').deepEqual>;
474
+ default: () => typeof import('../../util/common').deepEqual;
466
475
  };
467
476
  sortBy: {
468
477
  type: PropType<readonly {
@@ -529,6 +538,9 @@ export declare const YDataTableServer: import('vue').DefineComponent<{
529
538
  type: PropType<string | number>;
530
539
  default: number;
531
540
  };
541
+ paginationProps: {
542
+ type: ObjectConstructor;
543
+ };
532
544
  total: {
533
545
  type: PropType<string | number>;
534
546
  required: true;
@@ -5,7 +5,6 @@ export declare const styleColorPropsOptions: {
5
5
  background: StringConstructor;
6
6
  backgroundOpacity: {
7
7
  type: NumberConstructor;
8
- default: number;
9
8
  };
10
9
  };
11
10
  export declare function useStyleColor(props: ExtractPropTypes<typeof styleColorPropsOptions>, name: string): {
@@ -43,6 +43,7 @@ export declare function createThemeModule(options: ThemeOptions): {
43
43
  scheme: Ref<string, string>;
44
44
  theme: Ref<[string, string], [string, string]>;
45
45
  currentThemeKey: ComputedRef<string>;
46
+ currentThemeColors: ComputedRef<Record<string, string>>;
46
47
  themeClasses: ComputedRef<string>;
47
48
  computedThemes: ComputedRef<Record<string, import('./types').ThemeDefinition>>;
48
49
  computedPalette: ComputedRef<Record<string, string>>;
@@ -0,0 +1,2 @@
1
+ export * from './complement-click';
2
+ export * from './plate-wave';
@@ -1,4 +1,4 @@
1
- import { DirectiveBinding } from 'vue';
1
+ import { Directive, DirectiveBinding } from 'vue';
2
2
 
3
3
  export interface PlateWaveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {
4
4
  value?: boolean;
@@ -11,4 +11,10 @@ export declare const PlateWave: {
11
11
  updated(el: HTMLElement, binding: PlateWaveBinding): void;
12
12
  unmount(el: HTMLElement): void;
13
13
  };
14
+ export type PlateWaveDirective = Directive<HTMLElement, PlateWaveBinding>;
15
+ declare module 'vue' {
16
+ interface ComponentCustomProperties {
17
+ vPlateWave: PlateWaveDirective;
18
+ }
19
+ }
14
20
  export default PlateWave;