@artsy/palette 44.0.1 → 44.2.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 (213) hide show
  1. package/dist/elements/AutocompleteInput/AutocompleteInput.story.d.ts +105 -6
  2. package/dist/elements/AutocompleteInput/AutocompleteInput.story.js +78 -365
  3. package/dist/elements/AutocompleteInput/AutocompleteInput.story.js.map +1 -1
  4. package/dist/elements/Avatar/Avatar.story.d.ts +74 -5
  5. package/dist/elements/Avatar/Avatar.story.js +69 -85
  6. package/dist/elements/Avatar/Avatar.story.js.map +1 -1
  7. package/dist/elements/Banner/Banner.story.d.ts +53 -2
  8. package/dist/elements/Banner/Banner.story.js +55 -24
  9. package/dist/elements/Banner/Banner.story.js.map +1 -1
  10. package/dist/elements/BaseTabs/BaseTabs.story.d.ts +45 -20
  11. package/dist/elements/BaseTabs/BaseTabs.story.js +99 -154
  12. package/dist/elements/BaseTabs/BaseTabs.story.js.map +1 -1
  13. package/dist/elements/BorderedRadio/BorderedRadio.story.d.ts +30 -1
  14. package/dist/elements/BorderedRadio/BorderedRadio.story.js +92 -19
  15. package/dist/elements/BorderedRadio/BorderedRadio.story.js.map +1 -1
  16. package/dist/elements/Box/Box.story.d.ts +35 -1
  17. package/dist/elements/Box/Box.story.js +54 -28
  18. package/dist/elements/Box/Box.story.js.map +1 -1
  19. package/dist/elements/Breadcrumbs/Breadcrumbs.story.d.ts +27 -1
  20. package/dist/elements/Breadcrumbs/Breadcrumbs.story.js +43 -26
  21. package/dist/elements/Breadcrumbs/Breadcrumbs.story.js.map +1 -1
  22. package/dist/elements/Button/Button.story.d.ts +132 -19
  23. package/dist/elements/Button/Button.story.js +133 -228
  24. package/dist/elements/Button/Button.story.js.map +1 -1
  25. package/dist/elements/CSSGrid/CSSGrid.story.d.ts +35 -10
  26. package/dist/elements/CSSGrid/CSSGrid.story.js +57 -20
  27. package/dist/elements/CSSGrid/CSSGrid.story.js.map +1 -1
  28. package/dist/elements/Cards/Cards.story.d.ts +56 -14
  29. package/dist/elements/Cards/Cards.story.js +65 -55
  30. package/dist/elements/Cards/Cards.story.js.map +1 -1
  31. package/dist/elements/Carousel/Carousel.story.d.ts +135 -48
  32. package/dist/elements/Carousel/Carousel.story.js +399 -303
  33. package/dist/elements/Carousel/Carousel.story.js.map +1 -1
  34. package/dist/elements/CarouselBar/CarouselBar.story.d.ts +37 -2
  35. package/dist/elements/CarouselBar/CarouselBar.story.js +38 -19
  36. package/dist/elements/CarouselBar/CarouselBar.story.js.map +1 -1
  37. package/dist/elements/Checkbox/Check.story.d.ts +75 -2
  38. package/dist/elements/Checkbox/Check.story.js +77 -32
  39. package/dist/elements/Checkbox/Check.story.js.map +1 -1
  40. package/dist/elements/Checkbox/Checkbox.story.d.ts +79 -3
  41. package/dist/elements/Checkbox/Checkbox.story.js +81 -79
  42. package/dist/elements/Checkbox/Checkbox.story.js.map +1 -1
  43. package/dist/elements/Clickable/Clickable.story.d.ts +50 -5
  44. package/dist/elements/Clickable/Clickable.story.js +52 -58
  45. package/dist/elements/Clickable/Clickable.story.js.map +1 -1
  46. package/dist/elements/Drawer/Drawer.story.d.ts +36 -2
  47. package/dist/elements/Drawer/Drawer.story.js +42 -9
  48. package/dist/elements/Drawer/Drawer.story.js.map +1 -1
  49. package/dist/elements/Dropdown/Dropdown.story.d.ts +53 -18
  50. package/dist/elements/Dropdown/Dropdown.story.js +244 -237
  51. package/dist/elements/Dropdown/Dropdown.story.js.map +1 -1
  52. package/dist/elements/EntityHeader/EntityHeader.story.d.ts +245 -1
  53. package/dist/elements/EntityHeader/EntityHeader.story.js +209 -76
  54. package/dist/elements/EntityHeader/EntityHeader.story.js.map +1 -1
  55. package/dist/elements/Expandable/Expandable.story.d.ts +54 -2
  56. package/dist/elements/Expandable/Expandable.story.js +76 -65
  57. package/dist/elements/Expandable/Expandable.story.js.map +1 -1
  58. package/dist/elements/FilterSelect/FilterSelect.story.d.ts +153 -2
  59. package/dist/elements/FilterSelect/FilterSelect.story.js +159 -62
  60. package/dist/elements/FilterSelect/FilterSelect.story.js.map +1 -1
  61. package/dist/elements/FullBleed/FullBleed.story.d.ts +30 -1
  62. package/dist/elements/FullBleed/FullBleed.story.js +44 -21
  63. package/dist/elements/FullBleed/FullBleed.story.js.map +1 -1
  64. package/dist/elements/GridColumns/GridColumns.story.d.ts +47 -9
  65. package/dist/elements/GridColumns/GridColumns.story.js +188 -204
  66. package/dist/elements/GridColumns/GridColumns.story.js.map +1 -1
  67. package/dist/elements/HTML/HTML.story.d.ts +56 -9
  68. package/dist/elements/HTML/HTML.story.js +56 -28
  69. package/dist/elements/HTML/HTML.story.js.map +1 -1
  70. package/dist/elements/HorizontalOverflow/HorizontalOverflow.story.d.ts +52 -2
  71. package/dist/elements/HorizontalOverflow/HorizontalOverflow.story.js +83 -46
  72. package/dist/elements/HorizontalOverflow/HorizontalOverflow.story.js.map +1 -1
  73. package/dist/elements/Image/Image.story.d.ts +56 -17
  74. package/dist/elements/Image/Image.story.js +106 -88
  75. package/dist/elements/Image/Image.story.js.map +1 -1
  76. package/dist/elements/Input/Input.story.d.ts +111 -6
  77. package/dist/elements/Input/Input.story.js +108 -106
  78. package/dist/elements/Input/Input.story.js.map +1 -1
  79. package/dist/elements/Join/Join.d.ts +1 -2
  80. package/dist/elements/Join/Join.js.map +1 -1
  81. package/dist/elements/Join/Join.story.d.ts +55 -10
  82. package/dist/elements/Join/Join.story.js +122 -58
  83. package/dist/elements/Join/Join.story.js.map +1 -1
  84. package/dist/elements/Label/Label.story.d.ts +44 -2
  85. package/dist/elements/Label/Label.story.js +68 -24
  86. package/dist/elements/Label/Label.story.js.map +1 -1
  87. package/dist/elements/LabeledInput/LabeledInput.story.d.ts +50 -3
  88. package/dist/elements/LabeledInput/LabeledInput.story.js +62 -68
  89. package/dist/elements/LabeledInput/LabeledInput.story.js.map +1 -1
  90. package/dist/elements/Marquee/Marquee.story.d.ts +57 -1
  91. package/dist/elements/Marquee/Marquee.story.js +82 -20
  92. package/dist/elements/Marquee/Marquee.story.js.map +1 -1
  93. package/dist/elements/Message/Message.story.d.ts +56 -1
  94. package/dist/elements/Message/Message.story.js +84 -25
  95. package/dist/elements/Message/Message.story.js.map +1 -1
  96. package/dist/elements/Modal/ModalBase.story.d.ts +53 -4
  97. package/dist/elements/Modal/ModalBase.story.js +78 -33
  98. package/dist/elements/Modal/ModalBase.story.js.map +1 -1
  99. package/dist/elements/ModalDialog/ModalDialog.story.d.ts +58 -1
  100. package/dist/elements/ModalDialog/ModalDialog.story.js +93 -144
  101. package/dist/elements/ModalDialog/ModalDialog.story.js.map +1 -1
  102. package/dist/elements/ModalDialog/ModalDialogContent.story.d.ts +112 -1
  103. package/dist/elements/ModalDialog/ModalDialogContent.story.js +190 -65
  104. package/dist/elements/ModalDialog/ModalDialogContent.story.js.map +1 -1
  105. package/dist/elements/MultiSelect/MultiSelect.d.ts +1 -1
  106. package/dist/elements/MultiSelect/MultiSelect.js +4 -0
  107. package/dist/elements/MultiSelect/MultiSelect.js.map +1 -1
  108. package/dist/elements/MultiSelect/MultiSelect.story.d.ts +120 -2
  109. package/dist/elements/MultiSelect/MultiSelect.story.js +122 -44
  110. package/dist/elements/MultiSelect/MultiSelect.story.js.map +1 -1
  111. package/dist/elements/Pagination/Pagination.story.d.ts +88 -4
  112. package/dist/elements/Pagination/Pagination.story.js +64 -23
  113. package/dist/elements/Pagination/Pagination.story.js.map +1 -1
  114. package/dist/elements/PasswordInput/PasswordInput.story.d.ts +54 -2
  115. package/dist/elements/PasswordInput/PasswordInput.story.js +54 -16
  116. package/dist/elements/PasswordInput/PasswordInput.story.js.map +1 -1
  117. package/dist/elements/Pill/Pill.story.d.ts +114 -9
  118. package/dist/elements/Pill/Pill.story.js +282 -169
  119. package/dist/elements/Pill/Pill.story.js.map +1 -1
  120. package/dist/elements/Popover/Popover.story.d.ts +162 -13
  121. package/dist/elements/Popover/Popover.story.js +351 -190
  122. package/dist/elements/Popover/Popover.story.js.map +1 -1
  123. package/dist/elements/ProgressBar/ProgressBar.story.d.ts +43 -7
  124. package/dist/elements/ProgressBar/ProgressBar.story.js +73 -35
  125. package/dist/elements/ProgressBar/ProgressBar.story.js.map +1 -1
  126. package/dist/elements/ProgressDots/ProgressDots.story.d.ts +69 -7
  127. package/dist/elements/ProgressDots/ProgressDots.story.js +108 -41
  128. package/dist/elements/ProgressDots/ProgressDots.story.js.map +1 -1
  129. package/dist/elements/Radio/Radio.story.d.ts +103 -2
  130. package/dist/elements/Radio/Radio.story.js +112 -57
  131. package/dist/elements/Radio/Radio.story.js.map +1 -1
  132. package/dist/elements/RadioGroup/RadioGroup.story.d.ts +104 -5
  133. package/dist/elements/RadioGroup/RadioGroup.story.js +183 -65
  134. package/dist/elements/RadioGroup/RadioGroup.story.js.map +1 -1
  135. package/dist/elements/Range/Range.story.d.ts +89 -8
  136. package/dist/elements/Range/Range.story.js +170 -94
  137. package/dist/elements/Range/Range.story.js.map +1 -1
  138. package/dist/elements/ReadMore/ReadMore.story.d.ts +85 -25
  139. package/dist/elements/ReadMore/ReadMore.story.js +123 -80
  140. package/dist/elements/ReadMore/ReadMore.story.js.map +1 -1
  141. package/dist/elements/ResponsiveBox/ResponsiveBox.story.d.ts +40 -5
  142. package/dist/elements/ResponsiveBox/ResponsiveBox.story.js +87 -51
  143. package/dist/elements/ResponsiveBox/ResponsiveBox.story.js.map +1 -1
  144. package/dist/elements/Select/Select.story.d.ts +260 -2
  145. package/dist/elements/Select/Select.story.js +216 -48
  146. package/dist/elements/Select/Select.story.js.map +1 -1
  147. package/dist/elements/SelectInput/SelectInput.story.d.ts +304 -3
  148. package/dist/elements/SelectInput/SelectInput.story.js +347 -99
  149. package/dist/elements/SelectInput/SelectInput.story.js.map +1 -1
  150. package/dist/elements/SelectInput/SelectInputList.story.d.ts +31 -1
  151. package/dist/elements/SelectInput/SelectInputList.story.js +35 -164
  152. package/dist/elements/SelectInput/SelectInputList.story.js.map +1 -1
  153. package/dist/elements/Separator/Separator.story.d.ts +64 -2
  154. package/dist/elements/Separator/Separator.story.js +65 -18
  155. package/dist/elements/Separator/Separator.story.js.map +1 -1
  156. package/dist/elements/Shelf/Shelf.story.d.ts +140 -8
  157. package/dist/elements/Shelf/Shelf.story.js +224 -56
  158. package/dist/elements/Shelf/Shelf.story.js.map +1 -1
  159. package/dist/elements/ShowMore/ShowMore.story.d.ts +46 -4
  160. package/dist/elements/ShowMore/ShowMore.story.js +102 -48
  161. package/dist/elements/ShowMore/ShowMore.story.js.map +1 -1
  162. package/dist/elements/Skeleton/Skeleton.story.d.ts +68 -4
  163. package/dist/elements/Skeleton/Skeleton.story.js +84 -58
  164. package/dist/elements/Skeleton/Skeleton.story.js.map +1 -1
  165. package/dist/elements/Skip/Skip.story.d.ts +50 -11
  166. package/dist/elements/Skip/Skip.story.js +69 -31
  167. package/dist/elements/Skip/Skip.story.js.map +1 -1
  168. package/dist/elements/Spacer/Spacer.story.d.ts +39 -4
  169. package/dist/elements/Spacer/Spacer.story.js +53 -51
  170. package/dist/elements/Spacer/Spacer.story.js.map +1 -1
  171. package/dist/elements/Spinner/Spinner.story.d.ts +47 -7
  172. package/dist/elements/Spinner/Spinner.story.js +47 -27
  173. package/dist/elements/Spinner/Spinner.story.js.map +1 -1
  174. package/dist/elements/Stack/Stack.story.d.ts +45 -1
  175. package/dist/elements/Stack/Stack.story.js +81 -33
  176. package/dist/elements/Stack/Stack.story.js.map +1 -1
  177. package/dist/elements/StackableBorderBox/StackableBorderBox.story.d.ts +24 -1
  178. package/dist/elements/StackableBorderBox/StackableBorderBox.story.js +28 -9
  179. package/dist/elements/StackableBorderBox/StackableBorderBox.story.js.map +1 -1
  180. package/dist/elements/Stepper/Stepper.story.d.ts +99 -2
  181. package/dist/elements/Stepper/Stepper.story.js +166 -64
  182. package/dist/elements/Stepper/Stepper.story.js.map +1 -1
  183. package/dist/elements/Sup/Sup.story.d.ts +47 -1
  184. package/dist/elements/Sup/Sup.story.js +57 -15
  185. package/dist/elements/Sup/Sup.story.js.map +1 -1
  186. package/dist/elements/Swiper/Swiper.story.d.ts +32 -45
  187. package/dist/elements/Swiper/Swiper.story.js +234 -235
  188. package/dist/elements/Swiper/Swiper.story.js.map +1 -1
  189. package/dist/elements/Tabs/Tabs.story.d.ts +41 -18
  190. package/dist/elements/Tabs/Tabs.story.js +255 -238
  191. package/dist/elements/Tabs/Tabs.story.js.map +1 -1
  192. package/dist/elements/Text/Text.story.d.ts +117 -5
  193. package/dist/elements/Text/Text.story.js +119 -97
  194. package/dist/elements/Text/Text.story.js.map +1 -1
  195. package/dist/elements/TextArea/TextArea.story.d.ts +45 -2
  196. package/dist/elements/TextArea/TextArea.story.js +106 -49
  197. package/dist/elements/TextArea/TextArea.story.js.map +1 -1
  198. package/dist/elements/Toasts/Toast.story.d.ts +91 -2
  199. package/dist/elements/Toasts/Toast.story.js +90 -24
  200. package/dist/elements/Toasts/Toast.story.js.map +1 -1
  201. package/dist/elements/Toasts/Toasts.story.d.ts +13 -1
  202. package/dist/elements/Toasts/Toasts.story.js +78 -64
  203. package/dist/elements/Toasts/Toasts.story.js.map +1 -1
  204. package/dist/elements/Toggle/Toggle.story.d.ts +66 -2
  205. package/dist/elements/Toggle/Toggle.story.js +97 -41
  206. package/dist/elements/Toggle/Toggle.story.js.map +1 -1
  207. package/dist/elements/Tooltip/Tooltip.story.d.ts +53 -19
  208. package/dist/elements/Tooltip/Tooltip.story.js +201 -212
  209. package/dist/elements/Tooltip/Tooltip.story.js.map +1 -1
  210. package/dist/utils/storybookBlocklist.d.ts +6 -0
  211. package/dist/utils/storybookBlocklist.js +47 -0
  212. package/dist/utils/storybookBlocklist.js.map +1 -0
  213. package/package.json +3 -2
@@ -3,10 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Default = void 0;
6
+ exports.default = exports.WithTitleAndLogo = exports.WithTitleAndFooter = exports.WithTitle = exports.WithLongTitle = exports.WithLogo = exports.WithFooter = exports.ShortContent = exports.Default = exports.CustomHeader = exports.Complete = void 0;
7
7
  var _test = require("@storybook/test");
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _storybookStates = require("storybook-states");
10
9
  var _ModalDialogContent = require("./ModalDialogContent");
11
10
  var _Text = require("../Text");
12
11
  var _Button = require("../Button");
@@ -17,59 +16,195 @@ var _Box = require("../Box");
17
16
  var _ChevronLeftIcon = _interopRequireDefault(require("@artsy/icons/ChevronLeftIcon"));
18
17
  var _ArtsyLogoIcon = _interopRequireDefault(require("@artsy/icons/ArtsyLogoIcon"));
19
18
  var _CloseIcon = _interopRequireDefault(require("@artsy/icons/CloseIcon"));
19
+ var _storybookBlocklist = require("../../utils/storybookBlocklist");
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
  var _default = exports.default = {
22
- title: "Components/ModalDialogContent"
22
+ component: _ModalDialogContent.ModalDialogContent,
23
+ title: "Components/ModalDialogContent",
24
+ tags: ["autodocs"],
25
+ parameters: {
26
+ docs: {
27
+ description: {
28
+ component: "Content component for modal dialogs with title, body, and action sections."
29
+ },
30
+ controls: {
31
+ exclude: _storybookBlocklist.STORYBOOK_PROPS_BLOCKLIST
32
+ }
33
+ }
34
+ }
23
35
  };
24
- var EXAMPLE_LONG_NAME = "Egypt, Thebes, Wadi Qubbanet el-Qirud, New Kingdom, Late Dynasty 18 or early Dynasty 19";
25
- var Default = exports.Default = function Default() {
26
- return /*#__PURE__*/_react.default.createElement(_storybookStates.States, {
27
- states: [{
28
- children: /*#__PURE__*/_react.default.createElement(_Text.Text, {
29
- variant: "sm",
30
- bg: "mono10"
31
- }, "Content shorter than width")
32
- }, {
33
- children: /*#__PURE__*/_react.default.createElement(_Text.Text, {
34
- variant: "sm"
35
- }, "Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur?")
36
- }, {
37
- title: "Modal Title"
38
- }, {
39
- title: "Modal Title with a longer title or headline text that runs on for mutliple lines"
40
- }, {
41
- title: "Pneumonoultramicroscopicsilicovolcanoconiosis"
42
- }, {
43
- title: "Sign up to discover new works by ".concat(EXAMPLE_LONG_NAME, " and more artists you love")
44
- }, {
45
- hasLogo: true
46
- }, {
36
+ var modalContent = /*#__PURE__*/_react.default.createElement(_Join.Join, {
37
+ separator: /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
38
+ y: 1
39
+ })
40
+ }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
41
+ variant: "sm"
42
+ }, "Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur?"), /*#__PURE__*/_react.default.createElement(_Input.Input, {
43
+ placeholder: "Enter your name",
44
+ autoComplete: "name"
45
+ }), /*#__PURE__*/_react.default.createElement(_Input.Input, {
46
+ placeholder: "Enter your email",
47
+ type: "email",
48
+ autoComplete: "email"
49
+ }));
50
+ var Default = exports.Default = {
51
+ render: function render() {
52
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
53
+ onClose: (0, _test.fn)(),
54
+ maxHeight: 400
55
+ }, modalContent);
56
+ },
57
+ parameters: {
58
+ docs: {
59
+ description: {
60
+ story: "Basic modal dialog content without title or footer."
61
+ }
62
+ }
63
+ }
64
+ };
65
+ var ShortContent = exports.ShortContent = {
66
+ render: function render() {
67
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
68
+ onClose: (0, _test.fn)(),
69
+ maxHeight: 400
70
+ }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
71
+ variant: "sm",
72
+ bg: "mono10"
73
+ }, "Content shorter than width"));
74
+ },
75
+ parameters: {
76
+ docs: {
77
+ description: {
78
+ story: "Modal with short content."
79
+ }
80
+ }
81
+ }
82
+ };
83
+ var WithTitle = exports.WithTitle = {
84
+ render: function render() {
85
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
47
86
  title: "Modal Title",
48
- hasLogo: true
49
- }, {
50
- children: /*#__PURE__*/_react.default.createElement(_Text.Text, {
51
- variant: "sm"
52
- }, "Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur?"),
53
- footer: /*#__PURE__*/_react.default.createElement(_Button.Button, {
54
- width: "100%"
55
- }, "Confirm")
56
- }, {
87
+ onClose: (0, _test.fn)(),
88
+ maxHeight: 400
89
+ }, modalContent);
90
+ },
91
+ parameters: {
92
+ docs: {
93
+ description: {
94
+ story: "Modal dialog with a title."
95
+ }
96
+ }
97
+ }
98
+ };
99
+ var WithLongTitle = exports.WithLongTitle = {
100
+ render: function render() {
101
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
102
+ title: "Modal Title with a longer title or headline text that runs on for multiple lines",
103
+ onClose: (0, _test.fn)(),
104
+ maxHeight: 400
105
+ }, modalContent);
106
+ },
107
+ parameters: {
108
+ docs: {
109
+ description: {
110
+ story: "Modal dialog with a long title that wraps to multiple lines."
111
+ }
112
+ }
113
+ }
114
+ };
115
+ var WithLogo = exports.WithLogo = {
116
+ render: function render() {
117
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
118
+ hasLogo: true,
119
+ onClose: (0, _test.fn)(),
120
+ maxHeight: 400
121
+ }, modalContent);
122
+ },
123
+ parameters: {
124
+ docs: {
125
+ description: {
126
+ story: "Modal dialog with logo displayed."
127
+ }
128
+ }
129
+ }
130
+ };
131
+ var WithTitleAndLogo = exports.WithTitleAndLogo = {
132
+ render: function render() {
133
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
57
134
  title: "Modal Title",
135
+ hasLogo: true,
136
+ onClose: (0, _test.fn)(),
137
+ maxHeight: 400
138
+ }, modalContent);
139
+ },
140
+ parameters: {
141
+ docs: {
142
+ description: {
143
+ story: "Modal dialog with both title and logo."
144
+ }
145
+ }
146
+ }
147
+ };
148
+ var WithFooter = exports.WithFooter = {
149
+ render: function render() {
150
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
58
151
  footer: /*#__PURE__*/_react.default.createElement(_Button.Button, {
59
152
  width: "100%"
60
- }, "Confirm")
61
- }, {
62
- title: "Modal Title with a longer title or headline text that runs on for mutliple lines",
153
+ }, "Confirm"),
154
+ onClose: (0, _test.fn)(),
155
+ maxHeight: 400
156
+ }, modalContent);
157
+ },
158
+ parameters: {
159
+ docs: {
160
+ description: {
161
+ story: "Modal dialog with footer action button."
162
+ }
163
+ }
164
+ }
165
+ };
166
+ var WithTitleAndFooter = exports.WithTitleAndFooter = {
167
+ render: function render() {
168
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
169
+ title: "Modal Title",
63
170
  footer: /*#__PURE__*/_react.default.createElement(_Button.Button, {
64
171
  width: "100%"
65
- }, "Confirm")
66
- }, {
67
- title: "Modal Title with a longer title or headline text that runs on for mutliple lines",
172
+ }, "Confirm"),
173
+ onClose: (0, _test.fn)(),
174
+ maxHeight: 400
175
+ }, modalContent);
176
+ },
177
+ parameters: {
178
+ docs: {
179
+ description: {
180
+ story: "Modal dialog with title and footer button."
181
+ }
182
+ }
183
+ }
184
+ };
185
+ var Complete = exports.Complete = {
186
+ render: function render() {
187
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
188
+ title: "Modal Title with a longer title or headline text that runs on for multiple lines",
68
189
  hasLogo: true,
69
190
  footer: /*#__PURE__*/_react.default.createElement(_Button.Button, {
70
191
  width: "100%"
71
- }, "Confirm")
72
- }, {
192
+ }, "Confirm"),
193
+ onClose: (0, _test.fn)(),
194
+ maxHeight: 400
195
+ }, modalContent);
196
+ },
197
+ parameters: {
198
+ docs: {
199
+ description: {
200
+ story: "Complete modal dialog with title, logo, content, and footer."
201
+ }
202
+ }
203
+ }
204
+ };
205
+ var CustomHeader = exports.CustomHeader = {
206
+ render: function render() {
207
+ return /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
73
208
  title: /*#__PURE__*/_react.default.createElement(_Box.Box, {
74
209
  display: "flex",
75
210
  alignItems: "center",
@@ -77,27 +212,17 @@ var Default = exports.Default = function Default() {
77
212
  p: 2
78
213
  }, /*#__PURE__*/_react.default.createElement(_ChevronLeftIcon.default, null), /*#__PURE__*/_react.default.createElement(_ArtsyLogoIcon.default, {
79
214
  height: 30
80
- }), /*#__PURE__*/_react.default.createElement(_CloseIcon.default, null))
81
- }]
82
- }, /*#__PURE__*/_react.default.createElement(_ModalDialogContent.ModalDialogContent, {
83
- onClose: (0, _test.fn)(),
84
- maxHeight: 400
85
- }, /*#__PURE__*/_react.default.createElement(_Join.Join, {
86
- separator: /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
87
- y: 1
88
- })
89
- }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
90
- variant: "sm"
91
- }, "Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quam enim vel accusamus dolor voluptatibus? Cumque dicta blanditiis debitis rerum asperiores quae nihil minima praesentium, quaerat cupiditate amet dolor similique corporis? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quibusdam, eaque placeat mollitia aliquam porro molestiae recusandae eos iusto obcaecati quo ducimus in iure tenetur vitae animi ullam nisi voluptatem inventore! Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam."), /*#__PURE__*/_react.default.createElement(_Input.Input, {
92
- placeholder: "Enter your name",
93
- autoComplete: "name"
94
- }), /*#__PURE__*/_react.default.createElement(_Input.Input, {
95
- placeholder: "Enter your email",
96
- type: "email",
97
- autoComplete: "email"
98
- }), /*#__PURE__*/_react.default.createElement(_Text.Text, {
99
- variant: "sm"
100
- }, "Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quam enim vel accusamus dolor voluptatibus? Cumque dicta blanditiis debitis rerum asperiores quae nihil minima praesentium, quaerat cupiditate amet dolor similique corporis? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quibusdam, eaque placeat mollitia aliquam porro molestiae recusandae eos iusto obcaecati quo ducimus in iure tenetur vitae animi ullam nisi voluptatem inventore! Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quam enim vel accusamus dolor voluptatibus? Cumque dicta blanditiis debitis rerum asperiores quae nihil minima praesentium, quaerat cupiditate amet dolor similique corporis? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quibusdam, eaque placeat mollitia aliquam porro molestiae recusandae eos iusto obcaecati quo ducimus in iure tenetur vitae animi ullam nisi voluptatem inventore! Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid consequatur? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quam enim vel accusamus dolor voluptatibus? Cumque dicta blanditiis debitis rerum asperiores quae nihil minima praesentium, quaerat cupiditate amet dolor similique corporis? Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quibusdam, eaque placeat mollitia aliquam porro molestiae recusandae eos iusto obcaecati quo ducimus in iure tenetur vitae animi ullam nisi voluptatem inventore!"))));
215
+ }), /*#__PURE__*/_react.default.createElement(_CloseIcon.default, null)),
216
+ onClose: (0, _test.fn)(),
217
+ maxHeight: 400
218
+ }, modalContent);
219
+ },
220
+ parameters: {
221
+ docs: {
222
+ description: {
223
+ story: "Modal dialog with custom header containing navigation icons."
224
+ }
225
+ }
226
+ }
101
227
  };
102
- Default.displayName = "Default";
103
228
  //# sourceMappingURL=ModalDialogContent.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalDialogContent.story.js","names":["_test","require","_react","_interopRequireDefault","_storybookStates","_ModalDialogContent","_Text","_Button","_Input","_Join","_Spacer","_Box","_ChevronLeftIcon","_ArtsyLogoIcon","_CloseIcon","obj","__esModule","default","_default","exports","title","EXAMPLE_LONG_NAME","Default","createElement","States","states","children","Text","variant","bg","concat","hasLogo","footer","Button","width","Box","display","alignItems","justifyContent","p","height","ModalDialogContent","onClose","fn","maxHeight","Join","separator","Spacer","y","Input","placeholder","autoComplete","type","displayName"],"sources":["../../../src/elements/ModalDialog/ModalDialogContent.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport {\n ModalDialogContent,\n ModalDialogContentProps,\n} from \"./ModalDialogContent\"\nimport { Text } from \"../Text\"\nimport { Button } from \"../Button\"\nimport { Input } from \"../Input\"\nimport { Join } from \"../Join\"\nimport { Spacer } from \"../Spacer\"\nimport { Box } from \"../Box\"\nimport ChevronLeftIcon from \"@artsy/icons/ChevronLeftIcon\"\nimport ArtsyLogoIcon from \"@artsy/icons/ArtsyLogoIcon\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\n\nexport default {\n title: \"Components/ModalDialogContent\",\n}\n\nconst EXAMPLE_LONG_NAME =\n \"Egypt, Thebes, Wadi Qubbanet el-Qirud, New Kingdom, Late Dynasty 18 or early Dynasty 19\"\n\nexport const Default = () => {\n return (\n <States<Partial<ModalDialogContentProps>>\n states={[\n {\n children: (\n <Text variant=\"sm\" bg=\"mono10\">\n Content shorter than width\n </Text>\n ),\n },\n {\n children: (\n <Text variant=\"sm\">\n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque,\n neque voluptates! Sapiente, sint magnam. Assumenda, hic eius\n asperiores iure explicabo itaque accusantium, consectetur aut sit\n maxime culpa ab aliquid consequatur?\n </Text>\n ),\n },\n { title: \"Modal Title\" },\n {\n title:\n \"Modal Title with a longer title or headline text that runs on for mutliple lines\",\n },\n { title: \"Pneumonoultramicroscopicsilicovolcanoconiosis\" },\n {\n title: `Sign up to discover new works by ${EXAMPLE_LONG_NAME} and more artists you love`,\n },\n { hasLogo: true },\n { title: \"Modal Title\", hasLogo: true },\n {\n children: (\n <Text variant=\"sm\">\n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque,\n neque voluptates! Sapiente, sint magnam. Assumenda, hic eius\n asperiores iure explicabo itaque accusantium, consectetur aut sit\n maxime culpa ab aliquid consequatur?\n </Text>\n ),\n footer: <Button width=\"100%\">Confirm</Button>,\n },\n { title: \"Modal Title\", footer: <Button width=\"100%\">Confirm</Button> },\n {\n title:\n \"Modal Title with a longer title or headline text that runs on for mutliple lines\",\n footer: <Button width=\"100%\">Confirm</Button>,\n },\n {\n title:\n \"Modal Title with a longer title or headline text that runs on for mutliple lines\",\n hasLogo: true,\n footer: <Button width=\"100%\">Confirm</Button>,\n },\n {\n title: (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n p={2}\n >\n <ChevronLeftIcon />\n <ArtsyLogoIcon height={30} />\n <CloseIcon />\n </Box>\n ),\n },\n ]}\n >\n <ModalDialogContent onClose={fn()} maxHeight={400}>\n <Join separator={<Spacer y={1} />}>\n <Text variant=\"sm\">\n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque,\n neque voluptates! Sapiente, sint magnam. Assumenda, hic eius\n asperiores iure explicabo itaque accusantium, consectetur aut sit\n maxime culpa ab aliquid consequatur? Lorem, ipsum dolor sit amet\n consectetur adipisicing elit. Quam enim vel accusamus dolor\n voluptatibus? Cumque dicta blanditiis debitis rerum asperiores quae\n nihil minima praesentium, quaerat cupiditate amet dolor similique\n corporis? Lorem, ipsum dolor sit amet consectetur adipisicing elit.\n Quibusdam, eaque placeat mollitia aliquam porro molestiae recusandae\n eos iusto obcaecati quo ducimus in iure tenetur vitae animi ullam\n nisi voluptatem inventore! Lorem ipsum, dolor sit amet consectetur\n adipisicing elit. Eaque, neque voluptates! Sapiente, sint magnam.\n </Text>\n\n <Input placeholder=\"Enter your name\" autoComplete=\"name\" />\n\n <Input\n placeholder=\"Enter your email\"\n type=\"email\"\n autoComplete=\"email\"\n />\n\n <Text variant=\"sm\">\n Assumenda, hic eius asperiores iure explicabo itaque accusantium,\n consectetur aut sit maxime culpa ab aliquid consequatur? Lorem,\n ipsum dolor sit amet consectetur adipisicing elit. Quam enim vel\n accusamus dolor voluptatibus? Cumque dicta blanditiis debitis rerum\n asperiores quae nihil minima praesentium, quaerat cupiditate amet\n dolor similique corporis? Lorem, ipsum dolor sit amet consectetur\n adipisicing elit. Quibusdam, eaque placeat mollitia aliquam porro\n molestiae recusandae eos iusto obcaecati quo ducimus in iure tenetur\n vitae animi ullam nisi voluptatem inventore! Lorem ipsum, dolor sit\n amet consectetur adipisicing elit. Eaque, neque voluptates!\n Sapiente, sint magnam. Assumenda, hic eius asperiores iure explicabo\n itaque accusantium, consectetur aut sit maxime culpa ab aliquid\n consequatur? Lorem, ipsum dolor sit amet consectetur adipisicing\n elit. Quam enim vel accusamus dolor voluptatibus? Cumque dicta\n blanditiis debitis rerum asperiores quae nihil minima praesentium,\n quaerat cupiditate amet dolor similique corporis? Lorem, ipsum dolor\n sit amet consectetur adipisicing elit. Quibusdam, eaque placeat\n mollitia aliquam porro molestiae recusandae eos iusto obcaecati quo\n ducimus in iure tenetur vitae animi ullam nisi voluptatem inventore!\n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque,\n neque voluptates! Sapiente, sint magnam. Assumenda, hic eius\n asperiores iure explicabo itaque accusantium, consectetur aut sit\n maxime culpa ab aliquid consequatur? Lorem, ipsum dolor sit amet\n consectetur adipisicing elit. Quam enim vel accusamus dolor\n voluptatibus? Cumque dicta blanditiis debitis rerum asperiores quae\n nihil minima praesentium, quaerat cupiditate amet dolor similique\n corporis? Lorem, ipsum dolor sit amet consectetur adipisicing elit.\n Quibusdam, eaque placeat mollitia aliquam porro molestiae recusandae\n eos iusto obcaecati quo ducimus in iure tenetur vitae animi ullam\n nisi voluptatem inventore!\n </Text>\n </Join>\n </ModalDialogContent>\n </States>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalDialogContent.story.js","names":["_test","require","_react","_interopRequireDefault","_ModalDialogContent","_Text","_Button","_Input","_Join","_Spacer","_Box","_ChevronLeftIcon","_ArtsyLogoIcon","_CloseIcon","_storybookBlocklist","obj","__esModule","default","_default","exports","component","ModalDialogContent","title","tags","parameters","docs","description","controls","exclude","STORYBOOK_PROPS_BLOCKLIST","modalContent","createElement","Join","separator","Spacer","y","Text","variant","Input","placeholder","autoComplete","type","Default","render","onClose","fn","maxHeight","story","ShortContent","bg","WithTitle","WithLongTitle","WithLogo","hasLogo","WithTitleAndLogo","WithFooter","footer","Button","width","WithTitleAndFooter","Complete","CustomHeader","Box","display","alignItems","justifyContent","p","height"],"sources":["../../../src/elements/ModalDialog/ModalDialogContent.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React from \"react\"\nimport { ModalDialogContent } from \"./ModalDialogContent\"\nimport { Text } from \"../Text\"\nimport { Button } from \"../Button\"\nimport { Input } from \"../Input\"\nimport { Join } from \"../Join\"\nimport { Spacer } from \"../Spacer\"\nimport { Box } from \"../Box\"\nimport ChevronLeftIcon from \"@artsy/icons/ChevronLeftIcon\"\nimport ArtsyLogoIcon from \"@artsy/icons/ArtsyLogoIcon\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { STORYBOOK_PROPS_BLOCKLIST } from \"../../utils/storybookBlocklist\"\n\nexport default {\n component: ModalDialogContent,\n title: \"Components/ModalDialogContent\",\n tags: [\"autodocs\"],\n parameters: {\n docs: {\n description: {\n component:\n \"Content component for modal dialogs with title, body, and action sections.\",\n },\n controls: {\n exclude: STORYBOOK_PROPS_BLOCKLIST,\n },\n },\n },\n}\n\nconst modalContent = (\n <Join separator={<Spacer y={1} />}>\n <Text variant=\"sm\">\n Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque, neque\n voluptates! Sapiente, sint magnam. Assumenda, hic eius asperiores iure\n explicabo itaque accusantium, consectetur aut sit maxime culpa ab aliquid\n consequatur?\n </Text>\n <Input placeholder=\"Enter your name\" autoComplete=\"name\" />\n <Input placeholder=\"Enter your email\" type=\"email\" autoComplete=\"email\" />\n </Join>\n)\n\nexport const Default = {\n render: () => (\n <ModalDialogContent onClose={fn()} maxHeight={400}>\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Basic modal dialog content without title or footer.\",\n },\n },\n },\n}\n\nexport const ShortContent = {\n render: () => (\n <ModalDialogContent onClose={fn()} maxHeight={400}>\n <Text variant=\"sm\" bg=\"mono10\">\n Content shorter than width\n </Text>\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal with short content.\",\n },\n },\n },\n}\n\nexport const WithTitle = {\n render: () => (\n <ModalDialogContent title=\"Modal Title\" onClose={fn()} maxHeight={400}>\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with a title.\",\n },\n },\n },\n}\n\nexport const WithLongTitle = {\n render: () => (\n <ModalDialogContent\n title=\"Modal Title with a longer title or headline text that runs on for multiple lines\"\n onClose={fn()}\n maxHeight={400}\n >\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with a long title that wraps to multiple lines.\",\n },\n },\n },\n}\n\nexport const WithLogo = {\n render: () => (\n <ModalDialogContent hasLogo onClose={fn()} maxHeight={400}>\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with logo displayed.\",\n },\n },\n },\n}\n\nexport const WithTitleAndLogo = {\n render: () => (\n <ModalDialogContent\n title=\"Modal Title\"\n hasLogo\n onClose={fn()}\n maxHeight={400}\n >\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with both title and logo.\",\n },\n },\n },\n}\n\nexport const WithFooter = {\n render: () => (\n <ModalDialogContent\n footer={<Button width=\"100%\">Confirm</Button>}\n onClose={fn()}\n maxHeight={400}\n >\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with footer action button.\",\n },\n },\n },\n}\n\nexport const WithTitleAndFooter = {\n render: () => (\n <ModalDialogContent\n title=\"Modal Title\"\n footer={<Button width=\"100%\">Confirm</Button>}\n onClose={fn()}\n maxHeight={400}\n >\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with title and footer button.\",\n },\n },\n },\n}\n\nexport const Complete = {\n render: () => (\n <ModalDialogContent\n title=\"Modal Title with a longer title or headline text that runs on for multiple lines\"\n hasLogo\n footer={<Button width=\"100%\">Confirm</Button>}\n onClose={fn()}\n maxHeight={400}\n >\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Complete modal dialog with title, logo, content, and footer.\",\n },\n },\n },\n}\n\nexport const CustomHeader = {\n render: () => (\n <ModalDialogContent\n title={\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n p={2}\n >\n <ChevronLeftIcon />\n <ArtsyLogoIcon height={30} />\n <CloseIcon />\n </Box>\n }\n onClose={fn()}\n maxHeight={400}\n >\n {modalContent}\n </ModalDialogContent>\n ),\n parameters: {\n docs: {\n description: {\n story: \"Modal dialog with custom header containing navigation icons.\",\n },\n },\n },\n}\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ export interface MultiSelectProps extends BoxProps {
10
10
  error?: string | boolean;
11
11
  focus?: boolean;
12
12
  hover?: boolean;
13
- /** Initial values to be selected */
13
+ /** Selected values (updating the list will refresh the internal selection and re-render the component) */
14
14
  selected?: Option["value"][];
15
15
  name?: string;
16
16
  options: Option[];
@@ -66,6 +66,10 @@ var MultiSelect = exports.MultiSelect = function MultiSelect(_ref) {
66
66
  _useState4 = _slicedToArray(_useState3, 2),
67
67
  selection = _useState4[0],
68
68
  setSelection = _useState4[1];
69
+ (0, _react.useEffect)(function () {
70
+ var newSelectedOptions = valuesToOptions(selected, options);
71
+ setSelection(newSelectedOptions);
72
+ }, [selected.toString()]);
69
73
 
70
74
  // Yields focus back and forth between popover and anchor
71
75
  (0, _useUpdateEffect.useUpdateEffect)(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","names":["_themeGet","require","_react","_interopRequireWildcard","_styledComponents","_helpers","_RequiredField","_utils","_useUpdateEffect","_useWidthOf2","_Box","_Checkbox","_Clickable","_Select","_Text","_Tooltip","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiSelect","exports","_ref","_ref$autoOpen","autoOpen","complete","description","disabled","error","focus","hover","_ref$selected","selected","_ref$name","options","required","title","onBlur","onFocus","onSelect","rest","selectedOptions","valuesToOptions","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","selection","setSelection","useUpdateEffect","tooltipRef","current","anchorRef","handleVisible","handleHide","useEffect","handleKeydown","event","document","addEventListener","removeEventListener","_usePosition","usePosition","position","offset","active","_useWidthOf","useWidthOf","ref","width","useClickOutside","onClickOutside","when","type","handleSelect","option","prevSelection","nextSelection","concat","filter","_ref2","createElement","Box","Tooltip","pointer","content","placement","Text","variant","color","textAlign","Container","mt","onClick","lineHeight","overflowEllipsis","reverse","map","s","text","join","StyledLabel","htmlFor","Options","tabIndex","zIndex","bg","Checkbox","height","px","includes","RequiredField","ml","displayName","values","styled","withConfig","componentId","themeGet","Clickable","props","css","MULTISELECT_STATES","completed","caretMixin","label","FORM_ELEMENT_TRANSITION"],"sources":["../../../src/elements/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React, { useEffect, useState } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { FORM_ELEMENT_TRANSITION } from \"../../helpers\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { useClickOutside, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Checkbox } from \"../Checkbox\"\nimport { Clickable } from \"../Clickable\"\nimport { caretMixin, Option } from \"../Select\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { MULTISELECT_STATES } from \"./tokens\"\n\nexport interface MultiSelectProps extends BoxProps {\n /** Whether to open the dropdown automatically on mount or render (default: false) */\n autoOpen?: boolean\n complete?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n /** Initial values to be selected */\n selected?: Option[\"value\"][]\n name?: string\n options: Option[]\n required?: boolean\n title?: string\n onBlur?: (selection: Option[]) => void\n onFocus?: () => void\n onSelect?: (selection: Option[]) => void\n\n visible?: boolean\n}\n\n/** A drop-down multi-select menu */\nexport const MultiSelect: React.FC<\n React.PropsWithChildren<MultiSelectProps>\n> = ({\n autoOpen = false,\n complete,\n description,\n disabled,\n error,\n focus,\n hover,\n selected = [],\n name = \"Select\",\n options,\n required,\n title,\n onBlur,\n onFocus,\n onSelect,\n ...rest\n}) => {\n const selectedOptions = valuesToOptions(selected, options)\n\n const [visible, setVisible] = useState(autoOpen)\n const [selection, setSelection] = useState<Option[]>(selectedOptions || [])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const handleVisible = () => {\n setVisible(true)\n onFocus?.()\n }\n\n const handleHide = () => {\n setVisible(false)\n onBlur?.(selection)\n }\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n handleHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [])\n const { anchorRef, tooltipRef } = usePosition({\n position: \"bottom\",\n offset: 10,\n active: visible,\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: handleHide,\n when: visible,\n type: \"click\",\n })\n\n const handleSelect = (option: Option) => {\n return (selected: boolean) => {\n const prevSelection = selection\n const nextSelection = selected\n ? [...prevSelection, option]\n : prevSelection.filter(({ value }) => option.value !== value)\n\n setSelection(nextSelection)\n onSelect?.(nextSelection)\n }\n }\n\n return (\n <Box width=\"100%\" {...rest}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"mono60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Container\n mt={!!title && !description ? 1 : 0}\n ref={anchorRef as any}\n onClick={handleVisible}\n complete={complete || selection.length > 0}\n disabled={!!disabled}\n error={error}\n focus={!!focus}\n hover={!!hover}\n title={title}\n visible={visible}\n {...rest}\n >\n <Text variant=\"sm\" lineHeight={1} overflowEllipsis>\n {selection.length > 0\n ? [...selection]\n .reverse()\n .map((s) => s.text)\n .join(\", \")\n : name}\n </Text>\n\n {!!title && <StyledLabel htmlFor={name}>{title}</StyledLabel>}\n </Container>\n\n {visible && (\n <Options\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n bg=\"mono0\"\n width={width}\n >\n {options.map((option) => {\n return (\n <Checkbox\n key={option.value}\n height={50}\n px={1}\n selected={selection.map((o) => o.value).includes(option.value)}\n onSelect={handleSelect(option)}\n >\n {option.text}\n </Checkbox>\n )\n })}\n </Options>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} disabled={disabled} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n}\n\nconst valuesToOptions = (\n values: Option[\"value\"][],\n options: Option[]\n): Option[] => {\n return options.filter((option) => values.includes(option.value))\n}\n\nconst Options = styled(Box)`\n position: fixed;\n z-index: 1;\n max-height: 300px;\n text-align: left;\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n\ntype ContainerProps = Pick<\n MultiSelectProps,\n \"complete\" | \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"visible\"\n>\n\nconst Container = styled(Clickable)<ContainerProps>`\n position: relative;\n width: 100%;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 16px 24px 16px ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border: 1px solid;\n border-radius: 3px;\n border-color: ${themeGet(\"colors.mono30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, background-color 0.25s, border-color 0.25s;\n background-color: ${themeGet(\"colors.mono0\")};\n\n ${(props) => {\n return css`\n ${MULTISELECT_STATES.default}\n ${props.complete && MULTISELECT_STATES.completed}\n ${props.hover && MULTISELECT_STATES.hover}\n ${props.focus && MULTISELECT_STATES.focus}\n ${props.disabled && MULTISELECT_STATES.disabled}\n ${props.error && MULTISELECT_STATES.error}\n\n &:hover {\n ${MULTISELECT_STATES.hover}\n }\n\n ${props.visible && MULTISELECT_STATES.focus}\n\n &:disabled {\n cursor: default;\n ${MULTISELECT_STATES.disabled}\n }\n\n // Hide text behind title when it's visible\n ${props.title &&\n !props.complete &&\n !props.visible &&\n css`\n color: transparent !important;\n `}\n `\n }}\n\n ${caretMixin}\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n pointer-events: none;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n background-color: ${themeGet(\"colors.mono0\")};\n font-family: ${themeGet(\"fonts.sans\")};\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.js","names":["_themeGet","require","_react","_interopRequireWildcard","_styledComponents","_helpers","_RequiredField","_utils","_useUpdateEffect","_useWidthOf2","_Box","_Checkbox","_Clickable","_Select","_Text","_Tooltip","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiSelect","exports","_ref","_ref$autoOpen","autoOpen","complete","description","disabled","error","focus","hover","_ref$selected","selected","_ref$name","options","required","title","onBlur","onFocus","onSelect","rest","selectedOptions","valuesToOptions","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","selection","setSelection","useEffect","newSelectedOptions","useUpdateEffect","tooltipRef","current","anchorRef","handleVisible","handleHide","handleKeydown","event","document","addEventListener","removeEventListener","_usePosition","usePosition","position","offset","active","_useWidthOf","useWidthOf","ref","width","useClickOutside","onClickOutside","when","type","handleSelect","option","prevSelection","nextSelection","concat","filter","_ref2","createElement","Box","Tooltip","pointer","content","placement","Text","variant","color","textAlign","Container","mt","onClick","lineHeight","overflowEllipsis","reverse","map","s","text","join","StyledLabel","htmlFor","Options","tabIndex","zIndex","bg","Checkbox","height","px","includes","RequiredField","ml","displayName","values","styled","withConfig","componentId","themeGet","Clickable","props","css","MULTISELECT_STATES","completed","caretMixin","label","FORM_ELEMENT_TRANSITION"],"sources":["../../../src/elements/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React, { useEffect, useState } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { FORM_ELEMENT_TRANSITION } from \"../../helpers\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { useClickOutside, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Checkbox } from \"../Checkbox\"\nimport { Clickable } from \"../Clickable\"\nimport { caretMixin, Option } from \"../Select\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { MULTISELECT_STATES } from \"./tokens\"\n\nexport interface MultiSelectProps extends BoxProps {\n /** Whether to open the dropdown automatically on mount or render (default: false) */\n autoOpen?: boolean\n complete?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n /** Selected values (updating the list will refresh the internal selection and re-render the component) */\n selected?: Option[\"value\"][]\n name?: string\n options: Option[]\n required?: boolean\n title?: string\n onBlur?: (selection: Option[]) => void\n onFocus?: () => void\n onSelect?: (selection: Option[]) => void\n\n visible?: boolean\n}\n\n/** A drop-down multi-select menu */\nexport const MultiSelect: React.FC<\n React.PropsWithChildren<MultiSelectProps>\n> = ({\n autoOpen = false,\n complete,\n description,\n disabled,\n error,\n focus,\n hover,\n selected = [],\n name = \"Select\",\n options,\n required,\n title,\n onBlur,\n onFocus,\n onSelect,\n ...rest\n}) => {\n const selectedOptions = valuesToOptions(selected, options)\n\n const [visible, setVisible] = useState(autoOpen)\n const [selection, setSelection] = useState<Option[]>(selectedOptions || [])\n\n useEffect(() => {\n const newSelectedOptions = valuesToOptions(selected, options)\n setSelection(newSelectedOptions)\n }, [selected.toString()])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const handleVisible = () => {\n setVisible(true)\n onFocus?.()\n }\n\n const handleHide = () => {\n setVisible(false)\n onBlur?.(selection)\n }\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n handleHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [])\n const { anchorRef, tooltipRef } = usePosition({\n position: \"bottom\",\n offset: 10,\n active: visible,\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: handleHide,\n when: visible,\n type: \"click\",\n })\n\n const handleSelect = (option: Option) => {\n return (selected: boolean) => {\n const prevSelection = selection\n const nextSelection = selected\n ? [...prevSelection, option]\n : prevSelection.filter(({ value }) => option.value !== value)\n\n setSelection(nextSelection)\n onSelect?.(nextSelection)\n }\n }\n\n return (\n <Box width=\"100%\" {...rest}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"mono60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Container\n mt={!!title && !description ? 1 : 0}\n ref={anchorRef as any}\n onClick={handleVisible}\n complete={complete || selection.length > 0}\n disabled={!!disabled}\n error={error}\n focus={!!focus}\n hover={!!hover}\n title={title}\n visible={visible}\n {...rest}\n >\n <Text variant=\"sm\" lineHeight={1} overflowEllipsis>\n {selection.length > 0\n ? [...selection]\n .reverse()\n .map((s) => s.text)\n .join(\", \")\n : name}\n </Text>\n\n {!!title && <StyledLabel htmlFor={name}>{title}</StyledLabel>}\n </Container>\n\n {visible && (\n <Options\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n bg=\"mono0\"\n width={width}\n >\n {options.map((option) => {\n return (\n <Checkbox\n key={option.value}\n height={50}\n px={1}\n selected={selection.map((o) => o.value).includes(option.value)}\n onSelect={handleSelect(option)}\n >\n {option.text}\n </Checkbox>\n )\n })}\n </Options>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} disabled={disabled} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n}\n\nconst valuesToOptions = (\n values: Option[\"value\"][],\n options: Option[]\n): Option[] => {\n return options.filter((option) => values.includes(option.value))\n}\n\nconst Options = styled(Box)`\n position: fixed;\n z-index: 1;\n max-height: 300px;\n text-align: left;\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n\ntype ContainerProps = Pick<\n MultiSelectProps,\n \"complete\" | \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"visible\"\n>\n\nconst Container = styled(Clickable)<ContainerProps>`\n position: relative;\n width: 100%;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 16px 24px 16px ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border: 1px solid;\n border-radius: 3px;\n border-color: ${themeGet(\"colors.mono30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, background-color 0.25s, border-color 0.25s;\n background-color: ${themeGet(\"colors.mono0\")};\n\n ${(props) => {\n return css`\n ${MULTISELECT_STATES.default}\n ${props.complete && MULTISELECT_STATES.completed}\n ${props.hover && MULTISELECT_STATES.hover}\n ${props.focus && MULTISELECT_STATES.focus}\n ${props.disabled && MULTISELECT_STATES.disabled}\n ${props.error && MULTISELECT_STATES.error}\n\n &:hover {\n ${MULTISELECT_STATES.hover}\n }\n\n ${props.visible && MULTISELECT_STATES.focus}\n\n &:disabled {\n cursor: default;\n ${MULTISELECT_STATES.disabled}\n }\n\n // Hide text behind title when it's visible\n ${props.title &&\n !props.complete &&\n !props.visible &&\n css`\n color: transparent !important;\n `}\n `\n }}\n\n ${caretMixin}\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n pointer-events: none;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n background-color: ${themeGet(\"colors.mono0\")};\n font-family: ${themeGet(\"fonts.sans\")};\n`\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAD,uBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,IAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,QAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AAA6C,IAAAgB,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,4BAAAG,OAAA,EAAAH,GAAA,UAAAI,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAL,GAAA,YAAAI,KAAA,CAAAE,GAAA,CAAAN,GAAA,SAAAO,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAZ,GAAA,QAAAY,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,GAAA,EAAAY,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,GAAA,EAAAY,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAZ,GAAA,CAAAY,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAH,GAAA,MAAAI,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAjB,GAAA,EAAAO,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAH,iBAAAI,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAG,KAAA,CAAAC,IAAA,CAAAJ,IAAA;AAAA,SAAAL,mBAAAD,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAY,iBAAA,CAAAZ,GAAA;AAAA,SAAAa,eAAAb,GAAA,EAAAN,CAAA,WAAAoB,eAAA,CAAAd,GAAA,KAAAe,qBAAA,CAAAf,GAAA,EAAAN,CAAA,KAAAS,2BAAA,CAAAH,GAAA,EAAAN,CAAA,KAAAsB,gBAAA;AAAA,SAAAA,iBAAA,cAAAX,SAAA;AAAA,SAAAF,4BAAAc,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAL,iBAAA,CAAAK,CAAA,EAAAC,MAAA,OAAAC,CAAA,GAAAtC,MAAA,CAAAI,SAAA,CAAAmC,QAAA,CAAAjC,IAAA,CAAA8B,CAAA,EAAAI,KAAA,aAAAF,CAAA,iBAAAF,CAAA,CAAAK,WAAA,EAAAH,CAAA,GAAAF,CAAA,CAAAK,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAV,KAAA,CAAAC,IAAA,CAAAO,CAAA,OAAAE,CAAA,+DAAAK,IAAA,CAAAL,CAAA,UAAAP,iBAAA,CAAAK,CAAA,EAAAC,MAAA;AAAA,SAAAN,kBAAAZ,GAAA,EAAAyB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAzB,GAAA,CAAAJ,MAAA,EAAA6B,GAAA,GAAAzB,GAAA,CAAAJ,MAAA,WAAAF,CAAA,MAAAgC,IAAA,OAAAjB,KAAA,CAAAgB,GAAA,GAAA/B,CAAA,GAAA+B,GAAA,EAAA/B,CAAA,IAAAgC,IAAA,CAAAhC,CAAA,IAAAM,GAAA,CAAAN,CAAA,UAAAgC,IAAA;AAAA,SAAAX,sBAAAf,GAAA,EAAAN,CAAA,QAAAiC,EAAA,WAAA3B,GAAA,gCAAAO,MAAA,IAAAP,GAAA,CAAAO,MAAA,CAAAC,QAAA,KAAAR,GAAA,4BAAA2B,EAAA,QAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAH,EAAA,GAAAA,EAAA,CAAAxC,IAAA,CAAAa,GAAA,GAAAmC,IAAA,QAAAzC,CAAA,QAAAb,MAAA,CAAA8C,EAAA,MAAAA,EAAA,UAAAM,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAA3C,IAAA,CAAAwC,EAAA,GAAAS,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAApC,MAAA,KAAAF,CAAA,GAAAuC,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAN,EAAA,CAAAa,MAAA,KAAAT,EAAA,GAAAJ,EAAA,CAAAa,MAAA,IAAA3D,MAAA,CAAAkD,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAlB,gBAAAd,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAA,GAAA;AAAA,SAAAyC,yBAAA5C,MAAA,EAAA6C,QAAA,QAAA7C,MAAA,yBAAAJ,MAAA,GAAAkD,6BAAA,CAAA9C,MAAA,EAAA6C,QAAA,OAAA1D,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAA+D,qBAAA,QAAAC,gBAAA,GAAAhE,MAAA,CAAA+D,qBAAA,CAAA/C,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAmD,gBAAA,CAAAjD,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAA6D,gBAAA,CAAAnD,CAAA,OAAAgD,QAAA,CAAAI,OAAA,CAAA9D,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA8D,oBAAA,CAAA5D,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAkD,8BAAA9C,MAAA,EAAA6C,QAAA,QAAA7C,MAAA,yBAAAJ,MAAA,WAAAuD,UAAA,GAAAnE,MAAA,CAAAoE,IAAA,CAAApD,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAsD,UAAA,CAAApD,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAgE,UAAA,CAAAtD,CAAA,OAAAgD,QAAA,CAAAI,OAAA,CAAA9D,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAwB7C;AACO,IAAMyD,WAEZ,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAFSA,WAEZA,CAAAE,IAAA,EAiBK;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAhBJE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAChBE,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,KAAK,GAAAP,IAAA,CAALO,KAAK;IACLC,KAAK,GAAAR,IAAA,CAALQ,KAAK;IAAAC,aAAA,GAAAT,IAAA,CACLU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,SAAA,GAAAX,IAAA,CACb7B,IAAI;IAAJA,IAAI,GAAAwC,SAAA,cAAG,QAAQ,GAAAA,SAAA;IACfC,OAAO,GAAAZ,IAAA,CAAPY,OAAO;IACPC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;IACRC,KAAK,GAAAd,IAAA,CAALc,KAAK;IACLC,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,OAAO,GAAAhB,IAAA,CAAPgB,OAAO;IACPC,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;IACLC,IAAI,GAAA7B,wBAAA,CAAAW,IAAA,EAAAtF,SAAA;EAEP,IAAMyG,eAAe,GAAGC,eAAe,CAACV,QAAQ,EAAEE,OAAO,CAAC;EAE1D,IAAAS,SAAA,GAA8B,IAAAC,eAAQ,EAACpB,QAAQ,CAAC;IAAAqB,UAAA,GAAA9D,cAAA,CAAA4D,SAAA;IAAzCG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAAG,UAAA,GAAkC,IAAAJ,eAAQ,EAAWH,eAAe,IAAI,EAAE,CAAC;IAAAQ,UAAA,GAAAlE,cAAA,CAAAiE,UAAA;IAApEE,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAE9B,IAAAG,gBAAS,EAAC,YAAM;IACd,IAAMC,kBAAkB,GAAGX,eAAe,CAACV,QAAQ,EAAEE,OAAO,CAAC;IAC7DiB,YAAY,CAACE,kBAAkB,CAAC;EAClC,CAAC,EAAE,CAACrB,QAAQ,CAAC1C,QAAQ,EAAE,CAAC,CAAC;;EAEzB;EACA,IAAAgE,gCAAe,EAAC,YAAM;IACpB,IAAIR,OAAO,IAAIS,UAAU,CAACC,OAAO,EAAE;MACjCD,UAAU,CAACC,OAAO,CAAC3B,KAAK,EAAE;MAC1B;IACF;IAEA,IAAI,CAAC4B,SAAS,CAACD,OAAO,EAAE;IACxBC,SAAS,CAACD,OAAO,CAAC3B,KAAK,EAAE;EAC3B,CAAC,EAAE,CAACiB,OAAO,CAAC,CAAC;EAEb,IAAMY,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;IAC1BX,UAAU,CAAC,IAAI,CAAC;IAChBT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC;EAED,IAAMqB,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;IACvBZ,UAAU,CAAC,KAAK,CAAC;IACjBV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAGa,SAAS,CAAC;EACrB,CAAC;EAED,IAAAE,gBAAS,EAAC,YAAM;IACd,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAoB,EAAK;MAC9C,IAAIA,KAAK,CAAC3G,GAAG,KAAK,QAAQ,EAAE;QAC1ByG,UAAU,EAAE;MACd;IACF,CAAC;IAEDG,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEH,aAAa,CAAC;IACnD,OAAO,YAAM;MACXE,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEJ,aAAa,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,IAAAK,YAAA,GAAkC,IAAAC,kBAAW,EAAC;MAC5CC,QAAQ,EAAE,QAAQ;MAClBC,MAAM,EAAE,EAAE;MACVC,MAAM,EAAEvB;IACV,CAAC,CAAC;IAJMW,SAAS,GAAAQ,YAAA,CAATR,SAAS;IAAEF,UAAU,GAAAU,YAAA,CAAVV,UAAU;EAM7B,IAAAe,WAAA,GAAkB,IAAAC,uBAAU,EAAC;MAAEC,GAAG,EAAEf;IAAU,CAAC,CAAC;IAAxCgB,KAAK,GAAAH,WAAA,CAALG,KAAK;EAEb,IAAAC,sBAAe,EAAC;IACdF,GAAG,EAAEjB,UAAU;IACfoB,cAAc,EAAEhB,UAAU;IAC1BiB,IAAI,EAAE9B,OAAO;IACb+B,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAc,EAAK;IACvC,OAAO,UAAC/C,QAAiB,EAAK;MAC5B,IAAMgD,aAAa,GAAG9B,SAAS;MAC/B,IAAM+B,aAAa,GAAGjD,QAAQ,MAAAkD,MAAA,CAAAjH,kBAAA,CACtB+G,aAAa,IAAED,MAAM,KACzBC,aAAa,CAACG,MAAM,CAAC,UAAAC,KAAA;QAAA,IAAG5E,KAAK,GAAA4E,KAAA,CAAL5E,KAAK;QAAA,OAAOuE,MAAM,CAACvE,KAAK,KAAKA,KAAK;MAAA,EAAC;MAE/D2C,YAAY,CAAC8B,aAAa,CAAC;MAC3B1C,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG0C,aAAa,CAAC;IAC3B,CAAC;EACH,CAAC;EAED,oBACEhK,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAAC5J,IAAA,CAAA6J,GAAG,EAAA9H,QAAA;IAACiH,KAAK,EAAC;EAAM,GAAKjC,IAAI,GACvB,CAAC,CAACd,WAAW,iBACZzG,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACvJ,QAAA,CAAAyJ,OAAO;IAACC,OAAO;IAACC,OAAO,EAAE/D,WAAY;IAACgE,SAAS,EAAC;EAAS,gBACxDzK,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACxJ,KAAA,CAAA8J,IAAI;IAACC,OAAO,EAAC,IAAI;IAACC,KAAK,EAAC,QAAQ;IAACC,SAAS,EAAC;EAAO,gBACjD7K,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,YAAG,eAAa,CAAI,CACf,CAEV,eAEDpK,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACU,SAAS,EAAAvI,QAAA;IACRwI,EAAE,EAAE,CAAC,CAAC5D,KAAK,IAAI,CAACV,WAAW,GAAG,CAAC,GAAG,CAAE;IACpC8C,GAAG,EAAEf,SAAiB;IACtBwC,OAAO,EAAEvC,aAAc;IACvBjC,QAAQ,EAAEA,QAAQ,IAAIyB,SAAS,CAACpF,MAAM,GAAG,CAAE;IAC3C6D,QAAQ,EAAE,CAAC,CAACA,QAAS;IACrBC,KAAK,EAAEA,KAAM;IACbC,KAAK,EAAE,CAAC,CAACA,KAAM;IACfC,KAAK,EAAE,CAAC,CAACA,KAAM;IACfM,KAAK,EAAEA,KAAM;IACbU,OAAO,EAAEA;EAAQ,GACbN,IAAI,gBAERvH,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACxJ,KAAA,CAAA8J,IAAI;IAACC,OAAO,EAAC,IAAI;IAACM,UAAU,EAAE,CAAE;IAACC,gBAAgB;EAAA,GAC/CjD,SAAS,CAACpF,MAAM,GAAG,CAAC,GACjBG,kBAAA,CAAIiF,SAAS,EACVkD,OAAO,EAAE,CACTC,GAAG,CAAC,UAACC,CAAC;IAAA,OAAKA,CAAC,CAACC,IAAI;EAAA,EAAC,CAClBC,IAAI,CAAC,IAAI,CAAC,GACb/G,IAAI,CACH,EAEN,CAAC,CAAC2C,KAAK,iBAAInH,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACoB,WAAW;IAACC,OAAO,EAAEjH;EAAK,GAAE2C,KAAK,CAAe,CACnD,EAEXU,OAAO,iBACN7H,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACsB,OAAO;IACNC,QAAQ,EAAE,CAAE;IACZpC,GAAG,EAAEjB,UAAkB;IACvBsD,MAAM,EAAE,CAAE;IACVC,EAAE,EAAC,OAAO;IACVrC,KAAK,EAAEA;EAAM,GAEZvC,OAAO,CAACmE,GAAG,CAAC,UAACtB,MAAM,EAAK;IACvB,oBACE9J,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAAC3J,SAAA,CAAAqL,QAAQ;MACP7J,GAAG,EAAE6H,MAAM,CAACvE,KAAM;MAClBwG,MAAM,EAAE,EAAG;MACXC,EAAE,EAAE,CAAE;MACNjF,QAAQ,EAAEkB,SAAS,CAACmD,GAAG,CAAC,UAAClH,CAAC;QAAA,OAAKA,CAAC,CAACqB,KAAK;MAAA,EAAC,CAAC0G,QAAQ,CAACnC,MAAM,CAACvE,KAAK,CAAE;MAC/D+B,QAAQ,EAAEuC,YAAY,CAACC,MAAM;IAAE,GAE9BA,MAAM,CAACwB,IAAI,CACH;EAEf,CAAC,CAAC,CAEL,EAEApE,QAAQ,IAAI,EAAEP,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,CAAC,iBAChD3G,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAAChK,cAAA,CAAA8L,aAAa;IAACnB,EAAE,EAAE,GAAI;IAACoB,EAAE,EAAE,CAAE;IAACzF,QAAQ,EAAEA;EAAS,EACnD,EAEAC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,iBACjC3G,MAAA,CAAAwB,OAAA,CAAA4I,aAAA,CAACxJ,KAAA,CAAA8J,IAAI;IAACC,OAAO,EAAC,IAAI;IAACI,EAAE,EAAE,GAAI;IAACoB,EAAE,EAAE,CAAE;IAACvB,KAAK,EAAC;EAAQ,GAC9CjE,KAAK,CAET,CACG;AAEV,CAAC;AAhKYR,WAEZ,CAAAiG,WAAA;AAgKD,IAAM3E,eAAe,GAAG,SAAlBA,eAAeA,CACnB4E,MAAyB,EACzBpF,OAAiB,EACJ;EACb,OAAOA,OAAO,CAACiD,MAAM,CAAC,UAACJ,MAAM;IAAA,OAAKuC,MAAM,CAACJ,QAAQ,CAACnC,MAAM,CAACvE,KAAK,CAAC;EAAA,EAAC;AAClE,CAAC;AAED,IAAMmG,OAAO,GAAG,IAAAY,yBAAM,EAACjC,QAAG,CAAC,CAAAkC,UAAA;EAAAH,WAAA;EAAAI,WAAA;AAAA,oIAKX,IAAAC,kBAAQ,EAAC,oBAAoB,CAAC,CAG7C;AAOD,IAAM3B,SAAS,GAAG,IAAAwB,yBAAM,EAACI,oBAAS,CAAC,CAAAH,UAAA;EAAAH,WAAA;EAAAI,WAAA;AAAA,qQAIP,IAAAC,kBAAQ,EAAC,SAAS,CAAC,EAC9B,IAAAA,kBAAQ,EAAC,YAAY,CAAC,EAGrB,IAAAA,kBAAQ,EAAC,eAAe,CAAC,EAIrB,IAAAA,kBAAQ,EAAC,cAAc,CAAC,EAE1C,UAACE,KAAK,EAAK;EACX,WAAOC,qBAAG,2FACNC,0BAAkB,CAACrL,OAAO,EAC1BmL,KAAK,CAACnG,QAAQ,IAAIqG,0BAAkB,CAACC,SAAS,EAC9CH,KAAK,CAAC9F,KAAK,IAAIgG,0BAAkB,CAAChG,KAAK,EACvC8F,KAAK,CAAC/F,KAAK,IAAIiG,0BAAkB,CAACjG,KAAK,EACvC+F,KAAK,CAACjG,QAAQ,IAAImG,0BAAkB,CAACnG,QAAQ,EAC7CiG,KAAK,CAAChG,KAAK,IAAIkG,0BAAkB,CAAClG,KAAK,EAGrCkG,0BAAkB,CAAChG,KAAK,EAG1B8F,KAAK,CAAC9E,OAAO,IAAIgF,0BAAkB,CAACjG,KAAK,EAIvCiG,0BAAkB,CAACnG,QAAQ,EAI7BiG,KAAK,CAACxF,KAAK,IACb,CAACwF,KAAK,CAACnG,QAAQ,IACf,CAACmG,KAAK,CAAC9E,OAAO,QACd+E,qBAAG,oCAEF;AAEL,CAAC,EAECG,kBAAU,CACb;AAED,IAAMvB,WAAW,GAAGc,yBAAM,CAACU,KAAK,CAAAT,UAAA;EAAAH,WAAA;EAAAI,WAAA;AAAA,sNAOhBS,gCAAuB,EAEjB,IAAAR,kBAAQ,EAAC,cAAc,CAAC,EAC7B,IAAAA,kBAAQ,EAAC,YAAY,CAAC,CACtC"}
@@ -1,7 +1,125 @@
1
1
  import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ component: React.FC<React.PropsWithChildren<import("./MultiSelect").MultiSelectProps>>;
5
+ tags: string[];
6
+ parameters: {
7
+ docs: {
8
+ controls: {
9
+ exclude: string[];
10
+ };
11
+ };
12
+ };
4
13
  };
5
14
  export default _default;
6
- export declare const Default: () => React.JSX.Element;
7
- export declare const Example: () => React.JSX.Element;
15
+ export declare const Default: {
16
+ args: {
17
+ name: string;
18
+ options: {
19
+ text: string;
20
+ value: string;
21
+ }[];
22
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
23
+ };
24
+ };
25
+ export declare const Focus: {
26
+ args: {
27
+ name: string;
28
+ options: {
29
+ text: string;
30
+ value: string;
31
+ }[];
32
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
33
+ focus: boolean;
34
+ };
35
+ };
36
+ export declare const Hover: {
37
+ args: {
38
+ name: string;
39
+ options: {
40
+ text: string;
41
+ value: string;
42
+ }[];
43
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
44
+ hover: boolean;
45
+ };
46
+ };
47
+ export declare const Complete: {
48
+ args: {
49
+ name: string;
50
+ options: {
51
+ text: string;
52
+ value: string;
53
+ }[];
54
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
55
+ complete: boolean;
56
+ };
57
+ };
58
+ export declare const WithError: {
59
+ args: {
60
+ name: string;
61
+ options: {
62
+ text: string;
63
+ value: string;
64
+ }[];
65
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
66
+ error: string;
67
+ };
68
+ };
69
+ export declare const Disabled: {
70
+ args: {
71
+ name: string;
72
+ options: {
73
+ text: string;
74
+ value: string;
75
+ }[];
76
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
77
+ disabled: boolean;
78
+ };
79
+ };
80
+ export declare const WithTitle: {
81
+ args: {
82
+ name: string;
83
+ title: string;
84
+ options: {
85
+ text: string;
86
+ value: string;
87
+ }[];
88
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
89
+ };
90
+ };
91
+ export declare const Required: {
92
+ args: {
93
+ name: string;
94
+ title: string;
95
+ options: {
96
+ text: string;
97
+ value: string;
98
+ }[];
99
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
100
+ required: boolean;
101
+ };
102
+ };
103
+ export declare const WithDescription: {
104
+ args: {
105
+ name: string;
106
+ title: string;
107
+ description: string;
108
+ options: {
109
+ text: string;
110
+ value: string;
111
+ }[];
112
+ onSelect: import("@vitest/spy").Mock<(...args: any[]) => any>;
113
+ };
114
+ };
115
+ export declare const WithStateTracking: {
116
+ args: {
117
+ name: string;
118
+ options: {
119
+ text: string;
120
+ value: string;
121
+ }[];
122
+ };
123
+ render: (args: any) => React.JSX.Element;
124
+ };
125
+ export declare const CustomSelectionLogic: () => React.JSX.Element;