@procore/core-react 12.39.0 → 12.41.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 (255) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.d.ts +1 -1
  5. package/dist/AvatarStack/AvatarStack.js +29 -6
  6. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  7. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  8. package/dist/AvatarStack/AvatarStack.types.d.ts +7 -0
  9. package/dist/AvatarStack/AvatarStack.types.js.map +1 -1
  10. package/dist/Badge/Badge.styles.js +2 -2
  11. package/dist/BadgePill/BadgePill.styles.js +4 -4
  12. package/dist/Banner/Banner.styles.js +10 -10
  13. package/dist/Box/Box.styles.js +1 -1
  14. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  15. package/dist/Button/Button.styles.js +5 -5
  16. package/dist/Calendar/Calendar.styles.js +9 -9
  17. package/dist/Card/Card.styles.js +1 -1
  18. package/dist/Checkbox/Checkbox.styles.js +6 -6
  19. package/dist/ContactItem/ContactItem.styles.js +5 -5
  20. package/dist/Content/Content.styles.js +2 -2
  21. package/dist/DateInput/DateInput.styles.js +6 -6
  22. package/dist/DetailPage/DetailPage.styles.js +7 -7
  23. package/dist/Dropdown/Dropdown.styles.js +3 -3
  24. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  25. package/dist/Dropzone/Dropzone.js +1 -1
  26. package/dist/Dropzone/Dropzone.styles.js +10 -10
  27. package/dist/Dropzone/Dropzone.styles.js.map +1 -1
  28. package/dist/EmptyState/EmptyState.styles.js +6 -6
  29. package/dist/Field/Field.styles.js +3 -3
  30. package/dist/FileList/FileList.styles.js +3 -3
  31. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  32. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  33. package/dist/FileSelect/FileSelect.d.ts +8 -15
  34. package/dist/FileSelect/FileSelect.js +8 -15
  35. package/dist/FileSelect/FileSelect.js.map +1 -1
  36. package/dist/FileSelect/FileSelect.styles.js +2 -2
  37. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  38. package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +8 -0
  39. package/dist/FileSelect/FileTokenList/FileTokenList.js +9 -0
  40. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  41. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +3 -3
  42. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js.map +1 -1
  43. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  44. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  45. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  46. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  47. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  48. package/dist/FileToken/FileToken.js +6 -11
  49. package/dist/FileToken/FileToken.js.map +1 -1
  50. package/dist/FileToken/FileToken.styles.d.ts +2 -0
  51. package/dist/FileToken/FileToken.styles.js +14 -4
  52. package/dist/FileToken/FileToken.styles.js.map +1 -1
  53. package/dist/FilterToken/FilterToken.styles.js +5 -5
  54. package/dist/FlexList/FlexList.styles.js +1 -1
  55. package/dist/Form/Form.styles.js +13 -13
  56. package/dist/Form/StyledFormikForm.styles.js +2 -2
  57. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  58. package/dist/Grid/Grid.styles.js +2 -2
  59. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  60. package/dist/Input/Input.styles.js +1 -1
  61. package/dist/Link/Link.styles.js +1 -1
  62. package/dist/ListPage/ListPage.styles.js +8 -8
  63. package/dist/Loader/Loader.styles.js +2 -2
  64. package/dist/MenuImperative/MenuImperative.styles.js +11 -11
  65. package/dist/Modal/Modal.styles.js +13 -13
  66. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  67. package/dist/NextMenu/NextMenu.styles.js +3 -3
  68. package/dist/Notation/Notation.js +1 -1
  69. package/dist/NumberInput/NumberInput.styles.js +7 -7
  70. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  71. package/dist/PageLayout/PageLayout.styles.js +16 -16
  72. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  73. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  74. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  75. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  76. package/dist/Pagination/Pagination.styles.js +5 -5
  77. package/dist/Panel/Panel.d.ts +1 -2
  78. package/dist/Panel/Panel.js +27 -49
  79. package/dist/Panel/Panel.js.map +1 -1
  80. package/dist/Panel/Panel.styles.js +13 -13
  81. package/dist/Panel/Panel.styles.js.map +1 -1
  82. package/dist/Panel/Panel.types.d.ts +0 -14
  83. package/dist/Panel/Panel.types.js.map +1 -1
  84. package/dist/Pill/Pill.styles.js +3 -3
  85. package/dist/PillSelect/PillSelect.d.ts +2 -1
  86. package/dist/PillSelect/PillSelect.js +59 -41
  87. package/dist/PillSelect/PillSelect.js.map +1 -1
  88. package/dist/PillSelect/PillSelect.styles.js +4 -4
  89. package/dist/Popover/Popover.styles.js +2 -2
  90. package/dist/Portal/Portal.styles.js +1 -1
  91. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  92. package/dist/RadioButton/RadioButton.styles.js +3 -3
  93. package/dist/Required/Required.styles.js +3 -3
  94. package/dist/Search/Search.styles.js +5 -5
  95. package/dist/Section/Section.js +0 -1
  96. package/dist/Section/Section.js.map +1 -1
  97. package/dist/Section/Section.styles.js +7 -7
  98. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  99. package/dist/Select/Select.d.ts +2 -0
  100. package/dist/Select/Select.js +108 -79
  101. package/dist/Select/Select.js.map +1 -1
  102. package/dist/Select/Select.styles.js +8 -8
  103. package/dist/Semantic/Semantic.styles.js +9 -9
  104. package/dist/Slider/Slider.styles.js +5 -5
  105. package/dist/Spinner/Spinner.styles.js +7 -7
  106. package/dist/SplitViewCard/SplitViewCard.styles.js +10 -10
  107. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  108. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  109. package/dist/SuperSelect/SuperSelect.styles.js +38 -38
  110. package/dist/Switch/Switch.styles.js +4 -4
  111. package/dist/Table/Table.styles.js +28 -28
  112. package/dist/Table/Table.types.d.ts +5 -2
  113. package/dist/Table/Table.types.js.map +1 -1
  114. package/dist/TableShelf/TableShelf.styles.js +5 -5
  115. package/dist/Tabs/Tabs.js +23 -9
  116. package/dist/Tabs/Tabs.js.map +1 -1
  117. package/dist/Tabs/Tabs.styles.d.ts +2 -2
  118. package/dist/Tabs/Tabs.styles.js +26 -26
  119. package/dist/Tabs/Tabs.styles.js.map +1 -1
  120. package/dist/Tabs/Tabs.types.d.ts +6 -0
  121. package/dist/Tabs/Tabs.types.js.map +1 -1
  122. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  123. package/dist/TextArea/TextArea.styles.js +1 -1
  124. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  125. package/dist/Thumbnail/Thumbnail.js +126 -46
  126. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  127. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  128. package/dist/Thumbnail/Thumbnail.types.d.ts +12 -0
  129. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  130. package/dist/Thumbnail/Thumbnail.utils.d.ts +2 -0
  131. package/dist/Thumbnail/Thumbnail.utils.js +6 -0
  132. package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
  133. package/dist/Thumbnail/ThumbnailCaption.js +45 -52
  134. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  135. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  136. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  137. package/dist/Tile/Tile.styles.js +8 -8
  138. package/dist/Title/Title.styles.js +7 -7
  139. package/dist/Toast/Toast.styles.js +3 -3
  140. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  141. package/dist/Token/Token.styles.js +3 -3
  142. package/dist/ToolHeader/ToolHeader.js +3 -1
  143. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  144. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  145. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  146. package/dist/Tooltip/Tooltip.styles.js +3 -3
  147. package/dist/Tree/Tree.js +1 -1
  148. package/dist/Tree/Tree.styles.js +10 -10
  149. package/dist/Typeahead/Typeahead.styles.js +3 -3
  150. package/dist/Typography/Typography.styles.js +1 -1
  151. package/dist/Typography/Typography.table.story.js +2 -2
  152. package/dist/_hooks/I18n.d.ts +25 -0
  153. package/dist/_locales/de-DE.json +2 -1
  154. package/dist/_locales/en-AU.json +2 -1
  155. package/dist/_locales/en-CA.json +2 -1
  156. package/dist/_locales/en-GB.json +2 -1
  157. package/dist/_locales/en.json +5 -1
  158. package/dist/_locales/es-ES.json +2 -1
  159. package/dist/_locales/es.json +2 -1
  160. package/dist/_locales/fr-CA.json +2 -1
  161. package/dist/_locales/fr-FR.json +2 -1
  162. package/dist/_locales/is-IS.json +2 -1
  163. package/dist/_locales/it-IT.json +2 -1
  164. package/dist/_locales/ja-JP.json +2 -1
  165. package/dist/_locales/pl-PL.json +2 -1
  166. package/dist/_locales/pseudo.json +5 -1
  167. package/dist/_locales/pt-BR.json +2 -1
  168. package/dist/_locales/pt-PT.json +4 -3
  169. package/dist/_locales/th-TH.json +2 -1
  170. package/dist/_locales/zh-SG.json +2 -1
  171. package/dist/_locales/zh-TW.json +2 -1
  172. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  173. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  174. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  175. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  176. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +34 -24
  177. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  178. package/dist/_typedoc/Banner/Banner.types.json +15 -15
  179. package/dist/_typedoc/Box/Box.types.json +68 -68
  180. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  181. package/dist/_typedoc/Button/Button.types.json +13 -13
  182. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  183. package/dist/_typedoc/Card/Card.types.json +6 -6
  184. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  185. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  186. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  187. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  188. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  189. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  190. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
  191. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  192. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  193. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  194. package/dist/_typedoc/FileSelect/FileSelect.json +3 -3
  195. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  196. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  197. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  198. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  199. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  200. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  201. package/dist/_typedoc/Form/Form.types.json +760 -760
  202. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  203. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  204. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  205. package/dist/_typedoc/Input/Input.types.json +2 -2
  206. package/dist/_typedoc/Link/Link.types.json +1 -1
  207. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  208. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  209. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
  210. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  211. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  212. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  213. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  214. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  215. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  216. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  217. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  218. package/dist/_typedoc/Panel/Panel.types.json +27 -63
  219. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  220. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  221. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  222. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  223. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  224. package/dist/_typedoc/Required/Required.types.json +5 -5
  225. package/dist/_typedoc/Search/Search.types.json +18 -18
  226. package/dist/_typedoc/Section/Section.types.json +15 -15
  227. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  228. package/dist/_typedoc/Select/Select.types.json +67 -67
  229. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  230. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  231. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  232. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  233. package/dist/_typedoc/Table/Table.types.json +102 -102
  234. package/dist/_typedoc/Tabs/Tabs.types.json +30 -20
  235. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  236. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  237. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  238. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  239. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  240. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  241. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  242. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  243. package/dist/_typedoc/Title/Title.types.json +1 -1
  244. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  245. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  246. package/dist/_typedoc/Token/Token.types.json +7 -7
  247. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  248. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  249. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  250. package/dist/_typedoc/Tree/Tree.types.json +88 -88
  251. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  252. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  253. package/dist/_typedoc/_utils/types.json +3 -3
  254. package/dist/_typedoc/deprecations.json +1 -1
  255. package/package.json +3 -3
@@ -31,20 +31,6 @@ export interface PanelHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
31
31
  */
32
32
  onClose?: () => void;
33
33
  }
34
- export interface PanelTitleTooltipProps {
35
- /**
36
- * @since 10.19.0
37
- */
38
- children: React.ReactNode;
39
- /**
40
- * @since 10.19.0
41
- */
42
- isVisible: boolean;
43
- /**
44
- * @since 10.19.0
45
- */
46
- overlay: React.ReactNode;
47
- }
48
34
  export interface PanelHeaderActionProps extends ButtonProps {
49
35
  /**
50
36
  * Tooltip/Overflow menu label text.
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.types.js","names":[],"sources":["../../src/Panel/Panel.types.ts"],"sourcesContent":["import type { ButtonProps } from '../Button/Button.types'\nimport type { SectionProps } from '../Section/Section.types'\n\nexport interface PanelQaTags {\n /**\n * @since 10.19.0\n */\n moreIcon?: string\n /**\n * @since 10.19.0\n */\n title?: string\n}\n\nexport interface PanelProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * @a11y `role='region'` should be labelled. It uses the panel's title as a label by default.\n * This is an optional prop to specify a custom label if needed.\n * @since 12.24.0\n */\n 'aria-labelledby'?: string\n}\n\nexport interface PanelHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Controls visibility and behavior for the \"chevron-left\" icon on the left\n * side of the title.\n * @since 10.19.0\n */\n onClickBack?: () => void\n /**\n * @since 10.19.0\n */\n onClose?: () => void\n}\n\nexport interface PanelTitleTooltipProps {\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n /**\n * @since 10.19.0\n */\n isVisible: boolean\n /**\n * @since 10.19.0\n */\n overlay: React.ReactNode\n}\nexport interface PanelHeaderActionProps extends ButtonProps {\n /**\n * Tooltip/Overflow menu label text.\n * @since 10.19.0\n * */\n title: string\n}\n\nexport interface PanelBodyProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Applies the gray secondary background color.\n * @since 10.19.0\n */\n secondaryBgColor?: boolean\n}\n\nexport interface PanelContextShape {\n /**\n * @since 12.24.0\n */\n ariaLabelledBy?: string\n /**\n * @since 12.11.2\n */\n isScrolling: boolean\n /**\n * @since 12.11.2\n * */\n setIsScrolling: (value: boolean) => void\n}\n\nexport interface PanelSectionProps extends SectionProps {}\n"],"mappings":""}
1
+ {"version":3,"file":"Panel.types.js","names":[],"sources":["../../src/Panel/Panel.types.ts"],"sourcesContent":["import type { ButtonProps } from '../Button/Button.types'\nimport type { SectionProps } from '../Section/Section.types'\n\nexport interface PanelQaTags {\n /**\n * @since 10.19.0\n */\n moreIcon?: string\n /**\n * @since 10.19.0\n */\n title?: string\n}\n\nexport interface PanelProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * @a11y `role='region'` should be labelled. It uses the panel's title as a label by default.\n * This is an optional prop to specify a custom label if needed.\n * @since 12.24.0\n */\n 'aria-labelledby'?: string\n}\n\nexport interface PanelHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Controls visibility and behavior for the \"chevron-left\" icon on the left\n * side of the title.\n * @since 10.19.0\n */\n onClickBack?: () => void\n /**\n * @since 10.19.0\n */\n onClose?: () => void\n}\n\nexport interface PanelHeaderActionProps extends ButtonProps {\n /**\n * Tooltip/Overflow menu label text.\n * @since 10.19.0\n * */\n title: string\n}\n\nexport interface PanelBodyProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Applies the gray secondary background color.\n * @since 10.19.0\n */\n secondaryBgColor?: boolean\n}\n\nexport interface PanelContextShape {\n /**\n * @since 12.24.0\n */\n ariaLabelledBy?: string\n /**\n * @since 12.11.2\n */\n isScrolling: boolean\n /**\n * @since 12.11.2\n * */\n setIsScrolling: (value: boolean) => void\n}\n\nexport interface PanelSectionProps extends SectionProps {}\n"],"mappings":""}
@@ -6,18 +6,18 @@ import { PillColorPalets } from './Pill.colorPalette';
6
6
  var pillButtonSize = 16;
7
7
  export var StyledPill = /*#__PURE__*/styled.span.withConfig({
8
8
  displayName: "StyledPill",
9
- componentId: "core-12_39_0__sc-99e1t5-0"
9
+ componentId: "core-12_41_0__sc-99e1t5-0"
10
10
  })(["", " display:inline-block;padding:1px ", "px;border:1px solid;border-radius:10px;font-weight:600;& + &{margin-left:", "px;}", ""], getTypographyIntent('small'), spacing.sm, spacing.xs, function (_ref) {
11
11
  var $color = _ref.$color;
12
12
  return css(["background-color:", ";border-color:", ";color:", ";"], PillColorPalets[$color].backgroundColor, PillColorPalets[$color].borderColor, PillColorPalets[$color].color);
13
13
  });
14
14
  export var StyledRemove = /*#__PURE__*/styled(Clear).withConfig({
15
15
  displayName: "StyledRemove",
16
- componentId: "core-12_39_0__sc-99e1t5-1"
16
+ componentId: "core-12_41_0__sc-99e1t5-1"
17
17
  })(["border-radius:100%;cursor:pointer;flex:0 0 auto;height:", "px;width:", "px;vertical-align:top;"], pillButtonSize, pillButtonSize);
18
18
  export var StyledRemoveButton = /*#__PURE__*/styled.button.withConfig({
19
19
  displayName: "StyledRemoveButton",
20
- componentId: "core-12_39_0__sc-99e1t5-2"
20
+ componentId: "core-12_41_0__sc-99e1t5-2"
21
21
  })(["border:0;padding:0;border-radius:100%;margin:0 -", "px 0 ", "px;color:inherit;", ""], pillButtonSize / 2 - spacing.xxs, spacing.xxs, function (_ref2) {
22
22
  var $color = _ref2.$color;
23
23
  return css(["&:hover{background:", ";color:", ";}"], PillColorPalets[$color].color, PillColorPalets[$color].backgroundColor);
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
+ import type { PillColor } from '../Pill/Pill.types';
2
3
  import type { PillOption, PillSelectProps } from './PillSelect.types';
3
- export declare function defaultGetColor(option: PillOption): import("..").PillColor;
4
+ export declare function defaultGetColor(option: PillOption): PillColor;
4
5
  /**
5
6
 
6
7
  Pill Selects are used when you need a user to select between one of several
@@ -12,7 +12,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
12
12
  import { Check } from '@procore/core-icons/dist';
13
13
  import React from 'react';
14
14
  import { Pill } from '../Pill/Pill';
15
- import { Select } from '../Select/Select';
15
+ import { Select, useSelectButtonFocused } from '../Select/Select';
16
16
  import { Tooltip } from '../Tooltip/Tooltip';
17
17
  import { OverflowObserver } from '../_hooks/OverflowObserver';
18
18
  import { PillSelectCheckedContainer, PillSelectLabel, PillSelectLabelWrapper, PillSelectOptionWrapper } from './PillSelect.styles';
@@ -52,6 +52,27 @@ var PillSelectOptGroup = /*#__PURE__*/React.forwardRef(function PillSelectOptGro
52
52
  ref: ref
53
53
  }));
54
54
  });
55
+ function PillSelectOverflowContent(_ref2) {
56
+ var isOverflowing = _ref2.isOverflowing,
57
+ overflowRef = _ref2.overflowRef,
58
+ color = _ref2.color,
59
+ label = _ref2.label,
60
+ disabled = _ref2.disabled,
61
+ isOpened = _ref2.isOpened;
62
+ var isFocused = useSelectButtonFocused();
63
+ var pill = /*#__PURE__*/React.createElement(PillSelectLabel, {
64
+ color: color,
65
+ ref: overflowRef
66
+ }, label);
67
+ var showTooltip = isOverflowing && !isOpened;
68
+ return /*#__PURE__*/React.createElement(PillSelectLabelWrapper, {
69
+ disabled: disabled
70
+ }, showTooltip ? /*#__PURE__*/React.createElement(Tooltip, {
71
+ key: isFocused ? 'focused' : 'hover-only',
72
+ trigger: isFocused ? 'always' : 'hover',
73
+ overlay: label
74
+ }, pill) : pill);
75
+ }
55
76
 
56
77
  /**
57
78
 
@@ -66,28 +87,28 @@ var PillSelectOptGroup = /*#__PURE__*/React.forwardRef(function PillSelectOptGro
66
87
  @see [Design Guidelines](https://design.procore.com/pill-select)
67
88
 
68
89
  */
69
- export var PillSelect = /*#__PURE__*/React.forwardRef(function PillSelect(_ref2, ref) {
70
- var afterHide_ = _ref2.afterHide,
71
- afterShow_ = _ref2.afterShow,
72
- _ref2$getColor = _ref2.getColor,
73
- getColor = _ref2$getColor === void 0 ? defaultGetColor : _ref2$getColor,
74
- _ref2$getGroup = _ref2.getGroup,
75
- getGroup = _ref2$getGroup === void 0 ? defaultGetGroup : _ref2$getGroup,
76
- _ref2$getId = _ref2.getId,
77
- getId = _ref2$getId === void 0 ? defaultGetId : _ref2$getId,
78
- _ref2$getLabel = _ref2.getLabel,
79
- getLabel = _ref2$getLabel === void 0 ? defaultGetLabel : _ref2$getLabel,
80
- _ref2$getSuggested = _ref2.getSuggested,
81
- getSuggested = _ref2$getSuggested === void 0 ? defaultGetSuggested : _ref2$getSuggested,
82
- _ref2$groupGetId = _ref2.groupGetId,
83
- groupGetId = _ref2$groupGetId === void 0 ? defaultGetId : _ref2$groupGetId,
84
- _ref2$groupGetLabel = _ref2.groupGetLabel,
85
- groupGetLabel = _ref2$groupGetLabel === void 0 ? defaultGetLabel : _ref2$groupGetLabel,
86
- optgroups = _ref2.optgroups,
87
- _ref2$options = _ref2.options,
88
- options = _ref2$options === void 0 ? emptyArr : _ref2$options,
89
- value = _ref2.value,
90
- props = _objectWithoutProperties(_ref2, _excluded2);
90
+ export var PillSelect = /*#__PURE__*/React.forwardRef(function PillSelect(_ref3, ref) {
91
+ var afterHide_ = _ref3.afterHide,
92
+ afterShow_ = _ref3.afterShow,
93
+ _ref3$getColor = _ref3.getColor,
94
+ getColor = _ref3$getColor === void 0 ? defaultGetColor : _ref3$getColor,
95
+ _ref3$getGroup = _ref3.getGroup,
96
+ getGroup = _ref3$getGroup === void 0 ? defaultGetGroup : _ref3$getGroup,
97
+ _ref3$getId = _ref3.getId,
98
+ getId = _ref3$getId === void 0 ? defaultGetId : _ref3$getId,
99
+ _ref3$getLabel = _ref3.getLabel,
100
+ getLabel = _ref3$getLabel === void 0 ? defaultGetLabel : _ref3$getLabel,
101
+ _ref3$getSuggested = _ref3.getSuggested,
102
+ getSuggested = _ref3$getSuggested === void 0 ? defaultGetSuggested : _ref3$getSuggested,
103
+ _ref3$groupGetId = _ref3.groupGetId,
104
+ groupGetId = _ref3$groupGetId === void 0 ? defaultGetId : _ref3$groupGetId,
105
+ _ref3$groupGetLabel = _ref3.groupGetLabel,
106
+ groupGetLabel = _ref3$groupGetLabel === void 0 ? defaultGetLabel : _ref3$groupGetLabel,
107
+ optgroups = _ref3.optgroups,
108
+ _ref3$options = _ref3.options,
109
+ options = _ref3$options === void 0 ? emptyArr : _ref3$options,
110
+ value = _ref3.value,
111
+ props = _objectWithoutProperties(_ref3, _excluded2);
91
112
  var _React$useMemo = React.useMemo(function () {
92
113
  if (!value) {
93
114
  return {};
@@ -109,8 +130,8 @@ export var PillSelect = /*#__PURE__*/React.forwardRef(function PillSelect(_ref2,
109
130
  return getGroup(option) === groupGetId(optgroup);
110
131
  })
111
132
  };
112
- }).filter(function (_ref3) {
113
- var options = _ref3.options;
133
+ }).filter(function (_ref4) {
134
+ var options = _ref4.options;
114
135
  return options.length;
115
136
  });
116
137
  }, [options, optgroups, groupGetId, getGroup]);
@@ -129,26 +150,23 @@ export var PillSelect = /*#__PURE__*/React.forwardRef(function PillSelect(_ref2,
129
150
  return /*#__PURE__*/React.createElement(Select, _extends({
130
151
  afterHide: afterHide,
131
152
  afterShow: afterShow,
132
- label: label ? /*#__PURE__*/React.createElement(OverflowObserver, null, function (_ref4) {
133
- var isOverflowing = _ref4.isOverflowing,
134
- ref = _ref4.ref;
135
- var pill = /*#__PURE__*/React.createElement(PillSelectLabel, {
153
+ label: label ? /*#__PURE__*/React.createElement(OverflowObserver, null, function (_ref5) {
154
+ var isOverflowing = _ref5.isOverflowing,
155
+ ref = _ref5.ref;
156
+ return /*#__PURE__*/React.createElement(PillSelectOverflowContent, {
157
+ isOverflowing: isOverflowing,
158
+ overflowRef: ref,
136
159
  color: color,
137
- ref: ref
138
- }, label);
139
- var showTooltip = isOverflowing && !isOpened;
140
- return /*#__PURE__*/React.createElement(PillSelectLabelWrapper, {
141
- disabled: props.disabled
142
- }, showTooltip ? /*#__PURE__*/React.createElement(Tooltip, {
143
- trigger: "hover",
144
- overlay: label
145
- }, pill) : pill);
160
+ label: label,
161
+ disabled: props.disabled,
162
+ isOpened: isOpened
163
+ });
146
164
  }) : null
147
165
  }, props, {
148
166
  ref: ref
149
- }), optionsByGroup ? optionsByGroup.map(function (_ref5) {
150
- var optgroup = _ref5.optgroup,
151
- options = _ref5.options;
167
+ }), optionsByGroup ? optionsByGroup.map(function (_ref6) {
168
+ var optgroup = _ref6.optgroup,
169
+ options = _ref6.options;
152
170
  return /*#__PURE__*/React.createElement(React.Fragment, {
153
171
  key: groupGetId(optgroup)
154
172
  }, /*#__PURE__*/React.createElement(PillSelectOptGroup, {
@@ -1 +1 @@
1
- {"version":3,"file":"PillSelect.js","names":["Check","React","Pill","Select","Tooltip","OverflowObserver","PillSelectCheckedContainer","PillSelectLabel","PillSelectLabelWrapper","PillSelectOptionWrapper","emptyArr","defaultGetId","option","id","defaultGetLabel","label","defaultGetGroup","groupId","defaultGetSuggested","suggested","defaultGetColor","color","PillSelectOption","forwardRef","_ref","ref","selected","props","_objectWithoutProperties","_excluded","createElement","Option","_extends","size","PillSelectOptGroup","OptGroup","PillSelect","_ref2","afterHide_","afterHide","afterShow_","afterShow","_ref2$getColor","getColor","_ref2$getGroup","getGroup","_ref2$getId","getId","_ref2$getLabel","getLabel","_ref2$getSuggested","getSuggested","_ref2$groupGetId","groupGetId","_ref2$groupGetLabel","groupGetLabel","optgroups","_ref2$options","options","value","_excluded2","_React$useMemo","useMemo","optionsByGroup","map","optgroup","filter","_ref3","length","_React$useState","useState","_React$useState2","_slicedToArray","isOpened","setIsOpened","useCallback","_ref4","isOverflowing","pill","showTooltip","disabled","trigger","overlay","_ref5","Fragment","key","displayName"],"sources":["../../src/PillSelect/PillSelect.tsx"],"sourcesContent":["import { Check } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Pill } from '../Pill/Pill'\nimport { Select } from '../Select/Select'\nimport type { SelectOptGroupProps } from '../Select/Select.types'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { OverflowObserver } from '../_hooks/OverflowObserver'\nimport {\n PillSelectCheckedContainer,\n PillSelectLabel,\n PillSelectLabelWrapper,\n PillSelectOptionWrapper,\n} from './PillSelect.styles'\nimport type {\n PillOptGroup,\n PillOption,\n PillOptionProps,\n PillSelectProps,\n} from './PillSelect.types'\n\nconst emptyArr: Array<any> = []\n\nfunction defaultGetId(option: PillOption | PillOptGroup) {\n return option.id\n}\n\nfunction defaultGetLabel(option: PillOption | PillOptGroup) {\n return option.label\n}\n\nfunction defaultGetGroup(option: PillOption) {\n return option.groupId\n}\n\nfunction defaultGetSuggested(option: PillOption) {\n return option.suggested\n}\n\nexport function defaultGetColor(option: PillOption) {\n return option.color\n}\n\nconst PillSelectOption = React.forwardRef<HTMLDivElement, PillOptionProps>(\n function PillSelectOption({ color, label, selected, ...props }, ref) {\n return (\n <Select.Option selected={selected} {...props} ref={ref}>\n <PillSelectOptionWrapper>\n <Pill color={color}>{label}</Pill>\n <PillSelectCheckedContainer>\n {selected && <Check size=\"sm\" />}\n </PillSelectCheckedContainer>\n </PillSelectOptionWrapper>\n </Select.Option>\n )\n }\n)\n\nconst PillSelectOptGroup = React.forwardRef<\n HTMLDivElement,\n SelectOptGroupProps\n>(function PillSelectOptGroup(props, ref) {\n return <Select.OptGroup {...props} ref={ref} />\n})\n\n/**\n\n Pill Selects are used when you need a user to select between one of several\n options that are shown as pills. Often this will be a status, such as marking\n an item “closed”, “draft”, etc.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-pillselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/pill-select)\n\n */\nexport const PillSelect = React.forwardRef<\n HTMLDivElement,\n PillSelectProps<any, any>\n>(function PillSelect(\n {\n afterHide: afterHide_,\n afterShow: afterShow_,\n getColor = defaultGetColor,\n getGroup = defaultGetGroup,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getSuggested = defaultGetSuggested,\n groupGetId = defaultGetId,\n groupGetLabel = defaultGetLabel,\n optgroups,\n options = emptyArr,\n value,\n ...props\n },\n ref\n) {\n const { color, id, label } = React.useMemo(() => {\n if (!value) {\n return {}\n }\n return {\n color: getColor(value),\n id: getId(value),\n label: getLabel(value),\n }\n }, [getColor, getId, getLabel, value])\n\n const optionsByGroup = React.useMemo(\n () =>\n optgroups\n ?.map((optgroup) => ({\n optgroup,\n options: options.filter(\n (option) => getGroup(option) === groupGetId(optgroup)\n ),\n }))\n .filter(({ options }) => options.length),\n [options, optgroups, groupGetId, getGroup]\n )\n\n const [isOpened, setIsOpened] = React.useState(false)\n\n const afterShow = React.useCallback(() => {\n setIsOpened(true)\n afterShow_?.()\n }, [afterShow_])\n\n const afterHide = React.useCallback(() => {\n setIsOpened(false)\n afterHide_?.()\n }, [afterHide_])\n\n return (\n <Select\n afterHide={afterHide}\n afterShow={afterShow}\n label={\n label ? (\n <OverflowObserver>\n {({ isOverflowing, ref }) => {\n const pill = (\n <PillSelectLabel color={color} ref={ref}>\n {label}\n </PillSelectLabel>\n )\n\n const showTooltip = isOverflowing && !isOpened\n\n return (\n <PillSelectLabelWrapper disabled={props.disabled}>\n {showTooltip ? (\n <Tooltip trigger=\"hover\" overlay={label}>\n {pill}\n </Tooltip>\n ) : (\n pill\n )}\n </PillSelectLabelWrapper>\n )\n }}\n </OverflowObserver>\n ) : null\n }\n {...props}\n ref={ref}\n >\n {optionsByGroup ? (\n optionsByGroup.map(({ optgroup, options }) => (\n <React.Fragment key={groupGetId(optgroup)}>\n <PillSelectOptGroup\n key={groupGetId(optgroup)}\n label={groupGetLabel(optgroup)}\n >\n {options.map((option) => (\n <PillSelectOption\n key={getId(option)}\n color={getColor(option)}\n label={getLabel(option)}\n selected={getId(option) === id}\n suggested={getSuggested(option)}\n value={option}\n />\n ))}\n </PillSelectOptGroup>\n </React.Fragment>\n ))\n ) : (\n <>\n {options.map((option) => (\n <PillSelectOption\n key={getId(option)}\n color={getColor(option)}\n label={getLabel(option)}\n selected={getId(option) === id}\n suggested={getSuggested(option)}\n value={option}\n />\n ))}\n </>\n )}\n </Select>\n )\n})\n\nPillSelect.displayName = 'PillSelect'\n"],"mappings":"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"}
1
+ {"version":3,"file":"PillSelect.js","names":["Check","React","Pill","Select","useSelectButtonFocused","Tooltip","OverflowObserver","PillSelectCheckedContainer","PillSelectLabel","PillSelectLabelWrapper","PillSelectOptionWrapper","emptyArr","defaultGetId","option","id","defaultGetLabel","label","defaultGetGroup","groupId","defaultGetSuggested","suggested","defaultGetColor","color","PillSelectOption","forwardRef","_ref","ref","selected","props","_objectWithoutProperties","_excluded","createElement","Option","_extends","size","PillSelectOptGroup","OptGroup","PillSelectOverflowContent","_ref2","isOverflowing","overflowRef","disabled","isOpened","isFocused","pill","showTooltip","key","trigger","overlay","PillSelect","_ref3","afterHide_","afterHide","afterShow_","afterShow","_ref3$getColor","getColor","_ref3$getGroup","getGroup","_ref3$getId","getId","_ref3$getLabel","getLabel","_ref3$getSuggested","getSuggested","_ref3$groupGetId","groupGetId","_ref3$groupGetLabel","groupGetLabel","optgroups","_ref3$options","options","value","_excluded2","_React$useMemo","useMemo","optionsByGroup","map","optgroup","filter","_ref4","length","_React$useState","useState","_React$useState2","_slicedToArray","setIsOpened","useCallback","_ref5","_ref6","Fragment","displayName"],"sources":["../../src/PillSelect/PillSelect.tsx"],"sourcesContent":["import { Check } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Pill } from '../Pill/Pill'\nimport type { PillColor } from '../Pill/Pill.types'\nimport { Select, useSelectButtonFocused } from '../Select/Select'\nimport type { SelectOptGroupProps } from '../Select/Select.types'\nimport { Tooltip } from '../Tooltip/Tooltip'\nimport { OverflowObserver } from '../_hooks/OverflowObserver'\nimport {\n PillSelectCheckedContainer,\n PillSelectLabel,\n PillSelectLabelWrapper,\n PillSelectOptionWrapper,\n} from './PillSelect.styles'\nimport type {\n PillOptGroup,\n PillOption,\n PillOptionProps,\n PillSelectProps,\n} from './PillSelect.types'\n\nconst emptyArr: Array<any> = []\n\nfunction defaultGetId(option: PillOption | PillOptGroup) {\n return option.id\n}\n\nfunction defaultGetLabel(option: PillOption | PillOptGroup) {\n return option.label\n}\n\nfunction defaultGetGroup(option: PillOption) {\n return option.groupId\n}\n\nfunction defaultGetSuggested(option: PillOption) {\n return option.suggested\n}\n\nexport function defaultGetColor(option: PillOption) {\n return option.color\n}\n\nconst PillSelectOption = React.forwardRef<HTMLDivElement, PillOptionProps>(\n function PillSelectOption({ color, label, selected, ...props }, ref) {\n return (\n <Select.Option selected={selected} {...props} ref={ref}>\n <PillSelectOptionWrapper>\n <Pill color={color}>{label}</Pill>\n <PillSelectCheckedContainer>\n {selected && <Check size=\"sm\" />}\n </PillSelectCheckedContainer>\n </PillSelectOptionWrapper>\n </Select.Option>\n )\n }\n)\n\nconst PillSelectOptGroup = React.forwardRef<\n HTMLDivElement,\n SelectOptGroupProps\n>(function PillSelectOptGroup(props, ref) {\n return <Select.OptGroup {...props} ref={ref} />\n})\n\nfunction PillSelectOverflowContent({\n isOverflowing,\n overflowRef,\n color,\n label,\n disabled,\n isOpened,\n}: {\n isOverflowing: boolean\n overflowRef: (node: HTMLElement | null) => void\n color: PillColor | undefined\n label: React.ReactNode\n disabled: boolean | undefined\n isOpened: boolean\n}) {\n const isFocused = useSelectButtonFocused()\n\n const pill = (\n <PillSelectLabel color={color} ref={overflowRef}>\n {label}\n </PillSelectLabel>\n )\n\n const showTooltip = isOverflowing && !isOpened\n\n return (\n <PillSelectLabelWrapper disabled={disabled}>\n {showTooltip ? (\n <Tooltip\n key={isFocused ? 'focused' : 'hover-only'}\n trigger={isFocused ? 'always' : 'hover'}\n overlay={label}\n >\n {pill}\n </Tooltip>\n ) : (\n pill\n )}\n </PillSelectLabelWrapper>\n )\n}\n\n/**\n\n Pill Selects are used when you need a user to select between one of several\n options that are shown as pills. Often this will be a status, such as marking\n an item “closed”, “draft”, etc.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-pillselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/pill-select)\n\n */\nexport const PillSelect = React.forwardRef<\n HTMLDivElement,\n PillSelectProps<any, any>\n>(function PillSelect(\n {\n afterHide: afterHide_,\n afterShow: afterShow_,\n getColor = defaultGetColor,\n getGroup = defaultGetGroup,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getSuggested = defaultGetSuggested,\n groupGetId = defaultGetId,\n groupGetLabel = defaultGetLabel,\n optgroups,\n options = emptyArr,\n value,\n ...props\n },\n ref\n) {\n const { color, id, label } = React.useMemo(() => {\n if (!value) {\n return {}\n }\n return {\n color: getColor(value),\n id: getId(value),\n label: getLabel(value),\n }\n }, [getColor, getId, getLabel, value])\n\n const optionsByGroup = React.useMemo(\n () =>\n optgroups\n ?.map((optgroup) => ({\n optgroup,\n options: options.filter(\n (option) => getGroup(option) === groupGetId(optgroup)\n ),\n }))\n .filter(({ options }) => options.length),\n [options, optgroups, groupGetId, getGroup]\n )\n\n const [isOpened, setIsOpened] = React.useState(false)\n\n const afterShow = React.useCallback(() => {\n setIsOpened(true)\n afterShow_?.()\n }, [afterShow_])\n\n const afterHide = React.useCallback(() => {\n setIsOpened(false)\n afterHide_?.()\n }, [afterHide_])\n\n return (\n <Select\n afterHide={afterHide}\n afterShow={afterShow}\n label={\n label ? (\n <OverflowObserver>\n {({ isOverflowing, ref }) => (\n <PillSelectOverflowContent\n isOverflowing={isOverflowing}\n overflowRef={ref}\n color={color}\n label={label}\n disabled={props.disabled}\n isOpened={isOpened}\n />\n )}\n </OverflowObserver>\n ) : null\n }\n {...props}\n ref={ref}\n >\n {optionsByGroup ? (\n optionsByGroup.map(({ optgroup, options }) => (\n <React.Fragment key={groupGetId(optgroup)}>\n <PillSelectOptGroup\n key={groupGetId(optgroup)}\n label={groupGetLabel(optgroup)}\n >\n {options.map((option) => (\n <PillSelectOption\n key={getId(option)}\n color={getColor(option)}\n label={getLabel(option)}\n selected={getId(option) === id}\n suggested={getSuggested(option)}\n value={option}\n />\n ))}\n </PillSelectOptGroup>\n </React.Fragment>\n ))\n ) : (\n <>\n {options.map((option) => (\n <PillSelectOption\n key={getId(option)}\n color={getColor(option)}\n label={getLabel(option)}\n selected={getId(option) === id}\n suggested={getSuggested(option)}\n value={option}\n />\n ))}\n </>\n )}\n </Select>\n )\n})\n\nPillSelect.displayName = 'PillSelect'\n"],"mappings":"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"}
@@ -6,19 +6,19 @@ import { spacing } from '../_styles/spacing';
6
6
  var checkedIconPlaceholderWidth = 32;
7
7
  export var PillSelectOptionWrapper = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "PillSelectOptionWrapper",
9
- componentId: "core-12_39_0__sc-1ai2ze0-0"
9
+ componentId: "core-12_41_0__sc-1ai2ze0-0"
10
10
  })(["display:flex;align-items:center;justify-content:space-between;"]);
11
11
  export var PillSelectCheckedContainer = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "PillSelectCheckedContainer",
13
- componentId: "core-12_39_0__sc-1ai2ze0-1"
13
+ componentId: "core-12_41_0__sc-1ai2ze0-1"
14
14
  })(["align-items:center;color:", ";display:inline-flex;padding-left:", "px;width:", "px;"], colors.blue50, spacing.sm, checkedIconPlaceholderWidth);
15
15
  export var PillSelectLabel = /*#__PURE__*/styled(Pill).withConfig({
16
16
  displayName: "PillSelectLabel",
17
- componentId: "core-12_39_0__sc-1ai2ze0-2"
17
+ componentId: "core-12_41_0__sc-1ai2ze0-2"
18
18
  })(["", ""], getEllipsis);
19
19
  export var PillSelectLabelWrapper = /*#__PURE__*/styled.div.withConfig({
20
20
  displayName: "PillSelectLabelWrapper",
21
- componentId: "core-12_39_0__sc-1ai2ze0-3"
21
+ componentId: "core-12_41_0__sc-1ai2ze0-3"
22
22
  })(["display:flex;max-width:100%;pointer-events:auto;", ""], function (_ref) {
23
23
  var disabled = _ref.disabled;
24
24
  return disabled && css(["pointer-events:none;"]);
@@ -5,7 +5,7 @@ import { getShadow } from '../_styles/shadows';
5
5
  export var popoverArrowSize = 6;
6
6
  export var StyledPopoverContent = /*#__PURE__*/styled.span.withConfig({
7
7
  displayName: "StyledPopoverContent",
8
- componentId: "core-12_39_0__sc-1cd0ihn-0"
8
+ componentId: "core-12_41_0__sc-1cd0ihn-0"
9
9
  })(["background-color:", ";border-radius:inherit;color:", ";display:inline-block;max-width:250px;position:relative;", ""], colors.white, colors.gray15, function (_ref) {
10
10
  var $block = _ref.$block,
11
11
  $fluid = _ref.$fluid;
@@ -15,6 +15,6 @@ export var StyledPopoverContent = /*#__PURE__*/styled.span.withConfig({
15
15
  });
16
16
  export var StyledPopover = /*#__PURE__*/styled.div.withConfig({
17
17
  displayName: "StyledPopover",
18
- componentId: "core-12_39_0__sc-1cd0ihn-1"
18
+ componentId: "core-12_41_0__sc-1cd0ihn-1"
19
19
  })(["display:inline-block;border-radius:", "px;", " & + [data-overlay-arrow]{background:", ";}"], borderRadius.md, getShadow(3), colors.white);
20
20
  //# sourceMappingURL=Popover.styles.js.map
@@ -1,6 +1,6 @@
1
1
  import styled from 'styled-components';
2
2
  export var StyledPortal = /*#__PURE__*/styled.div.withConfig({
3
3
  displayName: "StyledPortal",
4
- componentId: "core-12_39_0__sc-15o1h2-0"
4
+ componentId: "core-12_41_0__sc-15o1h2-0"
5
5
  })(["left:0;pointer-events:none;position:fixed;top:0;> *{pointer-events:all;}"]);
6
6
  //# sourceMappingURL=Portal.styles.js.map
@@ -7,11 +7,11 @@ var animationDelay = '300ms';
7
7
  var fadeIn = /*#__PURE__*/keyframes(["from{opacity:1;}to{opacity:0;}"]);
8
8
  export var StyledProgressBarLoader = /*#__PURE__*/styled(Loader).withConfig({
9
9
  displayName: "StyledProgressBarLoader",
10
- componentId: "core-12_39_0__sc-vdy2wl-0"
10
+ componentId: "core-12_41_0__sc-vdy2wl-0"
11
11
  })([""]);
12
12
  export var StyledProgressBar = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledProgressBar",
14
- componentId: "core-12_39_0__sc-vdy2wl-1"
14
+ componentId: "core-12_41_0__sc-vdy2wl-1"
15
15
  })(["overflow:hidden;position:relative;display:block;height:", "px;background-color:", ";border-radius:", "px;margin:", "px 0;transition:background-color 0s linear;", " ", ""], loaderGridUnit, function (_ref) {
16
16
  var $complete = _ref.$complete;
17
17
  return $complete ? colors.blue50 : colors.gray94;
@@ -9,7 +9,7 @@ export var dataQa = {
9
9
  var radioButtonSize = 20;
10
10
  export var StyledRadioButton = /*#__PURE__*/styled.label.withConfig({
11
11
  displayName: "StyledRadioButton",
12
- componentId: "core-12_39_0__sc-nd95zs-0"
12
+ componentId: "core-12_41_0__sc-nd95zs-0"
13
13
  })(["color:", ";display:flex;position:relative;vertical-align:middle;& + &{margin-top:", "px;}", " ", ""], colors.gray15, spacing.md, function (_ref) {
14
14
  var $error = _ref.$error;
15
15
  return $error && css(["", ":before,", ":checked:not(:disabled) + ", ":before{border-color:", ";}", ":checked:disabled + ", ":before{border-color:", ";}"], StyledRadioButtonLabel, StyledRadioButtonInput, StyledRadioButtonLabel, colors.red50, StyledRadioButtonInput, StyledRadioButtonLabel, colors.gray85);
@@ -19,10 +19,10 @@ export var StyledRadioButton = /*#__PURE__*/styled.label.withConfig({
19
19
  });
20
20
  export var StyledRadioButtonLabel = /*#__PURE__*/styled.span.withConfig({
21
21
  displayName: "StyledRadioButtonLabel",
22
- componentId: "core-12_39_0__sc-nd95zs-1"
22
+ componentId: "core-12_41_0__sc-nd95zs-1"
23
23
  })(["", ";cursor:default;display:flex;&:before{background:", ";border-radius:100%;border:2px solid ", ";content:'';display:inline-block;flex:0;height:", "px;min-width:", "px;width:", "px;}"], getTypographyIntent('body'), colors.white, colors.gray50, radioButtonSize, radioButtonSize, radioButtonSize);
24
24
  export var StyledRadioButtonInput = /*#__PURE__*/styled.input.withConfig({
25
25
  displayName: "StyledRadioButtonInput",
26
- componentId: "core-12_39_0__sc-nd95zs-2"
26
+ componentId: "core-12_41_0__sc-nd95zs-2"
27
27
  })(["left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;&:focus:not(:checked),&[data-qa=", "]:not(:checked){&:not(:disabled) + ", ":before{", "}}&:focus:checked:not(:disabled),&[data-qa=", "]:checked:not(:disabled){+ ", ":before{box-shadow:0 0 0 2px ", ";}}&:checked + ", ":before{border:6px solid ", ";}&:disabled + ", ":before{border-color:", ";}&:disabled:checked + ", ":before{border-color:", ";}"], dataQa.focused, StyledRadioButtonLabel, getFocus(), dataQa.focused, StyledRadioButtonLabel, colors.blue40, StyledRadioButtonLabel, colors.blue50, StyledRadioButtonLabel, colors.gray85, StyledRadioButtonLabel, colors.blue85);
28
28
  //# sourceMappingURL=RadioButton.styles.js.map
@@ -5,7 +5,7 @@ import { colors } from '../_styles/colors';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledRequiredMark = /*#__PURE__*/styled.span.withConfig({
7
7
  displayName: "StyledRequiredMark",
8
- componentId: "core-12_39_0__sc-bja1ql-0"
8
+ componentId: "core-12_41_0__sc-bja1ql-0"
9
9
  })(["color:", ";", ""], colors.red50, function (_ref) {
10
10
  var $showLabel = _ref.$showLabel;
11
11
  if ($showLabel) {
@@ -15,10 +15,10 @@ export var StyledRequiredMark = /*#__PURE__*/styled.span.withConfig({
15
15
  });
16
16
  export var StyledRequiredContainer = /*#__PURE__*/styled.span.withConfig({
17
17
  displayName: "StyledRequiredContainer",
18
- componentId: "core-12_39_0__sc-bja1ql-1"
18
+ componentId: "core-12_41_0__sc-bja1ql-1"
19
19
  })(["", " ", " > &{margin-left:", "px;}"], getTypographyIntent('small'), StyledCheckboxLabel, spacing.xs);
20
20
  export var StyledRequiredText = /*#__PURE__*/styled.span.withConfig({
21
21
  displayName: "StyledRequiredText",
22
- componentId: "core-12_39_0__sc-bja1ql-2"
22
+ componentId: "core-12_41_0__sc-bja1ql-2"
23
23
  })(["font-style:italic;color:", ";margin-left:4px;"], colors.gray45);
24
24
  //# sourceMappingURL=Required.styles.js.map
@@ -33,22 +33,22 @@ export function getSearchInputStyles() {
33
33
  }
34
34
  export var StyledInput = /*#__PURE__*/styled.input.withConfig({
35
35
  displayName: "StyledInput",
36
- componentId: "core-12_39_0__sc-3j8khv-0"
36
+ componentId: "core-12_41_0__sc-3j8khv-0"
37
37
  })(["", ""], getSearchInputStyles);
38
38
  var StyledButton = /*#__PURE__*/styled(Button).withConfig({
39
39
  displayName: "StyledButton",
40
- componentId: "core-12_39_0__sc-3j8khv-1"
40
+ componentId: "core-12_41_0__sc-3j8khv-1"
41
41
  })(["position:absolute;top:", "px;"], buttonTop);
42
42
  export var StyledSearchButton = /*#__PURE__*/styled(StyledButton).withConfig({
43
43
  displayName: "StyledSearchButton",
44
- componentId: "core-12_39_0__sc-3j8khv-2"
44
+ componentId: "core-12_41_0__sc-3j8khv-2"
45
45
  })([""]);
46
46
  export var StyledClearButton = /*#__PURE__*/styled(StyledButton).withConfig({
47
47
  displayName: "StyledClearButton",
48
- componentId: "core-12_39_0__sc-3j8khv-3"
48
+ componentId: "core-12_41_0__sc-3j8khv-3"
49
49
  })([""]);
50
50
  export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
51
51
  displayName: "StyledSearch",
52
- componentId: "core-12_39_0__sc-3j8khv-4"
52
+ componentId: "core-12_41_0__sc-3j8khv-4"
53
53
  })(["position:relative;width:100%;", "{padding-right:", "px;}", "{right:", "px;}", "{right:", "px;}"], StyledInput, inputRight, StyledSearchButton, searchRight, StyledClearButton, clearRight);
54
54
  //# sourceMappingURL=Search.styles.js.map
@@ -137,7 +137,6 @@ export var Section = /*#__PURE__*/React.forwardRef(function Section(_ref3, ref)
137
137
  "aria-labelledby": heading ? headingTextId : undefined,
138
138
  id: contentRegionId,
139
139
  role: heading ? 'region' : undefined,
140
- tabIndex: open ? 0 : -1,
141
140
  $closed: expandClosed,
142
141
  $noHeader: !hasHeader
143
142
  }, open ? children : null))));
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":["ChevronDown","ChevronRight","cx","React","ulid","Button","getHeadingComponent","Title","sectionClassnames","StyledSection","StyledSectionBanner","StyledSectionCollapseHeading","StyledSectionContentRegion","StyledSectionHeader","StyledSectionInner","StyledTitle","isFunction","obj","LevelContext","createContext","SectionContext","open","setSection","toggleSection","Heading","_ref","level_","level","props","_objectWithoutProperties","_excluded","useContext","H","createElement","SectionProvider","_ref2","children","_React$useState","useState","_React$useState2","_slicedToArray","setSectionsOpen","id","prev","_objectSpread","_defineProperty","Provider","value","Section","forwardRef","_ref3","ref","actions","banner","className","expandId","heading","_ref3$initialIsOpen","initialIsOpen","pills","subtext","assets","_excluded2","sections","toggleOpen","useCallback","useEffect","undefined","_React$useMemo","useMemo","contentRegionId","concat","headingTextId","expandClosed","divide","hasHeader","_extends","levelAnonymous","role","icon","onClick","variant","Text","Subtext","Pills","Actions","Assets","tabIndex","$closed","$noHeader","displayName"],"sources":["../../src/Section/Section.tsx"],"sourcesContent":["import { ChevronDown, ChevronRight } from '@procore/core-icons'\nimport cx from 'classnames'\nimport React from 'react'\nimport { ulid } from 'ulid'\nimport { Button } from '../Button'\nimport { getHeadingComponent } from '../Semantic/Semantic'\nimport type { HeadingProps } from '../Semantic/Semantic.types'\nimport { Title } from '../Title'\nimport {\n sectionClassnames,\n StyledSection,\n StyledSectionBanner,\n StyledSectionCollapseHeading,\n StyledSectionContentRegion,\n StyledSectionHeader,\n StyledSectionInner,\n StyledTitle,\n} from './Section.styles'\nimport type {\n SectionContextAPI,\n SectionProps,\n SectionProviderProps,\n} from './Section.types'\n\nconst isFunction = (obj: unknown): boolean => typeof obj === 'function'\n\n// Header levels start at level 2\nexport const LevelContext = React.createContext(2)\n\nconst SectionContext = React.createContext<SectionContextAPI>({\n open: {},\n setSection: () => {},\n toggleSection: () => {},\n})\n\nexport function Heading({\n level: level_,\n ...props\n}: HeadingProps & { level?: number }) {\n const level = React.useContext(LevelContext)\n const H = getHeadingComponent(level_ || level)\n return <H {...props} />\n}\n\nexport const SectionProvider = ({ children }: SectionProviderProps) => {\n const [open, setSectionsOpen] = React.useState<{\n [key: string]: boolean\n }>({})\n\n const toggleSection: SectionContextAPI['toggleSection'] = (id) =>\n setSectionsOpen((prev) => ({\n ...prev,\n [id]: !prev[id],\n }))\n\n const setSection: SectionContextAPI['setSection'] = (id, open) =>\n setSectionsOpen((prev) => ({\n ...prev,\n [id]: open,\n }))\n\n return (\n <SectionContext.Provider\n value={{\n open,\n toggleSection,\n setSection,\n }}\n >\n {children}\n </SectionContext.Provider>\n )\n}\n/**\n * @deprecatedSince 11\n * @deprecated Intended for internal library development. See Panel.Section or DetailPage.Section\n */\nexport const Section = React.forwardRef<HTMLDivElement, SectionProps>(\n function Section(\n {\n actions,\n banner,\n children,\n className,\n expandId,\n heading,\n initialIsOpen = true,\n pills,\n subtext,\n assets,\n ...props\n },\n ref\n ) {\n const level = React.useContext(LevelContext)\n\n const sections = React.useContext(SectionContext)\n const toggleOpen = React.useCallback(() => {\n if (expandId) {\n sections.toggleSection(expandId)\n }\n }, [expandId])\n const open = expandId ? sections.open[expandId] : true\n\n React.useEffect(() => {\n if (expandId && open === undefined) {\n sections.setSection(expandId, initialIsOpen)\n }\n }, [])\n\n const { contentRegionId, headingTextId } = React.useMemo(() => {\n return {\n contentRegionId: `content-${ulid()}`,\n headingTextId: `heading-${ulid()}`,\n }\n }, [])\n\n const expandClosed = !open || !children\n const divide = level >= 3 || !heading\n const hasHeader = heading || actions\n\n return (\n <LevelContext.Provider value={level + 1}>\n <StyledSection\n ref={ref}\n className={cx(className, {\n [sectionClassnames.divide]: divide,\n [sectionClassnames.levelAnonymous]: !heading,\n [sectionClassnames.level(level)]: heading && level,\n })}\n {...props}\n >\n <StyledSectionInner>\n {banner && <StyledSectionBanner>{banner}</StyledSectionBanner>}\n\n {hasHeader ? (\n <StyledSectionHeader>\n {expandId ? (\n <StyledSectionCollapseHeading\n aria-labelledby={headingTextId}\n aria-level={level}\n role=\"heading\"\n >\n <Button\n aria-controls={contentRegionId}\n aria-expanded={open}\n aria-labelledby={headingTextId}\n icon={open ? <ChevronDown /> : <ChevronRight />}\n onClick={toggleOpen}\n variant=\"tertiary\"\n />\n </StyledSectionCollapseHeading>\n ) : null}\n <StyledTitle>\n <Title.Text>\n {heading && (\n <Heading\n aria-hidden={!!expandId}\n id={headingTextId}\n // Pass level since Heading component renders\n // under the incremented (level + 1) LevelProvider.\n // Alternative, render Heading as a variable outside of return.\n level={level}\n >\n {heading}\n </Heading>\n )}\n </Title.Text>\n <Title.Subtext>{subtext}</Title.Subtext>\n <Title.Pills>{pills}</Title.Pills>\n <Title.Actions>\n {isFunction(actions)\n ? (actions as Function)({ open })\n : actions}\n </Title.Actions>\n <Title.Assets>{assets}</Title.Assets>\n </StyledTitle>\n </StyledSectionHeader>\n ) : null}\n <StyledSectionContentRegion\n aria-hidden={!open}\n aria-labelledby={heading ? headingTextId : undefined}\n id={contentRegionId}\n role={heading ? 'region' : undefined}\n tabIndex={open ? 0 : -1}\n $closed={expandClosed}\n $noHeader={!hasHeader}\n >\n {open ? children : null}\n </StyledSectionContentRegion>\n </StyledSectionInner>\n </StyledSection>\n </LevelContext.Provider>\n )\n }\n)\n\nSection.displayName = 'Section'\n"],"mappings":"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"}
1
+ {"version":3,"file":"Section.js","names":["ChevronDown","ChevronRight","cx","React","ulid","Button","getHeadingComponent","Title","sectionClassnames","StyledSection","StyledSectionBanner","StyledSectionCollapseHeading","StyledSectionContentRegion","StyledSectionHeader","StyledSectionInner","StyledTitle","isFunction","obj","LevelContext","createContext","SectionContext","open","setSection","toggleSection","Heading","_ref","level_","level","props","_objectWithoutProperties","_excluded","useContext","H","createElement","SectionProvider","_ref2","children","_React$useState","useState","_React$useState2","_slicedToArray","setSectionsOpen","id","prev","_objectSpread","_defineProperty","Provider","value","Section","forwardRef","_ref3","ref","actions","banner","className","expandId","heading","_ref3$initialIsOpen","initialIsOpen","pills","subtext","assets","_excluded2","sections","toggleOpen","useCallback","useEffect","undefined","_React$useMemo","useMemo","contentRegionId","concat","headingTextId","expandClosed","divide","hasHeader","_extends","levelAnonymous","role","icon","onClick","variant","Text","Subtext","Pills","Actions","Assets","$closed","$noHeader","displayName"],"sources":["../../src/Section/Section.tsx"],"sourcesContent":["import { ChevronDown, ChevronRight } from '@procore/core-icons'\nimport cx from 'classnames'\nimport React from 'react'\nimport { ulid } from 'ulid'\nimport { Button } from '../Button'\nimport { getHeadingComponent } from '../Semantic/Semantic'\nimport type { HeadingProps } from '../Semantic/Semantic.types'\nimport { Title } from '../Title'\nimport {\n sectionClassnames,\n StyledSection,\n StyledSectionBanner,\n StyledSectionCollapseHeading,\n StyledSectionContentRegion,\n StyledSectionHeader,\n StyledSectionInner,\n StyledTitle,\n} from './Section.styles'\nimport type {\n SectionContextAPI,\n SectionProps,\n SectionProviderProps,\n} from './Section.types'\n\nconst isFunction = (obj: unknown): boolean => typeof obj === 'function'\n\n// Header levels start at level 2\nexport const LevelContext = React.createContext(2)\n\nconst SectionContext = React.createContext<SectionContextAPI>({\n open: {},\n setSection: () => {},\n toggleSection: () => {},\n})\n\nexport function Heading({\n level: level_,\n ...props\n}: HeadingProps & { level?: number }) {\n const level = React.useContext(LevelContext)\n const H = getHeadingComponent(level_ || level)\n return <H {...props} />\n}\n\nexport const SectionProvider = ({ children }: SectionProviderProps) => {\n const [open, setSectionsOpen] = React.useState<{\n [key: string]: boolean\n }>({})\n\n const toggleSection: SectionContextAPI['toggleSection'] = (id) =>\n setSectionsOpen((prev) => ({\n ...prev,\n [id]: !prev[id],\n }))\n\n const setSection: SectionContextAPI['setSection'] = (id, open) =>\n setSectionsOpen((prev) => ({\n ...prev,\n [id]: open,\n }))\n\n return (\n <SectionContext.Provider\n value={{\n open,\n toggleSection,\n setSection,\n }}\n >\n {children}\n </SectionContext.Provider>\n )\n}\n/**\n * @deprecatedSince 11\n * @deprecated Intended for internal library development. See Panel.Section or DetailPage.Section\n */\nexport const Section = React.forwardRef<HTMLDivElement, SectionProps>(\n function Section(\n {\n actions,\n banner,\n children,\n className,\n expandId,\n heading,\n initialIsOpen = true,\n pills,\n subtext,\n assets,\n ...props\n },\n ref\n ) {\n const level = React.useContext(LevelContext)\n\n const sections = React.useContext(SectionContext)\n const toggleOpen = React.useCallback(() => {\n if (expandId) {\n sections.toggleSection(expandId)\n }\n }, [expandId])\n const open = expandId ? sections.open[expandId] : true\n\n React.useEffect(() => {\n if (expandId && open === undefined) {\n sections.setSection(expandId, initialIsOpen)\n }\n }, [])\n\n const { contentRegionId, headingTextId } = React.useMemo(() => {\n return {\n contentRegionId: `content-${ulid()}`,\n headingTextId: `heading-${ulid()}`,\n }\n }, [])\n\n const expandClosed = !open || !children\n const divide = level >= 3 || !heading\n const hasHeader = heading || actions\n\n return (\n <LevelContext.Provider value={level + 1}>\n <StyledSection\n ref={ref}\n className={cx(className, {\n [sectionClassnames.divide]: divide,\n [sectionClassnames.levelAnonymous]: !heading,\n [sectionClassnames.level(level)]: heading && level,\n })}\n {...props}\n >\n <StyledSectionInner>\n {banner && <StyledSectionBanner>{banner}</StyledSectionBanner>}\n\n {hasHeader ? (\n <StyledSectionHeader>\n {expandId ? (\n <StyledSectionCollapseHeading\n aria-labelledby={headingTextId}\n aria-level={level}\n role=\"heading\"\n >\n <Button\n aria-controls={contentRegionId}\n aria-expanded={open}\n aria-labelledby={headingTextId}\n icon={open ? <ChevronDown /> : <ChevronRight />}\n onClick={toggleOpen}\n variant=\"tertiary\"\n />\n </StyledSectionCollapseHeading>\n ) : null}\n <StyledTitle>\n <Title.Text>\n {heading && (\n <Heading\n aria-hidden={!!expandId}\n id={headingTextId}\n // Pass level since Heading component renders\n // under the incremented (level + 1) LevelProvider.\n // Alternative, render Heading as a variable outside of return.\n level={level}\n >\n {heading}\n </Heading>\n )}\n </Title.Text>\n <Title.Subtext>{subtext}</Title.Subtext>\n <Title.Pills>{pills}</Title.Pills>\n <Title.Actions>\n {isFunction(actions)\n ? (actions as Function)({ open })\n : actions}\n </Title.Actions>\n <Title.Assets>{assets}</Title.Assets>\n </StyledTitle>\n </StyledSectionHeader>\n ) : null}\n <StyledSectionContentRegion\n aria-hidden={!open}\n aria-labelledby={heading ? headingTextId : undefined}\n id={contentRegionId}\n role={heading ? 'region' : undefined}\n $closed={expandClosed}\n $noHeader={!hasHeader}\n >\n {open ? children : null}\n </StyledSectionContentRegion>\n </StyledSectionInner>\n </StyledSection>\n </LevelContext.Provider>\n )\n }\n)\n\nSection.displayName = 'Section'\n"],"mappings":"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"}
@@ -6,15 +6,15 @@ import { getGapOutlineFocus } from '../_styles/mixins';
6
6
  import { spacing } from '../_styles/spacing';
7
7
  export var StyledSectionBanner = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "StyledSectionBanner",
9
- componentId: "core-12_39_0__sc-1lxbrwv-0"
9
+ componentId: "core-12_41_0__sc-1lxbrwv-0"
10
10
  })(["margin-bottom:", "px;> * + *{margin-top:", "px;}"], spacing.sm, spacing.sm);
11
11
  export var StyledSectionInner = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "StyledSectionInner",
13
- componentId: "core-12_39_0__sc-1lxbrwv-1"
13
+ componentId: "core-12_41_0__sc-1lxbrwv-1"
14
14
  })([""]);
15
15
  export var StyledSectionCollapseHeading = /*#__PURE__*/styled.div.withConfig({
16
16
  displayName: "StyledSectionCollapseHeading",
17
- componentId: "core-12_39_0__sc-1lxbrwv-2"
17
+ componentId: "core-12_41_0__sc-1lxbrwv-2"
18
18
  })(["align-self:flex-start;margin-right:", "px;"], spacing.sm);
19
19
  export var sectionClassnames = {
20
20
  divide: 'section--divide',
@@ -25,11 +25,11 @@ export var sectionClassnames = {
25
25
  };
26
26
  export var StyledSection = /*#__PURE__*/styled.div.withConfig({
27
27
  displayName: "StyledSection",
28
- componentId: "core-12_39_0__sc-1lxbrwv-3"
28
+ componentId: "core-12_41_0__sc-1lxbrwv-3"
29
29
  })(["padding-left:", "px;padding-right:", "px;padding-bottom:", "px;& > ", "{padding-top:", "px;}&.", "{& > ", "{border-top:1px solid ", ";}}&:first-child > ", "{border-top:0;}& &{padding-left:0;padding-right:0;&:first-child > ", "{border-top:1px solid ", ";}&:last-child{padding-bottom:0;}}", ":last-of-type{margin-bottom:", "px;}", " + &&&{padding-top:", "px;}"], spacing.lg, spacing.lg, spacing.lg, StyledSectionInner, spacing.lg, sectionClassnames.divide, StyledSectionInner, colors.gray85, StyledSectionInner, StyledSectionInner, colors.gray85, StyledFormRow, spacing.lg * -1, StyledFormRow, spacing.xs);
30
30
  export var StyledSectionContentRegion = /*#__PURE__*/styled.div.withConfig({
31
31
  displayName: "StyledSectionContentRegion",
32
- componentId: "core-12_39_0__sc-1lxbrwv-4"
32
+ componentId: "core-12_41_0__sc-1lxbrwv-4"
33
33
  })(["padding-top:", "px;&:focus-visible{", "}", " ", " & > :not(", ") + ", "{padding-top:", "px;}", " ", " &:last-of-type{padding-bottom:0;}"], spacing.sm, getGapOutlineFocus('inside'), function (_ref) {
34
34
  var $closed = _ref.$closed;
35
35
  return $closed && css(["padding-top:0;"]);
@@ -39,10 +39,10 @@ export var StyledSectionContentRegion = /*#__PURE__*/styled.div.withConfig({
39
39
  }, StyledSection, StyledSection, spacing.xl, StyledSection, StyledSection);
40
40
  export var StyledSectionHeader = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledSectionHeader",
42
- componentId: "core-12_39_0__sc-1lxbrwv-5"
42
+ componentId: "core-12_41_0__sc-1lxbrwv-5"
43
43
  })(["align-items:center;display:flex;min-height:36px;word-break:break-word;"]);
44
44
  export var StyledTitle = /*#__PURE__*/styled(Title).withConfig({
45
45
  displayName: "StyledTitle",
46
- componentId: "core-12_39_0__sc-1lxbrwv-6"
46
+ componentId: "core-12_41_0__sc-1lxbrwv-6"
47
47
  })(["width:100%;"]);
48
48
  //# sourceMappingURL=Section.styles.js.map
@@ -5,7 +5,7 @@ import { colors } from '../_styles/colors';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
7
7
  displayName: "StyledContainer",
8
- componentId: "core-12_39_0__sc-ocai3-0"
8
+ componentId: "core-12_41_0__sc-ocai3-0"
9
9
  })(["align-items:center;display:", ";height:36px;justify-content:center;width:", ";"], function (_ref) {
10
10
  var $block = _ref.$block;
11
11
  return $block ? 'flex' : 'inline-flex';
@@ -15,7 +15,7 @@ export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
15
15
  });
16
16
  export var StyledSegment = /*#__PURE__*/styled.label.withConfig({
17
17
  displayName: "StyledSegment",
18
- componentId: "core-12_39_0__sc-ocai3-1"
18
+ componentId: "core-12_41_0__sc-ocai3-1"
19
19
  })(["align-items:center;border-radius:0;border:1px solid ", ";cursor:pointer;display:flex;flex:1 1 auto;height:100%;justify-content:center;min-width:0;outline:0;padding:0 ", "px;position:relative;background-color:", ";color:", ";&:hover{background-color:", ";border-color:", ";color:", ";}", " ", ";"], colors.gray85, spacing.md, colors.white, colors.gray45, colors.gray94, colors.gray85, colors.gray45, function (_ref3) {
20
20
  var _ref3$$focused = _ref3.$focused,
21
21
  $focused = _ref3$$focused === void 0 ? false : _ref3$$focused;
@@ -37,10 +37,10 @@ export var StyledSegment = /*#__PURE__*/styled.label.withConfig({
37
37
  });
38
38
  export var StyledSegmentDisabledInteractiveWrapper = /*#__PURE__*/styled.div.withConfig({
39
39
  displayName: "StyledSegmentDisabledInteractiveWrapper",
40
- componentId: "core-12_39_0__sc-ocai3-2"
40
+ componentId: "core-12_41_0__sc-ocai3-2"
41
41
  })(["display:flex;flex:1 1 auto;min-width:0;height:100%;margin-right:-1px;&:first-child ", "{border-bottom-left-radius:", "px;border-top-left-radius:", "px;}&:last-child ", "{border-bottom-right-radius:", "px;border-top-right-radius:", "px;}"], StyledSegment, borderRadius.md, borderRadius.md, StyledSegment, borderRadius.md, borderRadius.md);
42
42
  export var StyledLabel = /*#__PURE__*/styled.span.withConfig({
43
43
  displayName: "StyledLabel",
44
- componentId: "core-12_39_0__sc-ocai3-3"
44
+ componentId: "core-12_41_0__sc-ocai3-3"
45
45
  })(["", ";display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"], getTypographyIntent('body'));
46
46
  //# sourceMappingURL=SegmentedController.styles.js.map
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { SelectButtonProps, SelectOptGroupProps, SelectOptionProps, SelectProps } from './Select.types';
3
+ export declare const SelectButtonFocusContext: React.Context<boolean>;
4
+ export declare const useSelectButtonFocused: () => boolean;
3
5
  export declare const OptGroup: React.ForwardRefExoticComponent<SelectOptGroupProps & React.RefAttributes<HTMLDivElement>>;
4
6
  export declare const Option: React.ForwardRefExoticComponent<SelectOptionProps & React.RefAttributes<HTMLDivElement>>;
5
7
  export declare const Button: React.ForwardRefExoticComponent<SelectButtonProps & React.RefAttributes<HTMLDivElement>>;