@a-drowned-fish/rox-v 1.0.5 → 1.0.7

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/README.md CHANGED
@@ -25,7 +25,9 @@ const app = createApp(App);
25
25
  app.use(RoxV);
26
26
  ```
27
27
 
28
- ### 2. 按需引入(无需手动引入css)
28
+ ### 2. 按需引入(推荐)
29
+
30
+ - 优势: 无需手动引入样式文件 且 按需加载
29
31
 
30
32
  ```vue
31
33
  <template>
@@ -174,11 +176,11 @@ const show = ref(false);
174
176
  }
175
177
  </style>
176
178
 
177
- ```
179
+ ````
178
180
 
179
181
  #### 不同位置
180
182
 
181
- ``vue
183
+ ```vue
182
184
  <template>
183
185
  <!-- 底部弹出(默认) -->
184
186
  <Popup v-model="showBottom" position="bottom">
@@ -210,24 +212,18 @@ const showTop = ref(false);
210
212
  const showLeft = ref(false);
211
213
  const showRight = ref(false);
212
214
  </script>
213
- ```
215
+ ````
214
216
 
215
217
  #### 自定义遮罩层
216
218
 
217
- ``vue
219
+ ```vue
218
220
  <template>
219
- <Popup
220
- v-model="show"
221
- :bg="'rgba(0, 0, 0, 0.7)'"
222
- :duration="500"
223
- :mask-closable="false"
224
- >
225
-
226
- <div class="content">
227
- <p>点击遮罩层不会关闭</p>
228
- <Button @click="show = false">手动关闭</Button>
229
- </div>
230
- </Popup>
221
+ <Popup v-model="show" :bg="'rgba(0, 0, 0, 0.7)'" :duration="500" :mask-closable="false">
222
+ <div class="content">
223
+ <p>点击遮罩层不会关闭</p>
224
+ <Button @click="show = false">手动关闭</Button>
225
+ </div>
226
+ </Popup>
231
227
  </template>
232
228
 
233
229
  <script setup lang="ts">
@@ -236,12 +232,11 @@ import { Popup, Button } from "@a-drowned-fish/rox-v";
236
232
 
237
233
  const show = ref(false);
238
234
  </script>
239
-
240
235
  ```
241
236
 
242
237
  #### 自定义挂载节点
243
238
 
244
- ``vue
239
+ ```vue
245
240
  <template>
246
241
  <div id="custom-container">
247
242
  <Popup v-model="show" to="#custom-container">
@@ -0,0 +1,7 @@
1
+ import e from "../_virtual/_plugin-vue_export-helper.js";
2
+ import t from "./button.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
+ //#region components/button/button.vue
5
+ var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-c5bf9878"]]);
6
+ //#endregion
7
+ export { n as default };
@@ -0,0 +1,46 @@
1
+ import { createElementBlock as e, defineComponent as t, normalizeClass as n, openBlock as r, renderSlot as i, useCssVars as a } from "vue";
2
+ //#region components/button/button.vue?vue&type=script&setup=true&lang.ts
3
+ var o = ["disabled", "type"], s = /* @__PURE__ */ t({
4
+ name: "Button",
5
+ __name: "button",
6
+ props: {
7
+ padding: { default: "8px 16px" },
8
+ block: {
9
+ type: Boolean,
10
+ default: !1
11
+ },
12
+ bg: { default: "transparent" },
13
+ border: { default: "1px solid #1A171B" },
14
+ radius: { default: "0" },
15
+ disabled: {
16
+ type: Boolean,
17
+ default: !1
18
+ },
19
+ type: { default: "button" },
20
+ disabledBg: { default: "rgba(26,23,27,0.16)" }
21
+ },
22
+ emits: ["click"],
23
+ setup(t, { emit: s }) {
24
+ a((e) => ({
25
+ v39320be7: l.padding,
26
+ v88f5a2a2: l.bg,
27
+ v03865196: l.border,
28
+ v1e0849fc: l.radius,
29
+ fdcaa76a: l.disabledBg
30
+ }));
31
+ let c = s, l = t, u = (e) => {
32
+ l.disabled || c("click", e);
33
+ };
34
+ return (t, a) => (r(), e("button", {
35
+ onClick: u,
36
+ class: n(["button-container", {
37
+ block: l.block,
38
+ disabled: l.disabled
39
+ }]),
40
+ disabled: l.disabled,
41
+ type: l.type
42
+ }, [i(t.$slots, "default", {}, void 0, !0)], 10, o));
43
+ }
44
+ });
45
+ //#endregion
46
+ export { s as default };
@@ -0,0 +1,9 @@
1
+ import e from "./button.js";
2
+ import "./style.css";
3
+ //#region components/button/index.ts
4
+ e.install = (t) => {
5
+ e.name && t.component(e.name, e);
6
+ };
7
+ var t = e;
8
+ //#endregion
9
+ export { t as default };
@@ -0,0 +1 @@
1
+ .button-container[data-v-c5bf9878]{padding:var(--v39320be7);background-color:var(--v88f5a2a2);border:var(--v03865196);border-radius:var(--v1e0849fc);cursor:pointer}.button-container.block[data-v-c5bf9878]{width:100%;display:block}.button-container.disabled[data-v-c5bf9878]{background-color:var(--fdcaa76a);color:#fff;border:none}
File without changes
@@ -1,10 +1,12 @@
1
1
  import { __exportAll as e } from "./_virtual/_rolldown/runtime.js";
2
2
  import t from "./input-otp/index.js";
3
3
  import n from "./popup/index.js";
4
+ import r from "./button/index.js";
4
5
  //#region components/components.ts
5
- var r = /* @__PURE__ */ e({
6
+ var i = /* @__PURE__ */ e({
7
+ Button: () => r,
6
8
  InputOtp: () => t,
7
9
  Popup: () => n
8
10
  });
9
11
  //#endregion
10
- export { r as components_exports };
12
+ export { i as components_exports };
package/dist/es/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import e from "./input-otp/index.js";
2
2
  import t from "./popup/index.js";
3
- import { components_exports as n } from "./components.js";
3
+ import n from "./button/index.js";
4
+ import { components_exports as r } from "./components.js";
4
5
  /* empty css */
5
6
  //#region components/index.ts
6
- var r = (e) => (Object.keys(n).forEach((t) => {
7
- let r = n[t];
8
- r.install && e.use(r);
9
- }), e), i = { install: r };
7
+ var i = (e) => (Object.keys(r).forEach((t) => {
8
+ let n = r[t];
9
+ n.install && e.use(n);
10
+ }), e), a = { install: i };
10
11
  //#endregion
11
- export { e as InputOtp, t as Popup, i as default, r as install };
12
+ export { n as Button, e as InputOtp, t as Popup, a as default, i as install };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`rox-v`]={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.defineProperty,r=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},i=[`maxlength`],a=(0,t.defineComponent)({name:`InputOtp`,__name:`input-otp`,props:{modelValue:{default:``},length:{default:6},itemClass:{default:``},activeItemClass:{default:``},gap:{default:`10px`},hasFilledItemClass:{default:`active`}},emits:[`update:modelValue`,`complete`],setup(e,{emit:n}){let r=[`ArrowLeft`,`ArrowRight`,`Home`,`End`],a=e,o=n,s=(0,t.ref)(null),c=(0,t.ref)(a.modelValue);(0,t.watch)(()=>a.modelValue,e=>{e!==c.value&&(c.value=e)});function l(e){let t=e.target.value;t=t.replace(/\D/g,``),t=t.slice(0,a.length),c.value=t,o(`update:modelValue`,t),t.length===a.length&&o(`complete`,t)}function u(){(0,t.nextTick)(()=>{if(s.value){let e=c.value.length;s.value.setSelectionRange?.(e,e)}})}function d(e){let t=c.value,n=e.key;if(n===`Backspace`||n===`Delete`){if(e.preventDefault(),t.length>0){let e=t.slice(0,-1);c.value=e,o(`update:modelValue`,e),u()}}else r.includes(n)&&e.preventDefault()}function f(){s.value?.focus()}function p(e){return e===c.value.length}function m(e){return e<c.value.length}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`otp-wrapper`,onClick:f},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{inputmode:`numeric`,autocomplete:`one-time-code`,ref_key:`inputRef`,ref:s,"onUpdate:modelValue":r[0]||=e=>c.value=e,maxlength:e.length,onInput:l,onKeydown:d,onFocus:u,style:{position:`absolute`,opacity:`0`,"pointer-events":`none`,width:`1px`,height:`1px`}},null,40,i),[[t.vModelText,c.value]]),(0,t.createElementVNode)(`div`,{class:`otp-box`,style:(0,t.normalizeStyle)({gap:a.gap})},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.length,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:(0,t.normalizeClass)([`otp-item`,[{[a.activeItemClass]:p(n)},{[a.hasFilledItemClass]:m(n)},a.itemClass]])},(0,t.toDisplayString)(c.value[n]||``),3))),128))],4)]))}}),o=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},s=o(a,[[`__scopeId`,`data-v-0e246228`]]);s.install=e=>(s.name&&e.component(s.name,s),e);var c=s,l=o((0,t.defineComponent)({name:`Popup`,__name:`popup`,props:(0,t.mergeModels)({to:{default:`body`},bg:{default:`rgba(0, 0, 0, .5)`},duration:{default:300},position:{default:`bottom`},maskClosable:{type:Boolean,default:!0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=[`bottom`,`left`,`right`,`top`],r=(0,t.useModel)(e,`modelValue`),i=e;function a(){i.maskClosable&&(r.value=!1)}return(e,o)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:i.to},[(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,style:(0,t.normalizeStyle)({"background-color":i.bg,"--duration":`${i.duration}ms`}),class:(0,t.normalizeClass)([`popup-container`,[`popup-container-${i.position}`,{"popup-container-bottom":!n.includes(i.position)}]]),onClick:a},[(0,t.createElementVNode)(`div`,{class:`popup-content`,onClick:o[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],6)):(0,t.createCommentVNode)(``,!0)]),_:3})],8,[`to`]))}}),[[`__scopeId`,`data-v-00d0e4c1`]]);l.install=e=>(l.name&&e.component(l.name,l),e);var u=l,d=r({InputOtp:()=>c,Popup:()=>u}),f=e=>(Object.keys(d).forEach(t=>{let n=d[t];n.install&&e.use(n)}),e),p={install:f};e.InputOtp=c,e.Popup=u,e.default=p,e.install=f});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`rox-v`]={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.defineProperty,r=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},i=[`maxlength`],a=(0,t.defineComponent)({name:`InputOtp`,__name:`input-otp`,props:{modelValue:{default:``},length:{default:6},itemClass:{default:``},activeItemClass:{default:``},gap:{default:`10px`},hasFilledItemClass:{default:`active`}},emits:[`update:modelValue`,`complete`],setup(e,{emit:n}){let r=[`ArrowLeft`,`ArrowRight`,`Home`,`End`],a=e,o=n,s=(0,t.ref)(null),c=(0,t.ref)(a.modelValue);(0,t.watch)(()=>a.modelValue,e=>{e!==c.value&&(c.value=e)});function l(e){let t=e.target.value;t=t.replace(/\D/g,``),t=t.slice(0,a.length),c.value=t,o(`update:modelValue`,t),t.length===a.length&&o(`complete`,t)}function u(){(0,t.nextTick)(()=>{if(s.value){let e=c.value.length;s.value.setSelectionRange?.(e,e)}})}function d(e){let t=c.value,n=e.key;if(n===`Backspace`||n===`Delete`){if(e.preventDefault(),t.length>0){let e=t.slice(0,-1);c.value=e,o(`update:modelValue`,e),u()}}else r.includes(n)&&e.preventDefault()}function f(){s.value?.focus()}function p(e){return e===c.value.length}function m(e){return e<c.value.length}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`otp-wrapper`,onClick:f},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{inputmode:`numeric`,autocomplete:`one-time-code`,ref_key:`inputRef`,ref:s,"onUpdate:modelValue":r[0]||=e=>c.value=e,maxlength:e.length,onInput:l,onKeydown:d,onFocus:u,style:{position:`absolute`,opacity:`0`,"pointer-events":`none`,width:`1px`,height:`1px`}},null,40,i),[[t.vModelText,c.value]]),(0,t.createElementVNode)(`div`,{class:`otp-box`,style:(0,t.normalizeStyle)({gap:a.gap})},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.length,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:(0,t.normalizeClass)([`otp-item`,[{[a.activeItemClass]:p(n)},{[a.hasFilledItemClass]:m(n)},a.itemClass]])},(0,t.toDisplayString)(c.value[n]||``),3))),128))],4)]))}}),o=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},s=o(a,[[`__scopeId`,`data-v-0e246228`]]);s.install=e=>(s.name&&e.component(s.name,s),e);var c=s,l=o((0,t.defineComponent)({name:`Popup`,__name:`popup`,props:(0,t.mergeModels)({to:{default:`body`},bg:{default:`rgba(0, 0, 0, .5)`},duration:{default:300},position:{default:`bottom`},maskClosable:{type:Boolean,default:!0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=[`bottom`,`left`,`right`,`top`],r=(0,t.useModel)(e,`modelValue`),i=e;function a(){i.maskClosable&&(r.value=!1)}return(e,o)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:i.to},[(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,style:(0,t.normalizeStyle)({"background-color":i.bg,"--duration":`${i.duration}ms`}),class:(0,t.normalizeClass)([`popup-container`,[`popup-container-${i.position}`,{"popup-container-bottom":!n.includes(i.position)}]]),onClick:a},[(0,t.createElementVNode)(`div`,{class:`popup-content`,onClick:o[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])],6)):(0,t.createCommentVNode)(``,!0)]),_:3})],8,[`to`]))}}),[[`__scopeId`,`data-v-00d0e4c1`]]);l.install=e=>(l.name&&e.component(l.name,l),e);var u=l,d=[`disabled`,`type`],f=o((0,t.defineComponent)({name:`Button`,__name:`button`,props:{padding:{default:`8px 16px`},block:{type:Boolean,default:!1},bg:{default:`transparent`},border:{default:`1px solid #1A171B`},radius:{default:`0`},disabled:{type:Boolean,default:!1},type:{default:`button`},disabledBg:{default:`rgba(26,23,27,0.16)`}},emits:[`click`],setup(e,{emit:n}){(0,t.useCssVars)(e=>({v39320be7:i.padding,v88f5a2a2:i.bg,v03865196:i.border,v1e0849fc:i.radius,fdcaa76a:i.disabledBg}));let r=n,i=e,a=e=>{i.disabled||r(`click`,e)};return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{onClick:a,class:(0,t.normalizeClass)([`button-container`,{block:i.block,disabled:i.disabled}]),disabled:i.disabled,type:i.type},[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)],10,d))}}),[[`__scopeId`,`data-v-c5bf9878`]]);f.install=e=>{f.name&&e.component(f.name,f)};var p=f,m=r({Button:()=>p,InputOtp:()=>c,Popup:()=>u}),h=e=>(Object.keys(m).forEach(t=>{let n=m[t];n.install&&e.use(n)}),e),g={install:h};e.Button=p,e.InputOtp=c,e.Popup=u,e.default=g,e.install=h});
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/_plugin-vue_export-helper.js`),t=require(`./button.vue_vue_type_script_setup_true_lang.js`);;/* empty css */var n=e.default(t.default,[[`__scopeId`,`data-v-c5bf9878`]]);exports.default=n;
@@ -0,0 +1 @@
1
+ let e=require(`vue`);var t=[`disabled`,`type`],n=(0,e.defineComponent)({name:`Button`,__name:`button`,props:{padding:{default:`8px 16px`},block:{type:Boolean,default:!1},bg:{default:`transparent`},border:{default:`1px solid #1A171B`},radius:{default:`0`},disabled:{type:Boolean,default:!1},type:{default:`button`},disabledBg:{default:`rgba(26,23,27,0.16)`}},emits:[`click`],setup(n,{emit:r}){(0,e.useCssVars)(e=>({v39320be7:a.padding,v88f5a2a2:a.bg,v03865196:a.border,v1e0849fc:a.radius,fdcaa76a:a.disabledBg}));let i=r,a=n,o=e=>{a.disabled||i(`click`,e)};return(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{onClick:o,class:(0,e.normalizeClass)([`button-container`,{block:a.block,disabled:a.disabled}]),disabled:a.disabled,type:a.type},[(0,e.renderSlot)(n.$slots,`default`,{},void 0,!0)],10,t))}});exports.default=n;
@@ -0,0 +1 @@
1
+ const e=require(`./button.js`);require(`./style.css`),e.default.install=t=>{e.default.name&&t.component(e.default.name,e.default)};var t=e.default;exports.default=t;
@@ -0,0 +1 @@
1
+ .button-container[data-v-c5bf9878]{padding:var(--v39320be7);background-color:var(--v88f5a2a2);border:var(--v03865196);border-radius:var(--v1e0849fc);cursor:pointer}.button-container.block[data-v-c5bf9878]{width:100%;display:block}.button-container.disabled[data-v-c5bf9878]{background-color:var(--fdcaa76a);color:#fff;border:none}
File without changes
@@ -1 +1 @@
1
- const e=require(`./_virtual/_rolldown/runtime.js`),t=require(`./input-otp/index.js`),n=require(`./popup/index.js`);var r=e.__exportAll({InputOtp:()=>t.default,Popup:()=>n.default});Object.defineProperty(exports,`components_exports`,{enumerable:!0,get:function(){return r}});
1
+ const e=require(`./_virtual/_rolldown/runtime.js`),t=require(`./input-otp/index.js`),n=require(`./popup/index.js`),r=require(`./button/index.js`);var i=e.__exportAll({Button:()=>r.default,InputOtp:()=>t.default,Popup:()=>n.default});Object.defineProperty(exports,`components_exports`,{enumerable:!0,get:function(){return i}});
package/dist/lib/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./input-otp/index.js`),t=require(`./popup/index.js`),n=require(`./components.js`);;/* empty css */var r=e=>(Object.keys(n.components_exports).forEach(t=>{let r=n.components_exports[t];r.install&&e.use(r)}),e),i={install:r};exports.InputOtp=e.default,exports.Popup=t.default,exports.default=i,exports.install=r;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./input-otp/index.js`),t=require(`./popup/index.js`),n=require(`./button/index.js`),r=require(`./components.js`);;/* empty css */var i=e=>(Object.keys(r.components_exports).forEach(t=>{let n=r.components_exports[t];n.install&&e.use(n)}),e),a={install:i};exports.Button=n.default,exports.InputOtp=e.default,exports.Popup=t.default,exports.default=a,exports.install=i;
@@ -1 +1 @@
1
- const e=require(`./input-otp.js`);require(`./style.css.js`),e.default.install=t=>(e.default.name&&t.component(e.default.name,e.default),t);var t=e.default;exports.default=t;
1
+ const e=require(`./input-otp.js`);require(`./style.css`),e.default.install=t=>(e.default.name&&t.component(e.default.name,e.default),t);var t=e.default;exports.default=t;
@@ -1 +1 @@
1
- const e=require(`./popup.js`);require(`./style.css.js`),e.default.install=t=>(e.default.name&&t.component(e.default.name,e.default),t);var t=e.default;exports.default=t;
1
+ const e=require(`./popup.js`);require(`./style.css`),e.default.install=t=>(e.default.name&&t.component(e.default.name,e.default),t);var t=e.default;exports.default=t;
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- .otp-wrapper[data-v-0e246228]{cursor:pointer;width:max-content;position:relative}.otp-box[data-v-0e246228]{display:flex}.otp-item[data-v-0e246228]{border-bottom:1px solid #00000029;justify-content:center;align-items:center;width:60px;height:60px;transition:all .2s;display:flex}.otp-item.active[data-v-0e246228]{border-bottom:1px solid #000}.fade-enter-from[data-v-00d0e4c1],.fade-leave-to[data-v-00d0e4c1]{opacity:0}.popup-container[data-v-00d0e4c1]{z-index:50;transition:opacity var(--duration) ease-in-out;will-change:opacity;position:fixed;inset:0}.popup-content[data-v-00d0e4c1]{transition:transform var(--duration) ease-in-out;will-change:transform;position:absolute}.popup-container-top .popup-content[data-v-00d0e4c1]{top:0;left:0;right:0}.fade-enter-from.popup-container-top .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-top .popup-content[data-v-00d0e4c1]{transform:translateY(-100%)}.popup-container-bottom .popup-content[data-v-00d0e4c1]{bottom:0;left:0;right:0}.fade-enter-from.popup-container-bottom .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-bottom .popup-content[data-v-00d0e4c1]{transform:translateY(100%)}.popup-container-left .popup-content[data-v-00d0e4c1]{top:0;bottom:0;left:0}.fade-enter-from.popup-container-left .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-left .popup-content[data-v-00d0e4c1]{transform:translate(-100%)}.popup-container-right .popup-content[data-v-00d0e4c1]{top:0;bottom:0;right:0}.fade-enter-from.popup-container-right .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-right .popup-content[data-v-00d0e4c1]{transform:translate(100%)}:-webkit-any(input:-webkit-autofill,textarea:-webkit-autofill){-webkit-box-shadow:0 0 0 1000px var(--input-bg,#fff) inset;-webkit-text-fill-color:inherit}:is(input:autofill,textarea:autofill){-webkit-box-shadow:0 0 0 1000px var(--input-bg,#fff) inset;-webkit-text-fill-color:inherit}input:focus,textarea:focus{outline:none}input::-webkit-input-placeholder{color:var(--input-placeholder-color,#999)}textarea::-webkit-input-placeholder{color:var(--input-placeholder-color,#999)}input::-moz-placeholder{color:var(--input-placeholder-color,#999)}textarea::-moz-placeholder{color:var(--input-placeholder-color,#999)}input:-ms-placeholder-shown{color:var(--input-placeholder-color,#999)}
1
+ .otp-wrapper[data-v-0e246228]{cursor:pointer;width:max-content;position:relative}.otp-box[data-v-0e246228]{display:flex}.otp-item[data-v-0e246228]{border-bottom:1px solid #00000029;justify-content:center;align-items:center;width:60px;height:60px;transition:all .2s;display:flex}.otp-item.active[data-v-0e246228]{border-bottom:1px solid #000}.fade-enter-from[data-v-00d0e4c1],.fade-leave-to[data-v-00d0e4c1]{opacity:0}.popup-container[data-v-00d0e4c1]{z-index:50;transition:opacity var(--duration) ease-in-out;will-change:opacity;position:fixed;inset:0}.popup-content[data-v-00d0e4c1]{transition:transform var(--duration) ease-in-out;will-change:transform;position:absolute}.popup-container-top .popup-content[data-v-00d0e4c1]{top:0;left:0;right:0}.fade-enter-from.popup-container-top .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-top .popup-content[data-v-00d0e4c1]{transform:translateY(-100%)}.popup-container-bottom .popup-content[data-v-00d0e4c1]{bottom:0;left:0;right:0}.fade-enter-from.popup-container-bottom .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-bottom .popup-content[data-v-00d0e4c1]{transform:translateY(100%)}.popup-container-left .popup-content[data-v-00d0e4c1]{top:0;bottom:0;left:0}.fade-enter-from.popup-container-left .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-left .popup-content[data-v-00d0e4c1]{transform:translate(-100%)}.popup-container-right .popup-content[data-v-00d0e4c1]{top:0;bottom:0;right:0}.fade-enter-from.popup-container-right .popup-content[data-v-00d0e4c1],.fade-leave-to.popup-container-right .popup-content[data-v-00d0e4c1]{transform:translate(100%)}.button-container[data-v-c5bf9878]{padding:var(--v39320be7);background-color:var(--v88f5a2a2);border:var(--v03865196);border-radius:var(--v1e0849fc);cursor:pointer}.button-container.block[data-v-c5bf9878]{width:100%;display:block}.button-container.disabled[data-v-c5bf9878]{background-color:var(--fdcaa76a);color:#fff;border:none}:-webkit-any(input:-webkit-autofill,textarea:-webkit-autofill){-webkit-box-shadow:0 0 0 1000px var(--input-bg,#fff) inset;-webkit-text-fill-color:inherit}:is(input:autofill,textarea:autofill){-webkit-box-shadow:0 0 0 1000px var(--input-bg,#fff) inset;-webkit-text-fill-color:inherit}input:focus,textarea:focus{outline:none}input::-webkit-input-placeholder{color:var(--input-placeholder-color,#999)}textarea::-webkit-input-placeholder{color:var(--input-placeholder-color,#999)}input::-moz-placeholder{color:var(--input-placeholder-color,#999)}textarea::-moz-placeholder{color:var(--input-placeholder-color,#999)}input:-ms-placeholder-shown{color:var(--input-placeholder-color,#999)}
2
2
  /*$vite$:1*/
@@ -0,0 +1,31 @@
1
+ import { RoxVButton } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: HTMLButtonElement;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<RoxVButton, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ click: (...args: any[]) => void;
13
+ }, string, import('vue').PublicProps, Readonly<RoxVButton> & Readonly<{
14
+ onClick?: ((...args: any[]) => any) | undefined;
15
+ }>, {
16
+ type: "button" | "submit" | "reset";
17
+ bg: string;
18
+ disabled: boolean;
19
+ padding: string;
20
+ block: boolean;
21
+ border: string;
22
+ radius: string;
23
+ disabledBg: string;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
25
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
26
+ export default _default;
27
+ type __VLS_WithTemplateSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,5 @@
1
+ import { Plugin } from 'vue';
2
+ import { default as Button } from './button.vue';
3
+ export * from './types';
4
+ declare const _default: typeof Button & Plugin;
5
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { ButtonHTMLAttributes } from 'vue';
2
+ export interface RoxVButton {
3
+ padding?: string;
4
+ block?: boolean;
5
+ bg?: string;
6
+ border?: string;
7
+ radius?: string;
8
+ disabled?: boolean;
9
+ type?: ButtonHTMLAttributes["type"];
10
+ disabledBg?: string;
11
+ }
@@ -2,3 +2,5 @@ export { default as InputOtp } from './input-otp';
2
2
  export type { RoxInputOtpProps } from './input-otp';
3
3
  export { default as Popup } from './popup';
4
4
  export type { RoxPopupProps } from './popup';
5
+ export { default as Button } from './button';
6
+ export type { RoxVButton } from './button';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a-drowned-fish/rox-v",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "vue ui library",
5
5
  "main": "dist/lib/index.js",
6
6
  "module": "dist/es/index.js",
@@ -50,11 +50,6 @@
50
50
  ],
51
51
  "author": "yangsuzhou",
52
52
  "license": "MIT",
53
- "peerDependenciesMeta": {
54
- "unplugin-vue-components": {
55
- "optional": true
56
- }
57
- },
58
53
  "peerDependencies": {
59
54
  "vue": "^3.5.0"
60
55
  },