yuyeon 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +15 -0
  3. package/dist/style.css +1 -1
  4. package/dist/yuyeon.mjs +3134 -2276
  5. package/dist/yuyeon.umd.js +29 -1
  6. package/lib/abstract/items.mjs +20 -0
  7. package/lib/abstract/items.mjs.map +1 -0
  8. package/lib/components/button/YButton.mjs +2 -2
  9. package/lib/components/button/YButton.mjs.map +1 -1
  10. package/lib/components/button/YButton.scss +1 -1
  11. package/lib/components/card/YCard.mjs.map +1 -1
  12. package/lib/components/card/YCard.scss +3 -2
  13. package/lib/components/checkbox/YInputCheckbox.scss +1 -1
  14. package/lib/components/chip/YChip.mjs +2 -2
  15. package/lib/components/chip/YChip.mjs.map +1 -1
  16. package/lib/components/dialog/YDialog.mjs +2 -2
  17. package/lib/components/dialog/YDialog.mjs.map +1 -1
  18. package/lib/components/dropdown/YDropdown.mjs +83 -2
  19. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  20. package/lib/components/dropdown/YDropdown.scss +33 -0
  21. package/lib/components/field-input/YFieldInput.mjs +55 -47
  22. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  23. package/lib/components/icons/YIconCheckbox.scss +1 -1
  24. package/lib/components/icons/YIconDropdown.mjs +16 -0
  25. package/lib/components/icons/YIconDropdown.mjs.map +1 -0
  26. package/lib/components/index.mjs +2 -0
  27. package/lib/components/index.mjs.map +1 -1
  28. package/lib/components/input/YInput.mjs +83 -49
  29. package/lib/components/input/YInput.mjs.map +1 -1
  30. package/lib/components/input/YInput.scss +8 -8
  31. package/lib/components/layer/YLayer.mjs +21 -9
  32. package/lib/components/layer/YLayer.mjs.map +1 -1
  33. package/lib/components/layer/YLayer.scss +1 -0
  34. package/lib/components/layer/scroll-strategies.mjs +1 -1
  35. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  36. package/lib/components/list/YList.mjs +40 -2
  37. package/lib/components/list/YList.mjs.map +1 -1
  38. package/lib/components/list/YListItem.mjs +31 -11
  39. package/lib/components/list/YListItem.mjs.map +1 -1
  40. package/lib/components/list/YListItem.scss +5 -2
  41. package/lib/components/menu/YMenu.mjs +29 -18
  42. package/lib/components/menu/YMenu.mjs.map +1 -1
  43. package/lib/components/menu/YMenu.scss +20 -7
  44. package/lib/components/pagination/YPagination.mjs +8 -8
  45. package/lib/components/pagination/YPagination.mjs.map +1 -1
  46. package/lib/components/panel/YDividePanel.scss +4 -4
  47. package/lib/components/progress-bar/YProgressBar.mjs +20 -3
  48. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  49. package/lib/components/progress-bar/YProgressBar.scss +109 -40
  50. package/lib/components/select/YSelect.mjs +185 -0
  51. package/lib/components/select/YSelect.mjs.map +1 -0
  52. package/lib/components/select/YSelect.scss +43 -0
  53. package/lib/components/select/index.mjs +2 -0
  54. package/lib/components/select/index.mjs.map +1 -0
  55. package/lib/components/switch/YSwitch.scss +1 -1
  56. package/lib/components/table/YTable.scss +2 -2
  57. package/lib/components/tree-view/YTreeView.mjs +76 -18
  58. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  59. package/lib/components/tree-view/YTreeViewNode.mjs +21 -18
  60. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  61. package/lib/components/tree-view/types.mjs.map +1 -1
  62. package/lib/components/tree-view/util.mjs +24 -0
  63. package/lib/components/tree-view/util.mjs.map +1 -1
  64. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  65. package/lib/composables/coordinate/index.mjs.map +1 -1
  66. package/lib/composables/coordinate/levitation.mjs +1 -1
  67. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  68. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  69. package/lib/composables/dimension.mjs +26 -0
  70. package/lib/composables/dimension.mjs.map +1 -0
  71. package/lib/composables/focus.mjs +29 -0
  72. package/lib/composables/focus.mjs.map +1 -0
  73. package/lib/composables/list-items.mjs +58 -0
  74. package/lib/composables/list-items.mjs.map +1 -0
  75. package/lib/composables/theme/factory.mjs +45 -0
  76. package/lib/composables/theme/factory.mjs.map +1 -0
  77. package/lib/composables/theme/helper.mjs +14 -0
  78. package/lib/composables/theme/helper.mjs.map +1 -0
  79. package/lib/composables/theme/index.mjs +144 -10
  80. package/lib/composables/theme/index.mjs.map +1 -1
  81. package/lib/composables/theme/setting.mjs +46 -9
  82. package/lib/composables/theme/setting.mjs.map +1 -1
  83. package/lib/composables/theme/types.mjs +2 -0
  84. package/lib/composables/theme/types.mjs.map +1 -0
  85. package/lib/directives/complement-click/index.mjs.map +1 -1
  86. package/lib/directives/theme-class.mjs +4 -4
  87. package/lib/directives/theme-class.mjs.map +1 -1
  88. package/lib/index.mjs +7 -5
  89. package/lib/index.mjs.map +1 -1
  90. package/lib/mixins/di.mjs +0 -3
  91. package/lib/mixins/di.mjs.map +1 -1
  92. package/lib/styles/_elevation.scss +15 -0
  93. package/lib/styles/base.scss +11 -5
  94. package/lib/styles/settings/_elevation.scss +20 -0
  95. package/lib/styles/theme/light.scss +1 -1
  96. package/lib/styles/util/_helper.scss +12 -0
  97. package/lib/styles/util/_var.scss +18 -0
  98. package/lib/util/color/apca.mjs +201 -0
  99. package/lib/util/color/apca.mjs.map +1 -0
  100. package/lib/util/color/const.mjs +6 -0
  101. package/lib/util/color/const.mjs.map +1 -0
  102. package/lib/util/color/contrast/contrast.mjs +149 -0
  103. package/lib/util/color/contrast/contrast.mjs.map +1 -0
  104. package/lib/util/color/conversion.mjs +310 -0
  105. package/lib/util/color/conversion.mjs.map +1 -0
  106. package/lib/util/color/hct/cam16.mjs +349 -0
  107. package/lib/util/color/hct/cam16.mjs.map +1 -0
  108. package/lib/util/color/hct/hct-solver.mjs +389 -0
  109. package/lib/util/color/hct/hct-solver.mjs.map +1 -0
  110. package/lib/util/color/hct/hct.mjs +153 -0
  111. package/lib/util/color/hct/hct.mjs.map +1 -0
  112. package/lib/util/color/hct/viewing-conditions.mjs +110 -0
  113. package/lib/util/color/hct/viewing-conditions.mjs.map +1 -0
  114. package/lib/util/color/index.mjs +24 -0
  115. package/lib/util/color/index.mjs.map +1 -0
  116. package/lib/util/color/palettes/core-palette.mjs +99 -0
  117. package/lib/util/color/palettes/core-palette.mjs.map +1 -0
  118. package/lib/util/color/palettes/tonal-palette.mjs +112 -0
  119. package/lib/util/color/palettes/tonal-palette.mjs.map +1 -0
  120. package/lib/util/color/types.mjs +2 -0
  121. package/lib/util/color/types.mjs.map +1 -0
  122. package/lib/util/color/utils/math-utils.mjs +139 -0
  123. package/lib/util/color/utils/math-utils.mjs.map +1 -0
  124. package/lib/util/common.mjs +11 -6
  125. package/lib/util/common.mjs.map +1 -1
  126. package/lib/util/debounce.mjs +114 -0
  127. package/lib/util/debounce.mjs.map +1 -0
  128. package/lib/util/{FrameScheduler.mjs → frame-scheduler.mjs} +1 -1
  129. package/lib/util/frame-scheduler.mjs.map +1 -0
  130. package/lib/util/{Rect.mjs → rect.mjs} +1 -1
  131. package/lib/util/{Rect.mjs.map → rect.mjs.map} +1 -1
  132. package/lib/util/string.mjs +6 -0
  133. package/lib/util/string.mjs.map +1 -1
  134. package/lib/util/ui.mjs +11 -36
  135. package/lib/util/ui.mjs.map +1 -1
  136. package/package.json +12 -1
  137. package/types/abstract/items.d.ts +48 -0
  138. package/types/components/card/YCard.d.ts +1 -1
  139. package/types/components/checkbox/YInputCheckbox.d.ts +2 -2
  140. package/types/components/dialog/YDialog.d.ts +23 -8
  141. package/types/components/dropdown/YDropdown.d.ts +219 -0
  142. package/types/components/dropdown/index.d.ts +1 -0
  143. package/types/components/field-input/YFieldInput.d.ts +238 -25
  144. package/types/components/icons/YIconCheckbox.d.ts +1 -1
  145. package/types/components/icons/YIconDropdown.d.ts +1 -0
  146. package/types/components/index.d.ts +2 -0
  147. package/types/components/input/YInput.d.ts +156 -42
  148. package/types/components/layer/YLayer.d.ts +67 -17
  149. package/types/components/list/YList.d.ts +22 -1
  150. package/types/components/list/YListItem.d.ts +28 -2
  151. package/types/components/menu/YMenu.d.ts +132 -16
  152. package/types/components/pagination/YPagination.d.ts +10 -10
  153. package/types/components/progress-bar/YProgressBar.d.ts +18 -1
  154. package/types/components/select/YSelect.d.ts +701 -0
  155. package/types/components/select/index.d.ts +1 -0
  156. package/types/components/table/YDataTable.d.ts +1 -1
  157. package/types/components/table/YDataTableServer.d.ts +1 -1
  158. package/types/components/text-highlighter/YTextHighlighter.d.ts +40 -0
  159. package/types/components/tooltip/YTooltip.d.ts +20 -5
  160. package/types/components/tree-view/YTreeView.d.ts +47 -22
  161. package/types/components/tree-view/YTreeViewNode.d.ts +72 -26
  162. package/types/components/tree-view/types.d.ts +1 -0
  163. package/types/components/tree-view/util.d.ts +4 -1
  164. package/types/composables/coordinate/arrangement.d.ts +1 -1
  165. package/types/composables/coordinate/index.d.ts +3 -3
  166. package/types/composables/coordinate/levitation.d.ts +1 -1
  167. package/types/composables/coordinate/utils/point.d.ts +1 -1
  168. package/types/composables/dimension.d.ts +53 -0
  169. package/types/composables/focus.d.ts +27 -0
  170. package/types/composables/list-items.d.ts +117 -0
  171. package/types/composables/theme/factory.d.ts +3 -0
  172. package/types/composables/theme/helper.d.ts +3 -0
  173. package/types/composables/theme/index.d.ts +45 -5
  174. package/types/composables/theme/setting.d.ts +3 -6
  175. package/types/composables/theme/types.d.ts +28 -0
  176. package/types/directives/complement-click/index.d.ts +1 -1
  177. package/types/directives/theme-class.d.ts +1 -1
  178. package/types/index.d.ts +2 -0
  179. package/types/shims.d.ts +4 -0
  180. package/types/util/color/apca.d.ts +29 -0
  181. package/types/util/color/const.d.ts +5 -0
  182. package/types/util/color/conversion.d.ts +130 -0
  183. package/types/util/color/hct/cam16.d.ts +131 -0
  184. package/types/util/color/hct/hct.d.ts +86 -0
  185. package/types/util/color/hct/hct_solver.d.ts +146 -0
  186. package/types/util/color/hct/viewing_conditions.d.ts +74 -0
  187. package/types/util/color/index.d.ts +4 -0
  188. package/types/util/color/palettes/tonal_palette.d.ts +55 -0
  189. package/types/util/color/types.d.ts +14 -0
  190. package/types/util/color/utils/math-utils.d.ts +82 -0
  191. package/types/util/color/utils/math_utils.d.ts +82 -0
  192. package/types/util/common.d.ts +2 -1
  193. package/types/util/debounce.d.ts +11 -0
  194. package/types/util/string.d.ts +1 -0
  195. package/types/util/ui.d.ts +1 -6
  196. package/lib/components/input/index.scss +0 -2
  197. package/lib/components/table/pagination.mjs +0 -80
  198. package/lib/components/table/pagination.mjs.map +0 -1
  199. package/lib/composables/collections.mjs +0 -2
  200. package/lib/composables/collections.mjs.map +0 -1
  201. package/lib/composables/levitation.mjs +0 -135
  202. package/lib/composables/levitation.mjs.map +0 -1
  203. package/lib/styles/util/helper.scss +0 -6
  204. package/lib/util/FrameScheduler.mjs.map +0 -1
  205. /package/lib/styles/settings/{provided.scss → _provided.scss} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"common.mjs","names":["hasOwnProperty","object","property","Object","prototype","call","getNestedValue","obj","path","fallback","last","length","traversObj","undefined","i","mergeDeep","source","arguments","overwrite","arrayFn","ret","key","sourceValue","overwriteValue","Array","isArray","getObjectValueByPath","traversPath","replace","split","getPropertyFromItem","item","value","randomCharOne","str","charAt","Math","floor","random","clamp","min","max","getRangeArr","start","from","v","k","deepEqual","a","b","Date","getTime","props","keys","every","p"],"sources":["../../src/util/common.ts"],"sourcesContent":["export function hasOwnProperty(object: any, property: string) {\n if (object) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }\n return false;\n}\n\nexport function getNestedValue(\n obj: any,\n path: (string | number)[],\n fallback?: any,\n): any {\n const last = path.length - 1;\n let traversObj = obj;\n\n if (last < 0) return traversObj === undefined ? fallback : traversObj;\n\n for (let i = 0; i < last; i += 1) {\n if (traversObj == null) {\n return fallback;\n }\n traversObj = traversObj[path[i]];\n }\n\n if (traversObj == null) return fallback;\n\n return traversObj[path[last]] === undefined\n ? fallback\n : traversObj[path[last]];\n}\n\nexport function mergeDeep(\n source: Record<string, any> = {},\n overwrite: Record<string, any> = {},\n arrayFn?: (source: unknown[], overwrite: unknown[]) => unknown[],\n) {\n const ret = { ...source };\n for (const key in overwrite) {\n const sourceValue = ret[key];\n const overwriteValue = overwrite[key];\n\n if (Array.isArray(sourceValue) && Array.isArray(overwriteValue)) {\n if (arrayFn) {\n ret[key] = arrayFn(sourceValue, overwriteValue);\n continue;\n }\n }\n\n if (typeof sourceValue === 'object' && typeof overwriteValue === 'object') {\n ret[key] = mergeDeep(sourceValue, overwriteValue, arrayFn);\n continue;\n }\n\n ret[key] = overwriteValue;\n }\n return ret;\n}\n\nexport function getObjectValueByPath(\n obj: any,\n path: string,\n fallback?: any,\n): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n let traversPath = path;\n if (obj == null || !traversPath || typeof traversPath !== 'string') {\n return fallback;\n }\n if (obj[traversPath] !== undefined) return obj[traversPath];\n traversPath = traversPath.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n traversPath = traversPath.replace(/^\\./, ''); // strip a leading dot\n return getNestedValue(obj, traversPath.split('.'), fallback);\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: any,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n }\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\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 clamp(value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value));\n}\n\nexport function getRangeArr(length: number, start = 0) {\n return Array.from({ length }, (v, k) => start + k);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) return true;\n\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n return false;\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n return false;\n }\n const props = Object.keys(a);\n if (props.length !== Object.keys(b).length) {\n return false;\n }\n return props.every((p) => deepEqual(a[p], b[p]));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"common.mjs","names":["hasOwnProperty","object","property","Object","prototype","call","getNestedValue","obj","path","fallback","last","length","traversObj","undefined","i","mergeDeep","source","arguments","overwrite","arrayFn","ret","key","sourceValue","overwriteValue","Array","isArray","getObjectValueByPath","traversPath","replace","split","getPropertyFromItem","item","value","clamp","min","max","Math","getRangeArr","start","from","v","k","deepEqual","a","b","Date","getTime","props","keys","every","p","isObject","type","omit","excludes","forEach","prop"],"sources":["../../src/util/common.ts"],"sourcesContent":["export function hasOwnProperty(object: any, property: string) {\n if (object) {\n return Object.prototype.hasOwnProperty.call(object, property);\n }\n return false;\n}\n\nexport function getNestedValue(\n obj: any,\n path: (string | number)[],\n fallback?: any,\n): any {\n const last = path.length - 1;\n let traversObj = obj;\n\n if (last < 0) return traversObj === undefined ? fallback : traversObj;\n\n for (let i = 0; i < last; i += 1) {\n if (traversObj == null) {\n return fallback;\n }\n traversObj = traversObj[path[i]];\n }\n\n if (traversObj == null) return fallback;\n\n return traversObj[path[last]] === undefined\n ? fallback\n : traversObj[path[last]];\n}\n\nexport function mergeDeep(\n source: Record<string, any> = {},\n overwrite: Record<string, any> = {},\n arrayFn?: (source: unknown[], overwrite: unknown[]) => unknown[],\n) {\n const ret = { ...source };\n for (const key in overwrite) {\n const sourceValue = ret[key];\n const overwriteValue = overwrite[key];\n\n if (Array.isArray(sourceValue) && Array.isArray(overwriteValue)) {\n if (arrayFn) {\n ret[key] = arrayFn(sourceValue, overwriteValue);\n continue;\n }\n }\n\n if (typeof sourceValue === 'object' && typeof overwriteValue === 'object') {\n ret[key] = mergeDeep(sourceValue, overwriteValue, arrayFn);\n continue;\n }\n\n ret[key] = overwriteValue;\n }\n return ret;\n}\n\nexport function getObjectValueByPath(\n obj: any,\n path: string,\n fallback?: any,\n): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n let traversPath = path;\n if (obj == null || !traversPath || typeof traversPath !== 'string') {\n return fallback;\n }\n if (obj[traversPath] !== undefined) return obj[traversPath];\n traversPath = traversPath.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n traversPath = traversPath.replace(/^\\./, ''); // strip a leading dot\n return getNestedValue(obj, traversPath.split('.'), fallback);\n}\n\nexport type SelectItemKey =\n | boolean // Ignored\n | string // Lookup by key, can use dot notation for nested objects\n | (string | number)[] // Nested lookup by key, each array item is a key in the next level\n | ((item: Record<string, any>, fallback?: any) => any);\n\nexport function getPropertyFromItem(\n item: any,\n property: SelectItemKey,\n fallback?: any,\n): any {\n if (property == null) return item === undefined ? fallback : item;\n\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback;\n\n const value = property(item, fallback);\n\n return typeof value === 'undefined' ? fallback : value;\n }\n\n if (typeof property === 'string')\n return getObjectValueByPath(item, property, fallback);\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback);\n\n if (typeof property !== 'function') return fallback;\n\n const value = property(item, fallback);\n\n return typeof value === 'undefined' ? fallback : value;\n}\n\nexport function clamp(value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value));\n}\n\nexport function getRangeArr(length: number, start = 0) {\n return Array.from({ length }, (v, k) => start + k);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n if (a === b) return true;\n\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n return false;\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n return false;\n }\n const props = Object.keys(a);\n if (props.length !== Object.keys(b).length) {\n return false;\n }\n return props.every((p) => deepEqual(a[p], b[p]));\n}\n\nexport function isObject(obj: unknown) {\n const type = typeof obj;\n return obj !== null && (type === 'object' || type === 'function');\n}\n\nexport function omit<T extends object, U extends Extract<keyof T, string>>(obj: T, excludes: U[]): Omit<T, U> {\n const ret = { ...obj };\n excludes.forEach(prop => delete ret[prop]);\n return ret;\n}\n"],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { isObject } from "./common.mjs";
2
+ export function debounce(func) {
3
+ let wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
4
+ let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
5
+ leading: false,
6
+ trailing: true
7
+ };
8
+ let lastArgs;
9
+ let lastThis;
10
+ let maxWait = 0;
11
+ let result;
12
+ let timerId = undefined;
13
+ let lastCallTime = undefined;
14
+ let lastInvokeTime = 0;
15
+ let leading = false;
16
+ let maxing = false;
17
+ let trailing = true;
18
+ if (typeof func != 'function') {
19
+ throw new TypeError('NOT Function');
20
+ }
21
+ wait = +wait || 0;
22
+ if (isObject(options)) {
23
+ leading = !!options.leading;
24
+ maxing = 'maxWait' in options;
25
+ maxWait = maxing ? Math.max(+(options?.maxWait || 0), wait) : maxWait;
26
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
27
+ }
28
+ function invokeFunc(time) {
29
+ const args = lastArgs;
30
+ const thisArg = lastThis;
31
+ lastArgs = lastThis = undefined;
32
+ lastInvokeTime = time;
33
+ result = func.apply(thisArg, args);
34
+ return result;
35
+ }
36
+ function leadingEdge(time) {
37
+ // Reset any `maxWait` timer.
38
+ lastInvokeTime = time;
39
+ // Start the timer for the trailing edge.
40
+ timerId = window.setTimeout(timerExpired, wait);
41
+ // Invoke the leading edge.
42
+ return leading ? invokeFunc(time) : result;
43
+ }
44
+ function remainingWait(time) {
45
+ var timeSinceLastCall = time - (lastCallTime ?? 0),
46
+ timeSinceLastInvoke = time - (lastInvokeTime ?? 0),
47
+ timeWaiting = wait - timeSinceLastCall;
48
+ return maxing ? Math.min(timeWaiting, (maxWait ?? 0) - timeSinceLastInvoke) : timeWaiting;
49
+ }
50
+ function shouldInvoke(time) {
51
+ var timeSinceLastCall = time - (lastCallTime ?? 0),
52
+ timeSinceLastInvoke = time - (lastInvokeTime ?? 0);
53
+
54
+ // Either this is the first call, activity has stopped and we're at the
55
+ // trailing edge, the system time has gone backwards and we're treating
56
+ // it as the trailing edge, or we've hit the `maxWait` limit.
57
+ return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= (maxWait ?? 0);
58
+ }
59
+ function timerExpired() {
60
+ const time = Date.now();
61
+ if (shouldInvoke(time)) {
62
+ return trailingEdge(time);
63
+ }
64
+ // Restart the timer.
65
+ timerId = window.setTimeout(timerExpired, remainingWait(time));
66
+ }
67
+ function trailingEdge(time) {
68
+ timerId = undefined;
69
+
70
+ // Only invoke if we have `lastArgs` which means `func` has been
71
+ // debounced at least once.
72
+ if (trailing && lastArgs) {
73
+ return invokeFunc(time);
74
+ }
75
+ lastArgs = lastThis = undefined;
76
+ return result;
77
+ }
78
+ function cancel() {
79
+ if (timerId !== undefined) {
80
+ clearTimeout(timerId);
81
+ }
82
+ lastInvokeTime = 0;
83
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
84
+ }
85
+ function flush() {
86
+ return timerId === undefined ? result : trailingEdge(Date.now());
87
+ }
88
+ function debounced() {
89
+ const time = Date.now();
90
+ const isInvoking = shouldInvoke(time);
91
+ lastArgs = arguments;
92
+ lastThis = this;
93
+ lastCallTime = time;
94
+ if (isInvoking) {
95
+ if (timerId === undefined) {
96
+ return leadingEdge(lastCallTime);
97
+ }
98
+ if (maxing) {
99
+ // Handle invocations in a tight loop.
100
+ clearTimeout(timerId);
101
+ timerId = window.setTimeout(timerExpired, wait);
102
+ return invokeFunc(lastCallTime);
103
+ }
104
+ }
105
+ if (timerId === undefined) {
106
+ timerId = window.setTimeout(timerExpired, wait);
107
+ }
108
+ return result;
109
+ }
110
+ debounced.cancel = cancel;
111
+ debounced.flush = flush;
112
+ return debounced;
113
+ }
114
+ //# sourceMappingURL=debounce.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.mjs","names":["isObject","debounce","func","wait","arguments","length","undefined","options","leading","trailing","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","maxing","TypeError","Math","max","invokeFunc","time","args","thisArg","apply","leadingEdge","window","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","min","shouldInvoke","Date","now","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking"],"sources":["../../src/util/debounce.ts"],"sourcesContent":["import { isObject } from \"./common\";\r\n\r\ninterface DebouncedFn<T extends (...args: any[]) => any> {\r\n (...args: Parameters<T>): ReturnType<T> | undefined;\r\n cancel(): void;\r\n flush(): ReturnType<T> | undefined;\r\n}\r\n\r\ninterface DebounceSettings {\r\n leading?: boolean | undefined;\r\n maxWait?: number | undefined;\r\n trailing?: boolean | undefined;\r\n}\r\ninterface DebounceSettingsLeading extends DebounceSettings {\r\n leading: true;\r\n}\r\n\r\ninterface DebouncedFuncLeading<T extends (...args: any[]) => any>\r\n extends DebouncedFn<T> {\r\n (...args: Parameters<T>): ReturnType<T>;\r\n flush(): ReturnType<T>;\r\n}\r\n\r\nexport function debounce<T extends (...args: any[]) => any>(\r\n func: T,\r\n wait = 0,\r\n options: { leading: boolean; maxWait?: number; trailing: boolean } = {\r\n leading: false,\r\n trailing: true,\r\n },\r\n): DebouncedFn<T> {\r\n let lastArgs: any;\r\n let lastThis: DebouncedFn<T> | undefined;\r\n let maxWait: number = 0;\r\n let result: ReturnType<T> | undefined;\r\n let timerId: number | undefined = undefined;\r\n let lastCallTime: number | undefined = undefined;\r\n let lastInvokeTime: number | undefined = 0;\r\n let leading = false;\r\n let maxing = false;\r\n let trailing = true;\r\n\r\n if (typeof func != 'function') {\r\n throw new TypeError('NOT Function');\r\n }\r\n wait = +wait || 0;\r\n if (isObject(options)) {\r\n leading = !!options.leading;\r\n maxing = 'maxWait' in options;\r\n maxWait = maxing ? Math.max(+(options?.maxWait || 0), wait) : maxWait;\r\n trailing = 'trailing' in options ? !!options.trailing : trailing;\r\n }\r\n\r\n function invokeFunc(time?: number) {\r\n const args = lastArgs;\r\n const thisArg = lastThis;\r\n\r\n lastArgs = lastThis = undefined;\r\n lastInvokeTime = time;\r\n result = func.apply(thisArg, args);\r\n return result;\r\n }\r\n\r\n function leadingEdge(time?: number) {\r\n // Reset any `maxWait` timer.\r\n lastInvokeTime = time;\r\n // Start the timer for the trailing edge.\r\n timerId = window.setTimeout(timerExpired, wait);\r\n // Invoke the leading edge.\r\n return leading ? invokeFunc(time) : result;\r\n }\r\n\r\n function remainingWait(time: number) {\r\n var timeSinceLastCall = time - (lastCallTime ?? 0),\r\n timeSinceLastInvoke = time - (lastInvokeTime ?? 0),\r\n timeWaiting = wait - timeSinceLastCall;\r\n\r\n return maxing\r\n ? Math.min(timeWaiting, (maxWait ?? 0) - timeSinceLastInvoke)\r\n : timeWaiting;\r\n }\r\n\r\n function shouldInvoke(time: number) {\r\n var timeSinceLastCall = time - (lastCallTime ?? 0),\r\n timeSinceLastInvoke = time - (lastInvokeTime ?? 0);\r\n\r\n // Either this is the first call, activity has stopped and we're at the\r\n // trailing edge, the system time has gone backwards and we're treating\r\n // it as the trailing edge, or we've hit the `maxWait` limit.\r\n return (\r\n lastCallTime === undefined ||\r\n timeSinceLastCall >= wait ||\r\n timeSinceLastCall < 0 ||\r\n (maxing && timeSinceLastInvoke >= (maxWait ?? 0))\r\n );\r\n }\r\n\r\n function timerExpired() {\r\n const time = Date.now();\r\n if (shouldInvoke(time)) {\r\n return trailingEdge(time);\r\n }\r\n // Restart the timer.\r\n timerId = window.setTimeout(timerExpired, remainingWait(time));\r\n }\r\n\r\n function trailingEdge(time: number) {\r\n timerId = undefined;\r\n\r\n // Only invoke if we have `lastArgs` which means `func` has been\r\n // debounced at least once.\r\n if (trailing && lastArgs) {\r\n return invokeFunc(time);\r\n }\r\n lastArgs = lastThis = undefined;\r\n return result;\r\n }\r\n\r\n function cancel() {\r\n if (timerId !== undefined) {\r\n clearTimeout(timerId);\r\n }\r\n lastInvokeTime = 0;\r\n lastArgs = lastCallTime = lastThis = timerId = undefined;\r\n }\r\n\r\n function flush() {\r\n return timerId === undefined ? result : trailingEdge(Date.now());\r\n }\r\n\r\n function debounced(this: DebouncedFn<T>): (ReturnType<T> | undefined) {\r\n const time = Date.now();\r\n const isInvoking = shouldInvoke(time);\r\n\r\n lastArgs = arguments;\r\n lastThis = this;\r\n lastCallTime = time;\r\n\r\n if (isInvoking) {\r\n if (timerId === undefined) {\r\n return leadingEdge(lastCallTime);\r\n }\r\n if (maxing) {\r\n // Handle invocations in a tight loop.\r\n clearTimeout(timerId);\r\n timerId = window.setTimeout(timerExpired, wait);\r\n return invokeFunc(lastCallTime);\r\n }\r\n }\r\n if (timerId === undefined) {\r\n timerId = window.setTimeout(timerExpired, wait);\r\n }\r\n return result;\r\n }\r\n\r\n debounced.cancel = cancel;\r\n debounced.flush = flush;\r\n return debounced;\r\n}\r\n"],"mappings":"SAASA,QAAQ;AAuBjB,OAAO,SAASC,QAAQA,CACtBC,IAAO,EAMS;EAAA,IALhBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IACRG,OAAkE,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IACnEI,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE;EACZ,CAAC;EAED,IAAIC,QAAa;EACjB,IAAIC,QAAoC;EACxC,IAAIC,OAAe,GAAG,CAAC;EACvB,IAAIC,MAAiC;EACrC,IAAIC,OAA2B,GAAGR,SAAS;EAC3C,IAAIS,YAAgC,GAAGT,SAAS;EAChD,IAAIU,cAAkC,GAAG,CAAC;EAC1C,IAAIR,OAAO,GAAG,KAAK;EACnB,IAAIS,MAAM,GAAG,KAAK;EAClB,IAAIR,QAAQ,GAAG,IAAI;EAEnB,IAAI,OAAOP,IAAI,IAAI,UAAU,EAAE;IAC7B,MAAM,IAAIgB,SAAS,CAAC,cAAc,CAAC;EACrC;EACAf,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC;EACjB,IAAIH,QAAQ,CAACO,OAAO,CAAC,EAAE;IACrBC,OAAO,GAAG,CAAC,CAACD,OAAO,CAACC,OAAO;IAC3BS,MAAM,GAAG,SAAS,IAAIV,OAAO;IAC7BK,OAAO,GAAGK,MAAM,GAAGE,IAAI,CAACC,GAAG,CAAC,EAAEb,OAAO,EAAEK,OAAO,IAAI,CAAC,CAAC,EAAET,IAAI,CAAC,GAAGS,OAAO;IACrEH,QAAQ,GAAG,UAAU,IAAIF,OAAO,GAAG,CAAC,CAACA,OAAO,CAACE,QAAQ,GAAGA,QAAQ;EAClE;EAEA,SAASY,UAAUA,CAACC,IAAa,EAAE;IACjC,MAAMC,IAAI,GAAGb,QAAQ;IACrB,MAAMc,OAAO,GAAGb,QAAQ;IAExBD,QAAQ,GAAGC,QAAQ,GAAGL,SAAS;IAC/BU,cAAc,GAAGM,IAAI;IACrBT,MAAM,GAAGX,IAAI,CAACuB,KAAK,CAACD,OAAO,EAAED,IAAI,CAAC;IAClC,OAAOV,MAAM;EACf;EAEA,SAASa,WAAWA,CAACJ,IAAa,EAAE;IAClC;IACAN,cAAc,GAAGM,IAAI;IACrB;IACAR,OAAO,GAAGa,MAAM,CAACC,UAAU,CAACC,YAAY,EAAE1B,IAAI,CAAC;IAC/C;IACA,OAAOK,OAAO,GAAGa,UAAU,CAACC,IAAI,CAAC,GAAGT,MAAM;EAC5C;EAEA,SAASiB,aAAaA,CAACR,IAAY,EAAE;IACnC,IAAIS,iBAAiB,GAAGT,IAAI,IAAIP,YAAY,IAAI,CAAC,CAAC;MAChDiB,mBAAmB,GAAGV,IAAI,IAAIN,cAAc,IAAI,CAAC,CAAC;MAClDiB,WAAW,GAAG9B,IAAI,GAAG4B,iBAAiB;IAExC,OAAOd,MAAM,GACTE,IAAI,CAACe,GAAG,CAACD,WAAW,EAAE,CAACrB,OAAO,IAAI,CAAC,IAAIoB,mBAAmB,CAAC,GAC3DC,WAAW;EACjB;EAEA,SAASE,YAAYA,CAACb,IAAY,EAAE;IAClC,IAAIS,iBAAiB,GAAGT,IAAI,IAAIP,YAAY,IAAI,CAAC,CAAC;MAChDiB,mBAAmB,GAAGV,IAAI,IAAIN,cAAc,IAAI,CAAC,CAAC;;IAEpD;IACA;IACA;IACA,OACED,YAAY,KAAKT,SAAS,IAC1ByB,iBAAiB,IAAI5B,IAAI,IACzB4B,iBAAiB,GAAG,CAAC,IACpBd,MAAM,IAAIe,mBAAmB,KAAKpB,OAAO,IAAI,CAAC,CAAE;EAErD;EAEA,SAASiB,YAAYA,CAAA,EAAG;IACtB,MAAMP,IAAI,GAAGc,IAAI,CAACC,GAAG,CAAC,CAAC;IACvB,IAAIF,YAAY,CAACb,IAAI,CAAC,EAAE;MACtB,OAAOgB,YAAY,CAAChB,IAAI,CAAC;IAC3B;IACA;IACAR,OAAO,GAAGa,MAAM,CAACC,UAAU,CAACC,YAAY,EAAEC,aAAa,CAACR,IAAI,CAAC,CAAC;EAChE;EAEA,SAASgB,YAAYA,CAAChB,IAAY,EAAE;IAClCR,OAAO,GAAGR,SAAS;;IAEnB;IACA;IACA,IAAIG,QAAQ,IAAIC,QAAQ,EAAE;MACxB,OAAOW,UAAU,CAACC,IAAI,CAAC;IACzB;IACAZ,QAAQ,GAAGC,QAAQ,GAAGL,SAAS;IAC/B,OAAOO,MAAM;EACf;EAEA,SAAS0B,MAAMA,CAAA,EAAG;IAChB,IAAIzB,OAAO,KAAKR,SAAS,EAAE;MACzBkC,YAAY,CAAC1B,OAAO,CAAC;IACvB;IACAE,cAAc,GAAG,CAAC;IAClBN,QAAQ,GAAGK,YAAY,GAAGJ,QAAQ,GAAGG,OAAO,GAAGR,SAAS;EAC1D;EAEA,SAASmC,KAAKA,CAAA,EAAG;IACf,OAAO3B,OAAO,KAAKR,SAAS,GAAGO,MAAM,GAAGyB,YAAY,CAACF,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;EAClE;EAEA,SAASK,SAASA,CAAA,EAAoD;IACpE,MAAMpB,IAAI,GAAGc,IAAI,CAACC,GAAG,CAAC,CAAC;IACvB,MAAMM,UAAU,GAAGR,YAAY,CAACb,IAAI,CAAC;IAErCZ,QAAQ,GAAGN,SAAS;IACpBO,QAAQ,GAAG,IAAI;IACfI,YAAY,GAAGO,IAAI;IAEnB,IAAIqB,UAAU,EAAE;MACd,IAAI7B,OAAO,KAAKR,SAAS,EAAE;QACzB,OAAOoB,WAAW,CAACX,YAAY,CAAC;MAClC;MACA,IAAIE,MAAM,EAAE;QACV;QACAuB,YAAY,CAAC1B,OAAO,CAAC;QACrBA,OAAO,GAAGa,MAAM,CAACC,UAAU,CAACC,YAAY,EAAE1B,IAAI,CAAC;QAC/C,OAAOkB,UAAU,CAACN,YAAY,CAAC;MACjC;IACF;IACA,IAAID,OAAO,KAAKR,SAAS,EAAE;MACzBQ,OAAO,GAAGa,MAAM,CAACC,UAAU,CAACC,YAAY,EAAE1B,IAAI,CAAC;IACjD;IACA,OAAOU,MAAM;EACf;EAEA6B,SAAS,CAACH,MAAM,GAAGA,MAAM;EACzBG,SAAS,CAACD,KAAK,GAAGA,KAAK;EACvB,OAAOC,SAAS;AAClB"}
@@ -26,4 +26,4 @@ export class FrameScheduler {
26
26
  }
27
27
  }
28
28
  }
29
- //# sourceMappingURL=FrameScheduler.mjs.map
29
+ //# sourceMappingURL=frame-scheduler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-scheduler.mjs","names":["FrameScheduler","constructor","_defineProperty","run","cancelAnimationFrame","raf","requestAnimationFrame","frame","frames","shift","length","clean","requestNewFrame","callback","push"],"sources":["../../src/util/frame-scheduler.ts"],"sourcesContent":["export class FrameScheduler {\n private clean = true;\n\n private frames = [] as any[];\n\n private raf = -1;\n\n private run() {\n cancelAnimationFrame(this.raf);\n this.raf = requestAnimationFrame(() => {\n const frame = this.frames.shift();\n if (frame) frame();\n\n if (frames.length) this.run();\n else this.clean = true;\n });\n }\n\n public requestNewFrame(callback: () => void) {\n if (!this.clean || this.frames.length) {\n this.frames.push(callback);\n this.run();\n } else {\n this.clean = false;\n callback();\n this.run();\n }\n }\n}\n"],"mappings":";;;AAAA,OAAO,MAAMA,cAAc,CAAC;EAAAC,YAAA;IAAAC,eAAA,gBACV,IAAI;IAAAA,eAAA,iBAEH,EAAE;IAAAA,eAAA,cAEL,CAAC,CAAC;EAAA;EAERC,GAAGA,CAAA,EAAG;IACZC,oBAAoB,CAAC,IAAI,CAACC,GAAG,CAAC;IAC9B,IAAI,CAACA,GAAG,GAAGC,qBAAqB,CAAC,MAAM;MACrC,MAAMC,KAAK,GAAG,IAAI,CAACC,MAAM,CAACC,KAAK,CAAC,CAAC;MACjC,IAAIF,KAAK,EAAEA,KAAK,CAAC,CAAC;MAElB,IAAIC,MAAM,CAACE,MAAM,EAAE,IAAI,CAACP,GAAG,CAAC,CAAC,CAAC,KACzB,IAAI,CAACQ,KAAK,GAAG,IAAI;IACxB,CAAC,CAAC;EACJ;EAEOC,eAAeA,CAACC,QAAoB,EAAE;IAC3C,IAAI,CAAC,IAAI,CAACF,KAAK,IAAI,IAAI,CAACH,MAAM,CAACE,MAAM,EAAE;MACrC,IAAI,CAACF,MAAM,CAACM,IAAI,CAACD,QAAQ,CAAC;MAC1B,IAAI,CAACV,GAAG,CAAC,CAAC;IACZ,CAAC,MAAM;MACL,IAAI,CAACQ,KAAK,GAAG,KAAK;MAClBE,QAAQ,CAAC,CAAC;MACV,IAAI,CAACV,GAAG,CAAC,CAAC;IACZ;EACF;AACF"}
@@ -36,4 +36,4 @@ export function getOverflow(a, b) {
36
36
  }
37
37
  };
38
38
  }
39
- //# sourceMappingURL=Rect.mjs.map
39
+ //# sourceMappingURL=rect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rect.mjs","names":["MutableRect","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after"],"sources":["../../src/util/Rect.ts"],"sourcesContent":["export interface Rect {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n\r\n get top(): number;\r\n get bottom(): number;\r\n get left(): number;\r\n get right(): number;\r\n}\r\n\r\nexport class MutableRect implements Rect {\r\n public x: number;\r\n\r\n public y: number;\r\n\r\n public width: number;\r\n\r\n public height: number\r\n\r\n constructor({ x, y, width, height }: { x: number, y: number, width: number, height: number }) {\r\n this.x = x ?? 0;\r\n this.y = y ?? 0;\r\n this.width = width ?? 0;\r\n this.height = height ?? 0;\r\n }\r\n\r\n public get top(): number {\r\n return this.y;\r\n }\r\n\r\n public get bottom(): number {\r\n return this.y + this.height;\r\n }\r\n\r\n public get left(): number {\r\n return this.x;\r\n }\r\n\r\n public get right(): number {\r\n return this.x + this.width;\r\n }\r\n}\r\n\r\nexport function getOverflow (a: MutableRect, b: MutableRect) {\r\n return {\r\n x: {\r\n before: Math.max(0, b.left - a.left),\r\n after: Math.max(0, a.right - b.right),\r\n },\r\n y: {\r\n before: Math.max(0, b.top - a.top),\r\n after: Math.max(0, a.bottom - b.bottom),\r\n },\r\n }\r\n}\r\n"],"mappings":"AAYA,OAAO,MAAMA,WAAW,CAAiB;EASvCC,WAAWA,CAAAC,IAAA,EAAmF;IAAA,IAAlF;MAAEC,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAAgE,CAAC,GAAAJ,IAAA;IAC1F,IAAI,CAACC,CAAC,GAAGA,CAAC,IAAI,CAAC;IACf,IAAI,CAACC,CAAC,GAAGA,CAAC,IAAI,CAAC;IACf,IAAI,CAACC,KAAK,GAAGA,KAAK,IAAI,CAAC;IACvB,IAAI,CAACC,MAAM,GAAGA,MAAM,IAAI,CAAC;EAC3B;EAEA,IAAWC,GAAGA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACH,CAAC;EACf;EAEA,IAAWI,MAAMA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACJ,CAAC,GAAG,IAAI,CAACE,MAAM;EAC7B;EAEA,IAAWG,IAAIA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACN,CAAC;EACf;EAEA,IAAWO,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACP,CAAC,GAAG,IAAI,CAACE,KAAK;EAC5B;AACF;AAEA,OAAO,SAASM,WAAWA,CAAEC,CAAc,EAAEC,CAAc,EAAE;EAC3D,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACJ,IAAI,GAAGG,CAAC,CAACH,IAAI,CAAC;MACpCQ,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;IACtC,CAAC;IACDN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACN,GAAG,GAAGK,CAAC,CAACL,GAAG,CAAC;MAClCU,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACJ,MAAM,GAAGK,CAAC,CAACL,MAAM;IACxC;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"rect.mjs","names":["MutableRect","constructor","_ref","x","y","width","height","top","bottom","left","right","getOverflow","a","b","before","Math","max","after"],"sources":["../../src/util/rect.ts"],"sourcesContent":["export interface Rect {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n\r\n get top(): number;\r\n get bottom(): number;\r\n get left(): number;\r\n get right(): number;\r\n}\r\n\r\nexport class MutableRect implements Rect {\r\n public x: number;\r\n\r\n public y: number;\r\n\r\n public width: number;\r\n\r\n public height: number\r\n\r\n constructor({ x, y, width, height }: { x: number, y: number, width: number, height: number }) {\r\n this.x = x ?? 0;\r\n this.y = y ?? 0;\r\n this.width = width ?? 0;\r\n this.height = height ?? 0;\r\n }\r\n\r\n public get top(): number {\r\n return this.y;\r\n }\r\n\r\n public get bottom(): number {\r\n return this.y + this.height;\r\n }\r\n\r\n public get left(): number {\r\n return this.x;\r\n }\r\n\r\n public get right(): number {\r\n return this.x + this.width;\r\n }\r\n}\r\n\r\nexport function getOverflow (a: MutableRect, b: MutableRect) {\r\n return {\r\n x: {\r\n before: Math.max(0, b.left - a.left),\r\n after: Math.max(0, a.right - b.right),\r\n },\r\n y: {\r\n before: Math.max(0, b.top - a.top),\r\n after: Math.max(0, a.bottom - b.bottom),\r\n },\r\n }\r\n}\r\n"],"mappings":"AAYA,OAAO,MAAMA,WAAW,CAAiB;EASvCC,WAAWA,CAAAC,IAAA,EAAmF;IAAA,IAAlF;MAAEC,CAAC;MAAEC,CAAC;MAAEC,KAAK;MAAEC;IAAgE,CAAC,GAAAJ,IAAA;IAC1F,IAAI,CAACC,CAAC,GAAGA,CAAC,IAAI,CAAC;IACf,IAAI,CAACC,CAAC,GAAGA,CAAC,IAAI,CAAC;IACf,IAAI,CAACC,KAAK,GAAGA,KAAK,IAAI,CAAC;IACvB,IAAI,CAACC,MAAM,GAAGA,MAAM,IAAI,CAAC;EAC3B;EAEA,IAAWC,GAAGA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACH,CAAC;EACf;EAEA,IAAWI,MAAMA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACJ,CAAC,GAAG,IAAI,CAACE,MAAM;EAC7B;EAEA,IAAWG,IAAIA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACN,CAAC;EACf;EAEA,IAAWO,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACP,CAAC,GAAG,IAAI,CAACE,KAAK;EAC5B;AACF;AAEA,OAAO,SAASM,WAAWA,CAAEC,CAAc,EAAEC,CAAc,EAAE;EAC3D,OAAO;IACLV,CAAC,EAAE;MACDW,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACJ,IAAI,GAAGG,CAAC,CAACH,IAAI,CAAC;MACpCQ,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACF,KAAK,GAAGG,CAAC,CAACH,KAAK;IACtC,CAAC;IACDN,CAAC,EAAE;MACDU,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,CAAC,CAACN,GAAG,GAAGK,CAAC,CAACL,GAAG,CAAC;MAClCU,KAAK,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,CAAC,CAACJ,MAAM,GAAGK,CAAC,CAACL,MAAM;IACxC;EACF,CAAC;AACH"}
@@ -30,4 +30,10 @@ export function kebabToCamel(str) {
30
30
  }
31
31
  return res;
32
32
  }
33
+ export function randomCharOne(str) {
34
+ if (str) {
35
+ return str.charAt(Math.floor(Math.random() * str.length));
36
+ }
37
+ return '';
38
+ }
33
39
  //# sourceMappingURL=string.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.mjs","names":["camelToPascal","str","charAt","toUpperCase","slice","toKebabCase","from","arguments","length","undefined","res","index","char","charCode","charCodeAt","toLowerCase","kebabToCamel"],"sources":["../../src/util/string.ts"],"sourcesContent":["\n\nexport 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"],"mappings":"AAEA,OAAO,SAASA,aAAaA,CAACC,GAAW,EAAE;EACzC,OAAOA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,CAAC;AACnD;AAEA,OAAO,SAASC,WAAWA,CAACJ,GAAW,EAAsC;EAAA,IAApCK,IAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EACzE,IAAIG,GAAG,GAAG,EAAE;EACZ,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGV,GAAG,CAACO,MAAM,EAAEG,KAAK,IAAI,CAAC,EAAE;IAClD,MAAMC,IAAI,GAAGX,GAAG,CAACU,KAAK,CAAC;IACvB,MAAME,QAAQ,GAAGD,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC;IACnC,IAAID,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,EAAE;MACpCH,GAAG,IAAK,GACNC,KAAK,KAAK,CAAC,IAAIL,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,GACxC,GAAEM,IAAI,CAACG,WAAW,CAAC,CAAE,EAAC;IACzB,CAAC,MAAM;MACLL,GAAG,IAAIE,IAAI;IACb;EACF;EACA,OAAOF,GAAG;AACZ;AAEA,OAAO,SAASM,YAAYA,CAACf,GAAW,EAAE;EACxC,IAAIS,GAAG,GAAG,EAAE;EACZ,IAAIC,KAAK,GAAG,CAAC;EACb,OAAOA,KAAK,GAAGV,GAAG,CAACO,MAAM,EAAE;IACzB,MAAMI,IAAI,GAAGX,GAAG,CAACU,KAAK,CAAC;IACvB,IAAIC,IAAI,KAAK,GAAG,EAAE;MAChBD,KAAK,IAAI,CAAC;MACVD,GAAG,IAAIT,GAAG,CAACU,KAAK,CAAC,CAACR,WAAW,CAAC,CAAC;IACjC,CAAC,MAAM;MACLO,GAAG,IAAIE,IAAI;IACb;IACAD,KAAK,IAAI,CAAC;EACZ;EACA,OAAOD,GAAG;AACZ"}
1
+ {"version":3,"file":"string.mjs","names":["camelToPascal","str","charAt","toUpperCase","slice","toKebabCase","from","arguments","length","undefined","res","index","char","charCode","charCodeAt","toLowerCase","kebabToCamel","randomCharOne","Math","floor","random"],"sources":["../../src/util/string.ts"],"sourcesContent":["\n\nexport 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"],"mappings":"AAEA,OAAO,SAASA,aAAaA,CAACC,GAAW,EAAE;EACzC,OAAOA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,GAAG,CAACG,KAAK,CAAC,CAAC,CAAC;AACnD;AAEA,OAAO,SAASC,WAAWA,CAACJ,GAAW,EAAsC;EAAA,IAApCK,IAAwB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EACzE,IAAIG,GAAG,GAAG,EAAE;EACZ,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGV,GAAG,CAACO,MAAM,EAAEG,KAAK,IAAI,CAAC,EAAE;IAClD,MAAMC,IAAI,GAAGX,GAAG,CAACU,KAAK,CAAC;IACvB,MAAME,QAAQ,GAAGD,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC;IACnC,IAAID,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,EAAE;MACpCH,GAAG,IAAK,GACNC,KAAK,KAAK,CAAC,IAAIL,IAAI,KAAK,OAAO,GAAG,EAAE,GAAG,GACxC,GAAEM,IAAI,CAACG,WAAW,CAAC,CAAE,EAAC;IACzB,CAAC,MAAM;MACLL,GAAG,IAAIE,IAAI;IACb;EACF;EACA,OAAOF,GAAG;AACZ;AAEA,OAAO,SAASM,YAAYA,CAACf,GAAW,EAAE;EACxC,IAAIS,GAAG,GAAG,EAAE;EACZ,IAAIC,KAAK,GAAG,CAAC;EACb,OAAOA,KAAK,GAAGV,GAAG,CAACO,MAAM,EAAE;IACzB,MAAMI,IAAI,GAAGX,GAAG,CAACU,KAAK,CAAC;IACvB,IAAIC,IAAI,KAAK,GAAG,EAAE;MAChBD,KAAK,IAAI,CAAC;MACVD,GAAG,IAAIT,GAAG,CAACU,KAAK,CAAC,CAACR,WAAW,CAAC,CAAC;IACjC,CAAC,MAAM;MACLO,GAAG,IAAIE,IAAI;IACb;IACAD,KAAK,IAAI,CAAC;EACZ;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASO,aAAaA,CAAChB,GAAW,EAAE;EACzC,IAAIA,GAAG,EAAE;IACP,OAAOA,GAAG,CAACC,MAAM,CAACgB,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGnB,GAAG,CAACO,MAAM,CAAC,CAAC;EAC3D;EACA,OAAO,EAAE;AACX"}
package/lib/util/ui.mjs CHANGED
@@ -1,39 +1,3 @@
1
- export function colorHexToRgb(color) {
2
- if (color && color[0] === '#') {
3
- const hexCodeStr = color.substring(1, color.length);
4
- const hexCodeLength = hexCodeStr.length;
5
- const rgbValues = [];
6
- if (hexCodeLength === 3 || hexCodeLength === 6) {
7
- const multiple = hexCodeLength === 6 ? 2 : 1;
8
- for (let i = 0; i < 3; i += 1) {
9
- const hexCode = hexCodeStr.substring(i * multiple, i * multiple + multiple);
10
- rgbValues.push(Number.parseInt(hexCode, 16));
11
- }
12
- return rgbValues;
13
- }
14
- }
15
- return undefined;
16
- }
17
- export function textColorIsLight(r, g, b) {
18
- const luminance = 1 - (0.299 * r + 0.587 * g + 0.114 * b) / 255;
19
- return luminance < 0.5;
20
- }
21
- export const RGBA_REGEX = /rgb(a?)\((?<v>.*)\)/;
22
- export const HEX_COLOR_REGEX = /#([0-9a-fA-F]{3,6,8})/;
23
- export function isColorValue(value) {
24
- return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);
25
- }
26
- export function toStyleSizeValue(size) {
27
- let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
28
- if (size === '' || size === null || size === undefined) {
29
- return undefined;
30
- }
31
- let value = Number(size);
32
- if (isNaN(value) || !isFinite(value)) {
33
- return undefined;
34
- }
35
- return `${value}${unit}`;
36
- }
37
1
  export function getBoundingPureRect(el) {
38
2
  const rect = el.getBoundingClientRect();
39
3
  const style = getComputedStyle(el);
@@ -80,4 +44,15 @@ export function pixelRound(val) {
80
44
  export function pixelCeil(val) {
81
45
  return Math.ceil(val * devicePixelRatio) / devicePixelRatio;
82
46
  }
47
+ export function toStyleSizeValue(size) {
48
+ let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
49
+ if (size === '' || size === null || size === undefined) {
50
+ return undefined;
51
+ }
52
+ let value = Number(size);
53
+ if (isNaN(value) || !isFinite(value)) {
54
+ return undefined;
55
+ }
56
+ return `${value}${unit}`;
57
+ }
83
58
  //# sourceMappingURL=ui.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.mjs","names":["colorHexToRgb","color","hexCodeStr","substring","length","hexCodeLength","rgbValues","multiple","i","hexCode","push","Number","parseInt","undefined","textColorIsLight","r","g","b","luminance","RGBA_REGEX","HEX_COLOR_REGEX","isColorValue","value","test","toStyleSizeValue","size","unit","arguments","isNaN","isFinite","getBoundingPureRect","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","sx","sy","dx","dy","startsWith","ta","slice","split","to","transformOrigin","x","parseFloat","y","indexOf","w","width","offsetWidth","h","height","offsetHeight","top","right","bottom","left","pixelRound","val","Math","round","devicePixelRatio","pixelCeil","ceil"],"sources":["../../src/util/ui.ts"],"sourcesContent":["\n\nexport function colorHexToRgb(color: string): number[] | undefined {\n if (color && color[0] === '#') {\n const hexCodeStr = color.substring(1, color.length);\n const hexCodeLength = hexCodeStr.length;\n const rgbValues = [];\n if (hexCodeLength === 3 || hexCodeLength === 6) {\n const multiple = hexCodeLength === 6 ? 2 : 1;\n for (let i = 0; i < 3; i += 1) {\n const hexCode = hexCodeStr.substring(\n i * multiple,\n i * multiple + multiple,\n );\n rgbValues.push(Number.parseInt(hexCode, 16));\n }\n return rgbValues;\n }\n }\n return undefined;\n}\n\nexport function textColorIsLight(r: number, g: number, b: number): boolean {\n const luminance = 1 - (0.299 * r + 0.587 * g + 0.114 * b) / 255;\n return luminance < 0.5;\n}\n\nexport const RGBA_REGEX = /rgb(a?)\\((?<v>.*)\\)/;\nexport const HEX_COLOR_REGEX = /#([0-9a-fA-F]{3,6,8})/;\n\nexport function isColorValue(value: string): boolean {\n return RGBA_REGEX.test(value) || HEX_COLOR_REGEX.test(value);\n}\n\nexport function toStyleSizeValue(\n size: number | string | null | undefined,\n unit = 'px',\n): string | undefined {\n if (size === '' || size === null || size === undefined) {\n return undefined;\n }\n let value = Number(size);\n if (isNaN(value) || !isFinite(value)) {\n return undefined;\n }\n return `${value}${unit}`;\n}\n\nexport function getBoundingPureRect(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n const tx = style.transform;\n\n if (tx) {\n let sx, sy, dx, dy;\n if (tx.startsWith('matrix3d(')) {\n const ta = tx.slice(9, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[5];\n dx = +ta[12];\n dy = +ta[13];\n } else if (tx.startsWith('matrix(')) {\n const ta = tx.slice(7, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[3];\n dx = +ta[4];\n dy = +ta[5];\n } else {\n return rect;\n }\n\n const to = style.transformOrigin;\n const x = rect.x - dx - (1 - sx) * parseFloat(to);\n const y =\n rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1));\n const w = sx ? rect.width / sx : el.offsetWidth;\n const h = sy ? rect.height / sy : el.offsetHeight;\n return {\n x: x,\n y: y,\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x,\n } as DOMRect;\n } else {\n return rect;\n }\n}\n\nexport function pixelRound (val: number) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio\n}\n\nexport function pixelCeil (val: number) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ui.mjs","names":["getBoundingPureRect","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","sx","sy","dx","dy","startsWith","ta","slice","split","to","transformOrigin","x","parseFloat","y","indexOf","w","width","offsetWidth","h","height","offsetHeight","top","right","bottom","left","pixelRound","val","Math","round","devicePixelRatio","pixelCeil","ceil","toStyleSizeValue","size","unit","arguments","length","undefined","value","Number","isNaN","isFinite"],"sources":["../../src/util/ui.ts"],"sourcesContent":["export function getBoundingPureRect(el: HTMLElement) {\r\n const rect = el.getBoundingClientRect();\r\n const style = getComputedStyle(el);\r\n const tx = style.transform;\r\n\r\n if (tx) {\r\n let sx, sy, dx, dy;\r\n if (tx.startsWith('matrix3d(')) {\r\n const ta = tx.slice(9, -1).split(/, /);\r\n sx = +ta[0];\r\n sy = +ta[5];\r\n dx = +ta[12];\r\n dy = +ta[13];\r\n } else if (tx.startsWith('matrix(')) {\r\n const ta = tx.slice(7, -1).split(/, /);\r\n sx = +ta[0];\r\n sy = +ta[3];\r\n dx = +ta[4];\r\n dy = +ta[5];\r\n } else {\r\n return rect;\r\n }\r\n\r\n const to = style.transformOrigin;\r\n const x = rect.x - dx - (1 - sx) * parseFloat(to);\r\n const y =\r\n rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1));\r\n const w = sx ? rect.width / sx : el.offsetWidth;\r\n const h = sy ? rect.height / sy : el.offsetHeight;\r\n return {\r\n x: x,\r\n y: y,\r\n width: w,\r\n height: h,\r\n top: y,\r\n right: x + w,\r\n bottom: y + h,\r\n left: x,\r\n } as DOMRect;\r\n } else {\r\n return rect;\r\n }\r\n}\r\n\r\nexport function pixelRound (val: number) {\r\n return Math.round(val * devicePixelRatio) / devicePixelRatio\r\n}\r\n\r\nexport function pixelCeil (val: number) {\r\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\r\n}\r\n\r\nexport function toStyleSizeValue(\r\n size: number | string | null | undefined,\r\n unit = 'px',\r\n): string | undefined {\r\n if (size === '' || size === null || size === undefined) {\r\n return undefined;\r\n }\r\n let value = Number(size);\r\n if (isNaN(value) || !isFinite(value)) {\r\n return undefined;\r\n }\r\n return `${value}${unit}`;\r\n}\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,17 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
+ "keywords": [
5
+ "UI Library",
6
+ "Vue"
7
+ ],
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/yuyeonUI/yuyeon",
11
+ "directory": "packages/yuyeon"
12
+ },
13
+ "author": "yeonyew",
14
+ "license": "Apache-2.0",
4
15
  "files": [
5
16
  "dist",
6
17
  "lib",
@@ -0,0 +1,48 @@
1
+ import { PropType } from 'vue';
2
+ export declare const pressItemsPropsOptions: <Defaults extends {
3
+ items?: unknown;
4
+ itemKey?: unknown;
5
+ itemText?: unknown;
6
+ itemChildren?: unknown;
7
+ } = {}>(defaults?: Defaults | undefined) => {
8
+ items: unknown extends Defaults["items"] ? {
9
+ type: PropType<any[]>;
10
+ default: () => never[];
11
+ } : Omit<{
12
+ type: PropType<any[]>;
13
+ default: () => never[];
14
+ }, "default" | "type"> & {
15
+ type: PropType<unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"]>;
16
+ default: unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"];
17
+ };
18
+ itemKey: unknown extends Defaults["itemKey"] ? {
19
+ type: PropType<string>;
20
+ default: string;
21
+ } : Omit<{
22
+ type: PropType<string>;
23
+ default: string;
24
+ }, "default" | "type"> & {
25
+ type: PropType<unknown extends Defaults["itemKey"] ? string : string | Defaults["itemKey"]>;
26
+ default: unknown extends Defaults["itemKey"] ? string : string | Defaults["itemKey"];
27
+ };
28
+ itemText: unknown extends Defaults["itemText"] ? {
29
+ type: PropType<string>;
30
+ default: string;
31
+ } : Omit<{
32
+ type: PropType<string>;
33
+ default: string;
34
+ }, "default" | "type"> & {
35
+ type: PropType<unknown extends Defaults["itemText"] ? string : string | Defaults["itemText"]>;
36
+ default: unknown extends Defaults["itemText"] ? string : string | Defaults["itemText"];
37
+ };
38
+ itemChildren: unknown extends Defaults["itemChildren"] ? {
39
+ type: PropType<string | boolean>;
40
+ default: string;
41
+ } : Omit<{
42
+ type: PropType<string | boolean>;
43
+ default: string;
44
+ }, "default" | "type"> & {
45
+ type: PropType<unknown extends Defaults["itemChildren"] ? string | boolean : NonNullable<string | boolean> | Defaults["itemChildren"]>;
46
+ default: unknown extends Defaults["itemChildren"] ? string | boolean : NonNullable<string | boolean> | Defaults["itemChildren"];
47
+ };
48
+ };
@@ -1,4 +1,4 @@
1
- import type { PropType } from "vue";
1
+ import type { PropType } from 'vue';
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  outline: {
4
4
  type: PropType<boolean>;
@@ -27,14 +27,14 @@ declare const _default: import("vue").DefineComponent<{
27
27
  disabled: BooleanConstructor;
28
28
  }>>, {
29
29
  disabled: boolean;
30
- checked: boolean;
31
30
  indeterminate: boolean;
31
+ checked: boolean;
32
32
  }, {}> | null;
33
33
  }, {
34
34
  onFocus(e: FocusEvent): void;
35
35
  onBlur(e: FocusEvent): void;
36
36
  onClick(event: MouseEvent): void;
37
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "focus" | "blur")[], "click" | "focus" | "blur", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
37
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "click" | "blur")[], "focus" | "click" | "blur", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
38
  id: PropType<string>;
39
39
  value: PropType<boolean>;
40
40
  icon: PropType<string>;
@@ -3,7 +3,7 @@ export declare const YDialog: import("vue").DefineComponent<{
3
3
  modelValue: {
4
4
  type: PropType<boolean>;
5
5
  };
6
- persistent: {
6
+ modal: {
7
7
  type: BooleanConstructor;
8
8
  };
9
9
  dialogClasses: {
@@ -13,6 +13,12 @@ export declare const YDialog: import("vue").DefineComponent<{
13
13
  }, {
14
14
  active: import("vue").WritableComputedRef<any>;
15
15
  layer: import("vue").Ref<import("vue").DefineComponent<{
16
+ minWidth: PropType<string | number>;
17
+ width: PropType<string | number>;
18
+ maxWidth: PropType<string | number>;
19
+ minHeight: PropType<string | number>;
20
+ height: PropType<string | number>;
21
+ maxHeight: PropType<string | number>;
16
22
  coordinateStrategy: {
17
23
  type: PropType<"levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn>;
18
24
  default: string;
@@ -30,7 +36,7 @@ export declare const YDialog: import("vue").DefineComponent<{
30
36
  default: string;
31
37
  };
32
38
  offset: {
33
- type: (StringConstructor | NumberConstructor | ArrayConstructor)[];
39
+ type: (ArrayConstructor | StringConstructor | NumberConstructor)[];
34
40
  };
35
41
  viewportMargin: {
36
42
  type: NumberConstructor;
@@ -42,6 +48,7 @@ export declare const YDialog: import("vue").DefineComponent<{
42
48
  })>;
43
49
  default: string;
44
50
  };
51
+ theme: StringConstructor;
45
52
  modelValue: {
46
53
  type: PropType<boolean>;
47
54
  };
@@ -60,7 +67,7 @@ export declare const YDialog: import("vue").DefineComponent<{
60
67
  closeClickScrim: {
61
68
  type: PropType<boolean>;
62
69
  };
63
- persistent: PropType<boolean>;
70
+ modal: PropType<boolean>;
64
71
  contentStyles: {
65
72
  type: PropType<import("vue").CSSProperties>;
66
73
  default: () => void;
@@ -73,7 +80,7 @@ export declare const YDialog: import("vue").DefineComponent<{
73
80
  complementClickOption: {
74
81
  handler: (mouseEvent: MouseEvent) => void;
75
82
  determine?: ((event: Event) => boolean) | undefined;
76
- include?: (() => HTMLElement[]) | undefined;
83
+ include?: (() => (HTMLElement | undefined)[]) | undefined;
77
84
  };
78
85
  layerGroup: import("vue").ComputedRef<string | HTMLElement>;
79
86
  active: import("vue").WritableComputedRef<boolean>;
@@ -81,6 +88,7 @@ export declare const YDialog: import("vue").DefineComponent<{
81
88
  onAfterUpdate: () => void;
82
89
  scrim$: import("vue").Ref<HTMLElement | undefined>;
83
90
  content$: import("vue").Ref<HTMLElement | undefined>;
91
+ baseEl: import("vue").Ref<HTMLElement | undefined>;
84
92
  polyTransitionBindProps: import("vue").ComputedRef<{
85
93
  is: any;
86
94
  transitionProps: any;
@@ -1651,6 +1659,12 @@ export declare const YDialog: import("vue").DefineComponent<{
1651
1659
  'click:complement': (mouseEvent: MouseEvent) => true;
1652
1660
  afterLeave: () => true;
1653
1661
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
1662
+ minWidth: PropType<string | number>;
1663
+ width: PropType<string | number>;
1664
+ maxWidth: PropType<string | number>;
1665
+ minHeight: PropType<string | number>;
1666
+ height: PropType<string | number>;
1667
+ maxHeight: PropType<string | number>;
1654
1668
  coordinateStrategy: {
1655
1669
  type: PropType<"levitation" | "arrangement" | import("../../composables/coordinate").CoordinateStrategyFn>;
1656
1670
  default: string;
@@ -1668,7 +1682,7 @@ export declare const YDialog: import("vue").DefineComponent<{
1668
1682
  default: string;
1669
1683
  };
1670
1684
  offset: {
1671
- type: (StringConstructor | NumberConstructor | ArrayConstructor)[];
1685
+ type: (ArrayConstructor | StringConstructor | NumberConstructor)[];
1672
1686
  };
1673
1687
  viewportMargin: {
1674
1688
  type: NumberConstructor;
@@ -1680,6 +1694,7 @@ export declare const YDialog: import("vue").DefineComponent<{
1680
1694
  })>;
1681
1695
  default: string;
1682
1696
  };
1697
+ theme: StringConstructor;
1683
1698
  modelValue: {
1684
1699
  type: PropType<boolean>;
1685
1700
  };
@@ -1698,7 +1713,7 @@ export declare const YDialog: import("vue").DefineComponent<{
1698
1713
  closeClickScrim: {
1699
1714
  type: PropType<boolean>;
1700
1715
  };
1701
- persistent: PropType<boolean>;
1716
+ modal: PropType<boolean>;
1702
1717
  contentStyles: {
1703
1718
  type: PropType<import("vue").CSSProperties>;
1704
1719
  default: () => void;
@@ -1730,7 +1745,7 @@ export declare const YDialog: import("vue").DefineComponent<{
1730
1745
  modelValue: {
1731
1746
  type: PropType<boolean>;
1732
1747
  };
1733
- persistent: {
1748
+ modal: {
1734
1749
  type: BooleanConstructor;
1735
1750
  };
1736
1751
  dialogClasses: {
@@ -1741,5 +1756,5 @@ export declare const YDialog: import("vue").DefineComponent<{
1741
1756
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1742
1757
  }, {
1743
1758
  disabled: boolean;
1744
- persistent: boolean;
1759
+ modal: boolean;
1745
1760
  }, {}>;