@artsy/palette 44.1.0 → 45.0.0-canary.1472.32632.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.story.d.ts +119 -2
  106. package/dist/elements/MultiSelect/MultiSelect.story.js +102 -46
  107. package/dist/elements/MultiSelect/MultiSelect.story.js.map +1 -1
  108. package/dist/elements/Pagination/Pagination.story.d.ts +88 -4
  109. package/dist/elements/Pagination/Pagination.story.js +64 -23
  110. package/dist/elements/Pagination/Pagination.story.js.map +1 -1
  111. package/dist/elements/PasswordInput/PasswordInput.story.d.ts +54 -2
  112. package/dist/elements/PasswordInput/PasswordInput.story.js +54 -16
  113. package/dist/elements/PasswordInput/PasswordInput.story.js.map +1 -1
  114. package/dist/elements/Pill/Pill.story.d.ts +114 -9
  115. package/dist/elements/Pill/Pill.story.js +282 -169
  116. package/dist/elements/Pill/Pill.story.js.map +1 -1
  117. package/dist/elements/Popover/Popover.story.d.ts +162 -13
  118. package/dist/elements/Popover/Popover.story.js +351 -190
  119. package/dist/elements/Popover/Popover.story.js.map +1 -1
  120. package/dist/elements/ProgressBar/ProgressBar.story.d.ts +43 -7
  121. package/dist/elements/ProgressBar/ProgressBar.story.js +73 -35
  122. package/dist/elements/ProgressBar/ProgressBar.story.js.map +1 -1
  123. package/dist/elements/ProgressDots/ProgressDots.story.d.ts +69 -7
  124. package/dist/elements/ProgressDots/ProgressDots.story.js +108 -41
  125. package/dist/elements/ProgressDots/ProgressDots.story.js.map +1 -1
  126. package/dist/elements/Radio/Radio.story.d.ts +103 -2
  127. package/dist/elements/Radio/Radio.story.js +112 -57
  128. package/dist/elements/Radio/Radio.story.js.map +1 -1
  129. package/dist/elements/RadioGroup/RadioGroup.story.d.ts +104 -5
  130. package/dist/elements/RadioGroup/RadioGroup.story.js +183 -65
  131. package/dist/elements/RadioGroup/RadioGroup.story.js.map +1 -1
  132. package/dist/elements/Range/Range.story.d.ts +89 -8
  133. package/dist/elements/Range/Range.story.js +170 -94
  134. package/dist/elements/Range/Range.story.js.map +1 -1
  135. package/dist/elements/ReadMore/ReadMore.d.ts +1 -1
  136. package/dist/elements/ReadMore/ReadMore.js +54 -42
  137. package/dist/elements/ReadMore/ReadMore.js.map +1 -1
  138. package/dist/elements/ReadMore/ReadMore.story.d.ts +85 -25
  139. package/dist/elements/ReadMore/ReadMore.story.js +128 -85
  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
@@ -4,10 +4,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.WithinModal = exports.WithinDrawer = exports.InContext = exports.Default = void 0;
7
+ exports.default = exports.WithinModal = exports.WithinDrawer = exports.WithInitialValue = exports.SmallRange = exports.InContext = exports.Default = void 0;
8
8
  var _test = require("@storybook/test");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- var _storybookStates = require("storybook-states");
11
10
  var _Box = require("../Box");
12
11
  var _Modal = require("../Modal");
13
12
  var _Range = require("./Range");
@@ -17,6 +16,7 @@ var _Spacer = require("../Spacer");
17
16
  var _Text = require("../Text");
18
17
  var _Drawer = require("../Drawer");
19
18
  var _Button = require("../Button");
19
+ var _storybookBlocklist = require("../../utils/storybookBlocklist");
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
22
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -26,117 +26,193 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
26
26
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
27
27
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
28
  var _default = exports.default = {
29
- title: "Components/Range"
29
+ component: _Range.Range,
30
+ title: "Components/Range",
31
+ tags: ["autodocs"],
32
+ parameters: {
33
+ docs: {
34
+ description: {
35
+ component: "A dual-handle range slider component for selecting value ranges with customizable min/max/step values."
36
+ }
37
+ },
38
+ controls: {
39
+ exclude: _storybookBlocklist.STORYBOOK_PROPS_BLOCKLIST
40
+ }
41
+ }
30
42
  };
31
- var Default = exports.Default = function Default() {
32
- return /*#__PURE__*/_react.default.createElement(_storybookStates.States, {
33
- states: [{}, {
34
- value: [1100, 3450]
35
- }, {
36
- step: 1,
37
- max: 10
38
- }]
39
- }, /*#__PURE__*/_react.default.createElement(_Range.Range, {
43
+ var Default = exports.Default = {
44
+ args: {
40
45
  min: 0,
41
46
  max: 5000,
42
47
  step: 10,
43
48
  onChange: (0, _test.fn)(),
44
49
  ariaLabels: ["Min price", "Max price"]
45
- }));
46
- };
47
- Default.displayName = "Default";
48
- var WithinModal = exports.WithinModal = function WithinModal() {
49
- return /*#__PURE__*/_react.default.createElement(_Modal.ModalBase, {
50
- width: "100%",
51
- height: "100%",
52
- dialogProps: {
53
- width: 400,
54
- height: 400,
55
- bg: "mono5"
50
+ },
51
+ parameters: {
52
+ docs: {
53
+ description: {
54
+ story: "Basic range slider with default settings."
55
+ }
56
56
  }
57
- }, /*#__PURE__*/_react.default.createElement(_Box.Box, {
58
- width: 400,
59
- height: 400
60
- }, /*#__PURE__*/_react.default.createElement(_Range.Range, {
57
+ }
58
+ };
59
+ var WithInitialValue = exports.WithInitialValue = {
60
+ args: {
61
61
  min: 0,
62
62
  max: 5000,
63
63
  step: 10,
64
- onChange: (0, _test.fn)()
65
- })));
64
+ value: [1100, 3450],
65
+ onChange: (0, _test.fn)(),
66
+ ariaLabels: ["Min price", "Max price"]
67
+ },
68
+ parameters: {
69
+ docs: {
70
+ description: {
71
+ story: "Range slider with pre-selected values."
72
+ }
73
+ }
74
+ }
66
75
  };
67
- WithinModal.displayName = "WithinModal";
68
- var WithinDrawer = exports.WithinDrawer = function WithinDrawer() {
69
- var _useState = (0, _react.useState)(false),
70
- _useState2 = _slicedToArray(_useState, 2),
71
- open = _useState2[0],
72
- setOpen = _useState2[1];
73
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
74
- onClick: function onClick() {
75
- setOpen(true);
76
+ var SmallRange = exports.SmallRange = {
77
+ args: {
78
+ min: 0,
79
+ max: 10,
80
+ step: 1,
81
+ onChange: (0, _test.fn)(),
82
+ ariaLabels: ["Min value", "Max value"]
83
+ },
84
+ parameters: {
85
+ docs: {
86
+ description: {
87
+ story: "Range slider with small numeric range and step of 1."
88
+ }
76
89
  }
77
- }, "Open"), /*#__PURE__*/_react.default.createElement(_Drawer.Drawer, {
78
- open: open,
79
- onClose: function onClose() {
80
- setOpen(false);
90
+ }
91
+ };
92
+ var WithinModal = exports.WithinModal = {
93
+ render: function render() {
94
+ var _React$useState = _react.default.useState(false),
95
+ _React$useState2 = _slicedToArray(_React$useState, 2),
96
+ open = _React$useState2[0],
97
+ setOpen = _React$useState2[1];
98
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
99
+ onClick: function onClick() {
100
+ return setOpen(true);
101
+ }
102
+ }, "Open Modal"), open && /*#__PURE__*/_react.default.createElement(_Modal.ModalBase, {
103
+ width: "100%",
104
+ height: "100%",
105
+ dialogProps: {
106
+ width: 400,
107
+ height: 400,
108
+ bg: "mono5"
109
+ },
110
+ onClose: function onClose() {
111
+ return setOpen(false);
112
+ }
113
+ }, /*#__PURE__*/_react.default.createElement(_Box.Box, {
114
+ width: 400,
115
+ height: 400
116
+ }, /*#__PURE__*/_react.default.createElement(_Range.Range, {
117
+ min: 0,
118
+ max: 5000,
119
+ step: 10,
120
+ onChange: (0, _test.fn)()
121
+ }))));
122
+ },
123
+ parameters: {
124
+ docs: {
125
+ description: {
126
+ story: "Range slider displayed within a modal dialog."
127
+ }
81
128
  }
82
- }, /*#__PURE__*/_react.default.createElement(_Box.Box, {
83
- width: 400,
84
- p: 2
85
- }, /*#__PURE__*/_react.default.createElement(_Range.Range, {
86
- min: 0,
87
- max: 5000,
88
- step: 10,
89
- onChange: (0, _test.fn)()
90
- }))));
129
+ }
91
130
  };
92
- WithinDrawer.story = {
131
+ var WithinDrawer = exports.WithinDrawer = {
132
+ render: function render() {
133
+ var _useState = (0, _react.useState)(false),
134
+ _useState2 = _slicedToArray(_useState, 2),
135
+ open = _useState2[0],
136
+ setOpen = _useState2[1];
137
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.Button, {
138
+ onClick: function onClick() {
139
+ setOpen(true);
140
+ }
141
+ }, "Open"), /*#__PURE__*/_react.default.createElement(_Drawer.Drawer, {
142
+ open: open,
143
+ onClose: function onClose() {
144
+ setOpen(false);
145
+ }
146
+ }, /*#__PURE__*/_react.default.createElement(_Box.Box, {
147
+ width: 400,
148
+ p: 2
149
+ }, /*#__PURE__*/_react.default.createElement(_Range.Range, {
150
+ min: 0,
151
+ max: 5000,
152
+ step: 10,
153
+ onChange: (0, _test.fn)()
154
+ }))));
155
+ },
93
156
  parameters: {
94
157
  chromatic: {
95
158
  disable: true
159
+ },
160
+ docs: {
161
+ description: {
162
+ story: "Range slider displayed within a drawer component."
163
+ }
96
164
  }
97
165
  }
98
166
  };
99
- var InContext = exports.InContext = function InContext() {
100
- var _useState3 = (0, _react.useState)([0, 50000]),
101
- _useState4 = _slicedToArray(_useState3, 2),
102
- _useState4$ = _slicedToArray(_useState4[0], 2),
103
- min = _useState4$[0],
104
- max = _useState4$[1],
105
- setMinMax = _useState4[1];
106
- return /*#__PURE__*/_react.default.createElement(_Box.Box, {
107
- p: 2,
108
- border: "1px solid",
109
- borderColor: "mono10",
110
- width: 375
111
- }, /*#__PURE__*/_react.default.createElement(_Flex.Flex, null, /*#__PURE__*/_react.default.createElement(_LabeledInput.LabeledInput, {
112
- title: "Min",
113
- label: "$USD",
114
- flex: 1,
115
- value: min
116
- }), /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
117
- x: 1
118
- }), /*#__PURE__*/_react.default.createElement(_LabeledInput.LabeledInput, {
119
- title: "Max",
120
- label: "$USD",
121
- flex: 1,
122
- value: max
123
- })), /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
124
- y: 1
125
- }), /*#__PURE__*/_react.default.createElement(_Range.Range, {
126
- min: 0,
127
- max: 50000,
128
- step: 100,
129
- value: [min, max],
130
- onChange: setMinMax
131
- }), /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
132
- y: 0.5
133
- }), /*#__PURE__*/_react.default.createElement(_Flex.Flex, {
134
- justifyContent: "space-between"
135
- }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
136
- variant: "xs"
137
- }, "$0"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
138
- variant: "xs"
139
- }, "$50000+")));
167
+ var InContext = exports.InContext = {
168
+ render: function render() {
169
+ var _useState3 = (0, _react.useState)([0, 50000]),
170
+ _useState4 = _slicedToArray(_useState3, 2),
171
+ _useState4$ = _slicedToArray(_useState4[0], 2),
172
+ min = _useState4$[0],
173
+ max = _useState4$[1],
174
+ setMinMax = _useState4[1];
175
+ return /*#__PURE__*/_react.default.createElement(_Box.Box, {
176
+ p: 2,
177
+ border: "1px solid",
178
+ borderColor: "mono10",
179
+ width: 375
180
+ }, /*#__PURE__*/_react.default.createElement(_Flex.Flex, null, /*#__PURE__*/_react.default.createElement(_LabeledInput.LabeledInput, {
181
+ title: "Min",
182
+ label: "$USD",
183
+ flex: 1,
184
+ value: min
185
+ }), /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
186
+ x: 1
187
+ }), /*#__PURE__*/_react.default.createElement(_LabeledInput.LabeledInput, {
188
+ title: "Max",
189
+ label: "$USD",
190
+ flex: 1,
191
+ value: max
192
+ })), /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
193
+ y: 1
194
+ }), /*#__PURE__*/_react.default.createElement(_Range.Range, {
195
+ min: 0,
196
+ max: 50000,
197
+ step: 100,
198
+ value: [min, max],
199
+ onChange: setMinMax
200
+ }), /*#__PURE__*/_react.default.createElement(_Spacer.Spacer, {
201
+ y: 0.5
202
+ }), /*#__PURE__*/_react.default.createElement(_Flex.Flex, {
203
+ justifyContent: "space-between"
204
+ }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
205
+ variant: "xs"
206
+ }, "$0"), /*#__PURE__*/_react.default.createElement(_Text.Text, {
207
+ variant: "xs"
208
+ }, "$50000+")));
209
+ },
210
+ parameters: {
211
+ docs: {
212
+ description: {
213
+ story: "Range slider integrated with input fields showing real-world price filtering usage."
214
+ }
215
+ }
216
+ }
140
217
  };
141
- InContext.displayName = "InContext";
142
218
  //# sourceMappingURL=Range.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Range.story.js","names":["_test","require","_react","_interopRequireWildcard","_storybookStates","_Box","_Modal","_Range","_LabeledInput","_Flex","_Spacer","_Text","_Drawer","_Button","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_default","exports","title","Default","createElement","States","states","step","max","Range","min","onChange","fn","ariaLabels","displayName","WithinModal","ModalBase","width","height","dialogProps","bg","Box","WithinDrawer","_useState","useState","_useState2","open","setOpen","Fragment","Button","onClick","Drawer","onClose","p","story","parameters","chromatic","disable","InContext","_useState3","_useState4","_useState4$","setMinMax","border","borderColor","Flex","LabeledInput","label","flex","Spacer","x","y","justifyContent","Text","variant"],"sources":["../../../src/elements/Range/Range.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React, { useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport { Box } from \"../Box\"\nimport { ModalBase } from \"../Modal\"\nimport { Range, RangeProps } from \"./Range\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { Flex } from \"../Flex\"\nimport { Spacer } from \"../Spacer\"\nimport { Text } from \"../Text\"\nimport { Drawer } from \"../Drawer\"\nimport { Button } from \"../Button\"\n\nexport default {\n title: \"Components/Range\",\n}\n\nexport const Default = () => {\n return (\n <States<Partial<RangeProps>>\n states={[{}, { value: [1100, 3450] }, { step: 1, max: 10 }]}\n >\n <Range\n min={0}\n max={5000}\n step={10}\n onChange={fn()}\n ariaLabels={[\"Min price\", \"Max price\"]}\n />\n </States>\n )\n}\n\nexport const WithinModal = () => {\n return (\n <ModalBase\n width=\"100%\"\n height=\"100%\"\n dialogProps={{ width: 400, height: 400, bg: \"mono5\" }}\n >\n <Box width={400} height={400}>\n <Range min={0} max={5000} step={10} onChange={fn()} />\n </Box>\n </ModalBase>\n )\n}\n\nexport const WithinDrawer = () => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <Button\n onClick={() => {\n setOpen(true)\n }}\n >\n Open\n </Button>\n\n <Drawer\n open={open}\n onClose={() => {\n setOpen(false)\n }}\n >\n <Box width={400} p={2}>\n <Range min={0} max={5000} step={10} onChange={fn()} />\n </Box>\n </Drawer>\n </>\n )\n}\n\nWithinDrawer.story = {\n parameters: { chromatic: { disable: true } },\n}\n\nexport const InContext = () => {\n const [[min, max], setMinMax] = useState<number[]>([0, 50000])\n\n return (\n <Box p={2} border=\"1px solid\" borderColor=\"mono10\" width={375}>\n <Flex>\n <LabeledInput title=\"Min\" label=\"$USD\" flex={1} value={min} />\n\n <Spacer x={1} />\n\n <LabeledInput title=\"Max\" label=\"$USD\" flex={1} value={max} />\n </Flex>\n\n <Spacer y={1} />\n\n <Range\n min={0}\n max={50000}\n step={100}\n value={[min, max]}\n onChange={setMinMax}\n />\n\n <Spacer y={0.5} />\n\n <Flex justifyContent=\"space-between\">\n <Text variant=\"xs\">$0</Text>\n\n <Text variant=\"xs\">$50000+</Text>\n </Flex>\n </Box>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Range.story.js","names":["_test","require","_react","_interopRequireWildcard","_Box","_Modal","_Range","_LabeledInput","_Flex","_Spacer","_Text","_Drawer","_Button","_storybookBlocklist","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_default","exports","component","Range","title","tags","parameters","docs","description","controls","exclude","STORYBOOK_PROPS_BLOCKLIST","Default","args","min","max","step","onChange","fn","ariaLabels","story","WithInitialValue","SmallRange","WithinModal","render","_React$useState","React","useState","_React$useState2","open","setOpen","createElement","Fragment","Button","onClick","ModalBase","width","height","dialogProps","bg","onClose","Box","WithinDrawer","_useState","_useState2","Drawer","p","chromatic","disable","InContext","_useState3","_useState4","_useState4$","setMinMax","border","borderColor","Flex","LabeledInput","label","flex","Spacer","x","y","justifyContent","Text","variant"],"sources":["../../../src/elements/Range/Range.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React, { useState } from \"react\"\nimport { Box } from \"../Box\"\nimport { ModalBase } from \"../Modal\"\nimport { Range } from \"./Range\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { Flex } from \"../Flex\"\nimport { Spacer } from \"../Spacer\"\nimport { Text } from \"../Text\"\nimport { Drawer } from \"../Drawer\"\nimport { Button } from \"../Button\"\nimport { STORYBOOK_PROPS_BLOCKLIST } from \"../../utils/storybookBlocklist\"\n\nexport default {\n component: Range,\n title: \"Components/Range\",\n tags: [\"autodocs\"],\n parameters: {\n docs: {\n description: {\n component:\n \"A dual-handle range slider component for selecting value ranges with customizable min/max/step values.\",\n },\n },\n controls: {\n exclude: STORYBOOK_PROPS_BLOCKLIST,\n },\n },\n}\n\nexport const Default = {\n args: {\n min: 0,\n max: 5000,\n step: 10,\n onChange: fn(),\n ariaLabels: [\"Min price\", \"Max price\"],\n },\n parameters: {\n docs: {\n description: {\n story: \"Basic range slider with default settings.\",\n },\n },\n },\n}\n\nexport const WithInitialValue = {\n args: {\n min: 0,\n max: 5000,\n step: 10,\n value: [1100, 3450],\n onChange: fn(),\n ariaLabels: [\"Min price\", \"Max price\"],\n },\n parameters: {\n docs: {\n description: {\n story: \"Range slider with pre-selected values.\",\n },\n },\n },\n}\n\nexport const SmallRange = {\n args: {\n min: 0,\n max: 10,\n step: 1,\n onChange: fn(),\n ariaLabels: [\"Min value\", \"Max value\"],\n },\n parameters: {\n docs: {\n description: {\n story: \"Range slider with small numeric range and step of 1.\",\n },\n },\n },\n}\n\nexport const WithinModal = {\n render: () => {\n const [open, setOpen] = React.useState(false)\n return (\n <>\n <Button onClick={() => setOpen(true)}>Open Modal</Button>\n {open && (\n <ModalBase\n width=\"100%\"\n height=\"100%\"\n dialogProps={{ width: 400, height: 400, bg: \"mono5\" }}\n onClose={() => setOpen(false)}\n >\n <Box width={400} height={400}>\n <Range min={0} max={5000} step={10} onChange={fn()} />\n </Box>\n </ModalBase>\n )}\n </>\n )\n },\n parameters: {\n docs: {\n description: {\n story: \"Range slider displayed within a modal dialog.\",\n },\n },\n },\n}\n\nexport const WithinDrawer = {\n render: () => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <Button\n onClick={() => {\n setOpen(true)\n }}\n >\n Open\n </Button>\n <Drawer\n open={open}\n onClose={() => {\n setOpen(false)\n }}\n >\n <Box width={400} p={2}>\n <Range min={0} max={5000} step={10} onChange={fn()} />\n </Box>\n </Drawer>\n </>\n )\n },\n parameters: {\n chromatic: { disable: true },\n docs: {\n description: {\n story: \"Range slider displayed within a drawer component.\",\n },\n },\n },\n}\n\nexport const InContext = {\n render: () => {\n const [[min, max], setMinMax] = useState<number[]>([0, 50000])\n\n return (\n <Box p={2} border=\"1px solid\" borderColor=\"mono10\" width={375}>\n <Flex>\n <LabeledInput title=\"Min\" label=\"$USD\" flex={1} value={min} />\n <Spacer x={1} />\n <LabeledInput title=\"Max\" label=\"$USD\" flex={1} value={max} />\n </Flex>\n <Spacer y={1} />\n <Range\n min={0}\n max={50000}\n step={100}\n value={[min, max]}\n onChange={setMinMax}\n />\n <Spacer y={0.5} />\n <Flex justifyContent=\"space-between\">\n <Text variant=\"xs\">$0</Text>\n <Text variant=\"xs\">$50000+</Text>\n </Flex>\n </Box>\n )\n },\n parameters: {\n docs: {\n description: {\n story:\n \"Range slider integrated with input fields showing real-world price filtering usage.\",\n },\n },\n },\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ export interface ReadMoreProps {
4
4
  disabled?: boolean;
5
5
  inlineReadMoreLink?: boolean;
6
6
  isExpanded?: boolean;
7
- maxChars?: number;
7
+ maxLines?: number;
8
8
  onReadLessClicked?: () => void;
9
9
  onReadMoreClicked?: () => void;
10
10
  }
@@ -7,13 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.ReadMore = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
- var _truncHtml = _interopRequireDefault(require("trunc-html"));
11
10
  var _Clickable = require("../Clickable");
12
11
  var _Text = require("../Text");
13
- var _Box = require("../Box");
12
+ var _Theme = require("../../Theme");
14
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
19
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -27,69 +27,81 @@ var ReadMore = exports.ReadMore = function ReadMore(_ref) {
27
27
  _ref$inlineReadMoreLi = _ref.inlineReadMoreLink,
28
28
  inlineReadMoreLink = _ref$inlineReadMoreLi === void 0 ? true : _ref$inlineReadMoreLi,
29
29
  isExpanded = _ref.isExpanded,
30
- _ref$maxChars = _ref.maxChars,
31
- maxChars = _ref$maxChars === void 0 ? Infinity : _ref$maxChars,
30
+ _ref$maxLines = _ref.maxLines,
31
+ maxLines = _ref$maxLines === void 0 ? Infinity : _ref$maxLines,
32
32
  onReadLessClicked = _ref.onReadLessClicked,
33
33
  onReadMoreClicked = _ref.onReadMoreClicked;
34
- var _useState = (0, _react.useState)(!!isExpanded),
34
+ var ref = (0, _react.useRef)(null);
35
+ var _useTheme = (0, _Theme.useTheme)(),
36
+ theme = _useTheme.theme;
37
+ var _useState = (0, _react.useState)(false),
35
38
  _useState2 = _slicedToArray(_useState, 2),
36
- expanded = _useState2[0],
37
- setExpanded = _useState2[1];
39
+ isOverflowing = _useState2[0],
40
+ setIsOverflowing = _useState2[1];
41
+ var _useState3 = (0, _react.useState)(0),
42
+ _useState4 = _slicedToArray(_useState3, 2),
43
+ singleLineHeight = _useState4[0],
44
+ setSingleLineHeight = _useState4[1];
45
+ var _useState5 = (0, _react.useState)(!!isExpanded),
46
+ _useState6 = _slicedToArray(_useState5, 2),
47
+ expanded = _useState6[0],
48
+ setExpanded = _useState6[1];
49
+ var maxLinesToShow = expanded ? Infinity : maxLines;
50
+ var sentinelSpan = "<span data-readmore-sentinel aria-hidden=\"true\" style=\"display:inline-block;width:0;padding:0;margin:0;\">&#8203;</span>";
38
51
  if (typeof expandedHTML !== "string") return null;
39
- var charCount = expandedHTML.replace(HTML_TAG_REGEX, "").length;
40
- var truncatedHTML = (0, _truncHtml.default)(expandedHTML, maxChars).html;
41
- var visible = charCount > maxChars;
42
52
  var handleClick = function handleClick() {
43
53
  if (disabled) return;
44
54
  setExpanded(function (expandedState) {
45
55
  return !expandedState;
46
56
  });
47
- expanded ? onReadLessClicked && onReadLessClicked() : onReadMoreClicked && onReadMoreClicked();
57
+ expanded ? onReadLessClicked === null || onReadLessClicked === void 0 ? void 0 : onReadLessClicked() : onReadMoreClicked === null || onReadMoreClicked === void 0 ? void 0 : onReadMoreClicked();
48
58
  };
49
- if (!visible) {
50
- return /*#__PURE__*/_react.default.createElement("span", {
51
- dangerouslySetInnerHTML: {
52
- __html: expandedHTML
53
- }
54
- });
55
- }
59
+ (0, _react.useEffect)(function () {
60
+ if (!ref.current) return;
61
+ setIsOverflowing(ref.current.scrollHeight > ref.current.clientHeight);
62
+ var sentinel = ref.current.querySelector("[data-readmore-sentinel]");
63
+ if (!sentinel) return;
64
+ setSingleLineHeight(sentinel.clientHeight);
65
+ }, []);
56
66
  return /*#__PURE__*/_react.default.createElement(Container, {
57
67
  "aria-expanded": expanded
58
- }, expanded ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Box.Box, {
68
+ }, /*#__PURE__*/_react.default.createElement(LineClamp, {
69
+ ref: ref,
70
+ lineClamp: maxLinesToShow,
59
71
  dangerouslySetInnerHTML: {
60
- __html: expandedHTML
72
+ __html: expanded ? expandedHTML : "".concat(expandedHTML).concat(sentinelSpan)
61
73
  }
62
- }), /*#__PURE__*/_react.default.createElement(_Clickable.Clickable, {
74
+ }), isOverflowing && /*#__PURE__*/_react.default.createElement(_Clickable.Clickable, _extends({
63
75
  cursor: "pointer",
64
76
  textDecoration: "underline",
65
77
  onClick: handleClick
66
- }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
78
+ }, !expanded && inlineReadMoreLink ? {
79
+ position: "absolute",
80
+ bottom: 0,
81
+ right: 0,
82
+ background: "linear-gradient(to left, ".concat(theme.colors.mono0, " 0, ").concat(theme.colors.mono0, " calc(100% - ").concat(theme.space[4], "), transparent 100%)"),
83
+ pl: 4,
84
+ height: singleLineHeight,
85
+ display: "flex",
86
+ alignItems: "center",
87
+ justifyContent: "center"
88
+ } : {}), /*#__PURE__*/_react.default.createElement(_Text.Text, {
67
89
  variant: "xs",
68
90
  fontWeight: "bold"
69
- }, "Read less"))) : /*#__PURE__*/_react.default.createElement(_Clickable.Clickable, {
70
- onClick: handleClick
71
- }, inlineReadMoreLink ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
72
- dangerouslySetInnerHTML: {
73
- __html: truncatedHTML
74
- }
75
- }), " ") : /*#__PURE__*/_react.default.createElement(_Box.Box, {
76
- dangerouslySetInnerHTML: {
77
- __html: truncatedHTML
78
- }
79
- }), /*#__PURE__*/_react.default.createElement(_Text.Text, {
80
- as: "span",
81
- variant: "xs",
82
- fontWeight: "bold",
83
- style: {
84
- textDecoration: "underline"
85
- }
86
- }, "Read more")));
91
+ }, "Read ", expanded ? "less" : "more")));
87
92
  };
88
93
  ReadMore.displayName = "ReadMore";
89
94
  var Container = _styledComponents.default.div.withConfig({
90
95
  displayName: "ReadMore__Container",
91
96
  componentId: "sc-1bqy0ya-0"
92
- })(["> * > span > *:last-child{display:inherit;}"]);
97
+ })(["position:relative;"]);
93
98
  Container.displayName = "Container";
94
- var HTML_TAG_REGEX = /(<([^>]+)>)/gi;
99
+ var LineClamp = _styledComponents.default.div.withConfig({
100
+ displayName: "ReadMore__LineClamp",
101
+ componentId: "sc-1bqy0ya-1"
102
+ })(["display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:", ";line-clamp:", ";overflow:hidden;"], function (props) {
103
+ return props.lineClamp;
104
+ }, function (props) {
105
+ return props.lineClamp;
106
+ });
95
107
  //# sourceMappingURL=ReadMore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadMore.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_truncHtml","_Clickable","_Text","_Box","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","ReadMore","exports","_ref","expandedHTML","content","disabled","_ref$inlineReadMoreLi","inlineReadMoreLink","isExpanded","_ref$maxChars","maxChars","Infinity","onReadLessClicked","onReadMoreClicked","_useState","useState","_useState2","expanded","setExpanded","charCount","replace","HTML_TAG_REGEX","truncatedHTML","truncate","html","visible","handleClick","expandedState","createElement","dangerouslySetInnerHTML","__html","Container","Fragment","Box","Clickable","cursor","textDecoration","onClick","Text","variant","fontWeight","as","style","displayName","styled","div","withConfig","componentId"],"sources":["../../../src/elements/ReadMore/ReadMore.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport styled from \"styled-components\"\nimport truncate from \"trunc-html\"\nimport { Clickable } from \"../Clickable\"\nimport { Text } from \"../Text\"\nimport { Box } from \"../Box\"\n\nexport interface ReadMoreProps {\n content: string\n disabled?: boolean\n inlineReadMoreLink?: boolean\n isExpanded?: boolean\n maxChars?: number\n onReadLessClicked?: () => void\n onReadMoreClicked?: () => void\n}\n\n/** ReadMore */\nexport const ReadMore: React.FC<React.PropsWithChildren<ReadMoreProps>> = ({\n content: expandedHTML,\n disabled,\n inlineReadMoreLink = true,\n isExpanded,\n maxChars = Infinity,\n onReadLessClicked,\n onReadMoreClicked,\n}) => {\n const [expanded, setExpanded] = useState(!!isExpanded)\n\n if (typeof expandedHTML !== \"string\") return null\n\n const charCount = expandedHTML.replace(HTML_TAG_REGEX, \"\").length\n\n const truncatedHTML = truncate(expandedHTML, maxChars).html\n\n const visible = charCount > maxChars\n\n const handleClick = () => {\n if (disabled) return\n setExpanded((expandedState) => !expandedState)\n\n expanded\n ? onReadLessClicked && onReadLessClicked()\n : onReadMoreClicked && onReadMoreClicked()\n }\n\n if (!visible) {\n return (\n <span\n dangerouslySetInnerHTML={{\n __html: expandedHTML,\n }}\n />\n )\n }\n\n return (\n <Container aria-expanded={expanded}>\n {expanded ? (\n <>\n <Box dangerouslySetInnerHTML={{ __html: expandedHTML }} />\n\n <Clickable\n cursor=\"pointer\"\n textDecoration=\"underline\"\n onClick={handleClick}\n >\n <Text variant=\"xs\" fontWeight=\"bold\">\n Read less\n </Text>\n </Clickable>\n </>\n ) : (\n <Clickable onClick={handleClick}>\n {inlineReadMoreLink ? (\n <>\n <span dangerouslySetInnerHTML={{ __html: truncatedHTML }} />{\" \"}\n </>\n ) : (\n <Box dangerouslySetInnerHTML={{ __html: truncatedHTML }} />\n )}\n\n <Text\n as=\"span\"\n variant=\"xs\"\n fontWeight=\"bold\"\n style={{ textDecoration: \"underline\" }}\n >\n Read more\n </Text>\n </Clickable>\n )}\n </Container>\n )\n}\n\nconst Container = styled.div`\n > * > span > *:last-child {\n display: inherit;\n }\n`\n\nContainer.displayName = \"Container\"\n\nconst HTML_TAG_REGEX = /(<([^>]+)>)/gi\n"],"mappings":"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"}
1
+ {"version":3,"file":"ReadMore.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_Clickable","_Text","_Theme","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","ReadMore","exports","_ref","expandedHTML","content","disabled","_ref$inlineReadMoreLi","inlineReadMoreLink","isExpanded","_ref$maxLines","maxLines","Infinity","onReadLessClicked","onReadMoreClicked","ref","useRef","_useTheme","useTheme","theme","_useState","useState","_useState2","isOverflowing","setIsOverflowing","_useState3","_useState4","singleLineHeight","setSingleLineHeight","_useState5","_useState6","expanded","setExpanded","maxLinesToShow","sentinelSpan","handleClick","expandedState","useEffect","current","scrollHeight","clientHeight","sentinel","querySelector","createElement","Container","LineClamp","lineClamp","dangerouslySetInnerHTML","__html","concat","Clickable","cursor","textDecoration","onClick","position","bottom","right","background","colors","mono0","space","pl","height","display","alignItems","justifyContent","Text","variant","fontWeight","displayName","styled","div","withConfig","componentId","props"],"sources":["../../../src/elements/ReadMore/ReadMore.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { Clickable } from \"../Clickable\"\nimport { Text } from \"../Text\"\nimport { useTheme } from \"../../Theme\"\n\nexport interface ReadMoreProps {\n content: string\n disabled?: boolean\n inlineReadMoreLink?: boolean\n isExpanded?: boolean\n maxLines?: number\n onReadLessClicked?: () => void\n onReadMoreClicked?: () => void\n}\n\n/** ReadMore */\nexport const ReadMore: React.FC<React.PropsWithChildren<ReadMoreProps>> = ({\n content: expandedHTML,\n disabled,\n inlineReadMoreLink = true,\n isExpanded,\n maxLines = Infinity,\n onReadLessClicked,\n onReadMoreClicked,\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n\n const { theme } = useTheme()\n\n const [isOverflowing, setIsOverflowing] = useState(false)\n const [singleLineHeight, setSingleLineHeight] = useState(0)\n const [expanded, setExpanded] = useState(!!isExpanded)\n\n const maxLinesToShow = expanded ? Infinity : maxLines\n const sentinelSpan = `<span data-readmore-sentinel aria-hidden=\"true\" style=\"display:inline-block;width:0;padding:0;margin:0;\">&#8203;</span>`\n\n if (typeof expandedHTML !== \"string\") return null\n\n const handleClick = () => {\n if (disabled) return\n\n setExpanded((expandedState) => !expandedState)\n\n expanded ? onReadLessClicked?.() : onReadMoreClicked?.()\n }\n\n useEffect(() => {\n if (!ref.current) return\n\n setIsOverflowing(ref.current.scrollHeight > ref.current.clientHeight)\n\n const sentinel = ref.current.querySelector(\"[data-readmore-sentinel]\")\n if (!sentinel) return\n\n setSingleLineHeight(sentinel.clientHeight)\n }, [])\n\n return (\n <Container aria-expanded={expanded}>\n <LineClamp\n ref={ref}\n lineClamp={maxLinesToShow}\n dangerouslySetInnerHTML={{\n __html: expanded ? expandedHTML : `${expandedHTML}${sentinelSpan}`,\n }}\n />\n\n {isOverflowing && (\n <Clickable\n cursor=\"pointer\"\n textDecoration=\"underline\"\n onClick={handleClick}\n {...(!expanded && inlineReadMoreLink\n ? {\n position: \"absolute\",\n bottom: 0,\n right: 0,\n background: `linear-gradient(to left, ${theme.colors.mono0} 0, ${theme.colors.mono0} calc(100% - ${theme.space[4]}), transparent 100%)`,\n pl: 4,\n height: singleLineHeight,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }\n : {})}\n >\n <Text variant=\"xs\" fontWeight=\"bold\">\n Read {expanded ? \"less\" : \"more\"}\n </Text>\n </Clickable>\n )}\n </Container>\n )\n}\n\nconst Container = styled.div`\n position: relative;\n`\n\nContainer.displayName = \"Container\"\n\nconst LineClamp = styled.div<{ lineClamp: number }>`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${(props) => props.lineClamp};\n line-clamp: ${(props) => props.lineClamp};\n overflow: hidden;\n`\n"],"mappings":"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"}