@mmb-digital/design-system-web 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/.babelrc.json +16 -0
  2. package/.eslintrc.js +165 -0
  3. package/.prettierrc.js +15 -0
  4. package/.storybook/main.ts +23 -0
  5. package/.storybook/preview.tsx +27 -0
  6. package/dist/cjs/index.js +131 -0
  7. package/dist/cjs/index.js.map +1 -0
  8. package/dist/cjs/types/jest.config.d.ts +7 -0
  9. package/dist/cjs/types/src/components/button/button.d.ts +4 -0
  10. package/dist/cjs/types/src/components/button/button.styles.d.ts +4 -0
  11. package/dist/cjs/types/src/components/button/button.test.d.ts +1 -0
  12. package/dist/cjs/types/src/components/button/button.types.d.ts +29 -0
  13. package/dist/cjs/types/src/components/form/hint/formHint.d.ts +4 -0
  14. package/dist/cjs/types/src/components/form/hint/formHint.style.d.ts +1 -0
  15. package/dist/cjs/types/src/components/form/hint/formHint.types.d.ts +4 -0
  16. package/dist/cjs/types/src/components/slider/slider/slider.d.ts +5 -0
  17. package/dist/cjs/types/src/components/slider/slider/slider.style.d.ts +5 -0
  18. package/dist/cjs/types/src/components/slider/slider/slider.types.d.ts +47 -0
  19. package/dist/cjs/types/src/components/slider/slider/sliderFunction/default/sliderFunctionDefault.d.ts +2 -0
  20. package/dist/cjs/types/src/components/slider/slider/sliderFunction/default/sliderStep.d.ts +7 -0
  21. package/dist/cjs/types/src/components/slider/slider/sliderFunction/default/sliderStep.test.d.ts +1 -0
  22. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderFunctionLinearVisualSteps.d.ts +2 -0
  23. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderMax.d.ts +8 -0
  24. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderMax.test.d.ts +1 -0
  25. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderValueByValue.d.ts +9 -0
  26. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderValueByValue.test.d.ts +1 -0
  27. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/valueBySliderValue.d.ts +2 -0
  28. package/dist/cjs/types/src/components/slider/slider/sliderFunction/linearVisualSteps/valueBySliderValue.test.d.ts +1 -0
  29. package/dist/cjs/types/src/components/slider/slider/sliderHandleSvgHandler.d.ts +2 -0
  30. package/dist/cjs/types/src/components/storeButton/assets/androidSvg.d.ts +8 -0
  31. package/dist/cjs/types/src/components/storeButton/assets/appleSvg.d.ts +8 -0
  32. package/dist/cjs/types/src/components/storeButton/storeButton.d.ts +4 -0
  33. package/dist/cjs/types/src/components/storeButton/storeButton.styles.d.ts +3 -0
  34. package/dist/cjs/types/src/components/storeButton/storeButton.test.d.ts +1 -0
  35. package/dist/cjs/types/src/components/storeButton/storeButton.types.d.ts +13 -0
  36. package/dist/cjs/types/src/icons/systemIcon.d.ts +8 -0
  37. package/dist/cjs/types/src/index.d.ts +1 -0
  38. package/dist/cjs/types/src/provider/storybook/storybookProvider.d.ts +4 -0
  39. package/dist/cjs/types/src/provider/storybook/storybookProvider.types.d.ts +4 -0
  40. package/dist/cjs/types/src/provider/styledComponents/theme/styledComponentsThemeProvider.d.ts +4 -0
  41. package/dist/cjs/types/src/provider/styledComponents/theme/styledComponentsThemeProvider.types..d.ts +4 -0
  42. package/dist/cjs/types/src/style/styledComponents/theme.d.ts +441 -0
  43. package/dist/esm/index.js +131 -0
  44. package/dist/esm/index.js.map +1 -0
  45. package/dist/esm/types/jest.config.d.ts +7 -0
  46. package/dist/esm/types/src/components/button/button.d.ts +4 -0
  47. package/dist/esm/types/src/components/button/button.styles.d.ts +4 -0
  48. package/dist/esm/types/src/components/button/button.test.d.ts +1 -0
  49. package/dist/esm/types/src/components/button/button.types.d.ts +29 -0
  50. package/dist/esm/types/src/components/form/hint/formHint.d.ts +4 -0
  51. package/dist/esm/types/src/components/form/hint/formHint.style.d.ts +1 -0
  52. package/dist/esm/types/src/components/form/hint/formHint.types.d.ts +4 -0
  53. package/dist/esm/types/src/components/slider/slider/slider.d.ts +5 -0
  54. package/dist/esm/types/src/components/slider/slider/slider.style.d.ts +5 -0
  55. package/dist/esm/types/src/components/slider/slider/slider.types.d.ts +47 -0
  56. package/dist/esm/types/src/components/slider/slider/sliderFunction/default/sliderFunctionDefault.d.ts +2 -0
  57. package/dist/esm/types/src/components/slider/slider/sliderFunction/default/sliderStep.d.ts +7 -0
  58. package/dist/esm/types/src/components/slider/slider/sliderFunction/default/sliderStep.test.d.ts +1 -0
  59. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderFunctionLinearVisualSteps.d.ts +2 -0
  60. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderMax.d.ts +8 -0
  61. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderMax.test.d.ts +1 -0
  62. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderValueByValue.d.ts +9 -0
  63. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderValueByValue.test.d.ts +1 -0
  64. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/valueBySliderValue.d.ts +2 -0
  65. package/dist/esm/types/src/components/slider/slider/sliderFunction/linearVisualSteps/valueBySliderValue.test.d.ts +1 -0
  66. package/dist/esm/types/src/components/slider/slider/sliderHandleSvgHandler.d.ts +2 -0
  67. package/dist/esm/types/src/components/storeButton/assets/androidSvg.d.ts +8 -0
  68. package/dist/esm/types/src/components/storeButton/assets/appleSvg.d.ts +8 -0
  69. package/dist/esm/types/src/components/storeButton/storeButton.d.ts +4 -0
  70. package/dist/esm/types/src/components/storeButton/storeButton.styles.d.ts +3 -0
  71. package/dist/esm/types/src/components/storeButton/storeButton.test.d.ts +1 -0
  72. package/dist/esm/types/src/components/storeButton/storeButton.types.d.ts +13 -0
  73. package/dist/esm/types/src/icons/systemIcon.d.ts +8 -0
  74. package/dist/esm/types/src/index.d.ts +1 -0
  75. package/dist/esm/types/src/provider/storybook/storybookProvider.d.ts +4 -0
  76. package/dist/esm/types/src/provider/storybook/storybookProvider.types.d.ts +4 -0
  77. package/dist/esm/types/src/provider/styledComponents/theme/styledComponentsThemeProvider.d.ts +4 -0
  78. package/dist/esm/types/src/provider/styledComponents/theme/styledComponentsThemeProvider.types..d.ts +4 -0
  79. package/dist/esm/types/src/style/styledComponents/theme.d.ts +441 -0
  80. package/jest.config.ts +197 -0
  81. package/package.json +97 -0
  82. package/readme.md +39 -0
  83. package/rollup.config.js +33 -0
  84. package/src/@types/json.d.ts +5 -0
  85. package/src/@types/styledComponentCssProps.d.ts +11 -0
  86. package/src/@types/styledComponentTheme.d.ts +9 -0
  87. package/src/components/button/button.stories.tsx +97 -0
  88. package/src/components/button/button.styles.ts +162 -0
  89. package/src/components/button/button.test.tsx +25 -0
  90. package/src/components/button/button.tsx +31 -0
  91. package/src/components/button/button.types.ts +33 -0
  92. package/src/components/form/hint/formHint.style.ts +10 -0
  93. package/src/components/form/hint/formHint.tsx +13 -0
  94. package/src/components/form/hint/formHint.types.ts +5 -0
  95. package/src/components/slider/slider/slider.stories.tsx +176 -0
  96. package/src/components/slider/slider/slider.style.ts +29 -0
  97. package/src/components/slider/slider/slider.tsx +136 -0
  98. package/src/components/slider/slider/slider.types.ts +58 -0
  99. package/src/components/slider/slider/sliderFunction/default/sliderFunctionDefault.ts +21 -0
  100. package/src/components/slider/slider/sliderFunction/default/sliderStep.test.ts +90 -0
  101. package/src/components/slider/slider/sliderFunction/default/sliderStep.ts +18 -0
  102. package/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderFunctionLinearVisualSteps.ts +28 -0
  103. package/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderMax.test.ts +83 -0
  104. package/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderMax.ts +34 -0
  105. package/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderValueByValue.test.ts +249 -0
  106. package/src/components/slider/slider/sliderFunction/linearVisualSteps/sliderValueByValue.ts +41 -0
  107. package/src/components/slider/slider/sliderFunction/linearVisualSteps/valueBySliderValue.test.ts +204 -0
  108. package/src/components/slider/slider/sliderFunction/linearVisualSteps/valueBySliderValue.ts +35 -0
  109. package/src/components/slider/slider/sliderHandleSvgHandler.ts +26 -0
  110. package/src/components/storeButton/assets/androidSvg.tsx +159 -0
  111. package/src/components/storeButton/assets/appleSvg.tsx +31 -0
  112. package/src/components/storeButton/storeButton.stories.tsx +67 -0
  113. package/src/components/storeButton/storeButton.styles.ts +36 -0
  114. package/src/components/storeButton/storeButton.test.tsx +22 -0
  115. package/src/components/storeButton/storeButton.tsx +30 -0
  116. package/src/components/storeButton/storeButton.types.tsx +15 -0
  117. package/src/icons/systemIcon.tsx +26 -0
  118. package/src/index.ts +1 -0
  119. package/src/provider/storybook/storybookProvider.tsx +11 -0
  120. package/src/provider/storybook/storybookProvider.types.ts +5 -0
  121. package/src/provider/styledComponents/theme/styledComponentsThemeProvider.tsx +14 -0
  122. package/src/provider/styledComponents/theme/styledComponentsThemeProvider.types..ts +5 -0
  123. package/src/style/styledComponents/mmb_variables-5224.json +958 -0
  124. package/src/style/styledComponents/theme.ts +450 -0
  125. package/stylelint.config.js +15 -0
  126. package/tsconfig.json +29 -0
  127. package/tsconfig.tsbuildinfo +1 -0
package/.babelrc.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "sourceType": "unambiguous",
3
+ "presets": [
4
+ [
5
+ "@babel/preset-env",
6
+ {
7
+ "targets": {
8
+ "chrome": 100
9
+ }
10
+ }
11
+ ],
12
+ "@babel/preset-typescript",
13
+ "@babel/preset-react"
14
+ ],
15
+ "plugins": []
16
+ }
package/.eslintrc.js ADDED
@@ -0,0 +1,165 @@
1
+ module.exports = {
2
+ settings: {
3
+ react: {
4
+ version: 'detect',
5
+ },
6
+ },
7
+ extends: [
8
+ 'plugin:@typescript-eslint/recommended-type-checked',
9
+ 'plugin:@typescript-eslint/stylistic-type-checked',
10
+ 'plugin:storybook/recommended',
11
+ 'eslint:recommended',
12
+ 'plugin:react/recommended',
13
+ 'plugin:react-hooks/recommended',
14
+ ],
15
+ plugins: ['typescript-sort-keys', '@typescript-eslint', 'unicorn', 'sort-destructure-keys', 'import', 'react-hooks'],
16
+ parser: '@typescript-eslint/parser',
17
+ parserOptions: {
18
+ project: ['./tsconfig.json'],
19
+ // project: true,
20
+ tsconfigRootDir: __dirname,
21
+ },
22
+ root: true,
23
+ env: {
24
+ jest: true,
25
+ browser: true,
26
+ es2023: true,
27
+ },
28
+ rules: {
29
+ 'typescript-sort-keys/interface': 'error',
30
+ 'typescript-sort-keys/string-enum': 'error',
31
+ 'react/jsx-boolean-value': ['error', 'always'],
32
+ '@typescript-eslint/strict-boolean-expressions': ['error', {}],
33
+ '@typescript-eslint/no-empty-interface': 0,
34
+ '@typescript-eslint/ban-ts-comment': 0,
35
+ 'func-style': ['error', 'expression'],
36
+ 'prefer-arrow-callback': 'error',
37
+ 'no-new-object': 'error',
38
+ 'no-var': 'error',
39
+ 'no-array-constructor': 'error',
40
+ 'default-case': 'error',
41
+ 'max-classes-per-file': 1,
42
+ 'no-else-return': 'error',
43
+ 'prefer-template': 'error',
44
+ 'default-case-last': 'error',
45
+ 'no-useless-rename': [
46
+ 'error',
47
+ {
48
+ ignoreDestructuring: false,
49
+ ignoreImport: false,
50
+ ignoreExport: false,
51
+ },
52
+ ],
53
+ 'import/newline-after-import': [
54
+ 'error',
55
+ {
56
+ count: 1,
57
+ },
58
+ ],
59
+ 'import/no-cycle': 'error',
60
+ 'object-shorthand': ['error', 'never'],
61
+ 'unicorn/throw-new-error': 'error',
62
+ 'unicorn/prefer-number-properties': 'error',
63
+ 'unicorn/prefer-array-index-of': 'error',
64
+ 'unicorn/prefer-array-some': 'error',
65
+ 'unicorn/prefer-array-find': 'error',
66
+ 'unicorn/no-nested-ternary': 'error',
67
+ 'unicorn/no-new-array': 'error',
68
+ 'unicorn/prefer-includes': 'error',
69
+ 'unicorn/error-message': 'error',
70
+ 'unicorn/no-zero-fractions': 'error',
71
+ 'unicorn/filename-case': [
72
+ 'error',
73
+ {
74
+ cases: {
75
+ camelCase: true,
76
+ },
77
+ ignore: ['not-found.tsx'],
78
+ },
79
+ ],
80
+ '@typescript-eslint/naming-convention': [
81
+ 'error',
82
+ {
83
+ selector: 'variableLike',
84
+ format: ['camelCase'],
85
+ },
86
+ {
87
+ selector: 'function',
88
+ format: ['camelCase'],
89
+ },
90
+ {
91
+ selector: 'variable',
92
+ format: ['camelCase', 'PascalCase'],
93
+ },
94
+ {
95
+ selector: 'parameter',
96
+ format: ['camelCase'],
97
+ leadingUnderscore: 'forbid',
98
+ },
99
+ {
100
+ selector: 'typeLike',
101
+ format: ['PascalCase'],
102
+ },
103
+ {
104
+ selector: 'objectLiteralProperty',
105
+ format: ['camelCase'],
106
+ filter: {
107
+ regex: '^(?!Content-Type|Cache-Control|Channel|__html).*$',
108
+ match: true,
109
+ },
110
+ },
111
+ ],
112
+ '@typescript-eslint/array-type': 'error',
113
+ '@typescript-eslint/prefer-reduce-type-parameter': 'error',
114
+ '@typescript-eslint/prefer-string-starts-ends-with': 'error',
115
+ 'react/jsx-fragments': ['error', 'syntax'],
116
+ '@typescript-eslint/sort-type-constituents': 'error',
117
+ 'react/jsx-sort-props': [
118
+ 'error',
119
+ {
120
+ callbacksLast: true,
121
+ shorthandFirst: false,
122
+ shorthandLast: false,
123
+ ignoreCase: true,
124
+ noSortAlphabetically: false,
125
+ reservedFirst: ['key'],
126
+ },
127
+ ],
128
+ '@typescript-eslint/no-misused-promises': [
129
+ 'error',
130
+ {
131
+ checksVoidReturn: false,
132
+ },
133
+ ],
134
+ 'sort-destructure-keys/sort-destructure-keys': [
135
+ 2,
136
+ {
137
+ caseSensitive: false,
138
+ },
139
+ ],
140
+ 'unicorn/prefer-type-error': 'error',
141
+ 'unicorn/no-typeof-undefined': 'error',
142
+ 'unicorn/no-useless-spread': 'error',
143
+ 'unicorn/number-literal-case': 'error',
144
+ 'unicorn/numeric-separators-style': 'error',
145
+ 'unicorn/no-array-push-push': 'error',
146
+ 'unicorn/prefer-object-from-entries': 'error',
147
+ '@typescript-eslint/prefer-nullish-coalescing': 0,
148
+ '@typescript-eslint/no-mixed-enums': 'error',
149
+ '@typescript-eslint/no-floating-promises': 'error',
150
+ '@typescript-eslint/no-unnecessary-condition': 'error',
151
+ '@typescript-eslint/no-require-imports': 'error',
152
+ 'padding-line-between-statements': 'off',
153
+ '@typescript-eslint/padding-line-between-statements': [
154
+ 'error',
155
+ {
156
+ blankLine: 'always',
157
+ prev: '*',
158
+ next: ['interface', 'type', 'return'],
159
+ },
160
+ ],
161
+ complexity: ['error', 10],
162
+ 'react/no-unknown-property': ['error', { ignore: ['css'] }],
163
+ 'no-mixed-spaces-and-tabs': 0,
164
+ },
165
+ };
package/.prettierrc.js ADDED
@@ -0,0 +1,15 @@
1
+ module.exports = {
2
+ arrowParens: 'always',
3
+ bracketSpacing: true,
4
+ bracketSameLine: false,
5
+ jsxSingleQuote: false,
6
+ printWidth: 160,
7
+ quoteProps: 'as-needed',
8
+ singleQuote: true,
9
+ trailingComma: 'all',
10
+ parser: 'typescript',
11
+ proseWrap: 'preserve',
12
+ endOfLine: 'auto',
13
+ singleAttributePerLine: true,
14
+ useTabs: true,
15
+ };
@@ -0,0 +1,23 @@
1
+ import type { StorybookConfig } from '@storybook/react-webpack5';
2
+ // @ts-ignore
3
+ import path from 'path';
4
+ const config: StorybookConfig = {
5
+ stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
6
+ addons: ['@storybook/addon-links', '@storybook/addon-essentials', '@storybook/addon-interactions'],
7
+ framework: {
8
+ name: '@storybook/react-webpack5',
9
+ options: {},
10
+ },
11
+ webpackFinal: async (config, { configType }) => {
12
+ config.resolve.alias['@'] = path.resolve(__dirname, '../src/');
13
+ return config;
14
+ },
15
+ babel: (config) => {
16
+ config.plugins?.push('babel-plugin-styled-components');
17
+ return config;
18
+ },
19
+ docs: {
20
+ autodocs: 'tag',
21
+ },
22
+ };
23
+ export default config;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+
3
+ import type { Preview } from '@storybook/react';
4
+ import StorybookProvider from '../src/provider/storybook/storybookProvider';
5
+
6
+ const preview: Preview = {
7
+ parameters: {
8
+ actions: { argTypesRegex: '^on[A-Z].*' },
9
+ controls: {
10
+ matchers: {
11
+ color: /(background|color)$/i,
12
+ date: /Date$/,
13
+ },
14
+ },
15
+ },
16
+ };
17
+
18
+ export default preview;
19
+
20
+ export const decorators = [
21
+ (storyFn: any) => {
22
+ return <StorybookProvider>{storyFn()}</StorybookProvider>;
23
+ },
24
+ (storyFn: any) => {
25
+ return <>{storyFn()}</>;
26
+ },
27
+ ];
@@ -0,0 +1,131 @@
1
+ "use strict";require("react");var e,t,o,s=require("styled-components");!function(e){e.PRIMARY="primary",e.SECONDARY="secondary",e.TERTIARY="tertiary"}(e||(e={})),function(e){e.MD="md",e.SM="sm",e.XL="xl",e.XS="xs",e.XXL="xxl"}(t||(t={})),function(e){e.BUTTON="button",e.RESET="reset",e.SUBMIT="submit"}(o||(o={})),s.button`
2
+ /* common styles */
3
+ display: flex;
4
+ flex-shrink: 0;
5
+ align-items: center;
6
+ justify-content: center;
7
+ cursor: pointer;
8
+
9
+ /* type specific styles */
10
+ ${({buttonStyle:t})=>{switch(t){case e.PRIMARY:return s.css`
11
+ color: ${({theme:e})=>e.colors.fg.neutral.white.light};
12
+ background-color: ${({theme:e})=>e.colors.bg.brand.bold.light};
13
+ border: 1px solid ${({theme:e})=>e.colors.border.brand.bold.light};
14
+
15
+ &:hover {
16
+ background-color: ${({theme:e})=>e.colors.bg.brand.bold.hover.light};
17
+ }
18
+
19
+ &:focus {
20
+ box-shadow: ${({theme:e})=>e.colors.shadow.buttonFocus};
21
+ }
22
+
23
+ &:active {
24
+ background-color: ${({theme:e})=>e.colors.bg.brand.bold.pressed.light};
25
+ }
26
+
27
+ &:disabled {
28
+ color: ${({theme:e})=>e.colors.fg.disabled.light};
29
+ background-color: ${({theme:e})=>e.colors.bg.disabled.light};
30
+ border: 1px solid ${({theme:e})=>e.colors.bg.disabled.light};
31
+ }
32
+ `;case e.SECONDARY:return s.css`
33
+ color: ${({theme:e})=>e.colors.fg.neutral.subtle.light};
34
+ background-color: ${({theme:e})=>e.colors.bg.neutral.white.light};
35
+ border: 1px solid ${({theme:e})=>e.colors.border.neutral.subtle.light};
36
+
37
+ &:hover {
38
+ background-color: ${({theme:e})=>e.colors.bg.brand.default.light};
39
+ border: 2px solid ${({theme:e})=>e.colors.border.brand.subtle.light};
40
+ }
41
+
42
+ &:focus {
43
+ box-shadow: ${({theme:e})=>e.colors.shadow.buttonFocus};
44
+ }
45
+
46
+ &:active {
47
+ background-color: ${({theme:e})=>e.colors.bg.brand.default.pressed.light};
48
+ border: 2px solid ${({theme:e})=>e.colors.border.brand.subtle.light};
49
+ }
50
+
51
+ &:disabled {
52
+ color: ${({theme:e})=>e.colors.fg.disabled.light};
53
+ background-color: ${({theme:e})=>e.colors.bg.neutral.white.light};
54
+ border: 1px solid ${({theme:e})=>e.colors.bg.disabled.light};
55
+ }
56
+ `;case e.TERTIARY:return s.css`
57
+ color: ${({theme:e})=>e.colors.fg.neutral.subtle.light};
58
+ background-color: ${({theme:e})=>e.colors.bg.neutral.white.light};
59
+ border: none;
60
+
61
+ &:hover {
62
+ background-color: ${({theme:e})=>e.colors.bg.brand.default.light};
63
+ }
64
+
65
+ &:focus {
66
+ box-shadow: ${({theme:e})=>e.colors.shadow.buttonFocus};
67
+ }
68
+
69
+ &:active {
70
+ background-color: ${({theme:e})=>e.colors.bg.brand.default.pressed.light};
71
+ }
72
+
73
+ &:disabled {
74
+ color: ${({theme:e})=>e.colors.fg.disabled.light};
75
+ background-color: ${({theme:e})=>e.colors.bg.neutral.white.light};
76
+ }
77
+ `;default:return""}}}
78
+
79
+ /* size specific styles */
80
+ ${({size:e})=>{switch(e){case t.XS:return s.css`
81
+ gap: ${({theme:e})=>e.spacing.xxs};
82
+ min-height: ${({theme:e})=>e.spacing.xl};
83
+ padding: ${({theme:e})=>e.spacing.xxs} ${({theme:e})=>e.spacing.xs};
84
+ font-size: ${({theme:e})=>e.font.size.body.xs};
85
+ font-weight: ${({theme:e})=>e.font.weight.medium};
86
+ line-height: ${({theme:e})=>e.font.lineHeight.body.xs};
87
+ letter-spacing: ${({theme:e})=>e.font.letterSpacing.body.md};
88
+ border-radius: ${({theme:e})=>e.borderRadius.xxs};
89
+ `;case t.SM:return s.css`
90
+ gap: ${({theme:e})=>e.spacing.xxs};
91
+ min-height: ${({theme:e})=>e.spacing.xl};
92
+ padding: ${({theme:e})=>e.spacing.xxs} ${({theme:e})=>e.spacing.xs};
93
+ font-size: ${({theme:e})=>e.font.size.body.sm};
94
+ font-weight: ${({theme:e})=>e.font.weight.medium};
95
+ line-height: ${({theme:e})=>e.font.lineHeight.body.sm};
96
+ letter-spacing: ${({theme:e})=>e.font.letterSpacing.body.md};
97
+ border-radius: ${({theme:e})=>e.borderRadius.xxs};
98
+ `;case t.MD:return s.css`
99
+ gap: ${({theme:e})=>e.spacing.xxs};
100
+ min-height: ${({theme:e})=>e.spacing.xxl};
101
+ padding: ${({theme:e})=>e.spacing.xs} ${({theme:e})=>e.spacing.sm};
102
+ font-size: ${({theme:e})=>e.font.size.body.sm};
103
+ font-weight: ${({theme:e})=>e.font.weight.medium};
104
+ line-height: ${({theme:e})=>e.font.lineHeight.body.sm};
105
+ letter-spacing: ${({theme:e})=>e.font.letterSpacing.body.md};
106
+ border-radius: ${({theme:e})=>e.borderRadius.xs};
107
+ `;case t.XL:return s.css`
108
+ gap: ${({theme:e})=>e.spacing.xs};
109
+ min-height: ${({theme:e})=>e.spacing.xxxl};
110
+ padding: ${({theme:e})=>e.spacing.sm};
111
+ font-size: ${({theme:e})=>e.font.size.body.md};
112
+ font-weight: ${({theme:e})=>e.font.weight.medium};
113
+ line-height: ${({theme:e})=>e.font.lineHeight.body.md};
114
+ border-radius: ${({theme:e})=>e.borderRadius.xs};
115
+ `;case t.XXL:return s.css`
116
+ gap: ${({theme:e})=>e.spacing.sm};
117
+ min-height: ${({theme:e})=>e.spacing.xxxxl};
118
+ padding: ${({theme:e})=>e.spacing.md} ${({theme:e})=>e.spacing.xl};
119
+ font-size: ${({theme:e})=>e.font.size.body.lg};
120
+ font-weight: ${({theme:e})=>e.font.weight.medium};
121
+ line-height: ${({theme:e})=>e.font.lineHeight.body.lg};
122
+ border-radius: ${({theme:e})=>e.borderRadius.sm};
123
+ `;default:return s.css`
124
+ border-radius: ${({theme:e})=>e.borderRadius.xxs};
125
+ `}}}
126
+ `,s.div`
127
+ display: flex;
128
+ align-items: center;
129
+ height: 100%;
130
+ `;
131
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/button/button.types.ts","../../../src/components/button/button.styles.ts"],"sourcesContent":[null,null],"names":["ButtonStyle","ButtonSize","ButtonType","styled","button","buttonStyle","PRIMARY","css","theme","colors","fg","neutral","white","light","bg","brand","bold","border","hover","shadow","buttonFocus","pressed","disabled","SECONDARY","subtle","default","TERTIARY","size","XS","spacing","xxs","xl","xs","font","body","weight","medium","lineHeight","letterSpacing","md","borderRadius","SM","sm","MD","xxl","XL","xxxl","XXL","xxxxl","lg","div"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * For a detailed explanation regarding each configuration property, visit:
3
+ * https://jestjs.io/docs/configuration
4
+ */
5
+ import type { Config } from 'jest';
6
+ declare const config: Config;
7
+ export default config;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { Props } from './button.types';
3
+ declare const Button: FC<Props>;
4
+ export default Button;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { Props } from './button.types';
3
+ export declare const ButtonStyled: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, Partial<Props>>>;
4
+ export declare const IconWrapperStyled: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Partial<Props>>>;
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ export declare enum ButtonStyle {
3
+ PRIMARY = "primary",
4
+ SECONDARY = "secondary",
5
+ TERTIARY = "tertiary"
6
+ }
7
+ export declare enum ButtonSize {
8
+ MD = "md",
9
+ SM = "sm",
10
+ XL = "xl",
11
+ XS = "xs",
12
+ XXL = "xxl"
13
+ }
14
+ export declare enum ButtonType {
15
+ BUTTON = "button",
16
+ RESET = "reset",
17
+ SUBMIT = "submit"
18
+ }
19
+ export interface Props {
20
+ buttonStyle: ButtonStyle;
21
+ children: ReactNode;
22
+ disabled?: boolean;
23
+ displayOnlyIcon?: boolean;
24
+ iconLeft?: ReactNode;
25
+ iconRight?: ReactNode;
26
+ onClick?: () => void;
27
+ size: ButtonSize;
28
+ type?: ButtonType;
29
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { Props } from '@/components/form/hint/formHint.types';
3
+ declare const FormHint: React.FC<Props>;
4
+ export default FormHint;
@@ -0,0 +1 @@
1
+ export declare const hint: import("styled-components").RuleSet<object>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export interface Props {
3
+ readonly children: React.ReactNode;
4
+ }
@@ -0,0 +1,5 @@
1
+ import 'rc-slider/assets/index.css';
2
+ import React from 'react';
3
+ import { Props } from './slider.types';
4
+ declare const Slider: React.FC<Props>;
5
+ export default Slider;
@@ -0,0 +1,5 @@
1
+ export declare const sliderWrapper: import("styled-components").RuleSet<object>;
2
+ export declare const wrapper: import("styled-components").RuleSet<object>;
3
+ export declare const labelsWrapper: import("styled-components").RuleSet<object>;
4
+ export declare const hintLeft: import("styled-components").RuleSet<object>;
5
+ export declare const hintRight: import("styled-components").RuleSet<object>;
@@ -0,0 +1,47 @@
1
+ export interface SliderMapFunctionParam {
2
+ readonly max: number;
3
+ readonly min: number;
4
+ readonly steps: SliderSteps;
5
+ readonly value: number;
6
+ }
7
+ export interface SliderMapFunctionReturn {
8
+ readonly sliderMax: number;
9
+ readonly sliderMin: number;
10
+ readonly sliderStep: number | undefined;
11
+ readonly sliderValue: number;
12
+ }
13
+ export type SliderMapFunction = (param: SliderMapFunctionParam) => SliderMapFunctionReturn;
14
+ export interface SliderMapOnChangeFunctionParam {
15
+ readonly max: number;
16
+ readonly min: number;
17
+ readonly sliderValue: number;
18
+ readonly steps: SliderSteps;
19
+ }
20
+ export type SliderMapOnChangeFunction = (param: SliderMapOnChangeFunctionParam) => number;
21
+ export interface SliderBreakpoint {
22
+ readonly bottomBreakpoint: number;
23
+ readonly step: number;
24
+ }
25
+ export interface SliderSteps {
26
+ readonly baseStep: number;
27
+ readonly breakpointList: SliderBreakpoint[];
28
+ }
29
+ export declare enum SliderStepType {
30
+ DEFAULT = "default",// step changes dynamically (visually steps are of different sizes)
31
+ LINEAR_VISUAL_STEP = "linearVisualStep"
32
+ }
33
+ export interface MinMaxLabels {
34
+ readonly max: string;
35
+ readonly min: string;
36
+ }
37
+ export interface Props {
38
+ readonly disable?: boolean | undefined;
39
+ readonly max: number;
40
+ readonly min: number;
41
+ readonly minMaxLabels: MinMaxLabels | undefined;
42
+ readonly onChange: (values: number) => void;
43
+ readonly onFinalChange: (values: number) => void;
44
+ readonly stepType: SliderStepType;
45
+ readonly steps: SliderSteps;
46
+ readonly value: number;
47
+ }
@@ -0,0 +1,2 @@
1
+ import { SliderMapFunction } from '@/components/slider/slider/slider.types';
2
+ export declare const sliderFunctionDefault: SliderMapFunction;
@@ -0,0 +1,7 @@
1
+ import { SliderSteps } from '@/components/slider/slider/slider.types';
2
+ interface GetSliderStepParam {
3
+ readonly steps: SliderSteps;
4
+ readonly value: number;
5
+ }
6
+ export declare const getSliderStep: (param: GetSliderStepParam) => number;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import { SliderMapFunction } from '@/components/slider/slider/slider.types';
2
+ export declare const sliderFunctionLinearVisualSteps: SliderMapFunction;
@@ -0,0 +1,8 @@
1
+ import { SliderSteps } from '@/components/slider/slider/slider.types';
2
+ interface GetSliderMaxParam {
3
+ readonly max: number;
4
+ readonly min: number;
5
+ readonly steps: SliderSteps;
6
+ }
7
+ export declare const getSliderMax: (param: GetSliderMaxParam) => number;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ import { SliderSteps } from '@/components/slider/slider/slider.types';
2
+ interface GetSliderValueByValueParam {
3
+ readonly max: number;
4
+ readonly min: number;
5
+ readonly steps: SliderSteps;
6
+ readonly value: number;
7
+ }
8
+ export declare const getSliderValueByValue: (param: GetSliderValueByValueParam) => number;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import { SliderMapOnChangeFunction } from '@/components/slider/slider/slider.types';
2
+ export declare const getValueBySliderValue: SliderMapOnChangeFunction;
@@ -0,0 +1,2 @@
1
+ export declare const getSliderHandleBackgroundSvg: (disable: boolean) => string;
2
+ export declare const getSliderHandleBackgroundSvgBase64: (disable: boolean) => string;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ className?: string;
4
+ height?: string;
5
+ width?: string;
6
+ }
7
+ export declare const AndroidSvg: React.FC<Props>;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ className?: string;
4
+ height?: string;
5
+ width?: string;
6
+ }
7
+ export declare const AppleSvg: React.FC<Props>;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { Props } from './storeButton.types';
3
+ declare const StoreButton: FC<Props>;
4
+ export default StoreButton;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { Props } from './storeButton.types';
3
+ export declare const StoreButtonStyled: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, Partial<Props>>>;
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,13 @@
1
+ export declare enum StoreButtonVariant {
2
+ ANDROID = "android",
3
+ APPLE = "apple"
4
+ }
5
+ export declare enum StoreButtonSize {
6
+ BIG = "big",
7
+ SMALL = "small"
8
+ }
9
+ export interface Props {
10
+ href: string;
11
+ size: StoreButtonSize;
12
+ variant: StoreButtonVariant;
13
+ }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ className?: string;
4
+ color?: string;
5
+ width?: string;
6
+ }
7
+ export declare const SystemIcon: ({ className, color, width }: Props) => React.JSX.Element;
8
+ export {};
@@ -0,0 +1 @@
1
+ export * from './components/button/button';
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { Props } from '@/provider/storybook/storybookProvider.types';
3
+ declare const StorybookProvider: React.FC<Props>;
4
+ export default StorybookProvider;