@procore/core-react 12.21.0-cdn.2 → 12.21.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 (204) hide show
  1. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  2. package/dist/Avatar/Avatar.styles.js +5 -5
  3. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  4. package/dist/Badge/Badge.styles.js +2 -2
  5. package/dist/Banner/Banner.styles.js +10 -10
  6. package/dist/Box/Box.styles.js +1 -1
  7. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  8. package/dist/Button/Button.styles.js +5 -5
  9. package/dist/Calendar/Calendar.styles.js +8 -8
  10. package/dist/Card/Card.styles.js +1 -1
  11. package/dist/Checkbox/Checkbox.styles.js +6 -6
  12. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  13. package/dist/ContactItem/ContactItem.styles.js +5 -5
  14. package/dist/Content/Content.styles.js +2 -2
  15. package/dist/DateInput/DateInput.styles.js +6 -6
  16. package/dist/DetailPage/DetailPage.styles.js +7 -7
  17. package/dist/Dropdown/Dropdown.styles.js +3 -3
  18. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  19. package/dist/Dropzone/Dropzone.js +1 -1
  20. package/dist/Dropzone/Dropzone.styles.js +9 -9
  21. package/dist/EmptyState/EmptyState.styles.js +6 -6
  22. package/dist/Field/Field.styles.js +3 -3
  23. package/dist/FileList/FileList.styles.js +4 -4
  24. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  25. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  26. package/dist/FileSelect/FileSelect.styles.js +2 -2
  27. package/dist/FileSelect/FileSelect.types.d.ts +4 -0
  28. package/dist/FileSelect/FileSelect.types.js.map +1 -1
  29. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  30. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  31. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  32. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  33. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  34. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  35. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  36. package/dist/FileToken/FileToken.styles.js +4 -4
  37. package/dist/FilterToken/FilterToken.styles.js +5 -5
  38. package/dist/FlexList/FlexList.styles.js +1 -1
  39. package/dist/Form/Form.styles.js +14 -14
  40. package/dist/Form/StyledFormikForm.styles.d.ts +1 -1
  41. package/dist/Form/StyledFormikForm.styles.js +2 -2
  42. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  43. package/dist/Grid/Grid.styles.js +2 -2
  44. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  45. package/dist/Input/Input.styles.js +1 -1
  46. package/dist/Link/Link.styles.js +1 -1
  47. package/dist/ListPage/ListPage.styles.js +8 -8
  48. package/dist/Loader/Loader.styles.js +2 -2
  49. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  50. package/dist/Modal/Modal.styles.js +13 -13
  51. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  52. package/dist/NextMenu/NextMenu.styles.js +3 -3
  53. package/dist/Notation/Notation.js +1 -1
  54. package/dist/NumberInput/NumberInput.styles.js +7 -7
  55. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  56. package/dist/PageLayout/PageLayout.styles.js +16 -16
  57. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  58. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  59. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  60. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  61. package/dist/Pagination/Pagination.styles.js +5 -5
  62. package/dist/Panel/Panel.js +2 -1
  63. package/dist/Panel/Panel.js.map +1 -1
  64. package/dist/Panel/Panel.styles.js +11 -11
  65. package/dist/Pill/Pill.styles.js +2 -2
  66. package/dist/PillSelect/PillSelect.styles.js +4 -4
  67. package/dist/Popover/Popover.styles.js +2 -2
  68. package/dist/Portal/Portal.styles.js +1 -1
  69. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  70. package/dist/RadioButton/RadioButton.js +1 -0
  71. package/dist/RadioButton/RadioButton.js.map +1 -1
  72. package/dist/RadioButton/RadioButton.styles.js +3 -3
  73. package/dist/Required/Required.styles.js +3 -3
  74. package/dist/Search/Search.styles.js +5 -5
  75. package/dist/Section/Section.styles.js +7 -7
  76. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  77. package/dist/Select/Select.styles.js +7 -7
  78. package/dist/Semantic/Semantic.styles.js +9 -9
  79. package/dist/Slider/Slider.styles.js +5 -5
  80. package/dist/Spinner/Spinner.styles.js +7 -7
  81. package/dist/SplitViewCard/SplitViewCard.context.d.ts +1 -1
  82. package/dist/SplitViewCard/SplitViewCard.context.js +14 -29
  83. package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -1
  84. package/dist/SplitViewCard/SplitViewCard.js +16 -14
  85. package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
  86. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  87. package/dist/SplitViewCard/SplitViewCard.types.d.ts +24 -16
  88. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
  89. package/dist/SplitViewCard/SplitViewCardInternal.context.d.ts +6 -0
  90. package/dist/SplitViewCard/SplitViewCardInternal.context.js +31 -0
  91. package/dist/SplitViewCard/SplitViewCardInternal.context.js.map +1 -0
  92. package/dist/SplitViewCard/index.d.ts +1 -0
  93. package/dist/SplitViewCard/index.js +1 -0
  94. package/dist/SplitViewCard/index.js.map +1 -1
  95. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  96. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  97. package/dist/Switch/Switch.styles.js +4 -4
  98. package/dist/Table/Table.styles.js +28 -28
  99. package/dist/TableShelf/TableShelf.styles.js +5 -5
  100. package/dist/Tabs/Tabs.styles.js +15 -15
  101. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  102. package/dist/TextArea/TextArea.styles.js +1 -1
  103. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  104. package/dist/Thumbnail/Thumbnail.hooks.d.ts +6 -6
  105. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  106. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  107. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  108. package/dist/Tile/Tile.styles.js +8 -8
  109. package/dist/Title/Title.styles.js +7 -7
  110. package/dist/Toast/Toast.styles.js +3 -3
  111. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  112. package/dist/Token/Token.styles.js +3 -3
  113. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  114. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  115. package/dist/Tooltip/Tooltip.styles.js +2 -2
  116. package/dist/Tree/Tree.styles.js +9 -9
  117. package/dist/Typeahead/Typeahead.styles.js +3 -3
  118. package/dist/Typography/Typography.styles.js +1 -1
  119. package/dist/Typography/Typography.table.story.js +2 -2
  120. package/dist/_hooks/I18n.d.ts +9 -29
  121. package/dist/_hooks/I18n.js +29 -46
  122. package/dist/_hooks/I18n.js.map +1 -1
  123. package/dist/_locales/it-IT.json +216 -216
  124. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  125. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  126. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  127. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  128. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  129. package/dist/_typedoc/Box/Box.types.json +68 -68
  130. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  131. package/dist/_typedoc/Button/Button.types.json +13 -13
  132. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  133. package/dist/_typedoc/Card/Card.types.json +6 -6
  134. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  135. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  136. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  137. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  138. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  139. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  140. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  141. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  142. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  143. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  144. package/dist/_typedoc/FileSelect/FileSelect.types.json +36 -26
  145. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  146. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  147. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  148. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  149. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  150. package/dist/_typedoc/Form/Form.types.json +741 -741
  151. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  152. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  153. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  154. package/dist/_typedoc/Input/Input.types.json +2 -2
  155. package/dist/_typedoc/Link/Link.types.json +4 -4
  156. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  157. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  158. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  159. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  160. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  161. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  162. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  163. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  164. package/dist/_typedoc/PageLayout/PageLayout.types.json +29 -29
  165. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  166. package/dist/_typedoc/Panel/Panel.types.json +28 -28
  167. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  168. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  169. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  170. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  171. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  172. package/dist/_typedoc/Required/Required.types.json +5 -5
  173. package/dist/_typedoc/Search/Search.types.json +19 -19
  174. package/dist/_typedoc/Section/Section.types.json +15 -15
  175. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  176. package/dist/_typedoc/Select/Select.types.json +60 -60
  177. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  178. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  179. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  180. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +50 -40
  181. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  182. package/dist/_typedoc/Table/Table.types.json +101 -101
  183. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  184. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  185. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  186. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  187. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  188. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  189. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  190. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  191. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  192. package/dist/_typedoc/Title/Title.types.json +1 -1
  193. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  194. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  195. package/dist/_typedoc/Token/Token.types.json +4 -4
  196. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  197. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  198. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  199. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  200. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  201. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  202. package/dist/_typedoc/_utils/types.json +3 -3
  203. package/dist/_typedoc/deprecations.json +1 -1
  204. package/package.json +2 -3
@@ -5,7 +5,7 @@ import { colors } from '../_styles/colors';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledHeaderBadge = /*#__PURE__*/styled.div.withConfig({
7
7
  displayName: "StyledHeaderBadge",
8
- componentId: "core-12_21_0-cdn_2__sc-1jpjx47-0"
8
+ componentId: "core-12_21_0__sc-1jpjx47-0"
9
9
  })(["", " border-radius:10px;border-style:solid;border-width:1px;display:inline-block;margin-bottom:", "px;padding:1px ", "px;", ""], getTypographyIntent('small'), spacing.sm, spacing.sm, function (_ref) {
10
10
  var $variant = _ref.$variant;
11
11
  if ($variant) {
@@ -18,22 +18,22 @@ export var StyledHeaderBadge = /*#__PURE__*/styled.div.withConfig({
18
18
  // TODO in v12 remove cursor: pointer;
19
19
  export var StyledToolHeaderIconContainer = /*#__PURE__*/styled.div.withConfig({
20
20
  displayName: "StyledToolHeaderIconContainer",
21
- componentId: "core-12_21_0-cdn_2__sc-1jpjx47-1"
21
+ componentId: "core-12_21_0__sc-1jpjx47-1"
22
22
  })(["color:", ";cursor:pointer;display:inline-flex;flex:0 0 auto;"], colors.orange50);
23
23
  export var StyledHeaderTabs = /*#__PURE__*/styled.div.withConfig({
24
24
  displayName: "StyledHeaderTabs",
25
- componentId: "core-12_21_0-cdn_2__sc-1jpjx47-2"
25
+ componentId: "core-12_21_0__sc-1jpjx47-2"
26
26
  })(["align-self:flex-end;flex:1 1 auto;min-width:100px;overflow:hidden;"]);
27
27
  export var StyledHeaderActions = /*#__PURE__*/styled.div.withConfig({
28
28
  displayName: "StyledHeaderActions",
29
- componentId: "core-12_21_0-cdn_2__sc-1jpjx47-3"
29
+ componentId: "core-12_21_0__sc-1jpjx47-3"
30
30
  })(["flex:0 0 auto;margin-left:auto;padding-left:", "px;"], spacing.lg);
31
31
  export var StyledToolHeaderTitle = /*#__PURE__*/styled(H1).withConfig({
32
32
  displayName: "StyledToolHeaderTitle",
33
- componentId: "core-12_21_0-cdn_2__sc-1jpjx47-4"
33
+ componentId: "core-12_21_0__sc-1jpjx47-4"
34
34
  })(["margin-right:", "px;white-space:nowrap;"], spacing.xl);
35
35
  export var StyledToolHeader = /*#__PURE__*/styled.div.withConfig({
36
36
  displayName: "StyledToolHeader",
37
- componentId: "core-12_21_0-cdn_2__sc-1jpjx47-5"
37
+ componentId: "core-12_21_0__sc-1jpjx47-5"
38
38
  })(["align-items:center;display:flex;min-height:36px;width:100%;", " + ", ",a + ", ",button + ", "{margin-left:", "px;}"], StyledToolHeaderIconContainer, StyledToolHeaderTitle, StyledToolHeaderTitle, StyledToolHeaderTitle, spacing.lg);
39
39
  //# sourceMappingURL=ToolHeader.styles.js.map
@@ -3,14 +3,14 @@ import { Page } from '../PageLayout';
3
3
  import { spacing } from '../_styles/spacing';
4
4
  export var StyledTitleOuter = /*#__PURE__*/styled(Page.Title).withConfig({
5
5
  displayName: "StyledTitleOuter",
6
- componentId: "core-12_21_0-cdn_2__sc-wa8j06-0"
6
+ componentId: "core-12_21_0__sc-wa8j06-0"
7
7
  })(["align-items:center;display:flex;gap:", "px;"], spacing.md);
8
8
  export var StyledTitleInner = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "StyledTitleInner",
10
- componentId: "core-12_21_0-cdn_2__sc-wa8j06-1"
10
+ componentId: "core-12_21_0__sc-wa8j06-1"
11
11
  })(["width:100%;"]);
12
12
  export var StyledToolLandingPageBodyContent = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledToolLandingPageBodyContent",
14
- componentId: "core-12_21_0-cdn_2__sc-wa8j06-2"
14
+ componentId: "core-12_21_0__sc-wa8j06-2"
15
15
  })(["> * + *{margin-top:", "px;}"], spacing.sm);
16
16
  //# sourceMappingURL=ToolLandingPage.styles.js.map
@@ -6,10 +6,10 @@ import { getShadow } from '../_styles/shadows';
6
6
  import { spacing } from '../_styles/spacing';
7
7
  export var StyledTooltip = /*#__PURE__*/styled.span.withConfig({
8
8
  displayName: "StyledTooltip",
9
- componentId: "core-12_21_0-cdn_2__sc-1fawsi4-0"
9
+ componentId: "core-12_21_0__sc-1fawsi4-0"
10
10
  })(["", " color:", ";max-width:200px;padding:", "px ", "px;position:relative;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;"], getTypographyIntent('small'), colors.white, spacing.sm, spacing.md);
11
11
  export var StyledContainer = /*#__PURE__*/styled.span.withConfig({
12
12
  displayName: "StyledContainer",
13
- componentId: "core-12_21_0-cdn_2__sc-1fawsi4-1"
13
+ componentId: "core-12_21_0__sc-1fawsi4-1"
14
14
  })(["display:inline-flex;background-color:", ";border-radius:", "px;", " & + [data-overlay-arrow]{background:", ";}"], colors.gray15, borderRadius.md, getShadow(3, 'bottom'), colors.gray15);
15
15
  //# sourceMappingURL=Tooltip.styles.js.map
@@ -5,11 +5,11 @@ import { Typography } from '../Typography/Typography';
5
5
  import { colors } from '../_styles/colors';
6
6
  export var StyledFilenameCaption = /*#__PURE__*/styled(Typography).withConfig({
7
7
  displayName: "StyledFilenameCaption",
8
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-0"
8
+ componentId: "core-12_21_0__sc-2d45b5-0"
9
9
  })(["display:flex;width:100%;"]);
10
10
  export var StyledTree = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledTree",
12
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-1"
12
+ componentId: "core-12_21_0__sc-2d45b5-1"
13
13
  })(["width:100%;height:100%;min-height:36px;outline:none;overflow:auto;"]);
14
14
  export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
15
15
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -17,7 +17,7 @@ export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
17
17
  }
18
18
  }).withConfig({
19
19
  displayName: "StyledTreeRowContainer",
20
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-2"
20
+ componentId: "core-12_21_0__sc-2d45b5-2"
21
21
  })(["display:flex;align-items:center;height:36px;background:transparent;box-shadow:inset 4px 0px 0px transparent;cursor:default;outline:none;", " &:hover{background:", ";}", " ", ""], function (_ref) {
22
22
  var isSelectable = _ref.isSelectable,
23
23
  $isSelectable = _ref.$isSelectable;
@@ -35,30 +35,30 @@ export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
35
35
  });
36
36
  export var StyledTreeRowContent = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledTreeRowContent",
38
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-3"
38
+ componentId: "core-12_21_0__sc-2d45b5-3"
39
39
  })(["display:flex;align-items:center;"]);
40
40
  export var StyledTreeRowWrapper = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledTreeRowWrapper",
42
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-4"
42
+ componentId: "core-12_21_0__sc-2d45b5-4"
43
43
  })(["outline:none;"]);
44
44
  var StyledIconBase = /*#__PURE__*/styled(Box).withConfig({
45
45
  displayName: "StyledIconBase",
46
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-5"
46
+ componentId: "core-12_21_0__sc-2d45b5-5"
47
47
  })(["display:flex;justify-content:center;align-items:center;width:24px;height:24px;min-width:24px;min-height:24px;"]);
48
48
  export var StyledChevronContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
49
49
  displayName: "StyledChevronContainer",
50
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-6"
50
+ componentId: "core-12_21_0__sc-2d45b5-6"
51
51
  })([""]);
52
52
  export var StyledIconContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
53
53
  displayName: "StyledIconContainer",
54
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-7"
54
+ componentId: "core-12_21_0__sc-2d45b5-7"
55
55
  })(["color:", ";"], function (_ref4) {
56
56
  var $isSelected = _ref4.$isSelected;
57
57
  return $isSelected ? colors.blue45 : colors.gray40;
58
58
  });
59
59
  export var StyledChevron = /*#__PURE__*/styled(ChevronRight).withConfig({
60
60
  displayName: "StyledChevron",
61
- componentId: "core-12_21_0-cdn_2__sc-2d45b5-8"
61
+ componentId: "core-12_21_0__sc-2d45b5-8"
62
62
  })(["transform:rotate(", "deg);transition:transform 150ms ease-out;"], function (_ref5) {
63
63
  var $isExpanded = _ref5.$isExpanded;
64
64
  return $isExpanded ? 90 : 0;
@@ -5,11 +5,11 @@ import { spacing } from '../_styles/spacing';
5
5
  var inputHeight = 36;
6
6
  export var StyledInput = /*#__PURE__*/styled.input.withConfig({
7
7
  displayName: "StyledInput",
8
- componentId: "core-12_21_0-cdn_2__sc-gpc39h-0"
8
+ componentId: "core-12_21_0__sc-gpc39h-0"
9
9
  })(["", " padding-right:", "px;"], getSearchInputStyles(), spacing.xxl);
10
10
  export var StyledIcon = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledIcon",
12
- componentId: "core-12_21_0-cdn_2__sc-gpc39h-1"
12
+ componentId: "core-12_21_0__sc-gpc39h-1"
13
13
  })(["align-items:center;color:", ";display:flex;height:", "px;justify-content:center;pointer-events:", ";position:absolute;right:0;top:0;width:", "px;"], function (p) {
14
14
  return p.disabled ? colors.gray70 : colors.gray45;
15
15
  }, inputHeight, function (p) {
@@ -17,6 +17,6 @@ export var StyledIcon = /*#__PURE__*/styled.div.withConfig({
17
17
  }, inputHeight);
18
18
  export var StyledTypeahead = /*#__PURE__*/styled.div.withConfig({
19
19
  displayName: "StyledTypeahead",
20
- componentId: "core-12_21_0-cdn_2__sc-gpc39h-2"
20
+ componentId: "core-12_21_0__sc-gpc39h-2"
21
21
  })(["position:relative;width:100%;"]);
22
22
  //# sourceMappingURL=Typeahead.styles.js.map
@@ -35,7 +35,7 @@ export var semiboldRules = function semiboldRules() {
35
35
  };
36
36
  export var StyledTypography = /*#__PURE__*/styled.span.withConfig({
37
37
  displayName: "StyledTypography",
38
- componentId: "core-12_21_0-cdn_2__sc-1c4583t-0"
38
+ componentId: "core-12_21_0__sc-1c4583t-0"
39
39
  })(["", " color:", ";font-style:", ";font-weight:", ";", " ", " em,i{font-style:italic;}"], function (_ref) {
40
40
  var _ref$$intent = _ref.$intent,
41
41
  $intent = _ref$$intent === void 0 ? 'body' : _ref$$intent;
@@ -5,11 +5,11 @@ import { colors } from '../_styles/colors';
5
5
  import { getTypographyIntent } from './Typography.styles';
6
6
  var StyledBodyCell = /*#__PURE__*/styled(Table.BodyCell).withConfig({
7
7
  displayName: "StyledBodyCell",
8
- componentId: "core-12_21_0-cdn_2__sc-p4v7d-0"
8
+ componentId: "core-12_21_0__sc-p4v7d-0"
9
9
  })([""]);
10
10
  var StyledTextCell = /*#__PURE__*/styled(Table.TextCell).withConfig({
11
11
  displayName: "StyledTextCell",
12
- componentId: "core-12_21_0-cdn_2__sc-p4v7d-1"
12
+ componentId: "core-12_21_0__sc-p4v7d-1"
13
13
  })(["", " color:", ";"], getTypographyIntent('body'), colors.blue50);
14
14
  function BodyCell() {
15
15
  return /*#__PURE__*/React.createElement(StyledBodyCell, {
@@ -1,9 +1,6 @@
1
1
  import type { I18njs, I18njsConfig } from '@procore/core-i18n-js';
2
- import React, { type PropsWithChildren } from 'react';
2
+ import React from 'react';
3
3
  declare type I18nConfig = Omit<I18njsConfig, 'I18n'>;
4
- declare type I18nWithCDNFlag = I18njs & {
5
- enableCDN?: boolean;
6
- };
7
4
  /**
8
5
  * @deprecated this type will no longer be supported from core-i18n-js,
9
6
  * to have a type safe Locale use TmsSupportedLocale or AllLocales from [Globalization toolkit](https://github.com/procore/globalization-toolkit)
@@ -2275,11 +2272,6 @@ export declare const coreTranslations: {
2275
2272
  emailSendErrorTitle: string;
2276
2273
  emailBodyRequiredError: string;
2277
2274
  emailContentValidationError: string;
2278
- /**
2279
- * @deprecated this type will no longer be supported from core-i18n-js,
2280
- * to have a type safe Locale use TmsSupportedLocale or AllLocales from [Globalization toolkit](https://github.com/procore/globalization-toolkit)
2281
- * @deprecatedSince 12.10.0
2282
- */
2283
2275
  emailContentDisclaimer: string;
2284
2276
  recipientSelectPlaceholder: string;
2285
2277
  emailRecipientRequiredError: string;
@@ -3180,17 +3172,6 @@ export declare const coreTranslations: {
3180
3172
  one: string;
3181
3173
  other: string;
3182
3174
  };
3183
- /**
3184
- * Hook to access the I18n context.
3185
- *
3186
- * @template Translations - An optional generic to provide type safety for translations.
3187
- * If specified, it enables typed access to the `t` and `translate` methods of the I18n instance.
3188
- * These methods will have type safe access to both the tranlsation scope as well as the interpolation variables.
3189
- * If not specified, the default I18nWithCDN instance is returned.
3190
- *
3191
- * @returns {I18nWithCDNFlag | I18njsWithTypedTranslate<Translations>} The I18n context instance,
3192
- * either with or without typed translations based on the provided generic.
3193
- */
3194
3175
  hideDetails: string;
3195
3176
  showDetails: string;
3196
3177
  errorTitle: string;
@@ -5980,12 +5961,11 @@ export declare const coreTranslations: {
5980
5961
  };
5981
5962
  };
5982
5963
  };
5983
- declare type UseI18n = I18nConfig & {
5984
- enableCDN?: boolean;
5985
- };
5986
- export declare function useI18n({ locale, translations: _translations, enableCDN, }: UseI18n): I18nWithCDNFlag;
5987
- export declare const I18nContext: React.Context<I18nWithCDNFlag>;
5988
- export declare function I18nProvider({ children, ...props }: PropsWithChildren<UseI18n>): React.JSX.Element;
5964
+ export declare function useI18n({ locale: _locale, translations: _translations, }: I18njsConfig): I18njs;
5965
+ export declare const I18nContext: React.Context<I18njs>;
5966
+ export declare function I18nProvider({ children, ...props }: I18nConfig & {
5967
+ children: React.ReactNode;
5968
+ }): React.JSX.Element;
5989
5969
  declare type DeepStringRecord = {
5990
5970
  [key: string]: string | DeepStringRecord;
5991
5971
  };
@@ -6028,10 +6008,10 @@ declare type PluralizationParams<T extends PluralizationForm> = {
6028
6008
  };
6029
6009
  declare type InterpolationOrPluralizationParams<T> = T extends PluralizationForm ? [PluralizationParams<T>] : T extends string ? InterpolationParams<T> extends never ? [ExplicitTranslateOptions?] : [InterpolationParams<T>] : [ExplicitTranslateOptions?];
6030
6010
  declare type TypedTranslate<Translations> = <P extends DotNestedKeys<Translations>>(path: P, ...args: InterpolationOrPluralizationParams<StringLiteralPathValue<Translations, P>>) => StringLiteralPathValue<Translations, P>;
6031
- declare type I18njsWithTypedTranslate<Translations> = Omit<I18nWithCDNFlag, 't' | 'translate'> & {
6011
+ declare type I18njsWithTypedTranslate<Translations> = Omit<I18njs, 't' | 'translate'> & {
6032
6012
  t: TypedTranslate<Translations>;
6033
6013
  translate: TypedTranslate<Translations>;
6034
6014
  };
6035
- export declare function useI18nContext<Translations extends DeepStringRecord | undefined = undefined>(): Translations extends undefined ? I18nWithCDNFlag : I18njsWithTypedTranslate<NonNullable<Translations>>;
6036
- export declare function useI18nContext(): I18nWithCDNFlag;
6015
+ export declare function useI18nContext<Translations extends DeepStringRecord | undefined = undefined>(): Translations extends undefined ? I18njs : I18njsWithTypedTranslate<NonNullable<Translations>>;
6016
+ export declare function useI18nContext(): I18njs;
6037
6017
  export {};
@@ -13,7 +13,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
13
13
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
14
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
15
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
- import { getFallbackList, isCDNFeatureFlagEnabled, useRequestTranslations } from '@procore/cdn-translations';
17
16
  import { createI18njs } from '@procore/core-i18n-js';
18
17
  import * as R from 'ramda';
19
18
  import React from 'react';
@@ -41,7 +40,7 @@ import { OVERWRITE_LOCALE_MAP } from './getI18nProviderLocale';
41
40
  * @deprecatedSince 12.10.0
42
41
  */
43
42
 
44
- /* Set up core translations */
43
+ /* Set up i18n-js */
45
44
  export var coreTranslations = {
46
45
  'de-DE': deDE,
47
46
  en: en,
@@ -60,6 +59,11 @@ export var coreTranslations = {
60
59
  'zh-SG': zhSG,
61
60
  'pl-PL': plPL
62
61
  };
62
+ function getValidLocale(_ref) {
63
+ var locale = _ref.locale,
64
+ translations = _ref.translations;
65
+ return locale;
66
+ }
63
67
  var FALLBACK_LOCALE_MAP = _objectSpread({
64
68
  'es-ES': 'es',
65
69
  'fr-FR': 'fr-CA'
@@ -70,59 +74,38 @@ function getTranslationFallbacks(locale) {
70
74
  }
71
75
  return ['en'];
72
76
  }
73
- function setTranslationFallbacks(I18n, isCDNEnabled) {
74
- if (isCDNEnabled === true) {
75
- I18n.locales[I18n.locale] = function () {
76
- return getFallbackList(I18n.locale);
77
- };
78
- } else {
79
- I18n.locales[I18n.locale] = function () {
80
- var fallbacks = getTranslationFallbacks(I18n.locale).filter(function (locale) {
81
- return locale !== I18n.locale;
82
- });
83
- return [I18n.locale].concat(_toConsumableArray(fallbacks));
84
- };
85
- }
77
+ function setTranslationFallbacks(I18n) {
78
+ I18n.locales[I18n.locale] = function () {
79
+ var fallbacks = getTranslationFallbacks(I18n.locale).filter(function (locale) {
80
+ return locale !== I18n.locale;
81
+ });
82
+ return [I18n.locale].concat(_toConsumableArray(fallbacks));
83
+ };
86
84
  return I18n;
87
85
  }
88
- export function useI18n(_ref) {
89
- var locale = _ref.locale,
90
- _ref$translations = _ref.translations,
91
- _translations = _ref$translations === void 0 ? {} : _ref$translations,
92
- enableCDN = _ref.enableCDN;
93
- var i18nContext = React.useContext(I18nContext);
94
- var isCDNEnabled = isCDNFeatureFlagEnabled(i18nContext, enableCDN);
95
- var coreCDNTranslations = useRequestTranslations({
96
- locale: locale !== null && locale !== void 0 ? locale : 'en',
97
- type: 'file',
98
- absolute_file_path: function absolute_file_path(locale) {
99
- return "core/packages/core-react/src/_locales/".concat(locale);
100
- }
101
- }, {
102
- en: en,
103
- pseudo: pseudo
104
- }, {
105
- oldTranslations: coreTranslations,
106
- enableCDN: isCDNEnabled
86
+ export function useI18n(_ref2) {
87
+ var _locale = _ref2.locale,
88
+ _ref2$translations = _ref2.translations,
89
+ _translations = _ref2$translations === void 0 ? {} : _ref2$translations;
90
+ var translations = R.mergeDeepLeft(_translations, coreTranslations);
91
+ var locale = getValidLocale({
92
+ locale: _locale,
93
+ translations: translations
107
94
  });
108
- var translations = R.mergeDeepLeft(_translations, coreCDNTranslations.translations);
109
95
  var I18n = createI18njs({
110
96
  locale: locale,
111
97
  translations: translations
112
98
  });
113
- var I18nWithFallbacks = setTranslationFallbacks(I18n, isCDNEnabled);
114
- I18nWithFallbacks.enableCDN = isCDNEnabled;
115
- return I18nWithFallbacks;
99
+ return setTranslationFallbacks(I18n);
116
100
  }
117
101
  export var I18nContext = /*#__PURE__*/React.createContext(createI18njs({
118
102
  locale: 'en',
119
- translations: {
120
- en: coreTranslations.en
121
- }
103
+ translations: coreTranslations // inject our translations
122
104
  }));
123
- export function I18nProvider(_ref2) {
124
- var children = _ref2.children,
125
- props = _objectWithoutProperties(_ref2, _excluded);
105
+
106
+ export function I18nProvider(_ref3) {
107
+ var children = _ref3.children,
108
+ props = _objectWithoutProperties(_ref3, _excluded);
126
109
  return /*#__PURE__*/React.createElement(I18nContext.Provider, {
127
110
  value: useI18n(props)
128
111
  }, children);
@@ -148,9 +131,9 @@ export function I18nProvider(_ref2) {
148
131
  * @template Translations - An optional generic to provide type safety for translations.
149
132
  * If specified, it enables typed access to the `t` and `translate` methods of the I18n instance.
150
133
  * These methods will have type safe access to both the tranlsation scope as well as the interpolation variables.
151
- * If not specified, the default I18nWithCDN instance is returned.
134
+ * If not specified, the default I18njs instance is returned.
152
135
  *
153
- * @returns {I18nWithCDNFlag | I18njsWithTypedTranslate<Translations>} The I18n context instance,
136
+ * @returns {I18njs | I18njsWithTypedTranslate<Translations>} The I18n context instance,
154
137
  * either with or without typed translations based on the provided generic.
155
138
  */
156
139
  export function useI18nContext() {
@@ -1 +1 @@
1
- {"version":3,"file":"I18n.js","names":["getFallbackList","isCDNFeatureFlagEnabled","useRequestTranslations","createI18njs","R","React","deDE","enAU","enCA","enGB","en","esES","es","frCA","frFR","isIS","jaJP","plPL","pseudo","ptBR","thTH","zhSG","OVERWRITE_LOCALE_MAP","coreTranslations","FALLBACK_LOCALE_MAP","_objectSpread","getTranslationFallbacks","locale","setTranslationFallbacks","I18n","isCDNEnabled","locales","fallbacks","filter","concat","_toConsumableArray","useI18n","_ref","_ref$translations","translations","_translations","enableCDN","i18nContext","useContext","I18nContext","coreCDNTranslations","type","absolute_file_path","oldTranslations","mergeDeepLeft","I18nWithFallbacks","createContext","I18nProvider","_ref2","children","props","_objectWithoutProperties","_excluded","createElement","Provider","value","useI18nContext","ctx"],"sources":["../../src/_hooks/I18n.tsx"],"sourcesContent":["import {\n getFallbackList,\n isCDNFeatureFlagEnabled,\n useRequestTranslations,\n} from '@procore/cdn-translations'\nimport type { I18njs, I18njsConfig } from '@procore/core-i18n-js'\nimport { createI18njs } from '@procore/core-i18n-js'\nimport * as R from 'ramda'\nimport React, { type PropsWithChildren } from 'react'\nimport deDE from '../_locales/de-DE.json'\nimport enAU from '../_locales/en-AU.json'\nimport enCA from '../_locales/en-CA.json'\nimport enGB from '../_locales/en-GB.json'\nimport en from '../_locales/en.json'\nimport esES from '../_locales/es-ES.json'\nimport es from '../_locales/es.json'\nimport frCA from '../_locales/fr-CA.json'\nimport frFR from '../_locales/fr-FR.json'\nimport isIS from '../_locales/is-IS.json'\nimport jaJP from '../_locales/ja-JP.json'\nimport plPL from '../_locales/pl-PL.json'\nimport pseudo from '../_locales/pseudo.json'\nimport ptBR from '../_locales/pt-BR.json'\nimport thTH from '../_locales/th-TH.json'\nimport zhSG from '../_locales/zh-SG.json'\nimport { OVERWRITE_LOCALE_MAP } from './getI18nProviderLocale'\n\ntype I18nConfig = Omit<I18njsConfig, 'I18n'>\n\ntype I18nWithCDNFlag = I18njs & {\n enableCDN?: boolean\n}\n\n/**\n * @deprecated this type will no longer be supported from core-i18n-js,\n * to have a type safe Locale use TmsSupportedLocale or AllLocales from [Globalization toolkit](https://github.com/procore/globalization-toolkit)\n * @deprecatedSince 12.10.0\n */\nexport type Locale =\n | 'de-DE'\n | 'en-AE'\n | 'en-AU'\n | 'en-CA'\n | 'en-GB'\n | 'en-SG'\n | 'en'\n | 'es-ES'\n | 'es'\n | 'fr-CA'\n | 'fr-FR'\n | 'is-IS'\n | 'ja-JP'\n | 'pt-BR'\n | 'th-TH'\n | 'zh-SG'\n | 'pseudo'\n | 'pl-PL'\n\n/* Set up core translations */\nexport const coreTranslations = {\n 'de-DE': deDE,\n en,\n 'en-AU': enAU,\n 'en-CA': enCA,\n 'en-GB': enGB,\n es,\n 'es-ES': esES,\n 'fr-CA': frCA,\n 'fr-FR': frFR,\n 'is-IS': isIS,\n 'ja-JP': jaJP,\n pseudo,\n 'pt-BR': ptBR,\n 'th-TH': thTH,\n 'zh-SG': zhSG,\n 'pl-PL': plPL,\n} as const\n\nconst FALLBACK_LOCALE_MAP: Record<string, Locale> = {\n 'es-ES': 'es',\n 'fr-FR': 'fr-CA',\n ...OVERWRITE_LOCALE_MAP,\n}\n\nfunction getTranslationFallbacks(locale: string): Locale[] {\n if (FALLBACK_LOCALE_MAP[locale]) {\n return [FALLBACK_LOCALE_MAP[locale], 'en']\n }\n\n return ['en']\n}\n\nfunction setTranslationFallbacks(\n I18n: I18nWithCDNFlag,\n isCDNEnabled: boolean | undefined\n) {\n if (isCDNEnabled === true) {\n I18n.locales[I18n.locale] = function () {\n return getFallbackList(I18n.locale)\n }\n } else {\n I18n.locales[I18n.locale] = function () {\n const fallbacks = getTranslationFallbacks(I18n.locale).filter(\n (locale) => locale !== I18n.locale\n )\n return [I18n.locale, ...fallbacks]\n }\n }\n\n return I18n\n}\n\ntype UseI18n = I18nConfig & {\n enableCDN?: boolean\n}\n\nexport function useI18n({\n locale,\n translations: _translations = {},\n enableCDN,\n}: UseI18n): I18nWithCDNFlag {\n const i18nContext: I18nWithCDNFlag | undefined = React.useContext(I18nContext)\n\n const isCDNEnabled = isCDNFeatureFlagEnabled(i18nContext, enableCDN)\n\n const coreCDNTranslations = useRequestTranslations(\n {\n locale: locale ?? 'en',\n type: 'file',\n absolute_file_path: (locale) =>\n `core/packages/core-react/src/_locales/${locale}`,\n },\n { en, pseudo },\n {\n oldTranslations: coreTranslations,\n enableCDN: isCDNEnabled,\n }\n )\n\n const translations = R.mergeDeepLeft(\n _translations,\n coreCDNTranslations.translations\n )\n\n const I18n = createI18njs({\n locale,\n translations,\n })\n\n const I18nWithFallbacks = setTranslationFallbacks(I18n, isCDNEnabled)\n\n I18nWithFallbacks.enableCDN = isCDNEnabled\n\n return I18nWithFallbacks\n}\n\nexport const I18nContext: React.Context<I18nWithCDNFlag> = React.createContext(\n createI18njs({\n locale: 'en',\n translations: { en: coreTranslations.en },\n })\n)\n\nexport function I18nProvider({\n children,\n ...props\n}: PropsWithChildren<UseI18n>) {\n return (\n <I18nContext.Provider value={useI18n(props)}>\n {children}\n </I18nContext.Provider>\n )\n}\n\n// Base type of user provider translations type\ntype DeepStringRecord = {\n [key: string]: string | DeepStringRecord\n}\n\ntype PluralizationForm = {\n zero?: string\n one: string\n other: string\n}\n\n// Type to get nested key paths with dot notation\ntype DotPrefix<T extends string> = T extends '' ? '' : `.${T}`\ntype DotNestedKeys<T> = (\n T extends string\n ? ''\n : T extends DeepStringRecord\n ? {\n [K in keyof T]: K extends string\n ? T[K] extends PluralizationForm\n ? `${K}`\n : T[K] extends DeepStringRecord\n ? `${K}${DotPrefix<DotNestedKeys<T[K]>>}`\n : `${K}`\n : never\n }[keyof T]\n : ''\n) extends infer D\n ? Extract<D, string>\n : never\n\n// Type to get the literal string type from a path\ntype StringLiteralPathValue<\n T,\n P extends string\n> = P extends `${infer K}.${infer Rest}`\n ? K extends keyof T\n ? T[K] extends PluralizationForm\n ? T[K]\n : T[K] extends DeepStringRecord\n ? StringLiteralPathValue<T[K], Rest>\n : never\n : never\n : P extends keyof T\n ? T[P] extends PluralizationForm\n ? T[P]\n : T[P] extends string\n ? T[P]\n : never\n : never\n\n// Check if a string has any interpolation variables\ntype HasInterpolation<T extends string> =\n T extends `${string}%{${string}}${string}` ? true : false\n\n// Extract interpolation variables from a string\ntype ExtractInterpolationVars<T extends string> =\n T extends `${infer _Before}%{${infer Param}}${infer After}`\n ? Param | ExtractInterpolationVars<After>\n : never\n\n// always allowed values in the interpolation object (remove [key: string]: any in favor of our strong types)\ntype ExplicitTranslateOptions = {\n [K in keyof I18n.TranslateOptions as string extends K\n ? never\n : K]: I18n.TranslateOptions[K]\n}\n\ntype InterpolationParams<T extends string> = HasInterpolation<T> extends true\n ? {\n [K in ExtractInterpolationVars<T>]: string\n } & {\n [K in keyof ExplicitTranslateOptions]?: ExplicitTranslateOptions[K]\n }\n : never\n\ntype PluralizationParams<T extends PluralizationForm> = {\n count: number\n} & (\n | (T['zero'] extends string\n ? { count: 0 } & { [K in ExtractInterpolationVars<T['zero']>]: string }\n : {})\n | (T['one'] extends string\n ? { count: 1 } & { [K in ExtractInterpolationVars<T['one']>]: string }\n : {})\n | (T['other'] extends string\n ? { count: number } & {\n [K in ExtractInterpolationVars<T['other']>]: string\n }\n : {})\n) & {\n [K in keyof ExplicitTranslateOptions]?: ExplicitTranslateOptions[K]\n }\n\ntype InterpolationOrPluralizationParams<T> = T extends PluralizationForm\n ? [PluralizationParams<T>]\n : T extends string\n ? InterpolationParams<T> extends never\n ? [ExplicitTranslateOptions?]\n : [InterpolationParams<T>]\n : [ExplicitTranslateOptions?]\n\ntype TypedTranslate<Translations> = <P extends DotNestedKeys<Translations>>(\n path: P,\n ...args: InterpolationOrPluralizationParams<\n StringLiteralPathValue<Translations, P>\n >\n) => StringLiteralPathValue<Translations, P>\n\ntype I18njsWithTypedTranslate<Translations> = Omit<\n I18nWithCDNFlag,\n 't' | 'translate'\n> & {\n t: TypedTranslate<Translations>\n translate: TypedTranslate<Translations>\n}\n\nexport function useI18nContext<\n Translations extends DeepStringRecord | undefined = undefined\n>(): Translations extends undefined\n ? I18nWithCDNFlag\n : I18njsWithTypedTranslate<NonNullable<Translations>>\n// overload for when no generic is provided\nexport function useI18nContext(): I18nWithCDNFlag\n\n/**\n * Hook to access the I18n context.\n *\n * @template Translations - An optional generic to provide type safety for translations.\n * If specified, it enables typed access to the `t` and `translate` methods of the I18n instance.\n * These methods will have type safe access to both the tranlsation scope as well as the interpolation variables.\n * If not specified, the default I18nWithCDN instance is returned.\n *\n * @returns {I18nWithCDNFlag | I18njsWithTypedTranslate<Translations>} The I18n context instance,\n * either with or without typed translations based on the provided generic.\n */\nexport function useI18nContext<\n Translations extends DeepStringRecord | undefined = undefined\n>() {\n const ctx = React.useContext(I18nContext)\n\n if (!ctx) {\n // TODO investigate a way to do warnings that won't annoy people\n // we probably need to introduce a build system to have nice dev warnings\n // console.warn()\n }\n\n // Cast to typing if user has provided a type\n return ctx as Translations extends undefined\n ? I18nWithCDNFlag\n : I18njsWithTypedTranslate<NonNullable<Translations>>\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"I18n.js","names":["createI18njs","R","React","deDE","enAU","enCA","enGB","en","esES","es","frCA","frFR","isIS","jaJP","plPL","pseudo","ptBR","thTH","zhSG","OVERWRITE_LOCALE_MAP","coreTranslations","getValidLocale","_ref","locale","translations","FALLBACK_LOCALE_MAP","_objectSpread","getTranslationFallbacks","setTranslationFallbacks","I18n","locales","fallbacks","filter","concat","_toConsumableArray","useI18n","_ref2","_locale","_ref2$translations","_translations","mergeDeepLeft","I18nContext","createContext","I18nProvider","_ref3","children","props","_objectWithoutProperties","_excluded","createElement","Provider","value","useI18nContext","ctx","useContext"],"sources":["../../src/_hooks/I18n.tsx"],"sourcesContent":["import type { I18njs, I18njsConfig } from '@procore/core-i18n-js'\nimport { createI18njs } from '@procore/core-i18n-js'\nimport * as R from 'ramda'\nimport React from 'react'\nimport deDE from '../_locales/de-DE.json'\nimport enAU from '../_locales/en-AU.json'\nimport enCA from '../_locales/en-CA.json'\nimport enGB from '../_locales/en-GB.json'\nimport en from '../_locales/en.json'\nimport esES from '../_locales/es-ES.json'\nimport es from '../_locales/es.json'\nimport frCA from '../_locales/fr-CA.json'\nimport frFR from '../_locales/fr-FR.json'\nimport isIS from '../_locales/is-IS.json'\nimport jaJP from '../_locales/ja-JP.json'\nimport plPL from '../_locales/pl-PL.json'\nimport pseudo from '../_locales/pseudo.json'\nimport ptBR from '../_locales/pt-BR.json'\nimport thTH from '../_locales/th-TH.json'\nimport zhSG from '../_locales/zh-SG.json'\nimport { OVERWRITE_LOCALE_MAP } from './getI18nProviderLocale'\n\ntype I18nConfig = Omit<I18njsConfig, 'I18n'>\n\n/**\n * @deprecated this type will no longer be supported from core-i18n-js,\n * to have a type safe Locale use TmsSupportedLocale or AllLocales from [Globalization toolkit](https://github.com/procore/globalization-toolkit)\n * @deprecatedSince 12.10.0\n */\nexport type Locale =\n | 'de-DE'\n | 'en-AE'\n | 'en-AU'\n | 'en-CA'\n | 'en-GB'\n | 'en-SG'\n | 'en'\n | 'es-ES'\n | 'es'\n | 'fr-CA'\n | 'fr-FR'\n | 'is-IS'\n | 'ja-JP'\n | 'pt-BR'\n | 'th-TH'\n | 'zh-SG'\n | 'pseudo'\n | 'pl-PL'\n\n/* Set up i18n-js */\nexport const coreTranslations = {\n 'de-DE': deDE,\n en,\n 'en-AU': enAU,\n 'en-CA': enCA,\n 'en-GB': enGB,\n es,\n 'es-ES': esES,\n 'fr-CA': frCA,\n 'fr-FR': frFR,\n 'is-IS': isIS,\n 'ja-JP': jaJP,\n pseudo,\n 'pt-BR': ptBR,\n 'th-TH': thTH,\n 'zh-SG': zhSG,\n 'pl-PL': plPL,\n} as const\n\nfunction getValidLocale({ locale, translations }: I18njsConfig) {\n return locale\n}\n\nconst FALLBACK_LOCALE_MAP: Record<string, Locale> = {\n 'es-ES': 'es',\n 'fr-FR': 'fr-CA',\n ...OVERWRITE_LOCALE_MAP,\n}\n\nfunction getTranslationFallbacks(locale: string): Locale[] {\n if (FALLBACK_LOCALE_MAP[locale]) {\n return [FALLBACK_LOCALE_MAP[locale], 'en']\n }\n\n return ['en']\n}\n\nfunction setTranslationFallbacks(I18n: I18njs) {\n I18n.locales[I18n.locale] = function () {\n const fallbacks = getTranslationFallbacks(I18n.locale).filter(\n (locale) => locale !== I18n.locale\n )\n return [I18n.locale, ...fallbacks]\n }\n\n return I18n\n}\n\nexport function useI18n({\n locale: _locale,\n translations: _translations = {},\n}: I18njsConfig): I18njs {\n const translations = R.mergeDeepLeft(_translations, coreTranslations)\n const locale = getValidLocale({ locale: _locale, translations })\n const I18n = createI18njs({\n locale,\n translations,\n })\n return setTranslationFallbacks(I18n)\n}\n\nexport const I18nContext: React.Context<I18njs> = React.createContext(\n createI18njs({\n locale: 'en',\n translations: coreTranslations, // inject our translations\n })\n)\n\nexport function I18nProvider({\n children,\n ...props\n}: I18nConfig & { children: React.ReactNode }) {\n return (\n <I18nContext.Provider value={useI18n(props)}>\n {children}\n </I18nContext.Provider>\n )\n}\n\n// Base type of user provider translations type\ntype DeepStringRecord = {\n [key: string]: string | DeepStringRecord\n}\n\ntype PluralizationForm = {\n zero?: string\n one: string\n other: string\n}\n\n// Type to get nested key paths with dot notation\ntype DotPrefix<T extends string> = T extends '' ? '' : `.${T}`\ntype DotNestedKeys<T> = (\n T extends string\n ? ''\n : T extends DeepStringRecord\n ? {\n [K in keyof T]: K extends string\n ? T[K] extends PluralizationForm\n ? `${K}`\n : T[K] extends DeepStringRecord\n ? `${K}${DotPrefix<DotNestedKeys<T[K]>>}`\n : `${K}`\n : never\n }[keyof T]\n : ''\n) extends infer D\n ? Extract<D, string>\n : never\n\n// Type to get the literal string type from a path\ntype StringLiteralPathValue<\n T,\n P extends string\n> = P extends `${infer K}.${infer Rest}`\n ? K extends keyof T\n ? T[K] extends PluralizationForm\n ? T[K]\n : T[K] extends DeepStringRecord\n ? StringLiteralPathValue<T[K], Rest>\n : never\n : never\n : P extends keyof T\n ? T[P] extends PluralizationForm\n ? T[P]\n : T[P] extends string\n ? T[P]\n : never\n : never\n\n// Check if a string has any interpolation variables\ntype HasInterpolation<T extends string> =\n T extends `${string}%{${string}}${string}` ? true : false\n\n// Extract interpolation variables from a string\ntype ExtractInterpolationVars<T extends string> =\n T extends `${infer _Before}%{${infer Param}}${infer After}`\n ? Param | ExtractInterpolationVars<After>\n : never\n\n// always allowed values in the interpolation object (remove [key: string]: any in favor of our strong types)\ntype ExplicitTranslateOptions = {\n [K in keyof I18n.TranslateOptions as string extends K\n ? never\n : K]: I18n.TranslateOptions[K]\n}\n\ntype InterpolationParams<T extends string> = HasInterpolation<T> extends true\n ? {\n [K in ExtractInterpolationVars<T>]: string\n } & {\n [K in keyof ExplicitTranslateOptions]?: ExplicitTranslateOptions[K]\n }\n : never\n\ntype PluralizationParams<T extends PluralizationForm> = {\n count: number\n} & (\n | (T['zero'] extends string\n ? { count: 0 } & { [K in ExtractInterpolationVars<T['zero']>]: string }\n : {})\n | (T['one'] extends string\n ? { count: 1 } & { [K in ExtractInterpolationVars<T['one']>]: string }\n : {})\n | (T['other'] extends string\n ? { count: number } & {\n [K in ExtractInterpolationVars<T['other']>]: string\n }\n : {})\n) & {\n [K in keyof ExplicitTranslateOptions]?: ExplicitTranslateOptions[K]\n }\n\ntype InterpolationOrPluralizationParams<T> = T extends PluralizationForm\n ? [PluralizationParams<T>]\n : T extends string\n ? InterpolationParams<T> extends never\n ? [ExplicitTranslateOptions?]\n : [InterpolationParams<T>]\n : [ExplicitTranslateOptions?]\n\ntype TypedTranslate<Translations> = <P extends DotNestedKeys<Translations>>(\n path: P,\n ...args: InterpolationOrPluralizationParams<\n StringLiteralPathValue<Translations, P>\n >\n) => StringLiteralPathValue<Translations, P>\n\ntype I18njsWithTypedTranslate<Translations> = Omit<\n I18njs,\n 't' | 'translate'\n> & {\n t: TypedTranslate<Translations>\n translate: TypedTranslate<Translations>\n}\n\nexport function useI18nContext<\n Translations extends DeepStringRecord | undefined = undefined\n>(): Translations extends undefined\n ? I18njs\n : I18njsWithTypedTranslate<NonNullable<Translations>>\n// overload for when no generic is provided\nexport function useI18nContext(): I18njs\n\n/**\n * Hook to access the I18n context.\n *\n * @template Translations - An optional generic to provide type safety for translations.\n * If specified, it enables typed access to the `t` and `translate` methods of the I18n instance.\n * These methods will have type safe access to both the tranlsation scope as well as the interpolation variables.\n * If not specified, the default I18njs instance is returned.\n *\n * @returns {I18njs | I18njsWithTypedTranslate<Translations>} The I18n context instance,\n * either with or without typed translations based on the provided generic.\n */\nexport function useI18nContext<\n Translations extends DeepStringRecord | undefined = undefined\n>() {\n const ctx = React.useContext(I18nContext)\n\n if (!ctx) {\n // TODO investigate a way to do warnings that won't annoy people\n // we probably need to introduce a build system to have nice dev warnings\n // console.warn()\n }\n\n // Cast to typing if user has provided a type\n return ctx as Translations extends undefined\n ? I18njs\n : I18njsWithTypedTranslate<NonNullable<Translations>>\n}\n"],"mappings":"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"}