@westpac/ui 0.4.0 → 0.6.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 (226) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/accordion/accordion.component.d.ts +2 -2
  3. package/dist/components/accordion/components/accordion-item/accordion-item.component.js +5 -3
  4. package/dist/components/accordion/components/accordion-item/accordion-item.styles.d.ts +16 -0
  5. package/dist/components/accordion/components/accordion-item/accordion-item.styles.js +17 -9
  6. package/dist/components/alert/alert.component.js +2 -1
  7. package/dist/components/alert/alert.styles.js +2 -2
  8. package/dist/components/autocomplete/autocomplete.styles.js +3 -3
  9. package/dist/components/button/button.component.d.ts +18 -2
  10. package/dist/components/button/button.component.js +6 -6
  11. package/dist/components/button/button.styles.d.ts +16 -0
  12. package/dist/components/button/button.styles.js +8 -0
  13. package/dist/components/button-dropdown/button-dropdown.styles.js +1 -1
  14. package/dist/components/button-dropdown/components/panel/panel.component.js +6 -3
  15. package/dist/components/button-dropdown/components/panel/panel.styles.d.ts +14 -2
  16. package/dist/components/button-dropdown/components/panel/panel.styles.js +8 -2
  17. package/dist/components/checkbox-group/components/checkbox/checkbox.component.js +2 -2
  18. package/dist/components/checkbox-group/components/checkbox/checkbox.styles.d.ts +2 -2
  19. package/dist/components/checkbox-group/components/checkbox/checkbox.styles.js +4 -4
  20. package/dist/components/collapsible/collapsible.styles.js +1 -1
  21. package/dist/components/compacta/compacta.component.js +4 -3
  22. package/dist/components/compacta/compacta.styles.js +1 -1
  23. package/dist/components/flexi-cell/flexi-cell.component.js +6 -3
  24. package/dist/components/flexi-cell/flexi-cell.styles.d.ts +10 -0
  25. package/dist/components/flexi-cell/flexi-cell.styles.js +7 -2
  26. package/dist/components/flexi-cell/flexi-cell.types.d.ts +4 -0
  27. package/dist/components/flexi-cell/index.d.ts +1 -0
  28. package/dist/components/flexi-cell/index.js +1 -0
  29. package/dist/components/icon/index.d.ts +1 -0
  30. package/dist/components/icon/index.js +1 -0
  31. package/dist/components/index.d.ts +3 -1
  32. package/dist/components/index.js +3 -1
  33. package/dist/components/input/input.component.d.ts +7 -1
  34. package/dist/components/input/input.component.js +5 -2
  35. package/dist/components/input/input.styles.d.ts +7 -1
  36. package/dist/components/input/input.styles.js +4 -1
  37. package/dist/components/link/link.component.d.ts +1 -1
  38. package/dist/components/link/link.component.js +5 -3
  39. package/dist/components/link/link.styles.d.ts +16 -0
  40. package/dist/components/link/link.styles.js +11 -3
  41. package/dist/components/list/components/item/item.component.d.ts +1 -1
  42. package/dist/components/list/components/item/item.component.js +6 -3
  43. package/dist/components/list/components/item/item.styles.d.ts +10 -0
  44. package/dist/components/list/components/item/item.styles.js +7 -2
  45. package/dist/components/list/list.component.d.ts +1 -1
  46. package/dist/components/list/list.stories.js +7 -1
  47. package/dist/components/list/list.styles.js +1 -1
  48. package/dist/components/list/list.utils.d.ts +1 -1
  49. package/dist/components/modal/components/backdrop/backdrop.styles.js +2 -2
  50. package/dist/components/modal/components/dialog/dialog.component.js +6 -4
  51. package/dist/components/modal/components/dialog/dialog.styles.d.ts +16 -0
  52. package/dist/components/modal/components/dialog/dialog.styles.js +11 -3
  53. package/dist/components/popover/components/panel/panel.styles.js +1 -1
  54. package/dist/components/popover/popover.component.js +0 -1
  55. package/dist/components/popover/popover.styles.d.ts +0 -2
  56. package/dist/components/popover/popover.styles.js +1 -2
  57. package/dist/components/radio-group/components/radio/radio.component.js +2 -2
  58. package/dist/components/radio-group/components/radio/radio.styles.d.ts +2 -2
  59. package/dist/components/radio-group/components/radio/radio.styles.js +5 -5
  60. package/dist/components/repeater/index.d.ts +2 -0
  61. package/dist/components/repeater/index.js +1 -0
  62. package/dist/components/repeater/repeater.component.d.ts +3 -0
  63. package/dist/components/repeater/repeater.component.js +144 -0
  64. package/dist/components/repeater/repeater.stories.d.ts +13 -0
  65. package/dist/components/repeater/repeater.stories.js +34 -0
  66. package/dist/components/repeater/repeater.styles.d.ts +49 -0
  67. package/dist/components/repeater/repeater.styles.js +36 -0
  68. package/dist/components/repeater/repeater.types.d.ts +19 -0
  69. package/dist/components/repeater/repeater.types.js +1 -0
  70. package/dist/components/repeater/repeater.utils.d.ts +2 -0
  71. package/dist/components/repeater/repeater.utils.js +2 -0
  72. package/dist/components/select/select.component.d.ts +11 -1
  73. package/dist/components/select/select.component.js +5 -2
  74. package/dist/components/select/select.styles.d.ts +11 -1
  75. package/dist/components/select/select.styles.js +6 -1
  76. package/dist/components/selector/components/index.d.ts +2 -0
  77. package/dist/components/selector/components/index.js +2 -0
  78. package/dist/components/selector/components/selector-checkbox-group/components/index.d.ts +1 -0
  79. package/dist/components/selector/components/selector-checkbox-group/components/index.js +1 -0
  80. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.d.ts +2 -0
  81. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.js +1 -0
  82. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.d.ts +12 -0
  83. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.js +67 -0
  84. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.d.ts +59 -0
  85. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.js +57 -0
  86. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.d.ts +10 -0
  87. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.js +1 -0
  88. package/dist/components/selector/components/selector-checkbox-group/index.d.ts +2 -0
  89. package/dist/components/selector/components/selector-checkbox-group/index.js +1 -0
  90. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.d.ts +15 -0
  91. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.js +49 -0
  92. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.d.ts +3 -0
  93. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.js +13 -0
  94. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.d.ts +20 -0
  95. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.js +1 -0
  96. package/dist/components/selector/components/selector-radio-group/components/index.d.ts +1 -0
  97. package/dist/components/selector/components/selector-radio-group/components/index.js +1 -0
  98. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.d.ts +2 -0
  99. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.js +1 -0
  100. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.d.ts +12 -0
  101. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.js +67 -0
  102. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.d.ts +59 -0
  103. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.js +57 -0
  104. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.d.ts +15 -0
  105. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.js +1 -0
  106. package/dist/components/selector/components/selector-radio-group/index.d.ts +2 -0
  107. package/dist/components/selector/components/selector-radio-group/index.js +1 -0
  108. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.d.ts +15 -0
  109. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.js +58 -0
  110. package/dist/components/selector/components/selector-radio-group/selector-radio-group.styles.d.ts +13 -0
  111. package/dist/components/selector/components/selector-radio-group/selector-radio-group.styles.js +18 -0
  112. package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.d.ts +17 -0
  113. package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.js +1 -0
  114. package/dist/components/selector/index.d.ts +2 -0
  115. package/dist/components/selector/index.js +1 -0
  116. package/dist/components/selector/selector.component.d.ts +30 -0
  117. package/dist/components/selector/selector.component.js +34 -0
  118. package/dist/components/selector/selector.stories.d.ts +57 -0
  119. package/dist/components/selector/selector.stories.js +515 -0
  120. package/dist/components/selector/selector.types.d.ts +20 -0
  121. package/dist/components/selector/selector.types.js +1 -0
  122. package/dist/components/switch/switch.component.d.ts +1 -1
  123. package/dist/components/switch/switch.component.js +11 -7
  124. package/dist/components/switch/switch.stories.js +1 -1
  125. package/dist/components/switch/switch.styles.d.ts +2 -2
  126. package/dist/components/switch/switch.styles.js +2 -2
  127. package/dist/components/switch/switch.types.d.ts +5 -1
  128. package/dist/components/tabs/components/tab/tab.component.js +5 -3
  129. package/dist/components/tabs/components/tab/tab.styles.d.ts +9 -1
  130. package/dist/components/tabs/components/tab/tab.styles.js +12 -8
  131. package/dist/components/tabs/components/tab-panel/tab-panel.component.js +5 -3
  132. package/dist/components/tabs/components/tab-panel/tab-panel.styles.d.ts +7 -1
  133. package/dist/components/tabs/components/tab-panel/tab-panel.styles.js +5 -2
  134. package/dist/components/textarea/textarea.component.d.ts +7 -1
  135. package/dist/components/textarea/textarea.component.js +5 -2
  136. package/dist/components/textarea/textarea.styles.d.ts +7 -1
  137. package/dist/components/textarea/textarea.styles.js +4 -1
  138. package/dist/css/westpac-ui.css +165 -3
  139. package/dist/css/westpac-ui.min.css +165 -3
  140. package/dist/tailwind/constants/colors.d.ts +9 -9
  141. package/dist/tailwind/themes/index.d.ts +11 -11
  142. package/dist/utils/generateId.d.ts +1 -0
  143. package/dist/utils/generateId.js +6 -0
  144. package/dist/utils/index.d.ts +1 -0
  145. package/dist/utils/index.js +1 -0
  146. package/package.json +7 -1
  147. package/src/components/accordion/components/accordion-item/accordion-item.component.tsx +4 -3
  148. package/src/components/accordion/components/accordion-item/accordion-item.styles.ts +17 -9
  149. package/src/components/alert/alert.component.tsx +1 -1
  150. package/src/components/alert/alert.styles.ts +2 -2
  151. package/src/components/autocomplete/autocomplete.styles.ts +3 -3
  152. package/src/components/button/button.component.tsx +9 -10
  153. package/src/components/button/button.styles.ts +4 -0
  154. package/src/components/button-dropdown/button-dropdown.styles.ts +1 -1
  155. package/src/components/button-dropdown/components/panel/panel.component.tsx +4 -3
  156. package/src/components/button-dropdown/components/panel/panel.styles.ts +8 -2
  157. package/src/components/checkbox-group/components/checkbox/checkbox.component.tsx +2 -2
  158. package/src/components/checkbox-group/components/checkbox/checkbox.styles.ts +4 -4
  159. package/src/components/collapsible/collapsible.styles.ts +1 -1
  160. package/src/components/compacta/compacta.component.tsx +4 -3
  161. package/src/components/compacta/compacta.styles.ts +1 -1
  162. package/src/components/flexi-cell/flexi-cell.component.tsx +5 -2
  163. package/src/components/flexi-cell/flexi-cell.styles.ts +5 -2
  164. package/src/components/flexi-cell/flexi-cell.types.ts +4 -0
  165. package/src/components/flexi-cell/index.ts +1 -0
  166. package/src/components/icon/index.ts +1 -0
  167. package/src/components/index.ts +3 -1
  168. package/src/components/input/input.component.tsx +10 -1
  169. package/src/components/input/input.styles.ts +4 -1
  170. package/src/components/link/link.component.tsx +10 -3
  171. package/src/components/link/link.styles.ts +7 -3
  172. package/src/components/list/components/item/item.component.tsx +4 -1
  173. package/src/components/list/components/item/item.styles.ts +5 -2
  174. package/src/components/list/list.stories.tsx +3 -3
  175. package/src/components/list/list.styles.ts +1 -1
  176. package/src/components/modal/components/backdrop/backdrop.styles.ts +2 -2
  177. package/src/components/modal/components/dialog/dialog.component.tsx +4 -3
  178. package/src/components/modal/components/dialog/dialog.styles.ts +7 -3
  179. package/src/components/popover/components/panel/panel.styles.ts +1 -1
  180. package/src/components/popover/popover.component.tsx +0 -1
  181. package/src/components/popover/popover.styles.ts +0 -1
  182. package/src/components/radio-group/components/radio/radio.component.tsx +2 -2
  183. package/src/components/radio-group/components/radio/radio.styles.ts +5 -5
  184. package/src/components/repeater/index.ts +2 -0
  185. package/src/components/repeater/repeater.component.tsx +124 -0
  186. package/src/components/repeater/repeater.stories.tsx +49 -0
  187. package/src/components/repeater/repeater.styles.ts +32 -0
  188. package/src/components/repeater/repeater.types.ts +20 -0
  189. package/src/components/repeater/repeater.utils.tsx +3 -0
  190. package/src/components/select/select.component.tsx +3 -1
  191. package/src/components/select/select.styles.ts +6 -1
  192. package/src/components/selector/components/index.ts +2 -0
  193. package/src/components/selector/components/selector-checkbox-group/components/index.ts +1 -0
  194. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.ts +2 -0
  195. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.tsx +96 -0
  196. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.ts +53 -0
  197. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.ts +15 -0
  198. package/src/components/selector/components/selector-checkbox-group/index.ts +2 -0
  199. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.tsx +46 -0
  200. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.ts +9 -0
  201. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.ts +25 -0
  202. package/src/components/selector/components/selector-radio-group/components/index.ts +1 -0
  203. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.ts +2 -0
  204. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.tsx +90 -0
  205. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.ts +53 -0
  206. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.ts +21 -0
  207. package/src/components/selector/components/selector-radio-group/index.ts +2 -0
  208. package/src/components/selector/components/selector-radio-group/selector-radio-group.component.tsx +48 -0
  209. package/src/components/selector/components/selector-radio-group/selector-radio-group.styles.ts +14 -0
  210. package/src/components/selector/components/selector-radio-group/selector-radio-group.types.ts +22 -0
  211. package/src/components/selector/index.ts +2 -0
  212. package/src/components/selector/selector.component.tsx +34 -0
  213. package/src/components/selector/selector.stories.tsx +621 -0
  214. package/src/components/selector/selector.types.ts +24 -0
  215. package/src/components/switch/switch.component.tsx +19 -7
  216. package/src/components/switch/switch.stories.tsx +1 -1
  217. package/src/components/switch/switch.styles.ts +2 -2
  218. package/src/components/switch/switch.types.ts +5 -1
  219. package/src/components/tabs/components/tab/tab.component.tsx +4 -3
  220. package/src/components/tabs/components/tab/tab.styles.ts +12 -8
  221. package/src/components/tabs/components/tab-panel/tab-panel.component.tsx +3 -2
  222. package/src/components/tabs/components/tab-panel/tab-panel.styles.ts +5 -2
  223. package/src/components/textarea/textarea.component.tsx +9 -1
  224. package/src/components/textarea/textarea.styles.ts +4 -1
  225. package/src/utils/generateId.ts +6 -0
  226. package/src/utils/index.ts +1 -0
@@ -0,0 +1,515 @@
1
+ import { useState } from 'react';
2
+ import { PersonIcon } from '../icon/index.js';
3
+ import { VisuallyHidden } from '../index.js';
4
+ import { BusPictogram, ChatPictogram, PizzaPictogram } from '../pictogram/index.js';
5
+ import { Selector } from './selector.component.js';
6
+ const HERE_IS_A_LABEL_A = 'Here is a label A';
7
+ const HERE_IS_A_LABEL_B = 'Here is a label B';
8
+ const HERE_IS_A_LABEL_C = 'Here is a label C';
9
+ const meta = {
10
+ title: 'Example/Selector',
11
+ component: Selector,
12
+ tags: [
13
+ 'autodocs'
14
+ ],
15
+ decorators: [
16
+ (Story)=>React.createElement(Story, null)
17
+ ],
18
+ parameters: {
19
+ layout: 'padded'
20
+ }
21
+ };
22
+ export default meta;
23
+ export const DefaultStory = ()=>{
24
+ return React.createElement(Selector, {
25
+ type: "checkbox"
26
+ }, [
27
+ {
28
+ key: 'A',
29
+ disabled: false
30
+ },
31
+ {
32
+ key: 'B',
33
+ disabled: false
34
+ },
35
+ {
36
+ key: 'C',
37
+ disabled: false
38
+ },
39
+ {
40
+ key: 'D',
41
+ disabled: true
42
+ }
43
+ ].map(({ key , disabled })=>React.createElement(Selector.Checkbox, {
44
+ key: key,
45
+ body: true,
46
+ value: key,
47
+ isDisabled: disabled
48
+ }, React.createElement(Selector.Label, null, "Something ", key))));
49
+ };
50
+ export const RadioStory = ()=>{
51
+ return React.createElement(Selector, {
52
+ type: "radio"
53
+ }, [
54
+ {
55
+ key: 'A',
56
+ disabled: false
57
+ },
58
+ {
59
+ key: 'B',
60
+ disabled: false
61
+ },
62
+ {
63
+ key: 'C',
64
+ disabled: false
65
+ },
66
+ {
67
+ key: 'D',
68
+ disabled: true
69
+ }
70
+ ].map(({ key , disabled })=>React.createElement(Selector.Radio, {
71
+ key: key,
72
+ body: true,
73
+ value: key,
74
+ isDisabled: disabled
75
+ }, React.createElement(Selector.Label, null, "Something ", key))));
76
+ };
77
+ export const CheckWithArrowStory = ()=>{
78
+ return React.createElement(Selector, {
79
+ type: "radio"
80
+ }, [
81
+ {
82
+ key: 'A',
83
+ disabled: false
84
+ },
85
+ {
86
+ key: 'B',
87
+ disabled: false
88
+ },
89
+ {
90
+ key: 'C',
91
+ disabled: false
92
+ },
93
+ {
94
+ key: 'D',
95
+ disabled: true
96
+ }
97
+ ].map(({ key , disabled })=>React.createElement(Selector.Radio, {
98
+ key: key,
99
+ body: true,
100
+ value: key,
101
+ isDisabled: disabled,
102
+ checkIcon: "arrow"
103
+ }, React.createElement(Selector.Label, null, "Something ", key))));
104
+ };
105
+ export const RadioWithStateStory = ()=>{
106
+ const [selectedOption, setSelectedOption] = useState();
107
+ return React.createElement(React.Fragment, null, selectedOption, React.createElement(Selector, {
108
+ type: "radio",
109
+ value: selectedOption,
110
+ onChange: (value)=>{
111
+ setSelectedOption(value);
112
+ }
113
+ }, [
114
+ {
115
+ key: 'A',
116
+ disabled: false
117
+ },
118
+ {
119
+ key: 'B',
120
+ disabled: false
121
+ },
122
+ {
123
+ key: 'C',
124
+ disabled: false
125
+ },
126
+ {
127
+ key: 'D',
128
+ disabled: true
129
+ }
130
+ ].map(({ key , disabled })=>React.createElement(Selector.Radio, {
131
+ key: key,
132
+ body: true,
133
+ value: key,
134
+ isDisabled: disabled
135
+ }, React.createElement(Selector.Label, null, "Something ", key)))));
136
+ };
137
+ export const CheckboxWithStateStory = ()=>{
138
+ const [selectedOptions, setSelectedOptions] = useState();
139
+ return React.createElement(React.Fragment, null, selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.join(','), React.createElement(Selector, {
140
+ type: "checkbox",
141
+ value: selectedOptions,
142
+ onChange: (value)=>{
143
+ setSelectedOptions(value);
144
+ }
145
+ }, [
146
+ {
147
+ key: 'A',
148
+ disabled: false
149
+ },
150
+ {
151
+ key: 'B',
152
+ disabled: false
153
+ },
154
+ {
155
+ key: 'C',
156
+ disabled: false
157
+ },
158
+ {
159
+ key: 'D',
160
+ disabled: true
161
+ }
162
+ ].map(({ key , disabled })=>React.createElement(Selector.Checkbox, {
163
+ key: key,
164
+ body: true,
165
+ value: key,
166
+ isDisabled: disabled
167
+ }, React.createElement(Selector.Label, null, "Something ", key)))));
168
+ };
169
+ export const LongTextStory = ()=>{
170
+ return React.createElement(Selector, {
171
+ type: "checkbox"
172
+ }, [
173
+ {
174
+ key: 'A',
175
+ disabled: false
176
+ },
177
+ {
178
+ key: 'B',
179
+ disabled: false
180
+ },
181
+ {
182
+ key: 'C',
183
+ disabled: false
184
+ },
185
+ {
186
+ key: 'D',
187
+ disabled: true
188
+ }
189
+ ].map(({ key , disabled })=>React.createElement(Selector.Checkbox, {
190
+ key: key,
191
+ body: true,
192
+ value: key,
193
+ isDisabled: disabled
194
+ }, React.createElement(Selector.Label, null, "Lorem, ipsum dolor sit amet consectetur adipisicing elit. Maiores architecto eum aperiam consectetur quibusdam. Laboriosam saepe, explicabo odio quis doloribus consequuntur quae et necessitatibus quasi similique. Debitis non quo recusandae. ", key))));
195
+ };
196
+ export const WithHintTextStory = ()=>{
197
+ return React.createElement(Selector, {
198
+ type: "checkbox"
199
+ }, [
200
+ {
201
+ label: HERE_IS_A_LABEL_A,
202
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
203
+ key: 'A',
204
+ disabled: false
205
+ },
206
+ {
207
+ label: HERE_IS_A_LABEL_B,
208
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
209
+ key: 'B',
210
+ disabled: false
211
+ },
212
+ {
213
+ label: HERE_IS_A_LABEL_C,
214
+ hint: '',
215
+ key: 'C',
216
+ disabled: false
217
+ }
218
+ ].map(({ key , disabled , hint , label })=>React.createElement(Selector.Checkbox, {
219
+ key: key,
220
+ body: true,
221
+ value: key,
222
+ isDisabled: disabled
223
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
224
+ };
225
+ export const WithPictogramStory = ()=>{
226
+ return React.createElement(Selector, {
227
+ type: "checkbox"
228
+ }, [
229
+ {
230
+ before: React.createElement(Selector.Adornment, {
231
+ align: "top"
232
+ }, React.createElement(PizzaPictogram, {
233
+ className: "h-5 w-5"
234
+ })),
235
+ label: HERE_IS_A_LABEL_A,
236
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
237
+ key: 'A',
238
+ disabled: false
239
+ },
240
+ {
241
+ before: React.createElement(Selector.Adornment, {
242
+ align: "top"
243
+ }, React.createElement(ChatPictogram, {
244
+ className: "h-5 w-5"
245
+ })),
246
+ label: HERE_IS_A_LABEL_B,
247
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
248
+ key: 'B',
249
+ disabled: false
250
+ },
251
+ {
252
+ before: React.createElement(Selector.Adornment, {
253
+ align: "top"
254
+ }, React.createElement(BusPictogram, {
255
+ className: "h-5 w-5"
256
+ })),
257
+ label: HERE_IS_A_LABEL_C,
258
+ hint: '',
259
+ key: 'C',
260
+ disabled: false
261
+ }
262
+ ].map(({ key , disabled , hint , label , before })=>React.createElement(Selector.Checkbox, {
263
+ before: before,
264
+ key: key,
265
+ body: true,
266
+ value: key,
267
+ isDisabled: disabled
268
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
269
+ };
270
+ export const WithPictogramDifferentSizesStory = ()=>{
271
+ return React.createElement(Selector, {
272
+ type: "checkbox"
273
+ }, [
274
+ {
275
+ before: React.createElement(Selector.Adornment, {
276
+ align: "top"
277
+ }, React.createElement(PizzaPictogram, {
278
+ className: "h-15 w-15"
279
+ })),
280
+ label: HERE_IS_A_LABEL_A,
281
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
282
+ key: 'A',
283
+ disabled: false
284
+ },
285
+ {
286
+ before: React.createElement(Selector.Adornment, {
287
+ align: "top"
288
+ }, React.createElement(ChatPictogram, {
289
+ className: "h-10 w-10"
290
+ })),
291
+ label: HERE_IS_A_LABEL_B,
292
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
293
+ key: 'B',
294
+ disabled: false
295
+ },
296
+ {
297
+ before: React.createElement(Selector.Adornment, {
298
+ align: "top"
299
+ }, React.createElement(BusPictogram, {
300
+ className: "h-5 w-5"
301
+ })),
302
+ label: HERE_IS_A_LABEL_C,
303
+ hint: '',
304
+ key: 'C',
305
+ disabled: false
306
+ }
307
+ ].map(({ key , disabled , hint , label , before })=>React.createElement(Selector.Checkbox, {
308
+ before: before,
309
+ key: key,
310
+ body: true,
311
+ value: key,
312
+ isDisabled: disabled
313
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
314
+ };
315
+ export const WithIconsDifferentSizesStory = ()=>{
316
+ return React.createElement(Selector, {
317
+ type: "checkbox"
318
+ }, [
319
+ {
320
+ before: React.createElement(Selector.Adornment, {
321
+ align: "top"
322
+ }, React.createElement(PersonIcon, {
323
+ className: "h-15 w-15"
324
+ })),
325
+ label: HERE_IS_A_LABEL_A,
326
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
327
+ key: 'A',
328
+ disabled: false
329
+ },
330
+ {
331
+ before: React.createElement(Selector.Adornment, {
332
+ align: "top"
333
+ }, React.createElement(PersonIcon, {
334
+ className: "h-10 w-10"
335
+ })),
336
+ label: HERE_IS_A_LABEL_B,
337
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
338
+ key: 'B',
339
+ disabled: false
340
+ },
341
+ {
342
+ before: React.createElement(Selector.Adornment, {
343
+ align: "top"
344
+ }, React.createElement(PersonIcon, {
345
+ className: "h-5 w-5"
346
+ })),
347
+ label: HERE_IS_A_LABEL_C,
348
+ hint: '',
349
+ key: 'C',
350
+ disabled: false
351
+ }
352
+ ].map(({ key , disabled , hint , label , before })=>React.createElement(Selector.Checkbox, {
353
+ before: before,
354
+ key: key,
355
+ body: true,
356
+ value: key,
357
+ isDisabled: disabled
358
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
359
+ };
360
+ export const WithIconsAndSecondaryLabelStory = ()=>{
361
+ return React.createElement(Selector, {
362
+ type: "checkbox"
363
+ }, [
364
+ {
365
+ before: React.createElement(Selector.Adornment, {
366
+ align: "top"
367
+ }, React.createElement(PersonIcon, {
368
+ className: "h-5 w-5"
369
+ })),
370
+ label: HERE_IS_A_LABEL_A,
371
+ after: React.createElement(Selector.Label, null, "$200,000.00"),
372
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
373
+ key: 'A',
374
+ disabled: false
375
+ },
376
+ {
377
+ before: React.createElement(Selector.Adornment, {
378
+ align: "top"
379
+ }, React.createElement(PersonIcon, {
380
+ className: "h-5 w-5"
381
+ })),
382
+ label: HERE_IS_A_LABEL_B,
383
+ after: React.createElement(Selector.Label, null, "$200,000.00"),
384
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
385
+ key: 'B',
386
+ disabled: false
387
+ },
388
+ {
389
+ before: React.createElement(Selector.Adornment, {
390
+ align: "top"
391
+ }, React.createElement(PersonIcon, {
392
+ className: "h-5 w-5"
393
+ })),
394
+ label: HERE_IS_A_LABEL_C,
395
+ after: React.createElement(Selector.Adornment, {
396
+ align: "center"
397
+ }, React.createElement("span", null, "$200,000.00")),
398
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 7643123"),
399
+ key: 'C',
400
+ disabled: false
401
+ }
402
+ ].map(({ key , disabled , hint , label , before , after })=>React.createElement(Selector.Checkbox, {
403
+ before: before,
404
+ after: after,
405
+ key: key,
406
+ body: true,
407
+ value: key,
408
+ isDisabled: disabled
409
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
410
+ };
411
+ export const RadioWithIconsAndSecondaryLabelStory = ()=>{
412
+ return React.createElement(Selector, {
413
+ type: "radio"
414
+ }, [
415
+ {
416
+ before: React.createElement(Selector.Adornment, {
417
+ align: "top"
418
+ }, React.createElement(PersonIcon, {
419
+ className: "h-5 w-5"
420
+ })),
421
+ label: HERE_IS_A_LABEL_A,
422
+ after: React.createElement(Selector.Label, null, "$200,000.00"),
423
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
424
+ key: 'A',
425
+ disabled: false
426
+ },
427
+ {
428
+ before: React.createElement(Selector.Adornment, {
429
+ align: "top"
430
+ }, React.createElement(PersonIcon, {
431
+ className: "h-5 w-5"
432
+ })),
433
+ label: HERE_IS_A_LABEL_B,
434
+ after: React.createElement(Selector.Label, null, "$200,000.00"),
435
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
436
+ key: 'B',
437
+ disabled: false
438
+ },
439
+ {
440
+ before: React.createElement(Selector.Adornment, {
441
+ align: "top"
442
+ }, React.createElement(PersonIcon, {
443
+ className: "h-5 w-5"
444
+ })),
445
+ label: HERE_IS_A_LABEL_C,
446
+ after: React.createElement(Selector.Adornment, {
447
+ align: "center"
448
+ }, React.createElement("span", null, "$200,000.00")),
449
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 7643123"),
450
+ key: 'C',
451
+ disabled: false
452
+ }
453
+ ].map(({ key , disabled , hint , label , before , after })=>React.createElement(Selector.Radio, {
454
+ before: before,
455
+ after: after,
456
+ key: key,
457
+ body: true,
458
+ value: key,
459
+ checkIcon: "arrow",
460
+ isDisabled: disabled
461
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
462
+ };
463
+ export const DisableStateStory = ()=>{
464
+ return React.createElement(Selector, {
465
+ type: "radio",
466
+ value: "A"
467
+ }, [
468
+ {
469
+ before: React.createElement(Selector.Adornment, {
470
+ align: "top"
471
+ }, React.createElement(PersonIcon, {
472
+ className: "h-5 w-5"
473
+ })),
474
+ label: HERE_IS_A_LABEL_A,
475
+ after: React.createElement(Selector.Label, null, "$200,000.00"),
476
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
477
+ key: 'A',
478
+ disabled: true
479
+ },
480
+ {
481
+ before: React.createElement(Selector.Adornment, {
482
+ align: "top"
483
+ }, React.createElement(PersonIcon, {
484
+ className: "h-5 w-5"
485
+ })),
486
+ label: HERE_IS_A_LABEL_B,
487
+ after: React.createElement(Selector.Label, null, "$200,000.00"),
488
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 123456"),
489
+ key: 'B',
490
+ disabled: true
491
+ },
492
+ {
493
+ before: React.createElement(Selector.Adornment, {
494
+ align: "top"
495
+ }, React.createElement(PersonIcon, {
496
+ className: "h-5 w-5"
497
+ })),
498
+ label: HERE_IS_A_LABEL_C,
499
+ after: React.createElement(Selector.Adornment, {
500
+ align: "center"
501
+ }, React.createElement("span", null, "$200,000.00")),
502
+ hint: React.createElement(React.Fragment, null, React.createElement(VisuallyHidden, null, "Bank Account"), "123-456 7643123"),
503
+ key: 'C',
504
+ disabled: true
505
+ }
506
+ ].map(({ key , disabled , hint , label , before , after })=>React.createElement(Selector.Radio, {
507
+ before: before,
508
+ after: after,
509
+ key: key,
510
+ body: true,
511
+ value: key,
512
+ checkIcon: "arrow",
513
+ isDisabled: disabled
514
+ }, React.createElement(Selector.Label, null, label), hint && React.createElement(Selector.Hint, null, hint))));
515
+ };
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { type SelectorCheckboxGroupProps, type SelectorRadioGroupProps } from './components/index.js';
3
+ export type SelectorPropsPerType = {
4
+ checkbox: {
5
+ children: ReactNode;
6
+ /**
7
+ * Type checkbox
8
+ */
9
+ type: 'checkbox';
10
+ } & SelectorCheckboxGroupProps;
11
+ radio: {
12
+ children: ReactNode;
13
+ /**
14
+ * Type Radio
15
+ */
16
+ type: 'radio';
17
+ } & SelectorRadioGroupProps;
18
+ };
19
+ export type SelectorPropsType = keyof SelectorPropsPerType;
20
+ export type SelectorProps<K extends SelectorPropsType = SelectorPropsType> = SelectorPropsPerType[K];
@@ -0,0 +1 @@
1
+ export { };
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" resolution-mode="require"/>
2
2
  import { type SwitchProps } from './switch.types.js';
3
- export declare function Switch({ className, label, size, block, isDisabled, ...props }: SwitchProps): JSX.Element;
3
+ export declare function Switch({ className, label, size, block, checked, isDisabled, ...props }: SwitchProps): JSX.Element;
@@ -13,23 +13,27 @@ function _extends() {
13
13
  return _extends.apply(this, arguments);
14
14
  }
15
15
  import React, { useId, useRef } from 'react';
16
- import { VisuallyHidden, useCheckbox, useFocusRing } from 'react-aria';
16
+ import { VisuallyHidden, mergeProps, useCheckbox, useFocusRing } from 'react-aria';
17
17
  import { useToggleState } from 'react-stately';
18
18
  import { styles as switchStyles } from './switch.styles.js';
19
- export function Switch({ className , label , size ='medium' , block =false , isDisabled , ...props }) {
20
- const state = useToggleState(props);
19
+ export function Switch({ className , label , size ='medium' , block =false , checked =false , isDisabled , ...props }) {
20
+ const state = useToggleState({
21
+ ...props,
22
+ defaultSelected: checked
23
+ });
21
24
  const labelId = useId();
22
25
  const ref = useRef(null);
26
+ const { isSelected } = state;
23
27
  const { inputProps } = useCheckbox({
24
28
  isDisabled,
25
29
  'aria-labelledby': labelId,
30
+ defaultSelected: checked,
26
31
  ...props
27
32
  }, state, ref);
28
- const { isSelected } = state;
29
- const { isFocusVisible , focusProps } = useFocusRing();
33
+ const { isFocused , focusProps } = useFocusRing();
30
34
  const styles = switchStyles({
31
35
  block,
32
- isFocusVisible,
36
+ isFocused,
33
37
  isSelected,
34
38
  isDisabled,
35
39
  size
@@ -41,7 +45,7 @@ export function Switch({ className , label , size ='medium' , block =false , isD
41
45
  }, React.createElement("span", {
42
46
  className: styles.label(),
43
47
  id: labelId
44
- }, label), React.createElement(VisuallyHidden, null, React.createElement("input", _extends({}, inputProps, focusProps, {
48
+ }, label), React.createElement(VisuallyHidden, null, React.createElement("input", _extends({}, mergeProps(inputProps, focusProps), {
45
49
  ref: ref
46
50
  }))), React.createElement("div", {
47
51
  className: styles.switchDiv()
@@ -30,7 +30,7 @@ export const DefaultStory = {
30
30
  export const SelectedSwitch = {
31
31
  args: {
32
32
  label: 'eStatements',
33
- isSelected: true
33
+ checked: true
34
34
  }
35
35
  };
36
36
  export const SwitchSizes = ()=>React.createElement("div", null, SIZES.map((size)=>React.createElement("div", {
@@ -13,7 +13,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
13
13
  switchDiv: string;
14
14
  };
15
15
  };
16
- isFocusVisible: {
16
+ isFocused: {
17
17
  true: {
18
18
  switchDiv: string;
19
19
  };
@@ -60,7 +60,7 @@ export declare const styles: import("tailwind-variants").TVReturnType<{
60
60
  switchDiv: string;
61
61
  };
62
62
  };
63
- isFocusVisible: {
63
+ isFocused: {
64
64
  true: {
65
65
  switchDiv: string;
66
66
  };
@@ -2,7 +2,7 @@ import { tv } from 'tailwind-variants';
2
2
  export const styles = tv({
3
3
  slots: {
4
4
  base: 'mb-1 inline-flex items-center hover:cursor-pointer',
5
- switchDiv: 'relative box-content overflow-hidden border border-borderDark transition duration-[.3s] after:absolute after:left-0 after:top-0 after:block after:rounded-[50%] after:bg-white after:shadow-switch after:transition-all after:duration-[.3s]',
5
+ switchDiv: 'border-borderDark after:shadow-switch relative box-content overflow-hidden border transition duration-[.3s] after:absolute after:left-0 after:top-0 after:block after:rounded-[50%] after:bg-white after:transition-all after:duration-[.3s]',
6
6
  label: 'pr-1'
7
7
  },
8
8
  variants: {
@@ -20,7 +20,7 @@ export const styles = tv({
20
20
  switchDiv: 'h-[2.875rem] w-14 rounded-[2.875rem] after:h-[2.875rem] after:w-[2.875rem]'
21
21
  }
22
22
  },
23
- isFocusVisible: {
23
+ isFocused: {
24
24
  true: {
25
25
  switchDiv: 'focus-outline'
26
26
  }
@@ -6,6 +6,10 @@ export type SwitchProps = {
6
6
  * Whether to display switch as block
7
7
  */
8
8
  block?: boolean;
9
+ /**
10
+ * Default checked
11
+ */
12
+ checked?: boolean;
9
13
  /**
10
14
  * Classname for overriding base style
11
15
  */
@@ -14,4 +18,4 @@ export type SwitchProps = {
14
18
  * Label for the switch
15
19
  */
16
20
  label: string;
17
- } & Omit<AriaCheckboxProps, 'children'> & Pick<VariantProps<typeof styles>, 'size'>;
21
+ } & Omit<AriaCheckboxProps, 'children' | 'isSelected'> & Pick<VariantProps<typeof styles>, 'size'>;
@@ -13,20 +13,22 @@ function _extends() {
13
13
  return _extends.apply(this, arguments);
14
14
  }
15
15
  import React, { useRef } from 'react';
16
- import { useTab } from 'react-aria';
16
+ import { mergeProps, useFocusRing, useTab } from 'react-aria';
17
17
  import { styles } from './tab.styles.js';
18
18
  export function Tab({ item: { key , rendered } , state , orientation , justify , color , look }) {
19
19
  const ref = useRef(null);
20
20
  const { tabProps } = useTab({
21
21
  key
22
22
  }, state, ref);
23
- return React.createElement("div", _extends({}, tabProps, {
23
+ const { isFocusVisible , focusProps } = useFocusRing();
24
+ return React.createElement("div", _extends({}, mergeProps(tabProps, focusProps), {
24
25
  className: styles({
25
26
  selected: key === state.selectedKey,
26
27
  orientation,
27
28
  justify,
28
29
  color,
29
- look
30
+ look,
31
+ isFocusVisible
30
32
  }),
31
33
  ref: ref
32
34
  }), rendered);