@jobber/components 4.85.4-CJS-to-ESM.0 → 4.85.4-CJS-to-ESM.2
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.
- package/dist/AnimatedPresence-20a02aaa.js +104 -0
- package/dist/AnimatedPresence-bbccdaf7.js +98 -0
- package/dist/AnimatedPresence.cjs +12 -0
- package/dist/AnimatedPresence.js +4 -0
- package/dist/AnimatedSwitcher-3aff3d12.js +90 -0
- package/dist/AnimatedSwitcher-3d45ec5d.js +96 -0
- package/dist/AnimatedSwitcher.cjs +13 -0
- package/dist/AnimatedSwitcher.js +5 -0
- package/dist/Autocomplete-b35c7ff5.js +196 -0
- package/dist/Autocomplete-dc7a4b9e.js +188 -0
- package/dist/Autocomplete.cjs +33 -0
- package/dist/Autocomplete.js +25 -0
- package/dist/Avatar-229083ec.js +70 -0
- package/dist/Avatar-cccf72b9.js +78 -0
- package/dist/Avatar.cjs +15 -0
- package/dist/Avatar.js +7 -0
- package/dist/Banner-18d94700.js +105 -0
- package/dist/Banner-5475a9ea.js +98 -0
- package/dist/Banner.cjs +20 -0
- package/dist/Banner.js +12 -0
- package/dist/Body-22878526.js +64 -0
- package/dist/Body-4fbe21ac.js +50 -0
- package/dist/Button-30154871.js +50 -0
- package/dist/Button-ec64869e.js +57 -0
- package/dist/Button.cjs +16 -0
- package/dist/Button.js +8 -0
- package/dist/ButtonDismiss-a11eef74.js +8 -0
- package/dist/ButtonDismiss-d7417429.js +14 -0
- package/dist/ButtonDismiss.cjs +17 -0
- package/dist/ButtonDismiss.js +9 -0
- package/dist/Card-27375ded.js +93 -0
- package/dist/Card-35bd61ce.js +86 -0
- package/dist/Card.cjs +24 -0
- package/dist/Card.js +16 -0
- package/dist/Checkbox-a91b14f7.js +56 -0
- package/dist/Checkbox-b6e46d80.js +63 -0
- package/dist/Checkbox.cjs +18 -0
- package/dist/Checkbox.js +10 -0
- package/dist/Chip-01343f8b.js +81 -0
- package/dist/Chip-24613c57.js +89 -0
- package/dist/Chip.cjs +27 -0
- package/dist/Chip.js +17 -0
- package/dist/ChipDismissible-1f2754bd.js +19 -0
- package/dist/ChipDismissible-a8ecc894.js +26 -0
- package/dist/Chips-7c44a2f9.js +494 -0
- package/dist/Chips-a8f4c9f2.js +505 -0
- package/dist/Chips.cjs +46 -0
- package/dist/Chips.js +37 -0
- package/dist/Combobox-44f0ec2a.js +468 -0
- package/dist/Combobox-d8d28b1e.js +479 -0
- package/dist/Combobox.cjs +40 -0
- package/dist/Combobox.js +31 -0
- package/dist/ConfirmationModal-09ec5d02.js +100 -0
- package/dist/ConfirmationModal-64f82a31.js +94 -0
- package/dist/ConfirmationModal.cjs +31 -0
- package/dist/ConfirmationModal.js +23 -0
- package/dist/Content-60a3452a.js +24 -0
- package/dist/Content-c96e9299.js +18 -0
- package/dist/Content.cjs +12 -0
- package/dist/Content.js +4 -0
- package/dist/Countdown-961d8a6e.js +70 -0
- package/dist/Countdown-ac081ced.js +63 -0
- package/dist/Countdown.cjs +12 -0
- package/dist/Countdown.js +4 -0
- package/dist/DataDump-6fae2727.js +15 -0
- package/dist/DataDump-f427abfe.js +21 -0
- package/dist/DataDump.cjs +27 -0
- package/dist/DataDump.js +19 -0
- package/dist/DataList-18f2d692.js +1310 -0
- package/dist/DataList-4b0f9e5d.js +1320 -0
- package/dist/DataList.cjs +52 -0
- package/dist/DataList.js +44 -0
- package/dist/DataTable-0f6649e0.js +245 -0
- package/dist/DataTable-aab7f6b9.js +252 -0
- package/dist/DataTable.cjs +65 -0
- package/dist/DataTable.js +36 -0
- package/dist/DatePicker-5d0c0353.js +125 -0
- package/dist/DatePicker-c091c0d2.js +134 -0
- package/dist/DatePicker.cjs +20 -0
- package/dist/DatePicker.js +12 -0
- package/dist/DescriptionList-2cb975a9.js +15 -0
- package/dist/DescriptionList-74db99a5.js +21 -0
- package/dist/DescriptionList.cjs +13 -0
- package/dist/DescriptionList.js +5 -0
- package/dist/Disclosure-00a9459b.js +36 -0
- package/dist/Disclosure-56309ff3.js +42 -0
- package/dist/Disclosure.cjs +16 -0
- package/dist/Disclosure.js +8 -0
- package/dist/Divider-1e6ac1ec.js +27 -0
- package/dist/Divider-589745c1.js +20 -0
- package/dist/Divider.cjs +12 -0
- package/dist/Divider.js +4 -0
- package/dist/Drawer.cjs +21 -0
- package/dist/Drawer.js +12 -0
- package/dist/DrawerGrid-0861e529.js +33 -0
- package/dist/DrawerGrid-b233d837.js +41 -0
- package/dist/Emphasis-2a640962.js +13 -0
- package/dist/Emphasis-84de1f3f.js +19 -0
- package/dist/Emphasis.cjs +13 -0
- package/dist/Emphasis.js +5 -0
- package/dist/FeatureSwitch-ddaebf27.js +62 -0
- package/dist/FeatureSwitch-e33e30a9.js +55 -0
- package/dist/FeatureSwitch.cjs +26 -0
- package/dist/FeatureSwitch.js +18 -0
- package/dist/Flex-041db5c8.js +31 -0
- package/dist/Flex-ddf28839.js +38 -0
- package/dist/Flex.cjs +12 -0
- package/dist/Flex.js +4 -0
- package/dist/Form-6a161b07.js +48 -0
- package/dist/Form-927647ef.js +54 -0
- package/dist/Form.cjs +12 -0
- package/dist/Form.js +4 -0
- package/dist/FormField-f1f405d2.js +246 -0
- package/dist/FormField-fc30bb1a.js +253 -0
- package/dist/FormField.cjs +24 -0
- package/dist/FormField.js +16 -0
- package/dist/FormatDate-70ea5b43.js +34 -0
- package/dist/FormatDate-720b39cf.js +27 -0
- package/dist/FormatDate.cjs +11 -0
- package/dist/FormatDate.js +2 -0
- package/dist/FormatEmail-04ee4085.js +14 -0
- package/dist/FormatEmail-298393bb.js +21 -0
- package/dist/FormatEmail.cjs +12 -0
- package/dist/FormatEmail.js +4 -0
- package/dist/FormatFile-648aea3e.js +154 -0
- package/dist/FormatFile-d57b8dfa.js +162 -0
- package/dist/FormatFile.cjs +36 -0
- package/dist/FormatFile.js +28 -0
- package/dist/FormatRelativeDateTime-529dc36b.js +64 -0
- package/dist/FormatRelativeDateTime-6336002d.js +70 -0
- package/dist/FormatRelativeDateTime.cjs +10 -0
- package/dist/FormatRelativeDateTime.js +2 -0
- package/dist/FormatTime-20538519.js +34 -0
- package/dist/FormatTime-764fd3c8.js +28 -0
- package/dist/FormatTime.cjs +10 -0
- package/dist/FormatTime.js +2 -0
- package/dist/Gallery-7760f21f.js +66 -0
- package/dist/Gallery-8d4d79a2.js +73 -0
- package/dist/Gallery.cjs +39 -0
- package/dist/Gallery.js +31 -0
- package/dist/Glimmer-3fcdae65.js +77 -0
- package/dist/Glimmer-6bf75ae0.js +69 -0
- package/dist/Glimmer.cjs +15 -0
- package/dist/Glimmer.js +6 -0
- package/dist/Grid-c28e226d.js +66 -0
- package/dist/Grid-cce44c9d.js +74 -0
- package/dist/Grid.cjs +14 -0
- package/dist/Grid.js +5 -0
- package/dist/Heading-a8a24775.js +55 -0
- package/dist/Heading-dfd4f1cf.js +49 -0
- package/dist/Heading.cjs +14 -0
- package/dist/Heading.js +6 -0
- package/dist/Icon-22723fe6.js +34 -0
- package/dist/Icon-405a216c.js +40 -0
- package/dist/Icon.cjs +11 -0
- package/dist/Icon.js +3 -0
- package/dist/InlineLabel-20f9095e.js +21 -0
- package/dist/InlineLabel-5144fa06.js +28 -0
- package/dist/InlineLabel.cjs +13 -0
- package/dist/InlineLabel.js +5 -0
- package/dist/InputAvatar-3a10bdb1.js +50 -0
- package/dist/InputAvatar-95c98620.js +56 -0
- package/dist/InputAvatar.cjs +28 -0
- package/dist/InputAvatar.js +20 -0
- package/dist/InputDate-c258f5cb.js +32 -0
- package/dist/InputDate-c5f19423.js +39 -0
- package/dist/InputDate.cjs +29 -0
- package/dist/InputDate.js +21 -0
- package/dist/InputEmail-4efba03d.js +27 -0
- package/dist/InputEmail-812bdffe.js +20 -0
- package/dist/InputEmail.cjs +26 -0
- package/dist/InputEmail.js +17 -0
- package/dist/InputFile-921c050e.js +190 -0
- package/dist/InputFile-d089b486.js +181 -0
- package/dist/InputFile.cjs +25 -0
- package/dist/InputFile.js +16 -0
- package/dist/InputGroup-436859cf.js +26 -0
- package/dist/InputGroup-8d4fd4eb.js +33 -0
- package/dist/InputGroup.cjs +12 -0
- package/dist/InputGroup.js +4 -0
- package/dist/InputNumber-4bd38b8e.js +56 -0
- package/dist/InputNumber-df9cb825.js +62 -0
- package/dist/InputNumber.cjs +25 -0
- package/dist/InputNumber.js +17 -0
- package/dist/InputPassword-08d2dfa1.js +25 -0
- package/dist/InputPassword-6b937a91.js +19 -0
- package/dist/InputPassword.cjs +25 -0
- package/dist/InputPassword.js +17 -0
- package/dist/InputPhoneNumber-947bdb49.js +97 -0
- package/dist/InputPhoneNumber-cbb2ca7d.js +103 -0
- package/dist/InputPhoneNumber.cjs +25 -0
- package/dist/InputPhoneNumber.js +17 -0
- package/dist/InputText-125769fd.js +102 -0
- package/dist/InputText-2fd8f942.js +96 -0
- package/dist/InputText.cjs +26 -0
- package/dist/InputText.js +18 -0
- package/dist/InputTime-3c4bdff0.js +194 -0
- package/dist/InputTime-ef8af2d9.js +187 -0
- package/dist/InputTime.cjs +27 -0
- package/dist/InputTime.js +19 -0
- package/dist/InputValidation-4a61254d.js +29 -0
- package/dist/InputValidation-fe42fc3f.js +23 -0
- package/dist/InputValidation.cjs +17 -0
- package/dist/InputValidation.js +9 -0
- package/dist/LightBox-3d6e74ba.js +117 -0
- package/dist/LightBox-8cc72953.js +109 -0
- package/dist/LightBox.cjs +24 -0
- package/dist/LightBox.js +16 -0
- package/dist/Link-b41bc1d3.js +7 -0
- package/dist/Link-fd7301ec.js +13 -0
- package/dist/Link.cjs +10 -0
- package/dist/Link.js +2 -0
- package/dist/List-4fe52f57.js +77 -0
- package/dist/List-821f249d.js +87 -0
- package/dist/List.cjs +25 -0
- package/dist/List.js +16 -0
- package/dist/Markdown-36854bd5.js +62 -0
- package/dist/Markdown-7b84fcdb.js +55 -0
- package/dist/Markdown.cjs +19 -0
- package/dist/Markdown.js +11 -0
- package/dist/Menu-5ce3cf41.js +139 -0
- package/dist/Menu-fb0b2e9b.js +132 -0
- package/dist/Menu.cjs +21 -0
- package/dist/Menu.js +13 -0
- package/dist/Modal-cda55f02.js +71 -0
- package/dist/Modal-eeb52d66.js +63 -0
- package/dist/Modal.cjs +25 -0
- package/dist/Modal.js +17 -0
- package/dist/MultiSelect-0af9c956.js +169 -0
- package/dist/MultiSelect-707000e1.js +176 -0
- package/dist/MultiSelect.cjs +19 -0
- package/dist/MultiSelect.js +11 -0
- package/dist/Option-58d7cab6.js +12 -0
- package/dist/Option-73515eec.js +19 -0
- package/dist/Page-0b334096.js +59 -0
- package/dist/Page-fdb087db.js +66 -0
- package/dist/Page.cjs +30 -0
- package/dist/Page.js +22 -0
- package/dist/Popover-798f548e.js +47 -0
- package/dist/Popover-968c63b2.js +53 -0
- package/dist/Popover.cjs +20 -0
- package/dist/Popover.js +12 -0
- package/dist/ProgressBar-022ef3f6.js +36 -0
- package/dist/ProgressBar-4ee648b7.js +43 -0
- package/dist/ProgressBar.cjs +12 -0
- package/dist/ProgressBar.js +4 -0
- package/dist/RadioGroup-68edd1e3.js +46 -0
- package/dist/RadioGroup-a089f132.js +39 -0
- package/dist/RadioGroup.cjs +15 -0
- package/dist/RadioGroup.js +6 -0
- package/dist/RecurringSelect-2de4014c.js +208 -0
- package/dist/RecurringSelect-e391af31.js +214 -0
- package/dist/RecurringSelect.cjs +38 -0
- package/dist/RecurringSelect.js +22 -0
- package/dist/Select.cjs +26 -0
- package/dist/Select.js +17 -0
- package/dist/Spinner-3480bc34.js +24 -0
- package/dist/Spinner-90081e20.js +17 -0
- package/dist/Spinner.cjs +12 -0
- package/dist/Spinner.js +4 -0
- package/dist/StatusIndicator-0c680acb.js +18 -0
- package/dist/StatusIndicator-d6f9aefa.js +12 -0
- package/dist/StatusIndicator.cjs +11 -0
- package/dist/StatusIndicator.js +3 -0
- package/dist/StatusLabel-5bf96fdb.js +26 -0
- package/dist/StatusLabel-66214fc7.js +19 -0
- package/dist/StatusLabel.cjs +15 -0
- package/dist/StatusLabel.js +7 -0
- package/dist/Switch-6c6c727b.js +56 -0
- package/dist/Switch-87706cde.js +49 -0
- package/dist/Switch.cjs +13 -0
- package/dist/Switch.js +5 -0
- package/dist/Table.cjs +20 -0
- package/dist/Table.js +5 -0
- package/dist/Tabs-109f1f10.js +70 -0
- package/dist/Tabs-d6c8b965.js +78 -0
- package/dist/Tabs.cjs +14 -0
- package/dist/Tabs.js +5 -0
- package/dist/Text-714f7d14.js +31 -0
- package/dist/Text-c92ddeb3.js +25 -0
- package/dist/Text.cjs +13 -0
- package/dist/Text.js +5 -0
- package/dist/Toast.cjs +19 -0
- package/dist/Toast.js +11 -0
- package/dist/Tooltip-2e477150.js +112 -0
- package/dist/Tooltip-a40fffbd.js +104 -0
- package/dist/Tooltip.cjs +16 -0
- package/dist/Tooltip.js +8 -0
- package/dist/Typography-52ed1386.js +55 -0
- package/dist/Typography-fd88fcce.js +62 -0
- package/dist/Typography.cjs +12 -0
- package/dist/Typography.js +4 -0
- package/dist/getAtlantisConfig-0f3e8af2.js +13 -0
- package/dist/getAtlantisConfig-5b50057c.js +11 -0
- package/dist/index.cjs +224 -0
- package/dist/index.js +112 -0
- package/dist/showToast-63be1cf0.js +106 -0
- package/dist/showToast-ff666be8.js +100 -0
- package/dist/style-inject.es-9d2f5f4e.js +30 -0
- package/dist/style-inject.es-a0e1a0ba.js +28 -0
- package/dist/tslib.es6-754e2961.js +46 -0
- package/dist/tslib.es6-c563c1dd.js +43 -0
- package/package.json +8 -368
- package/AnimatedPresence.d.ts +0 -1
- package/AnimatedPresence.js +0 -17
- package/AnimatedSwitcher.d.ts +0 -1
- package/AnimatedSwitcher.js +0 -17
- package/Autocomplete.d.ts +0 -1
- package/Autocomplete.js +0 -17
- package/Avatar.d.ts +0 -1
- package/Avatar.js +0 -17
- package/Banner.d.ts +0 -1
- package/Banner.js +0 -17
- package/Button.d.ts +0 -1
- package/Button.js +0 -17
- package/ButtonDismiss.d.ts +0 -1
- package/ButtonDismiss.js +0 -17
- package/Card.d.ts +0 -1
- package/Card.js +0 -17
- package/Checkbox.d.ts +0 -1
- package/Checkbox.js +0 -17
- package/Chip.d.ts +0 -1
- package/Chip.js +0 -17
- package/Chips.d.ts +0 -1
- package/Chips.js +0 -17
- package/Combobox.d.ts +0 -1
- package/Combobox.js +0 -17
- package/ConfirmationModal.d.ts +0 -1
- package/ConfirmationModal.js +0 -17
- package/Content.d.ts +0 -1
- package/Content.js +0 -17
- package/Countdown.d.ts +0 -1
- package/Countdown.js +0 -17
- package/DataDump.d.ts +0 -1
- package/DataDump.js +0 -17
- package/DataList.d.ts +0 -1
- package/DataList.js +0 -17
- package/DataTable.d.ts +0 -1
- package/DataTable.js +0 -17
- package/DatePicker.d.ts +0 -1
- package/DatePicker.js +0 -17
- package/DescriptionList.d.ts +0 -1
- package/DescriptionList.js +0 -17
- package/Disclosure.d.ts +0 -1
- package/Disclosure.js +0 -17
- package/Divider.d.ts +0 -1
- package/Divider.js +0 -17
- package/Drawer.d.ts +0 -1
- package/Drawer.js +0 -17
- package/Emphasis.d.ts +0 -1
- package/Emphasis.js +0 -17
- package/FeatureSwitch.d.ts +0 -1
- package/FeatureSwitch.js +0 -17
- package/Flex.d.ts +0 -1
- package/Flex.js +0 -17
- package/Form.d.ts +0 -1
- package/Form.js +0 -17
- package/FormField.d.ts +0 -1
- package/FormField.js +0 -17
- package/FormatDate.d.ts +0 -1
- package/FormatDate.js +0 -17
- package/FormatEmail.d.ts +0 -1
- package/FormatEmail.js +0 -17
- package/FormatFile.d.ts +0 -1
- package/FormatFile.js +0 -17
- package/FormatRelativeDateTime.d.ts +0 -1
- package/FormatRelativeDateTime.js +0 -17
- package/FormatTime.d.ts +0 -1
- package/FormatTime.js +0 -17
- package/Gallery.d.ts +0 -1
- package/Gallery.js +0 -17
- package/Glimmer.d.ts +0 -1
- package/Glimmer.js +0 -17
- package/Grid.d.ts +0 -1
- package/Grid.js +0 -17
- package/Heading.d.ts +0 -1
- package/Heading.js +0 -17
- package/Icon.d.ts +0 -1
- package/Icon.js +0 -17
- package/InlineLabel.d.ts +0 -1
- package/InlineLabel.js +0 -17
- package/InputAvatar.d.ts +0 -1
- package/InputAvatar.js +0 -17
- package/InputDate.d.ts +0 -1
- package/InputDate.js +0 -17
- package/InputEmail.d.ts +0 -1
- package/InputEmail.js +0 -17
- package/InputFile.d.ts +0 -1
- package/InputFile.js +0 -17
- package/InputGroup.d.ts +0 -1
- package/InputGroup.js +0 -17
- package/InputNumber.d.ts +0 -1
- package/InputNumber.js +0 -17
- package/InputPassword.d.ts +0 -1
- package/InputPassword.js +0 -17
- package/InputPhoneNumber.d.ts +0 -1
- package/InputPhoneNumber.js +0 -17
- package/InputText.d.ts +0 -1
- package/InputText.js +0 -17
- package/InputTime.d.ts +0 -1
- package/InputTime.js +0 -17
- package/InputValidation.d.ts +0 -1
- package/InputValidation.js +0 -17
- package/LightBox.d.ts +0 -1
- package/LightBox.js +0 -17
- package/Link.d.ts +0 -1
- package/Link.js +0 -17
- package/List.d.ts +0 -1
- package/List.js +0 -17
- package/Markdown.d.ts +0 -1
- package/Markdown.js +0 -17
- package/Menu.d.ts +0 -1
- package/Menu.js +0 -17
- package/Modal.d.ts +0 -1
- package/Modal.js +0 -17
- package/MultiSelect.d.ts +0 -1
- package/MultiSelect.js +0 -17
- package/Page.d.ts +0 -1
- package/Page.js +0 -17
- package/Popover.d.ts +0 -1
- package/Popover.js +0 -17
- package/ProgressBar.d.ts +0 -1
- package/ProgressBar.js +0 -17
- package/RadioGroup.d.ts +0 -1
- package/RadioGroup.js +0 -17
- package/RecurringSelect.d.ts +0 -1
- package/RecurringSelect.js +0 -17
- package/Select.d.ts +0 -1
- package/Select.js +0 -17
- package/Spinner.d.ts +0 -1
- package/Spinner.js +0 -17
- package/StatusIndicator.d.ts +0 -1
- package/StatusIndicator.js +0 -17
- package/StatusLabel.d.ts +0 -1
- package/StatusLabel.js +0 -17
- package/Switch.d.ts +0 -1
- package/Switch.js +0 -17
- package/Table.d.ts +0 -1
- package/Table.js +0 -17
- package/Tabs.d.ts +0 -1
- package/Tabs.js +0 -17
- package/Text.d.ts +0 -1
- package/Text.js +0 -17
- package/Toast.d.ts +0 -1
- package/Toast.js +0 -17
- package/Tooltip.d.ts +0 -1
- package/Tooltip.js +0 -17
- package/Typography.d.ts +0 -1
- package/Typography.js +0 -17
- package/dist/index.cjs.js +0 -6721
- package/dist/index.esm.js +0 -6603
- package/rollup.config.js +0 -75
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
4
|
+
import { T as Typography } from './Typography-52ed1386.js';
|
|
5
|
+
|
|
6
|
+
var css_248z = ":root {\n --switch--pipSize: calc(var(--space-base) * 1.875);\n --switch--labelWidth: calc(var(--switch--pipSize) * 1.3);\n --switch--borderOffset: calc(var(--border-base) * 2);\n}\n\n:root .jobber-retheme {\n --switch--pipSize: var(--space-base);\n}\n\n.NaSI2jsLI0c-,\n.NaSI2jsLI0c- * {\n box-sizing: border-box;\n transition: all var(--timing-base);\n}\n\n.NaSI2jsLI0c- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n width: calc(((var(--space-base) * 1.875) * 1.3) + (var(--space-base) * 1.875));\n width: calc(calc(calc(var(--space-base) * 1.875) * 1.3) + calc(var(--space-base) * 1.875));\n width: calc(var(--switch--labelWidth) + var(--switch--pipSize));\n padding: 0;\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(var(--space-base) * 1.875);\n border-radius: var(--switch--pipSize);\n overflow: hidden;\n line-height: normal;\n background-color: var(--color-surface--background);\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.jobber-retheme .NaSI2jsLI0c- {\n width: var(--space-largest);\n height: var(--space-large);\n border-color: var(--color-border);\n border-width: var(--border-thick);\n background-color: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.NaSI2jsLI0c-:focus-visible {\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n.jobber-retheme .NaSI2jsLI0c-:hover,\n.jobber-retheme .NaSI2jsLI0c-:focus-visible {\n border-color: var(--color-interactive);\n}\n\n.HbAoDMJhkwY-,\n.jobber-retheme .HbAoDMJhkwY- {\n border-color: var(--color-interactive);\n background-color: var(--color-interactive);\n}\n\n.cc259FtdxeE- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n margin-left: calc(-1 * ((var(--space-base) * 1.875) * 1.3));\n margin-left: calc(-1 * calc(calc(var(--space-base) * 1.875) * 1.3));\n margin-left: calc(-1 * var(--switch--labelWidth));\n pointer-events: none;\n -ms-flex: 1 1 100%;\n flex: 1 1 100%;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.jobber-retheme .cc259FtdxeE- {\n margin-left: -37px;\n}\n\n.HbAoDMJhkwY- .cc259FtdxeE- {\n margin-left: calc(-1 * (var(--border-base) * 2));\n margin-left: calc(-1 * calc(var(--border-base) * 2));\n margin-left: calc(-1 * var(--switch--borderOffset));\n}\n\n.jobber-retheme .HbAoDMJhkwY- .cc259FtdxeE- {\n margin-left: -13px;\n}\n\n.YZ-HIehHOBA- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n min-width: calc((var(--space-base) * 1.875) * 1.3);\n min-width: calc(calc(var(--space-base) * 1.875) * 1.3);\n min-width: var(--switch--labelWidth);\n margin-top: var(--space-minuscule);\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n pointer-events: none;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.YZ-HIehHOBA-:first-of-type {\n padding-left: var(--space-small);\n}\n\n.YZ-HIehHOBA-:last-of-type {\n padding-right: var(--space-small);\n}\n\n.jobber-retheme .YZ-HIehHOBA- {\n opacity: 0;\n}\n\n._2hxova2FHpM- {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: calc(var(--space-base) * 1.875);\n width: var(--switch--pipSize);\n height: calc(var(--space-base) * 1.875);\n height: var(--switch--pipSize);\n border: var(--border-base) solid var(--color-border);\n border-radius: var(--radius-circle);\n background-color: var(--color-surface);\n transition: all var(--timing-quick) ease-out;\n}\n\n.jobber-retheme ._2hxova2FHpM- {\n border: none;\n background-color: var(--color-interactive--subtle);\n}\n\n.HbAoDMJhkwY- ._2hxova2FHpM- {\n border-color: var(--color-green);\n}\n\n.jobber-retheme .HbAoDMJhkwY- ._2hxova2FHpM- {\n background-color: var(--color-surface);\n}\n\n/* Moving this up overwrites disabled styling */\n\n/* stylelint-disable-next-line no-descending-specificity */\n\n._6hWvJHjyLlk- ._2hxova2FHpM- {\n border-color: var(--color-disabled--secondary);\n}\n\n.jobber-retheme ._6hWvJHjyLlk- ._2hxova2FHpM- {\n background-color: var(--color-disabled);\n}\n\n._6hWvJHjyLlk- {\n border-color: var(--color-disabled--secondary);\n background-color: var(--color-surface--background);\n cursor: not-allowed;\n}\n\n.jobber-retheme ._6hWvJHjyLlk- {\n border-color: var(--color-disabled);\n background-color: var(--color-surface);\n cursor: not-allowed;\n}\n\n.jobber-retheme .HbAoDMJhkwY-._6hWvJHjyLlk- {\n background-color: var(--color-disabled);\n}\n\n.jobber-retheme .HbAoDMJhkwY-._6hWvJHjyLlk- ._2hxova2FHpM- {\n background-color: var(--color-surface);\n}\n\n.jobber-retheme ._6hWvJHjyLlk-:hover {\n border-color: var(--color-disabled);\n}\n";
|
|
7
|
+
var styles = {"track":"NaSI2jsLI0c-","isChecked":"HbAoDMJhkwY-","toggle":"cc259FtdxeE-","label":"YZ-HIehHOBA-","pip":"_2hxova2FHpM-","disabled":"_6hWvJHjyLlk-"};
|
|
8
|
+
styleInject(css_248z);
|
|
9
|
+
|
|
10
|
+
function Switch({ value: providedValue, ariaLabel, name, disabled, onChange, }) {
|
|
11
|
+
const [statefulValue, setValue] = useState(false);
|
|
12
|
+
const value = providedValue != undefined ? providedValue : statefulValue;
|
|
13
|
+
const toggleSwitch = () => {
|
|
14
|
+
if (disabled) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const newValue = !value;
|
|
18
|
+
onChange && onChange(newValue);
|
|
19
|
+
if (providedValue == undefined) {
|
|
20
|
+
setValue(newValue);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const className = classnames(styles.track, {
|
|
24
|
+
[styles.isChecked]: value,
|
|
25
|
+
[styles.disabled]: disabled,
|
|
26
|
+
});
|
|
27
|
+
return (React.createElement(React.Fragment, null,
|
|
28
|
+
React.createElement("button", { id: name, type: "button", role: "switch", "aria-checked": value, "aria-label": ariaLabel, className: className, onClick: toggleSwitch, disabled: disabled },
|
|
29
|
+
React.createElement("span", { className: styles.toggle },
|
|
30
|
+
React.createElement(Label, { as: "On", disabled: disabled }),
|
|
31
|
+
React.createElement("span", { className: styles.pip }),
|
|
32
|
+
React.createElement(Label, { as: "Off", disabled: disabled }))),
|
|
33
|
+
React.createElement("input", { name: name, type: "hidden", value: String(value) })));
|
|
34
|
+
}
|
|
35
|
+
function Label({ as, disabled }) {
|
|
36
|
+
const getTextColor = () => {
|
|
37
|
+
if (disabled) {
|
|
38
|
+
return "grey";
|
|
39
|
+
}
|
|
40
|
+
else if (as === "On") {
|
|
41
|
+
return "white";
|
|
42
|
+
}
|
|
43
|
+
return "greyBlue";
|
|
44
|
+
};
|
|
45
|
+
return (React.createElement("span", { className: styles.label },
|
|
46
|
+
React.createElement(Typography, { element: "span", textColor: getTextColor(), size: "small", fontWeight: "bold", textCase: "uppercase" }, as)));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { Switch as S };
|
package/dist/Switch.cjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Switch = require('./Switch-6c6c727b.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('classnames');
|
|
8
|
+
require('./style-inject.es-9d2f5f4e.js');
|
|
9
|
+
require('./Typography-fd88fcce.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.Switch = Switch.Switch;
|
package/dist/Switch.js
ADDED
package/dist/Table.cjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Body = require('./Body-22878526.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('@jobber/formatters');
|
|
8
|
+
require('./style-inject.es-9d2f5f4e.js');
|
|
9
|
+
require('classnames');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.Body = Body.Body;
|
|
14
|
+
exports.Cell = Body.Cell;
|
|
15
|
+
exports.CellCurrency = Body.CellCurrency;
|
|
16
|
+
exports.CellNumeric = Body.CellNumeric;
|
|
17
|
+
exports.Footer = Body.Footer;
|
|
18
|
+
exports.Header = Body.Header;
|
|
19
|
+
exports.Row = Body.Row;
|
|
20
|
+
exports.Table = Body.Table;
|
package/dist/Table.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
4
|
+
import { T as Typography } from './Typography-52ed1386.js';
|
|
5
|
+
|
|
6
|
+
var css_248z = ":root {\n --tab--height: calc(var(--space-larger) + var(--space-small));\n --tab--inset: var(--space-base);\n --public-tab--inset: var(--tab--inset);\n}\n\n.-kxlqXO5UN0- {\n display: block;\n width: 100%;\n}\n\n.qI4lWMSNH40- {\n position: relative;\n border-bottom: solid var(--border-base) var(--color-border);\n}\n\n.xohIah5wcoE-:after,\n.qnY4S9sz-8g-:before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n width: 24px;\n}\n\n.xohIah5wcoE-:after {\n right: 0;\n box-shadow: inset -16px 0 16px -16px rgba(var(--color-black--rgb), 0.25);\n}\n\n.qnY4S9sz-8g-:before {\n left: 0;\n box-shadow: inset 16px 0 16px -16px rgba(var(--color-black--rgb), 0.25);\n}\n\n.wdW31G8Trag- {\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n margin-bottom: calc(-1 * var(--border-base));\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\nul.wdW31G8Trag- {\n -webkit-padding-start: 0;\n padding-left: 0;\n}\n\n.wdW31G8Trag- li {\n display: -ms-flexbox;\n display: flex;\n list-style: none;\n}\n\n.MO7CXQ8xJXo- {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n height: calc(var(--space-larger) + var(--space-small));\n height: var(--tab--height);\n margin: 0;\n padding-left: var(--space-base);\n padding-left: var(--public-tab--inset);\n padding-right: var(--space-base);\n padding-right: var(--public-tab--inset);\n border: solid var(--border-base) var(--color-border);\n border-left-width: 0;\n outline: none;\n background: var(--color-surface);\n cursor: pointer;\n transition: all var(--timing-base);\n}\n\n.MO7CXQ8xJXo-:hover,\n.MO7CXQ8xJXo-:focus {\n background-color: var(--color-surface--hover);\n}\n\n.MO7CXQ8xJXo-:focus span {\n box-shadow: var(--shadow-focus);\n}\n\n.kqof65gyv7g- {\n border-top-color: var(--color-interactive);\n border-bottom-color: var(--color-surface);\n}\n\n.kqof65gyv7g-:focus {\n background-color: transparent;\n}\n\n.AimQioztR1U- {\n padding-top: var(--space-base);\n padding-top: var(--tab--inset);\n padding-bottom: var(--space-base);\n padding-bottom: var(--tab--inset);\n padding-left: var(--space-base);\n padding-left: var(--public-tab--inset);\n padding-right: var(--space-base);\n padding-right: var(--public-tab--inset);\n}\n";
|
|
7
|
+
var styles = {"tabs":"-kxlqXO5UN0-","overflow":"qI4lWMSNH40-","overflowRight":"xohIah5wcoE-","overflowLeft":"qnY4S9sz-8g-","tabRow":"wdW31G8Trag-","tab":"MO7CXQ8xJXo-","selected":"kqof65gyv7g-","tabContent":"AimQioztR1U-"};
|
|
8
|
+
styleInject(css_248z);
|
|
9
|
+
|
|
10
|
+
function Tabs({ children, defaultTab = 0, onTabChange }) {
|
|
11
|
+
const activeTabInitialValue = defaultTab < React.Children.count(children) ? defaultTab : 0;
|
|
12
|
+
const [activeTab, setActiveTab] = useState(activeTabInitialValue);
|
|
13
|
+
const [overflowRight, setOverflowRight] = useState(false);
|
|
14
|
+
const [overflowLeft, setOverflowLeft] = useState(false);
|
|
15
|
+
const tabRow = useRef();
|
|
16
|
+
const overflowClassNames = classnames(styles.overflow, {
|
|
17
|
+
[styles.overflowRight]: overflowRight,
|
|
18
|
+
[styles.overflowLeft]: overflowLeft,
|
|
19
|
+
});
|
|
20
|
+
const activateTab = (index) => {
|
|
21
|
+
return () => {
|
|
22
|
+
setActiveTab(index);
|
|
23
|
+
if (onTabChange) {
|
|
24
|
+
onTabChange(index);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const activeTabProps = React.Children.toArray(children)[activeTab].props;
|
|
29
|
+
const handleOverflowing = () => {
|
|
30
|
+
if (tabRow.current) {
|
|
31
|
+
const scrollWidth = tabRow.current.scrollWidth;
|
|
32
|
+
const clientWidth = tabRow.current.clientWidth;
|
|
33
|
+
const maxScroll = scrollWidth - clientWidth;
|
|
34
|
+
const scrollPos = tabRow.current.scrollLeft;
|
|
35
|
+
if (scrollWidth > clientWidth) {
|
|
36
|
+
setOverflowRight(scrollPos >= 0 && scrollPos != maxScroll);
|
|
37
|
+
setOverflowLeft(scrollPos > 0 && scrollPos < scrollWidth);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
handleOverflowing();
|
|
43
|
+
tabRow.current &&
|
|
44
|
+
tabRow.current.addEventListener("scroll", handleOverflowing);
|
|
45
|
+
return () => {
|
|
46
|
+
window.removeEventListener("scroll", handleOverflowing);
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
return (React.createElement("div", { className: styles.tabs },
|
|
50
|
+
React.createElement("div", { className: overflowClassNames },
|
|
51
|
+
React.createElement("ul", { role: "tablist", className: styles.tabRow, ref: tabRow },
|
|
52
|
+
React.createElement("li", { role: "presentation" }, React.Children.map(children, (tab, index) => (React.createElement(InternalTab, { label: tab.props.label, selected: activeTab === index, activateTab: activateTab(index), onClick: tab.props.onClick })))))),
|
|
53
|
+
React.createElement("section", { role: "tabpanel", className: styles.tabContent, "aria-label": activeTabProps.label }, activeTabProps.children)));
|
|
54
|
+
}
|
|
55
|
+
function Tab({ label }) {
|
|
56
|
+
return React.createElement(React.Fragment, null, label);
|
|
57
|
+
}
|
|
58
|
+
function InternalTab({ label, selected, activateTab, onClick = () => {
|
|
59
|
+
return;
|
|
60
|
+
}, }) {
|
|
61
|
+
const className = classnames(styles.tab, { [styles.selected]: selected });
|
|
62
|
+
const color = selected ? "green" : "heading";
|
|
63
|
+
return (React.createElement("button", { type: "button", role: "tab", id: label, className: className, onClick: event => {
|
|
64
|
+
activateTab();
|
|
65
|
+
onClick(event);
|
|
66
|
+
} },
|
|
67
|
+
React.createElement(Typography, { element: "span", size: "base", textColor: color }, label)));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { Tabs as T, Tab as a };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
6
|
+
var Typography = require('./Typography-fd88fcce.js');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
12
|
+
|
|
13
|
+
var css_248z = ":root {\n --tab--height: calc(var(--space-larger) + var(--space-small));\n --tab--inset: var(--space-base);\n --public-tab--inset: var(--tab--inset);\n}\n\n.-kxlqXO5UN0- {\n display: block;\n width: 100%;\n}\n\n.qI4lWMSNH40- {\n position: relative;\n border-bottom: solid var(--border-base) var(--color-border);\n}\n\n.xohIah5wcoE-:after,\n.qnY4S9sz-8g-:before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n width: 24px;\n}\n\n.xohIah5wcoE-:after {\n right: 0;\n box-shadow: inset -16px 0 16px -16px rgba(var(--color-black--rgb), 0.25);\n}\n\n.qnY4S9sz-8g-:before {\n left: 0;\n box-shadow: inset 16px 0 16px -16px rgba(var(--color-black--rgb), 0.25);\n}\n\n.wdW31G8Trag- {\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n margin-bottom: calc(-1 * var(--border-base));\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\nul.wdW31G8Trag- {\n -webkit-padding-start: 0;\n padding-left: 0;\n}\n\n.wdW31G8Trag- li {\n display: -ms-flexbox;\n display: flex;\n list-style: none;\n}\n\n.MO7CXQ8xJXo- {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n height: calc(var(--space-larger) + var(--space-small));\n height: var(--tab--height);\n margin: 0;\n padding-left: var(--space-base);\n padding-left: var(--public-tab--inset);\n padding-right: var(--space-base);\n padding-right: var(--public-tab--inset);\n border: solid var(--border-base) var(--color-border);\n border-left-width: 0;\n outline: none;\n background: var(--color-surface);\n cursor: pointer;\n transition: all var(--timing-base);\n}\n\n.MO7CXQ8xJXo-:hover,\n.MO7CXQ8xJXo-:focus {\n background-color: var(--color-surface--hover);\n}\n\n.MO7CXQ8xJXo-:focus span {\n box-shadow: var(--shadow-focus);\n}\n\n.kqof65gyv7g- {\n border-top-color: var(--color-interactive);\n border-bottom-color: var(--color-surface);\n}\n\n.kqof65gyv7g-:focus {\n background-color: transparent;\n}\n\n.AimQioztR1U- {\n padding-top: var(--space-base);\n padding-top: var(--tab--inset);\n padding-bottom: var(--space-base);\n padding-bottom: var(--tab--inset);\n padding-left: var(--space-base);\n padding-left: var(--public-tab--inset);\n padding-right: var(--space-base);\n padding-right: var(--public-tab--inset);\n}\n";
|
|
14
|
+
var styles = {"tabs":"-kxlqXO5UN0-","overflow":"qI4lWMSNH40-","overflowRight":"xohIah5wcoE-","overflowLeft":"qnY4S9sz-8g-","tabRow":"wdW31G8Trag-","tab":"MO7CXQ8xJXo-","selected":"kqof65gyv7g-","tabContent":"AimQioztR1U-"};
|
|
15
|
+
styleInject_es.styleInject(css_248z);
|
|
16
|
+
|
|
17
|
+
function Tabs({ children, defaultTab = 0, onTabChange }) {
|
|
18
|
+
const activeTabInitialValue = defaultTab < React__default["default"].Children.count(children) ? defaultTab : 0;
|
|
19
|
+
const [activeTab, setActiveTab] = React.useState(activeTabInitialValue);
|
|
20
|
+
const [overflowRight, setOverflowRight] = React.useState(false);
|
|
21
|
+
const [overflowLeft, setOverflowLeft] = React.useState(false);
|
|
22
|
+
const tabRow = React.useRef();
|
|
23
|
+
const overflowClassNames = classnames__default["default"](styles.overflow, {
|
|
24
|
+
[styles.overflowRight]: overflowRight,
|
|
25
|
+
[styles.overflowLeft]: overflowLeft,
|
|
26
|
+
});
|
|
27
|
+
const activateTab = (index) => {
|
|
28
|
+
return () => {
|
|
29
|
+
setActiveTab(index);
|
|
30
|
+
if (onTabChange) {
|
|
31
|
+
onTabChange(index);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const activeTabProps = React__default["default"].Children.toArray(children)[activeTab].props;
|
|
36
|
+
const handleOverflowing = () => {
|
|
37
|
+
if (tabRow.current) {
|
|
38
|
+
const scrollWidth = tabRow.current.scrollWidth;
|
|
39
|
+
const clientWidth = tabRow.current.clientWidth;
|
|
40
|
+
const maxScroll = scrollWidth - clientWidth;
|
|
41
|
+
const scrollPos = tabRow.current.scrollLeft;
|
|
42
|
+
if (scrollWidth > clientWidth) {
|
|
43
|
+
setOverflowRight(scrollPos >= 0 && scrollPos != maxScroll);
|
|
44
|
+
setOverflowLeft(scrollPos > 0 && scrollPos < scrollWidth);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
handleOverflowing();
|
|
50
|
+
tabRow.current &&
|
|
51
|
+
tabRow.current.addEventListener("scroll", handleOverflowing);
|
|
52
|
+
return () => {
|
|
53
|
+
window.removeEventListener("scroll", handleOverflowing);
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
return (React__default["default"].createElement("div", { className: styles.tabs },
|
|
57
|
+
React__default["default"].createElement("div", { className: overflowClassNames },
|
|
58
|
+
React__default["default"].createElement("ul", { role: "tablist", className: styles.tabRow, ref: tabRow },
|
|
59
|
+
React__default["default"].createElement("li", { role: "presentation" }, React__default["default"].Children.map(children, (tab, index) => (React__default["default"].createElement(InternalTab, { label: tab.props.label, selected: activeTab === index, activateTab: activateTab(index), onClick: tab.props.onClick })))))),
|
|
60
|
+
React__default["default"].createElement("section", { role: "tabpanel", className: styles.tabContent, "aria-label": activeTabProps.label }, activeTabProps.children)));
|
|
61
|
+
}
|
|
62
|
+
function Tab({ label }) {
|
|
63
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, label);
|
|
64
|
+
}
|
|
65
|
+
function InternalTab({ label, selected, activateTab, onClick = () => {
|
|
66
|
+
return;
|
|
67
|
+
}, }) {
|
|
68
|
+
const className = classnames__default["default"](styles.tab, { [styles.selected]: selected });
|
|
69
|
+
const color = selected ? "green" : "heading";
|
|
70
|
+
return (React__default["default"].createElement("button", { type: "button", role: "tab", id: label, className: className, onClick: event => {
|
|
71
|
+
activateTab();
|
|
72
|
+
onClick(event);
|
|
73
|
+
} },
|
|
74
|
+
React__default["default"].createElement(Typography.Typography, { element: "span", size: "base", textColor: color }, label)));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
exports.Tab = Tab;
|
|
78
|
+
exports.Tabs = Tabs;
|
package/dist/Tabs.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Tabs = require('./Tabs-d6c8b965.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('classnames');
|
|
8
|
+
require('./style-inject.es-9d2f5f4e.js');
|
|
9
|
+
require('./Typography-fd88fcce.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.Tab = Tabs.Tab;
|
|
14
|
+
exports.Tabs = Tabs.Tabs;
|
package/dist/Tabs.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var Typography = require('./Typography-fd88fcce.js');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
+
|
|
8
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
9
|
+
|
|
10
|
+
function Text({ variation = "default", size = "base", align = "start", children, maxLines = "unlimited", }) {
|
|
11
|
+
const textColors = {
|
|
12
|
+
default: "text",
|
|
13
|
+
subdued: "textSecondary",
|
|
14
|
+
success: "success",
|
|
15
|
+
error: "critical",
|
|
16
|
+
warn: "warning",
|
|
17
|
+
info: "informative",
|
|
18
|
+
disabled: "disabled",
|
|
19
|
+
};
|
|
20
|
+
const maxLineToNumber = {
|
|
21
|
+
single: 1,
|
|
22
|
+
small: 2,
|
|
23
|
+
base: 4,
|
|
24
|
+
large: 8,
|
|
25
|
+
larger: 16,
|
|
26
|
+
unlimited: undefined,
|
|
27
|
+
};
|
|
28
|
+
return (React__default["default"].createElement(Typography.Typography, { textColor: textColors[variation], size: size, numberOfLines: maxLineToNumber[maxLines], align: align }, children));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.Text = Text;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { T as Typography } from './Typography-52ed1386.js';
|
|
3
|
+
|
|
4
|
+
function Text({ variation = "default", size = "base", align = "start", children, maxLines = "unlimited", }) {
|
|
5
|
+
const textColors = {
|
|
6
|
+
default: "text",
|
|
7
|
+
subdued: "textSecondary",
|
|
8
|
+
success: "success",
|
|
9
|
+
error: "critical",
|
|
10
|
+
warn: "warning",
|
|
11
|
+
info: "informative",
|
|
12
|
+
disabled: "disabled",
|
|
13
|
+
};
|
|
14
|
+
const maxLineToNumber = {
|
|
15
|
+
single: 1,
|
|
16
|
+
small: 2,
|
|
17
|
+
base: 4,
|
|
18
|
+
large: 8,
|
|
19
|
+
larger: 16,
|
|
20
|
+
unlimited: undefined,
|
|
21
|
+
};
|
|
22
|
+
return (React.createElement(Typography, { textColor: textColors[variation], size: size, numberOfLines: maxLineToNumber[maxLines], align: align }, children));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { Text as T };
|
package/dist/Text.cjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Text = require('./Text-714f7d14.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('./Typography-fd88fcce.js');
|
|
8
|
+
require('classnames');
|
|
9
|
+
require('./style-inject.es-9d2f5f4e.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.Text = Text.Text;
|
package/dist/Text.js
ADDED
package/dist/Toast.cjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var showToast = require('./showToast-63be1cf0.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('react-dom/client');
|
|
8
|
+
require('framer-motion');
|
|
9
|
+
require('./style-inject.es-9d2f5f4e.js');
|
|
10
|
+
require('./Icon-405a216c.js');
|
|
11
|
+
require('@jobber/design');
|
|
12
|
+
require('./Button-ec64869e.js');
|
|
13
|
+
require('classnames');
|
|
14
|
+
require('react-router-dom');
|
|
15
|
+
require('./Typography-fd88fcce.js');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
exports.showToast = showToast.showToast;
|
package/dist/Toast.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { s as showToast } from './showToast-ff666be8.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'react-dom/client';
|
|
4
|
+
import 'framer-motion';
|
|
5
|
+
import './style-inject.es-a0e1a0ba.js';
|
|
6
|
+
import './Icon-22723fe6.js';
|
|
7
|
+
import '@jobber/design';
|
|
8
|
+
import './Button-30154871.js';
|
|
9
|
+
import 'classnames';
|
|
10
|
+
import 'react-router-dom';
|
|
11
|
+
import './Typography-52ed1386.js';
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var ReactDOM = require('react-dom');
|
|
6
|
+
var framerMotion = require('framer-motion');
|
|
7
|
+
var useSafeLayoutEffect = require('@jobber/hooks/useSafeLayoutEffect');
|
|
8
|
+
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
9
|
+
var reactPopper = require('react-popper');
|
|
10
|
+
|
|
11
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
+
|
|
13
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
15
|
+
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
16
|
+
|
|
17
|
+
var css_248z = ":root {\n --tooltip--arrow-size: var(--space-small);\n --tooltip--offset: calc(-1 * var(--space-smaller));\n --tooltip--surface: var(--color-surface--reverse);\n}\n\n.q07bkGoq714- {\n display: none;\n}\n\n.dkCTRfc3vYk- {\n display: inline-block;\n position: absolute;\n z-index: var(--elevation-tooltip);\n pointer-events: none;\n}\n\n.yAFP4gRKlTM- {\n display: inline-block;\n position: relative;\n max-width: calc(var(--base-unit) * 15);\n padding: calc(var(--space-base) - var(--space-smallest)) var(--space-base);\n border-radius: var(--radius-larger);\n background-color: var(--color-surface--reverse);\n background-color: var(--tooltip--surface);\n}\n\n.jobber-retheme .yAFP4gRKlTM- {\n border-radius: var(--radius-base);\n}\n\n.yAFP4gRKlTM- .j9KgRON7iTU-,\n.yAFP4gRKlTM- .j9KgRON7iTU-::after {\n width: var(--space-small);\n width: var(--tooltip--arrow-size);\n height: var(--space-small);\n height: var(--tooltip--arrow-size);\n background-color: transparent;\n}\n\n.yAFP4gRKlTM- .j9KgRON7iTU-::after {\n content: \"\";\n display: block;\n position: absolute;\n background-color: var(--color-surface--reverse);\n background-color: var(--tooltip--surface);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n.B6uh34-qEuA- {\n padding-bottom: var(--space-small);\n}\n\n.B6uh34-qEuA- .yAFP4gRKlTM- {\n -webkit-transform-origin: bottom center;\n transform-origin: bottom center;\n}\n\n.B6uh34-qEuA- .yAFP4gRKlTM- .j9KgRON7iTU- {\n bottom: calc(-1 * var(--space-smaller));\n bottom: var(--tooltip--offset);\n}\n\n.B6uh34-qEuA- .yAFP4gRKlTM- .j9KgRON7iTU-::after {\n border-top-width: 0;\n border-left-width: 0;\n}\n\n.Wft7Ug-lXEc- {\n padding-top: var(--space-small);\n}\n\n.Wft7Ug-lXEc- .yAFP4gRKlTM- {\n -webkit-transform-origin: top center;\n transform-origin: top center;\n}\n\n.Wft7Ug-lXEc- .yAFP4gRKlTM- .j9KgRON7iTU- {\n top: calc(-1 * var(--space-smaller));\n top: var(--tooltip--offset);\n}\n\n.Wft7Ug-lXEc- .yAFP4gRKlTM- .j9KgRON7iTU-::after {\n border-bottom-width: 0;\n border-right-width: 0;\n}\n\n.TpdeLUuiQMg- {\n margin: 0;\n color: var(--color-text--reverse);\n font-size: var(--typography--fontSize-base);\n font-weight: 600;\n line-height: var(--typography--lineHeight-base);\n}\n";
|
|
18
|
+
var styles = {"shadowActivator":"q07bkGoq714-","tooltipWrapper":"dkCTRfc3vYk-","tooltip":"yAFP4gRKlTM-","arrow":"j9KgRON7iTU-","above":"B6uh34-qEuA-","below":"Wft7Ug-lXEc-","tooltipMessage":"TpdeLUuiQMg-"};
|
|
19
|
+
styleInject_es.styleInject(css_248z);
|
|
20
|
+
|
|
21
|
+
function useTooltipPositioning() {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
const shadowRef = React.useRef(null);
|
|
24
|
+
const [positionElement, setTooltipRef] = React.useState();
|
|
25
|
+
const [arrowElement, setArrowRef] = React.useState();
|
|
26
|
+
const popper = reactPopper.usePopper((_a = shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling, positionElement, {
|
|
27
|
+
placement: "top",
|
|
28
|
+
modifiers: [
|
|
29
|
+
{ name: "flip", options: { fallbackPlacements: ["bottom"] } },
|
|
30
|
+
{
|
|
31
|
+
name: "arrow",
|
|
32
|
+
options: { element: arrowElement },
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
});
|
|
36
|
+
return Object.assign(Object.assign({}, popper), { placement: (_b = popper.state) === null || _b === void 0 ? void 0 : _b.placement, shadowRef,
|
|
37
|
+
setArrowRef,
|
|
38
|
+
setTooltipRef });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const variation = {
|
|
42
|
+
startOrStop: { scale: 0.6, opacity: 0 },
|
|
43
|
+
done: { scale: 1, opacity: 1 },
|
|
44
|
+
};
|
|
45
|
+
function Tooltip({ message, children }) {
|
|
46
|
+
const [show, setShow] = React.useState(false);
|
|
47
|
+
const { attributes, placement, shadowRef, styles: popperStyles, setArrowRef, setTooltipRef, } = useTooltipPositioning();
|
|
48
|
+
initializeListeners();
|
|
49
|
+
const toolTipClassNames = classnames__default["default"](styles.tooltipWrapper, placement === "bottom" && styles.below, placement === "top" && styles.above);
|
|
50
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
51
|
+
React__default["default"].createElement("span", { className: styles.shadowActivator, ref: shadowRef }),
|
|
52
|
+
children,
|
|
53
|
+
React__default["default"].createElement(TooltipPortal, null, show && Boolean(message) && (React__default["default"].createElement("div", Object.assign({ className: toolTipClassNames, style: popperStyles.popper, ref: setTooltipRef, role: "tooltip" }, attributes.popper),
|
|
54
|
+
React__default["default"].createElement(framerMotion.motion.div, { className: styles.tooltip, variants: variation, initial: "startOrStop", animate: "done", exit: "startOrStop", transition: {
|
|
55
|
+
damping: 50,
|
|
56
|
+
stiffness: 500,
|
|
57
|
+
} },
|
|
58
|
+
React__default["default"].createElement("p", { className: styles.tooltipMessage }, message),
|
|
59
|
+
React__default["default"].createElement("div", { ref: setArrowRef, style: popperStyles.arrow, className: styles.arrow })))))));
|
|
60
|
+
function initializeListeners() {
|
|
61
|
+
const showTooltip = () => {
|
|
62
|
+
setShow(true);
|
|
63
|
+
};
|
|
64
|
+
const hideTooltip = () => {
|
|
65
|
+
setShow(false);
|
|
66
|
+
};
|
|
67
|
+
const injectAttributes = () => {
|
|
68
|
+
var _a;
|
|
69
|
+
if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
|
|
70
|
+
const activator = shadowRef.current.nextElementSibling;
|
|
71
|
+
// Manually inject "aria-description" and "tabindex" to let the screen
|
|
72
|
+
// readers read the tooltip message.
|
|
73
|
+
// This is to avoid having to add those attribute as a prop on every
|
|
74
|
+
// component we have.
|
|
75
|
+
activator.setAttribute("aria-description", message);
|
|
76
|
+
activator.setAttribute("tabindex", "0"); // enable focus
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const addListeners = () => {
|
|
80
|
+
var _a;
|
|
81
|
+
if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
|
|
82
|
+
const activator = shadowRef.current.nextElementSibling;
|
|
83
|
+
activator.addEventListener("mouseenter", showTooltip);
|
|
84
|
+
activator.addEventListener("mouseleave", hideTooltip);
|
|
85
|
+
activator.addEventListener("focus", showTooltip);
|
|
86
|
+
activator.addEventListener("blur", hideTooltip);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const removeListeners = () => {
|
|
90
|
+
var _a;
|
|
91
|
+
if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
|
|
92
|
+
const activator = shadowRef.current.nextElementSibling;
|
|
93
|
+
activator.removeEventListener("mouseenter", showTooltip);
|
|
94
|
+
activator.removeEventListener("mouseleave", hideTooltip);
|
|
95
|
+
activator.removeEventListener("focus", showTooltip);
|
|
96
|
+
activator.removeEventListener("blur", hideTooltip);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
useSafeLayoutEffect.useSafeLayoutEffect(() => {
|
|
100
|
+
injectAttributes();
|
|
101
|
+
addListeners();
|
|
102
|
+
return () => {
|
|
103
|
+
removeListeners();
|
|
104
|
+
};
|
|
105
|
+
}, []);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function TooltipPortal({ children }) {
|
|
109
|
+
return ReactDOM__default["default"].createPortal(children, document.body);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
exports.Tooltip = Tooltip;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import React, { useRef, useState } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import ReactDOM from 'react-dom';
|
|
4
|
+
import { motion } from 'framer-motion';
|
|
5
|
+
import { useSafeLayoutEffect } from '@jobber/hooks/useSafeLayoutEffect';
|
|
6
|
+
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
7
|
+
import { usePopper } from 'react-popper';
|
|
8
|
+
|
|
9
|
+
var css_248z = ":root {\n --tooltip--arrow-size: var(--space-small);\n --tooltip--offset: calc(-1 * var(--space-smaller));\n --tooltip--surface: var(--color-surface--reverse);\n}\n\n.q07bkGoq714- {\n display: none;\n}\n\n.dkCTRfc3vYk- {\n display: inline-block;\n position: absolute;\n z-index: var(--elevation-tooltip);\n pointer-events: none;\n}\n\n.yAFP4gRKlTM- {\n display: inline-block;\n position: relative;\n max-width: calc(var(--base-unit) * 15);\n padding: calc(var(--space-base) - var(--space-smallest)) var(--space-base);\n border-radius: var(--radius-larger);\n background-color: var(--color-surface--reverse);\n background-color: var(--tooltip--surface);\n}\n\n.jobber-retheme .yAFP4gRKlTM- {\n border-radius: var(--radius-base);\n}\n\n.yAFP4gRKlTM- .j9KgRON7iTU-,\n.yAFP4gRKlTM- .j9KgRON7iTU-::after {\n width: var(--space-small);\n width: var(--tooltip--arrow-size);\n height: var(--space-small);\n height: var(--tooltip--arrow-size);\n background-color: transparent;\n}\n\n.yAFP4gRKlTM- .j9KgRON7iTU-::after {\n content: \"\";\n display: block;\n position: absolute;\n background-color: var(--color-surface--reverse);\n background-color: var(--tooltip--surface);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n.B6uh34-qEuA- {\n padding-bottom: var(--space-small);\n}\n\n.B6uh34-qEuA- .yAFP4gRKlTM- {\n -webkit-transform-origin: bottom center;\n transform-origin: bottom center;\n}\n\n.B6uh34-qEuA- .yAFP4gRKlTM- .j9KgRON7iTU- {\n bottom: calc(-1 * var(--space-smaller));\n bottom: var(--tooltip--offset);\n}\n\n.B6uh34-qEuA- .yAFP4gRKlTM- .j9KgRON7iTU-::after {\n border-top-width: 0;\n border-left-width: 0;\n}\n\n.Wft7Ug-lXEc- {\n padding-top: var(--space-small);\n}\n\n.Wft7Ug-lXEc- .yAFP4gRKlTM- {\n -webkit-transform-origin: top center;\n transform-origin: top center;\n}\n\n.Wft7Ug-lXEc- .yAFP4gRKlTM- .j9KgRON7iTU- {\n top: calc(-1 * var(--space-smaller));\n top: var(--tooltip--offset);\n}\n\n.Wft7Ug-lXEc- .yAFP4gRKlTM- .j9KgRON7iTU-::after {\n border-bottom-width: 0;\n border-right-width: 0;\n}\n\n.TpdeLUuiQMg- {\n margin: 0;\n color: var(--color-text--reverse);\n font-size: var(--typography--fontSize-base);\n font-weight: 600;\n line-height: var(--typography--lineHeight-base);\n}\n";
|
|
10
|
+
var styles = {"shadowActivator":"q07bkGoq714-","tooltipWrapper":"dkCTRfc3vYk-","tooltip":"yAFP4gRKlTM-","arrow":"j9KgRON7iTU-","above":"B6uh34-qEuA-","below":"Wft7Ug-lXEc-","tooltipMessage":"TpdeLUuiQMg-"};
|
|
11
|
+
styleInject(css_248z);
|
|
12
|
+
|
|
13
|
+
function useTooltipPositioning() {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
const shadowRef = useRef(null);
|
|
16
|
+
const [positionElement, setTooltipRef] = useState();
|
|
17
|
+
const [arrowElement, setArrowRef] = useState();
|
|
18
|
+
const popper = usePopper((_a = shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling, positionElement, {
|
|
19
|
+
placement: "top",
|
|
20
|
+
modifiers: [
|
|
21
|
+
{ name: "flip", options: { fallbackPlacements: ["bottom"] } },
|
|
22
|
+
{
|
|
23
|
+
name: "arrow",
|
|
24
|
+
options: { element: arrowElement },
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
return Object.assign(Object.assign({}, popper), { placement: (_b = popper.state) === null || _b === void 0 ? void 0 : _b.placement, shadowRef,
|
|
29
|
+
setArrowRef,
|
|
30
|
+
setTooltipRef });
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const variation = {
|
|
34
|
+
startOrStop: { scale: 0.6, opacity: 0 },
|
|
35
|
+
done: { scale: 1, opacity: 1 },
|
|
36
|
+
};
|
|
37
|
+
function Tooltip({ message, children }) {
|
|
38
|
+
const [show, setShow] = useState(false);
|
|
39
|
+
const { attributes, placement, shadowRef, styles: popperStyles, setArrowRef, setTooltipRef, } = useTooltipPositioning();
|
|
40
|
+
initializeListeners();
|
|
41
|
+
const toolTipClassNames = classnames(styles.tooltipWrapper, placement === "bottom" && styles.below, placement === "top" && styles.above);
|
|
42
|
+
return (React.createElement(React.Fragment, null,
|
|
43
|
+
React.createElement("span", { className: styles.shadowActivator, ref: shadowRef }),
|
|
44
|
+
children,
|
|
45
|
+
React.createElement(TooltipPortal, null, show && Boolean(message) && (React.createElement("div", Object.assign({ className: toolTipClassNames, style: popperStyles.popper, ref: setTooltipRef, role: "tooltip" }, attributes.popper),
|
|
46
|
+
React.createElement(motion.div, { className: styles.tooltip, variants: variation, initial: "startOrStop", animate: "done", exit: "startOrStop", transition: {
|
|
47
|
+
damping: 50,
|
|
48
|
+
stiffness: 500,
|
|
49
|
+
} },
|
|
50
|
+
React.createElement("p", { className: styles.tooltipMessage }, message),
|
|
51
|
+
React.createElement("div", { ref: setArrowRef, style: popperStyles.arrow, className: styles.arrow })))))));
|
|
52
|
+
function initializeListeners() {
|
|
53
|
+
const showTooltip = () => {
|
|
54
|
+
setShow(true);
|
|
55
|
+
};
|
|
56
|
+
const hideTooltip = () => {
|
|
57
|
+
setShow(false);
|
|
58
|
+
};
|
|
59
|
+
const injectAttributes = () => {
|
|
60
|
+
var _a;
|
|
61
|
+
if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
|
|
62
|
+
const activator = shadowRef.current.nextElementSibling;
|
|
63
|
+
// Manually inject "aria-description" and "tabindex" to let the screen
|
|
64
|
+
// readers read the tooltip message.
|
|
65
|
+
// This is to avoid having to add those attribute as a prop on every
|
|
66
|
+
// component we have.
|
|
67
|
+
activator.setAttribute("aria-description", message);
|
|
68
|
+
activator.setAttribute("tabindex", "0"); // enable focus
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const addListeners = () => {
|
|
72
|
+
var _a;
|
|
73
|
+
if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
|
|
74
|
+
const activator = shadowRef.current.nextElementSibling;
|
|
75
|
+
activator.addEventListener("mouseenter", showTooltip);
|
|
76
|
+
activator.addEventListener("mouseleave", hideTooltip);
|
|
77
|
+
activator.addEventListener("focus", showTooltip);
|
|
78
|
+
activator.addEventListener("blur", hideTooltip);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const removeListeners = () => {
|
|
82
|
+
var _a;
|
|
83
|
+
if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
|
|
84
|
+
const activator = shadowRef.current.nextElementSibling;
|
|
85
|
+
activator.removeEventListener("mouseenter", showTooltip);
|
|
86
|
+
activator.removeEventListener("mouseleave", hideTooltip);
|
|
87
|
+
activator.removeEventListener("focus", showTooltip);
|
|
88
|
+
activator.removeEventListener("blur", hideTooltip);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
useSafeLayoutEffect(() => {
|
|
92
|
+
injectAttributes();
|
|
93
|
+
addListeners();
|
|
94
|
+
return () => {
|
|
95
|
+
removeListeners();
|
|
96
|
+
};
|
|
97
|
+
}, []);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function TooltipPortal({ children }) {
|
|
101
|
+
return ReactDOM.createPortal(children, document.body);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export { Tooltip as T };
|
package/dist/Tooltip.cjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Tooltip = require('./Tooltip-2e477150.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('classnames');
|
|
8
|
+
require('react-dom');
|
|
9
|
+
require('framer-motion');
|
|
10
|
+
require('@jobber/hooks/useSafeLayoutEffect');
|
|
11
|
+
require('./style-inject.es-9d2f5f4e.js');
|
|
12
|
+
require('react-popper');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
exports.Tooltip = Tooltip.Tooltip;
|