@jobber/components 4.85.4-CJS-to-ESM.2 → 4.85.4
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/.eslintrc.js +10 -0
- package/AnimatedPresence.d.ts +1 -0
- package/AnimatedPresence.js +17 -0
- package/AnimatedSwitcher.d.ts +1 -0
- package/AnimatedSwitcher.js +17 -0
- package/Autocomplete.d.ts +1 -0
- package/Autocomplete.js +17 -0
- package/Avatar.d.ts +1 -0
- package/Avatar.js +17 -0
- package/Banner.d.ts +1 -0
- package/Banner.js +17 -0
- package/Button.d.ts +1 -0
- package/Button.js +17 -0
- package/ButtonDismiss.d.ts +1 -0
- package/ButtonDismiss.js +17 -0
- package/Card.d.ts +1 -0
- package/Card.js +17 -0
- package/Checkbox.d.ts +1 -0
- package/Checkbox.js +17 -0
- package/Chip.d.ts +1 -0
- package/Chip.js +17 -0
- package/Chips.d.ts +1 -0
- package/Chips.js +17 -0
- package/Combobox.d.ts +1 -0
- package/Combobox.js +17 -0
- package/ConfirmationModal.d.ts +1 -0
- package/ConfirmationModal.js +17 -0
- package/Content.d.ts +1 -0
- package/Content.js +17 -0
- package/Countdown.d.ts +1 -0
- package/Countdown.js +17 -0
- package/DataDump.d.ts +1 -0
- package/DataDump.js +17 -0
- package/DataList.d.ts +1 -0
- package/DataList.js +17 -0
- package/DataTable.d.ts +1 -0
- package/DataTable.js +17 -0
- package/DatePicker.d.ts +1 -0
- package/DatePicker.js +17 -0
- package/DescriptionList.d.ts +1 -0
- package/DescriptionList.js +17 -0
- package/Disclosure.d.ts +1 -0
- package/Disclosure.js +17 -0
- package/Divider.d.ts +1 -0
- package/Divider.js +17 -0
- package/Drawer.d.ts +1 -0
- package/Drawer.js +17 -0
- package/Emphasis.d.ts +1 -0
- package/Emphasis.js +17 -0
- package/FeatureSwitch.d.ts +1 -0
- package/FeatureSwitch.js +17 -0
- package/Flex.d.ts +1 -0
- package/Flex.js +17 -0
- package/Form.d.ts +1 -0
- package/Form.js +17 -0
- package/FormField.d.ts +1 -0
- package/FormField.js +17 -0
- package/FormatDate.d.ts +1 -0
- package/FormatDate.js +17 -0
- package/FormatEmail.d.ts +1 -0
- package/FormatEmail.js +17 -0
- package/FormatFile.d.ts +1 -0
- package/FormatFile.js +17 -0
- package/FormatRelativeDateTime.d.ts +1 -0
- package/FormatRelativeDateTime.js +17 -0
- package/FormatTime.d.ts +1 -0
- package/FormatTime.js +17 -0
- package/Gallery.d.ts +1 -0
- package/Gallery.js +17 -0
- package/Glimmer.d.ts +1 -0
- package/Glimmer.js +17 -0
- package/Grid.d.ts +1 -0
- package/Grid.js +17 -0
- package/Heading.d.ts +1 -0
- package/Heading.js +17 -0
- package/Icon.d.ts +1 -0
- package/Icon.js +17 -0
- package/InlineLabel.d.ts +1 -0
- package/InlineLabel.js +17 -0
- package/InputAvatar.d.ts +1 -0
- package/InputAvatar.js +17 -0
- package/InputDate.d.ts +1 -0
- package/InputDate.js +17 -0
- package/InputEmail.d.ts +1 -0
- package/InputEmail.js +17 -0
- package/InputFile.d.ts +1 -0
- package/InputFile.js +17 -0
- package/InputGroup.d.ts +1 -0
- package/InputGroup.js +17 -0
- package/InputNumber.d.ts +1 -0
- package/InputNumber.js +17 -0
- package/InputPassword.d.ts +1 -0
- package/InputPassword.js +17 -0
- package/InputPhoneNumber.d.ts +1 -0
- package/InputPhoneNumber.js +17 -0
- package/InputText.d.ts +1 -0
- package/InputText.js +17 -0
- package/InputTime.d.ts +1 -0
- package/InputTime.js +17 -0
- package/InputValidation.d.ts +1 -0
- package/InputValidation.js +17 -0
- package/LightBox.d.ts +1 -0
- package/LightBox.js +17 -0
- package/Link.d.ts +1 -0
- package/Link.js +17 -0
- package/List.d.ts +1 -0
- package/List.js +17 -0
- package/Markdown.d.ts +1 -0
- package/Markdown.js +17 -0
- package/Menu.d.ts +1 -0
- package/Menu.js +17 -0
- package/Modal.d.ts +1 -0
- package/Modal.js +17 -0
- package/MultiSelect.d.ts +1 -0
- package/MultiSelect.js +17 -0
- package/Page.d.ts +1 -0
- package/Page.js +17 -0
- package/Popover.d.ts +1 -0
- package/Popover.js +17 -0
- package/ProgressBar.d.ts +1 -0
- package/ProgressBar.js +17 -0
- package/RadioGroup.d.ts +1 -0
- package/RadioGroup.js +17 -0
- package/RecurringSelect.d.ts +1 -0
- package/RecurringSelect.js +17 -0
- package/Select.d.ts +1 -0
- package/Select.js +17 -0
- package/Spinner.d.ts +1 -0
- package/Spinner.js +17 -0
- package/StatusIndicator.d.ts +1 -0
- package/StatusIndicator.js +17 -0
- package/StatusLabel.d.ts +1 -0
- package/StatusLabel.js +17 -0
- package/Switch.d.ts +1 -0
- package/Switch.js +17 -0
- package/Table.d.ts +1 -0
- package/Table.js +17 -0
- package/Tabs.d.ts +1 -0
- package/Tabs.js +17 -0
- package/Text.d.ts +1 -0
- package/Text.js +17 -0
- package/Toast.d.ts +1 -0
- package/Toast.js +17 -0
- package/Tooltip.d.ts +1 -0
- package/Tooltip.js +17 -0
- package/Typography.d.ts +1 -0
- package/Typography.js +17 -0
- package/dist/{AnimatedPresence.cjs → AnimatedPresence/index.js} +1 -1
- package/dist/{AnimatedSwitcher.cjs → AnimatedSwitcher/index.js} +2 -2
- package/dist/{Autocomplete-b35c7ff5.js → Autocomplete/index.js} +20 -7
- package/dist/{Avatar.cjs → Avatar/index.js} +3 -3
- package/dist/{Avatar-cccf72b9.js → Avatar-76a799fa.js} +1 -1
- package/dist/Banner/index.js +110 -0
- package/dist/{Button.cjs → Button/index.js} +4 -4
- package/dist/Button-b73a5e01.js +57 -0
- package/dist/{ButtonDismiss.cjs → ButtonDismiss/index.js} +5 -5
- package/dist/{ButtonDismiss-d7417429.js → ButtonDismiss-350af163.js} +1 -1
- package/dist/Card/colors.css.d.ts +89 -0
- package/dist/{Card.cjs → Card/index.js} +8 -8
- package/dist/{Card-27375ded.js → Card-e3144022.js} +4 -4
- package/dist/Checkbox/index.js +18 -0
- package/dist/{Checkbox-b6e46d80.js → Checkbox-787e2e47.js} +2 -2
- package/dist/{ChipDismissible-a8ecc894.js → Chip/index.js} +18 -3
- package/dist/Chip-3d1bfddc.js +89 -0
- package/dist/{Chips-a8f4c9f2.js → Chips/index.js} +31 -12
- package/dist/{Combobox.cjs → Combobox/index.js} +15 -15
- package/dist/{Combobox-d8d28b1e.js → Combobox-a24c8241.js} +15 -15
- package/dist/ConfirmationModal/index.js +31 -0
- package/dist/{ConfirmationModal-09ec5d02.js → ConfirmationModal-52e16873.js} +3 -3
- package/dist/Content/Spacing.css.d.ts +13 -0
- package/dist/{Content.cjs → Content/index.js} +2 -2
- package/dist/{Content-60a3452a.js → Content-e3f7b6fc.js} +1 -1
- package/dist/{Countdown-961d8a6e.js → Countdown/index.js} +2 -0
- package/dist/{DataDump-f427abfe.js → DataDump/index.js} +19 -3
- package/dist/{DataList-4b0f9e5d.js → DataList/index.js} +48 -33
- package/dist/{DataTable-aab7f6b9.js → DataTable/index.js} +59 -10
- package/dist/{DatePicker.cjs → DatePicker/index.js} +5 -5
- package/dist/{DatePicker-c091c0d2.js → DatePicker-64c5ab1a.js} +3 -3
- package/dist/{DescriptionList-74db99a5.js → DescriptionList/index.js} +6 -3
- package/dist/Disclosure/index.js +46 -0
- package/dist/{Divider-1e6ac1ec.js → Divider/index.js} +4 -2
- package/dist/Drawer/index.js +49 -0
- package/dist/{Emphasis.cjs → Emphasis/index.js} +3 -3
- package/dist/{Emphasis-84de1f3f.js → Emphasis-bda56d3b.js} +1 -1
- package/dist/{FeatureSwitch-ddaebf27.js → FeatureSwitch/index.js} +17 -9
- package/dist/{Flex.cjs → Flex/index.js} +2 -2
- package/dist/{Flex-ddf28839.js → Flex-d490c4db.js} +1 -1
- package/dist/{Form-927647ef.js → Form/index.js} +3 -1
- package/dist/FormField/index.js +24 -0
- package/dist/{FormField-fc30bb1a.js → FormField-6ff183f8.js} +6 -6
- package/dist/{FormatDate.cjs → FormatDate/index.js} +1 -1
- package/dist/{FormatEmail-298393bb.js → FormatEmail/index.js} +3 -1
- package/dist/FormatFile/index.js +36 -0
- package/dist/{FormatFile-d57b8dfa.js → FormatFile-f036902d.js} +8 -8
- package/dist/{FormatRelativeDateTime-6336002d.js → FormatRelativeDateTime/index.js} +2 -0
- package/dist/{FormatTime-20538519.js → FormatTime/index.js} +2 -0
- package/dist/Gallery/Gallery.css.d.ts +9 -0
- package/dist/{Gallery-8d4d79a2.js → Gallery/index.js} +31 -5
- package/dist/{Glimmer.cjs → Glimmer/index.js} +4 -4
- package/dist/Glimmer/style/Shape.css.d.ts +9 -0
- package/dist/Glimmer/style/Sizes.css.d.ts +10 -0
- package/dist/Glimmer/style/Timing.css.d.ts +6 -0
- package/dist/{Glimmer-3fcdae65.js → Glimmer-84dee1ed.js} +4 -4
- package/dist/Grid/GridAlign.css.d.ts +8 -0
- package/dist/{Grid-cce44c9d.js → Grid/index.js} +5 -3
- package/dist/Heading/index.js +14 -0
- package/dist/{Heading-a8a24775.js → Heading-1e8e4bd3.js} +1 -1
- package/dist/{Icon.cjs → Icon/index.js} +1 -1
- package/dist/{InlineLabel.cjs → InlineLabel/index.js} +3 -3
- package/dist/InlineLabel-a6557829.js +28 -0
- package/dist/{InputAvatar-95c98620.js → InputAvatar/index.js} +21 -7
- package/dist/{InputDate-c5f19423.js → InputDate/index.js} +20 -2
- package/dist/{InputEmail-4efba03d.js → InputEmail/index.js} +17 -1
- package/dist/InputFile/index.js +25 -0
- package/dist/{InputFile-921c050e.js → InputFile-bb945071.js} +5 -5
- package/dist/{InputGroup.cjs → InputGroup/index.js} +2 -2
- package/dist/InputNumber/index.js +25 -0
- package/dist/{InputNumber-df9cb825.js → InputNumber-d451b52e.js} +1 -1
- package/dist/{InputPassword-08d2dfa1.js → InputPassword/index.js} +17 -1
- package/dist/{InputPhoneNumber-cbb2ca7d.js → InputPhoneNumber/index.js} +17 -4
- package/dist/InputText/index.js +26 -0
- package/dist/{InputText-125769fd.js → InputText-55b6cb65.js} +1 -1
- package/dist/{InputTime-3c4bdff0.js → InputTime/index.js} +17 -2
- package/dist/{InputValidation.cjs → InputValidation/index.js} +5 -5
- package/dist/{InputValidation-4a61254d.js → InputValidation-05e839fa.js} +2 -2
- package/dist/{LightBox.cjs → LightBox/index.js} +6 -6
- package/dist/{LightBox-3d6e74ba.js → LightBox-a89d8863.js} +3 -3
- package/dist/{Link-fd7301ec.js → Link/index.js} +2 -0
- package/dist/{List-821f249d.js → List/index.js} +16 -10
- package/dist/Markdown/index.js +19 -0
- package/dist/{Markdown-36854bd5.js → Markdown-f7c55304.js} +4 -4
- package/dist/{Menu.cjs → Menu/index.js} +5 -5
- package/dist/{Menu-5ce3cf41.js → Menu-083fc4c4.js} +3 -3
- package/dist/Modal/Sizes.css.d.ts +6 -0
- package/dist/{Modal.cjs → Modal/index.js} +8 -8
- package/dist/{Modal-cda55f02.js → Modal-c336cac6.js} +5 -5
- package/dist/{MultiSelect-707000e1.js → MultiSelect/index.js} +12 -6
- package/dist/{Option-73515eec.js → Option-3c4d377e.js} +1 -1
- package/dist/{Page-fdb087db.js → Page/index.js} +21 -9
- package/dist/Popover/index.js +61 -0
- package/dist/ProgressBar/Sizes.css.d.ts +7 -0
- package/dist/{ProgressBar.cjs → ProgressBar/index.js} +2 -2
- package/dist/{ProgressBar-4ee648b7.js → ProgressBar-b68edc8f.js} +1 -1
- package/dist/{RadioGroup.cjs → RadioGroup/index.js} +4 -4
- package/dist/{RadioGroup-68edd1e3.js → RadioGroup-17b67ade.js} +2 -2
- package/dist/{RecurringSelect-e391af31.js → RecurringSelect/index.js} +27 -14
- package/dist/Select/index.js +26 -0
- package/dist/{Spinner.cjs → Spinner/index.js} +2 -2
- package/dist/Spinner-9d8fc7ff.js +24 -0
- package/dist/{StatusIndicator.cjs → StatusIndicator/index.js} +2 -2
- package/dist/{StatusIndicator-0c680acb.js → StatusIndicator-b179d06e.js} +1 -1
- package/dist/{StatusLabel-5bf96fdb.js → StatusLabel/index.js} +7 -4
- package/dist/{Switch.cjs → Switch/index.js} +3 -3
- package/dist/Switch-7d4aa7c3.js +56 -0
- package/dist/{Body-22878526.js → Table/index.js} +5 -3
- package/dist/{Tabs-d6c8b965.js → Tabs/index.js} +5 -3
- package/dist/{Text.cjs → Text/index.js} +3 -3
- package/dist/{Text-714f7d14.js → Text-259af966.js} +1 -1
- package/dist/{showToast-63be1cf0.js → Toast/index.js} +10 -5
- package/dist/{Tooltip.cjs → Tooltip/index.js} +2 -2
- package/dist/{Tooltip-2e477150.js → Tooltip-ef3d6ef4.js} +1 -1
- package/dist/Typography/css/Emphasis.css.d.ts +6 -0
- package/dist/Typography/css/FontFamilies.css.d.ts +6 -0
- package/dist/Typography/css/FontSizes.css.d.ts +12 -0
- package/dist/Typography/css/FontWeights.css.d.ts +10 -0
- package/dist/Typography/css/TextAlignment.css.d.ts +7 -0
- package/dist/Typography/css/TextCases.css.d.ts +7 -0
- package/dist/Typography/css/TextColors.css.d.ts +22 -0
- package/dist/Typography/css/Truncate.css.d.ts +5 -0
- package/dist/Typography/css/Typography.css.d.ts +5 -0
- package/dist/{Typography.cjs → Typography/index.js} +2 -2
- package/dist/Typography-c45bf216.js +62 -0
- package/package.json +7 -15
- package/rollup.config.js +131 -0
- package/dist/AnimatedPresence-bbccdaf7.js +0 -98
- package/dist/AnimatedPresence.js +0 -4
- package/dist/AnimatedSwitcher-3aff3d12.js +0 -90
- package/dist/AnimatedSwitcher.js +0 -5
- package/dist/Autocomplete-dc7a4b9e.js +0 -188
- package/dist/Autocomplete.cjs +0 -33
- package/dist/Autocomplete.js +0 -25
- package/dist/Avatar-229083ec.js +0 -70
- package/dist/Avatar.js +0 -7
- package/dist/Banner-18d94700.js +0 -105
- package/dist/Banner-5475a9ea.js +0 -98
- package/dist/Banner.cjs +0 -20
- package/dist/Banner.js +0 -12
- package/dist/Body-4fbe21ac.js +0 -50
- package/dist/Button-30154871.js +0 -50
- package/dist/Button-ec64869e.js +0 -57
- package/dist/Button.js +0 -8
- package/dist/ButtonDismiss-a11eef74.js +0 -8
- package/dist/ButtonDismiss.js +0 -9
- package/dist/Card-35bd61ce.js +0 -86
- package/dist/Card.js +0 -16
- package/dist/Checkbox-a91b14f7.js +0 -56
- package/dist/Checkbox.cjs +0 -18
- package/dist/Checkbox.js +0 -10
- package/dist/Chip-01343f8b.js +0 -81
- package/dist/Chip-24613c57.js +0 -89
- package/dist/Chip.cjs +0 -27
- package/dist/Chip.js +0 -17
- package/dist/ChipDismissible-1f2754bd.js +0 -19
- package/dist/Chips-7c44a2f9.js +0 -494
- package/dist/Chips.cjs +0 -46
- package/dist/Chips.js +0 -37
- package/dist/Combobox-44f0ec2a.js +0 -468
- package/dist/Combobox.js +0 -31
- package/dist/ConfirmationModal-64f82a31.js +0 -94
- package/dist/ConfirmationModal.cjs +0 -31
- package/dist/ConfirmationModal.js +0 -23
- package/dist/Content-c96e9299.js +0 -18
- package/dist/Content.js +0 -4
- package/dist/Countdown-ac081ced.js +0 -63
- package/dist/Countdown.cjs +0 -12
- package/dist/Countdown.js +0 -4
- package/dist/DataDump-6fae2727.js +0 -15
- package/dist/DataDump.cjs +0 -27
- package/dist/DataDump.js +0 -19
- package/dist/DataList-18f2d692.js +0 -1310
- package/dist/DataList.cjs +0 -52
- package/dist/DataList.js +0 -44
- package/dist/DataTable-0f6649e0.js +0 -245
- package/dist/DataTable.cjs +0 -65
- package/dist/DataTable.js +0 -36
- package/dist/DatePicker-5d0c0353.js +0 -125
- package/dist/DatePicker.js +0 -12
- package/dist/DescriptionList-2cb975a9.js +0 -15
- package/dist/DescriptionList.cjs +0 -13
- package/dist/DescriptionList.js +0 -5
- package/dist/Disclosure-00a9459b.js +0 -36
- package/dist/Disclosure-56309ff3.js +0 -42
- package/dist/Disclosure.cjs +0 -16
- package/dist/Disclosure.js +0 -8
- package/dist/Divider-589745c1.js +0 -20
- package/dist/Divider.cjs +0 -12
- package/dist/Divider.js +0 -4
- package/dist/Drawer.cjs +0 -21
- package/dist/Drawer.js +0 -12
- package/dist/DrawerGrid-0861e529.js +0 -33
- package/dist/DrawerGrid-b233d837.js +0 -41
- package/dist/Emphasis-2a640962.js +0 -13
- package/dist/Emphasis.js +0 -5
- package/dist/FeatureSwitch-e33e30a9.js +0 -55
- package/dist/FeatureSwitch.cjs +0 -26
- package/dist/FeatureSwitch.js +0 -18
- package/dist/Flex-041db5c8.js +0 -31
- package/dist/Flex.js +0 -4
- package/dist/Form-6a161b07.js +0 -48
- package/dist/Form.cjs +0 -12
- package/dist/Form.js +0 -4
- package/dist/FormField-f1f405d2.js +0 -246
- package/dist/FormField.cjs +0 -24
- package/dist/FormField.js +0 -16
- package/dist/FormatDate-720b39cf.js +0 -27
- package/dist/FormatDate.js +0 -2
- package/dist/FormatEmail-04ee4085.js +0 -14
- package/dist/FormatEmail.cjs +0 -12
- package/dist/FormatEmail.js +0 -4
- package/dist/FormatFile-648aea3e.js +0 -154
- package/dist/FormatFile.cjs +0 -36
- package/dist/FormatFile.js +0 -28
- package/dist/FormatRelativeDateTime-529dc36b.js +0 -64
- package/dist/FormatRelativeDateTime.cjs +0 -10
- package/dist/FormatRelativeDateTime.js +0 -2
- package/dist/FormatTime-764fd3c8.js +0 -28
- package/dist/FormatTime.cjs +0 -10
- package/dist/FormatTime.js +0 -2
- package/dist/Gallery-7760f21f.js +0 -66
- package/dist/Gallery.cjs +0 -39
- package/dist/Gallery.js +0 -31
- package/dist/Glimmer-6bf75ae0.js +0 -69
- package/dist/Glimmer.js +0 -6
- package/dist/Grid-c28e226d.js +0 -66
- package/dist/Grid.cjs +0 -14
- package/dist/Grid.js +0 -5
- package/dist/Heading-dfd4f1cf.js +0 -49
- package/dist/Heading.cjs +0 -14
- package/dist/Heading.js +0 -6
- package/dist/Icon-22723fe6.js +0 -34
- package/dist/Icon.js +0 -3
- package/dist/InlineLabel-20f9095e.js +0 -21
- package/dist/InlineLabel-5144fa06.js +0 -28
- package/dist/InlineLabel.js +0 -5
- package/dist/InputAvatar-3a10bdb1.js +0 -50
- package/dist/InputAvatar.cjs +0 -28
- package/dist/InputAvatar.js +0 -20
- package/dist/InputDate-c258f5cb.js +0 -32
- package/dist/InputDate.cjs +0 -29
- package/dist/InputDate.js +0 -21
- package/dist/InputEmail-812bdffe.js +0 -20
- package/dist/InputEmail.cjs +0 -26
- package/dist/InputEmail.js +0 -17
- package/dist/InputFile-d089b486.js +0 -181
- package/dist/InputFile.cjs +0 -25
- package/dist/InputFile.js +0 -16
- package/dist/InputGroup-436859cf.js +0 -26
- package/dist/InputGroup.js +0 -4
- package/dist/InputNumber-4bd38b8e.js +0 -56
- package/dist/InputNumber.cjs +0 -25
- package/dist/InputNumber.js +0 -17
- package/dist/InputPassword-6b937a91.js +0 -19
- package/dist/InputPassword.cjs +0 -25
- package/dist/InputPassword.js +0 -17
- package/dist/InputPhoneNumber-947bdb49.js +0 -97
- package/dist/InputPhoneNumber.cjs +0 -25
- package/dist/InputPhoneNumber.js +0 -17
- package/dist/InputText-2fd8f942.js +0 -96
- package/dist/InputText.cjs +0 -26
- package/dist/InputText.js +0 -18
- package/dist/InputTime-ef8af2d9.js +0 -187
- package/dist/InputTime.cjs +0 -27
- package/dist/InputTime.js +0 -19
- package/dist/InputValidation-fe42fc3f.js +0 -23
- package/dist/InputValidation.js +0 -9
- package/dist/LightBox-8cc72953.js +0 -109
- package/dist/LightBox.js +0 -16
- package/dist/Link-b41bc1d3.js +0 -7
- package/dist/Link.cjs +0 -10
- package/dist/Link.js +0 -2
- package/dist/List-4fe52f57.js +0 -77
- package/dist/List.cjs +0 -25
- package/dist/List.js +0 -16
- package/dist/Markdown-7b84fcdb.js +0 -55
- package/dist/Markdown.cjs +0 -19
- package/dist/Markdown.js +0 -11
- package/dist/Menu-fb0b2e9b.js +0 -132
- package/dist/Menu.js +0 -13
- package/dist/Modal-eeb52d66.js +0 -63
- package/dist/Modal.js +0 -17
- package/dist/MultiSelect-0af9c956.js +0 -169
- package/dist/MultiSelect.cjs +0 -19
- package/dist/MultiSelect.js +0 -11
- package/dist/Option-58d7cab6.js +0 -12
- package/dist/Page-0b334096.js +0 -59
- package/dist/Page.cjs +0 -30
- package/dist/Page.js +0 -22
- package/dist/Popover-798f548e.js +0 -47
- package/dist/Popover-968c63b2.js +0 -53
- package/dist/Popover.cjs +0 -20
- package/dist/Popover.js +0 -12
- package/dist/ProgressBar-022ef3f6.js +0 -36
- package/dist/ProgressBar.js +0 -4
- package/dist/RadioGroup-a089f132.js +0 -39
- package/dist/RadioGroup.js +0 -6
- package/dist/RecurringSelect-2de4014c.js +0 -208
- package/dist/RecurringSelect.cjs +0 -38
- package/dist/RecurringSelect.js +0 -22
- package/dist/Select.cjs +0 -26
- package/dist/Select.js +0 -17
- package/dist/Spinner-3480bc34.js +0 -24
- package/dist/Spinner-90081e20.js +0 -17
- package/dist/Spinner.js +0 -4
- package/dist/StatusIndicator-d6f9aefa.js +0 -12
- package/dist/StatusIndicator.js +0 -3
- package/dist/StatusLabel-66214fc7.js +0 -19
- package/dist/StatusLabel.cjs +0 -15
- package/dist/StatusLabel.js +0 -7
- package/dist/Switch-6c6c727b.js +0 -56
- package/dist/Switch-87706cde.js +0 -49
- package/dist/Switch.js +0 -5
- package/dist/Table.cjs +0 -20
- package/dist/Table.js +0 -5
- package/dist/Tabs-109f1f10.js +0 -70
- package/dist/Tabs.cjs +0 -14
- package/dist/Tabs.js +0 -5
- package/dist/Text-c92ddeb3.js +0 -25
- package/dist/Text.js +0 -5
- package/dist/Toast.cjs +0 -19
- package/dist/Toast.js +0 -11
- package/dist/Tooltip-a40fffbd.js +0 -104
- package/dist/Tooltip.js +0 -8
- package/dist/Typography-52ed1386.js +0 -55
- package/dist/Typography-fd88fcce.js +0 -62
- package/dist/Typography.js +0 -4
- package/dist/getAtlantisConfig-5b50057c.js +0 -11
- package/dist/index.cjs +0 -224
- package/dist/index.d.ts +0 -73
- package/dist/index.js +0 -112
- package/dist/showToast-ff666be8.js +0 -100
- package/dist/style-inject.es-a0e1a0ba.js +0 -28
- package/dist/tslib.es6-c563c1dd.js +0 -43
package/dist/InputPassword.cjs
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var InputPassword = require('./InputPassword-08d2dfa1.js');
|
|
6
|
-
require('react');
|
|
7
|
-
require('./FormField-fc30bb1a.js');
|
|
8
|
-
require('./tslib.es6-754e2961.js');
|
|
9
|
-
require('react-hook-form');
|
|
10
|
-
require('./style-inject.es-9d2f5f4e.js');
|
|
11
|
-
require('classnames');
|
|
12
|
-
require('@jobber/hooks/useShowClear');
|
|
13
|
-
require('./Button-ec64869e.js');
|
|
14
|
-
require('react-router-dom');
|
|
15
|
-
require('./Icon-405a216c.js');
|
|
16
|
-
require('@jobber/design');
|
|
17
|
-
require('./Typography-fd88fcce.js');
|
|
18
|
-
require('./Text-714f7d14.js');
|
|
19
|
-
require('./InputValidation-4a61254d.js');
|
|
20
|
-
require('framer-motion');
|
|
21
|
-
require('./Spinner-3480bc34.js');
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
exports.InputPassword = InputPassword.InputPassword;
|
package/dist/InputPassword.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export { I as InputPassword } from './InputPassword-6b937a91.js';
|
|
2
|
-
import 'react';
|
|
3
|
-
import './FormField-f1f405d2.js';
|
|
4
|
-
import './tslib.es6-c563c1dd.js';
|
|
5
|
-
import 'react-hook-form';
|
|
6
|
-
import './style-inject.es-a0e1a0ba.js';
|
|
7
|
-
import 'classnames';
|
|
8
|
-
import '@jobber/hooks/useShowClear';
|
|
9
|
-
import './Button-30154871.js';
|
|
10
|
-
import 'react-router-dom';
|
|
11
|
-
import './Icon-22723fe6.js';
|
|
12
|
-
import '@jobber/design';
|
|
13
|
-
import './Typography-52ed1386.js';
|
|
14
|
-
import './Text-c92ddeb3.js';
|
|
15
|
-
import './InputValidation-fe42fc3f.js';
|
|
16
|
-
import 'framer-motion';
|
|
17
|
-
import './Spinner-90081e20.js';
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { _ as __rest } from './tslib.es6-c563c1dd.js';
|
|
2
|
-
import React, { useState, cloneElement } from 'react';
|
|
3
|
-
import { useFormContext, useForm } from 'react-hook-form';
|
|
4
|
-
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
5
|
-
import { F as FormField } from './FormField-f1f405d2.js';
|
|
6
|
-
|
|
7
|
-
var css_248z = ".L7WK-i5uaOk- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: var(--elevation-base);\n height: var(--field--height);\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n color: var(--color-grey);\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n pointer-events: none;\n}\n\n.q1wXBupm5Xc- {\n visibility: hidden;\n opacity: 0;\n}\n";
|
|
8
|
-
var styles = {"mask":"L7WK-i5uaOk-","hiddenValue":"q1wXBupm5Xc-"};
|
|
9
|
-
styleInject(css_248z);
|
|
10
|
-
|
|
11
|
-
function InputMask({ children, delimiter = "*", pattern, strict = true, }) {
|
|
12
|
-
const { value: inputValue, onChange } = children.props;
|
|
13
|
-
const [isMasking, setIsMasking] = useState(!inputValue);
|
|
14
|
-
const stringifiedValue = String(inputValue || "");
|
|
15
|
-
const placeholderValue = pattern
|
|
16
|
-
.replace(new RegExp(`\\${delimiter}`, "g"), "_")
|
|
17
|
-
.slice(stringifiedValue.length);
|
|
18
|
-
const inputMask = (React.createElement("div", { className: styles.mask, "aria-hidden": "true" },
|
|
19
|
-
React.createElement("span", { className: styles.hiddenValue }, stringifiedValue),
|
|
20
|
-
placeholderValue));
|
|
21
|
-
return cloneElement(children, {
|
|
22
|
-
onChange: handleChange,
|
|
23
|
-
children: isMasking && inputMask,
|
|
24
|
-
});
|
|
25
|
-
function handleChange(value) {
|
|
26
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(formatValue(value));
|
|
27
|
-
}
|
|
28
|
-
function formatValue(value) {
|
|
29
|
-
const { cleanValueChars, patternChars, specialChars, isOverCharLimit } = getMaskingInfo(value);
|
|
30
|
-
if (!strict && isOverCharLimit) {
|
|
31
|
-
setIsMasking(false);
|
|
32
|
-
return cleanValueChars.join("");
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
setIsMasking(true);
|
|
36
|
-
return patternChars.reduce(getMaskedValue(cleanValueChars, specialChars), "");
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function getMaskingInfo(value) {
|
|
40
|
-
const patternChars = pattern.split("");
|
|
41
|
-
const specialChars = patternChars.filter(char => char !== delimiter);
|
|
42
|
-
const cleanValueChars = value
|
|
43
|
-
.split("")
|
|
44
|
-
.filter(char => !specialChars.includes(char))
|
|
45
|
-
// Since this is only used in InputPhoneNumber, we can restrict it to
|
|
46
|
-
// just numbers for now.
|
|
47
|
-
.map(Number)
|
|
48
|
-
.filter(num => !isNaN(num));
|
|
49
|
-
const isOverCharLimit = cleanValueChars.length > patternChars.length - specialChars.length;
|
|
50
|
-
return { cleanValueChars, patternChars, specialChars, isOverCharLimit };
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function getMaskedValue(cleanVal, specialChars) {
|
|
54
|
-
return (result, nextCharacter) => {
|
|
55
|
-
if (!cleanVal.length)
|
|
56
|
-
return result;
|
|
57
|
-
if (specialChars.includes(nextCharacter))
|
|
58
|
-
return result + nextCharacter;
|
|
59
|
-
const nextValue = cleanVal.shift();
|
|
60
|
-
return result + nextValue;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function InputPhoneNumber(_a) {
|
|
65
|
-
var { required } = _a, props = __rest(_a, ["required"]);
|
|
66
|
-
const { placeholder, validations, pattern = "(***) ***-****" } = props;
|
|
67
|
-
const errorSubject = placeholder || "Phone number";
|
|
68
|
-
const { getValues } = useFormContext() != undefined
|
|
69
|
-
? useFormContext()
|
|
70
|
-
: // If there isn't a Form Context being provided, get a form for this field.
|
|
71
|
-
useForm({ mode: "onTouched" });
|
|
72
|
-
return (React.createElement(InputMask, { pattern: pattern, strict: false },
|
|
73
|
-
React.createElement(FormField, Object.assign({}, props, { type: "tel", validations: Object.assign(Object.assign({ required: {
|
|
74
|
-
value: Boolean(required),
|
|
75
|
-
message: `${errorSubject} is required`,
|
|
76
|
-
} }, validations), { validate: getPhoneNumberValidation }) }))));
|
|
77
|
-
function getPhoneNumberValidation(value) {
|
|
78
|
-
// Get unique characters that aren't * in the pattern
|
|
79
|
-
const patternNonDelimterCharacters = pattern
|
|
80
|
-
.split("")
|
|
81
|
-
.filter(char => char !== "*")
|
|
82
|
-
.filter((char, index, arr) => arr.indexOf(char) === index);
|
|
83
|
-
const specialCharacters = patternNonDelimterCharacters.join(" ");
|
|
84
|
-
// Remove special characters from pattern
|
|
85
|
-
const cleanValue = value.replace(new RegExp(`[${specialCharacters}]`, "g"), "");
|
|
86
|
-
const cleanValueRequiredLength = (pattern.match(/\*/g) || []).length;
|
|
87
|
-
if (cleanValue.length > 0 && cleanValue.length < cleanValueRequiredLength) {
|
|
88
|
-
return `${errorSubject} must contain ${cleanValueRequiredLength} or more digits`;
|
|
89
|
-
}
|
|
90
|
-
if (typeof (validations === null || validations === void 0 ? void 0 : validations.validate) === "function") {
|
|
91
|
-
return validations.validate(value, getValues);
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export { InputPhoneNumber as I };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var InputPhoneNumber = require('./InputPhoneNumber-cbb2ca7d.js');
|
|
6
|
-
require('./tslib.es6-754e2961.js');
|
|
7
|
-
require('react');
|
|
8
|
-
require('react-hook-form');
|
|
9
|
-
require('./style-inject.es-9d2f5f4e.js');
|
|
10
|
-
require('./FormField-fc30bb1a.js');
|
|
11
|
-
require('classnames');
|
|
12
|
-
require('@jobber/hooks/useShowClear');
|
|
13
|
-
require('./Button-ec64869e.js');
|
|
14
|
-
require('react-router-dom');
|
|
15
|
-
require('./Icon-405a216c.js');
|
|
16
|
-
require('@jobber/design');
|
|
17
|
-
require('./Typography-fd88fcce.js');
|
|
18
|
-
require('./Text-714f7d14.js');
|
|
19
|
-
require('./InputValidation-4a61254d.js');
|
|
20
|
-
require('framer-motion');
|
|
21
|
-
require('./Spinner-3480bc34.js');
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
exports.InputPhoneNumber = InputPhoneNumber.InputPhoneNumber;
|
package/dist/InputPhoneNumber.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export { I as InputPhoneNumber } from './InputPhoneNumber-947bdb49.js';
|
|
2
|
-
import './tslib.es6-c563c1dd.js';
|
|
3
|
-
import 'react';
|
|
4
|
-
import 'react-hook-form';
|
|
5
|
-
import './style-inject.es-a0e1a0ba.js';
|
|
6
|
-
import './FormField-f1f405d2.js';
|
|
7
|
-
import 'classnames';
|
|
8
|
-
import '@jobber/hooks/useShowClear';
|
|
9
|
-
import './Button-30154871.js';
|
|
10
|
-
import 'react-router-dom';
|
|
11
|
-
import './Icon-22723fe6.js';
|
|
12
|
-
import '@jobber/design';
|
|
13
|
-
import './Typography-52ed1386.js';
|
|
14
|
-
import './Text-c92ddeb3.js';
|
|
15
|
-
import './InputValidation-fe42fc3f.js';
|
|
16
|
-
import 'framer-motion';
|
|
17
|
-
import './Spinner-90081e20.js';
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef, useRef, useImperativeHandle } from 'react';
|
|
2
|
-
import { useSafeLayoutEffect } from '@jobber/hooks/useSafeLayoutEffect';
|
|
3
|
-
import { F as FormField } from './FormField-f1f405d2.js';
|
|
4
|
-
|
|
5
|
-
function InputTextInternal(props, ref) {
|
|
6
|
-
const inputRef = useRef(null);
|
|
7
|
-
const actionsRef = useRef(null);
|
|
8
|
-
const rowRange = getRowRange();
|
|
9
|
-
useImperativeHandle(ref, () => ({
|
|
10
|
-
insert: (text) => {
|
|
11
|
-
insertText(text);
|
|
12
|
-
},
|
|
13
|
-
blur: () => {
|
|
14
|
-
const input = inputRef.current;
|
|
15
|
-
if (input) {
|
|
16
|
-
input.blur();
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
focus: () => {
|
|
20
|
-
const input = inputRef.current;
|
|
21
|
-
if (input) {
|
|
22
|
-
input.focus();
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
scrollIntoView: arg => {
|
|
26
|
-
const input = inputRef.current;
|
|
27
|
-
if (input) {
|
|
28
|
-
input.scrollIntoView(arg);
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
}));
|
|
32
|
-
useSafeLayoutEffect(() => {
|
|
33
|
-
if (inputRef && inputRef.current instanceof HTMLTextAreaElement) {
|
|
34
|
-
resize(inputRef.current);
|
|
35
|
-
}
|
|
36
|
-
}, [inputRef.current]);
|
|
37
|
-
return (React.createElement(FormField, Object.assign({}, props, { type: props.multiline ? "textarea" : "text", inputRef: inputRef, actionsRef: actionsRef, onChange: handleChange, rows: rowRange.min })));
|
|
38
|
-
function handleChange(newValue) {
|
|
39
|
-
props.onChange && props.onChange(newValue);
|
|
40
|
-
if (inputRef && inputRef.current instanceof HTMLTextAreaElement) {
|
|
41
|
-
resize(inputRef.current);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function getRowRange() {
|
|
45
|
-
if (props.rows === undefined) {
|
|
46
|
-
return { min: 3, max: 3 };
|
|
47
|
-
}
|
|
48
|
-
else if (typeof props.rows === "object") {
|
|
49
|
-
return { min: props.rows.min, max: props.rows.max };
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return { min: props.rows, max: props.rows };
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function resize(textArea) {
|
|
56
|
-
if (rowRange.min === rowRange.max)
|
|
57
|
-
return;
|
|
58
|
-
textArea.style.height = "auto";
|
|
59
|
-
textArea.style.height = textAreaHeight(textArea) + "px";
|
|
60
|
-
}
|
|
61
|
-
function textAreaHeight(textArea) {
|
|
62
|
-
const { lineHeight, borderBottomWidth, borderTopWidth, paddingBottom, paddingTop, } = window.getComputedStyle(textArea);
|
|
63
|
-
const maxHeight = rowRange.max * parseFloat(lineHeight) +
|
|
64
|
-
parseFloat(borderTopWidth) +
|
|
65
|
-
parseFloat(borderBottomWidth) +
|
|
66
|
-
parseFloat(paddingTop) +
|
|
67
|
-
parseFloat(paddingBottom);
|
|
68
|
-
const scrollHeight = textArea.scrollHeight +
|
|
69
|
-
parseFloat(borderTopWidth) +
|
|
70
|
-
parseFloat(borderBottomWidth);
|
|
71
|
-
return Math.min(scrollHeight, maxHeight);
|
|
72
|
-
}
|
|
73
|
-
function insertText(text) {
|
|
74
|
-
var _a;
|
|
75
|
-
const input = inputRef.current;
|
|
76
|
-
if (input) {
|
|
77
|
-
insertAtCursor(input, text);
|
|
78
|
-
const newValue = input.value;
|
|
79
|
-
(_a = actionsRef.current) === null || _a === void 0 ? void 0 : _a.setValue(newValue);
|
|
80
|
-
props.onChange && props.onChange(newValue);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
const InputText = forwardRef(InputTextInternal);
|
|
85
|
-
function insertAtCursor(input, newText) {
|
|
86
|
-
const start = input.selectionStart || 0;
|
|
87
|
-
const end = input.selectionEnd || 0;
|
|
88
|
-
const text = input.value;
|
|
89
|
-
const before = text.substring(0, start);
|
|
90
|
-
const after = text.substring(end, text.length);
|
|
91
|
-
input.value = before + newText + after;
|
|
92
|
-
input.selectionStart = input.selectionEnd = start + newText.length;
|
|
93
|
-
input.focus();
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export { InputText as I };
|
package/dist/InputText.cjs
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var InputText = require('./InputText-125769fd.js');
|
|
6
|
-
require('react');
|
|
7
|
-
require('@jobber/hooks/useSafeLayoutEffect');
|
|
8
|
-
require('./FormField-fc30bb1a.js');
|
|
9
|
-
require('./tslib.es6-754e2961.js');
|
|
10
|
-
require('react-hook-form');
|
|
11
|
-
require('./style-inject.es-9d2f5f4e.js');
|
|
12
|
-
require('classnames');
|
|
13
|
-
require('@jobber/hooks/useShowClear');
|
|
14
|
-
require('./Button-ec64869e.js');
|
|
15
|
-
require('react-router-dom');
|
|
16
|
-
require('./Icon-405a216c.js');
|
|
17
|
-
require('@jobber/design');
|
|
18
|
-
require('./Typography-fd88fcce.js');
|
|
19
|
-
require('./Text-714f7d14.js');
|
|
20
|
-
require('./InputValidation-4a61254d.js');
|
|
21
|
-
require('framer-motion');
|
|
22
|
-
require('./Spinner-3480bc34.js');
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
exports.InputText = InputText.InputText;
|
package/dist/InputText.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export { I as InputText } from './InputText-2fd8f942.js';
|
|
2
|
-
import 'react';
|
|
3
|
-
import '@jobber/hooks/useSafeLayoutEffect';
|
|
4
|
-
import './FormField-f1f405d2.js';
|
|
5
|
-
import './tslib.es6-c563c1dd.js';
|
|
6
|
-
import 'react-hook-form';
|
|
7
|
-
import './style-inject.es-a0e1a0ba.js';
|
|
8
|
-
import 'classnames';
|
|
9
|
-
import '@jobber/hooks/useShowClear';
|
|
10
|
-
import './Button-30154871.js';
|
|
11
|
-
import 'react-router-dom';
|
|
12
|
-
import './Icon-22723fe6.js';
|
|
13
|
-
import '@jobber/design';
|
|
14
|
-
import './Typography-52ed1386.js';
|
|
15
|
-
import './Text-c92ddeb3.js';
|
|
16
|
-
import './InputValidation-fe42fc3f.js';
|
|
17
|
-
import 'framer-motion';
|
|
18
|
-
import './Spinner-90081e20.js';
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { _ as __rest } from './tslib.es6-c563c1dd.js';
|
|
2
|
-
import React, { useRef, useState, useCallback, useEffect } from 'react';
|
|
3
|
-
import { CivilTime } from '@std-proposal/temporal';
|
|
4
|
-
import debounce from 'lodash/debounce';
|
|
5
|
-
import { F as FormField } from './FormField-f1f405d2.js';
|
|
6
|
-
|
|
7
|
-
function civilTimeToHTMLTime(civilTime) {
|
|
8
|
-
if (civilTime == undefined) {
|
|
9
|
-
return "";
|
|
10
|
-
}
|
|
11
|
-
const timeString = civilTime.toString();
|
|
12
|
-
return timeString.slice(0, 5);
|
|
13
|
-
}
|
|
14
|
-
function htmlTimeToCivilTime(timeString) {
|
|
15
|
-
try {
|
|
16
|
-
return CivilTime.fromString(timeString + ":00.000000000");
|
|
17
|
-
}
|
|
18
|
-
catch (_a) {
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const DEBOUNCE_TIME = 300;
|
|
24
|
-
function useTimePredict({ value, handleChange }) {
|
|
25
|
-
const IS_12_HOUR_FORMAT = useRef(Intl.DateTimeFormat(navigator.language, {
|
|
26
|
-
hour: "numeric",
|
|
27
|
-
}).resolvedOptions().hour12);
|
|
28
|
-
const [typedTime, setTypedTime] = useState("");
|
|
29
|
-
const predictTime = useCallback(debounce(() => {
|
|
30
|
-
if (value)
|
|
31
|
-
return;
|
|
32
|
-
handleChange(predictHours(typedTime, IS_12_HOUR_FORMAT.current));
|
|
33
|
-
}, DEBOUNCE_TIME), [typedTime, value, handleChange]);
|
|
34
|
-
/**
|
|
35
|
-
* Predict the hour when user types a number
|
|
36
|
-
*/
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
/**
|
|
39
|
-
* Don't try to predict if the user types 0 as the user would almost always
|
|
40
|
-
* type another number after 0.
|
|
41
|
-
*/
|
|
42
|
-
if (typedTime && typedTime !== "0") {
|
|
43
|
-
predictTime();
|
|
44
|
-
if ((IS_12_HOUR_FORMAT && typedTime !== "1") || typedTime.length === 2) {
|
|
45
|
-
// Immediately predict the hour
|
|
46
|
-
predictTime.flush();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return predictTime.cancel;
|
|
50
|
-
}, [typedTime]);
|
|
51
|
-
/**
|
|
52
|
-
* Reset typed time when the value changed
|
|
53
|
-
*/
|
|
54
|
-
useEffect(() => {
|
|
55
|
-
setTypedTime("");
|
|
56
|
-
}, [value]);
|
|
57
|
-
return {
|
|
58
|
-
setTypedTime,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function predictHours(time, is12HourFormat = false) {
|
|
62
|
-
const today = new Date();
|
|
63
|
-
const currentHour = today.getHours();
|
|
64
|
-
const parsedTime = parseInt(time, 10);
|
|
65
|
-
let predictedTime;
|
|
66
|
-
if (is12HourFormat) {
|
|
67
|
-
predictedTime = predict12Hours(parsedTime, currentHour);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
predictedTime = predict24Hours(time, parsedTime, currentHour);
|
|
71
|
-
}
|
|
72
|
-
return formatHour(predictedTime);
|
|
73
|
-
}
|
|
74
|
-
function predict12Hours(parsedTime, currentHour) {
|
|
75
|
-
/**
|
|
76
|
-
* We need to predict what the user wants when they type 1 since it could be
|
|
77
|
-
* 10, 11, 12, or 1.
|
|
78
|
-
*
|
|
79
|
-
* If the current hour is over 12PM, we can skip this and go to the next logic.
|
|
80
|
-
*/
|
|
81
|
-
if (parsedTime === 1 && currentHour < 12) {
|
|
82
|
-
if (currentHour < 10) {
|
|
83
|
-
return 10;
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return currentHour + 1;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Typing 1-5 predicts that the user want that exact hour on the afternoon.
|
|
91
|
-
*/
|
|
92
|
-
if (parsedTime <= 5) {
|
|
93
|
-
return parsedTime + 12;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Typing 13-15 predicts that the user want the 2nd number as the minute interval.
|
|
97
|
-
*/
|
|
98
|
-
if (parsedTime > 12 && parsedTime <= 15) {
|
|
99
|
-
const timeArray = parsedTime.toString().split("").map(Number); // 13 -> [1, 3]
|
|
100
|
-
const convertToHoursAndMinutes = timeArray.map((time, i) => {
|
|
101
|
-
if (i === 0)
|
|
102
|
-
return time + 12; // 1 -> 13 as 1PM
|
|
103
|
-
if (i === 1)
|
|
104
|
-
return time * 10; // 3 -> 30 as 30 minutes
|
|
105
|
-
});
|
|
106
|
-
return Number(convertToHoursAndMinutes.join("")); // [13, 30] -> 1330
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Anything after 5 will be predicted to be set as AM.
|
|
110
|
-
*/
|
|
111
|
-
return parsedTime;
|
|
112
|
-
}
|
|
113
|
-
function predict24Hours(time, parsedTime, currentHour) {
|
|
114
|
-
/**
|
|
115
|
-
* Typing 1 could be predicted from 10 to 19.
|
|
116
|
-
* Typing 01 skips this logic and sets the time to 01:00.
|
|
117
|
-
*/
|
|
118
|
-
if (parsedTime === 1 && time !== "01") {
|
|
119
|
-
if (currentHour < 10 || currentHour > 19) {
|
|
120
|
-
return 10;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
return currentHour + 1;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Typing 2 could be predicted from 20 to 24.
|
|
128
|
-
* Typing 02 skips this logic and sets the time to 02:00.
|
|
129
|
-
*/
|
|
130
|
-
if (parsedTime === 2 && time !== "02") {
|
|
131
|
-
if (currentHour < 20) {
|
|
132
|
-
return 20;
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
return currentHour + 1;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Typing 24 or 00 is set to midnight. This ensures the time doesn't get set
|
|
140
|
-
* to 24 as that would be invalid.
|
|
141
|
-
*/
|
|
142
|
-
if (parsedTime === 24 || time === "00") {
|
|
143
|
-
return 0;
|
|
144
|
-
}
|
|
145
|
-
return parsedTime;
|
|
146
|
-
}
|
|
147
|
-
function formatHour(time) {
|
|
148
|
-
if (time > 99) {
|
|
149
|
-
const splitTime = time.toString().split("");
|
|
150
|
-
if (splitTime.length === 3)
|
|
151
|
-
splitTime.unshift("0"); // 130 -> 0130
|
|
152
|
-
splitTime.splice(2, 0, ":"); // 0130 -> 01:30
|
|
153
|
-
return splitTime.join("");
|
|
154
|
-
}
|
|
155
|
-
if (time < 10) {
|
|
156
|
-
return `0${time}:00`;
|
|
157
|
-
}
|
|
158
|
-
return `${time}:00`;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
function InputTime(_a) {
|
|
162
|
-
var { defaultValue, value, onChange } = _a, params = __rest(_a, ["defaultValue", "value", "onChange"]);
|
|
163
|
-
const ref = useRef(null);
|
|
164
|
-
const { setTypedTime } = useTimePredict({ value, handleChange });
|
|
165
|
-
const fieldProps = Object.assign(Object.assign(Object.assign({ onChange: handleChange }, (defaultValue && { defaultValue: civilTimeToHTMLTime(defaultValue) })), (!defaultValue && { value: civilTimeToHTMLTime(value) })), params);
|
|
166
|
-
return (React.createElement(FormField, Object.assign({ inputRef: ref, type: "time" }, fieldProps, { onBlur: handleBlur, onKeyUp: e => {
|
|
167
|
-
var _a;
|
|
168
|
-
(_a = fieldProps.onKeyUp) === null || _a === void 0 ? void 0 : _a.call(fieldProps, e);
|
|
169
|
-
!isNaN(parseInt(e.key, 10)) && setTypedTime(prev => prev + e.key);
|
|
170
|
-
} })));
|
|
171
|
-
function handleChange(newValue) {
|
|
172
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(htmlTimeToCivilTime(newValue));
|
|
173
|
-
}
|
|
174
|
-
function handleBlur() {
|
|
175
|
-
var _a;
|
|
176
|
-
(_a = params.onBlur) === null || _a === void 0 ? void 0 : _a.call(params);
|
|
177
|
-
// Time inputs doesn't clear the typed value when it's invalid. This should
|
|
178
|
-
// force it to reset the input value when the typed value is invalid.
|
|
179
|
-
if (ref.current) {
|
|
180
|
-
if (!ref.current.checkValidity()) {
|
|
181
|
-
ref.current.value = "";
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export { InputTime as I };
|
package/dist/InputTime.cjs
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var InputTime = require('./InputTime-3c4bdff0.js');
|
|
6
|
-
require('./tslib.es6-754e2961.js');
|
|
7
|
-
require('react');
|
|
8
|
-
require('@std-proposal/temporal');
|
|
9
|
-
require('lodash/debounce');
|
|
10
|
-
require('./FormField-fc30bb1a.js');
|
|
11
|
-
require('react-hook-form');
|
|
12
|
-
require('./style-inject.es-9d2f5f4e.js');
|
|
13
|
-
require('classnames');
|
|
14
|
-
require('@jobber/hooks/useShowClear');
|
|
15
|
-
require('./Button-ec64869e.js');
|
|
16
|
-
require('react-router-dom');
|
|
17
|
-
require('./Icon-405a216c.js');
|
|
18
|
-
require('@jobber/design');
|
|
19
|
-
require('./Typography-fd88fcce.js');
|
|
20
|
-
require('./Text-714f7d14.js');
|
|
21
|
-
require('./InputValidation-4a61254d.js');
|
|
22
|
-
require('framer-motion');
|
|
23
|
-
require('./Spinner-3480bc34.js');
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
exports.InputTime = InputTime.InputTime;
|
package/dist/InputTime.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export { I as InputTime } from './InputTime-ef8af2d9.js';
|
|
2
|
-
import './tslib.es6-c563c1dd.js';
|
|
3
|
-
import 'react';
|
|
4
|
-
import '@std-proposal/temporal';
|
|
5
|
-
import 'lodash/debounce';
|
|
6
|
-
import './FormField-f1f405d2.js';
|
|
7
|
-
import 'react-hook-form';
|
|
8
|
-
import './style-inject.es-a0e1a0ba.js';
|
|
9
|
-
import 'classnames';
|
|
10
|
-
import '@jobber/hooks/useShowClear';
|
|
11
|
-
import './Button-30154871.js';
|
|
12
|
-
import 'react-router-dom';
|
|
13
|
-
import './Icon-22723fe6.js';
|
|
14
|
-
import '@jobber/design';
|
|
15
|
-
import './Typography-52ed1386.js';
|
|
16
|
-
import './Text-c92ddeb3.js';
|
|
17
|
-
import './InputValidation-fe42fc3f.js';
|
|
18
|
-
import 'framer-motion';
|
|
19
|
-
import './Spinner-90081e20.js';
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AnimatePresence, motion } from 'framer-motion';
|
|
3
|
-
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
4
|
-
import { T as Text } from './Text-c92ddeb3.js';
|
|
5
|
-
import { I as Icon } from './Icon-22723fe6.js';
|
|
6
|
-
|
|
7
|
-
var css_248z = ".sc-bFJieXBA- {\n margin-top: var(--space-smaller);\n}\n\n.xybhC5Y6mk4- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: var(--space-smaller);\n padding-left: 0;\n}\n\n.xybhC5Y6mk4- > svg {\n margin-right: var(--space-smaller);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-item-align: start;\n align-self: flex-start;\n}\n\n.xybhC5Y6mk4-:focus {\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n";
|
|
8
|
-
var styles = {"hasValidationMessage":"sc-bFJieXBA-","message":"xybhC5Y6mk4-"};
|
|
9
|
-
styleInject(css_248z);
|
|
10
|
-
|
|
11
|
-
function InputValidation({ message }) {
|
|
12
|
-
const messages = [message];
|
|
13
|
-
const variants = {
|
|
14
|
-
slideOut: { y: "5%", opacity: 0 },
|
|
15
|
-
slideIn: { y: 0, opacity: 1 },
|
|
16
|
-
};
|
|
17
|
-
return (React.createElement(React.Fragment, null, messages && messages.length > 0 && (React.createElement(AnimatePresence, { mode: "wait" }, messages.map(msg => (React.createElement(motion.div, { key: `validation-${msg}`, variants: variants, initial: "slideOut", animate: "slideIn", exit: "slideOut", transition: { duration: 0.2 } },
|
|
18
|
-
React.createElement("div", { className: styles.message, "aria-live": "assertive", role: "alert", tabIndex: 0 },
|
|
19
|
-
React.createElement(Icon, { name: "alert", size: "small", color: "critical" }),
|
|
20
|
-
React.createElement(Text, { size: "small", variation: "error" }, msg)))))))));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { InputValidation as I };
|
package/dist/InputValidation.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { I as InputValidation } from './InputValidation-fe42fc3f.js';
|
|
2
|
-
import 'react';
|
|
3
|
-
import 'framer-motion';
|
|
4
|
-
import './style-inject.es-a0e1a0ba.js';
|
|
5
|
-
import './Text-c92ddeb3.js';
|
|
6
|
-
import './Typography-52ed1386.js';
|
|
7
|
-
import 'classnames';
|
|
8
|
-
import './Icon-22723fe6.js';
|
|
9
|
-
import '@jobber/design';
|