@veracity/vui 2.18.2-beta.0 → 2.18.2-beta.1

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,3 +1,4 @@
1
+ import { ReactNode } from 'react';
1
2
  import { IconProps } from '../icon';
2
3
  import { SystemProps } from '../system';
3
4
  import { ThemingProps } from '../theme';
@@ -37,7 +38,11 @@ export type ThProps = SystemProps & Partial<TableColumn> & {
37
38
  export type TheadProps = SystemProps & {};
38
39
  export type TrProps = SystemProps & {
39
40
  /** Adds selected styling. */
41
+ isExpanded?: boolean;
40
42
  isSelected?: boolean;
43
+ nested?: ReactNode;
44
+ onCollapsed?: () => void;
45
+ onExpanded?: () => void;
41
46
  };
42
47
  export type TableSortIconProps = Omit<IconProps, 'order'> & {
43
48
  /** Sort order which controls the icon. */
@@ -1 +1 @@
1
- {"version":3,"file":"table.types.d.ts","sourceRoot":"","sources":["../../../src/table/table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,WAAW,GAAG;IAClD,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAA;IACR,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC,GACpH,kBAAkB,CAAA;AAEpB,MAAM,MAAM,UAAU,GAAG,WAAW,GAClC,aAAa,GACb,YAAY,CAAC,OAAO,CAAC,GAAG;IACtB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAAA;IAChD,0DAA0D;IAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAA;AAEjC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,GAC/B,OAAO,CAAC,WAAW,CAAC,GAAG;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,EAAE,CAAA;AAEzC,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAC1D,0CAA0C;IAC1C,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;CACtB,CAAA"}
1
+ {"version":3,"file":"table.types.d.ts","sourceRoot":"","sources":["../../../src/table/table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,WAAW,GAAG;IAClD,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAA;IACR,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC,GACpH,kBAAkB,CAAA;AAEpB,MAAM,MAAM,UAAU,GAAG,WAAW,GAClC,aAAa,GACb,YAAY,CAAC,OAAO,CAAC,GAAG;IACtB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAAA;IAChD,0DAA0D;IAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAA;AAEjC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,GAC/B,OAAO,CAAC,WAAW,CAAC,GAAG;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,EAAE,CAAA;AAEzC,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAC1D,0CAA0C;IAC1C,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;CACtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,MAAM,8HAElB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,EAAE,+CAkBb,CAAA;AAGF,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAMvC,eAAO,MAAM,MAAM,8HAGlB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,EAAE,+CA+Cb,CAAA;AAGF,eAAe,EAAE,CAAA"}
@@ -10,23 +10,47 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  }
11
11
  return t;
12
12
  };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
13
16
  Object.defineProperty(exports, "__esModule", { value: true });
14
17
  exports.Tr = exports.TrBase = void 0;
15
18
  const jsx_runtime_1 = require("react/jsx-runtime");
19
+ const react_1 = require("react");
20
+ const button_1 = __importDefault(require("../button"));
16
21
  const core_1 = require("../core");
17
22
  const utils_1 = require("../utils");
18
23
  const context_1 = require("./context");
24
+ const td_1 = __importDefault(require("./td"));
25
+ const trClassName = 'vui-tr';
26
+ const buttonClassName = (isExpanded) => (isExpanded ? 'falAngleUp' : 'falAngleDown');
19
27
  exports.TrBase = core_1.styled.trBox `
28
+ position: relative;
20
29
  transition-duration: fast;
21
30
  `;
22
31
  /** Displays Table row that can contain heading or data cells. */
23
32
  exports.Tr = (0, core_1.vui)((props, ref) => {
24
33
  var _a;
25
- const { className, isSelected } = props, rest = __rest(props, ["className", "isSelected"]);
34
+ const { className, isExpanded: isExpandedProp, isSelected, nested, onCollapsed, onExpanded } = props, rest = __rest(props, ["className", "isExpanded", "isSelected", "nested", "onCollapsed", "onExpanded"]);
26
35
  const { variant } = (_a = (0, context_1.useTableContext)()) !== null && _a !== void 0 ? _a : {};
27
36
  const styles = (0, core_1.useStyleConfig)('Table', (0, context_1.useTableContext)());
37
+ const [isExpanded, setIsExpanded] = (0, react_1.useState)(isExpandedProp);
38
+ (0, react_1.useEffect)(() => {
39
+ setIsExpanded(isExpandedProp);
40
+ }, [isExpandedProp]);
41
+ const onToggle = () => {
42
+ if (isExpanded) {
43
+ setIsExpanded(false);
44
+ onCollapsed === null || onCollapsed === void 0 ? void 0 : onCollapsed();
45
+ }
46
+ else {
47
+ setIsExpanded(true);
48
+ onExpanded === null || onExpanded === void 0 ? void 0 : onExpanded();
49
+ }
50
+ };
28
51
  const selectedProps = isSelected ? { bg: 'skyBlue.selected' } : {};
29
- return ((0, jsx_runtime_1.jsx)(exports.TrBase, Object.assign({ className: (0, utils_1.cs)('vui-tr', className), "data-selected": Boolean(isSelected), "data-variant": variant, ref: ref }, styles.tr, selectedProps, rest)));
52
+ rest.children = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [nested !== undefined && ((0, jsx_runtime_1.jsx)(td_1.default, { textAlign: "center", w: 10, children: nested ? (0, jsx_runtime_1.jsx)(button_1.default, { icon: buttonClassName(isExpanded), onClick: onToggle, variant: "subtleBlue" }) : null })), rest.children] }));
53
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.TrBase, Object.assign({ className: (0, utils_1.cs)(trClassName, `${trClassName}-${isExpanded ? 'expanded' : 'collapsed'}`, className), "data-selected": Boolean(isSelected), "data-variant": variant, ref: ref }, styles.tr, selectedProps, rest)), isExpanded && nested] }));
30
54
  });
31
55
  exports.Tr.displayName = 'Tr';
32
56
  exports.default = exports.Tr;
@@ -1 +1 @@
1
- {"version":3,"file":"tr.js","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,kCAAqD;AACrD,oCAA6B;AAC7B,uCAA2C;AAG9B,QAAA,MAAM,GAAG,aAAM,CAAC,KAAK,CAAA;;CAEjC,CAAA;AAED,iEAAiE;AACpD,QAAA,EAAE,GAAG,IAAA,UAAG,EAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA1C,2BAAkC,CAAQ,CAAA;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAA,IAAA,yBAAe,GAAE,mCAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAA,yBAAe,GAAE,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAElE,OAAO,CACL,uBAAC,cAAM,kBACL,SAAS,EAAE,IAAA,UAAE,EAAC,QAAQ,EAAE,SAAS,CAAC,mBACnB,OAAO,CAAC,UAAU,CAAC,kBACpB,OAAO,EACrB,GAAG,EAAE,GAAG,IACJ,MAAM,CAAC,EAAE,EACT,aAAa,EACb,IAAI,EACR,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,UAAE,CAAC,WAAW,GAAG,IAAI,CAAA;AACrB,kBAAe,UAAE,CAAA"}
1
+ {"version":3,"file":"tr.js","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAA2C;AAE3C,uDAA8B;AAC9B,kCAAqD;AACrD,oCAA6B;AAC7B,uCAA2C;AAE3C,8CAAqB;AAErB,MAAM,WAAW,GAAG,QAAQ,CAAA;AAC5B,MAAM,eAAe,GAAG,CAAC,UAAoB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;AAEjF,QAAA,MAAM,GAAG,aAAM,CAAC,KAAK,CAAA;;;CAGjC,CAAA;AAED,iEAAiE;AACpD,QAAA,EAAE,GAAG,IAAA,UAAG,EAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAvG,gFAA+F,CAAQ,CAAA;IAC7G,MAAM,EAAE,OAAO,EAAE,GAAG,MAAA,IAAA,yBAAe,GAAE,mCAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,IAAA,yBAAe,GAAE,CAAC,CAAA;IACzD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,cAAc,CAAC,CAAA;IAE5D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,aAAa,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,UAAU,EAAE;YACd,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,WAAW,aAAX,WAAW,uBAAX,WAAW,EAAI,CAAA;SAChB;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,UAAU,aAAV,UAAU,uBAAV,UAAU,EAAI,CAAA;SACf;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAElE,IAAI,CAAC,QAAQ,GAAG,CACd,6DACG,MAAM,KAAK,SAAS,IAAI,CACvB,uBAAC,YAAE,IAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,EAAE,EAAE,YACzB,MAAM,CAAC,CAAC,CAAC,uBAAC,gBAAM,IAAC,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,GACnG,CACN,EACA,IAAI,CAAC,QAAQ,IACb,CACJ,CAAA;IAED,OAAO,CACL,6DACE,uBAAC,cAAM,kBACL,SAAS,EAAE,IAAA,UAAE,EAAC,WAAW,EAAE,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,mBACjF,OAAO,CAAC,UAAU,CAAC,kBACpB,OAAO,EACrB,GAAG,EAAE,GAAG,IACJ,MAAM,CAAC,EAAE,EACT,aAAa,EACb,IAAI,EACR,EACD,UAAU,IAAI,MAAM,IACpB,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,UAAE,CAAC,WAAW,GAAG,IAAI,CAAA;AACrB,kBAAe,UAAE,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { ReactNode } from 'react';
1
2
  import { IconProps } from '../icon';
2
3
  import { SystemProps } from '../system';
3
4
  import { ThemingProps } from '../theme';
@@ -37,7 +38,11 @@ export type ThProps = SystemProps & Partial<TableColumn> & {
37
38
  export type TheadProps = SystemProps & {};
38
39
  export type TrProps = SystemProps & {
39
40
  /** Adds selected styling. */
41
+ isExpanded?: boolean;
40
42
  isSelected?: boolean;
43
+ nested?: ReactNode;
44
+ onCollapsed?: () => void;
45
+ onExpanded?: () => void;
41
46
  };
42
47
  export type TableSortIconProps = Omit<IconProps, 'order'> & {
43
48
  /** Sort order which controls the icon. */
@@ -1 +1 @@
1
- {"version":3,"file":"table.types.d.ts","sourceRoot":"","sources":["../../../src/table/table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,WAAW,GAAG;IAClD,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAA;IACR,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC,GACpH,kBAAkB,CAAA;AAEpB,MAAM,MAAM,UAAU,GAAG,WAAW,GAClC,aAAa,GACb,YAAY,CAAC,OAAO,CAAC,GAAG;IACtB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAAA;IAChD,0DAA0D;IAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAA;AAEjC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,GAC/B,OAAO,CAAC,WAAW,CAAC,GAAG;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,EAAE,CAAA;AAEzC,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAC1D,0CAA0C;IAC1C,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;CACtB,CAAA"}
1
+ {"version":3,"file":"table.types.d.ts","sourceRoot":"","sources":["../../../src/table/table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,WAAW,GAAG;IAClD,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAA;IACR,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC,GACpH,kBAAkB,CAAA;AAEpB,MAAM,MAAM,UAAU,GAAG,WAAW,GAClC,aAAa,GACb,YAAY,CAAC,OAAO,CAAC,GAAG;IACtB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAAA;IAChD,0DAA0D;IAC1D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAA;AAEjC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,OAAO,GAAG,WAAW,GAC/B,OAAO,CAAC,WAAW,CAAC,GAAG;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAEH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,EAAE,CAAA;AAEzC,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAC1D,0CAA0C;IAC1C,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;CACtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,MAAM,8HAElB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,EAAE,+CAkBb,CAAA;AAGF,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAMvC,eAAO,MAAM,MAAM,8HAGlB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,EAAE,+CA+Cb,CAAA;AAGF,eAAe,EAAE,CAAA"}
@@ -1,17 +1,38 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import Button from '../button';
2
4
  import { styled, useStyleConfig, vui } from '../core';
3
5
  import { cs } from '../utils';
4
6
  import { useTableContext } from './context';
7
+ import Td from './td';
8
+ const trClassName = 'vui-tr';
9
+ const buttonClassName = (isExpanded) => (isExpanded ? 'falAngleUp' : 'falAngleDown');
5
10
  export const TrBase = styled.trBox `
11
+ position: relative;
6
12
  transition-duration: fast;
7
13
  `;
8
14
  /** Displays Table row that can contain heading or data cells. */
9
15
  export const Tr = vui((props, ref) => {
10
- const { className, isSelected, ...rest } = props;
16
+ const { className, isExpanded: isExpandedProp, isSelected, nested, onCollapsed, onExpanded, ...rest } = props;
11
17
  const { variant } = useTableContext() ?? {};
12
18
  const styles = useStyleConfig('Table', useTableContext());
19
+ const [isExpanded, setIsExpanded] = useState(isExpandedProp);
20
+ useEffect(() => {
21
+ setIsExpanded(isExpandedProp);
22
+ }, [isExpandedProp]);
23
+ const onToggle = () => {
24
+ if (isExpanded) {
25
+ setIsExpanded(false);
26
+ onCollapsed?.();
27
+ }
28
+ else {
29
+ setIsExpanded(true);
30
+ onExpanded?.();
31
+ }
32
+ };
13
33
  const selectedProps = isSelected ? { bg: 'skyBlue.selected' } : {};
14
- return (_jsx(TrBase, { className: cs('vui-tr', className), "data-selected": Boolean(isSelected), "data-variant": variant, ref: ref, ...styles.tr, ...selectedProps, ...rest }));
34
+ rest.children = (_jsxs(_Fragment, { children: [nested !== undefined && (_jsx(Td, { textAlign: "center", w: 10, children: nested ? _jsx(Button, { icon: buttonClassName(isExpanded), onClick: onToggle, variant: "subtleBlue" }) : null })), rest.children] }));
35
+ return (_jsxs(_Fragment, { children: [_jsx(TrBase, { className: cs(trClassName, `${trClassName}-${isExpanded ? 'expanded' : 'collapsed'}`, className), "data-selected": Boolean(isSelected), "data-variant": variant, ref: ref, ...styles.tr, ...selectedProps, ...rest }), isExpanded && nested] }));
15
36
  });
16
37
  Tr.displayName = 'Tr';
17
38
  export default Tr;
@@ -1 +1 @@
1
- {"version":3,"file":"tr.js","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAA;;CAEjC,CAAA;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAElE,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,mBACnB,OAAO,CAAC,UAAU,CAAC,kBACpB,OAAO,EACrB,GAAG,EAAE,GAAG,KACJ,MAAM,CAAC,EAAE,KACT,aAAa,KACb,IAAI,GACR,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,WAAW,GAAG,IAAI,CAAA;AACrB,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"tr.js","sourceRoot":"","sources":["../../../src/table/tr.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,EAAE,MAAM,MAAM,CAAA;AAErB,MAAM,WAAW,GAAG,QAAQ,CAAA;AAC5B,MAAM,eAAe,GAAG,CAAC,UAAoB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;AAE9F,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAA;;;CAGjC,CAAA;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC7G,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;IACzD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,UAAU,EAAE;YACd,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,WAAW,EAAE,EAAE,CAAA;SAChB;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,CAAA;YACnB,UAAU,EAAE,EAAE,CAAA;SACf;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAElE,IAAI,CAAC,QAAQ,GAAG,CACd,8BACG,MAAM,KAAK,SAAS,IAAI,CACvB,KAAC,EAAE,IAAC,SAAS,EAAC,QAAQ,EAAC,CAAC,EAAE,EAAE,YACzB,MAAM,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,GACnG,CACN,EACA,IAAI,CAAC,QAAQ,IACb,CACJ,CAAA;IAED,OAAO,CACL,8BACE,KAAC,MAAM,IACL,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,mBACjF,OAAO,CAAC,UAAU,CAAC,kBACpB,OAAO,EACrB,GAAG,EAAE,GAAG,KACJ,MAAM,CAAC,EAAE,KACT,aAAa,KACb,IAAI,GACR,EACD,UAAU,IAAI,MAAM,IACpB,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,WAAW,GAAG,IAAI,CAAA;AACrB,eAAe,EAAE,CAAA"}