@procore/core-react 10.16.1-rc.3 → 10.17.0-cmf.beta.1

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 (180) hide show
  1. package/.storybook/manager-head.html +2 -0
  2. package/.storybook/preview-head.html +6 -0
  3. package/CHANGELOG.md +31 -0
  4. package/dist/esm/components/Button/Button.styles.js +13 -6
  5. package/dist/esm/components/Button/Button.styles.js.map +1 -1
  6. package/dist/esm/components/Calendar/Calendar.js +5 -3
  7. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  8. package/dist/esm/components/DateInput/DateInput.js +6 -0
  9. package/dist/esm/components/DateInput/DateInput.js.map +1 -1
  10. package/dist/esm/components/FileSelect/FileExplorer/FileExplorer.styles.d.ts +3 -2
  11. package/dist/esm/components/FileSelect/FileSelect.js +73 -25
  12. package/dist/esm/components/FileSelect/FileSelect.js.map +1 -1
  13. package/dist/esm/components/FileSelect/FileSelect.types.d.ts +2 -0
  14. package/dist/esm/components/FileSelect/LocalSource/LocalSource.js +101 -52
  15. package/dist/esm/components/FileSelect/LocalSource/LocalSource.js.map +1 -1
  16. package/dist/esm/components/FileSelect/LocalSource/LocalSource.types.d.ts +1 -0
  17. package/dist/esm/components/Form/Form.js +1 -0
  18. package/dist/esm/components/Form/Form.js.map +1 -1
  19. package/dist/esm/components/Menu/Menu.d.ts +2 -2
  20. package/dist/esm/components/MenuImperative/MenuImperative.js +31 -235
  21. package/dist/esm/components/MenuImperative/MenuImperative.js.map +1 -1
  22. package/dist/esm/components/MenuImperative/MenuImperative.styles.js +3 -2
  23. package/dist/esm/components/MenuImperative/MenuImperative.styles.js.map +1 -1
  24. package/dist/esm/components/MenuImperative/sensors.d.ts +19 -0
  25. package/dist/esm/components/MenuImperative/sensors.js +214 -0
  26. package/dist/esm/components/MenuImperative/sensors.js.map +1 -0
  27. package/dist/esm/components/Modal/Modal.d.ts +1 -0
  28. package/dist/esm/components/Modal/Modal.js +25 -5
  29. package/dist/esm/components/Modal/Modal.js.map +1 -1
  30. package/dist/esm/components/Modal/Modal.styles.d.ts +12 -2
  31. package/dist/esm/components/Modal/Modal.styles.js +33 -16
  32. package/dist/esm/components/Modal/Modal.styles.js.map +1 -1
  33. package/dist/esm/components/Modal/Modal.types.d.ts +6 -0
  34. package/dist/esm/components/NumberInput/NumberInput.utils.d.ts +1 -0
  35. package/dist/esm/components/NumberInput/NumberInput.utils.js +16 -2
  36. package/dist/esm/components/NumberInput/NumberInput.utils.js.map +1 -1
  37. package/dist/esm/components/Panel/Panel.d.ts +1 -0
  38. package/dist/esm/components/Panel/Panel.js +4 -1
  39. package/dist/esm/components/Panel/Panel.js.map +1 -1
  40. package/dist/esm/components/SegmentedController/SegmentedController.styles.js +3 -3
  41. package/dist/esm/components/SegmentedController/SegmentedController.styles.js.map +1 -1
  42. package/dist/esm/components/Spinner/Spinner.d.ts +1 -0
  43. package/dist/esm/components/Spinner/Spinner.js +2 -1
  44. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  45. package/dist/esm/components/Spinner/Spinner.styles.d.ts +1 -0
  46. package/dist/esm/components/Spinner/Spinner.styles.js +14 -18
  47. package/dist/esm/components/Spinner/Spinner.styles.js.map +1 -1
  48. package/dist/esm/components/Switch/Switch.js +5 -4
  49. package/dist/esm/components/Switch/Switch.js.map +1 -1
  50. package/dist/esm/components/Switch/Switch.styles.d.ts +4 -3
  51. package/dist/esm/components/Switch/Switch.styles.js +8 -6
  52. package/dist/esm/components/Switch/Switch.styles.js.map +1 -1
  53. package/dist/esm/components/Thumbnail/DocumentIcon.js +97 -84
  54. package/dist/esm/components/Thumbnail/DocumentIcon.js.map +1 -1
  55. package/dist/esm/components/TieredDropdown/TieredDropdown.d.ts +4 -0
  56. package/dist/esm/components/TieredDropdown/TieredDropdown.helpers.d.ts +39 -0
  57. package/dist/esm/components/TieredDropdown/TieredDropdown.helpers.js +59 -0
  58. package/dist/esm/components/TieredDropdown/TieredDropdown.helpers.js.map +1 -0
  59. package/dist/esm/components/TieredDropdown/TieredDropdown.js +156 -0
  60. package/dist/esm/components/TieredDropdown/TieredDropdown.js.map +1 -0
  61. package/dist/esm/components/TieredDropdown/TieredDropdown.types.d.ts +26 -0
  62. package/dist/esm/components/TieredDropdown/TieredDropdown.types.js +2 -0
  63. package/dist/esm/components/TieredDropdown/TieredDropdown.types.js.map +1 -0
  64. package/dist/esm/components/TieredDropdown/index.d.ts +2 -0
  65. package/dist/esm/components/TieredDropdown/index.js +2 -0
  66. package/dist/esm/components/TieredDropdown/index.js.map +1 -0
  67. package/dist/esm/components/TieredDropdown/useSearch.d.ts +12 -0
  68. package/dist/esm/components/TieredDropdown/useSearch.js +50 -0
  69. package/dist/esm/components/TieredDropdown/useSearch.js.map +1 -0
  70. package/dist/esm/components/TieredSelect/LeafSelectionTieredSelect.js +4 -219
  71. package/dist/esm/components/TieredSelect/LeafSelectionTieredSelect.js.map +1 -1
  72. package/dist/esm/components/TieredSelect/TieredSelect.styles.d.ts +1 -1
  73. package/dist/esm/components/TieredSelect/TieredSelect.styles.js +1 -1
  74. package/dist/esm/components/TieredSelect/TieredSelect.styles.js.map +1 -1
  75. package/dist/esm/components/TieredSelect/TieredSelect.types.d.ts +1 -0
  76. package/dist/esm/components/TieredSelect/TieredSelectMenu.d.ts +3 -0
  77. package/dist/esm/components/TieredSelect/TieredSelectMenu.js +265 -0
  78. package/dist/esm/components/TieredSelect/TieredSelectMenu.js.map +1 -0
  79. package/dist/esm/components/Tile/Tile.d.ts +12 -0
  80. package/dist/esm/components/Tile/Tile.js +85 -0
  81. package/dist/esm/components/Tile/Tile.js.map +1 -0
  82. package/dist/esm/components/Tile/Tile.styles.d.ts +20 -0
  83. package/dist/esm/components/Tile/Tile.styles.js +54 -0
  84. package/dist/esm/components/Tile/Tile.styles.js.map +1 -0
  85. package/dist/esm/components/Tile/Tile.types.d.ts +24 -0
  86. package/dist/esm/components/Tile/Tile.types.js +2 -0
  87. package/dist/esm/components/Tile/Tile.types.js.map +1 -0
  88. package/dist/esm/components/Tile/index.d.ts +1 -0
  89. package/dist/esm/components/Tile/index.js +2 -0
  90. package/dist/esm/components/Tile/index.js.map +1 -0
  91. package/dist/esm/components/Tile/mocks/iframe.d.ts +2 -0
  92. package/dist/esm/components/Tile/mocks/iframe.js +5 -0
  93. package/dist/esm/components/Tile/mocks/iframe.js.map +1 -0
  94. package/dist/esm/components/Tile/mocks/svg.d.ts +2 -0
  95. package/dist/esm/components/Tile/mocks/svg.js +247 -0
  96. package/dist/esm/components/Tile/mocks/svg.js.map +1 -0
  97. package/dist/esm/components/Title/Title.d.ts +9 -0
  98. package/dist/esm/components/Title/Title.js +66 -0
  99. package/dist/esm/components/Title/Title.js.map +1 -0
  100. package/dist/esm/components/Title/Title.styles.d.ts +7 -0
  101. package/dist/esm/components/Title/Title.styles.js +18 -0
  102. package/dist/esm/components/Title/Title.styles.js.map +1 -0
  103. package/dist/esm/components/Title/index.d.ts +1 -0
  104. package/dist/esm/components/Title/index.js +2 -0
  105. package/dist/esm/components/Title/index.js.map +1 -0
  106. package/dist/esm/components/_storyHelpers_/constants.js +2 -0
  107. package/dist/esm/components/_storyHelpers_/constants.js.map +1 -1
  108. package/dist/esm/components/_storyHelpers_/mocks/tieredSelect.d.ts +15 -0
  109. package/dist/esm/components/_storyHelpers_/mocks/tieredSelect.js +3 -0
  110. package/dist/esm/components/_storyHelpers_/mocks/tieredSelect.js.map +1 -1
  111. package/dist/esm/effects/EventListener.js +14 -6
  112. package/dist/esm/effects/EventListener.js.map +1 -1
  113. package/dist/esm/index.d.ts +3 -0
  114. package/dist/esm/index.js +3 -0
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/layouts/DetailPage/DetailPage.d.ts +3 -0
  117. package/dist/esm/layouts/DetailPage/DetailPage.js +3 -0
  118. package/dist/esm/layouts/DetailPage/DetailPage.js.map +1 -1
  119. package/dist/esm/layouts/Grid.d.ts +3 -0
  120. package/dist/esm/layouts/Grid.js +3 -0
  121. package/dist/esm/layouts/Grid.js.map +1 -1
  122. package/dist/esm/layouts/NextDetailPage/NextDetailPage.d.ts +5 -6
  123. package/dist/esm/layouts/NextDetailPage/NextDetailPage.js +12 -29
  124. package/dist/esm/layouts/NextDetailPage/NextDetailPage.js.map +1 -1
  125. package/dist/esm/layouts/NextDetailPage/NextDetailPage.styles.d.ts +1 -22
  126. package/dist/esm/layouts/NextDetailPage/NextDetailPage.styles.js +10 -37
  127. package/dist/esm/layouts/NextDetailPage/NextDetailPage.styles.js.map +1 -1
  128. package/dist/esm/layouts/NextDetailPage/NextDetailPage.types.d.ts +0 -33
  129. package/dist/esm/layouts/NextDetailPage/RankedHeading.d.ts +6 -0
  130. package/dist/esm/layouts/NextDetailPage/RankedHeading.js +14 -0
  131. package/dist/esm/layouts/NextDetailPage/RankedHeading.js.map +1 -0
  132. package/dist/esm/layouts/NextDetailPage/index.d.ts +1 -0
  133. package/dist/esm/layouts/PageLayout/PageLayout.d.ts +9 -4
  134. package/dist/esm/layouts/PageLayout/PageLayout.js +30 -8
  135. package/dist/esm/layouts/PageLayout/PageLayout.js.map +1 -1
  136. package/dist/esm/layouts/PageLayout/PageLayout.styles.d.ts +8 -3
  137. package/dist/esm/layouts/PageLayout/PageLayout.styles.js +15 -9
  138. package/dist/esm/layouts/PageLayout/PageLayout.styles.js.map +1 -1
  139. package/dist/esm/layouts/Section/Section.d.ts +4 -0
  140. package/dist/esm/layouts/{NextDetailPage/NextDetailPageSection.js → Section/Section.js} +11 -10
  141. package/dist/esm/layouts/Section/Section.js.map +1 -0
  142. package/dist/esm/layouts/Section/Section.styles.d.ts +19 -0
  143. package/dist/esm/layouts/Section/Section.styles.js +31 -0
  144. package/dist/esm/layouts/Section/Section.styles.js.map +1 -0
  145. package/dist/esm/layouts/Section/Section.types.d.ts +34 -0
  146. package/dist/esm/layouts/Section/Section.types.js +2 -0
  147. package/dist/esm/layouts/Section/Section.types.js.map +1 -0
  148. package/dist/esm/layouts/Section/index.d.ts +1 -0
  149. package/dist/esm/layouts/Section/index.js +2 -0
  150. package/dist/esm/layouts/Section/index.js.map +1 -0
  151. package/dist/esm/locales/de-DE.json +13 -5
  152. package/dist/esm/locales/en-CA.json +9 -1
  153. package/dist/esm/locales/en-GB.json +9 -1
  154. package/dist/esm/locales/en.json +6 -0
  155. package/dist/esm/locales/es-ES.json +9 -1
  156. package/dist/esm/locales/es.json +9 -1
  157. package/dist/esm/locales/fr-CA.json +9 -1
  158. package/dist/esm/locales/fr-FR.json +10 -2
  159. package/dist/esm/state/I18n.d.ts +1 -1
  160. package/dist/esm/state/I18n.js.map +1 -1
  161. package/dist/esm/utils/CalendarHelpers.d.ts +3 -2
  162. package/dist/esm/utils/CalendarHelpers.js +30 -2
  163. package/dist/esm/utils/CalendarHelpers.js.map +1 -1
  164. package/dist/esm/utils/TinyMCE.js +2 -0
  165. package/dist/esm/utils/TinyMCE.js.map +1 -1
  166. package/dist/esm/utils/dateTime.js +2 -20
  167. package/dist/esm/utils/dateTime.js.map +1 -1
  168. package/dist/esm/utils/i18n.d.ts +1 -0
  169. package/dist/esm/utils/i18n.js +20 -0
  170. package/dist/esm/utils/i18n.js.map +1 -0
  171. package/dist/esm/utils/slotify.d.ts +11 -0
  172. package/dist/esm/utils/slotify.js +46 -0
  173. package/dist/esm/utils/slotify.js.map +1 -0
  174. package/dist/esm/utils/types.d.ts +1 -0
  175. package/dist/props/Modal.json +1 -1
  176. package/dist/props/allProps.json +1007 -894
  177. package/package.json +26 -26
  178. package/yarn-error.log +27829 -0
  179. package/dist/esm/layouts/NextDetailPage/NextDetailPageSection.d.ts +0 -4
  180. package/dist/esm/layouts/NextDetailPage/NextDetailPageSection.js.map +0 -1
@@ -0,0 +1,265 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
24
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
25
+ to[j] = from[i];
26
+ return to;
27
+ };
28
+ import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist';
29
+ import React from 'react';
30
+ import { Box } from '../../layouts/Box';
31
+ import { FlexList } from '../../layouts/FlexList';
32
+ import { useI18nContext } from '../../state/I18n';
33
+ import { Breadcrumbs } from '../Breadcrumbs';
34
+ import { Button } from '../Button';
35
+ import { Input } from '../Input';
36
+ import { MenuImperative } from '../MenuImperative';
37
+ import { CloseOnFocus, useOverlayTriggerContext } from '../OverlayTrigger';
38
+ import Spinner from '../Spinner';
39
+ import Tooltip from '../Tooltip';
40
+ import { Typography } from '../Typography/Typography';
41
+ import { TieredSelectContext, useHighlightItemEffects } from './TieredSelect';
42
+ import { StyledTieredSelect, StyledTieredSelectBreadcrumbs, StyledTieredSelectHome, StyledTieredSelectIcon, StyledTieredSelectLoadingMore, StyledTieredSelectOption, StyledTieredSelectOverlay, StyledTieredSelectSpinnerOverlay, } from './TieredSelect.styles';
43
+ function ArrowButton(props) {
44
+ return (React.createElement(StyledTieredSelectIcon, { alignItems: "center", justifyContent: "center" },
45
+ React.createElement(ChevronRight, null)));
46
+ }
47
+ function ItemTooltipIcon() {
48
+ return (React.createElement(StyledTieredSelectIcon, { alignItems: "center", justifyContent: "center" },
49
+ React.createElement(Help, null)));
50
+ }
51
+ var QuickCreateInput = React.forwardRef(function QuickCreateInput(_a, ref) {
52
+ var autoFocus = _a.autoFocus, onSubmit = _a.onSubmit, placeholder = _a.placeholder;
53
+ function onKeyDown(e) {
54
+ if (e.key === 'Enter') {
55
+ onSubmit(e.currentTarget.value);
56
+ }
57
+ }
58
+ return (React.createElement(Box, { flexGrow: "1", justifyContent: "center", padding: "md" },
59
+ React.createElement(Input, { autoFocus: autoFocus, onKeyDown: onKeyDown, placeholder: placeholder, ref: ref })));
60
+ });
61
+ function Options(_a) {
62
+ var children = _a.children, emptyMessage = _a.emptyMessage, props = __rest(_a, ["children", "emptyMessage"]);
63
+ if (React.Children.count(children) === 0) {
64
+ return (React.createElement(MenuImperative.Options, null,
65
+ React.createElement(Box, __assign({ paddingLeft: "lg" }, props),
66
+ React.createElement(Typography, { color: "gray45", intent: "small", italic: true }, emptyMessage))));
67
+ }
68
+ return React.createElement(MenuImperative.Options, null, children);
69
+ }
70
+ export var TieredSelectMenu = React.forwardRef(function TieredSelectMenu(_a, ref) {
71
+ var children = _a.children, currentTier = _a.currentTier, loading = _a.loading, loadingMore = _a.loadingMore, menuRef = _a.menuRef, onChange = _a.onChange, onNavigate = _a.onNavigate, onSearch = _a.onSearch, options = _a.options, previousValue = _a.previousValue, value = _a.value, props = __rest(_a, ["children", "currentTier", "loading", "loadingMore", "menuRef", "onChange", "onNavigate", "onSearch", "options", "previousValue", "value"]);
72
+ var _b = React.useContext(TieredSelectContext), getGroupId = _b.getGroupId, getId = _b.getId, getLabel = _b.getLabel, getNextGroupId = _b.getNextGroupId, i18nScope = _b.i18nScope, isTierDisabled = _b.isTierDisabled, onQuickCreate = _b.onQuickCreate, onScrollBottom = _b.onScrollBottom;
73
+ var quickCreateRef = React.useRef(null);
74
+ var hide = useOverlayTriggerContext().hide;
75
+ var I18n = useI18nContext();
76
+ var _c = React.useState(false), isQuickCreating = _c[0], setIsQuickCreating = _c[1];
77
+ var _d = React.useState(''), searchValue = _d[0], setSearchValue = _d[1];
78
+ var searchIsEmpty = searchValue === '';
79
+ var lastEntryInValue = value[value.length - 1];
80
+ var internalOnSearch = React.useCallback(function (e) {
81
+ setSearchValue(e.target.value);
82
+ onSearch && onSearch(e);
83
+ }, [onSearch]);
84
+ // When searching (all options have been flattened) we dont filter by id
85
+ var filteredOptions = React.useMemo(function () {
86
+ return searchIsEmpty
87
+ ? options.filter(function (tier) {
88
+ return getGroupId(tier) === currentTier;
89
+ })
90
+ : options;
91
+ }, [currentTier, getGroupId, options, searchIsEmpty]);
92
+ useHighlightItemEffects({
93
+ currentTier: currentTier,
94
+ searchValue: searchValue,
95
+ menuRef: menuRef,
96
+ loading: loading,
97
+ loadingMore: loadingMore,
98
+ });
99
+ var onNavigateHome = React.useCallback(function () {
100
+ var _a;
101
+ onNavigate(null, []);
102
+ (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.highlightFirst();
103
+ }, [menuRef, onNavigate]);
104
+ var onBreadCrumbNavigate = React.useCallback(function (tier) {
105
+ var _a;
106
+ var newTier = value.indexOf(tier);
107
+ onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1));
108
+ (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.highlightFirst();
109
+ }, [getNextGroupId, menuRef, onNavigate, value]);
110
+ function onNavigateForward(tier) {
111
+ var _a;
112
+ if (searchIsEmpty && !isQuickCreating && tier && !isLeaf(tier)) {
113
+ // if last value was a leaf, replace it when performing next navigation
114
+ var newValue = lastEntryInValue && isLeaf(lastEntryInValue)
115
+ ? __spreadArray(__spreadArray([], value.slice(0, value.length - 1)), [tier]) : __spreadArray(__spreadArray([], value), [tier]);
116
+ onNavigate(getNextGroupId(tier), newValue);
117
+ (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.highlightFirst();
118
+ }
119
+ }
120
+ /**
121
+ * need to skip back two levels if coming from a leaf node;
122
+ * out from the leaf and then out of the parent. this is because
123
+ * when tiers aren't selectectable we show the parent of the leaf
124
+ */
125
+ function onNavigateBackward() {
126
+ var _a;
127
+ if (value.length !== 0 && searchIsEmpty) {
128
+ var newValue = void 0;
129
+ var newTier = void 0;
130
+ if (isLeaf(value[value.length - 1])) {
131
+ newValue = value.slice(0, Math.max(0, value.length - 2));
132
+ newTier = value[Math.max(0, value.length - 2)];
133
+ }
134
+ else {
135
+ newValue = value.slice(0, Math.max(0, value.length - 1));
136
+ newTier = value[value.length - 1];
137
+ }
138
+ !isQuickCreating && onNavigate(getGroupId(newTier), newValue);
139
+ (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.highlightFirst();
140
+ }
141
+ }
142
+ function onKeyDown(e) {
143
+ var _a;
144
+ var tier = (_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.highlighted();
145
+ var isDisabled = isTierDisabled === null || isTierDisabled === void 0 ? void 0 : isTierDisabled(tier);
146
+ if (isDisabled) {
147
+ return;
148
+ }
149
+ if (e.key === 'Right' || e.key === 'ArrowRight') {
150
+ onNavigateForward(tier);
151
+ }
152
+ else if (e.key === 'Left' || e.key === 'ArrowLeft') {
153
+ onNavigateBackward();
154
+ }
155
+ }
156
+ var isLeaf = React.useCallback(function (tier) {
157
+ return !getNextGroupId(tier);
158
+ }, [getNextGroupId]);
159
+ function onTierSelect(selection) {
160
+ if (isLeaf(selection.item)) {
161
+ var isSameGroup = value.length
162
+ ? getGroupId(lastEntryInValue) === getGroupId(selection.item)
163
+ : false;
164
+ // if the selection is in the same group as the old selection, replace the old selection
165
+ var newValue = isSameGroup
166
+ ? __spreadArray(__spreadArray([], value.slice(0, value.length - 1)), [selection.item]) : __spreadArray(__spreadArray([], value), [selection.item]);
167
+ onChange(__assign(__assign({}, selection), { value: newValue }));
168
+ searchValue &&
169
+ internalOnSearch({
170
+ target: { value: '' },
171
+ });
172
+ hide(selection.event);
173
+ }
174
+ else {
175
+ onNavigateForward(selection.item);
176
+ }
177
+ }
178
+ // non-selectable tiers can have a leaf node in the root tier, so if selected
179
+ // it will reopen to the root tier and we should not show breadcrumbs
180
+ function showBreadcrumbs() {
181
+ return (value.length &&
182
+ searchIsEmpty &&
183
+ !(value.length === 1 && isLeaf(value[value.length - 1])));
184
+ }
185
+ var menuEmptyMessage = searchIsEmpty
186
+ ? I18n.t('emptyMessage', { scope: i18nScope })
187
+ : I18n.t('searchEmptyMessage', { scope: i18nScope });
188
+ var handleQuickCreate = React.useCallback(function (e) {
189
+ // stops menu from selecting item and closing on enter press
190
+ e.stopPropagation();
191
+ if (e.key === 'Enter') {
192
+ setIsQuickCreating(true);
193
+ }
194
+ }, [setIsQuickCreating]);
195
+ var onQuickCreateSubmit = React.useCallback(function () {
196
+ onQuickCreate &&
197
+ quickCreateRef.current &&
198
+ onQuickCreate(quickCreateRef.current.value);
199
+ setIsQuickCreating(false);
200
+ }, [onQuickCreate, quickCreateRef, setIsQuickCreating]);
201
+ function isTierSelected(tier) {
202
+ if (previousValue.length) {
203
+ return getId(tier) === getId(previousValue[previousValue.length - 1]);
204
+ }
205
+ return false;
206
+ }
207
+ function RenderMenuItem(_a) {
208
+ var tier = _a.tier, index = _a.index;
209
+ var tooltip = (isTierDisabled === null || isTierDisabled === void 0 ? void 0 : isTierDisabled(tier)) || false;
210
+ var isDisabled = Boolean(tooltip);
211
+ var showNextTierArrow = !tooltip && (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate));
212
+ var overlay = typeof tooltip === 'string' ? (React.createElement(Tooltip.Content, null, tooltip)) : null;
213
+ return (React.createElement(Tooltip, { key: getId(tier) + "-" + index + "-tooltip", overlay: overlay, trigger: isDisabled && overlay ? 'hover' : 'none', placement: "right" },
214
+ React.createElement(StyledTieredSelectOption, { disabled: isDisabled, item: tier, key: getId(tier) + "-" + index, selected: isTierSelected(tier) },
215
+ React.createElement(React.Fragment, null,
216
+ getLabel(tier),
217
+ showNextTierArrow && (React.createElement(Box, { paddingLeft: "sm" },
218
+ React.createElement(ArrowButton, { "data-qa": "tiered-select-arrow", onClick: function () { return onNavigateForward(tier); } }))),
219
+ tooltip && (React.createElement(Box, { paddingLeft: "sm" },
220
+ React.createElement(ItemTooltipIcon, null)))))));
221
+ }
222
+ function renderLoadingMore() {
223
+ return loadingMore && !loading
224
+ ? [
225
+ React.createElement(StyledTieredSelectLoadingMore, { "data-qa": "tiered-select-loading-more", key: 'tiered-select-loading-more' },
226
+ React.createElement(Spinner, { size: "sm" })),
227
+ ]
228
+ : [];
229
+ }
230
+ return (React.createElement(StyledTieredSelectOverlay, { ref: ref, shadowStrength: 2 },
231
+ React.createElement(StyledTieredSelectSpinnerOverlay, { "data-qa": "tiered-select-loading", "data-loading": loading, label: I18n.t('spinnerLabel', { scope: i18nScope }) || '', loading: loading, size: "md" },
232
+ React.createElement(StyledTieredSelect, __assign({ onKeyDown: onKeyDown, onScrollBottom: onScrollBottom, onSelect: onTierSelect, ref: menuRef }, props),
233
+ React.createElement(MenuImperative.Header, null,
234
+ !isQuickCreating && (React.createElement(MenuImperative.Search, { autoComplete: "false", autoFocus: true, onChange: internalOnSearch, placeholder: I18n.t('searchPlaceholder', {
235
+ scope: i18nScope,
236
+ }) })),
237
+ showBreadcrumbs() ? (React.createElement(StyledTieredSelectBreadcrumbs, { "$nonInteractive": isQuickCreating },
238
+ React.createElement(Breadcrumbs.Crumb, { onClick: onNavigateHome },
239
+ React.createElement(StyledTieredSelectHome, { alignItems: "center", justifyContent: "center" },
240
+ React.createElement(Home, { "data-qa": "tiered-select-home" }))),
241
+ value
242
+ .filter(function (tier) {
243
+ // we reopen to the parent of leaf nodes, so don't show that breadcrumb
244
+ return !isLeaf(tier);
245
+ })
246
+ .map(function (tier, index, array) {
247
+ return (React.createElement(Breadcrumbs.Crumb, { active: index === array.length - 1, key: getId(tier) + "-" + index, onClick: function () { return onBreadCrumbNavigate(tier); } }, getLabel(tier)));
248
+ }))) : null),
249
+ !isQuickCreating ? (React.createElement(Options, { emptyMessage: menuEmptyMessage }, filteredOptions
250
+ .map(function (tier, index) { return (React.createElement(RenderMenuItem, { key: "menu-item-" + getId(tier) + "-" + index + "}", tier: tier, index: index })); })
251
+ .concat(renderLoadingMore()))) : (React.createElement(QuickCreateInput, { autoFocus: isQuickCreating, onSubmit: onQuickCreateSubmit, placeholder: I18n.t('quickCreatePlaceholder', {
252
+ scope: i18nScope,
253
+ }), ref: quickCreateRef })),
254
+ onQuickCreate && (React.createElement(MenuImperative.Footer, { "data-something": "true" }, isQuickCreating ? (React.createElement(FlexList, { size: "xs", justifyContent: "flex-end" },
255
+ React.createElement(Button, { onClick: function () { return setIsQuickCreating(false); }, size: "sm", variant: "tertiary" }, I18n.t('quickCreateCancelLabel', {
256
+ scope: i18nScope,
257
+ })),
258
+ React.createElement(Button, { onClick: onQuickCreateSubmit, size: "sm" }, I18n.t('quickCreateCreateLabel', {
259
+ scope: i18nScope,
260
+ })))) : (React.createElement(Button, { block: true, size: "sm", icon: React.createElement(Plus, null), onClick: function () { return setIsQuickCreating(true); }, onKeyDown: handleQuickCreate }, I18n.t('quickCreateActionLabel', {
261
+ scope: i18nScope,
262
+ }))))),
263
+ React.createElement(CloseOnFocus, { hide: hide })))));
264
+ });
265
+ //# sourceMappingURL=TieredSelectMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TieredSelectMenu.js","sourceRoot":"","sources":["../../../../src/components/TieredSelect/TieredSelectMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { InteractableTileProps, SelectableTileProps, LinkTileProps, HeroTextProps, HeroMediaProps, TileProps } from './Tile.types';
3
+ import { Props } from '../../utils/types';
4
+ export declare const InteractableTile: React.ForwardRefExoticComponent<Omit<InteractableTileProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
5
+ export declare const LinkTile: React.ForwardRefExoticComponent<Omit<LinkTileProps, "variant"> & React.RefAttributes<HTMLAnchorElement>>;
6
+ export declare const SelectableTile: React.ForwardRefExoticComponent<Omit<SelectableTileProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
7
+ export declare const Tile: React.ForwardRefExoticComponent<TileProps & React.RefAttributes<HTMLElement>> & {
8
+ Actions: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
9
+ Content: React.ForwardRefExoticComponent<HeroTextProps & React.RefAttributes<HTMLDivElement>>;
10
+ HeroText: React.ForwardRefExoticComponent<HeroTextProps & React.RefAttributes<HTMLDivElement>>;
11
+ HeroMedia: React.ForwardRefExoticComponent<HeroMediaProps & React.RefAttributes<HTMLDivElement>>;
12
+ };
@@ -0,0 +1,85 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from 'react';
24
+ import { addSubcomponents } from '../../utils/addSubcomponents';
25
+ import { StyledLinkTile, StyledSelectableTile, StyledInteractableTile, StyledHeroMedia, StyledHeroText, StyledContent, StyledActions, StyledHeroOverlay, } from './Tile.styles';
26
+ var TileContext = React.createContext({
27
+ orientation: 'portrait',
28
+ });
29
+ var HeroMedia = React.forwardRef(function HeroMedia(_a, ref) {
30
+ var children = _a.children, _b = _a.overlay, overlay = _b === void 0 ? false : _b, onOverlayClick = _a.onOverlayClick, props = __rest(_a, ["children", "overlay", "onOverlayClick"]);
31
+ var orientation = React.useContext(TileContext).orientation;
32
+ return (React.createElement(StyledHeroMedia, __assign({ ref: ref, "$orientation": orientation }, props),
33
+ overlay && React.createElement(StyledHeroOverlay, { onClick: onOverlayClick }),
34
+ children));
35
+ });
36
+ var HeroText = React.forwardRef(function HeroText(_a, ref) {
37
+ var children = _a.children, props = __rest(_a, ["children"]);
38
+ var orientation = React.useContext(TileContext).orientation;
39
+ return (React.createElement(StyledHeroText, __assign({ ref: ref, "$orientation": orientation }, props), children));
40
+ });
41
+ var Content = React.forwardRef(function Content(props, ref) {
42
+ return React.createElement(StyledContent, __assign({ ref: ref }, props));
43
+ });
44
+ var Actions = React.forwardRef(function Actions(_a, ref) {
45
+ var children = _a.children, props = __rest(_a, ["children"]);
46
+ return (React.createElement(StyledActions, __assign({ ref: ref }, props), children));
47
+ });
48
+ export var InteractableTile = React.forwardRef(function InteractableTile(_a, ref) {
49
+ var orientation = _a.orientation, children = _a.children, props = __rest(_a, ["orientation", "children"]);
50
+ return (React.createElement(StyledInteractableTile, __assign({ ref: ref, "$orientation": orientation }, props),
51
+ React.createElement(TileContext.Provider, { value: { orientation: orientation } }, children)));
52
+ });
53
+ export var LinkTile = React.forwardRef(function LinkTile(_a, ref) {
54
+ var orientation = _a.orientation, children = _a.children, props = __rest(_a, ["orientation", "children"]);
55
+ return (React.createElement(StyledLinkTile, __assign({ ref: ref, "$orientation": orientation }, props),
56
+ React.createElement(TileContext.Provider, { value: { orientation: orientation } }, children)));
57
+ });
58
+ export var SelectableTile = React.forwardRef(function SelectableTile(_a, ref) {
59
+ var orientation = _a.orientation, _b = _a.selected, selected = _b === void 0 ? false : _b, onClick = _a.onClick, onKeyDown = _a.onKeyDown, _c = _a.disabled, disabled = _c === void 0 ? false : _c, children = _a.children, props = __rest(_a, ["orientation", "selected", "onClick", "onKeyDown", "disabled", "children"]);
60
+ return (React.createElement(StyledSelectableTile, __assign({ ref: ref, "$disabled": disabled, "$orientation": orientation, "$selected": selected, tabIndex: !disabled ? 0 : undefined, onClick: function (e) {
61
+ if (!disabled) {
62
+ onClick === null || onClick === void 0 ? void 0 : onClick();
63
+ }
64
+ }, onKeyDown: function (e) {
65
+ var code = e.code;
66
+ if (code === 'Enter' || code === 'Space') {
67
+ onClick === null || onClick === void 0 ? void 0 : onClick();
68
+ }
69
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
70
+ } }, props),
71
+ React.createElement(TileContext.Provider, { value: { orientation: orientation } }, children)));
72
+ });
73
+ var Tile_ = React.forwardRef(function Tile(_a, ref) {
74
+ var _b = _a.variant, variant = _b === void 0 ? 'interactive' : _b, _c = _a.orientation, orientation = _c === void 0 ? 'portrait' : _c, props = __rest(_a, ["variant", "orientation"]);
75
+ switch (variant) {
76
+ case 'interactive':
77
+ return (React.createElement(InteractableTile, __assign({ ref: ref, orientation: orientation }, props)));
78
+ case 'selectable':
79
+ return (React.createElement(SelectableTile, __assign({ ref: ref, orientation: orientation }, props)));
80
+ case 'link':
81
+ return (React.createElement(LinkTile, __assign({ ref: ref, orientation: orientation }, props)));
82
+ }
83
+ });
84
+ export var Tile = addSubcomponents({ Actions: Actions, Content: Content, HeroText: HeroText, HeroMedia: HeroMedia }, Tile_);
85
+ //# sourceMappingURL=Tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../../../src/components/Tile/Tile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { TileCommonProps } from './Tile.types';
2
+ interface StyledTile {
3
+ $orientation: TileCommonProps['orientation'];
4
+ }
5
+ export declare const StyledLinkTile: import("styled-components").StyledComponent<"a", any, StyledTile, never>;
6
+ export declare const StyledSelectableTile: import("styled-components").StyledComponent<"div", any, StyledTile & {
7
+ $selected: boolean;
8
+ $disabled: boolean;
9
+ }, never>;
10
+ export declare const StyledInteractableTile: import("styled-components").StyledComponent<"div", any, StyledTile, never>;
11
+ export declare const StyledActions: import("styled-components").StyledComponent<"div", any, {}, never>;
12
+ export declare const StyledContent: import("styled-components").StyledComponent<"div", any, {}, never>;
13
+ export declare const StyledHeroMedia: import("styled-components").StyledComponent<"figure", any, {
14
+ $orientation: TileCommonProps['orientation'];
15
+ }, never>;
16
+ export declare const StyledHeroOverlay: import("styled-components").StyledComponent<"div", any, {}, never>;
17
+ export declare const StyledHeroText: import("styled-components").StyledComponent<"div", any, {
18
+ $orientation: TileCommonProps['orientation'];
19
+ }, never>;
20
+ export {};
@@ -0,0 +1,54 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import styled, { css } from 'styled-components';
6
+ import { borderRadius } from '../../styles/borderRadius';
7
+ import { colors } from '../../styles/colors';
8
+ import { spacing } from '../../styles/spacing';
9
+ import { getShadow } from '../../styles/shadows';
10
+ import { getFocus } from '../../styles/mixins';
11
+ import { StyledTitle } from '../Title/Title.styles';
12
+ import { mediaIE11Hack } from '../../styles/media';
13
+ var getHover = function ($selected) {
14
+ if ($selected === void 0) { $selected = false; }
15
+ return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: pointer;\n &:hover,\n &.hover {\n background-color: ", ";\n }\n"], ["\n cursor: pointer;\n &:hover,\n &.hover {\n background-color: ", ";\n }\n"])), $selected ? colors.blue94 : colors.gray96);
16
+ };
17
+ var getSelected = function () { return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n"], ["\n background-color: ", ";\n"])), colors.blue98); };
18
+ var getDisabled = function () { return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n cursor: not-allowed;\n"], ["\n cursor: not-allowed;\n"]))); };
19
+ var getTileStyles = function (_a) {
20
+ var $orientation = _a.$orientation, _b = _a.$selected, $selected = _b === void 0 ? false : _b, _c = _a.$hoverable, $hoverable = _c === void 0 ? false : _c, _d = _a.$disabled, $disabled = _d === void 0 ? false : _d;
21
+ return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex-flow: ", " nowrap;\n background-color: ", ";\n border-radius: ", "px;\n width: 100%;\n ", "\n\n &:focus, &.focus {\n ", "\n }\n\n ", "\n ", "\n ", "\n "], ["\n display: flex;\n flex-flow: ", " nowrap;\n background-color: ", ";\n border-radius: ", "px;\n width: 100%;\n ", "\n\n &:focus, &.focus {\n ", "\n }\n\n ", "\n ", "\n ", "\n "])), $orientation === 'landscape' ? 'row' : 'column', colors.white, borderRadius.md, getShadow(1, 'bottom'), getFocus(), $disabled ? getDisabled() : '', $selected ? getSelected() : '', $hoverable && !$disabled ? getHover($selected) : '');
22
+ };
23
+ export var StyledLinkTile = styled.a(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n text-decoration: none;\n color: inherit;\n"], ["\n ", "\n text-decoration: none;\n color: inherit;\n"])), function (_a) {
24
+ var $orientation = _a.$orientation;
25
+ return getTileStyles({ $orientation: $orientation, $hoverable: true });
26
+ });
27
+ export var StyledSelectableTile = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
28
+ var $orientation = _a.$orientation, $selected = _a.$selected, $disabled = _a.$disabled;
29
+ return getTileStyles({
30
+ $orientation: $orientation,
31
+ $selected: $selected,
32
+ $disabled: $disabled,
33
+ $hoverable: true,
34
+ });
35
+ });
36
+ export var StyledInteractableTile = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
37
+ var $orientation = _a.$orientation;
38
+ return getTileStyles({ $orientation: $orientation });
39
+ });
40
+ export var StyledActions = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n * + & {\n margin-top: ", "px;\n }\n\n > * + * {\n margin-left: ", "px;\n }\n"], ["\n display: flex;\n justify-content: flex-end;\n * + & {\n margin-top: ", "px;\n }\n\n > * + * {\n margin-left: ", "px;\n }\n"])), spacing.lg, spacing.sm);
41
+ export var StyledContent = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n padding: ", "px;\n flex: 1 1 auto;\n\n ", ":not(:last-child) {\n margin-bottom: ", "px;\n }\n"], ["\n padding: ", "px;\n flex: 1 1 auto;\n\n ", ":not(:last-child) {\n margin-bottom: ", "px;\n }\n"])), spacing.lg, StyledTitle, spacing.lg);
42
+ export var StyledHeroMedia = styled.figure(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: flex;\n margin: 0;\n position: relative;\n overflow: hidden;\n > video {\n background-color: ", ";\n }\n > img, > picture > img {\n object-fit: cover;\n }\n ", "}\n"], ["\n display: flex;\n margin: 0;\n position: relative;\n overflow: hidden;\n > video {\n background-color: ", ";\n }\n > img, > picture > img {\n object-fit: cover;\n }\n ", "}\n"])), colors.black, function (_a) {
43
+ var $orientation = _a.$orientation;
44
+ return $orientation === 'landscape'
45
+ ? css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n flex: 0 0 33%;\n position: relative;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n > *,\n > picture > img {\n height: 100%;\n width: 100%;\n position: absolute;\n }\n\n @media ", " {\n > picture > img,\n > img {\n width: auto;\n left: 50%;\n transform: translate(-50%, 0);\n }\n }\n "], ["\n flex: 0 0 33%;\n position: relative;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n > *,\n > picture > img {\n height: 100%;\n width: 100%;\n position: absolute;\n }\n\n @media ", " {\n > picture > img,\n > img {\n width: auto;\n left: 50%;\n transform: translate(-50%, 0);\n }\n }\n "])), mediaIE11Hack) : css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n minheight: '156px';\n maxheight: '567px';\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n > *,\n > picture > img {\n min-height: inherit;\n max-height: inherit;\n height: auto;\n width: 100%;\n }\n "], ["\n minheight: '156px';\n maxheight: '567px';\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n > *,\n > picture > img {\n min-height: inherit;\n max-height: inherit;\n height: auto;\n width: 100%;\n }\n "])));
46
+ });
47
+ export var StyledHeroOverlay = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 1;\n"], ["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 1;\n"])));
48
+ export var StyledHeroText = styled.div(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n padding: ", "px;\n border-radius: inherit;\n ", "}\n"], ["\n padding: ", "px;\n border-radius: inherit;\n ", "}\n"])), spacing.lg, function (_a) {
49
+ var $orientation = _a.$orientation;
50
+ return $orientation === 'landscape'
51
+ ? css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-right: 0;\n "], ["\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-right: 0;\n "]))) : css(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n padding-bottom: 0;\n "], ["\n padding-bottom: 0;\n "])));
52
+ });
53
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16;
54
+ //# sourceMappingURL=Tile.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tile.styles.js","sourceRoot":"","sources":["../../../../src/components/Tile/Tile.styles.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { AnchorAttributes, DivAttributes, Props } from '../../utils/types';
2
+ import React from 'react';
3
+ export interface HeroTextProps extends Props {
4
+ }
5
+ export interface HeroMediaProps extends Props {
6
+ overlay?: boolean;
7
+ onOverlayClick?: React.MouseEventHandler<HTMLDivElement>;
8
+ }
9
+ export interface TileCommonProps extends Props {
10
+ orientation: 'portrait' | 'landscape';
11
+ }
12
+ export interface InteractableTileProps extends TileCommonProps, DivAttributes {
13
+ variant?: 'interactive';
14
+ }
15
+ export interface LinkTileProps extends TileCommonProps, AnchorAttributes {
16
+ variant?: 'link';
17
+ }
18
+ export interface SelectableTileProps extends TileCommonProps, Omit<DivAttributes, 'onClick'> {
19
+ variant?: 'selectable';
20
+ onClick?: () => {};
21
+ selected?: boolean;
22
+ disabled?: boolean;
23
+ }
24
+ export declare type TileProps = SelectableTileProps | InteractableTileProps | LinkTileProps;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Tile.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tile.types.js","sourceRoot":"","sources":["../../../../src/components/Tile/Tile.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { Tile, Tile as default } from './Tile';
@@ -0,0 +1,2 @@
1
+ export { Tile, Tile as default } from './Tile';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Tile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const iframe: JSX.Element;
2
+ export default iframe;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ var iframeHtml = "\n<html style=\"\n height: 100%;\n width: 100%;\n\">\n <head></head>\n <body style=\"\n height: 100%;\n width: 100%;\n margin: 0;\n \">\n <video style=\"width: 100%;height: 100%;position: absolute;background: black;\" top:=\"\" 0;=\"\" left:=\"\">\n <source src=\"static/media/src/components/Tile/mocks/video.mp4\" type=\"video/mp4\">\n Your browser doesn't support HTML5 video tag.\n </video>\n </body>\n</html>";
3
+ var iframe = (React.createElement("iframe", { width: "400px", height: "225px", srcDoc: iframeHtml, title: "Video player", frameBorder: "0" }));
4
+ export default iframe;
5
+ //# sourceMappingURL=iframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe.js","sourceRoot":"","sources":["../../../../../src/components/Tile/mocks/iframe.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,IAAM,UAAU,GAAG,meAgBX,CAAA;AAER,IAAM,MAAM,GAAG,CACb,gCACE,KAAK,EAAC,OAAO,EACb,MAAM,EAAC,OAAO,EACd,MAAM,EAAE,UAAU,EAClB,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,GAAG,GACf,CACH,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const svg: JSX.Element;
2
+ export default svg;