readytech-ui-library-v2 0.0.8 → 0.0.10
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.
@@ -1 +1 @@
|
|
1
|
-
.lv-button[data-v-ac3af47a]{border:one;background:red;padding:1rem}.class-input[data-v-f440ad26]{border:none;background:green;padding:1rem}.btn-primary[data-v-
|
1
|
+
.lv-button[data-v-ac3af47a]{border:one;background:red;padding:1rem}.class-input[data-v-f440ad26]{border:none;background:green;padding:1rem}.btn-primary[data-v-ce0d0f31]{background-color:#1976d2;color:#fff}.btn-primary[data-v-ce0d0f31]:hover{background-color:#1565c0}.btn-icon[data-v-ce0d0f31]{padding:0;width:48px;height:48px}.btn-disabled[data-v-ce0d0f31]{opacity:.6;pointer-events:none}.v-badge[aria-label][data-v-02392152]:focus{outline:2px solid #005fcc;outline-offset:4px}
|
@@ -1,27 +1,27 @@
|
|
1
|
-
import { createElementBlock as
|
2
|
-
const
|
1
|
+
import { createElementBlock as p, openBlock as c, renderSlot as y, toDisplayString as u, resolveComponent as s, createBlock as v, mergeProps as k, normalizeClass as B, withCtx as d, createTextVNode as f, computed as _, createVNode as g } from "vue";
|
2
|
+
const i = (t, a) => {
|
3
3
|
const e = t.__vccOpts || t;
|
4
|
-
for (const [
|
5
|
-
e[
|
4
|
+
for (const [n, l] of a)
|
5
|
+
e[n] = l;
|
6
6
|
return e;
|
7
|
-
},
|
8
|
-
function
|
9
|
-
return
|
10
|
-
|
7
|
+
}, S = {}, x = { class: "lv-button" };
|
8
|
+
function h(t, a) {
|
9
|
+
return c(), p("button", x, [
|
10
|
+
y(t.$slots, "default", {}, void 0, !0)
|
11
11
|
]);
|
12
12
|
}
|
13
|
-
const
|
13
|
+
const C = /* @__PURE__ */ i(S, [["render", h], ["__scopeId", "data-v-ac3af47a"]]), V = {
|
14
14
|
name: "InputTaras",
|
15
15
|
props: {
|
16
16
|
prop: {
|
17
17
|
required: !0
|
18
18
|
}
|
19
19
|
}
|
20
|
-
},
|
21
|
-
function
|
22
|
-
return
|
20
|
+
}, I = { class: "class-input" };
|
21
|
+
function R(t, a, e, n, l, o) {
|
22
|
+
return c(), p("h1", I, u(e.prop) + " taras", 1);
|
23
23
|
}
|
24
|
-
const
|
24
|
+
const T = /* @__PURE__ */ i(V, [["render", R], ["__scopeId", "data-v-f440ad26"]]), z = {
|
25
25
|
name: "RtText",
|
26
26
|
props: {
|
27
27
|
label: {
|
@@ -87,11 +87,11 @@ const I = /* @__PURE__ */ d(S, [["render", V], ["__scopeId", "data-v-f440ad26"]]
|
|
87
87
|
}
|
88
88
|
}
|
89
89
|
};
|
90
|
-
function
|
91
|
-
const
|
92
|
-
return
|
93
|
-
modelValue:
|
94
|
-
"onUpdate:modelValue": a[0] || (a[0] = (
|
90
|
+
function N(t, a, e, n, l, o) {
|
91
|
+
const r = s("v-text-field");
|
92
|
+
return c(), v(r, k(o.inputProps, {
|
93
|
+
modelValue: o.inputValue,
|
94
|
+
"onUpdate:modelValue": a[0] || (a[0] = (b) => o.inputValue = b),
|
95
95
|
label: e.label,
|
96
96
|
placeholder: e.placeholder,
|
97
97
|
disabled: e.disabled,
|
@@ -101,10 +101,10 @@ function R(t, a, e, l, o, n) {
|
|
101
101
|
clearable: "",
|
102
102
|
hint: e.hint,
|
103
103
|
autocomplete: e.autocomplete,
|
104
|
-
"onClick:clear":
|
104
|
+
"onClick:clear": o.handleClear
|
105
105
|
}), null, 16, ["modelValue", "label", "placeholder", "disabled", "error", "error-messages", "prepend-icon", "hint", "autocomplete", "onClick:clear"]);
|
106
106
|
}
|
107
|
-
const
|
107
|
+
const L = /* @__PURE__ */ i(z, [["render", N], ["__scopeId", "data-v-33b97f38"]]), A = {
|
108
108
|
name: "RtButton",
|
109
109
|
props: {
|
110
110
|
// Button text label
|
@@ -212,24 +212,24 @@ const z = /* @__PURE__ */ d(T, [["render", R], ["__scopeId", "data-v-406c1a0f"]]
|
|
212
212
|
setup(t, { emit: a }) {
|
213
213
|
const e = () => {
|
214
214
|
a("click");
|
215
|
-
},
|
215
|
+
}, n = _(() => t.primary ? "flat" : "outlined"), l = _(() => t.label || "Button"), o = _(() => ({
|
216
216
|
"btn-primary": t.primary,
|
217
217
|
"btn-icon": t.icon,
|
218
218
|
"btn-disabled": t.disabled
|
219
219
|
}));
|
220
220
|
return {
|
221
221
|
onClick: e,
|
222
|
-
variant:
|
223
|
-
ariaLabel:
|
224
|
-
buttonClasses:
|
222
|
+
variant: n,
|
223
|
+
ariaLabel: l,
|
224
|
+
buttonClasses: o
|
225
225
|
};
|
226
226
|
}
|
227
227
|
};
|
228
|
-
function M(t, a, e, l, o
|
229
|
-
const
|
230
|
-
return
|
228
|
+
function M(t, a, e, n, l, o) {
|
229
|
+
const r = s("v-btn");
|
230
|
+
return c(), v(r, {
|
231
231
|
type: "button",
|
232
|
-
variant:
|
232
|
+
variant: n.variant,
|
233
233
|
size: e.size,
|
234
234
|
color: e.color,
|
235
235
|
icon: e.icon,
|
@@ -249,23 +249,162 @@ function M(t, a, e, l, o, n) {
|
|
249
249
|
exact: e.exact,
|
250
250
|
append: e.append,
|
251
251
|
"background-color": e.backgroundColor,
|
252
|
-
class:
|
253
|
-
onClick:
|
254
|
-
"aria-label":
|
252
|
+
class: B(n.buttonClasses),
|
253
|
+
onClick: n.onClick,
|
254
|
+
"aria-label": n.ariaLabel
|
255
255
|
}, {
|
256
|
-
default:
|
257
|
-
|
258
|
-
|
256
|
+
default: d(() => [
|
257
|
+
y(t.$slots, "default", {}, () => [
|
258
|
+
f(u(e.label), 1)
|
259
259
|
], !0)
|
260
260
|
]),
|
261
261
|
_: 3
|
262
262
|
}, 8, ["variant", "size", "color", "icon", "disabled", "loading", "outlined", "text", "tile", "depressed", "rounded", "block", "href", "target", "elevation", "to", "replace", "exact", "append", "background-color", "class", "onClick", "aria-label"]);
|
263
263
|
}
|
264
|
-
const
|
264
|
+
const O = /* @__PURE__ */ i(A, [["render", M], ["__scopeId", "data-v-ce0d0f31"]]), P = {
|
265
|
+
name: "RtBadge",
|
266
|
+
props: {
|
267
|
+
value: {
|
268
|
+
type: [String, Number],
|
269
|
+
default: 0
|
270
|
+
},
|
271
|
+
color: {
|
272
|
+
type: String,
|
273
|
+
default: "red"
|
274
|
+
},
|
275
|
+
dot: {
|
276
|
+
type: Boolean,
|
277
|
+
default: !1
|
278
|
+
},
|
279
|
+
overlap: {
|
280
|
+
type: Boolean,
|
281
|
+
default: !1
|
282
|
+
},
|
283
|
+
content: {
|
284
|
+
type: String,
|
285
|
+
default: ""
|
286
|
+
},
|
287
|
+
size: {
|
288
|
+
type: [String, Number],
|
289
|
+
default: "20"
|
290
|
+
},
|
291
|
+
bottom: {
|
292
|
+
type: Boolean,
|
293
|
+
default: !1
|
294
|
+
},
|
295
|
+
top: {
|
296
|
+
type: Boolean,
|
297
|
+
default: !1
|
298
|
+
}
|
299
|
+
},
|
300
|
+
computed: {
|
301
|
+
getAriaLabel() {
|
302
|
+
return this.dot ? "Notification dot" : this.content ? `Badge content: ${this.content}` : this.value ? `Badge value: ${this.value}` : "Badge";
|
303
|
+
}
|
304
|
+
}
|
305
|
+
};
|
306
|
+
function U(t, a, e, n, l, o) {
|
307
|
+
const r = s("v-badge");
|
308
|
+
return c(), v(r, {
|
309
|
+
value: e.value,
|
310
|
+
color: e.color,
|
311
|
+
dot: e.dot,
|
312
|
+
overlap: e.overlap,
|
313
|
+
content: e.content,
|
314
|
+
size: e.size,
|
315
|
+
bottom: e.bottom,
|
316
|
+
top: e.top,
|
317
|
+
role: "status",
|
318
|
+
"aria-label": o.getAriaLabel,
|
319
|
+
"aria-live": e.dot ? "polite" : "off",
|
320
|
+
tabindex: "0"
|
321
|
+
}, {
|
322
|
+
default: d(() => [
|
323
|
+
y(t.$slots, "default", {}, void 0, !0)
|
324
|
+
]),
|
325
|
+
_: 3
|
326
|
+
}, 8, ["value", "color", "dot", "overlap", "content", "size", "bottom", "top", "aria-label", "aria-live"]);
|
327
|
+
}
|
328
|
+
const j = /* @__PURE__ */ i(P, [["render", U], ["__scopeId", "data-v-02392152"]]), q = {
|
329
|
+
name: "RtSnackbar",
|
330
|
+
props: {
|
331
|
+
message: {
|
332
|
+
type: String,
|
333
|
+
default: "Hello, I'm a snackbar!"
|
334
|
+
},
|
335
|
+
timeout: {
|
336
|
+
type: Number,
|
337
|
+
default: 6e3
|
338
|
+
},
|
339
|
+
buttonText: {
|
340
|
+
type: String,
|
341
|
+
default: "Open Snackbar"
|
342
|
+
},
|
343
|
+
buttonColor: {
|
344
|
+
type: String,
|
345
|
+
default: "primary"
|
346
|
+
},
|
347
|
+
snackbarColor: {
|
348
|
+
type: String,
|
349
|
+
default: ""
|
350
|
+
},
|
351
|
+
actionButtonText: {
|
352
|
+
type: String,
|
353
|
+
default: "Close"
|
354
|
+
},
|
355
|
+
actionButtonColor: {
|
356
|
+
type: String,
|
357
|
+
default: "pink"
|
358
|
+
}
|
359
|
+
},
|
360
|
+
data() {
|
361
|
+
return {
|
362
|
+
snackbar: !1
|
363
|
+
};
|
364
|
+
}
|
365
|
+
}, w = { class: "text-center ma-2" };
|
366
|
+
function D(t, a, e, n, l, o) {
|
367
|
+
const r = s("v-btn"), b = s("v-snackbar");
|
368
|
+
return c(), p("div", w, [
|
369
|
+
g(r, {
|
370
|
+
color: e.buttonColor,
|
371
|
+
onClick: a[0] || (a[0] = (m) => l.snackbar = !0)
|
372
|
+
}, {
|
373
|
+
default: d(() => [
|
374
|
+
f(u(e.buttonText), 1)
|
375
|
+
]),
|
376
|
+
_: 1
|
377
|
+
}, 8, ["color"]),
|
378
|
+
g(b, {
|
379
|
+
modelValue: l.snackbar,
|
380
|
+
"onUpdate:modelValue": a[2] || (a[2] = (m) => l.snackbar = m),
|
381
|
+
timeout: e.timeout,
|
382
|
+
color: e.snackbarColor
|
383
|
+
}, {
|
384
|
+
actions: d(() => [
|
385
|
+
g(r, {
|
386
|
+
color: e.actionButtonColor,
|
387
|
+
variant: "text",
|
388
|
+
onClick: a[1] || (a[1] = (m) => l.snackbar = !1)
|
389
|
+
}, {
|
390
|
+
default: d(() => [
|
391
|
+
f(u(e.actionButtonText), 1)
|
392
|
+
]),
|
393
|
+
_: 1
|
394
|
+
}, 8, ["color"])
|
395
|
+
]),
|
396
|
+
default: d(() => [
|
397
|
+
f(u(e.message) + " ", 1)
|
398
|
+
]),
|
399
|
+
_: 1
|
400
|
+
}, 8, ["modelValue", "timeout", "color"])
|
401
|
+
]);
|
402
|
+
}
|
403
|
+
const E = /* @__PURE__ */ i(q, [["render", D], ["__scopeId", "data-v-75ce5462"]]), H = {
|
265
404
|
install: (t, a) => {
|
266
|
-
t.component("LearnVueButton",
|
405
|
+
t.component("LearnVueButton", C), t.component("InputTaras", T), t.component("RtText", L), t.component("RtButton", O), t.component("RtBadge", j), t.component("RtSnackbar", E);
|
267
406
|
}
|
268
407
|
};
|
269
408
|
export {
|
270
|
-
|
409
|
+
H as default
|
271
410
|
};
|
@@ -1 +1 @@
|
|
1
|
-
(function(t,
|
1
|
+
(function(t,d){typeof exports=="object"&&typeof module<"u"?module.exports=d(require("vue")):typeof define=="function"&&define.amd?define(["vue"],d):(t=typeof globalThis<"u"?globalThis:t||self,t["readytech-ui-library-v2"]=d(t.Vue))})(this,function(t){"use strict";const d=(a,n)=>{const e=a.__vccOpts||a;for(const[o,l]of n)e[o]=l;return e},u={},f={class:"lv-button"};function m(a,n){return t.openBlock(),t.createElementBlock("button",f,[t.renderSlot(a.$slots,"default",{},void 0,!0)])}const b=d(u,[["render",m],["__scopeId","data-v-ac3af47a"]]),p={name:"InputTaras",props:{prop:{required:!0}}},_={class:"class-input"};function y(a,n,e,o,l,r){return t.openBlock(),t.createElementBlock("h1",_,t.toDisplayString(e.prop)+" taras",1)}const g=d(p,[["render",y],["__scopeId","data-v-f440ad26"]]),k={name:"RtText",props:{label:{type:String,default:"Input Field"},hint:{type:String,default:""},placeholder:{type:String,default:""},modelValue:{type:[String,Number],default:""},disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},errorMessages:{type:[String,Array],default:()=>[]},prependIcon:{type:String,default:""},clearable:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"}},computed:{inputValue:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}},inputProps(){return{...this.$props}}},methods:{handleClear(){this.$emit("clear")}}};function B(a,n,e,o,l,r){const c=t.resolveComponent("v-text-field");return t.openBlock(),t.createBlock(c,t.mergeProps(r.inputProps,{modelValue:r.inputValue,"onUpdate:modelValue":n[0]||(n[0]=i=>r.inputValue=i),label:e.label,placeholder:e.placeholder,disabled:e.disabled,error:e.error,"error-messages":e.errorMessages,"prepend-icon":e.prependIcon,clearable:"",hint:e.hint,autocomplete:e.autocomplete,"onClick:clear":r.handleClear}),null,16,["modelValue","label","placeholder","disabled","error","error-messages","prepend-icon","hint","autocomplete","onClick:clear"])}const x=d(k,[["render",B],["__scopeId","data-v-33b97f38"]]),S={name:"RtButton",props:{label:{type:String,default:"Click Me"},primary:{type:Boolean,default:!1},size:{type:String,default:"default",validator:a=>["x-small","small","default","large","x-large"].includes(a)},color:{type:String,default:"primary"},backgroundColor:{type:String},icon:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},text:{type:String,default:""},tile:{type:Boolean,default:!1},depressed:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},block:{type:Boolean,default:!1},href:{type:String,default:""},target:{type:String,default:"_self"},to:{type:[String,Object],default:null},replace:{type:Boolean,default:!1},exact:{type:Boolean,default:!1},append:{type:Boolean,default:!1},elevation:{type:[Number,String],default:2}},emits:["click"],setup(a,{emit:n}){const e=()=>{n("click")},o=t.computed(()=>a.primary?"flat":"outlined"),l=t.computed(()=>a.label||"Button"),r=t.computed(()=>({"btn-primary":a.primary,"btn-icon":a.icon,"btn-disabled":a.disabled}));return{onClick:e,variant:o,ariaLabel:l,buttonClasses:r}}};function h(a,n,e,o,l,r){const c=t.resolveComponent("v-btn");return t.openBlock(),t.createBlock(c,{type:"button",variant:o.variant,size:e.size,color:e.color,icon:e.icon,disabled:e.disabled,loading:e.loading,outlined:e.outlined,text:e.text,tile:e.tile,depressed:e.depressed,rounded:e.rounded,block:e.block,href:e.href,target:e.target,elevation:e.elevation,to:e.to,replace:e.replace,exact:e.exact,append:e.append,"background-color":e.backgroundColor,class:t.normalizeClass(o.buttonClasses),onClick:o.onClick,"aria-label":o.ariaLabel},{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(e.label),1)],!0)]),_:3},8,["variant","size","color","icon","disabled","loading","outlined","text","tile","depressed","rounded","block","href","target","elevation","to","replace","exact","append","background-color","class","onClick","aria-label"])}const C=d(S,[["render",h],["__scopeId","data-v-ce0d0f31"]]),V={name:"RtBadge",props:{value:{type:[String,Number],default:0},color:{type:String,default:"red"},dot:{type:Boolean,default:!1},overlap:{type:Boolean,default:!1},content:{type:String,default:""},size:{type:[String,Number],default:"20"},bottom:{type:Boolean,default:!1},top:{type:Boolean,default:!1}},computed:{getAriaLabel(){return this.dot?"Notification dot":this.content?`Badge content: ${this.content}`:this.value?`Badge value: ${this.value}`:"Badge"}}};function T(a,n,e,o,l,r){const c=t.resolveComponent("v-badge");return t.openBlock(),t.createBlock(c,{value:e.value,color:e.color,dot:e.dot,overlap:e.overlap,content:e.content,size:e.size,bottom:e.bottom,top:e.top,role:"status","aria-label":r.getAriaLabel,"aria-live":e.dot?"polite":"off",tabindex:"0"},{default:t.withCtx(()=>[t.renderSlot(a.$slots,"default",{},void 0,!0)]),_:3},8,["value","color","dot","overlap","content","size","bottom","top","aria-label","aria-live"])}const I=d(V,[["render",T],["__scopeId","data-v-02392152"]]),N={name:"RtSnackbar",props:{message:{type:String,default:"Hello, I'm a snackbar!"},timeout:{type:Number,default:6e3},buttonText:{type:String,default:"Open Snackbar"},buttonColor:{type:String,default:"primary"},snackbarColor:{type:String,default:""},actionButtonText:{type:String,default:"Close"},actionButtonColor:{type:String,default:"pink"}},data(){return{snackbar:!1}}},R={class:"text-center ma-2"};function v(a,n,e,o,l,r){const c=t.resolveComponent("v-btn"),i=t.resolveComponent("v-snackbar");return t.openBlock(),t.createElementBlock("div",R,[t.createVNode(c,{color:e.buttonColor,onClick:n[0]||(n[0]=s=>l.snackbar=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.buttonText),1)]),_:1},8,["color"]),t.createVNode(i,{modelValue:l.snackbar,"onUpdate:modelValue":n[2]||(n[2]=s=>l.snackbar=s),timeout:e.timeout,color:e.snackbarColor},{actions:t.withCtx(()=>[t.createVNode(c,{color:e.actionButtonColor,variant:"text",onClick:n[1]||(n[1]=s=>l.snackbar=!1)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.actionButtonText),1)]),_:1},8,["color"])]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.message)+" ",1)]),_:1},8,["modelValue","timeout","color"])])}const z=d(N,[["render",v],["__scopeId","data-v-75ce5462"]]);return{install:(a,n)=>{a.component("LearnVueButton",b),a.component("InputTaras",g),a.component("RtText",x),a.component("RtButton",C),a.component("RtBadge",I),a.component("RtSnackbar",z)}}});
|
package/package.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "readytech-ui-library-v2",
|
3
3
|
"description": "ui library",
|
4
4
|
"private": false,
|
5
|
-
"version": "0.0.
|
5
|
+
"version": "0.0.10",
|
6
6
|
"exports": {
|
7
7
|
".": {
|
8
8
|
"import": "./dist/readytech-ui-library-v2.es.js",
|
@@ -17,14 +17,29 @@
|
|
17
17
|
"scripts": {
|
18
18
|
"dev": "vite",
|
19
19
|
"build": "vite build",
|
20
|
-
"preview": "vite preview"
|
20
|
+
"preview": "vite preview",
|
21
|
+
"storybook": "storybook dev -p 6006",
|
22
|
+
"build-storybook": "storybook build"
|
21
23
|
},
|
22
24
|
"dependencies": {
|
23
25
|
"vue": "^3.5.13",
|
24
26
|
"vuetify": "^3.7.16"
|
25
27
|
},
|
26
28
|
"devDependencies": {
|
29
|
+
"@chromatic-com/storybook": "^3.2.5",
|
30
|
+
"@storybook/addon-essentials": "^8.6.4",
|
31
|
+
"@storybook/addon-onboarding": "^8.6.4",
|
32
|
+
"@storybook/blocks": "^8.6.4",
|
33
|
+
"@storybook/experimental-addon-test": "^8.6.4",
|
34
|
+
"@storybook/test": "^8.6.4",
|
35
|
+
"@storybook/vue3": "^8.6.4",
|
36
|
+
"@storybook/vue3-vite": "^8.6.4",
|
27
37
|
"@vitejs/plugin-vue": "^5.2.1",
|
28
|
-
"
|
38
|
+
"@vitest/browser": "^3.0.8",
|
39
|
+
"@vitest/coverage-v8": "^3.0.8",
|
40
|
+
"playwright": "^1.51.0",
|
41
|
+
"storybook": "^8.6.4",
|
42
|
+
"vite": "^6.2.0",
|
43
|
+
"vitest": "^3.0.8"
|
29
44
|
}
|
30
45
|
}
|