@elliemae/ds-menu-tree-item 3.27.0-next.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/dist/cjs/DSMenuTreeItem.js +134 -0
  2. package/dist/cjs/DSMenuTreeItem.js.map +7 -0
  3. package/dist/cjs/config/useMenuTreeItem.js +60 -0
  4. package/dist/cjs/config/useMenuTreeItem.js.map +7 -0
  5. package/dist/cjs/config/useValidateProps.js +40 -0
  6. package/dist/cjs/config/useValidateProps.js.map +7 -0
  7. package/dist/cjs/constants/index.js +48 -0
  8. package/dist/cjs/constants/index.js.map +7 -0
  9. package/dist/cjs/index.js +41 -0
  10. package/dist/cjs/index.js.map +7 -0
  11. package/dist/cjs/package.json +7 -0
  12. package/dist/cjs/react-desc-prop-types.js +60 -0
  13. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  14. package/dist/cjs/styled.js +57 -0
  15. package/dist/cjs/styled.js.map +7 -0
  16. package/dist/esm/DSMenuTreeItem.js +104 -0
  17. package/dist/esm/DSMenuTreeItem.js.map +7 -0
  18. package/dist/esm/config/useMenuTreeItem.js +30 -0
  19. package/dist/esm/config/useMenuTreeItem.js.map +7 -0
  20. package/dist/esm/config/useValidateProps.js +10 -0
  21. package/dist/esm/config/useValidateProps.js.map +7 -0
  22. package/dist/esm/constants/index.js +18 -0
  23. package/dist/esm/constants/index.js.map +7 -0
  24. package/dist/esm/index.js +17 -0
  25. package/dist/esm/index.js.map +7 -0
  26. package/dist/esm/package.json +7 -0
  27. package/dist/esm/react-desc-prop-types.js +30 -0
  28. package/dist/esm/react-desc-prop-types.js.map +7 -0
  29. package/dist/esm/styled.js +27 -0
  30. package/dist/esm/styled.js.map +7 -0
  31. package/dist/types/DSMenuTreeItem.d.ts +5 -0
  32. package/dist/types/config/useMenuTreeItem.d.ts +12 -0
  33. package/dist/types/config/useValidateProps.d.ts +3 -0
  34. package/dist/types/constants/index.d.ts +9 -0
  35. package/dist/types/index.d.ts +3 -0
  36. package/dist/types/react-desc-prop-types.d.ts +40 -0
  37. package/dist/types/styled.d.ts +3 -0
  38. package/dist/types/tests/DSMenuTreeItem.test.d.ts +1 -0
  39. package/package.json +79 -0
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var DSMenuTreeItem_exports = {};
30
+ __export(DSMenuTreeItem_exports, {
31
+ DSMenuTreeItem: () => DSMenuTreeItem,
32
+ DSMenuTreeItemWithSchema: () => DSMenuTreeItemWithSchema
33
+ });
34
+ module.exports = __toCommonJS(DSMenuTreeItem_exports);
35
+ var React = __toESM(require("react"));
36
+ var import_jsx_runtime = require("react/jsx-runtime");
37
+ var import_react = __toESM(require("react"));
38
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
39
+ var import_ds_form_checkbox = require("@elliemae/ds-form-checkbox");
40
+ var import_ds_form_radio = require("@elliemae/ds-form-radio");
41
+ var import_ds_grid = __toESM(require("@elliemae/ds-grid"));
42
+ var import_ds_icons = require("@elliemae/ds-icons");
43
+ var import_ds_separator = require("@elliemae/ds-separator");
44
+ var import_ds_typography = require("@elliemae/ds-typography");
45
+ var import_react_desc_prop_types = require("./react-desc-prop-types.js");
46
+ var import_useMenuTreeItem = require("./config/useMenuTreeItem.js");
47
+ var import_constants = require("./constants/index.js");
48
+ var import_styled = require("./styled.js");
49
+ const mainContentCols = ["1fr"];
50
+ const DSMenuTreeItem = (props) => {
51
+ const { propsWithDefault, xstyledProps } = (0, import_useMenuTreeItem.useMenuTreeItem)(props);
52
+ const { onCollapse, item, onSelect = () => {
53
+ }, isSelected, multiple } = propsWithDefault;
54
+ const cols = (0, import_react.useMemo)(() => {
55
+ if (isSelected !== void 0) {
56
+ return ["auto", "auto", "auto", "1fr"];
57
+ }
58
+ return ["auto", "auto", "1fr"];
59
+ }, [isSelected]);
60
+ const subItemsLength = (0, import_react.useMemo)(() => {
61
+ if (item.subitems && item.subitems?.length > 0) {
62
+ return item.subitems.length;
63
+ }
64
+ return 0;
65
+ }, [item.subitems]);
66
+ const expandableButton = (0, import_react.useMemo)(() => {
67
+ if (subItemsLength > 0) {
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.default, { cols: ["auto", "auto"], alignItems: "center", children: [
69
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
70
+ import_styled.StyledButton,
71
+ {
72
+ "aria-label": "Expand",
73
+ buttonType: "icon",
74
+ size: "s",
75
+ onClick: () => {
76
+ onCollapse(item.dsId);
77
+ },
78
+ children: item.collapsed === false ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ArrowheadDown, { size: "s", color: ["brand-primary", "800"] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ArrowheadRight, { size: "s", color: ["brand-primary", "800"] })
79
+ }
80
+ ),
81
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.Folder, { color: ["brand-primary", "700"] })
82
+ ] });
83
+ }
84
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.default, { alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.FilePdf, { color: ["brand-primary", "700"] }) });
85
+ }, [item.collapsed, item.dsId, onCollapse, subItemsLength]);
86
+ const SelectComponent = import_react.default.useMemo(() => {
87
+ if (multiple) {
88
+ return import_ds_form_checkbox.DSControlledCheckbox;
89
+ }
90
+ return import_ds_form_radio.DSControlledRadio;
91
+ }, [multiple]);
92
+ const handleOnSelect = (0, import_react.useCallback)(() => {
93
+ onSelect(item.dsId);
94
+ }, [item.dsId, onSelect]);
95
+ const [, setIsFocused] = import_react.default.useState(false);
96
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
97
+ import_styled.MenuItemWrapper,
98
+ {
99
+ cols: mainContentCols,
100
+ getOwnerProps: () => propsWithDefault,
101
+ getOwnerPropsArguments: () => ({}),
102
+ ...xstyledProps,
103
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.default, { cols, marginLeft: item.depth * 24, gutter: "xxs2", alignItems: "center", children: [
104
+ isSelected !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
+ SelectComponent,
106
+ {
107
+ onFocus: () => setIsFocused(true),
108
+ onBlur: () => setIsFocused(false),
109
+ checked: isSelected,
110
+ onChange: handleOnSelect,
111
+ "aria-label": "Select",
112
+ value: String(item.dsId)
113
+ }
114
+ ),
115
+ expandableButton,
116
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.default, { alignItems: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_typography.DSTypography, { variant: "b1", id: `${item.dsId}-text`, children: [
117
+ "Test ",
118
+ item.dsId
119
+ ] }) }),
120
+ subItemsLength > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.default, { cols: ["min-content", "auto"], gutter: "xxs", children: [
121
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.default, { alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_separator.DSSeparatorV2, { isVertical: true, height: "80%" }) }),
122
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.default, { alignItems: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_typography.DSTypography, { variant: "b1", color: "neutral-500", children: [
123
+ subItemsLength,
124
+ " Items"
125
+ ] }) })
126
+ ] })
127
+ ] })
128
+ }
129
+ );
130
+ };
131
+ DSMenuTreeItem.displayName = import_constants.DSMenuTreeItemName;
132
+ const DSMenuTreeItemWithSchema = (0, import_ds_props_helpers.describe)(DSMenuTreeItem);
133
+ DSMenuTreeItemWithSchema.propTypes = import_react_desc_prop_types.DSMenuTreeItemPropTypesSchema;
134
+ //# sourceMappingURL=DSMenuTreeItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DSMenuTreeItem.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport React, { useCallback, useMemo } from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { DSControlledCheckbox } from '@elliemae/ds-form-checkbox';\nimport { DSControlledRadio } from '@elliemae/ds-form-radio';\nimport Grid from '@elliemae/ds-grid';\nimport { ArrowheadDown, ArrowheadRight, Folder, FilePdf } from '@elliemae/ds-icons';\nimport { DSSeparatorV2 } from '@elliemae/ds-separator';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { type DSMenuTreeItemT, DSMenuTreeItemPropTypesSchema } from './react-desc-prop-types.js';\nimport { useMenuTreeItem } from './config/useMenuTreeItem.js';\nimport { DSMenuTreeItemName } from './constants/index.js';\nimport { MenuItemWrapper, StyledButton } from './styled.js';\n\nconst mainContentCols = ['1fr'];\n\nconst DSMenuTreeItem: React.ComponentType<DSMenuTreeItemT.Props> = (props) => {\n const { propsWithDefault, xstyledProps } = useMenuTreeItem(props);\n\n const { onCollapse, item, onSelect = () => {}, isSelected, multiple } = propsWithDefault;\n const cols = useMemo(() => {\n if (isSelected !== undefined) {\n return ['auto', 'auto', 'auto', '1fr'];\n }\n return ['auto', 'auto', '1fr'];\n }, [isSelected]);\n\n const subItemsLength = useMemo(() => {\n if (item.subitems && item.subitems?.length > 0) {\n return item.subitems.length;\n }\n return 0;\n }, [item.subitems]);\n const expandableButton = useMemo(() => {\n if (subItemsLength > 0) {\n return (\n <Grid cols={['auto', 'auto']} alignItems=\"center\">\n <StyledButton\n aria-label=\"Expand\"\n buttonType=\"icon\"\n size=\"s\"\n onClick={() => {\n onCollapse(item.dsId);\n }}\n >\n {item.collapsed === false ? (\n <ArrowheadDown size=\"s\" color={['brand-primary', '800']} />\n ) : (\n <ArrowheadRight size=\"s\" color={['brand-primary', '800']} />\n )}\n </StyledButton>\n <Folder color={['brand-primary', '700']} />\n </Grid>\n );\n }\n return (\n <Grid alignItems=\"center\">\n <FilePdf color={['brand-primary', '700']} />\n </Grid>\n );\n }, [item.collapsed, item.dsId, onCollapse, subItemsLength]);\n\n const SelectComponent = React.useMemo(() => {\n if (multiple) {\n return DSControlledCheckbox;\n }\n return DSControlledRadio;\n }, [multiple]);\n\n const handleOnSelect = useCallback(() => {\n onSelect(item.dsId);\n }, [item.dsId, onSelect]);\n\n const [, setIsFocused] = React.useState(false);\n\n return (\n <MenuItemWrapper\n cols={mainContentCols}\n getOwnerProps={() => propsWithDefault}\n getOwnerPropsArguments={() => ({})}\n {...xstyledProps}\n >\n <Grid cols={cols} marginLeft={item.depth * 24} gutter=\"xxs2\" alignItems=\"center\">\n {isSelected !== undefined && (\n <SelectComponent\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n checked={isSelected}\n onChange={handleOnSelect}\n aria-label=\"Select\"\n value={String(item.dsId)}\n />\n )}\n {expandableButton}\n <Grid alignItems=\"flex-end\">\n <DSTypography variant=\"b1\" id={`${item.dsId}-text`}>\n Test {item.dsId}\n </DSTypography>\n </Grid>\n {subItemsLength > 0 && (\n <Grid cols={['min-content', 'auto']} gutter=\"xxs\">\n <Grid alignItems=\"center\">\n <DSSeparatorV2 isVertical height=\"80%\" />\n </Grid>\n <Grid alignItems=\"flex-end\">\n <DSTypography variant=\"b1\" color=\"neutral-500\">\n {subItemsLength} Items\n </DSTypography>\n </Grid>\n </Grid>\n )}\n </Grid>\n </MenuItemWrapper>\n );\n};\n\nDSMenuTreeItem.displayName = DSMenuTreeItemName;\nconst DSMenuTreeItemWithSchema = describe(DSMenuTreeItem);\nDSMenuTreeItemWithSchema.propTypes = DSMenuTreeItemPropTypesSchema;\n\nexport { DSMenuTreeItem, DSMenuTreeItemWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": ["Grid", "React"]
7
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useMenuTreeItem_exports = {};
30
+ __export(useMenuTreeItem_exports, {
31
+ useMenuTreeItem: () => useMenuTreeItem
32
+ });
33
+ module.exports = __toCommonJS(useMenuTreeItem_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = __toESM(require("react"));
36
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
37
+ var import_uid = require("uid");
38
+ var import_react_desc_prop_types = require("../react-desc-prop-types.js");
39
+ var import_useValidateProps = require("./useValidateProps.js");
40
+ const useMenuTreeItem = (propsFromUser) => {
41
+ const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(propsFromUser, import_react_desc_prop_types.defaultProps);
42
+ (0, import_useValidateProps.useValidateProps)(propsWithDefault, import_react_desc_prop_types.DSMenuTreeItemPropTypes);
43
+ const xstyledProps = (0, import_ds_props_helpers.useGetXstyledProps)(propsWithDefault);
44
+ const instanceUid = import_react.default.useMemo(() => (0, import_uid.uid)(5), []);
45
+ return import_react.default.useMemo(
46
+ () => ({
47
+ propsWithDefault,
48
+ xstyledProps,
49
+ instanceUid
50
+ // ...eventHandlers,
51
+ }),
52
+ [
53
+ propsWithDefault,
54
+ xstyledProps,
55
+ instanceUid
56
+ // eventHandlers,
57
+ ]
58
+ );
59
+ };
60
+ //# sourceMappingURL=useMenuTreeItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/config/useMenuTreeItem.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { useGetXstyledProps, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { uid } from 'uid';\nimport { type DSMenuTreeItemT, DSMenuTreeItemPropTypes, defaultProps } from '../react-desc-prop-types.js';\nimport { useValidateProps } from './useValidateProps.js';\n\nexport interface MenuTreeItemCTX {\n propsWithDefault: DSMenuTreeItemT.InternalProps;\n xstyledProps: ReturnType<typeof useGetXstyledProps>;\n instanceUid: string;\n}\n\nexport const useMenuTreeItem = (propsFromUser: DSMenuTreeItemT.Props) => {\n // =============================================================================\n // MERGE WITH DEFAULT AND VALIDATE PROPS\n // =============================================================================\n const propsWithDefault = useMemoMergePropsWithDefault<DSMenuTreeItemT.InternalProps>(propsFromUser, defaultProps);\n useValidateProps(propsWithDefault, DSMenuTreeItemPropTypes);\n // =============================================================================\n // XSTYLED PROPS\n // =============================================================================\n const xstyledProps = useGetXstyledProps(propsWithDefault);\n // =============================================================================\n // AD HOC PER COMPONENT LOGIC\n // =============================================================================\n // custom code goes here, this is an example\n const instanceUid = React.useMemo(() => uid(5), []);\n // =============================================================================\n // HELPERS HOOKS CONFIGS\n // =============================================================================\n // const eventHandlers = useEventHandlers({ propsWithDefault, instanceUid }); // <-- complex logic should be made atomics this way\n\n return React.useMemo(\n () => ({\n propsWithDefault,\n xstyledProps,\n instanceUid,\n // ...eventHandlers,\n }),\n [\n propsWithDefault,\n xstyledProps,\n instanceUid,\n // eventHandlers,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,8BAAiE;AACjE,iBAAoB;AACpB,mCAA4E;AAC5E,8BAAiC;AAQ1B,MAAM,kBAAkB,CAAC,kBAAyC;AAIvE,QAAM,uBAAmB,sDAA4D,eAAe,yCAAY;AAChH,gDAAiB,kBAAkB,oDAAuB;AAI1D,QAAM,mBAAe,4CAAmB,gBAAgB;AAKxD,QAAM,cAAc,aAAAA,QAAM,QAAQ,UAAM,gBAAI,CAAC,GAAG,CAAC,CAAC;AAMlD,SAAO,aAAAA,QAAM;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA,EACF;AACF;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useValidateProps_exports = {};
30
+ __export(useValidateProps_exports, {
31
+ useValidateProps: () => useValidateProps
32
+ });
33
+ module.exports = __toCommonJS(useValidateProps_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
36
+ var import_constants = require("../constants");
37
+ const useValidateProps = (props, propTypes) => {
38
+ (0, import_ds_props_helpers.useValidateTypescriptPropTypes)(props, propTypes, import_constants.DSMenuTreeItemName);
39
+ };
40
+ //# sourceMappingURL=useValidateProps.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/config/useValidateProps.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { WeakValidationMap } from 'react';\nimport { type DSMenuTreeItemT } from '../react-desc-prop-types';\nimport { DSMenuTreeItemName } from '../constants';\n\nexport const useValidateProps = (props: DSMenuTreeItemT.InternalProps, propTypes: WeakValidationMap<unknown>): void => {\n // we validate the \"required if\" via 'isRequiredIf from our custom PropTypes\n useValidateTypescriptPropTypes(props, propTypes, DSMenuTreeItemName);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,8BAA+C;AAG/C,uBAAmC;AAE5B,MAAM,mBAAmB,CAAC,OAAsC,cAAgD;AAErH,8DAA+B,OAAO,WAAW,mCAAkB;AACrE;",
6
+ "names": []
7
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var constants_exports = {};
30
+ __export(constants_exports, {
31
+ DSMenuTreeItemName: () => DSMenuTreeItemName,
32
+ EXAMPLE_CONSTANTS: () => EXAMPLE_CONSTANTS,
33
+ MENU_TREE_ITEM_DATA_TESTID: () => MENU_TREE_ITEM_DATA_TESTID,
34
+ MENU_TREE_ITEM_SLOTS: () => MENU_TREE_ITEM_SLOTS
35
+ });
36
+ module.exports = __toCommonJS(constants_exports);
37
+ var React = __toESM(require("react"));
38
+ var import_ds_system = require("@elliemae/ds-system");
39
+ const DSMenuTreeItemName = "DSMenuTreeItem";
40
+ const EXAMPLE_CONSTANTS = {
41
+ HELLO: "WORLD",
42
+ FOO: "BAR"
43
+ };
44
+ const MENU_TREE_ITEM_SLOTS = {
45
+ ROOT: "root"
46
+ };
47
+ const MENU_TREE_ITEM_DATA_TESTID = (0, import_ds_system.slotObjectToDataTestIds)(DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS);
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/index.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSMenuTreeItemName = 'DSMenuTreeItem';\n\nexport const EXAMPLE_CONSTANTS = {\n HELLO: 'WORLD',\n FOO: 'BAR',\n} as const;\n\n// we are giving \"component_name_slots\" to avoid errors on duplicate exports variables in aggregators \nexport const MENU_TREE_ITEM_SLOTS = {\n ROOT: 'root',\n} as const;\n\n// we are giving \"component_name_data_testid\" to avoid errors on duplicate exports variables in aggregators\nexport const MENU_TREE_ITEM_DATA_TESTID = slotObjectToDataTestIds(DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS)\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AAEjC,MAAM,qBAAqB;AAE3B,MAAM,oBAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,KAAK;AACP;AAGO,MAAM,uBAAuB;AAAA,EAClC,MAAM;AACR;AAGO,MAAM,iCAA6B,0CAAwB,oBAAoB,oBAAoB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var src_exports = {};
30
+ __export(src_exports, {
31
+ DSMenuTreeItem: () => import_DSMenuTreeItem.DSMenuTreeItem,
32
+ DSMenuTreeItemWithSchema: () => import_DSMenuTreeItem.DSMenuTreeItemWithSchema,
33
+ MENU_TREE_ITEM_DATA_TESTID: () => import_constants.MENU_TREE_ITEM_DATA_TESTID,
34
+ MENU_TREE_ITEM_SLOTS: () => import_constants.MENU_TREE_ITEM_SLOTS
35
+ });
36
+ module.exports = __toCommonJS(src_exports);
37
+ var React = __toESM(require("react"));
38
+ var import_DSMenuTreeItem = require("./DSMenuTreeItem");
39
+ var import_react_desc_prop_types = require("./react-desc-prop-types");
40
+ var import_constants = require("./constants");
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["// this is a workaround to typescript error TS2742\n// https://github.com/microsoft/TypeScript/issues/47663\nimport type {} from '@xstyled/system';\nexport { \n DSMenuTreeItem,\n DSMenuTreeItemWithSchema\n} from './DSMenuTreeItem';\nexport { type DSMenuTreeItemT } from './react-desc-prop-types';\nexport {\n MENU_TREE_ITEM_SLOTS,\n MENU_TREE_ITEM_DATA_TESTID,\n} from './constants';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,4BAGO;AACP,mCAAqC;AACrC,uBAGO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var react_desc_prop_types_exports = {};
30
+ __export(react_desc_prop_types_exports, {
31
+ DSMenuTreeItemPropTypes: () => DSMenuTreeItemPropTypes,
32
+ DSMenuTreeItemPropTypesSchema: () => DSMenuTreeItemPropTypesSchema,
33
+ defaultProps: () => defaultProps
34
+ });
35
+ module.exports = __toCommonJS(react_desc_prop_types_exports);
36
+ var React = __toESM(require("react"));
37
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
38
+ const defaultProps = {
39
+ isSelected: false,
40
+ multiple: false
41
+ };
42
+ const itemPropsSchema = import_ds_props_helpers.PropTypes.shape({
43
+ dsId: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).isRequired,
44
+ collapsed: import_ds_props_helpers.PropTypes.bool,
45
+ depth: import_ds_props_helpers.PropTypes.number,
46
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
47
+ subitems: import_ds_props_helpers.PropTypes.any
48
+ });
49
+ const DSMenuTreeItemPropTypes = {
50
+ ...import_ds_props_helpers.xstyledPropTypes,
51
+ item: itemPropsSchema.description("some example of proptypes"),
52
+ onCollapse: import_ds_props_helpers.PropTypes.func,
53
+ subitems: import_ds_props_helpers.PropTypes.object,
54
+ onSelect: import_ds_props_helpers.PropTypes.func,
55
+ isSelected: import_ds_props_helpers.PropTypes.bool,
56
+ multiple: import_ds_props_helpers.PropTypes.bool,
57
+ depth: import_ds_props_helpers.PropTypes.number
58
+ };
59
+ const DSMenuTreeItemPropTypesSchema = DSMenuTreeItemPropTypes;
60
+ //# sourceMappingURL=react-desc-prop-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/react-desc-prop-types.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { XstyledProps, DSPropTypesSchema } from '@elliemae/ds-props-helpers';\nimport { PropTypes, xstyledPropTypes } from '@elliemae/ds-props-helpers';\nimport type { DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS } from './constants/index.js';\nimport type { WeakValidationMap } from 'react';\n\nexport declare namespace DSMenuTreeItemT {\n export interface ItemT {\n dsId: string;\n collapsed?: boolean;\n depth: number;\n subitems: ItemT[] | null;\n }\n\n export interface TreeviewItemProps {\n onCollapse: (dsId: string) => void;\n item: ItemT;\n onSelect?: (dsId: string) => void;\n isSelected?: boolean;\n multiple?: boolean;\n }\n\n export interface RequiredProps {\n item: ItemT;\n dsId: string;\n depth: number;\n }\n\n export interface DefaultProps {\n isSelected?: boolean;\n multiple?: boolean;\n }\n\n export interface OptionalProps extends PropsForGlobalOnSlots<typeof DSMenuTreeItemName, typeof MENU_TREE_ITEM_SLOTS> {\n onCollapse: (dsId: string) => void;\n subitems: ItemT[] | null;\n onSelect?: (dsId: string) => void;\n }\n\n export interface Props extends Partial<DefaultProps>, OptionalProps, XstyledProps, RequiredProps {}\n\n export interface InternalProps extends DefaultProps, OptionalProps, XstyledProps, RequiredProps {}\n\n export type ExampleState = '0' | '1';\n}\n\nexport const defaultProps: DSMenuTreeItemT.DefaultProps = {\n isSelected: false,\n multiple: false,\n};\n\nconst itemPropsSchema = PropTypes.shape({\n dsId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n collapsed: PropTypes.bool,\n depth: PropTypes.number,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n subitems: PropTypes.any,\n});\n\nexport const DSMenuTreeItemPropTypes: DSPropTypesSchema<DSMenuTreeItemT.Props> = {\n ...xstyledPropTypes,\n item: itemPropsSchema.description('some example of proptypes'),\n onCollapse: PropTypes.func,\n subitems: PropTypes.object,\n onSelect: PropTypes.func,\n isSelected: PropTypes.bool,\n multiple: PropTypes.bool,\n depth: PropTypes.number,\n};\n\nexport const DSMenuTreeItemPropTypesSchema =\n DSMenuTreeItemPropTypes as unknown as WeakValidationMap<DSMenuTreeItemT.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,8BAA4C;AA4CrC,MAAM,eAA6C;AAAA,EACxD,YAAY;AAAA,EACZ,UAAU;AACZ;AAEA,MAAM,kBAAkB,kCAAU,MAAM;AAAA,EACtC,MAAM,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE;AAAA,EAChE,WAAW,kCAAU;AAAA,EACrB,OAAO,kCAAU;AAAA;AAAA,EAEjB,UAAU,kCAAU;AACtB,CAAC;AAEM,MAAM,0BAAoE;AAAA,EAC/E,GAAG;AAAA,EACH,MAAM,gBAAgB,YAAY,2BAA2B;AAAA,EAC7D,YAAY,kCAAU;AAAA,EACtB,UAAU,kCAAU;AAAA,EACpB,UAAU,kCAAU;AAAA,EACpB,YAAY,kCAAU;AAAA,EACtB,UAAU,kCAAU;AAAA,EACpB,OAAO,kCAAU;AACnB;AAEO,MAAM,gCACX;",
6
+ "names": []
7
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var styled_exports = {};
30
+ __export(styled_exports, {
31
+ MenuItemWrapper: () => MenuItemWrapper,
32
+ StyledButton: () => StyledButton
33
+ });
34
+ module.exports = __toCommonJS(styled_exports);
35
+ var React = __toESM(require("react"));
36
+ var import_ds_system = require("@elliemae/ds-system");
37
+ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
38
+ var import_ds_grid = require("@elliemae/ds-grid");
39
+ var import_constants = require("./constants/index.js");
40
+ const borderStyle = import_ds_system.css`
41
+ outline: 2px solid ${({ theme }) => theme.colors.brand["700"]};
42
+ outline-offset: -2px;
43
+ `;
44
+ const MenuItemWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: import_constants.DSMenuTreeItemName, slot: import_constants.MENU_TREE_ITEM_SLOTS.ROOT })`
45
+ height: 36px;
46
+
47
+ ${({ isFocused }) => isFocused && borderStyle};
48
+ &:hover {
49
+ background-color: ${({ theme }) => theme.colors.brand["200"]};
50
+ }
51
+ `;
52
+ const StyledButton = (0, import_ds_system.styled)(import_ds_button_v2.DSButtonV3)`
53
+ &:hover:not(:disabled) {
54
+ background-color: transparent;
55
+ }
56
+ `;
57
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/styled.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { styled, css } from '@elliemae/ds-system';\nimport { DSButtonV3 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS } from './constants/index.js';\n\nconst borderStyle = css`\n outline: 2px solid ${({ theme }) => theme.colors.brand['700']};\n outline-offset: -2px;\n`;\n\nexport const MenuItemWrapper = styled(Grid, { name: DSMenuTreeItemName, slot: MENU_TREE_ITEM_SLOTS.ROOT })`\n height: 36px;\n\n ${({ isFocused }: any) => isFocused && borderStyle};\n &:hover {\n background-color: ${({ theme }) => theme.colors.brand['200']};\n }\n`;\n\nexport const StyledButton = styled(DSButtonV3)`\n &:hover:not(:disabled) {\n background-color: transparent;\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA4B;AAC5B,0BAA2B;AAC3B,qBAAqB;AACrB,uBAAyD;AAEzD,MAAM,cAAc;AAAA,uBACG,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA;AAIvD,MAAM,sBAAkB,yBAAO,qBAAM,EAAE,MAAM,qCAAoB,MAAM,sCAAqB,KAAK,CAAC;AAAA;AAAA;AAAA,IAGrG,CAAC,EAAE,UAAU,MAAW,aAAa;AAAA;AAAA,wBAEjB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA;AAIxD,MAAM,mBAAe,yBAAO,8BAAU;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,104 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import React2, { useCallback, useMemo } from "react";
4
+ import { describe } from "@elliemae/ds-props-helpers";
5
+ import { DSControlledCheckbox } from "@elliemae/ds-form-checkbox";
6
+ import { DSControlledRadio } from "@elliemae/ds-form-radio";
7
+ import Grid from "@elliemae/ds-grid";
8
+ import { ArrowheadDown, ArrowheadRight, Folder, FilePdf } from "@elliemae/ds-icons";
9
+ import { DSSeparatorV2 } from "@elliemae/ds-separator";
10
+ import { DSTypography } from "@elliemae/ds-typography";
11
+ import { DSMenuTreeItemPropTypesSchema } from "./react-desc-prop-types.js";
12
+ import { useMenuTreeItem } from "./config/useMenuTreeItem.js";
13
+ import { DSMenuTreeItemName } from "./constants/index.js";
14
+ import { MenuItemWrapper, StyledButton } from "./styled.js";
15
+ const mainContentCols = ["1fr"];
16
+ const DSMenuTreeItem = (props) => {
17
+ const { propsWithDefault, xstyledProps } = useMenuTreeItem(props);
18
+ const { onCollapse, item, onSelect = () => {
19
+ }, isSelected, multiple } = propsWithDefault;
20
+ const cols = useMemo(() => {
21
+ if (isSelected !== void 0) {
22
+ return ["auto", "auto", "auto", "1fr"];
23
+ }
24
+ return ["auto", "auto", "1fr"];
25
+ }, [isSelected]);
26
+ const subItemsLength = useMemo(() => {
27
+ if (item.subitems && item.subitems?.length > 0) {
28
+ return item.subitems.length;
29
+ }
30
+ return 0;
31
+ }, [item.subitems]);
32
+ const expandableButton = useMemo(() => {
33
+ if (subItemsLength > 0) {
34
+ return /* @__PURE__ */ jsxs(Grid, { cols: ["auto", "auto"], alignItems: "center", children: [
35
+ /* @__PURE__ */ jsx(
36
+ StyledButton,
37
+ {
38
+ "aria-label": "Expand",
39
+ buttonType: "icon",
40
+ size: "s",
41
+ onClick: () => {
42
+ onCollapse(item.dsId);
43
+ },
44
+ children: item.collapsed === false ? /* @__PURE__ */ jsx(ArrowheadDown, { size: "s", color: ["brand-primary", "800"] }) : /* @__PURE__ */ jsx(ArrowheadRight, { size: "s", color: ["brand-primary", "800"] })
45
+ }
46
+ ),
47
+ /* @__PURE__ */ jsx(Folder, { color: ["brand-primary", "700"] })
48
+ ] });
49
+ }
50
+ return /* @__PURE__ */ jsx(Grid, { alignItems: "center", children: /* @__PURE__ */ jsx(FilePdf, { color: ["brand-primary", "700"] }) });
51
+ }, [item.collapsed, item.dsId, onCollapse, subItemsLength]);
52
+ const SelectComponent = React2.useMemo(() => {
53
+ if (multiple) {
54
+ return DSControlledCheckbox;
55
+ }
56
+ return DSControlledRadio;
57
+ }, [multiple]);
58
+ const handleOnSelect = useCallback(() => {
59
+ onSelect(item.dsId);
60
+ }, [item.dsId, onSelect]);
61
+ const [, setIsFocused] = React2.useState(false);
62
+ return /* @__PURE__ */ jsx(
63
+ MenuItemWrapper,
64
+ {
65
+ cols: mainContentCols,
66
+ getOwnerProps: () => propsWithDefault,
67
+ getOwnerPropsArguments: () => ({}),
68
+ ...xstyledProps,
69
+ children: /* @__PURE__ */ jsxs(Grid, { cols, marginLeft: item.depth * 24, gutter: "xxs2", alignItems: "center", children: [
70
+ isSelected !== void 0 && /* @__PURE__ */ jsx(
71
+ SelectComponent,
72
+ {
73
+ onFocus: () => setIsFocused(true),
74
+ onBlur: () => setIsFocused(false),
75
+ checked: isSelected,
76
+ onChange: handleOnSelect,
77
+ "aria-label": "Select",
78
+ value: String(item.dsId)
79
+ }
80
+ ),
81
+ expandableButton,
82
+ /* @__PURE__ */ jsx(Grid, { alignItems: "flex-end", children: /* @__PURE__ */ jsxs(DSTypography, { variant: "b1", id: `${item.dsId}-text`, children: [
83
+ "Test ",
84
+ item.dsId
85
+ ] }) }),
86
+ subItemsLength > 0 && /* @__PURE__ */ jsxs(Grid, { cols: ["min-content", "auto"], gutter: "xxs", children: [
87
+ /* @__PURE__ */ jsx(Grid, { alignItems: "center", children: /* @__PURE__ */ jsx(DSSeparatorV2, { isVertical: true, height: "80%" }) }),
88
+ /* @__PURE__ */ jsx(Grid, { alignItems: "flex-end", children: /* @__PURE__ */ jsxs(DSTypography, { variant: "b1", color: "neutral-500", children: [
89
+ subItemsLength,
90
+ " Items"
91
+ ] }) })
92
+ ] })
93
+ ] })
94
+ }
95
+ );
96
+ };
97
+ DSMenuTreeItem.displayName = DSMenuTreeItemName;
98
+ const DSMenuTreeItemWithSchema = describe(DSMenuTreeItem);
99
+ DSMenuTreeItemWithSchema.propTypes = DSMenuTreeItemPropTypesSchema;
100
+ export {
101
+ DSMenuTreeItem,
102
+ DSMenuTreeItemWithSchema
103
+ };
104
+ //# sourceMappingURL=DSMenuTreeItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSMenuTreeItem.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport React, { useCallback, useMemo } from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { DSControlledCheckbox } from '@elliemae/ds-form-checkbox';\nimport { DSControlledRadio } from '@elliemae/ds-form-radio';\nimport Grid from '@elliemae/ds-grid';\nimport { ArrowheadDown, ArrowheadRight, Folder, FilePdf } from '@elliemae/ds-icons';\nimport { DSSeparatorV2 } from '@elliemae/ds-separator';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { type DSMenuTreeItemT, DSMenuTreeItemPropTypesSchema } from './react-desc-prop-types.js';\nimport { useMenuTreeItem } from './config/useMenuTreeItem.js';\nimport { DSMenuTreeItemName } from './constants/index.js';\nimport { MenuItemWrapper, StyledButton } from './styled.js';\n\nconst mainContentCols = ['1fr'];\n\nconst DSMenuTreeItem: React.ComponentType<DSMenuTreeItemT.Props> = (props) => {\n const { propsWithDefault, xstyledProps } = useMenuTreeItem(props);\n\n const { onCollapse, item, onSelect = () => {}, isSelected, multiple } = propsWithDefault;\n const cols = useMemo(() => {\n if (isSelected !== undefined) {\n return ['auto', 'auto', 'auto', '1fr'];\n }\n return ['auto', 'auto', '1fr'];\n }, [isSelected]);\n\n const subItemsLength = useMemo(() => {\n if (item.subitems && item.subitems?.length > 0) {\n return item.subitems.length;\n }\n return 0;\n }, [item.subitems]);\n const expandableButton = useMemo(() => {\n if (subItemsLength > 0) {\n return (\n <Grid cols={['auto', 'auto']} alignItems=\"center\">\n <StyledButton\n aria-label=\"Expand\"\n buttonType=\"icon\"\n size=\"s\"\n onClick={() => {\n onCollapse(item.dsId);\n }}\n >\n {item.collapsed === false ? (\n <ArrowheadDown size=\"s\" color={['brand-primary', '800']} />\n ) : (\n <ArrowheadRight size=\"s\" color={['brand-primary', '800']} />\n )}\n </StyledButton>\n <Folder color={['brand-primary', '700']} />\n </Grid>\n );\n }\n return (\n <Grid alignItems=\"center\">\n <FilePdf color={['brand-primary', '700']} />\n </Grid>\n );\n }, [item.collapsed, item.dsId, onCollapse, subItemsLength]);\n\n const SelectComponent = React.useMemo(() => {\n if (multiple) {\n return DSControlledCheckbox;\n }\n return DSControlledRadio;\n }, [multiple]);\n\n const handleOnSelect = useCallback(() => {\n onSelect(item.dsId);\n }, [item.dsId, onSelect]);\n\n const [, setIsFocused] = React.useState(false);\n\n return (\n <MenuItemWrapper\n cols={mainContentCols}\n getOwnerProps={() => propsWithDefault}\n getOwnerPropsArguments={() => ({})}\n {...xstyledProps}\n >\n <Grid cols={cols} marginLeft={item.depth * 24} gutter=\"xxs2\" alignItems=\"center\">\n {isSelected !== undefined && (\n <SelectComponent\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n checked={isSelected}\n onChange={handleOnSelect}\n aria-label=\"Select\"\n value={String(item.dsId)}\n />\n )}\n {expandableButton}\n <Grid alignItems=\"flex-end\">\n <DSTypography variant=\"b1\" id={`${item.dsId}-text`}>\n Test {item.dsId}\n </DSTypography>\n </Grid>\n {subItemsLength > 0 && (\n <Grid cols={['min-content', 'auto']} gutter=\"xxs\">\n <Grid alignItems=\"center\">\n <DSSeparatorV2 isVertical height=\"80%\" />\n </Grid>\n <Grid alignItems=\"flex-end\">\n <DSTypography variant=\"b1\" color=\"neutral-500\">\n {subItemsLength} Items\n </DSTypography>\n </Grid>\n </Grid>\n )}\n </Grid>\n </MenuItemWrapper>\n );\n};\n\nDSMenuTreeItem.displayName = DSMenuTreeItemName;\nconst DSMenuTreeItemWithSchema = describe(DSMenuTreeItem);\nDSMenuTreeItemWithSchema.propTypes = DSMenuTreeItemPropTypesSchema;\n\nexport { DSMenuTreeItem, DSMenuTreeItemWithSchema };\n"],
5
+ "mappings": "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",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { useGetXstyledProps, useMemoMergePropsWithDefault } from "@elliemae/ds-props-helpers";
4
+ import { uid } from "uid";
5
+ import { DSMenuTreeItemPropTypes, defaultProps } from "../react-desc-prop-types.js";
6
+ import { useValidateProps } from "./useValidateProps.js";
7
+ const useMenuTreeItem = (propsFromUser) => {
8
+ const propsWithDefault = useMemoMergePropsWithDefault(propsFromUser, defaultProps);
9
+ useValidateProps(propsWithDefault, DSMenuTreeItemPropTypes);
10
+ const xstyledProps = useGetXstyledProps(propsWithDefault);
11
+ const instanceUid = React2.useMemo(() => uid(5), []);
12
+ return React2.useMemo(
13
+ () => ({
14
+ propsWithDefault,
15
+ xstyledProps,
16
+ instanceUid
17
+ // ...eventHandlers,
18
+ }),
19
+ [
20
+ propsWithDefault,
21
+ xstyledProps,
22
+ instanceUid
23
+ // eventHandlers,
24
+ ]
25
+ );
26
+ };
27
+ export {
28
+ useMenuTreeItem
29
+ };
30
+ //# sourceMappingURL=useMenuTreeItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/config/useMenuTreeItem.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { useGetXstyledProps, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { uid } from 'uid';\nimport { type DSMenuTreeItemT, DSMenuTreeItemPropTypes, defaultProps } from '../react-desc-prop-types.js';\nimport { useValidateProps } from './useValidateProps.js';\n\nexport interface MenuTreeItemCTX {\n propsWithDefault: DSMenuTreeItemT.InternalProps;\n xstyledProps: ReturnType<typeof useGetXstyledProps>;\n instanceUid: string;\n}\n\nexport const useMenuTreeItem = (propsFromUser: DSMenuTreeItemT.Props) => {\n // =============================================================================\n // MERGE WITH DEFAULT AND VALIDATE PROPS\n // =============================================================================\n const propsWithDefault = useMemoMergePropsWithDefault<DSMenuTreeItemT.InternalProps>(propsFromUser, defaultProps);\n useValidateProps(propsWithDefault, DSMenuTreeItemPropTypes);\n // =============================================================================\n // XSTYLED PROPS\n // =============================================================================\n const xstyledProps = useGetXstyledProps(propsWithDefault);\n // =============================================================================\n // AD HOC PER COMPONENT LOGIC\n // =============================================================================\n // custom code goes here, this is an example\n const instanceUid = React.useMemo(() => uid(5), []);\n // =============================================================================\n // HELPERS HOOKS CONFIGS\n // =============================================================================\n // const eventHandlers = useEventHandlers({ propsWithDefault, instanceUid }); // <-- complex logic should be made atomics this way\n\n return React.useMemo(\n () => ({\n propsWithDefault,\n xstyledProps,\n instanceUid,\n // ...eventHandlers,\n }),\n [\n propsWithDefault,\n xstyledProps,\n instanceUid,\n // eventHandlers,\n ],\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,YAAW;AAClB,SAAS,oBAAoB,oCAAoC;AACjE,SAAS,WAAW;AACpB,SAA+B,yBAAyB,oBAAoB;AAC5E,SAAS,wBAAwB;AAQ1B,MAAM,kBAAkB,CAAC,kBAAyC;AAIvE,QAAM,mBAAmB,6BAA4D,eAAe,YAAY;AAChH,mBAAiB,kBAAkB,uBAAuB;AAI1D,QAAM,eAAe,mBAAmB,gBAAgB;AAKxD,QAAM,cAAcA,OAAM,QAAQ,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAMlD,SAAOA,OAAM;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA,EACF;AACF;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { useValidateTypescriptPropTypes } from "@elliemae/ds-props-helpers";
3
+ import { DSMenuTreeItemName } from "../constants";
4
+ const useValidateProps = (props, propTypes) => {
5
+ useValidateTypescriptPropTypes(props, propTypes, DSMenuTreeItemName);
6
+ };
7
+ export {
8
+ useValidateProps
9
+ };
10
+ //# sourceMappingURL=useValidateProps.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/config/useValidateProps.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { WeakValidationMap } from 'react';\nimport { type DSMenuTreeItemT } from '../react-desc-prop-types';\nimport { DSMenuTreeItemName } from '../constants';\n\nexport const useValidateProps = (props: DSMenuTreeItemT.InternalProps, propTypes: WeakValidationMap<unknown>): void => {\n // we validate the \"required if\" via 'isRequiredIf from our custom PropTypes\n useValidateTypescriptPropTypes(props, propTypes, DSMenuTreeItemName);\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sCAAsC;AAG/C,SAAS,0BAA0B;AAE5B,MAAM,mBAAmB,CAAC,OAAsC,cAAgD;AAErH,iCAA+B,OAAO,WAAW,kBAAkB;AACrE;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ import { slotObjectToDataTestIds } from "@elliemae/ds-system";
3
+ const DSMenuTreeItemName = "DSMenuTreeItem";
4
+ const EXAMPLE_CONSTANTS = {
5
+ HELLO: "WORLD",
6
+ FOO: "BAR"
7
+ };
8
+ const MENU_TREE_ITEM_SLOTS = {
9
+ ROOT: "root"
10
+ };
11
+ const MENU_TREE_ITEM_DATA_TESTID = slotObjectToDataTestIds(DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS);
12
+ export {
13
+ DSMenuTreeItemName,
14
+ EXAMPLE_CONSTANTS,
15
+ MENU_TREE_ITEM_DATA_TESTID,
16
+ MENU_TREE_ITEM_SLOTS
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/constants/index.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSMenuTreeItemName = 'DSMenuTreeItem';\n\nexport const EXAMPLE_CONSTANTS = {\n HELLO: 'WORLD',\n FOO: 'BAR',\n} as const;\n\n// we are giving \"component_name_slots\" to avoid errors on duplicate exports variables in aggregators \nexport const MENU_TREE_ITEM_SLOTS = {\n ROOT: 'root',\n} as const;\n\n// we are giving \"component_name_data_testid\" to avoid errors on duplicate exports variables in aggregators\nexport const MENU_TREE_ITEM_DATA_TESTID = slotObjectToDataTestIds(DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS)\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,qBAAqB;AAE3B,MAAM,oBAAoB;AAAA,EAC/B,OAAO;AAAA,EACP,KAAK;AACP;AAGO,MAAM,uBAAuB;AAAA,EAClC,MAAM;AACR;AAGO,MAAM,6BAA6B,wBAAwB,oBAAoB,oBAAoB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import {
3
+ DSMenuTreeItem,
4
+ DSMenuTreeItemWithSchema
5
+ } from "./DSMenuTreeItem";
6
+ import {} from "./react-desc-prop-types";
7
+ import {
8
+ MENU_TREE_ITEM_SLOTS,
9
+ MENU_TREE_ITEM_DATA_TESTID
10
+ } from "./constants";
11
+ export {
12
+ DSMenuTreeItem,
13
+ DSMenuTreeItemWithSchema,
14
+ MENU_TREE_ITEM_DATA_TESTID,
15
+ MENU_TREE_ITEM_SLOTS
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "// this is a workaround to typescript error TS2742\n// https://github.com/microsoft/TypeScript/issues/47663\nimport type {} from '@xstyled/system';\nexport { \n DSMenuTreeItem,\n DSMenuTreeItemWithSchema\n} from './DSMenuTreeItem';\nexport { type DSMenuTreeItemT } from './react-desc-prop-types';\nexport {\n MENU_TREE_ITEM_SLOTS,\n MENU_TREE_ITEM_DATA_TESTID,\n} from './constants';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACGvB;AAAA,EACI;AAAA,EACA;AAAA,OACG;AACP,eAAqC;AACrC;AAAA,EACI;AAAA,EACA;AAAA,OACG;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import { PropTypes, xstyledPropTypes } from "@elliemae/ds-props-helpers";
3
+ const defaultProps = {
4
+ isSelected: false,
5
+ multiple: false
6
+ };
7
+ const itemPropsSchema = PropTypes.shape({
8
+ dsId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
9
+ collapsed: PropTypes.bool,
10
+ depth: PropTypes.number,
11
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
12
+ subitems: PropTypes.any
13
+ });
14
+ const DSMenuTreeItemPropTypes = {
15
+ ...xstyledPropTypes,
16
+ item: itemPropsSchema.description("some example of proptypes"),
17
+ onCollapse: PropTypes.func,
18
+ subitems: PropTypes.object,
19
+ onSelect: PropTypes.func,
20
+ isSelected: PropTypes.bool,
21
+ multiple: PropTypes.bool,
22
+ depth: PropTypes.number
23
+ };
24
+ const DSMenuTreeItemPropTypesSchema = DSMenuTreeItemPropTypes;
25
+ export {
26
+ DSMenuTreeItemPropTypes,
27
+ DSMenuTreeItemPropTypesSchema,
28
+ defaultProps
29
+ };
30
+ //# sourceMappingURL=react-desc-prop-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/react-desc-prop-types.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type { XstyledProps, DSPropTypesSchema } from '@elliemae/ds-props-helpers';\nimport { PropTypes, xstyledPropTypes } from '@elliemae/ds-props-helpers';\nimport type { DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS } from './constants/index.js';\nimport type { WeakValidationMap } from 'react';\n\nexport declare namespace DSMenuTreeItemT {\n export interface ItemT {\n dsId: string;\n collapsed?: boolean;\n depth: number;\n subitems: ItemT[] | null;\n }\n\n export interface TreeviewItemProps {\n onCollapse: (dsId: string) => void;\n item: ItemT;\n onSelect?: (dsId: string) => void;\n isSelected?: boolean;\n multiple?: boolean;\n }\n\n export interface RequiredProps {\n item: ItemT;\n dsId: string;\n depth: number;\n }\n\n export interface DefaultProps {\n isSelected?: boolean;\n multiple?: boolean;\n }\n\n export interface OptionalProps extends PropsForGlobalOnSlots<typeof DSMenuTreeItemName, typeof MENU_TREE_ITEM_SLOTS> {\n onCollapse: (dsId: string) => void;\n subitems: ItemT[] | null;\n onSelect?: (dsId: string) => void;\n }\n\n export interface Props extends Partial<DefaultProps>, OptionalProps, XstyledProps, RequiredProps {}\n\n export interface InternalProps extends DefaultProps, OptionalProps, XstyledProps, RequiredProps {}\n\n export type ExampleState = '0' | '1';\n}\n\nexport const defaultProps: DSMenuTreeItemT.DefaultProps = {\n isSelected: false,\n multiple: false,\n};\n\nconst itemPropsSchema = PropTypes.shape({\n dsId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n collapsed: PropTypes.bool,\n depth: PropTypes.number,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n subitems: PropTypes.any,\n});\n\nexport const DSMenuTreeItemPropTypes: DSPropTypesSchema<DSMenuTreeItemT.Props> = {\n ...xstyledPropTypes,\n item: itemPropsSchema.description('some example of proptypes'),\n onCollapse: PropTypes.func,\n subitems: PropTypes.object,\n onSelect: PropTypes.func,\n isSelected: PropTypes.bool,\n multiple: PropTypes.bool,\n depth: PropTypes.number,\n};\n\nexport const DSMenuTreeItemPropTypesSchema =\n DSMenuTreeItemPropTypes as unknown as WeakValidationMap<DSMenuTreeItemT.Props>;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,WAAW,wBAAwB;AA4CrC,MAAM,eAA6C;AAAA,EACxD,YAAY;AAAA,EACZ,UAAU;AACZ;AAEA,MAAM,kBAAkB,UAAU,MAAM;AAAA,EACtC,MAAM,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE;AAAA,EAChE,WAAW,UAAU;AAAA,EACrB,OAAO,UAAU;AAAA;AAAA,EAEjB,UAAU,UAAU;AACtB,CAAC;AAEM,MAAM,0BAAoE;AAAA,EAC/E,GAAG;AAAA,EACH,MAAM,gBAAgB,YAAY,2BAA2B;AAAA,EAC7D,YAAY,UAAU;AAAA,EACtB,UAAU,UAAU;AAAA,EACpB,UAAU,UAAU;AAAA,EACpB,YAAY,UAAU;AAAA,EACtB,UAAU,UAAU;AAAA,EACpB,OAAO,UAAU;AACnB;AAEO,MAAM,gCACX;",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ import { styled, css } from "@elliemae/ds-system";
3
+ import { DSButtonV3 } from "@elliemae/ds-button-v2";
4
+ import { Grid } from "@elliemae/ds-grid";
5
+ import { DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS } from "./constants/index.js";
6
+ const borderStyle = css`
7
+ outline: 2px solid ${({ theme }) => theme.colors.brand["700"]};
8
+ outline-offset: -2px;
9
+ `;
10
+ const MenuItemWrapper = styled(Grid, { name: DSMenuTreeItemName, slot: MENU_TREE_ITEM_SLOTS.ROOT })`
11
+ height: 36px;
12
+
13
+ ${({ isFocused }) => isFocused && borderStyle};
14
+ &:hover {
15
+ background-color: ${({ theme }) => theme.colors.brand["200"]};
16
+ }
17
+ `;
18
+ const StyledButton = styled(DSButtonV3)`
19
+ &:hover:not(:disabled) {
20
+ background-color: transparent;
21
+ }
22
+ `;
23
+ export {
24
+ MenuItemWrapper,
25
+ StyledButton
26
+ };
27
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/styled.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled, css } from '@elliemae/ds-system';\nimport { DSButtonV3 } from '@elliemae/ds-button-v2';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS } from './constants/index.js';\n\nconst borderStyle = css`\n outline: 2px solid ${({ theme }) => theme.colors.brand['700']};\n outline-offset: -2px;\n`;\n\nexport const MenuItemWrapper = styled(Grid, { name: DSMenuTreeItemName, slot: MENU_TREE_ITEM_SLOTS.ROOT })`\n height: 36px;\n\n ${({ isFocused }: any) => isFocused && borderStyle};\n &:hover {\n background-color: ${({ theme }) => theme.colors.brand['200']};\n }\n`;\n\nexport const StyledButton = styled(DSButtonV3)`\n &:hover:not(:disabled) {\n background-color: transparent;\n }\n`;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,QAAQ,WAAW;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,oBAAoB,4BAA4B;AAEzD,MAAM,cAAc;AAAA,uBACG,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA;AAIvD,MAAM,kBAAkB,OAAO,MAAM,EAAE,MAAM,oBAAoB,MAAM,qBAAqB,KAAK,CAAC;AAAA;AAAA;AAAA,IAGrG,CAAC,EAAE,UAAU,MAAW,aAAa;AAAA;AAAA,wBAEjB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA;AAIxD,MAAM,eAAe,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type DSMenuTreeItemT } from './react-desc-prop-types.js';
3
+ declare const DSMenuTreeItem: React.ComponentType<DSMenuTreeItemT.Props>;
4
+ declare const DSMenuTreeItemWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<DSMenuTreeItemT.Props>;
5
+ export { DSMenuTreeItem, DSMenuTreeItemWithSchema };
@@ -0,0 +1,12 @@
1
+ import { useGetXstyledProps } from '@elliemae/ds-props-helpers';
2
+ import { type DSMenuTreeItemT } from '../react-desc-prop-types.js';
3
+ export interface MenuTreeItemCTX {
4
+ propsWithDefault: DSMenuTreeItemT.InternalProps;
5
+ xstyledProps: ReturnType<typeof useGetXstyledProps>;
6
+ instanceUid: string;
7
+ }
8
+ export declare const useMenuTreeItem: (propsFromUser: DSMenuTreeItemT.Props) => {
9
+ propsWithDefault: DSMenuTreeItemT.InternalProps;
10
+ xstyledProps: import("@elliemae/ds-props-helpers").XstyledProps;
11
+ instanceUid: string;
12
+ };
@@ -0,0 +1,3 @@
1
+ import { WeakValidationMap } from 'react';
2
+ import { type DSMenuTreeItemT } from '../react-desc-prop-types';
3
+ export declare const useValidateProps: (props: DSMenuTreeItemT.InternalProps, propTypes: WeakValidationMap<unknown>) => void;
@@ -0,0 +1,9 @@
1
+ export declare const DSMenuTreeItemName = "DSMenuTreeItem";
2
+ export declare const EXAMPLE_CONSTANTS: {
3
+ readonly HELLO: "WORLD";
4
+ readonly FOO: "BAR";
5
+ };
6
+ export declare const MENU_TREE_ITEM_SLOTS: {
7
+ readonly ROOT: "root";
8
+ };
9
+ export declare const MENU_TREE_ITEM_DATA_TESTID: Record<string, string>;
@@ -0,0 +1,3 @@
1
+ export { DSMenuTreeItem, DSMenuTreeItemWithSchema } from './DSMenuTreeItem';
2
+ export { type DSMenuTreeItemT } from './react-desc-prop-types';
3
+ export { MENU_TREE_ITEM_SLOTS, MENU_TREE_ITEM_DATA_TESTID, } from './constants';
@@ -0,0 +1,40 @@
1
+ import type { XstyledProps, DSPropTypesSchema } from '@elliemae/ds-props-helpers';
2
+ import type { DSMenuTreeItemName, MENU_TREE_ITEM_SLOTS } from './constants/index.js';
3
+ import type { WeakValidationMap } from 'react';
4
+ export declare namespace DSMenuTreeItemT {
5
+ interface ItemT {
6
+ dsId: string;
7
+ collapsed?: boolean;
8
+ depth: number;
9
+ subitems: ItemT[] | null;
10
+ }
11
+ interface TreeviewItemProps {
12
+ onCollapse: (dsId: string) => void;
13
+ item: ItemT;
14
+ onSelect?: (dsId: string) => void;
15
+ isSelected?: boolean;
16
+ multiple?: boolean;
17
+ }
18
+ interface RequiredProps {
19
+ item: ItemT;
20
+ dsId: string;
21
+ depth: number;
22
+ }
23
+ interface DefaultProps {
24
+ isSelected?: boolean;
25
+ multiple?: boolean;
26
+ }
27
+ interface OptionalProps extends PropsForGlobalOnSlots<typeof DSMenuTreeItemName, typeof MENU_TREE_ITEM_SLOTS> {
28
+ onCollapse: (dsId: string) => void;
29
+ subitems: ItemT[] | null;
30
+ onSelect?: (dsId: string) => void;
31
+ }
32
+ interface Props extends Partial<DefaultProps>, OptionalProps, XstyledProps, RequiredProps {
33
+ }
34
+ interface InternalProps extends DefaultProps, OptionalProps, XstyledProps, RequiredProps {
35
+ }
36
+ type ExampleState = '0' | '1';
37
+ }
38
+ export declare const defaultProps: DSMenuTreeItemT.DefaultProps;
39
+ export declare const DSMenuTreeItemPropTypes: DSPropTypesSchema<DSMenuTreeItemT.Props>;
40
+ export declare const DSMenuTreeItemPropTypesSchema: WeakValidationMap<DSMenuTreeItemT.Props>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const MenuItemWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, any, never>;
3
+ export declare const StyledButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV3T.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV3T.Props>>, never>;
@@ -0,0 +1 @@
1
+ export {};
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@elliemae/ds-menu-tree-item",
3
+ "version": "3.27.0-next.11",
4
+ "license": "MIT",
5
+ "description": "ICE MT - Dimsum - Menu Tree Item",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "module": "./dist/esm/index.js",
10
+ "main": "./dist/cjs/index.js",
11
+ "types": "./dist/types/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/esm/index.js",
15
+ "require": "./dist/cjs/index.js"
16
+ }
17
+ },
18
+ "sideEffects": [
19
+ "*.css",
20
+ "*.scss"
21
+ ],
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://git.elliemae.io/platform-ui/dimsum.git"
25
+ },
26
+ "engines": {
27
+ "pnpm": ">=6",
28
+ "node": ">=16"
29
+ },
30
+ "author": "ICE MT",
31
+ "jestSonar": {
32
+ "sonar56x": true,
33
+ "reportPath": "reports",
34
+ "reportFile": "tests.xml",
35
+ "indent": 4
36
+ },
37
+ "dependencies": {
38
+ "@xstyled/styled-components": "~3.6.0",
39
+ "@elliemae/ds-button-v2": "3.27.0-next.11",
40
+ "@elliemae/ds-form-checkbox": "3.27.0-next.11",
41
+ "@elliemae/ds-grid": "3.27.0-next.11",
42
+ "@elliemae/ds-form-radio": "3.27.0-next.11",
43
+ "@elliemae/ds-icons": "3.27.0-next.11",
44
+ "@elliemae/ds-props-helpers": "3.27.0-next.11",
45
+ "@elliemae/ds-separator": "3.27.0-next.11",
46
+ "@elliemae/ds-system": "3.27.0-next.11",
47
+ "@elliemae/ds-typography": "3.27.0-next.11",
48
+ "@elliemae/ds-utilities": "3.27.0-next.11"
49
+ },
50
+ "devDependencies": {
51
+ "@elliemae/pui-cli": "~9.0.0-next.31",
52
+ "styled-components": "~5.3.9",
53
+ "@elliemae/ds-monorepo-devops": "3.27.0-next.11"
54
+ },
55
+ "peerDependencies": {
56
+ "@testing-library/jest-dom": "~5.16.4",
57
+ "@testing-library/react": "~12.1.3",
58
+ "@testing-library/user-event": "~13.5.0",
59
+ "react": "^17.0.2",
60
+ "react-dom": "^17.0.2",
61
+ "styled-components": "~5.3.9"
62
+ },
63
+ "publishConfig": {
64
+ "access": "public",
65
+ "typeSafety": false
66
+ },
67
+ "scripts": {
68
+ "dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
69
+ "test": "pui-cli test --passWithNoTests",
70
+ "lint": "node ../../../scripts/lint.mjs --fix",
71
+ "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../../.eslintrc.js' src/",
72
+ "dts": "node ../../scripts/dts.mjs",
73
+ "dts:withdeps": "pnpm --filter {.}... dts",
74
+ "build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
75
+ "dev:build": "pnpm --filter {.}... build",
76
+ "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
77
+ "checkDeps": "npx -yes ../../util/ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
78
+ }
79
+ }