yuyeon 0.3.1-rc.4 → 0.3.1-rc.6

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 (219) hide show
  1. package/LICENSE +191 -191
  2. package/README.md +15 -15
  3. package/dist/yuyeon.js +611 -607
  4. package/dist/yuyeon.umd.cjs +3 -3
  5. package/lib/abstract/items.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.mjs +2 -2
  7. package/lib/components/alert/YAlert.mjs.map +1 -1
  8. package/lib/components/alert/YAlert.scss +77 -77
  9. package/lib/components/app/YApp.mjs +2 -2
  10. package/lib/components/app/YApp.mjs.map +1 -1
  11. package/lib/components/bench/YBench.mjs +2 -2
  12. package/lib/components/bench/YBench.mjs.map +1 -1
  13. package/lib/components/button/YButton.scss +137 -137
  14. package/lib/components/card/YCard.mjs.map +1 -1
  15. package/lib/components/card/YCard.scss +45 -45
  16. package/lib/components/card/YCardBody.mjs.map +1 -1
  17. package/lib/components/card/YCardFooter.mjs.map +1 -1
  18. package/lib/components/card/YCardHeader.mjs.map +1 -1
  19. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  20. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
  21. package/lib/components/checkbox/YInputCheckbox.scss +84 -84
  22. package/lib/components/checkbox/index.mjs.map +1 -1
  23. package/lib/components/chip/YChip.scss +36 -36
  24. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  25. package/lib/components/date-picker/YDateCalendar.scss +84 -84
  26. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  27. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  28. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  29. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  30. package/lib/components/dialog/index.mjs.map +1 -1
  31. package/lib/components/divider/YDivider.mjs.map +1 -1
  32. package/lib/components/divider/YDivider.scss +2 -2
  33. package/lib/components/draggable/YDraggable.mjs +1 -1
  34. package/lib/components/draggable/YDraggable.mjs.map +1 -1
  35. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  36. package/lib/components/dropdown/YDropdown.scss +27 -27
  37. package/lib/components/field-input/index.mjs.map +1 -1
  38. package/lib/components/form/YForm.mjs.map +1 -1
  39. package/lib/components/icon/YIcon.mjs.map +1 -1
  40. package/lib/components/icon/YIcon.scss +18 -18
  41. package/lib/components/icon/poly.mjs +57 -0
  42. package/lib/components/icon/poly.mjs.map +1 -0
  43. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  44. package/lib/components/icons/YIconClear.mjs.map +1 -1
  45. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  46. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  47. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  48. package/lib/components/icons/YIconSort.mjs.map +1 -1
  49. package/lib/components/icons/YIconSort.scss +24 -24
  50. package/lib/components/icons/index.mjs.map +1 -1
  51. package/lib/components/img/YImg.mjs +4 -4
  52. package/lib/components/img/YImg.mjs.map +1 -1
  53. package/lib/components/index.mjs.map +1 -1
  54. package/lib/components/input/YInput.mjs.map +1 -1
  55. package/lib/components/input/YInput.scss +258 -258
  56. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  57. package/lib/components/layer/YLayer.mjs.map +1 -1
  58. package/lib/components/layer/active-stack.mjs.map +1 -1
  59. package/lib/components/layer/base.mjs.map +1 -1
  60. package/lib/components/layer/content.mjs.map +1 -1
  61. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  62. package/lib/components/list/YList.mjs.map +1 -1
  63. package/lib/components/list/YListItem.mjs.map +1 -1
  64. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  65. package/lib/components/menu/YMenu.mjs +2 -2
  66. package/lib/components/menu/YMenu.mjs.map +1 -1
  67. package/lib/components/menu/YMenu.scss +25 -25
  68. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  69. package/lib/components/pagination/YPagination.mjs.map +1 -1
  70. package/lib/components/pagination/YPagination.scss +52 -52
  71. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  72. package/lib/components/plate/YPlate.mjs +2 -2
  73. package/lib/components/plate/YPlate.mjs.map +1 -1
  74. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  75. package/lib/components/progress-bar/YProgressBar.scss +120 -120
  76. package/lib/components/progress-ring/YProgressRing.mjs +2 -2
  77. package/lib/components/progress-ring/YProgressRing.mjs.map +1 -1
  78. package/lib/components/progress-ring/YProgressRing.scss +38 -38
  79. package/lib/components/progress-ring/index.mjs.map +1 -1
  80. package/lib/components/select/YSelect.mjs +1 -1
  81. package/lib/components/select/YSelect.mjs.map +1 -1
  82. package/lib/components/slider/YSlider.mjs.map +1 -1
  83. package/lib/components/snackbar/YSnackbar.mjs +5 -5
  84. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  85. package/lib/components/switch/YSwitch.mjs.map +1 -1
  86. package/lib/components/switch/YSwitch.scss +211 -211
  87. package/lib/components/tab/YTab.mjs.map +1 -1
  88. package/lib/components/tab/YTab.scss +73 -73
  89. package/lib/components/tab/YTabs.mjs.map +1 -1
  90. package/lib/components/tab/YTabs.scss +8 -8
  91. package/lib/components/tab/index.mjs.map +1 -1
  92. package/lib/components/tab/types.mjs.map +1 -1
  93. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  94. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  95. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  96. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  97. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  98. package/lib/components/table/YTable.mjs.map +1 -1
  99. package/lib/components/table/YTable.scss +157 -157
  100. package/lib/components/table/composibles/header.mjs.map +1 -1
  101. package/lib/components/table/composibles/items.mjs.map +1 -1
  102. package/lib/components/table/composibles/options.mjs.map +1 -1
  103. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  104. package/lib/components/table/composibles/selection.mjs.map +1 -1
  105. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  106. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  107. package/lib/components/table/types/header.mjs.map +1 -1
  108. package/lib/components/table/types/index.mjs.map +1 -1
  109. package/lib/components/table/types/row.mjs.map +1 -1
  110. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  111. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  112. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  113. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  114. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  115. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  116. package/lib/components/tooltip/YTooltip.mjs +14 -13
  117. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  118. package/lib/components/tree-view/YTreeView.scss +81 -81
  119. package/lib/components/tree-view/types.mjs.map +1 -1
  120. package/lib/components/tree-view/util.mjs.map +1 -1
  121. package/lib/composables/choice.mjs.map +1 -1
  122. package/lib/composables/communication.mjs.map +1 -1
  123. package/lib/composables/component.mjs.map +1 -1
  124. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  125. package/lib/composables/coordinate/index.mjs.map +1 -1
  126. package/lib/composables/coordinate/levitation.mjs +2 -2
  127. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  128. package/lib/composables/coordinate/types.mjs.map +1 -1
  129. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  130. package/lib/composables/date/factory.mjs.map +1 -1
  131. package/lib/composables/date/index.mjs.map +1 -1
  132. package/lib/composables/date/setting.mjs.map +1 -1
  133. package/lib/composables/date/types.mjs.map +1 -1
  134. package/lib/composables/defaults/index.mjs.map +1 -1
  135. package/lib/composables/defaults/share.mjs.map +1 -1
  136. package/lib/composables/defaults/types.mjs.map +1 -1
  137. package/lib/composables/dimension.mjs.map +1 -1
  138. package/lib/composables/focus.mjs.map +1 -1
  139. package/lib/composables/form.mjs.map +1 -1
  140. package/lib/composables/group.mjs +194 -0
  141. package/lib/composables/group.mjs.map +1 -0
  142. package/lib/composables/i18n/index.mjs.map +1 -1
  143. package/lib/composables/i18n/locale.mjs.map +1 -1
  144. package/lib/composables/i18n/rtl.mjs.map +1 -1
  145. package/lib/composables/i18n/share.mjs.map +1 -1
  146. package/lib/composables/icon.mjs.map +1 -1
  147. package/lib/composables/index.mjs.map +1 -1
  148. package/lib/composables/layer-group.mjs.map +1 -1
  149. package/lib/composables/layout.mjs.map +1 -1
  150. package/lib/composables/list-items.mjs.map +1 -1
  151. package/lib/composables/progress.mjs.map +1 -1
  152. package/lib/composables/ref.mjs.map +1 -1
  153. package/lib/composables/resize-observer.mjs.map +1 -1
  154. package/lib/composables/scope.mjs.map +1 -1
  155. package/lib/composables/theme/factory.mjs.map +1 -1
  156. package/lib/composables/theme/index.mjs.map +1 -1
  157. package/lib/composables/theme/setting.mjs.map +1 -1
  158. package/lib/composables/theme/types.mjs.map +1 -1
  159. package/lib/composables/timing.mjs.map +1 -1
  160. package/lib/composables/transition.mjs.map +1 -1
  161. package/lib/composables/validation.mjs.map +1 -1
  162. package/lib/composables/vue-router.mjs.map +1 -1
  163. package/lib/directives/plate-wave/index.mjs +2 -2
  164. package/lib/directives/plate-wave/index.mjs.map +1 -1
  165. package/lib/etc/index.mjs.map +1 -1
  166. package/lib/i18n/built-in.mjs.map +1 -1
  167. package/lib/i18n/config.mjs.map +1 -1
  168. package/lib/i18n/types.mjs.map +1 -1
  169. package/lib/index.mjs.map +1 -1
  170. package/lib/locales/en.mjs.map +1 -1
  171. package/lib/locales/index.mjs.map +1 -1
  172. package/lib/locales/ko.mjs.map +1 -1
  173. package/lib/styles/_elevation.scss +16 -16
  174. package/lib/styles/_palette.scss +1 -1
  175. package/lib/styles/base.scss +130 -130
  176. package/lib/styles/settings/_elevation.scss +20 -20
  177. package/lib/styles/settings/_variables.scss +14 -14
  178. package/lib/styles/theme/dark.scss +11 -11
  179. package/lib/styles/theme/light.scss +11 -11
  180. package/lib/styles/util/_mixin.scss +33 -33
  181. package/lib/styles/util/_var.scss +18 -18
  182. package/lib/util/anchor.mjs.map +1 -1
  183. package/lib/util/collection.mjs.map +1 -1
  184. package/lib/util/color/const.mjs.map +1 -1
  185. package/lib/util/color/index.mjs +12 -12
  186. package/lib/util/color/index.mjs.map +1 -1
  187. package/lib/util/color/types.mjs.map +1 -1
  188. package/lib/util/color/utils/math-utils.mjs +62 -62
  189. package/lib/util/color/utils/math-utils.mjs.map +1 -1
  190. package/lib/util/component/component.mjs.map +1 -1
  191. package/lib/util/component/index.mjs.map +1 -1
  192. package/lib/util/component/inject-self.mjs.map +1 -1
  193. package/lib/util/component/props.mjs.map +1 -1
  194. package/lib/util/component/types.mjs.map +1 -1
  195. package/lib/util/date/index.mjs.map +1 -1
  196. package/lib/util/date/types.mjs.map +1 -1
  197. package/lib/util/debounce.mjs.map +1 -1
  198. package/lib/util/environments.mjs.map +1 -1
  199. package/lib/util/index.mjs.map +1 -1
  200. package/lib/util/parser.mjs +31 -0
  201. package/lib/util/parser.mjs.map +1 -0
  202. package/lib/util/reactivity.mjs +3 -3
  203. package/lib/util/reactivity.mjs.map +1 -1
  204. package/lib/util/rect.mjs.map +1 -1
  205. package/lib/util/validation.mjs.map +1 -1
  206. package/lib/util/vue-component/index.mjs +63 -0
  207. package/lib/util/vue-component/index.mjs.map +1 -0
  208. package/lib/util/vue-component/props.mjs +37 -0
  209. package/lib/util/vue-component/props.mjs.map +1 -0
  210. package/lib/util/vue-component/types.mjs +2 -0
  211. package/lib/util/vue-component/types.mjs.map +1 -0
  212. package/lib/util/vue-component.mjs +102 -0
  213. package/lib/util/vue-component.mjs.map +1 -0
  214. package/package.json +120 -120
  215. package/types/components/dropdown/YDropdown.d.ts +4 -4
  216. package/types/components/select/YSelect.d.ts +1539 -0
  217. package/types/components/tooltip/YTooltip.d.ts +502 -0
  218. package/types/globals.d.ts +20 -20
  219. package/types/shims.d.ts +55 -55
@@ -1,52 +1,52 @@
1
- .y-pagination {
2
- &__list {
3
- display: inline-flex;
4
- width: 100%;
5
- gap: var(--y-pagination__gap);
6
- }
7
-
8
- &--align-end &__list {
9
- justify-content: flex-end;
10
- }
11
-
12
- &--align-center &__list {
13
- justify-content: center;
14
- }
15
-
16
- li {
17
- list-style: none;
18
-
19
- .y-button {
20
- min-width: 2.429em;
21
- min-height: 0;
22
- padding: 4px;
23
-
24
- &__content {
25
- padding: 2px;
26
- }
27
-
28
- svg {
29
- width: 1.25rem;
30
- height: 1.25rem;
31
- }
32
- }
33
-
34
- .y-button.y-button--disabled {
35
- background: rgba(0, 0, 0, 0.02);
36
- }
37
- }
38
-
39
- &__item {
40
- &--active {
41
- .y-button:before {
42
- opacity: 0.1;
43
- }
44
- }
45
- }
46
-
47
- &__first,
48
- &__last,
49
- &__prev,
50
- &__next {
51
- }
52
- }
1
+ .y-pagination {
2
+ &__list {
3
+ display: inline-flex;
4
+ width: 100%;
5
+ gap: var(--y-pagination__gap);
6
+ }
7
+
8
+ &--align-end &__list {
9
+ justify-content: flex-end;
10
+ }
11
+
12
+ &--align-center &__list {
13
+ justify-content: center;
14
+ }
15
+
16
+ li {
17
+ list-style: none;
18
+
19
+ .y-button {
20
+ min-width: 2.429em;
21
+ min-height: 0;
22
+ padding: 4px;
23
+
24
+ &__content {
25
+ padding: 2px;
26
+ }
27
+
28
+ svg {
29
+ width: 1.25rem;
30
+ height: 1.25rem;
31
+ }
32
+ }
33
+
34
+ .y-button.y-button--disabled {
35
+ background: rgba(0, 0, 0, 0.02);
36
+ }
37
+ }
38
+
39
+ &__item {
40
+ &--active {
41
+ .y-button:before {
42
+ opacity: 0.1;
43
+ }
44
+ }
45
+ }
46
+
47
+ &__first,
48
+ &__last,
49
+ &__prev,
50
+ &__next {
51
+ }
52
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"YDividePanel.mjs","names":["computed","defineComponent","ref","watch","useRender","YDividePanel","name","setup","props","_ref","slots","contentRate","isResizing","secondarySlot","activeSecondary","rootRef","neo","value","topStyles","inset","position","classes","moveListener","event","mouseEvent","containerRect","getBoundingClientRect","requestAnimationFrame","Math","min","max","clientY","y","height","cancelEvent","removeEventListener","upListener","leaveListener","onMousedown","preventDefault","addEventListener","_createVNode","_Fragment","default","secondary"],"sources":["../../../src/components/panel/YDividePanel.tsx"],"sourcesContent":["import { type CSSProperties, computed, defineComponent, ref, watch } from 'vue';\n\nimport { useRender } from '@/composables/component';\n\nimport './YDividePanel.scss';\n\nexport const YDividePanel = defineComponent({\n name: 'YDividePanel',\n setup(props, { slots }) {\n const contentRate = ref(50);\n const isResizing = ref(false);\n const secondarySlot = ref();\n const activeSecondary = ref(false);\n const rootRef = ref();\n\n watch(secondarySlot, (neo) => {\n activeSecondary.value = !!neo;\n });\n\n const topStyles = computed<CSSProperties>(() => {\n let inset = '0 0';\n if (activeSecondary.value) {\n inset = `0 0 ${100 - contentRate.value}% 0`;\n }\n return {\n position: 'absolute',\n inset,\n };\n });\n\n const classes = computed(() => {\n return {\n 'y-divide-panel': true,\n 'y-divide-panel--resizing': isResizing.value,\n };\n });\n\n function moveListener(event: Event) {\n const mouseEvent = event as MouseEvent;\n const containerRect = rootRef.value.getBoundingClientRect();\n requestAnimationFrame(() => {\n contentRate.value = Math.min(\n Math.max(\n 10,\n ((mouseEvent.clientY - containerRect.y) / containerRect.height) *\n 100,\n ),\n 90,\n );\n });\n }\n\n function cancelEvent() {\n isResizing.value = false;\n rootRef.value.removeEventListener('mousemove', moveListener);\n rootRef.value.removeEventListener('mouseup', upListener);\n rootRef.value.removeEventListener('mouseleave', leaveListener);\n }\n\n function upListener(event: Event) {\n cancelEvent();\n }\n\n function leaveListener(event: Event) {\n cancelEvent();\n }\n\n function onMousedown(event: MouseEvent) {\n event.preventDefault();\n isResizing.value = true;\n rootRef.value.addEventListener('mousemove', moveListener);\n rootRef.value.addEventListener('mouseup', upListener);\n rootRef.value.addEventListener('mouseleave', leaveListener);\n }\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} ref={rootRef}>\n <div\n class={'y-divide-panel__top-container'}\n style={topStyles.value}\n >\n {slots.default?.()}\n </div>\n {\n (secondarySlot.value = slots.secondary && (\n <>\n <div\n class=\"y-divide-panel__divider\"\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n onMousedown={onMousedown}\n >\n <div class=\"y-divide-panel__divider-line\"></div>\n </div>\n <div\n class={'y-divide-panel__secondary-container'}\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n >\n {slots.secondary?.()}\n </div>\n </>\n ))\n }\n </div>\n </>\n );\n });\n\n return {\n activeSecondary,\n };\n },\n});\n\nexport type YDividePanel = InstanceType<typeof YDividePanel>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDividePanel.mjs","names":["computed","defineComponent","ref","watch","useRender","YDividePanel","name","setup","props","_ref","slots","contentRate","isResizing","secondarySlot","activeSecondary","rootRef","neo","value","topStyles","inset","position","classes","moveListener","event","mouseEvent","containerRect","getBoundingClientRect","requestAnimationFrame","Math","min","max","clientY","y","height","cancelEvent","removeEventListener","upListener","leaveListener","onMousedown","preventDefault","addEventListener","_createVNode","_Fragment","default","secondary"],"sources":["../../../src/components/panel/YDividePanel.tsx"],"sourcesContent":["import { type CSSProperties, computed, defineComponent, ref, watch } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\n\r\nimport './YDividePanel.scss';\r\n\r\nexport const YDividePanel = defineComponent({\r\n name: 'YDividePanel',\r\n setup(props, { slots }) {\r\n const contentRate = ref(50);\r\n const isResizing = ref(false);\r\n const secondarySlot = ref();\r\n const activeSecondary = ref(false);\r\n const rootRef = ref();\r\n\r\n watch(secondarySlot, (neo) => {\r\n activeSecondary.value = !!neo;\r\n });\r\n\r\n const topStyles = computed<CSSProperties>(() => {\r\n let inset = '0 0';\r\n if (activeSecondary.value) {\r\n inset = `0 0 ${100 - contentRate.value}% 0`;\r\n }\r\n return {\r\n position: 'absolute',\r\n inset,\r\n };\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-divide-panel': true,\r\n 'y-divide-panel--resizing': isResizing.value,\r\n };\r\n });\r\n\r\n function moveListener(event: Event) {\r\n const mouseEvent = event as MouseEvent;\r\n const containerRect = rootRef.value.getBoundingClientRect();\r\n requestAnimationFrame(() => {\r\n contentRate.value = Math.min(\r\n Math.max(\r\n 10,\r\n ((mouseEvent.clientY - containerRect.y) / containerRect.height) *\r\n 100,\r\n ),\r\n 90,\r\n );\r\n });\r\n }\r\n\r\n function cancelEvent() {\r\n isResizing.value = false;\r\n rootRef.value.removeEventListener('mousemove', moveListener);\r\n rootRef.value.removeEventListener('mouseup', upListener);\r\n rootRef.value.removeEventListener('mouseleave', leaveListener);\r\n }\r\n\r\n function upListener(event: Event) {\r\n cancelEvent();\r\n }\r\n\r\n function leaveListener(event: Event) {\r\n cancelEvent();\r\n }\r\n\r\n function onMousedown(event: MouseEvent) {\r\n event.preventDefault();\r\n isResizing.value = true;\r\n rootRef.value.addEventListener('mousemove', moveListener);\r\n rootRef.value.addEventListener('mouseup', upListener);\r\n rootRef.value.addEventListener('mouseleave', leaveListener);\r\n }\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <div class={classes.value} ref={rootRef}>\r\n <div\r\n class={'y-divide-panel__top-container'}\r\n style={topStyles.value}\r\n >\r\n {slots.default?.()}\r\n </div>\r\n {\r\n (secondarySlot.value = slots.secondary && (\r\n <>\r\n <div\r\n class=\"y-divide-panel__divider\"\r\n style={{\r\n position: 'absolute',\r\n inset: `${contentRate.value}% 0 0 0`,\r\n }}\r\n onMousedown={onMousedown}\r\n >\r\n <div class=\"y-divide-panel__divider-line\"></div>\r\n </div>\r\n <div\r\n class={'y-divide-panel__secondary-container'}\r\n style={{\r\n position: 'absolute',\r\n inset: `${contentRate.value}% 0 0 0`,\r\n }}\r\n >\r\n {slots.secondary?.()}\r\n </div>\r\n </>\r\n ))\r\n }\r\n </div>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n activeSecondary,\r\n };\r\n },\r\n});\r\n\r\nexport type YDividePanel = InstanceType<typeof YDividePanel>;\r\n"],"mappings":";AAAA,SAA6BA,QAAQ,EAAEC,eAAe,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEvEC,SAAS;AAElB;AAEA,OAAO,MAAMC,YAAY,GAAGJ,eAAe,CAAC;EAC1CK,IAAI,EAAE,cAAc;EACpBC,KAAKA,CAACC,KAAK,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,WAAW,GAAGT,GAAG,CAAC,EAAE,CAAC;IAC3B,MAAMU,UAAU,GAAGV,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAMW,aAAa,GAAGX,GAAG,CAAC,CAAC;IAC3B,MAAMY,eAAe,GAAGZ,GAAG,CAAC,KAAK,CAAC;IAClC,MAAMa,OAAO,GAAGb,GAAG,CAAC,CAAC;IAErBC,KAAK,CAACU,aAAa,EAAGG,GAAG,IAAK;MAC5BF,eAAe,CAACG,KAAK,GAAG,CAAC,CAACD,GAAG;IAC/B,CAAC,CAAC;IAEF,MAAME,SAAS,GAAGlB,QAAQ,CAAgB,MAAM;MAC9C,IAAImB,KAAK,GAAG,KAAK;MACjB,IAAIL,eAAe,CAACG,KAAK,EAAE;QACzBE,KAAK,GAAI,OAAM,GAAG,GAAGR,WAAW,CAACM,KAAM,KAAI;MAC7C;MACA,OAAO;QACLG,QAAQ,EAAE,UAAU;QACpBD;MACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAME,OAAO,GAAGrB,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,gBAAgB,EAAE,IAAI;QACtB,0BAA0B,EAAEY,UAAU,CAACK;MACzC,CAAC;IACH,CAAC,CAAC;IAEF,SAASK,YAAYA,CAACC,KAAY,EAAE;MAClC,MAAMC,UAAU,GAAGD,KAAmB;MACtC,MAAME,aAAa,GAAGV,OAAO,CAACE,KAAK,CAACS,qBAAqB,CAAC,CAAC;MAC3DC,qBAAqB,CAAC,MAAM;QAC1BhB,WAAW,CAACM,KAAK,GAAGW,IAAI,CAACC,GAAG,CAC1BD,IAAI,CAACE,GAAG,CACN,EAAE,EACD,CAACN,UAAU,CAACO,OAAO,GAAGN,aAAa,CAACO,CAAC,IAAIP,aAAa,CAACQ,MAAM,GAC5D,GACJ,CAAC,EACD,EACF,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,SAASC,WAAWA,CAAA,EAAG;MACrBtB,UAAU,CAACK,KAAK,GAAG,KAAK;MACxBF,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,WAAW,EAAEb,YAAY,CAAC;MAC5DP,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,SAAS,EAAEC,UAAU,CAAC;MACxDrB,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,YAAY,EAAEE,aAAa,CAAC;IAChE;IAEA,SAASD,UAAUA,CAACb,KAAY,EAAE;MAChCW,WAAW,CAAC,CAAC;IACf;IAEA,SAASG,aAAaA,CAACd,KAAY,EAAE;MACnCW,WAAW,CAAC,CAAC;IACf;IAEA,SAASI,WAAWA,CAACf,KAAiB,EAAE;MACtCA,KAAK,CAACgB,cAAc,CAAC,CAAC;MACtB3B,UAAU,CAACK,KAAK,GAAG,IAAI;MACvBF,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,WAAW,EAAElB,YAAY,CAAC;MACzDP,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,SAAS,EAAEJ,UAAU,CAAC;MACrDrB,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,YAAY,EAAEH,aAAa,CAAC;IAC7D;IAEAjC,SAAS,CAAC,MAAM;MACd,OAAAqC,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA,SAEgBpB,OAAO,CAACJ,KAAK;QAAA,OAAOF;MAAO,IAAA0B,YAAA;QAAA,SAE5B,+BAA+B;QAAA,SAC/BvB,SAAS,CAACD;MAAK,IAErBP,KAAK,CAACiC,OAAO,GAAG,CAAC,IAGjB9B,aAAa,CAACI,KAAK,GAAGP,KAAK,CAACkC,SAAS,IAAAH,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA;QAAA,SAIzB;UACLrB,QAAQ,EAAE,UAAU;UACpBD,KAAK,EAAG,GAAER,WAAW,CAACM,KAAM;QAC9B,CAAC;QAAA,eACYqB;MAAW,IAAAG,YAAA;QAAA;MAAA,YAAAA,YAAA;QAAA,SAKjB,qCAAqC;QAAA,SACrC;UACLrB,QAAQ,EAAE,UAAU;UACpBD,KAAK,EAAG,GAAER,WAAW,CAACM,KAAM;QAC9B;MAAC,IAEAP,KAAK,CAACkC,SAAS,GAAG,CAAC,IAGzB;IAKX,CAAC,CAAC;IAEF,OAAO;MACL9B;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -4,8 +4,8 @@ import { useRender } from "../../composables/component.mjs";
4
4
  import { defineComponent } from "../../util/component/index.mjs";
5
5
  import "./YPlate.scss";
6
6
 
7
- /**
8
- * # Base Component
7
+ /**
8
+ * # Base Component
9
9
  */
10
10
  export const YPlate = defineComponent({
11
11
  name: 'YPlate',
@@ -1 +1 @@
1
- {"version":3,"file":"YPlate.mjs","names":["computed","useRender","defineComponent","YPlate","name","props","variation","Object","setup","classes","_createVNode","value"],"sources":["../../../src/components/plate/YPlate.tsx"],"sourcesContent":["import { type PropType, computed } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component';\n\nimport './YPlate.scss';\n\n/**\n * # Base Component\n */\nexport const YPlate = defineComponent({\n name: 'YPlate',\n props: {\n variation: Object as PropType<Record<string, any>>,\n },\n setup() {\n const classes = computed<Record<string, boolean>>(() => {\n return {\n 'y-plate': true,\n };\n });\n\n useRender(() => {\n return <div class={classes.value}></div>;\n });\n },\n});\n\nexport type YPlate = InstanceType<typeof YPlate>;\n"],"mappings":";AAAA,SAAwBA,QAAQ,QAAQ,KAAK;AAAC,SAErCC,SAAS;AAAA,SACTC,eAAe;AAExB;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAC;EACpCE,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACLC,SAAS,EAAEC;EACb,CAAC;EACDC,KAAKA,CAAA,EAAG;IACN,MAAMC,OAAO,GAAGT,QAAQ,CAA0B,MAAM;MACtD,OAAO;QACL,SAAS,EAAE;MACb,CAAC;IACH,CAAC,CAAC;IAEFC,SAAS,CAAC,MAAM;MACd,OAAAS,YAAA;QAAA,SAAmBD,OAAO,CAACE;MAAK;IAClC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YPlate.mjs","names":["computed","useRender","defineComponent","YPlate","name","props","variation","Object","setup","classes","_createVNode","value"],"sources":["../../../src/components/plate/YPlate.tsx"],"sourcesContent":["import { type PropType, computed } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport './YPlate.scss';\r\n\r\n/**\r\n * # Base Component\r\n */\r\nexport const YPlate = defineComponent({\r\n name: 'YPlate',\r\n props: {\r\n variation: Object as PropType<Record<string, any>>,\r\n },\r\n setup() {\r\n const classes = computed<Record<string, boolean>>(() => {\r\n return {\r\n 'y-plate': true,\r\n };\r\n });\r\n\r\n useRender(() => {\r\n return <div class={classes.value}></div>;\r\n });\r\n },\r\n});\r\n\r\nexport type YPlate = InstanceType<typeof YPlate>;\r\n"],"mappings":";AAAA,SAAwBA,QAAQ,QAAQ,KAAK;AAAC,SAErCC,SAAS;AAAA,SACTC,eAAe;AAExB;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGD,eAAe,CAAC;EACpCE,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE;IACLC,SAAS,EAAEC;EACb,CAAC;EACDC,KAAKA,CAAA,EAAG;IACN,MAAMC,OAAO,GAAGT,QAAQ,CAA0B,MAAM;MACtD,OAAO;QACL,SAAS,EAAE;MACb,CAAC;IACH,CAAC,CAAC;IAEFC,SAAS,CAAC,MAAM;MACd,OAAAS,YAAA;QAAA,SAAmBD,OAAO,CAACE;MAAK;IAClC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"YProgressBar.mjs","names":["computed","useRender","useProgress","isColorValue","defineComponent","YProgressBar","name","props","modelValue","type","Number","rounded","Boolean","height","noRewindTransition","outlined","innerText","color","String","default","textColor","outlineColor","indeterminate","reverse","setup","_ref","slots","numValue","delta","classes","noTransition","value","leadColor","styles","minWidth","width","_createVNode","undefined","_createTextVNode"],"sources":["../../../src/components/progress-bar/YProgressBar.tsx"],"sourcesContent":["import { type PropType, computed, shallowRef } from 'vue';\n\nimport { useRender } from '@/composables';\nimport { useProgress } from '@/composables/progress';\nimport { isColorValue } from '@/util/color';\nimport { defineComponent } from '@/util/component';\n\nimport './YProgressBar.scss';\n\nexport const YProgressBar = defineComponent({\n name: 'YProgressBar',\n props: {\n modelValue: {\n type: Number as PropType<number>,\n },\n rounded: {\n type: Boolean as PropType<boolean>,\n },\n height: {\n type: Number as PropType<number>,\n },\n noRewindTransition: {\n type: Boolean as PropType<boolean>,\n },\n outlined: {\n type: Boolean as PropType<boolean>,\n },\n innerText: {\n type: Boolean as PropType<boolean>,\n },\n color: {\n type: String as PropType<string>,\n default: 'primary',\n },\n textColor: {\n type: String as PropType<string>,\n },\n outlineColor: {\n type: String as PropType<string>,\n },\n indeterminate: Boolean,\n reverse: Boolean,\n },\n setup(props, { slots }) {\n const { numValue, delta } = useProgress(props);\n\n const classes = computed(() => {\n let noTransition = false;\n if (props.noRewindTransition && delta.value < 0) {\n noTransition = true;\n }\n\n return {\n 'y-progress--no-trans': noTransition,\n 'y-progress--outlined': props.outlined,\n 'y-progress--indeterminate': props.indeterminate,\n 'y-progress-bar--rounded': props.rounded,\n 'y-progress-bar--reverse': props.reverse,\n };\n });\n\n const leadColor = computed(() => {\n let color = props.color ?? '';\n if (!isColorValue(color)) {\n color = `var(--y-theme-${color})`;\n }\n return color;\n });\n\n const styles = computed(() => {\n let minWidth;\n if (props.innerText && numValue.value < 5 && numValue.value > 0) {\n minWidth = '2rem';\n }\n return {\n width: `${numValue.value}%`,\n minWidth,\n };\n });\n\n useRender(() => (\n <div\n class={{ 'y-progress y-progress-bar': true, ...classes.value }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={numValue.value}\n style={{\n '--y-progress-bar__height':\n props.height !== undefined ? `${props.height}px` : undefined,\n '--y-progress-bar__outline-color':\n props.outlineColor !== undefined ? props.outlineColor : undefined,\n '--y-progress-bar__color': leadColor.value,\n '--y-progress-bar__value': numValue.value,\n }}\n >\n <div class=\"y-progress__track\"></div>\n <div class=\"y-progress__tube\">\n <div class=\"y-progress__lead\" style={styles.value}>\n {slots['lead-inner']\n ? slots['lead-inner']()\n : props.innerText && (\n <div\n class={{\n 'y-progress__lead-inner': true,\n 'y-progress__lead-inner--fixed': numValue.value < 3,\n }}\n style={{ color: props.textColor }}\n >\n <span>{numValue} %</span>\n </div>\n )}\n </div>\n </div>\n </div>\n ));\n\n return {\n numValue,\n delta,\n };\n },\n});\n\nexport type YProgressBar = InstanceType<typeof YProgressBar>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YProgressBar.mjs","names":["computed","useRender","useProgress","isColorValue","defineComponent","YProgressBar","name","props","modelValue","type","Number","rounded","Boolean","height","noRewindTransition","outlined","innerText","color","String","default","textColor","outlineColor","indeterminate","reverse","setup","_ref","slots","numValue","delta","classes","noTransition","value","leadColor","styles","minWidth","width","_createVNode","undefined","_createTextVNode"],"sources":["../../../src/components/progress-bar/YProgressBar.tsx"],"sourcesContent":["import { type PropType, computed, shallowRef } from 'vue';\r\n\r\nimport { useRender } from '@/composables';\r\nimport { useProgress } from '@/composables/progress';\r\nimport { isColorValue } from '@/util/color';\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport './YProgressBar.scss';\r\n\r\nexport const YProgressBar = defineComponent({\r\n name: 'YProgressBar',\r\n props: {\r\n modelValue: {\r\n type: Number as PropType<number>,\r\n },\r\n rounded: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n height: {\r\n type: Number as PropType<number>,\r\n },\r\n noRewindTransition: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n outlined: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n innerText: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n color: {\r\n type: String as PropType<string>,\r\n default: 'primary',\r\n },\r\n textColor: {\r\n type: String as PropType<string>,\r\n },\r\n outlineColor: {\r\n type: String as PropType<string>,\r\n },\r\n indeterminate: Boolean,\r\n reverse: Boolean,\r\n },\r\n setup(props, { slots }) {\r\n const { numValue, delta } = useProgress(props);\r\n\r\n const classes = computed(() => {\r\n let noTransition = false;\r\n if (props.noRewindTransition && delta.value < 0) {\r\n noTransition = true;\r\n }\r\n\r\n return {\r\n 'y-progress--no-trans': noTransition,\r\n 'y-progress--outlined': props.outlined,\r\n 'y-progress--indeterminate': props.indeterminate,\r\n 'y-progress-bar--rounded': props.rounded,\r\n 'y-progress-bar--reverse': props.reverse,\r\n };\r\n });\r\n\r\n const leadColor = computed(() => {\r\n let color = props.color ?? '';\r\n if (!isColorValue(color)) {\r\n color = `var(--y-theme-${color})`;\r\n }\r\n return color;\r\n });\r\n\r\n const styles = computed(() => {\r\n let minWidth;\r\n if (props.innerText && numValue.value < 5 && numValue.value > 0) {\r\n minWidth = '2rem';\r\n }\r\n return {\r\n width: `${numValue.value}%`,\r\n minWidth,\r\n };\r\n });\r\n\r\n useRender(() => (\r\n <div\r\n class={{ 'y-progress y-progress-bar': true, ...classes.value }}\r\n role=\"progressbar\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n aria-valuenow={numValue.value}\r\n style={{\r\n '--y-progress-bar__height':\r\n props.height !== undefined ? `${props.height}px` : undefined,\r\n '--y-progress-bar__outline-color':\r\n props.outlineColor !== undefined ? props.outlineColor : undefined,\r\n '--y-progress-bar__color': leadColor.value,\r\n '--y-progress-bar__value': numValue.value,\r\n }}\r\n >\r\n <div class=\"y-progress__track\"></div>\r\n <div class=\"y-progress__tube\">\r\n <div class=\"y-progress__lead\" style={styles.value}>\r\n {slots['lead-inner']\r\n ? slots['lead-inner']()\r\n : props.innerText && (\r\n <div\r\n class={{\r\n 'y-progress__lead-inner': true,\r\n 'y-progress__lead-inner--fixed': numValue.value < 3,\r\n }}\r\n style={{ color: props.textColor }}\r\n >\r\n <span>{numValue} %</span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n ));\r\n\r\n return {\r\n numValue,\r\n delta,\r\n };\r\n },\r\n});\r\n\r\nexport type YProgressBar = InstanceType<typeof YProgressBar>;\r\n"],"mappings":"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"}
@@ -1,120 +1,120 @@
1
- @use '../../styles/settings/variables';
2
-
3
- .y-progress {
4
- --y-progress-bar__height: 4px;
5
- --y-progress-bar__color: var(--y-theme-primary);
6
- --y-progress-bar__track-color: rgba(var(--y-theme-surface-variant), 0.74);
7
-
8
- display: flex;
9
- position: relative;
10
- height: var(--y-progress-bar__height, 4px);
11
- color: var(--y-progress-bar__color);
12
-
13
- &-bar--rounded {
14
- border-radius: calc(var(--y-progress-bar__height) / 2);
15
- }
16
-
17
- &--outlined {
18
- --y-progress-bar__outline-color: var(--y-theme-primary);
19
- border: 1px solid var(--y-progress-bar__outline-color);
20
- }
21
-
22
- &-bar--reverse & {
23
- &__track {
24
- transform-origin: 0 100%;
25
- transform: translateX(100%) scale3d(-1, 1, 1);
26
- }
27
-
28
- &__lead {
29
- right: 0;
30
- position: absolute;
31
- }
32
- }
33
-
34
- &__tube {
35
- border-radius: inherit;
36
- overflow: clip;
37
- min-width: 0;
38
- flex: 1 1;
39
- position: relative;
40
- }
41
-
42
- &__track {
43
- background-color: var(--y-progress-bar__track-color);
44
- position: absolute;
45
- inset: 0;
46
- border-radius: inherit;
47
- overflow: clip;
48
- color: inherit;
49
- }
50
-
51
- &__lead {
52
- height: 100%;
53
- background-color: var(--y-progress-bar__color);
54
- position: relative;
55
- transform-origin: left;
56
- transition: all 250ms cubic-bezier(0.42, 0.5, 0.51, 1.02);
57
- }
58
-
59
- &--indeterminate &__track {
60
- &:before {
61
- animation: y-progress-bar--indeterminate 2.1s
62
- cubic-bezier(0.5, 0.65, 0.62, 0.25) infinite;
63
-
64
- @keyframes y-progress-bar--indeterminate {
65
- 0% {
66
- transform: translate3d(-35%, 0, 0) scale3d(0.35, 1, 1);
67
- }
68
-
69
- 60% {
70
- transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1);
71
- }
72
-
73
- to {
74
- transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1);
75
- }
76
- }
77
- }
78
-
79
- &:after {
80
- animation: y-progress-bar--indeterminate-trail 2.1s
81
- variables.$basic-transition-timing-function infinite;
82
- animation-delay: 1.15s;
83
- transform: translate3d(-101%, 0, 0) scaleZ(1);
84
-
85
- @keyframes y-progress-bar--indeterminate-trail {
86
- 0% {
87
- transform: translate3d(-101%, 0, 0) scaleZ(1);
88
- }
89
-
90
- 60% {
91
- transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1);
92
- }
93
-
94
- to {
95
- transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1);
96
- }
97
- }
98
- }
99
-
100
- &:before,
101
- &:after {
102
- content: '';
103
- position: absolute;
104
- background: currentColor;
105
- transform-origin: 0 0;
106
- top: 0;
107
- right: 0;
108
- bottom: 0;
109
- left: 0;
110
- }
111
- }
112
-
113
- &--indeterminate &__lead {
114
- visibility: hidden;
115
- }
116
-
117
- &--no-trans &__lead {
118
- transition: none;
119
- }
120
- }
1
+ @use '../../styles/settings/variables';
2
+
3
+ .y-progress {
4
+ --y-progress-bar__height: 4px;
5
+ --y-progress-bar__color: var(--y-theme-primary);
6
+ --y-progress-bar__track-color: rgba(var(--y-theme-surface-variant), 0.74);
7
+
8
+ display: flex;
9
+ position: relative;
10
+ height: var(--y-progress-bar__height, 4px);
11
+ color: var(--y-progress-bar__color);
12
+
13
+ &-bar--rounded {
14
+ border-radius: calc(var(--y-progress-bar__height) / 2);
15
+ }
16
+
17
+ &--outlined {
18
+ --y-progress-bar__outline-color: var(--y-theme-primary);
19
+ border: 1px solid var(--y-progress-bar__outline-color);
20
+ }
21
+
22
+ &-bar--reverse & {
23
+ &__track {
24
+ transform-origin: 0 100%;
25
+ transform: translateX(100%) scale3d(-1, 1, 1);
26
+ }
27
+
28
+ &__lead {
29
+ right: 0;
30
+ position: absolute;
31
+ }
32
+ }
33
+
34
+ &__tube {
35
+ border-radius: inherit;
36
+ overflow: clip;
37
+ min-width: 0;
38
+ flex: 1 1;
39
+ position: relative;
40
+ }
41
+
42
+ &__track {
43
+ background-color: var(--y-progress-bar__track-color);
44
+ position: absolute;
45
+ inset: 0;
46
+ border-radius: inherit;
47
+ overflow: clip;
48
+ color: inherit;
49
+ }
50
+
51
+ &__lead {
52
+ height: 100%;
53
+ background-color: var(--y-progress-bar__color);
54
+ position: relative;
55
+ transform-origin: left;
56
+ transition: all 250ms cubic-bezier(0.42, 0.5, 0.51, 1.02);
57
+ }
58
+
59
+ &--indeterminate &__track {
60
+ &:before {
61
+ animation: y-progress-bar--indeterminate 2.1s
62
+ cubic-bezier(0.5, 0.65, 0.62, 0.25) infinite;
63
+
64
+ @keyframes y-progress-bar--indeterminate {
65
+ 0% {
66
+ transform: translate3d(-35%, 0, 0) scale3d(0.35, 1, 1);
67
+ }
68
+
69
+ 60% {
70
+ transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1);
71
+ }
72
+
73
+ to {
74
+ transform: translate3d(100%, 0, 0) scale3d(0.9, 1, 1);
75
+ }
76
+ }
77
+ }
78
+
79
+ &:after {
80
+ animation: y-progress-bar--indeterminate-trail 2.1s
81
+ variables.$basic-transition-timing-function infinite;
82
+ animation-delay: 1.15s;
83
+ transform: translate3d(-101%, 0, 0) scaleZ(1);
84
+
85
+ @keyframes y-progress-bar--indeterminate-trail {
86
+ 0% {
87
+ transform: translate3d(-101%, 0, 0) scaleZ(1);
88
+ }
89
+
90
+ 60% {
91
+ transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1);
92
+ }
93
+
94
+ to {
95
+ transform: translate3d(107%, 0, 0) scale3d(0.01, 1, 1);
96
+ }
97
+ }
98
+ }
99
+
100
+ &:before,
101
+ &:after {
102
+ content: '';
103
+ position: absolute;
104
+ background: currentColor;
105
+ transform-origin: 0 0;
106
+ top: 0;
107
+ right: 0;
108
+ bottom: 0;
109
+ left: 0;
110
+ }
111
+ }
112
+
113
+ &--indeterminate &__lead {
114
+ visibility: hidden;
115
+ }
116
+
117
+ &--no-trans &__lead {
118
+ transition: none;
119
+ }
120
+ }
@@ -30,8 +30,8 @@ export const YProgressRing = defineComponent({
30
30
  indeterminate: Boolean,
31
31
  // TODO: Like SpinnerRing
32
32
  reverse: Boolean,
33
- /**
34
- * Percent value 0~100
33
+ /**
34
+ * Percent value 0~100
35
35
  */
36
36
  width: {
37
37
  type: Number,
@@ -1 +1 @@
1
- {"version":3,"file":"YProgressRing.mjs","names":["computed","useRender","useProgress","clamp","isColorValue","defineComponent","toStyleSizeValue","YProgressRing","name","props","modelValue","type","Number","rounded","Boolean","size","default","noRewindTransition","color","String","indeterminate","reverse","width","setup","_ref","slots","circumference","Math","PI","numValue","delta","leadColor","holePath","widthPercent","boxSize","precision","radius","vertices","Array","map","_","i","a","x","cos","y","sin","join","dashOffset","value","classes","noTransition","_createVNode"],"sources":["../../../src/components/progress-ring/YProgressRing.tsx"],"sourcesContent":["import { type PropType, computed } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { useProgress } from '@/composables/progress';\nimport { clamp } from '@/util';\nimport { isColorValue } from '@/util/color';\nimport { defineComponent } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport './YProgressRing.scss';\n\nexport const YProgressRing = defineComponent({\n name: 'YProgressRing',\n props: {\n modelValue: {\n type: Number as PropType<number>,\n },\n rounded: {\n type: Boolean as PropType<boolean>,\n },\n size: {\n type: Number as PropType<number>,\n default: 32,\n },\n noRewindTransition: {\n type: Boolean as PropType<boolean>,\n },\n color: {\n type: String as PropType<string>,\n default: 'primary',\n },\n indeterminate: Boolean, // TODO: Like SpinnerRing\n reverse: Boolean,\n /**\n * Percent value 0~100\n */\n width: {\n type: Number,\n default: 20,\n },\n },\n setup(props, { slots }) {\n const circumference = 2 * Math.PI * 24;\n\n const { numValue, delta } = useProgress(props);\n\n const leadColor = computed(() => {\n let color = props.color ?? '';\n if (!isColorValue(color)) {\n color = `var(--y-theme-${color})`;\n }\n return color;\n });\n\n const holePath = computed(() => {\n const widthPercent = clamp(props.width, 1, 100);\n if (widthPercent === 100) {\n return '';\n }\n const boxSize = 48;\n const precision = 64;\n const radius = ((100 - widthPercent) / 100) * (boxSize / 2);\n const vertices = [...Array(precision)].map((_, i) => {\n const a = (-i / (precision - 1)) * Math.PI * 2;\n const x = Math.cos(a) * radius + boxSize / 2;\n const y = Math.sin(a) * radius + boxSize / 2;\n return `${x}px ${y}px`;\n });\n return `polygon(100% 50%, 100% 100%, 0 100%, 0 0, 100% 0, 100% 50%, ${vertices.join(',')})`;\n });\n\n const dashOffset = computed(() => {\n return circumference - (circumference * numValue.value) / 100;\n });\n\n const classes = computed(() => {\n let noTransition = false;\n if (props.noRewindTransition && delta.value < 0) {\n noTransition = true;\n }\n\n return {\n 'y-progress--no-trans': noTransition,\n 'y-progress--indeterminate': props.indeterminate,\n 'y-progress-ring--hole': !!holePath.value,\n };\n });\n\n useRender(() => (\n <div\n class={{ 'y-progress y-progress-ring': true, ...classes.value }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={numValue.value}\n style={{\n '--y-progress-ring__size': toStyleSizeValue(props.size),\n '--y-progress-ring__color': leadColor.value,\n '--y-progress-ring__value': numValue.value,\n '--y-progress-ring__hole-path': holePath.value,\n }}\n >\n <svg\n class=\"y-progress-ring__tube\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle class=\"y-progress-ring__track\" cx=\"24\" cy=\"24\" r=\"24\" />\n <circle\n class=\"y-progress-ring__lead\"\n cx=\"24\"\n cy=\"24\"\n r=\"12\"\n stroke-width=\"24\"\n stroke-dasharray={circumference / 2}\n stroke-dashoffset={dashOffset.value / 2}\n />\n </svg>\n </div>\n ));\n\n return {\n numValue,\n delta,\n };\n },\n});\n\nexport type YProgressRing = InstanceType<typeof YProgressRing>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YProgressRing.mjs","names":["computed","useRender","useProgress","clamp","isColorValue","defineComponent","toStyleSizeValue","YProgressRing","name","props","modelValue","type","Number","rounded","Boolean","size","default","noRewindTransition","color","String","indeterminate","reverse","width","setup","_ref","slots","circumference","Math","PI","numValue","delta","leadColor","holePath","widthPercent","boxSize","precision","radius","vertices","Array","map","_","i","a","x","cos","y","sin","join","dashOffset","value","classes","noTransition","_createVNode"],"sources":["../../../src/components/progress-ring/YProgressRing.tsx"],"sourcesContent":["import { type PropType, computed } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { useProgress } from '@/composables/progress';\r\nimport { clamp } from '@/util';\r\nimport { isColorValue } from '@/util/color';\r\nimport { defineComponent } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport './YProgressRing.scss';\r\n\r\nexport const YProgressRing = defineComponent({\r\n name: 'YProgressRing',\r\n props: {\r\n modelValue: {\r\n type: Number as PropType<number>,\r\n },\r\n rounded: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n size: {\r\n type: Number as PropType<number>,\r\n default: 32,\r\n },\r\n noRewindTransition: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n color: {\r\n type: String as PropType<string>,\r\n default: 'primary',\r\n },\r\n indeterminate: Boolean, // TODO: Like SpinnerRing\r\n reverse: Boolean,\r\n /**\r\n * Percent value 0~100\r\n */\r\n width: {\r\n type: Number,\r\n default: 20,\r\n },\r\n },\r\n setup(props, { slots }) {\r\n const circumference = 2 * Math.PI * 24;\r\n\r\n const { numValue, delta } = useProgress(props);\r\n\r\n const leadColor = computed(() => {\r\n let color = props.color ?? '';\r\n if (!isColorValue(color)) {\r\n color = `var(--y-theme-${color})`;\r\n }\r\n return color;\r\n });\r\n\r\n const holePath = computed(() => {\r\n const widthPercent = clamp(props.width, 1, 100);\r\n if (widthPercent === 100) {\r\n return '';\r\n }\r\n const boxSize = 48;\r\n const precision = 64;\r\n const radius = ((100 - widthPercent) / 100) * (boxSize / 2);\r\n const vertices = [...Array(precision)].map((_, i) => {\r\n const a = (-i / (precision - 1)) * Math.PI * 2;\r\n const x = Math.cos(a) * radius + boxSize / 2;\r\n const y = Math.sin(a) * radius + boxSize / 2;\r\n return `${x}px ${y}px`;\r\n });\r\n return `polygon(100% 50%, 100% 100%, 0 100%, 0 0, 100% 0, 100% 50%, ${vertices.join(',')})`;\r\n });\r\n\r\n const dashOffset = computed(() => {\r\n return circumference - (circumference * numValue.value) / 100;\r\n });\r\n\r\n const classes = computed(() => {\r\n let noTransition = false;\r\n if (props.noRewindTransition && delta.value < 0) {\r\n noTransition = true;\r\n }\r\n\r\n return {\r\n 'y-progress--no-trans': noTransition,\r\n 'y-progress--indeterminate': props.indeterminate,\r\n 'y-progress-ring--hole': !!holePath.value,\r\n };\r\n });\r\n\r\n useRender(() => (\r\n <div\r\n class={{ 'y-progress y-progress-ring': true, ...classes.value }}\r\n role=\"progressbar\"\r\n aria-valuemin=\"0\"\r\n aria-valuemax=\"100\"\r\n aria-valuenow={numValue.value}\r\n style={{\r\n '--y-progress-ring__size': toStyleSizeValue(props.size),\r\n '--y-progress-ring__color': leadColor.value,\r\n '--y-progress-ring__value': numValue.value,\r\n '--y-progress-ring__hole-path': holePath.value,\r\n }}\r\n >\r\n <svg\r\n class=\"y-progress-ring__tube\"\r\n width=\"48\"\r\n height=\"48\"\r\n viewBox=\"0 0 48 48\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle class=\"y-progress-ring__track\" cx=\"24\" cy=\"24\" r=\"24\" />\r\n <circle\r\n class=\"y-progress-ring__lead\"\r\n cx=\"24\"\r\n cy=\"24\"\r\n r=\"12\"\r\n stroke-width=\"24\"\r\n stroke-dasharray={circumference / 2}\r\n stroke-dashoffset={dashOffset.value / 2}\r\n />\r\n </svg>\r\n </div>\r\n ));\r\n\r\n return {\r\n numValue,\r\n delta,\r\n };\r\n },\r\n});\r\n\r\nexport type YProgressRing = InstanceType<typeof YProgressRing>;\r\n"],"mappings":"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"}
@@ -1,38 +1,38 @@
1
- .y-progress-ring {
2
- --y-progress-ring__size: 32px;
3
- --y-progress-ring__color: var(--y-theme-primary);
4
- --y-progress-ring__track-color: rgba(
5
- var(--y-theme-surface-variant-rgb),
6
- 0.74
7
- );
8
-
9
- width: var(--y-progress-ring__size, 32px);
10
- height: var(--y-progress-ring__size, 32px);
11
-
12
- &__tube {
13
- width: 100%;
14
- height: 100%;
15
- transform: rotate(-90deg);
16
- }
17
-
18
- &__lead {
19
- fill: none;
20
- stroke: var(--y-progress-ring__color, var(--y-theme-primary));
21
- transform-origin: left;
22
- transition: all 250ms cubic-bezier(0.42, 0.5, 0.51, 1.02);
23
- }
24
-
25
- &__track {
26
- fill: var(--y-progress-ring__track-color);
27
- stroke: none;
28
- }
29
-
30
- &--hole &__lead,
31
- &--hole &__track {
32
- clip-path: var(--y-progress-ring__hole-path);
33
- }
34
-
35
- &--no-trans &__lead {
36
- transition: none;
37
- }
38
- }
1
+ .y-progress-ring {
2
+ --y-progress-ring__size: 32px;
3
+ --y-progress-ring__color: var(--y-theme-primary);
4
+ --y-progress-ring__track-color: rgba(
5
+ var(--y-theme-surface-variant-rgb),
6
+ 0.74
7
+ );
8
+
9
+ width: var(--y-progress-ring__size, 32px);
10
+ height: var(--y-progress-ring__size, 32px);
11
+
12
+ &__tube {
13
+ width: 100%;
14
+ height: 100%;
15
+ transform: rotate(-90deg);
16
+ }
17
+
18
+ &__lead {
19
+ fill: none;
20
+ stroke: var(--y-progress-ring__color, var(--y-theme-primary));
21
+ transform-origin: left;
22
+ transition: all 250ms cubic-bezier(0.42, 0.5, 0.51, 1.02);
23
+ }
24
+
25
+ &__track {
26
+ fill: var(--y-progress-ring__track-color);
27
+ stroke: none;
28
+ }
29
+
30
+ &--hole &__lead,
31
+ &--hole &__track {
32
+ clip-path: var(--y-progress-ring__hole-path);
33
+ }
34
+
35
+ &--no-trans &__lead {
36
+ transition: none;
37
+ }
38
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/progress-ring/index.ts"],"sourcesContent":["export * from './YProgressRing';\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/progress-ring/index.ts"],"sourcesContent":["export * from './YProgressRing';\r\n"],"mappings":""}
@@ -262,7 +262,7 @@ export const YSelect = defineComponent({
262
262
  "modelValue": opened.value,
263
263
  "onUpdate:modelValue": $event => opened.value = $event
264
264
  }), {
265
- default: slots.menu ? () => slots.menu() : () => _createVNode(YCard, {
265
+ default: slots.menu ? () => slots.menu?.() : () => _createVNode(YCard, {
266
266
  "ref": cardRef
267
267
  }, {
268
268
  default: () => [slots['menu-prepend']?.(), items.value.length > 0 ? _createVNode(YList, {