@edvisor/product-language 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 (150) hide show
  1. package/.babelrc +12 -0
  2. package/.eslintrc.json +139 -0
  3. package/.storybook/main.js +57 -0
  4. package/.storybook/manager.js +7 -0
  5. package/.storybook/preview-head.html +1 -0
  6. package/.storybook/preview.js +15 -0
  7. package/.storybook/tsconfig.json +30 -0
  8. package/README.md +33 -0
  9. package/jest.config.ts +15 -0
  10. package/jest.setup.ts +2 -0
  11. package/package.json +30 -0
  12. package/project.json +75 -0
  13. package/src/assets/svg/example_icon.svg +3 -0
  14. package/src/assets/svg/example_icon_white.svg +3 -0
  15. package/src/assets/svg/spinner.svg +3 -0
  16. package/src/assets/svg/spinner_white.svg +3 -0
  17. package/src/helpers/index.ts +3 -0
  18. package/src/helpers/talesOf.tsx +42 -0
  19. package/src/index.ts +2 -0
  20. package/src/lib/components/README.md +49 -0
  21. package/src/lib/components/alert-banner/alert-banner.tsx +34 -0
  22. package/src/lib/components/alert-banner/alert-level-flags.ts +77 -0
  23. package/src/lib/components/alert-banner/index.ts +1 -0
  24. package/src/lib/components/badge/badge-type-flags.ts +72 -0
  25. package/src/lib/components/badge/badge.stories.tsx +16 -0
  26. package/src/lib/components/badge/badge.test.tsx +29 -0
  27. package/src/lib/components/badge/badge.tsx +31 -0
  28. package/src/lib/components/badge/index.ts +1 -0
  29. package/src/lib/components/card/atoms/card-frame.tsx +17 -0
  30. package/src/lib/components/card/atoms/index.ts +1 -0
  31. package/src/lib/components/card/card.test.tsx +163 -0
  32. package/src/lib/components/card/card.tsx +78 -0
  33. package/src/lib/components/card/components/card-alert-banner-slot.tsx +16 -0
  34. package/src/lib/components/card/components/card-controls-slot.tsx +19 -0
  35. package/src/lib/components/card/components/card-section-slot.tsx +51 -0
  36. package/src/lib/components/card/components/index.ts +3 -0
  37. package/src/lib/components/card/index.ts +2 -0
  38. package/src/lib/components/card/molecules/index.ts +1 -0
  39. package/src/lib/components/card/molecules/left-right-card.test.tsx +89 -0
  40. package/src/lib/components/card/molecules/left-right-card.tsx +63 -0
  41. package/src/lib/components/card/storybook/card.stories.mdx +100 -0
  42. package/src/lib/components/card/storybook/components.tsx +240 -0
  43. package/src/lib/components/checkbox/checkbox.test.tsx +39 -0
  44. package/src/lib/components/checkbox/checkbox.tsx +124 -0
  45. package/src/lib/components/checkbox/components/components.tsx +59 -0
  46. package/src/lib/components/checkbox/index.tsx +1 -0
  47. package/src/lib/components/checkbox/stories/checkbox.stories.mdx +54 -0
  48. package/src/lib/components/checkbox/stories/components.tsx +36 -0
  49. package/src/lib/components/checkbox/stories/index.tsx +1 -0
  50. package/src/lib/components/divider/divider-type-flags.tsx +37 -0
  51. package/src/lib/components/divider/divider.test.tsx +34 -0
  52. package/src/lib/components/divider/divider.tsx +37 -0
  53. package/src/lib/components/divider/index.tsx +1 -0
  54. package/src/lib/components/divider/stories/components.tsx +13 -0
  55. package/src/lib/components/divider/stories/divider.stories.mdx +50 -0
  56. package/src/lib/components/index.ts +14 -0
  57. package/src/lib/components/input-field/components/index.ts +2 -0
  58. package/src/lib/components/input-field/components/labeled-input.tsx +61 -0
  59. package/src/lib/components/input-field/components/stepper.tsx +59 -0
  60. package/src/lib/components/input-field/index.ts +6 -0
  61. package/src/lib/components/input-field/input-field.test.tsx +108 -0
  62. package/src/lib/components/input-field/input-field.tsx +126 -0
  63. package/src/lib/components/input-field/input-number.tsx +41 -0
  64. package/src/lib/components/input-field/input-text.tsx +30 -0
  65. package/src/lib/components/input-field/storybook/components.tsx +334 -0
  66. package/src/lib/components/input-field/storybook/input-field.stories.mdx +113 -0
  67. package/src/lib/components/layout/flex.tsx +22 -0
  68. package/src/lib/components/layout/grid-layout.tsx +40 -0
  69. package/src/lib/components/layout/index.ts +3 -0
  70. package/src/lib/components/layout/left-right-layout.tsx +67 -0
  71. package/src/lib/components/link/index.ts +1 -0
  72. package/src/lib/components/link/link.test.tsx +29 -0
  73. package/src/lib/components/link/link.tsx +56 -0
  74. package/src/lib/components/link/storybook/link.stories.mdx +51 -0
  75. package/src/lib/components/molecules/avatar/avatar-size-flags.tsx +55 -0
  76. package/src/lib/components/molecules/avatar/avatar.test.tsx +114 -0
  77. package/src/lib/components/molecules/avatar/avatar.tsx +80 -0
  78. package/src/lib/components/molecules/avatar/index.tsx +1 -0
  79. package/src/lib/components/molecules/avatar/stories/avatar.stories.mdx +55 -0
  80. package/src/lib/components/molecules/avatar/stories/components.tsx +36 -0
  81. package/src/lib/components/molecules/button/button-flags.tsx +235 -0
  82. package/src/lib/components/molecules/button/button.test.tsx +77 -0
  83. package/src/lib/components/molecules/button/button.tsx +231 -0
  84. package/src/lib/components/molecules/button/index.tsx +1 -0
  85. package/src/lib/components/molecules/button/stories/button.stories.mdx +104 -0
  86. package/src/lib/components/molecules/button/stories/components.tsx +86 -0
  87. package/src/lib/components/molecules/index.ts +3 -0
  88. package/src/lib/components/molecules/input-checkbox/index.tsx +1 -0
  89. package/src/lib/components/molecules/input-checkbox/input-checkbox.test.tsx +34 -0
  90. package/src/lib/components/molecules/input-checkbox/input-checkbox.tsx +50 -0
  91. package/src/lib/components/molecules/input-checkbox/stories/components.tsx +36 -0
  92. package/src/lib/components/molecules/input-checkbox/stories/index.tsx +1 -0
  93. package/src/lib/components/molecules/input-checkbox/stories/input-checkbox.stories.mdx +51 -0
  94. package/src/lib/components/organisms/index.ts +1 -0
  95. package/src/lib/components/organisms/multi-choice-list/index.tsx +1 -0
  96. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.test.tsx +33 -0
  97. package/src/lib/components/organisms/multi-choice-list/multi-choice-list.tsx +53 -0
  98. package/src/lib/components/organisms/multi-choice-list/stories/components.tsx +126 -0
  99. package/src/lib/components/organisms/multi-choice-list/stories/index.tsx +1 -0
  100. package/src/lib/components/organisms/multi-choice-list/stories/multi-choice-list.stories.mdx +99 -0
  101. package/src/lib/components/spinner/index.tsx +1 -0
  102. package/src/lib/components/spinner/spinner-size-flags.tsx +39 -0
  103. package/src/lib/components/spinner/spinner.test.tsx +31 -0
  104. package/src/lib/components/spinner/spinner.tsx +67 -0
  105. package/src/lib/components/spinner/stories/components.tsx +8 -0
  106. package/src/lib/components/spinner/stories/spinner.stories.mdx +42 -0
  107. package/src/lib/components/thumbnail/index.tsx +1 -0
  108. package/src/lib/components/thumbnail/stories/thumbnail.stories.mdx +34 -0
  109. package/src/lib/components/thumbnail/thumbnail-size-flags.tsx +41 -0
  110. package/src/lib/components/thumbnail/thumbnail.test.tsx +51 -0
  111. package/src/lib/components/thumbnail/thumbnail.tsx +40 -0
  112. package/src/lib/components/typography/index.ts +1 -0
  113. package/src/lib/components/typography/storybook/components.tsx +256 -0
  114. package/src/lib/components/typography/storybook/typography.stories.mdx +88 -0
  115. package/src/lib/components/typography/typography.test.tsx +93 -0
  116. package/src/lib/components/typography/typography.tsx +57 -0
  117. package/src/lib/foundations/color-system/base-palette/base-palette.stories.tsx +123 -0
  118. package/src/lib/foundations/color-system/base-palette/base-palette.ts +94 -0
  119. package/src/lib/foundations/color-system/base-palette/index.ts +1 -0
  120. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.mdx +85 -0
  121. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.tsx +231 -0
  122. package/src/lib/foundations/color-system/color-guidelines/color-guidelines.ts +159 -0
  123. package/src/lib/foundations/color-system/color-guidelines/index.ts +1 -0
  124. package/src/lib/foundations/color-system/components/color-sample.tsx +99 -0
  125. package/src/lib/foundations/color-system/components/index.ts +1 -0
  126. package/src/lib/foundations/color-system/index.ts +1 -0
  127. package/src/lib/foundations/index.ts +4 -0
  128. package/src/lib/foundations/shadows/components.tsx +59 -0
  129. package/src/lib/foundations/shadows/index.ts +1 -0
  130. package/src/lib/foundations/shadows/shadows.stories.mdx +71 -0
  131. package/src/lib/foundations/shadows/shadows.tsx +47 -0
  132. package/src/lib/foundations/spacing/index.ts +1 -0
  133. package/src/lib/foundations/spacing/spacing-guidelines.ts +24 -0
  134. package/src/lib/foundations/spacing/spacing.stories.mdx +51 -0
  135. package/src/lib/foundations/spacing/spacing.ts +18 -0
  136. package/src/lib/foundations/typography/constants.ts +25 -0
  137. package/src/lib/foundations/typography/index.tsx +1 -0
  138. package/src/lib/foundations/typography/text-aspect-flags.ts +54 -0
  139. package/src/lib/foundations/typography/typography.tsx +97 -0
  140. package/src/lib/helpers/generic-types.ts +44 -0
  141. package/src/lib/helpers/index.ts +6 -0
  142. package/src/lib/helpers/nothing.tsx +18 -0
  143. package/src/lib/helpers/numbers.ts +53 -0
  144. package/src/lib/helpers/safe-navigation.ts +34 -0
  145. package/src/lib/helpers/slots.tsx +76 -0
  146. package/src/lib/helpers/strings.test.ts +47 -0
  147. package/src/lib/helpers/strings.ts +16 -0
  148. package/tsconfig.json +35 -0
  149. package/tsconfig.lib.json +28 -0
  150. package/tsconfig.spec.json +21 -0
@@ -0,0 +1,47 @@
1
+ import { toKebabCase } from './strings'
2
+
3
+ describe('strings', () => {
4
+ describe('toKebabCase', () => {
5
+ it('sends camel case to kebab case', () => {
6
+ const result = toKebabCase('helloMyFriends')
7
+
8
+ expect(result).toBe('hello-my-friends')
9
+ })
10
+
11
+ it('sends leading caps to kebab case', () => {
12
+ const result = toKebabCase('HelloMyFriends')
13
+
14
+ expect(result).toBe('hello-my-friends')
15
+ })
16
+
17
+ it('respects numbers', () => {
18
+ const result = toKebabCase('Section1IsGood')
19
+
20
+ expect(result).toBe('section-1-is-good')
21
+ })
22
+
23
+ it('respects leading and trailing numbers', () => {
24
+ const result = toKebabCase('1Section1')
25
+
26
+ expect(result).toBe('1-section-1')
27
+ })
28
+
29
+ it('removes non-alphanumeric characters, such as whitespace and punctuation', () => {
30
+ const result = toKebabCase('Help Text. Lorem Ipsum')
31
+
32
+ expect(result).toBe('help-text-lorem-ipsum')
33
+ })
34
+
35
+ it('removes leading and trailing nonsense', () => {
36
+ const result = toKebabCase('__Foo_Bar__')
37
+
38
+ expect(result).toBe('foo-bar')
39
+ })
40
+
41
+ it('removes leading and trailing whitespace', () => {
42
+ const result = toKebabCase(' . Foo_Bar_ _ . ')
43
+
44
+ expect(result).toBe('foo-bar')
45
+ })
46
+ })
47
+ })
@@ -0,0 +1,16 @@
1
+ import { isDefined } from './safe-navigation'
2
+
3
+ export const toKebabCase = (str: string) => {
4
+ return isDefined(str)
5
+ ? str
6
+ .replace(/[^a-zA-Z0-9\\-]/g, ' ')
7
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
8
+ .replace(/([0-9]+)(.*)/g, '$1-$2')
9
+ .replace(/(.*)([0-9]+)/g, '$1-$2')
10
+ .replace(/^[\s_]+/g, '')
11
+ .replace(/[\s_]+$/g, '')
12
+ .replace(/[\s_]+/g, '-')
13
+ .replace(/[^a-zA-Z0-9\\-]/g, '')
14
+ .toLowerCase()
15
+ : ''
16
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "jsx": "react-jsx",
5
+ "allowJs": true,
6
+ "esModuleInterop": true,
7
+ "allowSyntheticDefaultImports": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "strict": true,
10
+ "noImplicitOverride": true,
11
+ "noPropertyAccessFromIndexSignature": true,
12
+ "noImplicitReturns": true,
13
+ "noFallthroughCasesInSwitch": true,
14
+ "baseUrl": "./src/lib",
15
+ "paths": {
16
+ "@components": ["components/index.ts"],
17
+ "@foundations": ["foundations/index.ts"],
18
+ "@helpers": ["helpers/index.ts"],
19
+ "@stories": ["../helpers/index.ts"],
20
+ },
21
+ },
22
+ "files": [],
23
+ "include": [],
24
+ "references": [
25
+ {
26
+ "path": "./tsconfig.lib.json"
27
+ },
28
+ {
29
+ "path": "./tsconfig.spec.json"
30
+ },
31
+ {
32
+ "path": "./.storybook/tsconfig.json"
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "types": ["node"]
6
+ },
7
+ "files": [
8
+ "../../node_modules/@nrwl/react/typings/cssmodule.d.ts",
9
+ "../../node_modules/@nrwl/react/typings/image.d.ts"
10
+ ],
11
+ "exclude": [
12
+ "jest.config.ts",
13
+ "jest.setup.ts",
14
+ "src/helpers/**",
15
+ "**/storybook/**",
16
+ "**/stories/**",
17
+ "**/*.stories.*",
18
+ "**/*.spec.ts",
19
+ "**/*.test.ts",
20
+ "**/*.spec.tsx",
21
+ "**/*.test.tsx",
22
+ "**/*.spec.js",
23
+ "**/*.test.js",
24
+ "**/*.spec.jsx",
25
+ "**/*.test.jsx",
26
+ ],
27
+ "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
28
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "module": "commonjs",
6
+ "types": ["jest", "node"]
7
+ },
8
+ "include": [
9
+ "jest.config.ts",
10
+ "jest.setup.ts",
11
+ "**/*.test.ts",
12
+ "**/*.spec.ts",
13
+ "**/*.test.tsx",
14
+ "**/*.spec.tsx",
15
+ "**/*.test.js",
16
+ "**/*.spec.js",
17
+ "**/*.test.jsx",
18
+ "**/*.spec.jsx",
19
+ "**/*.d.ts"
20
+ ]
21
+ }