@faststore/components 2.0.3-alpha.0 → 2.0.5-alpha.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 (106) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/assets/ShoppingCart.d.ts +3 -0
  3. package/dist/assets/ShoppingCart.js +10 -0
  4. package/dist/assets/ShoppingCart.js.map +1 -0
  5. package/dist/assets/X.d.ts +3 -0
  6. package/dist/assets/X.js +8 -0
  7. package/dist/assets/X.js.map +1 -0
  8. package/dist/assets/index.d.ts +2 -0
  9. package/dist/assets/index.js +3 -0
  10. package/dist/assets/index.js.map +1 -0
  11. package/dist/atoms/Badge/Badge.d.ts +28 -0
  12. package/dist/atoms/Badge/Badge.js +7 -0
  13. package/dist/atoms/Badge/Badge.js.map +1 -0
  14. package/dist/atoms/Badge/index.d.ts +2 -0
  15. package/dist/atoms/Badge/index.js +2 -0
  16. package/dist/atoms/Badge/index.js.map +1 -0
  17. package/dist/atoms/Button/Button.d.ts +37 -0
  18. package/dist/atoms/Button/Button.js +10 -0
  19. package/dist/atoms/Button/Button.js.map +1 -0
  20. package/dist/atoms/Button/index.d.ts +2 -0
  21. package/dist/atoms/Button/index.js +2 -0
  22. package/dist/atoms/Button/index.js.map +1 -0
  23. package/dist/atoms/Checkbox/Checkbox.d.ts +14 -0
  24. package/dist/atoms/Checkbox/Checkbox.js +6 -0
  25. package/dist/atoms/Checkbox/Checkbox.js.map +1 -0
  26. package/dist/atoms/Checkbox/index.d.ts +2 -0
  27. package/dist/atoms/Checkbox/index.js +2 -0
  28. package/dist/atoms/Checkbox/index.js.map +1 -0
  29. package/dist/atoms/Icon/Icon.d.ts +14 -0
  30. package/dist/atoms/Icon/Icon.js +6 -0
  31. package/dist/atoms/Icon/Icon.js.map +1 -0
  32. package/dist/atoms/Icon/index.d.ts +2 -0
  33. package/dist/atoms/Icon/index.js +2 -0
  34. package/dist/atoms/Icon/index.js.map +1 -0
  35. package/dist/atoms/Label/Label.d.ts +10 -0
  36. package/dist/atoms/Label/Label.js +6 -0
  37. package/dist/atoms/Label/Label.js.map +1 -0
  38. package/dist/atoms/Label/index.d.ts +2 -0
  39. package/dist/atoms/Label/index.js +2 -0
  40. package/dist/atoms/Label/index.js.map +1 -0
  41. package/dist/atoms/Overlay/Overlay.d.ts +10 -0
  42. package/dist/atoms/Overlay/Overlay.js +6 -0
  43. package/dist/atoms/Overlay/Overlay.js.map +1 -0
  44. package/dist/atoms/Overlay/index.d.ts +2 -0
  45. package/dist/atoms/Overlay/index.js +2 -0
  46. package/dist/atoms/Overlay/index.js.map +1 -0
  47. package/dist/atoms/Radio/Radio.d.ts +10 -0
  48. package/dist/atoms/Radio/Radio.js +6 -0
  49. package/dist/atoms/Radio/Radio.js.map +1 -0
  50. package/dist/atoms/Radio/index.d.ts +2 -0
  51. package/dist/atoms/Radio/index.js +2 -0
  52. package/dist/atoms/Radio/index.js.map +1 -0
  53. package/dist/index.d.ts +22 -0
  54. package/dist/index.js +14 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/molecules/CheckboxField/CheckboxField.d.ts +25 -0
  57. package/dist/molecules/CheckboxField/CheckboxField.js +10 -0
  58. package/dist/molecules/CheckboxField/CheckboxField.js.map +1 -0
  59. package/dist/molecules/CheckboxField/index.d.ts +2 -0
  60. package/dist/molecules/CheckboxField/index.js +2 -0
  61. package/dist/molecules/CheckboxField/index.js.map +1 -0
  62. package/dist/molecules/IconButton/IconButton.d.ts +19 -0
  63. package/dist/molecules/IconButton/IconButton.js +9 -0
  64. package/dist/molecules/IconButton/IconButton.js.map +1 -0
  65. package/dist/molecules/IconButton/index.d.ts +2 -0
  66. package/dist/molecules/IconButton/index.js +2 -0
  67. package/dist/molecules/IconButton/index.js.map +1 -0
  68. package/dist/molecules/RadioField/RadioField.d.ts +25 -0
  69. package/dist/molecules/RadioField/RadioField.js +10 -0
  70. package/dist/molecules/RadioField/RadioField.js.map +1 -0
  71. package/dist/molecules/RadioField/index.d.ts +2 -0
  72. package/dist/molecules/RadioField/index.js +2 -0
  73. package/dist/molecules/RadioField/index.js.map +1 -0
  74. package/dist/molecules/Tag/Tag.d.ts +27 -0
  75. package/dist/molecules/Tag/Tag.js +12 -0
  76. package/dist/molecules/Tag/Tag.js.map +1 -0
  77. package/dist/molecules/Tag/index.d.ts +2 -0
  78. package/dist/molecules/Tag/index.js +2 -0
  79. package/dist/molecules/Tag/index.js.map +1 -0
  80. package/package.json +27 -3
  81. package/src/assets/ShoppingCart.tsx +51 -0
  82. package/src/assets/X.tsx +39 -0
  83. package/src/assets/index.ts +2 -0
  84. package/src/atoms/Badge/Badge.tsx +64 -0
  85. package/src/atoms/Badge/index.ts +2 -0
  86. package/src/atoms/Button/Button.tsx +72 -0
  87. package/src/atoms/Button/index.ts +2 -0
  88. package/src/atoms/Checkbox/Checkbox.tsx +32 -0
  89. package/src/atoms/Checkbox/index.ts +2 -0
  90. package/src/atoms/Icon/Icon.tsx +26 -0
  91. package/src/atoms/Icon/index.ts +2 -0
  92. package/src/atoms/Label/Label.tsx +22 -0
  93. package/src/atoms/Label/index.ts +2 -0
  94. package/src/atoms/Overlay/Overlay.tsx +26 -0
  95. package/src/atoms/Overlay/index.ts +2 -0
  96. package/src/atoms/Radio/Radio.tsx +27 -0
  97. package/src/atoms/Radio/index.ts +2 -0
  98. package/src/index.ts +25 -0
  99. package/src/molecules/CheckboxField/CheckboxField.tsx +42 -0
  100. package/src/molecules/CheckboxField/index.ts +2 -0
  101. package/src/molecules/IconButton/IconButton.tsx +51 -0
  102. package/src/molecules/IconButton/index.ts +2 -0
  103. package/src/molecules/RadioField/RadioField.tsx +42 -0
  104. package/src/molecules/RadioField/index.ts +2 -0
  105. package/src/molecules/Tag/Tag.tsx +54 -0
  106. package/src/molecules/Tag/index.ts +2 -0
@@ -0,0 +1,54 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { ReactNode } from 'react'
3
+ import { Icon } from '../..'
4
+ import { Badge, BadgeProps } from '../..'
5
+ import { X } from '../../assets'
6
+
7
+ export interface TagProps extends BadgeProps {
8
+ /**
9
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
10
+ */
11
+ testId?: string
12
+ /**
13
+ * The text displayed inside the tag.
14
+ */
15
+ label: string
16
+ /**
17
+ * A React component that will be rendered as an icon.
18
+ */
19
+ icon?: ReactNode
20
+ /**
21
+ * For accessibility purposes, provide an ARIA label to the Icon button
22
+ */
23
+ iconButtonLabel?: string
24
+ /**
25
+ * Function called when Icon button is clicked.
26
+ */
27
+ onClose: () => void
28
+ }
29
+
30
+ const Tag = forwardRef<HTMLDivElement, TagProps>(function Tag(
31
+ { testId = 'fs-tag', label, icon, iconButtonLabel, onClose, ...otherProps },
32
+ ref
33
+ ) {
34
+ return (
35
+ <Badge
36
+ ref={ref}
37
+ data-fs-tag
38
+ data-testid={testId}
39
+ size="big"
40
+ {...otherProps}
41
+ >
42
+ <span data-fs-tag-label>{label}</span>
43
+ <button
44
+ data-fs-tag-icon-button
45
+ aria-label={iconButtonLabel ? iconButtonLabel : 'remove'}
46
+ onClick={onClose}
47
+ >
48
+ <Icon component={icon ? icon : <X />} />
49
+ </button>
50
+ </Badge>
51
+ )
52
+ })
53
+
54
+ export default Tag
@@ -0,0 +1,2 @@
1
+ export { default } from './Tag'
2
+ export type { TagProps } from './Tag'