@v-c/collapse 0.0.3 → 0.0.4

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/Collapse.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),N=require("@v-c/util"),x=require("@v-c/util/dist/hooks/useMergedState"),O=require("@v-c/util/dist/pickAttrs"),h=require("./hooks/useItems.cjs");function I(t){let r=t;if(!Array.isArray(r)){const a=typeof r;r=a==="number"||a==="string"?[r]:[]}return r.map(a=>String(a))}const M={prefixCls:"vc-collapse"},j=i.defineComponent({props:i.mergeDefaults({prefixCls:{type:String,required:!1},activeKey:{type:[String,Number,Array],required:!1},defaultActiveKey:{type:[String,Number,Array],required:!1},openMotion:{type:null,required:!1},onChange:{type:Function,required:!1},accordion:{type:Boolean,required:!1},className:{type:String,required:!1},style:{type:Object,required:!1},destroyOnHidden:{type:Boolean,required:!1},expandIcon:{type:Function,required:!1},collapsible:{type:String,required:!1},items:{type:Array,required:!1},classNames:{type:Object,required:!1},styles:{type:Object,required:!1}},M),name:"VcCollapse",inheritAttrs:!1,setup(t,{attrs:r,expose:a,slots:d}){const n=i.ref(),[s,f]=x([],{value:i.toRef(t,"activeKey"),onChange:e=>t.onChange?.(e),defaultValue:t.defaultActiveKey,postState:I}),y=e=>t.accordion?s.value[0]===e?[]:[e]:s.value.indexOf(e)>-1?s.value.filter(l=>l!==e):[...s.value,e],p=e=>{s.value=y(e),f(s.value)};return a({ref:n}),()=>{const{prefixCls:e="vc-collapse",className:c,style:u,openMotion:l,expandIcon:v,collapsible:m,accordion:o,classNames:g,styles:q,items:A,destroyOnHidden:C}=t,b=N.classNames(e,c),K={...t,...r},S=h.useItems(A,d.default,{prefixCls:e,accordion:o,openMotion:l,expandIcon:v,collapsible:m,onItemClick:p,activeKey:s.value,destroyOnHidden:C,classNames:g,styles:q});return i.createVNode("div",i.mergeProps({ref:n,class:b,style:u,role:o?"tablist":void 0},O(K,{aria:!0,data:!0})),[S])}}});exports.default=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),b=require("@v-c/util"),S=require("@v-c/util/dist/hooks/useMergedState"),x=require("@v-c/util/dist/omit"),N=require("@v-c/util/dist/pickAttrs"),O=require("./hooks/useItems.cjs");function h(r){let t=r;if(!Array.isArray(t)){const a=typeof t;t=a==="number"||a==="string"?[t]:[]}return t.map(a=>String(a))}const I={prefixCls:"vc-collapse"},M=i.defineComponent({props:i.mergeDefaults({prefixCls:{type:String,required:!1},activeKey:{type:[String,Number,Array],required:!1},defaultActiveKey:{type:[String,Number,Array],required:!1},openMotion:{type:null,required:!1},onChange:{type:Function,required:!1},accordion:{type:Boolean,required:!1},destroyOnHidden:{type:Boolean,required:!1},expandIcon:{type:Function,required:!1},collapsible:{type:String,required:!1},items:{type:Array,required:!1},classNames:{type:Object,required:!1},styles:{type:Object,required:!1}},I),name:"VcCollapse",inheritAttrs:!1,setup(r,{attrs:t,expose:a,slots:d}){const l=i.ref(),[s,f]=S([],{value:i.toRef(r,"activeKey"),onChange:e=>r.onChange?.(e),defaultValue:r.defaultActiveKey,postState:h}),y=e=>r.accordion?s.value[0]===e?[]:[e]:s.value.indexOf(e)>-1?s.value.filter(n=>n!==e):[...s.value,e],p=e=>{s.value=y(e),f(s.value)};return a({ref:l}),()=>{const{prefixCls:e="vc-collapse",openMotion:c,expandIcon:o,collapsible:n,accordion:u,classNames:v,styles:m,items:g,destroyOnHidden:q}=r,A=b.classNames(e,t.class),C={...r,...x(t,["class","style"])},K=O.useItems(g,d.default,{prefixCls:e,accordion:u,openMotion:c,expandIcon:o,collapsible:n,onItemClick:p,activeKey:s.value,destroyOnHidden:q,classNames:v,styles:m});return i.createVNode("div",i.mergeProps({ref:l,class:A,style:t.style,role:u?"tablist":void 0},N(C,{aria:!0,data:!0})),[K])}}});exports.default=M;
package/dist/Collapse.js CHANGED
@@ -1,19 +1,20 @@
1
- import { defineComponent as b, mergeDefaults as x, ref as S, toRef as O, createVNode as h, mergeProps as I } from "vue";
2
- import { classNames as j } from "@v-c/util";
3
- import M from "@v-c/util/dist/hooks/useMergedState";
1
+ import { defineComponent as K, mergeDefaults as x, ref as N, toRef as b, createVNode as S, mergeProps as h } from "vue";
2
+ import { classNames as O } from "@v-c/util";
3
+ import I from "@v-c/util/dist/hooks/useMergedState";
4
+ import M from "@v-c/util/dist/omit";
4
5
  import V from "@v-c/util/dist/pickAttrs";
5
- import { useItems as B } from "./hooks/useItems.js";
6
- function F(t) {
7
- let r = t;
8
- if (!Array.isArray(r)) {
9
- const s = typeof r;
10
- r = s === "number" || s === "string" ? [r] : [];
6
+ import { useItems as j } from "./hooks/useItems.js";
7
+ function B(r) {
8
+ let t = r;
9
+ if (!Array.isArray(t)) {
10
+ const a = typeof t;
11
+ t = a === "number" || a === "string" ? [t] : [];
11
12
  }
12
- return r.map((s) => String(s));
13
+ return t.map((a) => String(a));
13
14
  }
14
- const H = {
15
+ const F = {
15
16
  prefixCls: "vc-collapse"
16
- }, $ = /* @__PURE__ */ b({
17
+ }, $ = /* @__PURE__ */ K({
17
18
  props: /* @__PURE__ */ x({
18
19
  prefixCls: {
19
20
  type: String,
@@ -39,14 +40,6 @@ const H = {
39
40
  type: Boolean,
40
41
  required: !1
41
42
  },
42
- className: {
43
- type: String,
44
- required: !1
45
- },
46
- style: {
47
- type: Object,
48
- required: !1
49
- },
50
43
  destroyOnHidden: {
51
44
  type: Boolean,
52
45
  required: !1
@@ -71,61 +64,59 @@ const H = {
71
64
  type: Object,
72
65
  required: !1
73
66
  }
74
- }, H),
67
+ }, F),
75
68
  name: "VcCollapse",
76
69
  inheritAttrs: !1,
77
- setup(t, {
78
- attrs: r,
79
- expose: s,
70
+ setup(r, {
71
+ attrs: t,
72
+ expose: a,
80
73
  slots: u
81
74
  }) {
82
- const l = S(), [a, d] = M([], {
83
- value: O(t, "activeKey"),
84
- onChange: (e) => t.onChange?.(e),
85
- defaultValue: t.defaultActiveKey,
86
- postState: F
87
- }), f = (e) => t.accordion ? a.value[0] === e ? [] : [e] : a.value.indexOf(e) > -1 ? a.value.filter((i) => i !== e) : [...a.value, e], p = (e) => {
88
- a.value = f(e), d(a.value);
75
+ const l = N(), [s, f] = I([], {
76
+ value: b(r, "activeKey"),
77
+ onChange: (e) => r.onChange?.(e),
78
+ defaultValue: r.defaultActiveKey,
79
+ postState: B
80
+ }), d = (e) => r.accordion ? s.value[0] === e ? [] : [e] : s.value.indexOf(e) > -1 ? s.value.filter((i) => i !== e) : [...s.value, e], p = (e) => {
81
+ s.value = d(e), f(s.value);
89
82
  };
90
- return s({
83
+ return a({
91
84
  ref: l
92
85
  }), () => {
93
86
  const {
94
87
  prefixCls: e = "vc-collapse",
95
- className: n,
96
- style: o,
97
- openMotion: i,
98
- expandIcon: y,
99
- collapsible: m,
88
+ openMotion: n,
89
+ expandIcon: o,
90
+ collapsible: i,
100
91
  accordion: c,
101
- classNames: v,
102
- styles: g,
103
- items: A,
104
- destroyOnHidden: q
105
- } = t, C = j(e, n), K = {
106
- ...t,
107
- ...r
108
- }, N = B(A, u.default, {
92
+ classNames: y,
93
+ styles: m,
94
+ items: v,
95
+ destroyOnHidden: g
96
+ } = r, A = O(e, t.class), q = {
97
+ ...r,
98
+ ...M(t, ["class", "style"])
99
+ }, C = j(v, u.default, {
109
100
  prefixCls: e,
110
101
  accordion: c,
111
- openMotion: i,
112
- expandIcon: y,
113
- collapsible: m,
102
+ openMotion: n,
103
+ expandIcon: o,
104
+ collapsible: i,
114
105
  onItemClick: p,
115
- activeKey: a.value,
116
- destroyOnHidden: q,
117
- classNames: v,
118
- styles: g
106
+ activeKey: s.value,
107
+ destroyOnHidden: g,
108
+ classNames: y,
109
+ styles: m
119
110
  });
120
- return h("div", I({
111
+ return S("div", h({
121
112
  ref: l,
122
- class: C,
123
- style: o,
113
+ class: A,
114
+ style: t.style,
124
115
  role: c ? "tablist" : void 0
125
- }, V(K, {
116
+ }, V(q, {
126
117
  aria: !0,
127
118
  data: !0
128
- })), [N]);
119
+ })), [C]);
129
120
  };
130
121
  }
131
122
  });
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { default as Collapse } from './Collapse';
2
2
  import { default as Panel } from './Panel';
3
- export type { CollapsePanelProps, CollapseProps } from './interface';
3
+ export type { CollapsePanelProps, CollapseProps, ItemType } from './interface';
4
4
  export default Collapse;
5
5
  export { Panel };
@@ -37,8 +37,6 @@ export interface CollapseProps {
37
37
  openMotion?: TransitionProps;
38
38
  onChange?: (key: Key[]) => void;
39
39
  accordion?: boolean;
40
- className?: string;
41
- style?: object;
42
40
  destroyOnHidden?: boolean;
43
41
  expandIcon?: (props: object) => any;
44
42
  collapsible?: CollapsibleType;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@v-c/collapse",
3
3
  "type": "module",
4
- "version": "0.0.3",
4
+ "version": "0.0.4",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
package/src/Collapse.tsx CHANGED
@@ -2,6 +2,7 @@ import type { Ref } from 'vue'
2
2
  import type { CollapseProps, Key } from './interface'
3
3
  import { classNames as classnames } from '@v-c/util'
4
4
  import useMergedState from '@v-c/util/dist/hooks/useMergedState'
5
+ import omit from '@v-c/util/dist/omit'
5
6
  import pickAttrs from '@v-c/util/dist/pickAttrs'
6
7
  import { defineComponent, ref, toRef } from 'vue'
7
8
  import { useItems } from './hooks/useItems'
@@ -63,8 +64,6 @@ const Collapse = defineComponent<CollapseProps>({
63
64
  return () => {
64
65
  const {
65
66
  prefixCls = 'vc-collapse',
66
- className,
67
- style,
68
67
  openMotion,
69
68
  expandIcon,
70
69
  collapsible,
@@ -75,9 +74,9 @@ const Collapse = defineComponent<CollapseProps>({
75
74
  destroyOnHidden,
76
75
  } = props
77
76
 
78
- const collapseClassName = classnames(prefixCls, className)
77
+ const collapseClassName = classnames(prefixCls, (attrs as any).class)
79
78
 
80
- const mergedProps = { ...props, ...attrs }
79
+ const mergedProps = { ...props, ...omit(attrs, ['class', 'style']) }
81
80
 
82
81
  const mergedChildren = useItems(items, slots.default, {
83
82
  prefixCls,
@@ -96,7 +95,7 @@ const Collapse = defineComponent<CollapseProps>({
96
95
  <div
97
96
  ref={refWrapper}
98
97
  class={collapseClassName}
99
- style={style as any}
98
+ style={(attrs as any).style}
100
99
  role={accordion ? 'tablist' : undefined}
101
100
  {...pickAttrs(mergedProps, { aria: true, data: true })}
102
101
  >
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import Collapse from './Collapse'
2
2
  import Panel from './Panel'
3
3
 
4
- export type { CollapsePanelProps, CollapseProps } from './interface'
4
+ export type { CollapsePanelProps, CollapseProps, ItemType } from './interface'
5
5
 
6
6
  export default Collapse
7
7
 
package/src/interface.ts CHANGED
@@ -56,8 +56,6 @@ export interface CollapseProps {
56
56
  openMotion?: TransitionProps
57
57
  onChange?: (key: Key[]) => void
58
58
  accordion?: boolean
59
- className?: string
60
- style?: object
61
59
  destroyOnHidden?: boolean
62
60
  expandIcon?: (props: object) => any
63
61
  collapsible?: CollapsibleType