@descope/flow-components 2.0.38

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 (158) hide show
  1. package/.eslintrc +119 -0
  2. package/.github/actions/setup/action.yml +42 -0
  3. package/.github/workflows/ci.yml +105 -0
  4. package/.github/workflows/publish.yml +41 -0
  5. package/.github/workflows/release.yml +44 -0
  6. package/.husky/pre-commit +1 -0
  7. package/.prettierrc +8 -0
  8. package/.storybook/main.js +23 -0
  9. package/.storybook/manager.js +10 -0
  10. package/.storybook/preview-head.html +29 -0
  11. package/.storybook/preview.js +44 -0
  12. package/LICENSE +21 -0
  13. package/README.md +20 -0
  14. package/babel.config.js +7 -0
  15. package/dist/index.cjs.js +360 -0
  16. package/dist/index.d.ts +397 -0
  17. package/dist/index.esm.js +314 -0
  18. package/jest.config.js +33 -0
  19. package/jest.setup.js +2 -0
  20. package/package.json +110 -0
  21. package/renovate.json +4 -0
  22. package/rollup.config.mjs +47 -0
  23. package/src/Boolean/Boolean.tsx +24 -0
  24. package/src/Boolean/index.ts +1 -0
  25. package/src/Button/Button.tsx +49 -0
  26. package/src/Button/index.ts +1 -0
  27. package/src/Checkbox/Checkbox.tsx +16 -0
  28. package/src/Checkbox/index.ts +1 -0
  29. package/src/Code/Code.tsx +21 -0
  30. package/src/Code/index.ts +1 -0
  31. package/src/Container/Container.tsx +111 -0
  32. package/src/Container/index.ts +1 -0
  33. package/src/CssVarImage/CssVarImage.tsx +38 -0
  34. package/src/CssVarImage/index.ts +1 -0
  35. package/src/Divider/Divider.tsx +33 -0
  36. package/src/Divider/index.ts +1 -0
  37. package/src/EmailField/EmailField.tsx +20 -0
  38. package/src/EmailField/index.ts +1 -0
  39. package/src/Image/Image.tsx +32 -0
  40. package/src/Image/index.ts +1 -0
  41. package/src/Input/Input.tsx +27 -0
  42. package/src/Input/index.ts +1 -0
  43. package/src/Link/Link.tsx +33 -0
  44. package/src/Link/index.ts +1 -0
  45. package/src/Loader/Loader.tsx +40 -0
  46. package/src/Loader/index.ts +1 -0
  47. package/src/Logo/Logo.tsx +27 -0
  48. package/src/Logo/index.ts +1 -0
  49. package/src/NewPassword/NewPassword.tsx +25 -0
  50. package/src/NewPassword/index.ts +1 -0
  51. package/src/NumberField/NumberField.tsx +20 -0
  52. package/src/NumberField/index.ts +1 -0
  53. package/src/Password/Password.tsx +20 -0
  54. package/src/Password/index.ts +1 -0
  55. package/src/Phone/Phone.tsx +22 -0
  56. package/src/Phone/index.ts +1 -0
  57. package/src/Select/Select.tsx +29 -0
  58. package/src/Select/index.ts +1 -0
  59. package/src/Switch/Switch.tsx +21 -0
  60. package/src/Switch/index.ts +1 -0
  61. package/src/TOTPImage/TOTPImage.tsx +18 -0
  62. package/src/TOTPImage/index.ts +1 -0
  63. package/src/TOTPLink/TOTPLink.tsx +16 -0
  64. package/src/TOTPLink/index.ts +1 -0
  65. package/src/Text/Text.tsx +36 -0
  66. package/src/Text/index.ts +1 -0
  67. package/src/TextField/TextField.tsx +20 -0
  68. package/src/TextField/index.ts +1 -0
  69. package/src/Textarea/Textarea.tsx +20 -0
  70. package/src/Textarea/index.ts +1 -0
  71. package/src/icons/apple.tsx +14 -0
  72. package/src/icons/discord.tsx +14 -0
  73. package/src/icons/facebook.tsx +14 -0
  74. package/src/icons/fingerprint.tsx +14 -0
  75. package/src/icons/github.tsx +14 -0
  76. package/src/icons/gitlab.tsx +41 -0
  77. package/src/icons/google.tsx +29 -0
  78. package/src/icons/index.ts +11 -0
  79. package/src/icons/input-hidden.tsx +17 -0
  80. package/src/icons/input-visible.tsx +17 -0
  81. package/src/icons/linkedin.tsx +18 -0
  82. package/src/icons/microsoft.tsx +41 -0
  83. package/src/icons/passkey.tsx +16 -0
  84. package/src/icons/sso.tsx +14 -0
  85. package/src/index.ts +29 -0
  86. package/src/inputHelpers.ts +41 -0
  87. package/src/themeToCssVars/constants.ts +13 -0
  88. package/src/themeToCssVars/index.ts +153 -0
  89. package/src/themeToCssVars/types.ts +56 -0
  90. package/src/types.ts +52 -0
  91. package/src/utils.tsx +69 -0
  92. package/stories/Boolean.stories.jsx +37 -0
  93. package/stories/Button.stories.jsx +71 -0
  94. package/stories/Checkbox.stories.jsx +29 -0
  95. package/stories/Code.stories.jsx +60 -0
  96. package/stories/Container.stories.jsx +53 -0
  97. package/stories/Divider.stories.jsx +23 -0
  98. package/stories/EmailField.stories.jsx +36 -0
  99. package/stories/Image.stories.jsx +16 -0
  100. package/stories/Input.stories.jsx +63 -0
  101. package/stories/Link.stories.jsx +21 -0
  102. package/stories/Loader.stories.jsx +34 -0
  103. package/stories/Logo.stories.jsx +14 -0
  104. package/stories/NewPassword.stories.jsx +52 -0
  105. package/stories/NumberField.stories.jsx +35 -0
  106. package/stories/Password.stories.jsx +37 -0
  107. package/stories/Phone.stories.jsx +61 -0
  108. package/stories/Switch.stories.jsx +29 -0
  109. package/stories/TOTPImage.stories.jsx +22 -0
  110. package/stories/TOTPLink.stories.jsx +20 -0
  111. package/stories/Text.stories.jsx +35 -0
  112. package/stories/TextField.stories.jsx +39 -0
  113. package/stories/Textarea.stories.jsx +25 -0
  114. package/storybook-static/favicon.ico +0 -0
  115. package/test/__snapshots__/boolean.test.tsx.snap +47 -0
  116. package/test/__snapshots__/buttons.test.tsx.snap +843 -0
  117. package/test/__snapshots__/checkbox.test.tsx.snap +51 -0
  118. package/test/__snapshots__/code.test.tsx.snap +1184 -0
  119. package/test/__snapshots__/container.test.tsx.snap +218 -0
  120. package/test/__snapshots__/divider.test.tsx.snap +73 -0
  121. package/test/__snapshots__/image.test.tsx.snap +62 -0
  122. package/test/__snapshots__/input.test.tsx.snap +80 -0
  123. package/test/__snapshots__/link.test.tsx.snap +120 -0
  124. package/test/__snapshots__/loader.test.tsx.snap +53 -0
  125. package/test/__snapshots__/logo.test.tsx.snap +10 -0
  126. package/test/__snapshots__/newPassword.test.tsx.snap +69 -0
  127. package/test/__snapshots__/numeric-input.test.tsx.snap +21 -0
  128. package/test/__snapshots__/password.test.tsx.snap +26 -0
  129. package/test/__snapshots__/phone.test.tsx.snap +504 -0
  130. package/test/__snapshots__/switch.test.tsx.snap +51 -0
  131. package/test/__snapshots__/text.test.tsx.snap +89 -0
  132. package/test/__snapshots__/textarea.test.tsx.snap +73 -0
  133. package/test/__snapshots__/themeToCssVars.test.ts.snap +45 -0
  134. package/test/__snapshots__/totpImage.test.tsx.snap +10 -0
  135. package/test/__snapshots__/totpLink.test.tsx.snap +13 -0
  136. package/test/boolean.test.tsx +28 -0
  137. package/test/buttons.test.tsx +66 -0
  138. package/test/checkbox.test.tsx +67 -0
  139. package/test/code.test.tsx +182 -0
  140. package/test/container.test.tsx +91 -0
  141. package/test/divider.test.tsx +50 -0
  142. package/test/image.test.tsx +40 -0
  143. package/test/input.test.tsx +82 -0
  144. package/test/inputHelpers.test.tsx +58 -0
  145. package/test/link.test.tsx +71 -0
  146. package/test/loader.test.tsx +25 -0
  147. package/test/logo.test.tsx +10 -0
  148. package/test/newPassword.test.tsx +132 -0
  149. package/test/numeric-input.test.tsx +114 -0
  150. package/test/password.test.tsx +55 -0
  151. package/test/phone.test.tsx +158 -0
  152. package/test/switch.test.tsx +67 -0
  153. package/test/text.test.tsx +60 -0
  154. package/test/textarea.test.tsx +64 -0
  155. package/test/themeToCssVars.test.ts +82 -0
  156. package/test/totpImage.test.tsx +10 -0
  157. package/test/totpLink.test.tsx +10 -0
  158. package/tsconfig.json +20 -0
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { PasswordField } from '../src/Password';
3
+
4
+ export default {
5
+ title: 'WCUI/PasswordField',
6
+ component: PasswordField,
7
+ parameters: {
8
+ controls: { expanded: true }
9
+ }
10
+ };
11
+
12
+ const defaults = {
13
+ label: 'Password',
14
+ placeholder: 'Password',
15
+ disabled: false,
16
+ bordered: true,
17
+ 'full-width': false,
18
+ required: true,
19
+ size: 'md',
20
+ name: 'password',
21
+ 'helper-text': 'Enter your password and then click submit.'
22
+ };
23
+
24
+ const StandardTemplate = (args) => (
25
+ <form
26
+ onSubmit={(e) => {
27
+ e.preventDefault();
28
+ }}
29
+ >
30
+ <PasswordField {...args} />
31
+ </form>
32
+ );
33
+ export const Standard = StandardTemplate.bind({});
34
+
35
+ Standard.args = {
36
+ ...defaults
37
+ };
@@ -0,0 +1,61 @@
1
+ /* eslint-disable import/exports-last */
2
+ import React from 'react';
3
+ import { Phone } from '../src';
4
+
5
+ document.context = { geo: 'IL' };
6
+
7
+ export default {
8
+ title: 'WCUI/Phone',
9
+ component: Phone,
10
+ parameters: {
11
+ controls: { expanded: true }
12
+ },
13
+ argTypes: {
14
+ color: {
15
+ options: [
16
+ '',
17
+ 'primary',
18
+ 'secondary',
19
+ 'accent',
20
+ 'ghost',
21
+ 'info',
22
+ 'success',
23
+ 'warning',
24
+ 'error'
25
+ ],
26
+ control: { type: 'select' }
27
+ },
28
+ 'data-errormessage-pattern-mismatch': {
29
+ control: { type: 'text' }
30
+ },
31
+ 'data-errormessage-value-missing': {
32
+ control: { type: 'text' }
33
+ }
34
+ }
35
+ };
36
+
37
+ const defaults = {
38
+ label: 'Label',
39
+ disabled: false,
40
+ bordered: true,
41
+ size: 'md',
42
+ color: '',
43
+ 'full-width': false,
44
+ required: false,
45
+ pattern: '.*',
46
+ readOnly: false,
47
+ autoDetect: true,
48
+ defaultValue: 'US'
49
+ };
50
+
51
+ const StandardTemplate = (args) => (
52
+ <form>
53
+ <Phone {...args} type="tel" name="phone" />
54
+ <br />
55
+ <button type="submit">submit</button>
56
+ </form>
57
+ );
58
+ export const Standard = StandardTemplate.bind({});
59
+ Standard.args = {
60
+ ...defaults
61
+ };
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { Switch } from '../src';
3
+
4
+ export default {
5
+ title: 'WCUI/Switch',
6
+ component: Switch
7
+ };
8
+
9
+ const SwitchTemplate = (args) => (
10
+ <form
11
+ onSubmit={(e) => {
12
+ e.preventDefault();
13
+ }}
14
+ >
15
+ <div>
16
+ <Switch {...args} />
17
+ </div>
18
+ <button type="submit">Submit</button>
19
+ </form>
20
+ );
21
+
22
+ export const Toggle = SwitchTemplate.bind({});
23
+ Toggle.args = {
24
+ label: 'Toggle Label',
25
+ size: 'sm',
26
+ 'full-width': false,
27
+ name: 'compName',
28
+ required: true
29
+ };
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { TOTPImage } from '../src';
3
+
4
+ export default {
5
+ title: 'Example/TOTP Image',
6
+ component: TOTPImage,
7
+ parameters: {
8
+ controls: { expanded: true }
9
+ }
10
+ };
11
+
12
+ const StandardTemplate = (args) => (
13
+ <TOTPImage
14
+ {...args}
15
+ style={{
16
+ '--totp-image':
17
+ 'url(data:image/png;base64,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)'
18
+ }}
19
+ />
20
+ );
21
+ export const Standard = StandardTemplate.bind({});
22
+ Standard.args = {};
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { TOTPLink } from '../src';
3
+
4
+ export default {
5
+ title: 'WCUI/TOTP Link',
6
+ component: TOTPLink,
7
+ parameters: {
8
+ controls: { expanded: true }
9
+ }
10
+ };
11
+
12
+ const StandardTemplate = (args) => <TOTPLink {...args} />;
13
+ export const Standard = StandardTemplate.bind({});
14
+ Standard.args = {
15
+ children: 'Hello World',
16
+ italic: false,
17
+ variant: 'h3',
18
+ align: 'left',
19
+ 'full-width': false
20
+ };
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { Text } from '../src';
3
+
4
+ export default {
5
+ title: 'WCUI/Text',
6
+ component: Text,
7
+ parameters: {
8
+ controls: { expanded: true }
9
+ },
10
+ argTypes: {
11
+ variant: {
12
+ options: ['h1', 'h2', 'h3', 'subtitle1', 'subtitle2', 'body1', 'body2'],
13
+ control: { type: 'radio' }
14
+ },
15
+ mode: {
16
+ options: ['primary', 'secondary'],
17
+ control: { type: 'radio' }
18
+ },
19
+ 'text-align': {
20
+ options: ['left', 'center', 'right'],
21
+ control: { type: 'radio' }
22
+ }
23
+ }
24
+ };
25
+
26
+ const StandardTemplate = (args) => <Text {...args} />;
27
+ export const Standard = StandardTemplate.bind({});
28
+ Standard.args = {
29
+ variant: 'h1',
30
+ mode: 'primary',
31
+ children: 'Hello World',
32
+ italic: true,
33
+ 'text-align': 'right',
34
+ 'full-width': true
35
+ };
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { TextField } from '../src/TextField';
3
+
4
+ export default {
5
+ title: 'WCUI/TextField',
6
+ component: TextField,
7
+ parameters: {
8
+ controls: { expanded: true }
9
+ },
10
+ argTypes: {}
11
+ };
12
+
13
+ const defaults = {
14
+ placeholder: 'Placeholder',
15
+ label: 'Label',
16
+ disabled: false,
17
+ bordered: true,
18
+ size: 'md',
19
+ 'full-width': false,
20
+ required: false,
21
+ 'helper-text': 'Enter text and then click submit.',
22
+ pattern: '',
23
+ 'error-message': 'Please revise and submit again.'
24
+ };
25
+
26
+ const StandardTemplate = (args) => (
27
+ <form
28
+ onSubmit={(e) => {
29
+ e.preventDefault();
30
+ }}
31
+ >
32
+ <TextField {...args} />
33
+ <button type="submit">Submit</button>
34
+ </form>
35
+ );
36
+ export const Standard = StandardTemplate.bind({});
37
+ Standard.args = {
38
+ ...defaults
39
+ };
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { Textarea } from '../src';
3
+
4
+ export default {
5
+ title: 'WCUI/Textarea',
6
+ component: Textarea,
7
+ parameters: {
8
+ controls: { expanded: true }
9
+ }
10
+ };
11
+
12
+ const defaults = {
13
+ placeholder: 'Placeholder',
14
+ label: 'Label',
15
+ disabled: false,
16
+ bordered: true,
17
+ 'full-width': false,
18
+ required: false
19
+ };
20
+
21
+ const StandardTemplate = (args) => <Textarea {...args} />;
22
+ export const Standard = StandardTemplate.bind({});
23
+ Standard.args = {
24
+ ...defaults
25
+ };
Binary file
@@ -0,0 +1,47 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Boolean should render checkbox 1`] = `
4
+ <div>
5
+ <div
6
+ class="descope-input-wrapper p-0 form-control w-full"
7
+ >
8
+ <label
9
+ class="flex"
10
+ >
11
+ <input
12
+ class="checkbox flex items-center rounded-sm"
13
+ name="bool1"
14
+ type="checkbox"
15
+ />
16
+ <span
17
+ class="text-undefined ml-4 flex items-center label-text cursor-pointer"
18
+ >
19
+ some label
20
+ </span>
21
+ </label>
22
+ </div>
23
+ </div>
24
+ `;
25
+
26
+ exports[`Boolean should render switch 1`] = `
27
+ <div>
28
+ <div
29
+ class="descope-input-wrapper p-0 form-control w-full"
30
+ >
31
+ <label
32
+ class="flex"
33
+ >
34
+ <input
35
+ class="toggle flex items-center"
36
+ name="bool2"
37
+ type="checkbox"
38
+ />
39
+ <span
40
+ class="text-undefined ml-4 flex items-center label-text cursor-pointer"
41
+ >
42
+ some label
43
+ </span>
44
+ </label>
45
+ </div>
46
+ </div>
47
+ `;