yuyeon 0.0.14 → 0.0.16

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 +3224 -2342
  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 +57 -49
  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 +50 -23
  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 +22 -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 +196 -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 +58 -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,135 +0,0 @@
1
- import { computed, nextTick, onScopeDispose, ref, watch } from 'vue';
2
- import { getScrollParents } from "../util/scroll.mjs";
3
- import { getBoundingPureRect, toStyleSizeValue } from "../util/ui.mjs";
4
- import { useToggleScope } from "./scope.mjs";
5
- const levitationStrategies = {
6
- levitation: applyLevitation
7
- };
8
- export function useLevitation(props, state) {
9
- const updateLevitation = ref();
10
- const coordinate = ref();
11
- const coordinateStyles = computed(() => {
12
- if (coordinate.value) {
13
- return {
14
- top: toStyleSizeValue(coordinate.value.y),
15
- left: toStyleSizeValue(coordinate.value.x)
16
- };
17
- }
18
- return {};
19
- });
20
- useToggleScope(() => !!(state.active.value && props.levitationStrategy), reset => {
21
- watch(() => props.levitationStrategy, reset);
22
- onScopeDispose(() => {
23
- updateLevitation.value = undefined;
24
- });
25
- if (typeof props.levitationStrategy === 'function') {
26
- updateLevitation.value = props.levitationStrategy(props, state, coordinate)?.updateLevitation;
27
- } else {
28
- const strategy = levitationStrategies[props.levitationStrategy];
29
- updateLevitation.value = strategy?.(props, state, coordinate)?.updateLevitation;
30
- }
31
- });
32
- window.addEventListener('resize', onResize, {
33
- passive: true
34
- });
35
- onScopeDispose(() => {
36
- window.removeEventListener('resize', onResize);
37
- updateLevitation.value = undefined;
38
- });
39
- function onResize(e) {
40
- updateLevitation.value?.(e);
41
- }
42
- return {
43
- coordinate,
44
- coordinateStyles,
45
- updateLevitation
46
- };
47
- }
48
- function applyLevitation(props, state, coordinate) {
49
- const {
50
- contentEl,
51
- baseEl,
52
- active
53
- } = state;
54
-
55
- /* Content Limitations */
56
- const [minWidth, minHeight, maxWidth, maxHeight] = ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'].map(key => {
57
- return computed(() => {
58
- const val = parseFloat(props[key]);
59
- return isNaN(val) ? Infinity : val;
60
- });
61
- });
62
-
63
- /* Offset */
64
- const offset = computed(() => {
65
- if (Array.isArray(props.offset)) {
66
- return props.offset;
67
- }
68
- if (typeof props.offset === 'string') {
69
- const offset = props.offset.split(' ').map(parseFloat);
70
- if (offset.length < 2) offset.push(0);
71
- return offset;
72
- }
73
- return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];
74
- });
75
-
76
- /* Observing Update */
77
- let observe = false;
78
- const resizeObserver = new ResizeObserver(() => {
79
- if (observe) updateLevitation();
80
- });
81
- watch([state.baseEl, state.contentEl], (_ref, _ref2) => {
82
- let [neoBaseEl, neoContentEl] = _ref;
83
- let [oldBaseEl, oldContentEl] = _ref2;
84
- if (oldBaseEl) resizeObserver.unobserve(oldBaseEl);
85
- if (neoBaseEl) resizeObserver.observe(neoBaseEl);
86
- if (oldContentEl) resizeObserver.unobserve(oldContentEl);
87
- if (neoContentEl) resizeObserver.observe(neoContentEl);
88
- }, {
89
- immediate: true
90
- });
91
- onScopeDispose(() => {
92
- resizeObserver.disconnect();
93
- });
94
- function updateLevitation() {
95
- observe = false;
96
- requestAnimationFrame(() => {
97
- requestAnimationFrame(() => observe = true);
98
- });
99
- if (!baseEl.value || !contentEl.value) return;
100
- const $base = baseEl.value;
101
- const $content = contentEl.value;
102
- const {
103
- viewportMargin
104
- } = props;
105
- const baseRect = $base.getBoundingClientRect();
106
- const contentRect = getBoundingPureRect($content);
107
- const scrollParents = getScrollParents($content);
108
- if (scrollParents.length < 1) {
109
- scrollParents.push(document.documentElement);
110
- }
111
- let x = baseRect.top;
112
- let y = baseRect.left + baseRect.width / 2;
113
- }
114
- watch(() => [props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLevitation());
115
- nextTick(() => {
116
- const result = updateLevitation();
117
- if (!result) return;
118
- const {
119
- available,
120
- contentBox
121
- } = result;
122
- if (contentBox.height > available.y) {
123
- requestAnimationFrame(() => {
124
- updateLevitation();
125
- requestAnimationFrame(() => {
126
- updateLevitation();
127
- });
128
- });
129
- }
130
- });
131
- return {
132
- updateLevitation
133
- };
134
- }
135
- //# sourceMappingURL=levitation.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"levitation.mjs","names":["computed","nextTick","onScopeDispose","ref","watch","getScrollParents","getBoundingPureRect","toStyleSizeValue","useToggleScope","levitationStrategies","levitation","applyLevitation","useLevitation","props","state","updateLevitation","coordinate","coordinateStyles","value","top","y","left","x","active","levitationStrategy","reset","undefined","strategy","window","addEventListener","onResize","passive","removeEventListener","e","contentEl","baseEl","minWidth","minHeight","maxWidth","maxHeight","map","key","val","parseFloat","isNaN","Infinity","offset","Array","isArray","split","length","push","observe","resizeObserver","ResizeObserver","_ref","_ref2","neoBaseEl","neoContentEl","oldBaseEl","oldContentEl","unobserve","immediate","disconnect","requestAnimationFrame","$base","$content","viewportMargin","baseRect","getBoundingClientRect","contentRect","scrollParents","document","documentElement","width","result","available","contentBox","height"],"sources":["../../src/composables/levitation.ts"],"sourcesContent":["import type { Ref } from 'vue';\nimport {\n CSSProperties,\n computed,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n} from 'vue';\n\nimport { getScrollParents } from '../util/scroll';\nimport { getBoundingPureRect, toStyleSizeValue } from '../util/ui';\nimport { useToggleScope } from './scope';\nimport { Rect } from \"../util/Rect\";\n\nexport interface LevitationState {\n contentEl: Ref<HTMLElement | undefined>;\n baseEl: Ref<HTMLElement | undefined>;\n active: Ref<boolean>;\n}\n\nconst levitationStrategies = {\n levitation: applyLevitation,\n};\n\nexport function useLevitation(props: any, state: LevitationState) {\n const updateLevitation = ref<(e: Event) => void>();\n const coordinate = ref<Rect | undefined>();\n const coordinateStyles = computed<CSSProperties>(() => {\n if (coordinate.value) {\n return {\n top: toStyleSizeValue(coordinate.value.y),\n left: toStyleSizeValue(coordinate.value.x),\n };\n }\n return {};\n });\n\n useToggleScope(\n () => !!(state.active.value && props.levitationStrategy),\n (reset) => {\n watch(() => props.levitationStrategy, reset);\n onScopeDispose(() => {\n updateLevitation.value = undefined;\n });\n\n if (typeof props.levitationStrategy === 'function') {\n updateLevitation.value = props.levitationStrategy(\n props,\n state,\n coordinate,\n )?.updateLevitation;\n } else {\n const strategy =\n levitationStrategies[\n props.levitationStrategy as keyof typeof levitationStrategies\n ];\n updateLevitation.value = strategy?.(\n props,\n state,\n coordinate,\n )?.updateLevitation;\n }\n },\n );\n\n window.addEventListener('resize', onResize, { passive: true });\n\n onScopeDispose(() => {\n window.removeEventListener('resize', onResize);\n updateLevitation.value = undefined;\n });\n\n function onResize(e: Event) {\n updateLevitation.value?.(e);\n }\n\n return {\n coordinate,\n coordinateStyles,\n updateLevitation,\n };\n}\n\nfunction applyLevitation(\n props: any,\n state: LevitationState,\n coordinate: Ref<Rect | undefined>,\n) {\n const { contentEl, baseEl, active } = state;\n\n /* Content Limitations */\n const [minWidth, minHeight, maxWidth, maxHeight] = (\n ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const\n ).map((key) => {\n return computed(() => {\n const val = parseFloat(props[key]!);\n return isNaN(val) ? Infinity : val;\n });\n });\n\n /* Offset */\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset;\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat);\n if (offset.length < 2) offset.push(0);\n return offset;\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];\n });\n\n /* Observing Update */\n let observe = false;\n const resizeObserver = new ResizeObserver(() => {\n if (observe) updateLevitation();\n });\n watch(\n [state.baseEl, state.contentEl],\n ([neoBaseEl, neoContentEl], [oldBaseEl, oldContentEl]) => {\n if (oldBaseEl) resizeObserver.unobserve(oldBaseEl);\n if (neoBaseEl) resizeObserver.observe(neoBaseEl);\n\n if (oldContentEl) resizeObserver.unobserve(oldContentEl);\n if (neoContentEl) resizeObserver.observe(neoContentEl);\n },\n { immediate: true },\n );\n onScopeDispose(() => {\n resizeObserver.disconnect();\n });\n\n function updateLevitation(): any {\n observe = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => (observe = true));\n });\n if (!baseEl.value || !contentEl.value) return;\n\n const $base = baseEl.value;\n const $content = contentEl.value;\n const { viewportMargin } = props;\n\n const baseRect = $base.getBoundingClientRect();\n const contentRect = getBoundingPureRect($content);\n const scrollParents = getScrollParents($content);\n\n if (scrollParents.length < 1) {\n scrollParents.push(document.documentElement);\n }\n\n let x = baseRect.top;\n let y = baseRect.left + baseRect.width / 2;\n }\n\n watch(\n () => [\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateLevitation(),\n );\n\n nextTick(() => {\n const result = updateLevitation();\n if (!result) return;\n const { available, contentBox } = result;\n if (contentBox.height > available.y) {\n requestAnimationFrame(() => {\n updateLevitation();\n requestAnimationFrame(() => {\n updateLevitation();\n });\n });\n }\n });\n\n return {\n updateLevitation,\n };\n}\n"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- @function deepGet($map, $keys...) {
2
- @each $key in $keys {
3
- $map: map-get($map, $key);
4
- }
5
- @return $map;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"FrameScheduler.mjs","names":["FrameScheduler","constructor","_defineProperty","run","cancelAnimationFrame","raf","requestAnimationFrame","frame","frames","shift","length","clean","requestNewFrame","callback","push"],"sources":["../../src/util/FrameScheduler.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"}