@elliemae/ds-button-v2 3.12.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/DSButtonV2.js +73 -0
  2. package/dist/cjs/DSButtonV2.js.map +7 -0
  3. package/dist/cjs/DSButtonV2Definitions.js +40 -0
  4. package/dist/cjs/DSButtonV2Definitions.js.map +7 -0
  5. package/dist/cjs/config/useButtonRenderer.js +46 -0
  6. package/dist/cjs/config/useButtonRenderer.js.map +7 -0
  7. package/dist/cjs/config/useButtonV2.js +100 -0
  8. package/dist/cjs/config/useButtonV2.js.map +7 -0
  9. package/dist/cjs/config/useValidateProps.js +36 -0
  10. package/dist/cjs/config/useValidateProps.js.map +7 -0
  11. package/dist/cjs/constants.js +73 -0
  12. package/dist/cjs/constants.js.map +7 -0
  13. package/dist/cjs/index.js +37 -0
  14. package/dist/cjs/index.js.map +7 -0
  15. package/dist/cjs/react-desc-prop-types.js +62 -0
  16. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  17. package/dist/cjs/sharedTypes.js +24 -0
  18. package/dist/cjs/sharedTypes.js.map +7 -0
  19. package/dist/cjs/styles.js +213 -0
  20. package/dist/cjs/styles.js.map +7 -0
  21. package/dist/esm/DSButtonV2.js +47 -0
  22. package/dist/esm/DSButtonV2.js.map +7 -0
  23. package/dist/esm/DSButtonV2Definitions.js +14 -0
  24. package/dist/esm/DSButtonV2Definitions.js.map +7 -0
  25. package/dist/esm/config/useButtonRenderer.js +20 -0
  26. package/dist/esm/config/useButtonRenderer.js.map +7 -0
  27. package/dist/esm/config/useButtonV2.js +74 -0
  28. package/dist/esm/config/useButtonV2.js.map +7 -0
  29. package/dist/esm/config/useValidateProps.js +10 -0
  30. package/dist/esm/config/useValidateProps.js.map +7 -0
  31. package/dist/esm/constants.js +47 -0
  32. package/dist/esm/constants.js.map +7 -0
  33. package/dist/esm/index.js +11 -0
  34. package/dist/esm/index.js.map +7 -0
  35. package/dist/esm/react-desc-prop-types.js +48 -0
  36. package/dist/esm/react-desc-prop-types.js.map +7 -0
  37. package/dist/esm/sharedTypes.js +2 -0
  38. package/dist/esm/sharedTypes.js.map +7 -0
  39. package/dist/esm/styles.js +187 -0
  40. package/dist/esm/styles.js.map +7 -0
  41. package/package.json +94 -0
@@ -0,0 +1,187 @@
1
+ import * as React from "react";
2
+ import { css, styled, th, xStyledCommonProps } from "@elliemae/ds-system";
3
+ import { BUTTON_TYPES, BUTTON_SIZES, BUTTON_SHAPES, sizes } from "./constants";
4
+ import { DSButtonV2Slots, DSButtonV2Name } from "./DSButtonV2Definitions";
5
+ const pseudoBorder = css`
6
+ position: absolute;
7
+ content: '';
8
+ border-style: solid;
9
+ border-width: ${({ size, buttonType }) => size === BUTTON_SIZES.S && buttonType === BUTTON_TYPES.FILLED ? "1px" : "2px"};
10
+ ${({ buttonType, shape, theme }) => {
11
+ if (buttonType === BUTTON_TYPES.FILLED || buttonType === BUTTON_TYPES.ICON_FILLED) {
12
+ return `
13
+ top: 0;
14
+ left: 0;
15
+ width: 100%;
16
+ height: 100%;
17
+ border-color: ${theme.colors.neutral["000"]};
18
+ border-radius: ${shape !== BUTTON_SHAPES.DEFAULT ? "50%" : "0px"};
19
+ `;
20
+ }
21
+ return `
22
+ top: -1px;
23
+ left: -1px;
24
+ width: calc(100% + 2px);
25
+ height: calc(100% + 2px);
26
+ border-radius: ${shape !== BUTTON_SHAPES.DEFAULT ? "50%" : "2px"};
27
+ `;
28
+ }}
29
+ `;
30
+ const fontSizeSettings = css`
31
+ ${({ theme, size, buttonType }) => {
32
+ switch (size) {
33
+ case BUTTON_SIZES.S:
34
+ if (buttonType === BUTTON_TYPES.TEXT)
35
+ return `font-size: ${theme.fontSizes.label[200]};`;
36
+ return `font-size: ${theme.fontSizes.label[300]};`;
37
+ case BUTTON_SIZES.L:
38
+ return `
39
+ font-size: ${theme.fontSizes.value[600]};
40
+ `;
41
+ default:
42
+ return `
43
+ font-size: ${theme.fontSizes.value[500]};
44
+ `;
45
+ }
46
+ }}
47
+ `;
48
+ const RawButton = styled("button", {
49
+ name: DSButtonV2Name,
50
+ slot: DSButtonV2Slots.ROOT
51
+ })`
52
+ outline: none;
53
+ border: none;
54
+ background: transparent;
55
+ &:hover {
56
+ background: transparent;
57
+ }
58
+ `;
59
+ const DefaultButton = styled(RawButton)`
60
+ display: inline-grid;
61
+ grid-gap: 8px;
62
+ position: relative;
63
+ grid-auto-flow: column;
64
+ place-items: center;
65
+ align-items: center;
66
+ justify-items: center;
67
+ width: fit-content;
68
+ cursor: pointer;
69
+ font-weight: 600;
70
+ padding: ${({ theme, buttonType }) => buttonType !== BUTTON_TYPES.ICON && buttonType !== BUTTON_TYPES.ICON_OUTLINE && buttonType !== BUTTON_TYPES.ICON_FILLED ? `0 ${theme.space.xs}` : "0"};
71
+ border-style: solid;
72
+ height: ${({ size }) => sizes[size]};
73
+ min-width: ${({ size }) => sizes[size]};
74
+ border-radius: ${({ shape }) => shape === BUTTON_SHAPES.DEFAULT ? "2px" : "50%"};
75
+ ${fontSizeSettings}
76
+ ${({ buttonType }) => buttonType === BUTTON_TYPES.TEXT ? "text-transform: uppercase;" : ""}
77
+ &[aria-disabled='true'] {
78
+ cursor: not-allowed;
79
+ }
80
+ ${xStyledCommonProps}
81
+ `;
82
+ const FilledButton = styled(DefaultButton)`
83
+ background-color: ${th.color("brand-600")};
84
+ border-color: ${th.color("brand-600")};
85
+ color: ${th.color("neutral-000")};
86
+ border-width: ${({ size }) => size === "s" ? "1px;" : "2px"};
87
+ &:focus,
88
+ &[data-testemulatestate='focus'] {
89
+ &:after {
90
+ ${pseudoBorder}
91
+ }
92
+ border-color: brand-700;
93
+ }
94
+ & .em-ds-icon svg {
95
+ fill: neutral-000;
96
+ }
97
+ &:hover,
98
+ &:active,
99
+ &[data-testemulatestate='hover'],
100
+ &[data-testemulatestate='active'] {
101
+ background-color: brand-700;
102
+ border-color: brand-700;
103
+ }
104
+ &[aria-disabled='true'] {
105
+ background-color: neutral-100;
106
+ border-color: neutral-100;
107
+ color: #5c6574;
108
+ & .em-ds-icon svg {
109
+ fill: #5c6574;
110
+ }
111
+ }
112
+ `;
113
+ const OutlineButton = styled(DefaultButton)`
114
+ background: ${th.color("neutral-000")};
115
+ border-color: ${th.color("neutral-400")};
116
+ color: ${th.color("brand-600")};
117
+ border-width: 1px;
118
+ &:focus,
119
+ &[data-testemulatestate='focus'] {
120
+ &:after {
121
+ ${pseudoBorder}
122
+ border-color: brand-600;
123
+ }
124
+ }
125
+ & .em-ds-icon svg {
126
+ fill: brand-600;
127
+ }
128
+ &:hover,
129
+ &:active,
130
+ &[data-testemulatestate='hover'],
131
+ &[data-testemulatestate='active'] {
132
+ border-color: brand-700;
133
+ color: brand-700;
134
+ & .em-ds-icon svg {
135
+ fill: brand-700;
136
+ }
137
+ }
138
+ &:disabled {
139
+ border-color: neutral-400;
140
+ color: neutral-500;
141
+ & .em-ds-icon svg {
142
+ fill: neutral-500;
143
+ }
144
+ }
145
+ `;
146
+ const TextButton = styled(DefaultButton)`
147
+ border-color: transparent;
148
+ background-color: transparent;
149
+ border-width: 1px;
150
+ &:focus,
151
+ &[data-testemulatestate='focus'] {
152
+ &:after {
153
+ ${pseudoBorder}
154
+ border-color: brand-700;
155
+ }
156
+ }
157
+ color: brand-700;
158
+ & .em-ds-icon svg {
159
+ fill: brand-700;
160
+ }
161
+ &:hover:not([aria-disabled='true']),
162
+ &[data-testemulatestate='hover'] {
163
+ background-color: brand-200;
164
+ color: brand-700;
165
+ & .em-ds-icon svg {
166
+ fill: brand-700;
167
+ }
168
+ }
169
+ &:active,
170
+ &[data-testemulatestate='active'] {
171
+ color: brand-700;
172
+ }
173
+ &[aria-disabled='true'] {
174
+ color: neutral-500;
175
+ & .em-ds-icon svg {
176
+ fill: neutral-500;
177
+ }
178
+ }
179
+ `;
180
+ export {
181
+ DefaultButton,
182
+ FilledButton,
183
+ OutlineButton,
184
+ RawButton,
185
+ TextButton
186
+ };
187
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/styles.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { type ComponentType } from 'react';\nimport { css, styled, th, xStyledCommonProps } from '@elliemae/ds-system';\nimport { BUTTON_TYPES, BUTTON_SIZES, BUTTON_SHAPES, sizes } from './constants';\nimport type { ButtonShapesT, ButtonSizesT, ButtonTypesT } from './sharedTypes';\nimport type { DSButtonT } from './react-desc-prop-types';\nimport { DSButtonV2Slots, DSButtonV2Name } from './DSButtonV2Definitions';\n\nexport interface StyledButtonPropsT {\n size: ButtonSizesT;\n buttonType: ButtonTypesT;\n shape: ButtonShapesT;\n}\n\nconst pseudoBorder = css<StyledButtonPropsT>`\n position: absolute;\n content: '';\n border-style: solid;\n border-width: ${({ size, buttonType }) =>\n size === BUTTON_SIZES.S && buttonType === BUTTON_TYPES.FILLED ? '1px' : '2px'};\n ${({ buttonType, shape, theme }) => {\n if (buttonType === BUTTON_TYPES.FILLED || buttonType === BUTTON_TYPES.ICON_FILLED) {\n return `\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-color: ${theme.colors.neutral['000']};\n border-radius: ${shape !== BUTTON_SHAPES.DEFAULT ? '50%' : '0px'};\n `;\n }\n return `\n top: -1px;\n left: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n border-radius: ${shape !== BUTTON_SHAPES.DEFAULT ? '50%' : '2px'};\n`;\n }}\n`;\n\nconst fontSizeSettings = css<StyledButtonPropsT>`\n ${({ theme, size, buttonType }) => {\n switch (size) {\n case BUTTON_SIZES.S:\n if (buttonType === BUTTON_TYPES.TEXT) return `font-size: ${theme.fontSizes.label[200]};`;\n return `font-size: ${theme.fontSizes.label[300]};`;\n case BUTTON_SIZES.L:\n return `\n font-size: ${theme.fontSizes.value[600]};\n `;\n default:\n return `\n font-size: ${theme.fontSizes.value[500]};\n `;\n }\n }}\n`;\nexport const RawButton = styled('button', {\n name: DSButtonV2Name,\n slot: DSButtonV2Slots.ROOT,\n})<DSButtonT.Props>`\n outline: none;\n border: none;\n background: transparent;\n &:hover {\n background: transparent;\n }\n`;\n\nexport const DefaultButton = styled(RawButton)<StyledButtonPropsT>`\n display: inline-grid;\n grid-gap: 8px;\n position: relative;\n grid-auto-flow: column;\n place-items: center;\n align-items: center;\n justify-items: center;\n width: fit-content;\n cursor: pointer;\n font-weight: 600;\n padding: ${({ theme, buttonType }) =>\n buttonType !== BUTTON_TYPES.ICON &&\n buttonType !== BUTTON_TYPES.ICON_OUTLINE &&\n buttonType !== BUTTON_TYPES.ICON_FILLED\n ? `0 ${theme.space.xs}`\n : '0'};\n border-style: solid;\n height: ${({ size }) => sizes[size]};\n min-width: ${({ size }) => sizes[size]};\n border-radius: ${({ shape }) => (shape === BUTTON_SHAPES.DEFAULT ? '2px' : '50%')};\n ${fontSizeSettings}\n ${({ buttonType }) => (buttonType === BUTTON_TYPES.TEXT ? 'text-transform: uppercase;' : '')}\n &[aria-disabled='true'] {\n cursor: not-allowed;\n }\n ${xStyledCommonProps}\n`;\n\nexport const FilledButton = styled(DefaultButton)<StyledButtonPropsT>`\n background-color: ${th.color('brand-600')};\n border-color: ${th.color('brand-600')};\n color: ${th.color('neutral-000')};\n border-width: ${({ size }) => (size === 's' ? '1px;' : '2px')};\n &:focus,\n &[data-testemulatestate='focus'] {\n &:after {\n ${pseudoBorder}\n }\n border-color: brand-700;\n }\n & .em-ds-icon svg {\n fill: neutral-000;\n }\n &:hover,\n &:active,\n &[data-testemulatestate='hover'],\n &[data-testemulatestate='active'] {\n background-color: brand-700;\n border-color: brand-700;\n }\n &[aria-disabled='true'] {\n background-color: neutral-100;\n border-color: neutral-100;\n color: #5c6574;\n & .em-ds-icon svg {\n fill: #5c6574;\n }\n }\n`;\n\nexport const OutlineButton = styled(DefaultButton)`\n background: ${th.color('neutral-000')};\n border-color: ${th.color('neutral-400')};\n color: ${th.color('brand-600')};\n border-width: 1px;\n &:focus,\n &[data-testemulatestate='focus'] {\n &:after {\n ${pseudoBorder}\n border-color: brand-600;\n }\n }\n & .em-ds-icon svg {\n fill: brand-600;\n }\n &:hover,\n &:active,\n &[data-testemulatestate='hover'],\n &[data-testemulatestate='active'] {\n border-color: brand-700;\n color: brand-700;\n & .em-ds-icon svg {\n fill: brand-700;\n }\n }\n &:disabled {\n border-color: neutral-400;\n color: neutral-500;\n & .em-ds-icon svg {\n fill: neutral-500;\n }\n }\n`;\n\nexport const TextButton = styled(DefaultButton)`\n border-color: transparent;\n background-color: transparent;\n border-width: 1px;\n &:focus,\n &[data-testemulatestate='focus'] {\n &:after {\n ${pseudoBorder}\n border-color: brand-700;\n }\n }\n color: brand-700;\n & .em-ds-icon svg {\n fill: brand-700;\n }\n &:hover:not([aria-disabled='true']),\n &[data-testemulatestate='hover'] {\n background-color: brand-200;\n color: brand-700;\n & .em-ds-icon svg {\n fill: brand-700;\n }\n }\n &:active,\n &[data-testemulatestate='active'] {\n color: brand-700;\n }\n &[aria-disabled='true'] {\n color: neutral-500;\n & .em-ds-icon svg {\n fill: neutral-500;\n }\n }\n`;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
package/package.json ADDED
@@ -0,0 +1,94 @@
1
+ {
2
+ "name": "@elliemae/ds-button-v2",
3
+ "version": "3.12.0-rc.5",
4
+ "license": "MIT",
5
+ "description": "ICE MT - Dimsum - Button",
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
+ "./styles": {
18
+ "import": "./dist/esm/styles.js",
19
+ "require": "./dist/cjs/styles.js"
20
+ },
21
+ "./sharedTypes": {
22
+ "import": "./dist/esm/sharedTypes.js",
23
+ "require": "./dist/cjs/sharedTypes.js"
24
+ },
25
+ "./propTypes": {
26
+ "import": "./dist/esm/propTypes.js",
27
+ "require": "./dist/cjs/propTypes.js"
28
+ },
29
+ "./DSButtonV2": {
30
+ "import": "./dist/esm/DSButtonV2.js",
31
+ "require": "./dist/cjs/DSButtonV2.js"
32
+ },
33
+ "./defaultProps": {
34
+ "import": "./dist/esm/defaultProps.js",
35
+ "require": "./dist/cjs/defaultProps.js"
36
+ },
37
+ "./constants": {
38
+ "import": "./dist/esm/constants.js",
39
+ "require": "./dist/cjs/constants.js"
40
+ },
41
+ "./config/useConfig": {
42
+ "import": "./dist/esm/config/useConfig.js",
43
+ "require": "./dist/cjs/config/useConfig.js"
44
+ }
45
+ },
46
+ "sideEffects": [
47
+ "*.css",
48
+ "*.scss"
49
+ ],
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "https://git.elliemae.io/platform-ui/dimsum.git"
53
+ },
54
+ "engines": {
55
+ "pnpm": ">=6",
56
+ "node": ">=16"
57
+ },
58
+ "author": "ICE MT",
59
+ "jestSonar": {
60
+ "sonar56x": true,
61
+ "reportPath": "reports",
62
+ "reportFile": "tests.xml",
63
+ "indent": 4
64
+ },
65
+ "dependencies": {
66
+ "@elliemae/ds-system": "3.12.0-rc.5",
67
+ "@elliemae/ds-utilities": "3.12.0-rc.5"
68
+ },
69
+ "devDependencies": {
70
+ "@testing-library/jest-dom": "~5.16.4",
71
+ "@testing-library/react": "~12.1.3",
72
+ "styled-components": "~5.3.6"
73
+ },
74
+ "peerDependencies": {
75
+ "react": "^17.0.2",
76
+ "react-dom": "^17.0.2",
77
+ "styled-components": "~5.3.6"
78
+ },
79
+ "publishConfig": {
80
+ "access": "public",
81
+ "typeSafety": false
82
+ },
83
+ "scripts": {
84
+ "dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
85
+ "test": "node ../../scripts/testing/test.mjs",
86
+ "lint": "node ../../scripts/lint.mjs",
87
+ "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../.eslintrc.js' src/",
88
+ "dts": "node ../../scripts/dts.mjs",
89
+ "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
90
+ "dev:build": "pnpm --filter {.}... build && pnpm --filter {.}... dts",
91
+ "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
92
+ "checkDeps": "npx -yes ../ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
93
+ }
94
+ }