@veracity/vui 1.5.0-rc.0 → 1.5.0

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 (33) hide show
  1. package/dist/cjs/accordion/accordion.d.ts.map +1 -1
  2. package/dist/cjs/accordion/accordion.js +32 -6
  3. package/dist/cjs/accordion/accordionItem.d.ts.map +1 -1
  4. package/dist/cjs/accordion/accordionItem.js +4 -2
  5. package/dist/cjs/accordion/context.d.ts +5 -0
  6. package/dist/cjs/accordion/context.d.ts.map +1 -0
  7. package/dist/cjs/accordion/context.js +7 -0
  8. package/dist/cjs/accordion/theme.d.ts +23 -2
  9. package/dist/cjs/accordion/theme.d.ts.map +1 -1
  10. package/dist/cjs/accordion/theme.js +23 -2
  11. package/dist/cjs/theme/components.d.ts +23 -2
  12. package/dist/cjs/theme/components.d.ts.map +1 -1
  13. package/dist/cjs/theme/defaultTheme.d.ts +23 -2
  14. package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
  15. package/dist/esm/accordion/accordion.d.ts.map +1 -1
  16. package/dist/esm/accordion/accordion.js +10 -7
  17. package/dist/esm/accordion/accordionItem.d.ts.map +1 -1
  18. package/dist/esm/accordion/accordionItem.js +5 -3
  19. package/dist/esm/accordion/context.d.ts +5 -0
  20. package/dist/esm/accordion/context.d.ts.map +1 -0
  21. package/dist/esm/accordion/context.js +3 -0
  22. package/dist/esm/accordion/theme.d.ts +23 -2
  23. package/dist/esm/accordion/theme.d.ts.map +1 -1
  24. package/dist/esm/accordion/theme.js +23 -2
  25. package/dist/esm/theme/components.d.ts +23 -2
  26. package/dist/esm/theme/components.d.ts.map +1 -1
  27. package/dist/esm/theme/defaultTheme.d.ts +23 -2
  28. package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/src/accordion/accordion.tsx +15 -10
  31. package/src/accordion/accordionItem.tsx +6 -8
  32. package/src/accordion/context.ts +5 -0
  33. package/src/accordion/theme.ts +23 -2
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGtE,eAAO,MAAM,aAAa,+HAIzB,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,uDAepB,CAAA;AAEF,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAItE,eAAO,MAAM,aAAa,+HAIzB,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,uDAmBpB,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __rest = (this && this.__rest) || function (s, e) {
3
26
  var t = {};
4
27
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -15,11 +38,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
38
  };
16
39
  Object.defineProperty(exports, "__esModule", { value: true });
17
40
  exports.Accordion = exports.AccordionBase = void 0;
18
- const react_1 = __importDefault(require("react"));
41
+ const react_1 = __importStar(require("react"));
19
42
  const core_1 = require("../core");
20
43
  const list_1 = __importDefault(require("../list"));
21
44
  const utils_1 = require("../utils");
22
45
  const accordionItem_1 = __importDefault(require("./accordionItem"));
46
+ const context_1 = require("./context");
23
47
  exports.AccordionBase = core_1.styled.divBox `
24
48
  display: flex;
25
49
  min-width: 0;
@@ -28,12 +52,14 @@ exports.AccordionBase = core_1.styled.divBox `
28
52
  /** [BETA] Allows to show and hide sections of related content on a page. */
29
53
  exports.Accordion = (0, core_1.vui)((props, ref) => {
30
54
  var _a;
31
- const _b = (0, core_1.omitThemingProps)(props), { className, children, items } = _b, rest = __rest(_b, ["className", "children", "items"]);
55
+ const { children, className, items, size } = props, rest = __rest(props, ["children", "className", "items", "size"]);
32
56
  const styles = (0, core_1.useStyleConfig)('Accordion', props);
57
+ const context = (0, react_1.useMemo)(() => (0, utils_1.filterUndefined)({ size }), [size]);
33
58
  const aliasedProps = (0, utils_1.filterUndefined)({});
34
- return (react_1.default.createElement(exports.AccordionBase, Object.assign({ className: (0, utils_1.cs)('vui-accordion', className), ref: ref }, styles, aliasedProps, rest),
35
- react_1.default.createElement(list_1.default, { w: "100%" }, items
36
- ? (_a = items === null || items === void 0 ? void 0 : items.map) === null || _a === void 0 ? void 0 : _a.call(items, (item, key) => react_1.default.createElement(accordionItem_1.default, Object.assign({ key: key }, item)))
37
- : children)));
59
+ return (react_1.default.createElement(context_1.AccordionProvider, { value: context },
60
+ react_1.default.createElement(exports.AccordionBase, Object.assign({ className: (0, utils_1.cs)('vui-accordion', className), ref: ref }, styles, aliasedProps, rest),
61
+ react_1.default.createElement(list_1.default, { w: "100%" }, items
62
+ ? (_a = items === null || items === void 0 ? void 0 : items.map) === null || _a === void 0 ? void 0 : _a.call(items, (item, key) => react_1.default.createElement(accordionItem_1.default, Object.assign({ key: key }, item)))
63
+ : children))));
38
64
  });
39
65
  exports.default = exports.Accordion;
@@ -1 +1 @@
1
- {"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGtD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBA8CtD,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBA2CtD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -44,10 +44,12 @@ const core_1 = require("../core");
44
44
  const list_1 = require("../list");
45
45
  const utils_1 = require("../utils");
46
46
  const accordionItemArrow_1 = __importDefault(require("./accordionItemArrow"));
47
+ const context_1 = require("./context");
47
48
  /** An accordion item. */
48
49
  const AccordionItem = (props) => {
49
50
  const _a = (0, core_1.omitThemingProps)(props), { className, children, id, content, disabled, title, collapsed, onToggle } = _a, rest = __rest(_a, ["className", "children", "id", "content", "disabled", "title", "collapsed", "onToggle"]);
50
51
  const [collapsedInternal, setIsCollapsedInternal] = (0, react_1.useState)(false);
52
+ const styles = (0, core_1.useStyleConfig)('Accordion', (0, context_1.useAccordionContext)());
51
53
  (0, react_1.useEffect)(() => {
52
54
  setIsCollapsedInternal(!!collapsed);
53
55
  }, [collapsed]);
@@ -57,8 +59,8 @@ const AccordionItem = (props) => {
57
59
  setIsCollapsedInternal(!collapsedInternal);
58
60
  }
59
61
  };
60
- return (react_1.default.createElement(list_1.ListItem, Object.assign({ borderBottom: "1px solid grey.40", className: (0, utils_1.cs)('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", hoverBg: "blue.10", id: `${id}`, w: "100%" }, rest),
61
- react_1.default.createElement(box_1.Box, { cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: "space-between", onClick: toggle, py: 2, w: "100%" },
62
+ return (react_1.default.createElement(list_1.ListItem, Object.assign({ borderBottom: "1px solid grey.40", className: (0, utils_1.cs)('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", hoverBg: "blue.10", id: `${id}`, w: "100%" }, styles.item, rest),
63
+ react_1.default.createElement(box_1.Box, { cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: "space-between", onClick: toggle, w: "100%" },
62
64
  react_1.default.createElement(box_1.Box, { fontWeight: typeof title === 'string' ? '500' : 'inherit' }, title),
63
65
  react_1.default.createElement(box_1.Box, null,
64
66
  react_1.default.createElement(accordionItemArrow_1.default, { collapsed: collapsedInternal }))),
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { Dict } from '../utils';
3
+ declare const AccordionProvider: import("react").Provider<Dict<any>>, useAccordionContext: () => Dict<any>;
4
+ export { AccordionProvider, useAccordionContext };
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/accordion/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,IAAI,EAAE,MAAM,UAAU,CAAA;AAE9C,QAAA,MAAO,iBAAiB,uCAAE,mBAAmB,iBAA6C,CAAA;AAE1F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAccordionContext = exports.AccordionProvider = void 0;
4
+ const utils_1 = require("../utils");
5
+ const [AccordionProvider, useAccordionContext] = (0, utils_1.createContext)({ isOptional: true });
6
+ exports.AccordionProvider = AccordionProvider;
7
+ exports.useAccordionContext = useAccordionContext;
@@ -1,7 +1,28 @@
1
1
  declare const _default: {
2
2
  baseStyle: {};
3
- defaultProps: {};
4
- sizes: {};
3
+ defaultProps: {
4
+ size: string;
5
+ };
6
+ sizes: {
7
+ sm: {
8
+ item: {
9
+ minH: string;
10
+ pt: string;
11
+ };
12
+ };
13
+ md: {
14
+ item: {
15
+ minH: string;
16
+ pt: string;
17
+ };
18
+ };
19
+ lg: {
20
+ item: {
21
+ minH: string;
22
+ pt: string;
23
+ };
24
+ };
25
+ };
5
26
  variants: {};
6
27
  };
7
28
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/accordion/theme.ts"],"names":[],"mappings":";;;;;;AAQA,wBAKC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/accordion/theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,wBAKC"}
@@ -1,8 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const baseStyle = {};
4
- const defaultProps = {};
5
- const sizes = {};
4
+ const defaultProps = {
5
+ size: 'md'
6
+ };
7
+ const sizes = {
8
+ sm: {
9
+ item: {
10
+ minH: '32px',
11
+ pt: '8px'
12
+ }
13
+ },
14
+ md: {
15
+ item: {
16
+ minH: '40px',
17
+ pt: '12px'
18
+ }
19
+ },
20
+ lg: {
21
+ item: {
22
+ minH: '48px',
23
+ pt: '14px'
24
+ }
25
+ }
26
+ };
6
27
  const variants = {};
7
28
  exports.default = {
8
29
  baseStyle,
@@ -1,8 +1,29 @@
1
1
  declare const _default: {
2
2
  Accordion: {
3
3
  baseStyle: {};
4
- defaultProps: {};
5
- sizes: {};
4
+ defaultProps: {
5
+ size: string;
6
+ };
7
+ sizes: {
8
+ sm: {
9
+ item: {
10
+ minH: string;
11
+ pt: string;
12
+ };
13
+ };
14
+ md: {
15
+ item: {
16
+ minH: string;
17
+ pt: string;
18
+ };
19
+ };
20
+ lg: {
21
+ item: {
22
+ minH: string;
23
+ pt: string;
24
+ };
25
+ };
26
+ };
6
27
  variants: {};
7
28
  };
8
29
  Avatar: {
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,wBAqCC"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,wBAqCC"}
@@ -197,8 +197,29 @@ declare const defaultTheme: {
197
197
  components: {
198
198
  Accordion: {
199
199
  baseStyle: {};
200
- defaultProps: {};
201
- sizes: {};
200
+ defaultProps: {
201
+ size: string;
202
+ };
203
+ sizes: {
204
+ sm: {
205
+ item: {
206
+ minH: string;
207
+ pt: string;
208
+ };
209
+ };
210
+ md: {
211
+ item: {
212
+ minH: string;
213
+ pt: string;
214
+ };
215
+ };
216
+ lg: {
217
+ item: {
218
+ minH: string;
219
+ pt: string;
220
+ };
221
+ };
222
+ };
202
223
  variants: {};
203
224
  };
204
225
  Avatar: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGtE,eAAO,MAAM,aAAa,+HAIzB,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,uDAepB,CAAA;AAEF,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAItE,eAAO,MAAM,aAAa,+HAIzB,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,uDAmBpB,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -1,8 +1,9 @@
1
- import React from 'react';
2
- import { omitThemingProps, styled, useStyleConfig, vui } from '../core';
1
+ import React, { useMemo } from 'react';
2
+ import { styled, useStyleConfig, vui } from '../core';
3
3
  import List from '../list';
4
4
  import { cs, filterUndefined } from '../utils';
5
5
  import AccordionItem from './accordionItem';
6
+ import { AccordionProvider } from './context';
6
7
  export const AccordionBase = styled.divBox `
7
8
  display: flex;
8
9
  min-width: 0;
@@ -10,12 +11,14 @@ export const AccordionBase = styled.divBox `
10
11
  `;
11
12
  /** [BETA] Allows to show and hide sections of related content on a page. */
12
13
  export const Accordion = vui((props, ref) => {
13
- const { className, children, items, ...rest } = omitThemingProps(props);
14
+ const { children, className, items, size, ...rest } = props;
14
15
  const styles = useStyleConfig('Accordion', props);
16
+ const context = useMemo(() => filterUndefined({ size }), [size]);
15
17
  const aliasedProps = filterUndefined({});
16
- return (React.createElement(AccordionBase, { className: cs('vui-accordion', className), ref: ref, ...styles, ...aliasedProps, ...rest },
17
- React.createElement(List, { w: "100%" }, items
18
- ? items?.map?.((item, key) => React.createElement(AccordionItem, { key: key, ...item }))
19
- : children)));
18
+ return (React.createElement(AccordionProvider, { value: context },
19
+ React.createElement(AccordionBase, { className: cs('vui-accordion', className), ref: ref, ...styles, ...aliasedProps, ...rest },
20
+ React.createElement(List, { w: "100%" }, items
21
+ ? items?.map?.((item, key) => React.createElement(AccordionItem, { key: key, ...item }))
22
+ : children))));
20
23
  });
21
24
  export default Accordion;
@@ -1 +1 @@
1
- {"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGtD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBA8CtD,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBA2CtD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1,13 +1,15 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { Box } from '../box';
3
- import { omitThemingProps } from '../core';
3
+ import { omitThemingProps, useStyleConfig } from '../core';
4
4
  import { ListItem } from '../list';
5
5
  import { cs } from '../utils';
6
6
  import AccordionItemArrow from './accordionItemArrow';
7
+ import { useAccordionContext } from './context';
7
8
  /** An accordion item. */
8
9
  export const AccordionItem = (props) => {
9
10
  const { className, children, id, content, disabled, title, collapsed, onToggle, ...rest } = omitThemingProps(props);
10
11
  const [collapsedInternal, setIsCollapsedInternal] = useState(false);
12
+ const styles = useStyleConfig('Accordion', useAccordionContext());
11
13
  useEffect(() => {
12
14
  setIsCollapsedInternal(!!collapsed);
13
15
  }, [collapsed]);
@@ -17,8 +19,8 @@ export const AccordionItem = (props) => {
17
19
  setIsCollapsedInternal(!collapsedInternal);
18
20
  }
19
21
  };
20
- return (React.createElement(ListItem, { borderBottom: "1px solid grey.40", className: cs('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", hoverBg: "blue.10", id: `${id}`, w: "100%", ...rest },
21
- React.createElement(Box, { cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: "space-between", onClick: toggle, py: 2, w: "100%" },
22
+ return (React.createElement(ListItem, { borderBottom: "1px solid grey.40", className: cs('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", hoverBg: "blue.10", id: `${id}`, w: "100%", ...styles.item, ...rest },
23
+ React.createElement(Box, { cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: "space-between", onClick: toggle, w: "100%" },
22
24
  React.createElement(Box, { fontWeight: typeof title === 'string' ? '500' : 'inherit' }, title),
23
25
  React.createElement(Box, null,
24
26
  React.createElement(AccordionItemArrow, { collapsed: collapsedInternal }))),
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { Dict } from '../utils';
3
+ declare const AccordionProvider: import("react").Provider<Dict<any>>, useAccordionContext: () => Dict<any>;
4
+ export { AccordionProvider, useAccordionContext };
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/accordion/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,IAAI,EAAE,MAAM,UAAU,CAAA;AAE9C,QAAA,MAAO,iBAAiB,uCAAE,mBAAmB,iBAA6C,CAAA;AAE1F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { createContext } from '../utils';
2
+ const [AccordionProvider, useAccordionContext] = createContext({ isOptional: true });
3
+ export { AccordionProvider, useAccordionContext };
@@ -1,7 +1,28 @@
1
1
  declare const _default: {
2
2
  baseStyle: {};
3
- defaultProps: {};
4
- sizes: {};
3
+ defaultProps: {
4
+ size: string;
5
+ };
6
+ sizes: {
7
+ sm: {
8
+ item: {
9
+ minH: string;
10
+ pt: string;
11
+ };
12
+ };
13
+ md: {
14
+ item: {
15
+ minH: string;
16
+ pt: string;
17
+ };
18
+ };
19
+ lg: {
20
+ item: {
21
+ minH: string;
22
+ pt: string;
23
+ };
24
+ };
25
+ };
5
26
  variants: {};
6
27
  };
7
28
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/accordion/theme.ts"],"names":[],"mappings":";;;;;;AAQA,wBAKC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/accordion/theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,wBAKC"}
@@ -1,6 +1,27 @@
1
1
  const baseStyle = {};
2
- const defaultProps = {};
3
- const sizes = {};
2
+ const defaultProps = {
3
+ size: 'md'
4
+ };
5
+ const sizes = {
6
+ sm: {
7
+ item: {
8
+ minH: '32px',
9
+ pt: '8px'
10
+ }
11
+ },
12
+ md: {
13
+ item: {
14
+ minH: '40px',
15
+ pt: '12px'
16
+ }
17
+ },
18
+ lg: {
19
+ item: {
20
+ minH: '48px',
21
+ pt: '14px'
22
+ }
23
+ }
24
+ };
4
25
  const variants = {};
5
26
  export default {
6
27
  baseStyle,
@@ -1,8 +1,29 @@
1
1
  declare const _default: {
2
2
  Accordion: {
3
3
  baseStyle: {};
4
- defaultProps: {};
5
- sizes: {};
4
+ defaultProps: {
5
+ size: string;
6
+ };
7
+ sizes: {
8
+ sm: {
9
+ item: {
10
+ minH: string;
11
+ pt: string;
12
+ };
13
+ };
14
+ md: {
15
+ item: {
16
+ minH: string;
17
+ pt: string;
18
+ };
19
+ };
20
+ lg: {
21
+ item: {
22
+ minH: string;
23
+ pt: string;
24
+ };
25
+ };
26
+ };
6
27
  variants: {};
7
28
  };
8
29
  Avatar: {
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,wBAqCC"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,wBAqCC"}
@@ -197,8 +197,29 @@ declare const defaultTheme: {
197
197
  components: {
198
198
  Accordion: {
199
199
  baseStyle: {};
200
- defaultProps: {};
201
- sizes: {};
200
+ defaultProps: {
201
+ size: string;
202
+ };
203
+ sizes: {
204
+ sm: {
205
+ item: {
206
+ minH: string;
207
+ pt: string;
208
+ };
209
+ };
210
+ md: {
211
+ item: {
212
+ minH: string;
213
+ pt: string;
214
+ };
215
+ };
216
+ lg: {
217
+ item: {
218
+ minH: string;
219
+ pt: string;
220
+ };
221
+ };
222
+ };
202
223
  variants: {};
203
224
  };
204
225
  Avatar: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veracity/vui",
3
- "version": "1.5.0-rc.0",
3
+ "version": "1.5.0",
4
4
  "description": "Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.",
5
5
  "module": "./dist/esm/index.js",
6
6
  "main": "./dist/cjs/index.js",
@@ -1,10 +1,11 @@
1
- import React from 'react'
1
+ import React, { useMemo } from 'react'
2
2
 
3
- import { omitThemingProps, styled, useStyleConfig, vui } from '../core'
3
+ import { styled, useStyleConfig, vui } from '../core'
4
4
  import List from '../list'
5
5
  import { cs, filterUndefined } from '../utils'
6
6
  import { AccordionItemProps, AccordionProps } from './accordion.types'
7
7
  import AccordionItem from './accordionItem'
8
+ import { AccordionProvider } from './context'
8
9
 
9
10
  export const AccordionBase = styled.divBox`
10
11
  display: flex;
@@ -14,19 +15,23 @@ export const AccordionBase = styled.divBox`
14
15
 
15
16
  /** [BETA] Allows to show and hide sections of related content on a page. */
16
17
  export const Accordion = vui<'div', AccordionProps>((props, ref) => {
17
- const { className, children, items, ...rest } = omitThemingProps(props)
18
+ const { children, className, items, size, ...rest } = props
18
19
  const styles = useStyleConfig('Accordion', props)
19
20
 
21
+ const context = useMemo(() => filterUndefined({ size }), [size])
22
+
20
23
  const aliasedProps = filterUndefined<AccordionProps>({})
21
24
 
22
25
  return (
23
- <AccordionBase className={cs('vui-accordion', className)} ref={ref} {...styles} {...aliasedProps} {...rest}>
24
- <List w="100%">
25
- {items
26
- ? items?.map?.((item: AccordionItemProps, key: number) => <AccordionItem key={key} {...item} />)
27
- : children}
28
- </List>
29
- </AccordionBase>
26
+ <AccordionProvider value={context}>
27
+ <AccordionBase className={cs('vui-accordion', className)} ref={ref} {...styles} {...aliasedProps} {...rest}>
28
+ <List w="100%">
29
+ {items
30
+ ? items?.map?.((item: AccordionItemProps, key: number) => <AccordionItem key={key} {...item} />)
31
+ : children}
32
+ </List>
33
+ </AccordionBase>
34
+ </AccordionProvider>
30
35
  )
31
36
  })
32
37
 
@@ -1,17 +1,20 @@
1
1
  import React, { useEffect, useState } from 'react'
2
2
 
3
3
  import { Box } from '../box'
4
- import { omitThemingProps } from '../core'
4
+ import { omitThemingProps, useStyleConfig } from '../core'
5
5
  import { ListItem } from '../list'
6
6
  import { cs } from '../utils'
7
7
  import { AccordionItemProps } from './accordion.types'
8
8
  import AccordionItemArrow from './accordionItemArrow'
9
+ import { useAccordionContext } from './context'
9
10
 
10
11
  /** An accordion item. */
11
12
  export const AccordionItem = (props: AccordionItemProps) => {
12
13
  const { className, children, id, content, disabled, title, collapsed, onToggle, ...rest } = omitThemingProps(props)
13
14
  const [collapsedInternal, setIsCollapsedInternal] = useState<boolean>(false)
14
15
 
16
+ const styles = useStyleConfig('Accordion', useAccordionContext())
17
+
15
18
  useEffect(() => {
16
19
  setIsCollapsedInternal(!!collapsed)
17
20
  }, [collapsed])
@@ -33,15 +36,10 @@ export const AccordionItem = (props: AccordionItemProps) => {
33
36
  hoverBg="blue.10"
34
37
  id={`${id}`}
35
38
  w="100%"
39
+ {...styles.item}
36
40
  {...rest}
37
41
  >
38
- <Box
39
- cursor={disabled ? 'not-allowed' : 'pointer'}
40
- justifyContent="space-between"
41
- onClick={toggle}
42
- py={2}
43
- w="100%"
44
- >
42
+ <Box cursor={disabled ? 'not-allowed' : 'pointer'} justifyContent="space-between" onClick={toggle} w="100%">
45
43
  <Box fontWeight={typeof title === 'string' ? '500' : 'inherit'}>{title}</Box>
46
44
  <Box>
47
45
  <AccordionItemArrow collapsed={collapsedInternal} />
@@ -0,0 +1,5 @@
1
+ import { createContext, Dict } from '../utils'
2
+
3
+ const [AccordionProvider, useAccordionContext] = createContext<Dict>({ isOptional: true })
4
+
5
+ export { AccordionProvider, useAccordionContext }
@@ -1,8 +1,29 @@
1
1
  const baseStyle = {}
2
2
 
3
- const defaultProps = {}
3
+ const defaultProps = {
4
+ size: 'md'
5
+ }
4
6
 
5
- const sizes = {}
7
+ const sizes = {
8
+ sm: {
9
+ item: {
10
+ minH: '32px',
11
+ pt: '8px'
12
+ }
13
+ },
14
+ md: {
15
+ item: {
16
+ minH: '40px',
17
+ pt: '12px'
18
+ }
19
+ },
20
+ lg: {
21
+ item: {
22
+ minH: '48px',
23
+ pt: '14px'
24
+ }
25
+ }
26
+ }
6
27
 
7
28
  const variants = {}
8
29