@onereach/ui-components 21.6.1 → 21.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{OrProgress-DPyx9MSL.mjs → OrProgress-cgGfaP0m.mjs} +69 -70
- package/dist/esm/OrProgress-cgGfaP0m.mjs.map +1 -0
- package/dist/esm/components/index.mjs +1 -1
- package/dist/esm/components/or-progress-v3/index.mjs +1 -1
- package/dist/esm/index.mjs +1 -1
- package/package.json +4 -6
- package/dist/esm/OrProgress-DPyx9MSL.mjs.map +0 -1
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { useElementBounding as
|
|
2
|
-
import z from "
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const J = [
|
|
1
|
+
import { useElementBounding as F } from "@vueuse/core";
|
|
2
|
+
import { defineComponent as H, ref as z, useSlots as A, computed as r, openBlock as n, createElementBlock as l, normalizeClass as o, Fragment as O, renderSlot as c, createElementVNode as t, createTextVNode as x, toDisplayString as R, createCommentVNode as y } from "vue";
|
|
3
|
+
import { useResponsive as j } from "@onereach/ui-components-common/hooks";
|
|
4
|
+
import { _ as I } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
5
|
+
var s = /* @__PURE__ */ ((e) => (e.Auto = "auto", e.Primary = "primary", e.Success = "success", e.Warning = "warning", e.Error = "error", e))(s || {}), a = /* @__PURE__ */ ((e) => (e.Linear = "linear", e.Circle = "circle", e))(a || {});
|
|
6
|
+
const G = [
|
|
8
7
|
// Typography
|
|
9
8
|
"typography-caption-regular",
|
|
10
9
|
// Theme
|
|
11
10
|
"text-outline",
|
|
12
11
|
"dark:text-outline-dark"
|
|
13
|
-
],
|
|
12
|
+
], J = {
|
|
14
13
|
[a.Linear]: [
|
|
15
14
|
// Layout
|
|
16
15
|
"flex",
|
|
@@ -23,31 +22,31 @@ const J = [
|
|
|
23
22
|
[a.Circle]: [
|
|
24
23
|
"-rotate-90"
|
|
25
24
|
]
|
|
26
|
-
},
|
|
25
|
+
}, K = [
|
|
27
26
|
// Layout
|
|
28
27
|
"flex",
|
|
29
28
|
"flex-row",
|
|
30
29
|
// Spacing
|
|
31
30
|
"mb-[6px]"
|
|
32
|
-
],
|
|
31
|
+
], Q = [
|
|
33
32
|
// Typography
|
|
34
33
|
"typography-caption-bold",
|
|
35
34
|
// Theme
|
|
36
35
|
"text-on-background",
|
|
37
36
|
"dark:text-on-background-dark"
|
|
38
|
-
],
|
|
37
|
+
], U = [
|
|
39
38
|
// Spacing
|
|
40
39
|
"ml-auto"
|
|
41
|
-
],
|
|
40
|
+
], X = [
|
|
42
41
|
// Theme
|
|
43
42
|
"stroke-surface-variant",
|
|
44
43
|
"dark:stroke-surface-variant-dark"
|
|
45
|
-
],
|
|
44
|
+
], Y = [
|
|
46
45
|
// Position
|
|
47
46
|
"origin-center",
|
|
48
47
|
// Animation
|
|
49
48
|
"transition-[stroke-dashoffset]"
|
|
50
|
-
],
|
|
49
|
+
], Z = {
|
|
51
50
|
[a.Linear]: [
|
|
52
51
|
// Animation
|
|
53
52
|
"animate-linear-loader"
|
|
@@ -56,31 +55,31 @@ const J = [
|
|
|
56
55
|
// Animation
|
|
57
56
|
"animate-circular-loader"
|
|
58
57
|
]
|
|
59
|
-
},
|
|
60
|
-
[
|
|
58
|
+
}, _ = {
|
|
59
|
+
[s.Primary]: [
|
|
61
60
|
// Theme
|
|
62
61
|
"stroke-primary-hover",
|
|
63
62
|
"dark:stroke-primary-hover-dark"
|
|
64
63
|
],
|
|
65
|
-
[
|
|
64
|
+
[s.Success]: [
|
|
66
65
|
// Theme
|
|
67
66
|
"stroke-success-hover",
|
|
68
67
|
"dark:stroke-success-hover-dark"
|
|
69
68
|
],
|
|
70
|
-
[
|
|
69
|
+
[s.Warning]: [
|
|
71
70
|
// Theme
|
|
72
71
|
"stroke-warning-hover",
|
|
73
72
|
"dark:stroke-warning-hover-dark"
|
|
74
73
|
],
|
|
75
|
-
[
|
|
74
|
+
[s.Error]: [
|
|
76
75
|
// Theme
|
|
77
76
|
"stroke-error-hover",
|
|
78
77
|
"dark:stroke-error-hover-dark"
|
|
79
78
|
]
|
|
80
|
-
},
|
|
79
|
+
}, ee = [
|
|
81
80
|
// Spacing
|
|
82
81
|
"mt-[2px]"
|
|
83
|
-
],
|
|
82
|
+
], re = H({
|
|
84
83
|
name: "OrProgress",
|
|
85
84
|
props: {
|
|
86
85
|
maxValue: {
|
|
@@ -111,7 +110,7 @@ const J = [
|
|
|
111
110
|
color: {
|
|
112
111
|
type: String,
|
|
113
112
|
required: !1,
|
|
114
|
-
default: () =>
|
|
113
|
+
default: () => s.Auto
|
|
115
114
|
},
|
|
116
115
|
loading: {
|
|
117
116
|
type: Boolean,
|
|
@@ -123,29 +122,29 @@ const J = [
|
|
|
123
122
|
"root"
|
|
124
123
|
],
|
|
125
124
|
setup(e) {
|
|
126
|
-
const u =
|
|
127
|
-
header:
|
|
125
|
+
const u = z(), {
|
|
126
|
+
header: f,
|
|
128
127
|
label: h,
|
|
129
128
|
percent: k,
|
|
130
129
|
footer: g
|
|
131
|
-
} =
|
|
130
|
+
} = A(), { width: d } = F(u), i = r(() => e.progress ?? (e.value ?? 0) / (e.maxValue ?? 1)), B = r(() => e.value ?? (e.progress ?? 0) * (e.maxValue ?? 1)), w = r(() => Number((i.value * 100).toFixed(e.precision)) + "%"), m = r(() => e.type === a.Linear), p = r(() => e.type === a.Circle), b = r(() => !!f || !!h || !!k), P = r(() => !!g), v = r(() => e.loading ? s.Primary : e.color === s.Auto ? i.value <= 0.5 ? s.Success : i.value <= 0.95 ? s.Warning : s.Error : Object.values(s).includes(e.color) ? e.color : s.Success), L = r(() => W.value ? 20 : 16), N = r(() => [
|
|
132
131
|
"or-progress-v3",
|
|
133
|
-
...
|
|
134
|
-
...
|
|
132
|
+
...G,
|
|
133
|
+
...J[e.type]
|
|
134
|
+
]), V = r(() => [
|
|
135
|
+
...K
|
|
135
136
|
]), $ = r(() => [
|
|
136
137
|
...Q
|
|
137
138
|
]), q = r(() => [
|
|
138
139
|
...U
|
|
139
140
|
]), C = r(() => [
|
|
140
|
-
...
|
|
141
|
+
...ee
|
|
141
142
|
]), D = r(() => [
|
|
142
|
-
...
|
|
143
|
-
]), N = r(() => [
|
|
144
|
-
...Y
|
|
143
|
+
...X
|
|
145
144
|
]), E = r(() => [
|
|
146
|
-
...
|
|
147
|
-
...e.loading ?
|
|
148
|
-
...
|
|
145
|
+
...Y,
|
|
146
|
+
...e.loading ? Z[e.type] : [],
|
|
147
|
+
..._[v.value]
|
|
149
148
|
]), S = r(
|
|
150
149
|
() => m.value ? d.value - 4 : (
|
|
151
150
|
// 2 + 2 px horizontal padding for rounding
|
|
@@ -156,15 +155,15 @@ const J = [
|
|
|
156
155
|
)
|
|
157
156
|
), M = r(() => d.value ? d.value - 2 : "100%"), T = r(
|
|
158
157
|
() => e.loading ? void 0 : (1 - i.value) * S.value
|
|
159
|
-
), { isMobile: W } =
|
|
158
|
+
), { isMobile: W } = j();
|
|
160
159
|
return {
|
|
161
160
|
root: u,
|
|
162
|
-
rootStyles:
|
|
163
|
-
headerStyles:
|
|
164
|
-
labelStyles:
|
|
165
|
-
percentStyles:
|
|
166
|
-
footerStyles:
|
|
167
|
-
progressBarBackgroundStyles:
|
|
161
|
+
rootStyles: N,
|
|
162
|
+
headerStyles: V,
|
|
163
|
+
labelStyles: $,
|
|
164
|
+
percentStyles: q,
|
|
165
|
+
footerStyles: C,
|
|
166
|
+
progressBarBackgroundStyles: D,
|
|
168
167
|
progressBarMainPartStyles: E,
|
|
169
168
|
strokeDasharray: S,
|
|
170
169
|
strokeDashoffset: T,
|
|
@@ -174,8 +173,8 @@ const J = [
|
|
|
174
173
|
percent: w,
|
|
175
174
|
isLinearType: m,
|
|
176
175
|
isCircleType: p,
|
|
177
|
-
isShowingHeader:
|
|
178
|
-
isShowingFooter:
|
|
176
|
+
isShowingHeader: b,
|
|
177
|
+
isShowingFooter: P,
|
|
179
178
|
localColor: v,
|
|
180
179
|
computedSize: L
|
|
181
180
|
};
|
|
@@ -183,95 +182,95 @@ const J = [
|
|
|
183
182
|
}), se = {
|
|
184
183
|
width: "100%",
|
|
185
184
|
height: "2"
|
|
186
|
-
},
|
|
185
|
+
}, oe = {
|
|
187
186
|
fill: "none",
|
|
188
187
|
"stroke-width": "2",
|
|
189
188
|
"stroke-linecap": "round"
|
|
190
|
-
},
|
|
189
|
+
}, te = ["x2"], ae = ["x2", "stroke-dasharray", "stroke-dashoffset"], ne = ["width", "height"], le = {
|
|
191
190
|
fill: "none",
|
|
192
191
|
"stroke-width": "2",
|
|
193
192
|
"stroke-linecap": "round"
|
|
194
|
-
},
|
|
195
|
-
function
|
|
193
|
+
}, ie = ["stroke-dasharray", "stroke-dashoffset"];
|
|
194
|
+
function ce(e, u, f, h, k, g) {
|
|
196
195
|
return n(), l("div", {
|
|
197
196
|
ref: "root",
|
|
198
|
-
class:
|
|
197
|
+
class: o(e.rootStyles)
|
|
199
198
|
}, [
|
|
200
|
-
e.isLinearType ? (n(), l(
|
|
199
|
+
e.isLinearType ? (n(), l(O, { key: 0 }, [
|
|
201
200
|
e.isShowingHeader ? (n(), l("div", {
|
|
202
201
|
key: 0,
|
|
203
|
-
class:
|
|
202
|
+
class: o(e.headerStyles)
|
|
204
203
|
}, [
|
|
205
204
|
c(e.$slots, "header", {}, () => [
|
|
206
205
|
t("div", {
|
|
207
|
-
class:
|
|
206
|
+
class: o(e.labelStyles)
|
|
208
207
|
}, [
|
|
209
208
|
c(e.$slots, "label")
|
|
210
209
|
], 2),
|
|
211
210
|
t("div", {
|
|
212
|
-
class:
|
|
211
|
+
class: o(e.percentStyles)
|
|
213
212
|
}, [
|
|
214
213
|
c(e.$slots, "percent", { value: e.percent }, () => [
|
|
215
|
-
x(
|
|
214
|
+
x(R(e.percent), 1)
|
|
216
215
|
])
|
|
217
216
|
], 2)
|
|
218
217
|
])
|
|
219
|
-
], 2)) :
|
|
218
|
+
], 2)) : y("", !0),
|
|
220
219
|
(n(), l("svg", se, [
|
|
221
|
-
t("g",
|
|
220
|
+
t("g", oe, [
|
|
222
221
|
t("line", {
|
|
223
|
-
class:
|
|
222
|
+
class: o(e.progressBarBackgroundStyles),
|
|
224
223
|
x1: "2",
|
|
225
224
|
y1: "50%",
|
|
226
225
|
x2: e.strokeWidth,
|
|
227
226
|
y2: "50%"
|
|
228
|
-
}, null, 10,
|
|
227
|
+
}, null, 10, te),
|
|
229
228
|
t("line", {
|
|
230
|
-
class:
|
|
229
|
+
class: o(e.progressBarMainPartStyles),
|
|
231
230
|
x1: "2",
|
|
232
231
|
y1: "50%",
|
|
233
232
|
x2: e.strokeWidth,
|
|
234
233
|
y2: "50%",
|
|
235
234
|
"stroke-dasharray": e.strokeDasharray,
|
|
236
235
|
"stroke-dashoffset": e.strokeDashoffset
|
|
237
|
-
}, null, 10,
|
|
236
|
+
}, null, 10, ae)
|
|
238
237
|
])
|
|
239
238
|
])),
|
|
240
239
|
e.isShowingFooter ? (n(), l("div", {
|
|
241
240
|
key: 1,
|
|
242
|
-
class:
|
|
241
|
+
class: o(e.footerStyles)
|
|
243
242
|
}, [
|
|
244
243
|
c(e.$slots, "footer", { value: e.localValue })
|
|
245
|
-
], 2)) :
|
|
244
|
+
], 2)) : y("", !0)
|
|
246
245
|
], 64)) : e.isCircleType ? (n(), l("svg", {
|
|
247
246
|
key: 1,
|
|
248
247
|
viewBox: "0 0 16 16",
|
|
249
248
|
width: e.computedSize,
|
|
250
249
|
height: e.computedSize
|
|
251
250
|
}, [
|
|
252
|
-
t("g",
|
|
251
|
+
t("g", le, [
|
|
253
252
|
t("circle", {
|
|
254
|
-
class:
|
|
253
|
+
class: o(e.progressBarBackgroundStyles),
|
|
255
254
|
cx: "50%",
|
|
256
255
|
cy: "50%",
|
|
257
256
|
r: "7"
|
|
258
257
|
}, null, 2),
|
|
259
258
|
t("circle", {
|
|
260
|
-
class:
|
|
259
|
+
class: o(e.progressBarMainPartStyles),
|
|
261
260
|
cx: "50%",
|
|
262
261
|
cy: "50%",
|
|
263
262
|
r: "7",
|
|
264
263
|
"stroke-dasharray": e.strokeDasharray,
|
|
265
264
|
"stroke-dashoffset": e.strokeDashoffset
|
|
266
|
-
}, null, 10,
|
|
265
|
+
}, null, 10, ie)
|
|
267
266
|
])
|
|
268
|
-
], 8,
|
|
267
|
+
], 8, ne)) : y("", !0)
|
|
269
268
|
], 2);
|
|
270
269
|
}
|
|
271
|
-
const
|
|
270
|
+
const he = /* @__PURE__ */ I(re, [["render", ce]]);
|
|
272
271
|
export {
|
|
273
|
-
|
|
274
|
-
|
|
272
|
+
he as O,
|
|
273
|
+
s as P,
|
|
275
274
|
a
|
|
276
275
|
};
|
|
277
|
-
//# sourceMappingURL=OrProgress-
|
|
276
|
+
//# sourceMappingURL=OrProgress-cgGfaP0m.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrProgress-cgGfaP0m.mjs","sources":["../../../components/or-progress-v3/src/props.ts","../../../components/or-progress-v3/src/styles.ts","../../../components/or-progress-v3/src/OrProgress.vue"],"sourcesContent":["export enum ProgressColor {\n Auto = 'auto',\n Primary = 'primary',\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n}\n\nexport enum ProgressType {\n Linear = 'linear',\n Circle = 'circle',\n}\n","import { ProgressColor, ProgressType } from './props';\n\nexport const ProgressRoot: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'text-outline',\n 'dark:text-outline-dark',\n];\n\nexport const ProgressRootTypes: Record<ProgressType, string[]> = {\n [ProgressType.Linear]: [\n // Layout\n 'flex',\n 'flex-col',\n\n // Box\n 'w-full',\n 'min-w-[160px]',\n 'max-w-[295px]',\n ],\n\n [ProgressType.Circle]: [\n '-rotate-90',\n ],\n};\n\nexport const ProgressHeader: string[] = [\n // Layout\n 'flex',\n 'flex-row',\n\n // Spacing\n 'mb-[6px]',\n];\n\nexport const ProgressHeaderLabel: string[] = [\n // Typography\n 'typography-caption-bold',\n\n // Theme\n 'text-on-background',\n 'dark:text-on-background-dark',\n];\n\nexport const ProgressHeaderPercent: string[] = [\n // Spacing\n 'ml-auto',\n];\n\nexport const ProgressBarBackground: string[] = [\n // Theme\n 'stroke-surface-variant',\n 'dark:stroke-surface-variant-dark',\n];\n\nexport const ProgressBarMain: string[] = [\n // Position\n 'origin-center',\n\n // Animation\n 'transition-[stroke-dashoffset]',\n];\n\nexport const ProgressBarAnimationTypes: Record<ProgressType, string[]> = {\n [ProgressType.Linear]: [\n // Animation\n 'animate-linear-loader',\n ],\n\n [ProgressType.Circle]: [\n // Animation\n 'animate-circular-loader',\n ],\n};\n\nexport const ProgressBarColors: Record<Exclude<ProgressColor, ProgressColor.Auto>, string[]> = {\n [ProgressColor.Primary]: [\n // Theme\n 'stroke-primary-hover',\n 'dark:stroke-primary-hover-dark',\n ],\n\n [ProgressColor.Success]: [\n // Theme\n 'stroke-success-hover',\n 'dark:stroke-success-hover-dark',\n ],\n\n [ProgressColor.Warning]: [\n // Theme\n 'stroke-warning-hover',\n 'dark:stroke-warning-hover-dark',\n ],\n\n [ProgressColor.Error]: [\n // Theme\n 'stroke-error-hover',\n 'dark:stroke-error-hover-dark',\n ],\n};\n\nexport const ProgressFooter: string[] = [\n // Spacing\n 'mt-[2px]',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"isLinearType\">\n <div\n v-if=\"isShowingHeader\"\n :class=\"headerStyles\"\n >\n <slot name=\"header\">\n <div :class=\"labelStyles\">\n <slot name=\"label\" />\n </div>\n <div :class=\"percentStyles\">\n <slot\n name=\"percent\"\n :value=\"percent\"\n >\n {{ percent }}\n </slot>\n </div>\n </slot>\n </div>\n <svg\n width=\"100%\"\n height=\"2\"\n >\n <g\n fill=\"none\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <line\n :class=\"progressBarBackgroundStyles\"\n\n x1=\"2\"\n y1=\"50%\"\n :x2=\"strokeWidth\"\n y2=\"50%\"\n />\n\n <line\n :class=\"progressBarMainPartStyles\"\n\n x1=\"2\"\n y1=\"50%\"\n :x2=\"strokeWidth\"\n y2=\"50%\"\n :stroke-dasharray=\"strokeDasharray\"\n :stroke-dashoffset=\"strokeDashoffset\"\n />\n </g>\n </svg>\n <div\n v-if=\"isShowingFooter\"\n :class=\"footerStyles\"\n >\n <slot\n name=\"footer\"\n :value=\"localValue\"\n />\n </div>\n </template>\n <template v-else-if=\"isCircleType\">\n <svg\n viewBox=\"0 0 16 16\"\n :width=\"computedSize\"\n :height=\"computedSize\"\n >\n <g\n fill=\"none\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <circle\n :class=\"progressBarBackgroundStyles\"\n\n cx=\"50%\"\n cy=\"50%\"\n r=\"7\"\n />\n\n <circle\n :class=\"progressBarMainPartStyles\"\n\n cx=\"50%\"\n cy=\"50%\"\n r=\"7\"\n :stroke-dasharray=\"strokeDasharray\"\n :stroke-dashoffset=\"strokeDashoffset\"\n />\n </g>\n </svg>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useElementBounding } from '@vueuse/core';\nimport { computed, defineComponent, PropType, ref, useSlots } from 'vue';\nimport { useResponsive } from '@onereach/ui-components-common/hooks';\nimport { ProgressColor, ProgressType } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrProgress',\n\n props: {\n maxValue: {\n type: Number,\n required: false,\n default: 1,\n },\n value: {\n type: Number,\n required: false,\n default: null,\n },\n progress: {\n type: Number,\n required: false,\n default: null,\n },\n precision: {\n type: Number,\n required: false,\n default: 2,\n },\n type: {\n type: String as PropType<`${ProgressType}`>,\n required: false,\n default: () => ProgressType.Linear,\n },\n color: {\n type: String as PropType<`${ProgressColor}`>,\n required: false,\n default: () => ProgressColor.Auto,\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Slots\n const {\n header: headerSlot,\n label: labelSlot,\n percent: percentSlot,\n footer: footerSlot,\n } = useSlots();\n\n // State\n const { width } = useElementBounding(root);\n\n const localProgress = computed(() => props.progress ?? (props.value ?? 0) / (props.maxValue ?? 1));\n\n const localValue = computed(() => props.value ?? (props.progress ?? 0) * (props.maxValue ?? 1));\n\n const percent = computed(() => Number((localProgress.value * 100).toFixed(props.precision)) + '%');\n\n const isLinearType = computed(() => props.type === ProgressType.Linear);\n\n const isCircleType = computed(() => props.type === ProgressType.Circle);\n\n const isShowingHeader = computed(() => !!headerSlot || !!labelSlot || !!percentSlot);\n\n const isShowingFooter = computed(() => !!footerSlot);\n\n const localColor = computed(() => {\n if (props.loading) return ProgressColor.Primary;\n if (props.color === ProgressColor.Auto) {\n if (localProgress.value <= 0.5) {\n return ProgressColor.Success;\n } else if (localProgress.value <= 0.95) {\n return ProgressColor.Warning;\n } else {\n return ProgressColor.Error;\n }\n } else {\n return Object.values(ProgressColor).includes(props.color as ProgressColor)\n ? props.color\n : ProgressColor.Success;\n }\n });\n\n const computedSize = computed(() => isMobile.value ? 20 : 16);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-progress-v3',\n ...Styles.ProgressRoot,\n ...Styles.ProgressRootTypes[props.type],\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.ProgressHeader,\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.ProgressHeaderLabel,\n ]);\n\n const percentStyles = computed(() => [\n ...Styles.ProgressHeaderPercent,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.ProgressFooter,\n ]);\n\n const progressBarBackgroundStyles = computed(() => [\n ...Styles.ProgressBarBackground,\n ]);\n\n const progressBarMainPartStyles = computed(() => [\n ...Styles.ProgressBarMain,\n ...(props.loading ? Styles.ProgressBarAnimationTypes[props.type] : []),\n ...Styles.ProgressBarColors[localColor.value],\n ]);\n\n const strokeDasharray = computed(() =>\n isLinearType.value ? width.value - 4 : // 2 + 2 px horizontal padding for rounding\n isCircleType.value ? 14 * Math.PI : // 14 = diameter = viewBox - stroke-width\n 0,\n );\n\n const strokeWidth = computed(() => {\n return width.value\n ? width.value - 2\n : '100%';\n });\n\n const strokeDashoffset = computed(() => props.loading ?\n undefined :\n (1 - localProgress.value) * strokeDasharray.value,\n );\n\n // Helpers\n const { isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n headerStyles,\n labelStyles,\n percentStyles,\n footerStyles,\n progressBarBackgroundStyles,\n progressBarMainPartStyles,\n strokeDasharray,\n strokeDashoffset,\n strokeWidth,\n localProgress,\n localValue,\n percent,\n isLinearType,\n isCircleType,\n isShowingHeader,\n isShowingFooter,\n localColor,\n computedSize,\n };\n },\n});\n</script>\n"],"names":["ProgressColor","ProgressType","ProgressRoot","ProgressRootTypes","ProgressHeader","ProgressHeaderLabel","ProgressHeaderPercent","ProgressBarBackground","ProgressBarMain","ProgressBarAnimationTypes","ProgressBarColors","ProgressFooter","_sfc_main","defineComponent","props","root","ref","headerSlot","labelSlot","percentSlot","footerSlot","useSlots","width","useElementBounding","localProgress","computed","localValue","percent","isLinearType","isCircleType","isShowingHeader","isShowingFooter","localColor","computedSize","isMobile","rootStyles","Styles.ProgressRoot","Styles.ProgressRootTypes","headerStyles","Styles.ProgressHeader","labelStyles","Styles.ProgressHeaderLabel","percentStyles","Styles.ProgressHeaderPercent","footerStyles","Styles.ProgressFooter","progressBarBackgroundStyles","Styles.ProgressBarBackground","progressBarMainPartStyles","Styles.ProgressBarMain","Styles.ProgressBarAnimationTypes","Styles.ProgressBarColors","strokeDasharray","strokeWidth","strokeDashoffset","useResponsive","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_6","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderSlot","_createElementVNode","_createCommentVNode","_hoisted_3"],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ import { N as la, O as Ta, V as ca } from "../OrNotification-Dz3Tr1wI.mjs";
|
|
|
60
60
|
import { O as Sa } from "../OrOverlay-BjrghiC-.mjs";
|
|
61
61
|
import { O as Pa } from "../OrPagination-DIacMkVe.mjs";
|
|
62
62
|
import { O as Ia, a as ga, P as Da, i as ba } from "../OrPopover-DbygLPtT.mjs";
|
|
63
|
-
import { O as Ra, P as Ba, a as Ea } from "../OrProgress-
|
|
63
|
+
import { O as Ra, P as Ba, a as Ea } from "../OrProgress-cgGfaP0m.mjs";
|
|
64
64
|
import { O as Fa } from "../OrRadioGroup-_n_7vdJU.mjs";
|
|
65
65
|
import { O as za } from "../OrRadio-CJLJrxIS.mjs";
|
|
66
66
|
import { O as Ma } from "../OrRangeSlider-FL1E28ec.mjs";
|
package/dist/esm/index.mjs
CHANGED
|
@@ -60,7 +60,7 @@ import { N as la, O as Ta, V as ca } from "./OrNotification-Dz3Tr1wI.mjs";
|
|
|
60
60
|
import { O as Sa } from "./OrOverlay-BjrghiC-.mjs";
|
|
61
61
|
import { O as Pa } from "./OrPagination-DIacMkVe.mjs";
|
|
62
62
|
import { O as Ia, a as ga, P as Da, i as ba } from "./OrPopover-DbygLPtT.mjs";
|
|
63
|
-
import { O as Ra, P as Ba, a as Ea } from "./OrProgress-
|
|
63
|
+
import { O as Ra, P as Ba, a as Ea } from "./OrProgress-cgGfaP0m.mjs";
|
|
64
64
|
import { O as Fa } from "./OrRadioGroup-_n_7vdJU.mjs";
|
|
65
65
|
import { O as za } from "./OrRadio-CJLJrxIS.mjs";
|
|
66
66
|
import { O as Ma } from "./OrRangeSlider-FL1E28ec.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onereach/ui-components",
|
|
3
|
-
"version": "21.6.
|
|
3
|
+
"version": "21.6.2",
|
|
4
4
|
"description": "Vue components library for v3",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@codemirror/view": "^6",
|
|
47
47
|
"@floating-ui/dom": "1.5.3",
|
|
48
48
|
"@lezer/highlight": "*",
|
|
49
|
-
"@onereach/styles": "^21.6.
|
|
50
|
-
"@onereach/ui-components-common": "^21.6.
|
|
49
|
+
"@onereach/styles": "^21.6.2",
|
|
50
|
+
"@onereach/ui-components-common": "^21.6.2",
|
|
51
51
|
"@splidejs/splide": "4.0.6",
|
|
52
52
|
"@tiptap/core": "2.0.3",
|
|
53
53
|
"@tiptap/extension-blockquote": "2.0.3",
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
"@tiptap/extension-strike": "2.0.3",
|
|
68
68
|
"@tiptap/extension-underline": "2.0.3",
|
|
69
69
|
"@tiptap/starter-kit": "2.0.3",
|
|
70
|
-
"@types/lodash": "4.14.173",
|
|
71
70
|
"@types/sortablejs": "1.10.7",
|
|
72
71
|
"@types/uuid": "8.3.1",
|
|
73
72
|
"@vueuse/core": "9.13.0",
|
|
@@ -98,12 +97,11 @@
|
|
|
98
97
|
},
|
|
99
98
|
"peerDependencies": {
|
|
100
99
|
"@vueuse/core": "^9",
|
|
101
|
-
"lodash": ">=4.17.21",
|
|
102
100
|
"vue": ">=3.0.5"
|
|
103
101
|
},
|
|
104
102
|
"publishConfig": {
|
|
105
103
|
"access": "public"
|
|
106
104
|
},
|
|
107
105
|
"npmUnpacked": "4.15.2",
|
|
108
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "a5d6cc360eb513f3e16f8e94f3e8cc173d605d67"
|
|
109
107
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrProgress-DPyx9MSL.mjs","sources":["../../../components/or-progress-v3/src/props.ts","../../../components/or-progress-v3/src/styles.ts","../../../components/or-progress-v3/src/OrProgress.vue"],"sourcesContent":["export enum ProgressColor {\n Auto = 'auto',\n Primary = 'primary',\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n}\n\nexport enum ProgressType {\n Linear = 'linear',\n Circle = 'circle',\n}\n","import { ProgressColor, ProgressType } from './props';\n\nexport const ProgressRoot: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'text-outline',\n 'dark:text-outline-dark',\n];\n\nexport const ProgressRootTypes: Record<ProgressType, string[]> = {\n [ProgressType.Linear]: [\n // Layout\n 'flex',\n 'flex-col',\n\n // Box\n 'w-full',\n 'min-w-[160px]',\n 'max-w-[295px]',\n ],\n\n [ProgressType.Circle]: [\n '-rotate-90',\n ],\n};\n\nexport const ProgressHeader: string[] = [\n // Layout\n 'flex',\n 'flex-row',\n\n // Spacing\n 'mb-[6px]',\n];\n\nexport const ProgressHeaderLabel: string[] = [\n // Typography\n 'typography-caption-bold',\n\n // Theme\n 'text-on-background',\n 'dark:text-on-background-dark',\n];\n\nexport const ProgressHeaderPercent: string[] = [\n // Spacing\n 'ml-auto',\n];\n\nexport const ProgressBarBackground: string[] = [\n // Theme\n 'stroke-surface-variant',\n 'dark:stroke-surface-variant-dark',\n];\n\nexport const ProgressBarMain: string[] = [\n // Position\n 'origin-center',\n\n // Animation\n 'transition-[stroke-dashoffset]',\n];\n\nexport const ProgressBarAnimationTypes: Record<ProgressType, string[]> = {\n [ProgressType.Linear]: [\n // Animation\n 'animate-linear-loader',\n ],\n\n [ProgressType.Circle]: [\n // Animation\n 'animate-circular-loader',\n ],\n};\n\nexport const ProgressBarColors: Record<Exclude<ProgressColor, ProgressColor.Auto>, string[]> = {\n [ProgressColor.Primary]: [\n // Theme\n 'stroke-primary-hover',\n 'dark:stroke-primary-hover-dark',\n ],\n\n [ProgressColor.Success]: [\n // Theme\n 'stroke-success-hover',\n 'dark:stroke-success-hover-dark',\n ],\n\n [ProgressColor.Warning]: [\n // Theme\n 'stroke-warning-hover',\n 'dark:stroke-warning-hover-dark',\n ],\n\n [ProgressColor.Error]: [\n // Theme\n 'stroke-error-hover',\n 'dark:stroke-error-hover-dark',\n ],\n};\n\nexport const ProgressFooter: string[] = [\n // Spacing\n 'mt-[2px]',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"isLinearType\">\n <div\n v-if=\"isShowingHeader\"\n :class=\"headerStyles\"\n >\n <slot name=\"header\">\n <div :class=\"labelStyles\">\n <slot name=\"label\" />\n </div>\n <div :class=\"percentStyles\">\n <slot\n name=\"percent\"\n :value=\"percent\"\n >\n {{ percent }}\n </slot>\n </div>\n </slot>\n </div>\n <svg\n width=\"100%\"\n height=\"2\"\n >\n <g\n fill=\"none\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <line\n :class=\"progressBarBackgroundStyles\"\n\n x1=\"2\"\n y1=\"50%\"\n :x2=\"strokeWidth\"\n y2=\"50%\"\n />\n\n <line\n :class=\"progressBarMainPartStyles\"\n\n x1=\"2\"\n y1=\"50%\"\n :x2=\"strokeWidth\"\n y2=\"50%\"\n :stroke-dasharray=\"strokeDasharray\"\n :stroke-dashoffset=\"strokeDashoffset\"\n />\n </g>\n </svg>\n <div\n v-if=\"isShowingFooter\"\n :class=\"footerStyles\"\n >\n <slot\n name=\"footer\"\n :value=\"localValue\"\n />\n </div>\n </template>\n <template v-else-if=\"isCircleType\">\n <svg\n viewBox=\"0 0 16 16\"\n :width=\"computedSize\"\n :height=\"computedSize\"\n >\n <g\n fill=\"none\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <circle\n :class=\"progressBarBackgroundStyles\"\n\n cx=\"50%\"\n cy=\"50%\"\n r=\"7\"\n />\n\n <circle\n :class=\"progressBarMainPartStyles\"\n\n cx=\"50%\"\n cy=\"50%\"\n r=\"7\"\n :stroke-dasharray=\"strokeDasharray\"\n :stroke-dashoffset=\"strokeDashoffset\"\n />\n </g>\n </svg>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useElementBounding } from '@vueuse/core';\nimport round from 'lodash/round';\nimport { computed, defineComponent, PropType, ref, useSlots } from 'vue';\nimport { useResponsive } from '@onereach/ui-components-common/hooks';\nimport { ProgressColor, ProgressType } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrProgress',\n\n props: {\n maxValue: {\n type: Number,\n required: false,\n default: 1,\n },\n value: {\n type: Number,\n required: false,\n default: null,\n },\n progress: {\n type: Number,\n required: false,\n default: null,\n },\n precision: {\n type: Number,\n required: false,\n default: 2,\n },\n type: {\n type: String as PropType<`${ProgressType}`>,\n required: false,\n default: () => ProgressType.Linear,\n },\n color: {\n type: String as PropType<`${ProgressColor}`>,\n required: false,\n default: () => ProgressColor.Auto,\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Slots\n const {\n header: headerSlot,\n label: labelSlot,\n percent: percentSlot,\n footer: footerSlot,\n } = useSlots();\n\n // State\n const { width } = useElementBounding(root);\n\n const localProgress = computed(() => props.progress ?? (props.value ?? 0) / (props.maxValue ?? 1));\n\n const localValue = computed(() => props.value ?? (props.progress ?? 0) * (props.maxValue ?? 1));\n\n const percent = computed(() => round(localProgress.value * 100, props.precision) + '%');\n\n const isLinearType = computed(() => props.type === ProgressType.Linear);\n\n const isCircleType = computed(() => props.type === ProgressType.Circle);\n\n const isShowingHeader = computed(() => !!headerSlot || !!labelSlot || !!percentSlot);\n\n const isShowingFooter = computed(() => !!footerSlot);\n\n const localColor = computed(() => {\n if (props.loading) return ProgressColor.Primary;\n if (props.color === ProgressColor.Auto) {\n if (localProgress.value <= 0.5) {\n return ProgressColor.Success;\n } else if (localProgress.value <= 0.95) {\n return ProgressColor.Warning;\n } else {\n return ProgressColor.Error;\n }\n } else {\n return Object.values(ProgressColor).includes(props.color as ProgressColor)\n ? props.color\n : ProgressColor.Success;\n }\n });\n\n const computedSize = computed(() => isMobile.value ? 20 : 16);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-progress-v3',\n ...Styles.ProgressRoot,\n ...Styles.ProgressRootTypes[props.type],\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.ProgressHeader,\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.ProgressHeaderLabel,\n ]);\n\n const percentStyles = computed(() => [\n ...Styles.ProgressHeaderPercent,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.ProgressFooter,\n ]);\n\n const progressBarBackgroundStyles = computed(() => [\n ...Styles.ProgressBarBackground,\n ]);\n\n const progressBarMainPartStyles = computed(() => [\n ...Styles.ProgressBarMain,\n ...(props.loading ? Styles.ProgressBarAnimationTypes[props.type] : []),\n ...Styles.ProgressBarColors[localColor.value],\n ]);\n\n const strokeDasharray = computed(() =>\n isLinearType.value ? width.value - 4 : // 2 + 2 px horizontal padding for rounding\n isCircleType.value ? 14 * Math.PI : // 14 = diameter = viewBox - stroke-width\n 0,\n );\n\n const strokeWidth = computed(() => {\n return width.value\n ? width.value - 2\n : '100%';\n });\n\n const strokeDashoffset = computed(() => props.loading ?\n undefined :\n (1 - localProgress.value) * strokeDasharray.value,\n );\n\n // Helpers\n const { isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n headerStyles,\n labelStyles,\n percentStyles,\n footerStyles,\n progressBarBackgroundStyles,\n progressBarMainPartStyles,\n strokeDasharray,\n strokeDashoffset,\n strokeWidth,\n localProgress,\n localValue,\n percent,\n isLinearType,\n isCircleType,\n isShowingHeader,\n isShowingFooter,\n localColor,\n computedSize,\n };\n },\n});\n</script>\n"],"names":["ProgressColor","ProgressType","ProgressRoot","ProgressRootTypes","ProgressHeader","ProgressHeaderLabel","ProgressHeaderPercent","ProgressBarBackground","ProgressBarMain","ProgressBarAnimationTypes","ProgressBarColors","ProgressFooter","_sfc_main","defineComponent","props","root","ref","headerSlot","labelSlot","percentSlot","footerSlot","useSlots","width","useElementBounding","localProgress","computed","localValue","percent","round","isLinearType","isCircleType","isShowingHeader","isShowingFooter","localColor","computedSize","isMobile","rootStyles","Styles.ProgressRoot","Styles.ProgressRootTypes","headerStyles","Styles.ProgressHeader","labelStyles","Styles.ProgressHeaderLabel","percentStyles","Styles.ProgressHeaderPercent","footerStyles","Styles.ProgressFooter","progressBarBackgroundStyles","Styles.ProgressBarBackground","progressBarMainPartStyles","Styles.ProgressBarMain","Styles.ProgressBarAnimationTypes","Styles.ProgressBarColors","strokeDasharray","strokeWidth","strokeDashoffset","useResponsive","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_6","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderSlot","_createElementVNode","_createCommentVNode","_hoisted_3"],"mappings":"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"}
|