@elliemae/ds-form-native-select 3.26.0-next.11

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.
@@ -0,0 +1,75 @@
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 NativeSelect_exports = {};
30
+ __export(NativeSelect_exports, {
31
+ DSNativeSelect: () => DSNativeSelect,
32
+ DSNativeSelectWithSchema: () => DSNativeSelectWithSchema
33
+ });
34
+ module.exports = __toCommonJS(NativeSelect_exports);
35
+ var React = __toESM(require("react"));
36
+ var import_jsx_runtime = require("react/jsx-runtime");
37
+ var import_react = require("react");
38
+ var import_lodash = require("lodash");
39
+ var import_ds_icons = require("@elliemae/ds-icons");
40
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
41
+ var import_styled = require("./styled.js");
42
+ const propTypes = {
43
+ ...import_ds_props_helpers.globalAttributesPropTypes,
44
+ ...import_ds_props_helpers.xstyledPropTypes,
45
+ hasError: import_ds_props_helpers.PropTypes.bool.description("whether the input has an error").defaultValue(false),
46
+ disabled: import_ds_props_helpers.PropTypes.bool.description("whether the input is disabled").defaultValue(false),
47
+ children: import_ds_props_helpers.PropTypes.node.description("options to be rendered in the select")
48
+ };
49
+ const DSNativeSelect = (props) => {
50
+ const { hasError, disabled, children } = props;
51
+ const getOwnerProps = (0, import_react.useCallback)(() => props, [props]);
52
+ const getOwnerPropsArguments = (0, import_react.useCallback)(() => ({}), []);
53
+ const xStyledProps = (0, import_ds_props_helpers.useGetXstyledProps)(props);
54
+ const { id, required, size, ...globalAttributes } = (0, import_lodash.omit)((0, import_ds_props_helpers.useGetGlobalAttributes)(props), ["rows", "cols", "wrap"]);
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledControlsWrapper, { disabled, hasError, ...xStyledProps, ...globalAttributes, children: [
56
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
+ import_styled.StyledSelect,
58
+ {
59
+ id,
60
+ disabled,
61
+ required,
62
+ size,
63
+ getOwnerProps,
64
+ getOwnerPropsArguments,
65
+ children
66
+ }
67
+ ),
68
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledDropDownButton, { justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronSmallDown, {}) })
69
+ ] });
70
+ };
71
+ DSNativeSelect.displayName = "DSNativeSelect";
72
+ DSNativeSelect.propTypes = propTypes;
73
+ const DSNativeSelectWithSchema = (0, import_ds_props_helpers.describe)(DSNativeSelect);
74
+ DSNativeSelectWithSchema.propTypes = propTypes;
75
+ //# sourceMappingURL=NativeSelect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/NativeSelect.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable no-unused-vars */\nimport React, { type WeakValidationMap, useCallback } from 'react';\nimport { omit } from 'lodash';\nimport { ChevronSmallDown } from '@elliemae/ds-icons';\nimport {\n useGetGlobalAttributes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n useGetXstyledProps,\n describe,\n PropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { StyledControlsWrapper, StyledDropDownButton, StyledSelect } from './styled.js';\n\ninterface Props {\n hasError: boolean;\n disabled: boolean;\n children: React.ReactNode;\n}\n\nconst propTypes = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n hasError: PropTypes.bool.description('whether the input has an error').defaultValue(false),\n disabled: PropTypes.bool.description('whether the input is disabled').defaultValue(false),\n children: PropTypes.node.description('options to be rendered in the select'),\n};\n\nconst DSNativeSelect: React.ComponentType<Props> = (props) => {\n const { hasError, disabled, children } = props;\n\n const getOwnerProps = useCallback(() => props, [props]);\n const getOwnerPropsArguments = useCallback(() => ({}), []);\n\n const xStyledProps = useGetXstyledProps(props);\n const { id, required, size, ...globalAttributes } = omit(useGetGlobalAttributes(props), ['rows', 'cols', 'wrap']);\n return (\n <StyledControlsWrapper disabled={disabled} hasError={hasError} {...xStyledProps} {...globalAttributes}>\n <StyledSelect\n id={id}\n disabled={disabled}\n required={required}\n size={size}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {children}\n </StyledSelect>\n <StyledDropDownButton justifyContent=\"center\" alignItems=\"center\">\n <ChevronSmallDown />\n </StyledDropDownButton>\n </StyledControlsWrapper>\n );\n};\n\nDSNativeSelect.displayName = 'DSNativeSelect';\n\nDSNativeSelect.propTypes = propTypes as WeakValidationMap<unknown>;\nconst DSNativeSelectWithSchema = describe(DSNativeSelect);\nDSNativeSelectWithSchema.propTypes = propTypes as WeakValidationMap<unknown>;\n\nexport { DSNativeSelect, DSNativeSelectWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqCnB;AApCJ,mBAA2D;AAC3D,oBAAqB;AACrB,sBAAiC;AACjC,8BAOO;AACP,oBAA0E;AAQ1E,MAAM,YAAY;AAAA,EAChB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,UAAU,kCAAU,KAAK,YAAY,gCAAgC,EAAE,aAAa,KAAK;AAAA,EACzF,UAAU,kCAAU,KAAK,YAAY,+BAA+B,EAAE,aAAa,KAAK;AAAA,EACxF,UAAU,kCAAU,KAAK,YAAY,sCAAsC;AAC7E;AAEA,MAAM,iBAA6C,CAAC,UAAU;AAC5D,QAAM,EAAE,UAAU,UAAU,SAAS,IAAI;AAEzC,QAAM,oBAAgB,0BAAY,MAAM,OAAO,CAAC,KAAK,CAAC;AACtD,QAAM,6BAAyB,0BAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzD,QAAM,mBAAe,4CAAmB,KAAK;AAC7C,QAAM,EAAE,IAAI,UAAU,MAAM,GAAG,iBAAiB,QAAI,wBAAK,gDAAuB,KAAK,GAAG,CAAC,QAAQ,QAAQ,MAAM,CAAC;AAChH,SACE,6CAAC,uCAAsB,UAAoB,UAAqB,GAAG,cAAe,GAAG,kBACnF;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA,4CAAC,sCAAqB,gBAAe,UAAS,YAAW,UACvD,sDAAC,oCAAiB,GACpB;AAAA,KACF;AAEJ;AAEA,eAAe,cAAc;AAE7B,eAAe,YAAY;AAC3B,MAAM,+BAA2B,kCAAS,cAAc;AACxD,yBAAyB,YAAY;",
6
+ "names": []
7
+ }
@@ -0,0 +1,42 @@
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 NativeSelectDefinitions_exports = {};
30
+ __export(NativeSelectDefinitions_exports, {
31
+ DSNativeSelectName: () => DSNativeSelectName,
32
+ DSNativeSelectSlots: () => DSNativeSelectSlots
33
+ });
34
+ module.exports = __toCommonJS(NativeSelectDefinitions_exports);
35
+ var React = __toESM(require("react"));
36
+ const DSNativeSelectName = "DSNativeSelect";
37
+ const DSNativeSelectSlots = {
38
+ CONTAINER: "root",
39
+ INPUT: "input",
40
+ DROP_INDICATOR: "drop-indicator"
41
+ };
42
+ //# sourceMappingURL=NativeSelectDefinitions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/NativeSelectDefinitions.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export const DSNativeSelectName = 'DSNativeSelect';\n\nexport const DSNativeSelectSlots = {\n CONTAINER: 'root',\n INPUT: 'input',\n DROP_INDICATOR: 'drop-indicator',\n} as const;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,qBAAqB;AAE3B,MAAM,sBAAsB;AAAA,EACjC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,gBAAgB;AAClB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,30 @@
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 __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
+ // If the importer is in node compatibility mode or this is not an ESM
19
+ // file that has been converted to a CommonJS file using a Babel-
20
+ // compatible transform (i.e. "__esModule" has not been set), then set
21
+ // "default" to the CommonJS "module.exports" for node compatibility.
22
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
+ mod
24
+ ));
25
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
+ var src_exports = {};
27
+ module.exports = __toCommonJS(src_exports);
28
+ var React = __toESM(require("react"));
29
+ __reExport(src_exports, require("./NativeSelect.js"), module.exports);
30
+ //# 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": ["export * from './NativeSelect.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,8BAAd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -0,0 +1,101 @@
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
+ StyledControlsWrapper: () => StyledControlsWrapper,
32
+ StyledDropDownButton: () => StyledDropDownButton,
33
+ StyledSelect: () => StyledSelect
34
+ });
35
+ module.exports = __toCommonJS(styled_exports);
36
+ var React = __toESM(require("react"));
37
+ var import_ds_system = require("@elliemae/ds-system");
38
+ var import_ds_grid = require("@elliemae/ds-grid");
39
+ var import_NativeSelectDefinitions = require("./NativeSelectDefinitions.js");
40
+ const normalBorder = import_ds_system.css`
41
+ border: 1px solid ${({ hasError, theme }) => hasError ? theme.colors.danger[900] : theme.colors.neutral[400]};
42
+ `;
43
+ const focusBorder = import_ds_system.css`
44
+ outline: 2px solid ${({ theme }) => theme.colors.brand[700]};
45
+ outline-offset: -2px;
46
+ `;
47
+ const hoverBorder = import_ds_system.css`
48
+ border: 1px solid ${({ theme }) => theme.colors.brand[700]};
49
+ `;
50
+ const StyledControlsWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, {
51
+ name: import_NativeSelectDefinitions.DSNativeSelectName,
52
+ slot: import_NativeSelectDefinitions.DSNativeSelectSlots.CONTAINER
53
+ })`
54
+ background: ${({ disabled, theme }) => disabled ? theme.colors.neutral["080"] : "#ffffff"};
55
+ position: relative;
56
+ border-radius: 2px;
57
+ align-items: center;
58
+ align-content: center;
59
+ height: 28px;
60
+ ${normalBorder}
61
+ &:hover {
62
+ ${({ disabled }) => !disabled ? hoverBorder : ""}
63
+ }
64
+ &:focus-within {
65
+ ${focusBorder}
66
+ }
67
+ `;
68
+ const StyledDropDownButton = (0, import_ds_system.styled)(import_ds_grid.Grid, {
69
+ name: import_NativeSelectDefinitions.DSNativeSelectName,
70
+ slot: import_NativeSelectDefinitions.DSNativeSelectSlots.DROP_INDICATOR
71
+ })`
72
+ position: absolute;
73
+ right: 0;
74
+ height: 100%;
75
+ cursor: pointer;
76
+ width: 28px;
77
+ z-index: 1;
78
+ `;
79
+ const StyledSelect = (0, import_ds_system.styled)("select", {
80
+ name: import_NativeSelectDefinitions.DSNativeSelectName,
81
+ slot: import_NativeSelectDefinitions.DSNativeSelectSlots.INPUT
82
+ })`
83
+ height: 28px;
84
+ appearance: none;
85
+ background-color: transparent;
86
+ border: none;
87
+ color: ${({ theme }) => theme.colors.neutral["700"]};
88
+ cursor: pointer;
89
+ outline: none;
90
+ padding: 0;
91
+ width: 100%;
92
+ text-align: left;
93
+ &:disabled {
94
+ color: ${({ theme }) => theme.colors.neutral["400"]};
95
+ cursor: not-allowed;
96
+ }
97
+ z-index: 2;
98
+ padding-left: 8px;
99
+ padding-right: 28px;
100
+ `;
101
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/styled.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { styled, css } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSNativeSelectSlots, DSNativeSelectName } from './NativeSelectDefinitions.js';\ninterface StyledControlsWrapperT {\n hasError: boolean;\n disabled: boolean;\n}\nconst normalBorder = css<{ hasError: boolean }>`\n border: 1px solid ${({ hasError, theme }) => (hasError ? theme.colors.danger[900] : theme.colors.neutral[400])};\n`;\nconst focusBorder = css`\n outline: 2px solid ${({ theme }) => theme.colors.brand[700]};\n outline-offset: -2px;\n`;\n\nconst hoverBorder = css`\n border: 1px solid ${({ theme }) => theme.colors.brand[700]};\n`;\nexport const StyledControlsWrapper = styled(Grid, {\n name: DSNativeSelectName,\n slot: DSNativeSelectSlots.CONTAINER,\n})<StyledControlsWrapperT>`\n background: ${({ disabled, theme }) => (disabled ? theme.colors.neutral['080'] : '#ffffff')};\n position: relative;\n border-radius: 2px;\n align-items: center;\n align-content: center;\n height: 28px;\n ${normalBorder}\n &:hover {\n ${({ disabled }) => (!disabled ? hoverBorder : '')}\n }\n &:focus-within {\n ${focusBorder}\n }\n`;\n\nexport const StyledDropDownButton = styled(Grid, {\n name: DSNativeSelectName,\n slot: DSNativeSelectSlots.DROP_INDICATOR,\n})`\n position: absolute;\n right: 0;\n height: 100%;\n cursor: pointer;\n width: 28px;\n z-index: 1;\n`;\n\nexport const StyledSelect = styled('select', {\n name: DSNativeSelectName,\n slot: DSNativeSelectSlots.INPUT,\n})`\n height: 28px;\n appearance: none;\n background-color: transparent;\n border: none;\n color: ${({ theme }) => theme.colors.neutral['700']};\n cursor: pointer;\n outline: none;\n padding: 0;\n width: 100%;\n text-align: left;\n &:disabled {\n color: ${({ theme }) => theme.colors.neutral['400']};\n cursor: not-allowed;\n }\n z-index: 2;\n padding-left: 8px;\n padding-right: 28px;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA4B;AAC5B,qBAAqB;AACrB,qCAAwD;AAKxD,MAAM,eAAe;AAAA,sBACC,CAAC,EAAE,UAAU,MAAM,MAAO,WAAW,MAAM,OAAO,OAAO,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG;AAAA;AAE9G,MAAM,cAAc;AAAA,uBACG,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA;AAI5D,MAAM,cAAc;AAAA,sBACE,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAEpD,MAAM,4BAAwB,yBAAO,qBAAM;AAAA,EAChD,MAAM;AAAA,EACN,MAAM,mDAAoB;AAC5B,CAAC;AAAA,gBACe,CAAC,EAAE,UAAU,MAAM,MAAO,WAAW,MAAM,OAAO,QAAQ,KAAK,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/E;AAAA;AAAA,MAEE,CAAC,EAAE,SAAS,MAAO,CAAC,WAAW,cAAc;AAAA;AAAA;AAAA,MAG7C;AAAA;AAAA;AAIC,MAAM,2BAAuB,yBAAO,qBAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,mDAAoB;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASM,MAAM,mBAAe,yBAAO,UAAU;AAAA,EAC3C,MAAM;AAAA,EACN,MAAM,mDAAoB;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,WAKU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOvC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,52 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useCallback } from "react";
4
+ import { omit } from "lodash";
5
+ import { ChevronSmallDown } from "@elliemae/ds-icons";
6
+ import {
7
+ useGetGlobalAttributes,
8
+ globalAttributesPropTypes,
9
+ xstyledPropTypes,
10
+ useGetXstyledProps,
11
+ describe,
12
+ PropTypes
13
+ } from "@elliemae/ds-props-helpers";
14
+ import { StyledControlsWrapper, StyledDropDownButton, StyledSelect } from "./styled.js";
15
+ const propTypes = {
16
+ ...globalAttributesPropTypes,
17
+ ...xstyledPropTypes,
18
+ hasError: PropTypes.bool.description("whether the input has an error").defaultValue(false),
19
+ disabled: PropTypes.bool.description("whether the input is disabled").defaultValue(false),
20
+ children: PropTypes.node.description("options to be rendered in the select")
21
+ };
22
+ const DSNativeSelect = (props) => {
23
+ const { hasError, disabled, children } = props;
24
+ const getOwnerProps = useCallback(() => props, [props]);
25
+ const getOwnerPropsArguments = useCallback(() => ({}), []);
26
+ const xStyledProps = useGetXstyledProps(props);
27
+ const { id, required, size, ...globalAttributes } = omit(useGetGlobalAttributes(props), ["rows", "cols", "wrap"]);
28
+ return /* @__PURE__ */ jsxs(StyledControlsWrapper, { disabled, hasError, ...xStyledProps, ...globalAttributes, children: [
29
+ /* @__PURE__ */ jsx(
30
+ StyledSelect,
31
+ {
32
+ id,
33
+ disabled,
34
+ required,
35
+ size,
36
+ getOwnerProps,
37
+ getOwnerPropsArguments,
38
+ children
39
+ }
40
+ ),
41
+ /* @__PURE__ */ jsx(StyledDropDownButton, { justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ jsx(ChevronSmallDown, {}) })
42
+ ] });
43
+ };
44
+ DSNativeSelect.displayName = "DSNativeSelect";
45
+ DSNativeSelect.propTypes = propTypes;
46
+ const DSNativeSelectWithSchema = describe(DSNativeSelect);
47
+ DSNativeSelectWithSchema.propTypes = propTypes;
48
+ export {
49
+ DSNativeSelect,
50
+ DSNativeSelectWithSchema
51
+ };
52
+ //# sourceMappingURL=NativeSelect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/NativeSelect.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-unused-vars */\nimport React, { type WeakValidationMap, useCallback } from 'react';\nimport { omit } from 'lodash';\nimport { ChevronSmallDown } from '@elliemae/ds-icons';\nimport {\n useGetGlobalAttributes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n useGetXstyledProps,\n describe,\n PropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { StyledControlsWrapper, StyledDropDownButton, StyledSelect } from './styled.js';\n\ninterface Props {\n hasError: boolean;\n disabled: boolean;\n children: React.ReactNode;\n}\n\nconst propTypes = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n hasError: PropTypes.bool.description('whether the input has an error').defaultValue(false),\n disabled: PropTypes.bool.description('whether the input is disabled').defaultValue(false),\n children: PropTypes.node.description('options to be rendered in the select'),\n};\n\nconst DSNativeSelect: React.ComponentType<Props> = (props) => {\n const { hasError, disabled, children } = props;\n\n const getOwnerProps = useCallback(() => props, [props]);\n const getOwnerPropsArguments = useCallback(() => ({}), []);\n\n const xStyledProps = useGetXstyledProps(props);\n const { id, required, size, ...globalAttributes } = omit(useGetGlobalAttributes(props), ['rows', 'cols', 'wrap']);\n return (\n <StyledControlsWrapper disabled={disabled} hasError={hasError} {...xStyledProps} {...globalAttributes}>\n <StyledSelect\n id={id}\n disabled={disabled}\n required={required}\n size={size}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {children}\n </StyledSelect>\n <StyledDropDownButton justifyContent=\"center\" alignItems=\"center\">\n <ChevronSmallDown />\n </StyledDropDownButton>\n </StyledControlsWrapper>\n );\n};\n\nDSNativeSelect.displayName = 'DSNativeSelect';\n\nDSNativeSelect.propTypes = propTypes as WeakValidationMap<unknown>;\nconst DSNativeSelectWithSchema = describe(DSNativeSelect);\nDSNativeSelectWithSchema.propTypes = propTypes as WeakValidationMap<unknown>;\n\nexport { DSNativeSelect, DSNativeSelectWithSchema };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACqCnB,SACE,KADF;AApCJ,SAAwC,mBAAmB;AAC3D,SAAS,YAAY;AACrB,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uBAAuB,sBAAsB,oBAAoB;AAQ1E,MAAM,YAAY;AAAA,EAChB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,UAAU,UAAU,KAAK,YAAY,gCAAgC,EAAE,aAAa,KAAK;AAAA,EACzF,UAAU,UAAU,KAAK,YAAY,+BAA+B,EAAE,aAAa,KAAK;AAAA,EACxF,UAAU,UAAU,KAAK,YAAY,sCAAsC;AAC7E;AAEA,MAAM,iBAA6C,CAAC,UAAU;AAC5D,QAAM,EAAE,UAAU,UAAU,SAAS,IAAI;AAEzC,QAAM,gBAAgB,YAAY,MAAM,OAAO,CAAC,KAAK,CAAC;AACtD,QAAM,yBAAyB,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzD,QAAM,eAAe,mBAAmB,KAAK;AAC7C,QAAM,EAAE,IAAI,UAAU,MAAM,GAAG,iBAAiB,IAAI,KAAK,uBAAuB,KAAK,GAAG,CAAC,QAAQ,QAAQ,MAAM,CAAC;AAChH,SACE,qBAAC,yBAAsB,UAAoB,UAAqB,GAAG,cAAe,GAAG,kBACnF;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA,oBAAC,wBAAqB,gBAAe,UAAS,YAAW,UACvD,8BAAC,oBAAiB,GACpB;AAAA,KACF;AAEJ;AAEA,eAAe,cAAc;AAE7B,eAAe,YAAY;AAC3B,MAAM,2BAA2B,SAAS,cAAc;AACxD,yBAAyB,YAAY;",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ const DSNativeSelectName = "DSNativeSelect";
3
+ const DSNativeSelectSlots = {
4
+ CONTAINER: "root",
5
+ INPUT: "input",
6
+ DROP_INDICATOR: "drop-indicator"
7
+ };
8
+ export {
9
+ DSNativeSelectName,
10
+ DSNativeSelectSlots
11
+ };
12
+ //# sourceMappingURL=NativeSelectDefinitions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/NativeSelectDefinitions.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DSNativeSelectName = 'DSNativeSelect';\n\nexport const DSNativeSelectSlots = {\n CONTAINER: 'root',\n INPUT: 'input',\n DROP_INDICATOR: 'drop-indicator',\n} as const;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,qBAAqB;AAE3B,MAAM,sBAAsB;AAAA,EACjC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,gBAAgB;AAClB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ export * from "./NativeSelect.js";
3
+ //# 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", "export * from './NativeSelect.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -0,0 +1,71 @@
1
+ import * as React from "react";
2
+ import { styled, css } from "@elliemae/ds-system";
3
+ import { Grid } from "@elliemae/ds-grid";
4
+ import { DSNativeSelectSlots, DSNativeSelectName } from "./NativeSelectDefinitions.js";
5
+ const normalBorder = css`
6
+ border: 1px solid ${({ hasError, theme }) => hasError ? theme.colors.danger[900] : theme.colors.neutral[400]};
7
+ `;
8
+ const focusBorder = css`
9
+ outline: 2px solid ${({ theme }) => theme.colors.brand[700]};
10
+ outline-offset: -2px;
11
+ `;
12
+ const hoverBorder = css`
13
+ border: 1px solid ${({ theme }) => theme.colors.brand[700]};
14
+ `;
15
+ const StyledControlsWrapper = styled(Grid, {
16
+ name: DSNativeSelectName,
17
+ slot: DSNativeSelectSlots.CONTAINER
18
+ })`
19
+ background: ${({ disabled, theme }) => disabled ? theme.colors.neutral["080"] : "#ffffff"};
20
+ position: relative;
21
+ border-radius: 2px;
22
+ align-items: center;
23
+ align-content: center;
24
+ height: 28px;
25
+ ${normalBorder}
26
+ &:hover {
27
+ ${({ disabled }) => !disabled ? hoverBorder : ""}
28
+ }
29
+ &:focus-within {
30
+ ${focusBorder}
31
+ }
32
+ `;
33
+ const StyledDropDownButton = styled(Grid, {
34
+ name: DSNativeSelectName,
35
+ slot: DSNativeSelectSlots.DROP_INDICATOR
36
+ })`
37
+ position: absolute;
38
+ right: 0;
39
+ height: 100%;
40
+ cursor: pointer;
41
+ width: 28px;
42
+ z-index: 1;
43
+ `;
44
+ const StyledSelect = styled("select", {
45
+ name: DSNativeSelectName,
46
+ slot: DSNativeSelectSlots.INPUT
47
+ })`
48
+ height: 28px;
49
+ appearance: none;
50
+ background-color: transparent;
51
+ border: none;
52
+ color: ${({ theme }) => theme.colors.neutral["700"]};
53
+ cursor: pointer;
54
+ outline: none;
55
+ padding: 0;
56
+ width: 100%;
57
+ text-align: left;
58
+ &:disabled {
59
+ color: ${({ theme }) => theme.colors.neutral["400"]};
60
+ cursor: not-allowed;
61
+ }
62
+ z-index: 2;
63
+ padding-left: 8px;
64
+ padding-right: 28px;
65
+ `;
66
+ export {
67
+ StyledControlsWrapper,
68
+ StyledDropDownButton,
69
+ StyledSelect
70
+ };
71
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/styled.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled, css } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSNativeSelectSlots, DSNativeSelectName } from './NativeSelectDefinitions.js';\ninterface StyledControlsWrapperT {\n hasError: boolean;\n disabled: boolean;\n}\nconst normalBorder = css<{ hasError: boolean }>`\n border: 1px solid ${({ hasError, theme }) => (hasError ? theme.colors.danger[900] : theme.colors.neutral[400])};\n`;\nconst focusBorder = css`\n outline: 2px solid ${({ theme }) => theme.colors.brand[700]};\n outline-offset: -2px;\n`;\n\nconst hoverBorder = css`\n border: 1px solid ${({ theme }) => theme.colors.brand[700]};\n`;\nexport const StyledControlsWrapper = styled(Grid, {\n name: DSNativeSelectName,\n slot: DSNativeSelectSlots.CONTAINER,\n})<StyledControlsWrapperT>`\n background: ${({ disabled, theme }) => (disabled ? theme.colors.neutral['080'] : '#ffffff')};\n position: relative;\n border-radius: 2px;\n align-items: center;\n align-content: center;\n height: 28px;\n ${normalBorder}\n &:hover {\n ${({ disabled }) => (!disabled ? hoverBorder : '')}\n }\n &:focus-within {\n ${focusBorder}\n }\n`;\n\nexport const StyledDropDownButton = styled(Grid, {\n name: DSNativeSelectName,\n slot: DSNativeSelectSlots.DROP_INDICATOR,\n})`\n position: absolute;\n right: 0;\n height: 100%;\n cursor: pointer;\n width: 28px;\n z-index: 1;\n`;\n\nexport const StyledSelect = styled('select', {\n name: DSNativeSelectName,\n slot: DSNativeSelectSlots.INPUT,\n})`\n height: 28px;\n appearance: none;\n background-color: transparent;\n border: none;\n color: ${({ theme }) => theme.colors.neutral['700']};\n cursor: pointer;\n outline: none;\n padding: 0;\n width: 100%;\n text-align: left;\n &:disabled {\n color: ${({ theme }) => theme.colors.neutral['400']};\n cursor: not-allowed;\n }\n z-index: 2;\n padding-left: 8px;\n padding-right: 28px;\n`;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,QAAQ,WAAW;AAC5B,SAAS,YAAY;AACrB,SAAS,qBAAqB,0BAA0B;AAKxD,MAAM,eAAe;AAAA,sBACC,CAAC,EAAE,UAAU,MAAM,MAAO,WAAW,MAAM,OAAO,OAAO,GAAG,IAAI,MAAM,OAAO,QAAQ,GAAG;AAAA;AAE9G,MAAM,cAAc;AAAA,uBACG,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA;AAI5D,MAAM,cAAc;AAAA,sBACE,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAEpD,MAAM,wBAAwB,OAAO,MAAM;AAAA,EAChD,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA,gBACe,CAAC,EAAE,UAAU,MAAM,MAAO,WAAW,MAAM,OAAO,QAAQ,KAAK,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/E;AAAA;AAAA,MAEE,CAAC,EAAE,SAAS,MAAO,CAAC,WAAW,cAAc;AAAA;AAAA;AAAA,MAG7C;AAAA;AAAA;AAIC,MAAM,uBAAuB,OAAO,MAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASM,MAAM,eAAe,OAAO,UAAU;AAAA,EAC3C,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,WAKU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOvC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ hasError: boolean;
4
+ disabled: boolean;
5
+ children: React.ReactNode;
6
+ }
7
+ declare const DSNativeSelect: React.ComponentType<Props>;
8
+ declare const DSNativeSelectWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types.js").DocumentedReactComponent<Props>;
9
+ export { DSNativeSelect, DSNativeSelectWithSchema };
@@ -0,0 +1,6 @@
1
+ export declare const DSNativeSelectName = "DSNativeSelect";
2
+ export declare const DSNativeSelectSlots: {
3
+ readonly CONTAINER: "root";
4
+ readonly INPUT: "input";
5
+ readonly DROP_INDICATOR: "drop-indicator";
6
+ };
@@ -0,0 +1 @@
1
+ export * from './NativeSelect.js';
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ interface StyledControlsWrapperT {
3
+ hasError: boolean;
4
+ disabled: boolean;
5
+ }
6
+ export declare const StyledControlsWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, StyledControlsWrapperT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>>, never>;
7
+ export declare const StyledDropDownButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ForwardRefExoticComponent<import("@elliemae/ds-grid").DSGridT.Props & import("react").RefAttributes<HTMLDivElement>>>, never>;
8
+ export declare const StyledSelect: import("styled-components").StyledComponent<"select", import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"select">, never>;
9
+ export {};
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@elliemae/ds-form-native-select",
3
+ "version": "3.26.0-next.11",
4
+ "license": "MIT",
5
+ "description": "ICE MT - Dimsum - Form Native Select",
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
+ "@elliemae/ds-form-combobox": "3.26.0-next.11",
39
+ "@elliemae/ds-grid": "3.26.0-next.11",
40
+ "@elliemae/ds-icons": "3.26.0-next.11",
41
+ "@elliemae/ds-props-helpers": "3.26.0-next.11",
42
+ "@elliemae/ds-system": "3.26.0-next.11"
43
+ },
44
+ "devDependencies": {
45
+ "@elliemae/pui-cli": "~9.0.0-next.31",
46
+ "@elliemae/pui-theme": "~2.7.0",
47
+ "styled-components": "~5.3.9",
48
+ "styled-system": "~5.1.5",
49
+ "@elliemae/ds-monorepo-devops": "3.26.0-next.11"
50
+ },
51
+ "peerDependencies": {
52
+ "@elliemae/pui-theme": "~2.7.0",
53
+ "react": "^17.0.2",
54
+ "react-dom": "^17.0.2",
55
+ "styled-components": "~5.3.9",
56
+ "styled-system": "^5.1.5"
57
+ },
58
+ "publishConfig": {
59
+ "access": "public",
60
+ "typeSafety": false
61
+ },
62
+ "scripts": {
63
+ "dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
64
+ "test": "pui-cli test --passWithNoTests",
65
+ "lint": "node ../../../scripts/lint.mjs",
66
+ "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../../.eslintrc.js' src/",
67
+ "dts": "node ../../../scripts/dts.mjs",
68
+ "build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
69
+ "dev:build": "pnpm --filter {.}... build",
70
+ "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
71
+ "checkDeps": "npm exec ../../util/ds-codemods -- check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
72
+ }
73
+ }