@foxford/ui 2.102.0 → 2.103.0-beta-bdca95a-20260331
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/components/Accordion/Accordion.js +1 -1
- package/components/Accordion/Accordion.js.map +1 -1
- package/components/Accordion/Accordion.mjs +1 -1
- package/components/Accordion/Accordion.mjs.map +1 -1
- package/components/Accordion/hooks.js +1 -1
- package/components/Accordion/hooks.js.map +1 -1
- package/components/Accordion/hooks.mjs +1 -1
- package/components/Accordion/hooks.mjs.map +1 -1
- package/components/Accordion/style.js +1 -1
- package/components/Accordion/style.js.map +1 -1
- package/components/Accordion/style.mjs +1 -1
- package/components/Accordion/style.mjs.map +1 -1
- package/components/AccordionItem/AccordionItem.js +1 -1
- package/components/AccordionItem/AccordionItem.js.map +1 -1
- package/components/AccordionItem/AccordionItem.mjs +1 -1
- package/components/AccordionItem/AccordionItem.mjs.map +1 -1
- package/components/AccordionItem/style.js +1 -1
- package/components/AccordionItem/style.js.map +1 -1
- package/components/AccordionItem/style.mjs +1 -1
- package/components/AccordionItem/style.mjs.map +1 -1
- package/components/AccordionItem/useAccordionPanel.js +1 -1
- package/components/AccordionItem/useAccordionPanel.js.map +1 -1
- package/components/AccordionItem/useAccordionPanel.mjs +1 -1
- package/components/AccordionItem/useAccordionPanel.mjs.map +1 -1
- package/components/AccordionItem/useAccordionPanelProps.js.map +1 -1
- package/components/AccordionItem/useAccordionPanelProps.mjs.map +1 -1
- package/components/ActionBtn/style.js +1 -1
- package/components/ActionBtn/style.js.map +1 -1
- package/components/ActionBtn/style.mjs +1 -1
- package/components/ActionBtn/style.mjs.map +1 -1
- package/components/AddElement/AddElement.js +1 -1
- package/components/AddElement/AddElement.js.map +1 -1
- package/components/AddElement/AddElement.mjs +1 -1
- package/components/AddElement/AddElement.mjs.map +1 -1
- package/components/AddElement/style.js +1 -1
- package/components/AddElement/style.js.map +1 -1
- package/components/AddElement/style.mjs +1 -1
- package/components/AddElement/style.mjs.map +1 -1
- package/components/Alert/Alert.js +1 -1
- package/components/Alert/Alert.js.map +1 -1
- package/components/Alert/Alert.mjs +1 -1
- package/components/Alert/Alert.mjs.map +1 -1
- package/components/Alert/CountdownCircle.js +1 -1
- package/components/Alert/CountdownCircle.js.map +1 -1
- package/components/Alert/CountdownCircle.mjs +1 -1
- package/components/Alert/CountdownCircle.mjs.map +1 -1
- package/components/Alert/style.js +1 -1
- package/components/Alert/style.js.map +1 -1
- package/components/Alert/style.mjs +1 -1
- package/components/Alert/style.mjs.map +1 -1
- package/components/Alert/utils.js.map +1 -1
- package/components/Alert/utils.mjs.map +1 -1
- package/components/Amount/Amount.js.map +1 -1
- package/components/Amount/Amount.mjs.map +1 -1
- package/components/Amount/style.js +1 -1
- package/components/Amount/style.js.map +1 -1
- package/components/Amount/style.mjs +1 -1
- package/components/Amount/style.mjs.map +1 -1
- package/components/Anchor/Anchor.js +1 -1
- package/components/Anchor/Anchor.js.map +1 -1
- package/components/Anchor/Anchor.mjs +1 -1
- package/components/Anchor/Anchor.mjs.map +1 -1
- package/components/Anchor/style.js +1 -1
- package/components/Anchor/style.js.map +1 -1
- package/components/Anchor/style.mjs +1 -1
- package/components/Anchor/style.mjs.map +1 -1
- package/components/Arrow/Arrow.js +1 -1
- package/components/Arrow/Arrow.js.map +1 -1
- package/components/Arrow/Arrow.mjs +1 -1
- package/components/Arrow/Arrow.mjs.map +1 -1
- package/components/Arrow/images/chevronUpDefault.svg.js +1 -1
- package/components/Arrow/images/chevronUpDefault.svg.js.map +1 -1
- package/components/Arrow/style.js +1 -1
- package/components/Arrow/style.js.map +1 -1
- package/components/Arrow/style.mjs +1 -1
- package/components/Arrow/style.mjs.map +1 -1
- package/components/ArrowBadge/ArrowBadge.js +1 -1
- package/components/ArrowBadge/ArrowBadge.js.map +1 -1
- package/components/ArrowBadge/ArrowBadge.mjs +1 -1
- package/components/ArrowBadge/ArrowBadge.mjs.map +1 -1
- package/components/ArrowBadge/images/arrow.svg.js +1 -1
- package/components/ArrowBadge/images/arrow.svg.js.map +1 -1
- package/components/ArrowBadge/images/fancy.svg.js +1 -1
- package/components/ArrowBadge/images/fancy.svg.js.map +1 -1
- package/components/ArrowBadge/images/rectangle.svg.js +1 -1
- package/components/ArrowBadge/images/rectangle.svg.js.map +1 -1
- package/components/ArrowBadge/style.js +1 -1
- package/components/ArrowBadge/style.js.map +1 -1
- package/components/ArrowBadge/style.mjs +1 -1
- package/components/ArrowBadge/style.mjs.map +1 -1
- package/components/AspectRatio/AspectRatio.js +1 -1
- package/components/AspectRatio/AspectRatio.js.map +1 -1
- package/components/AspectRatio/AspectRatio.mjs +1 -1
- package/components/AspectRatio/AspectRatio.mjs.map +1 -1
- package/components/AspectRatio/style.js +1 -1
- package/components/AspectRatio/style.js.map +1 -1
- package/components/AspectRatio/style.mjs +1 -1
- package/components/AspectRatio/style.mjs.map +1 -1
- package/components/Avatar/Avatar.js +1 -1
- package/components/Avatar/Avatar.js.map +1 -1
- package/components/Avatar/Avatar.mjs +1 -1
- package/components/Avatar/Avatar.mjs.map +1 -1
- package/components/Avatar/sizes.js +1 -1
- package/components/Avatar/sizes.js.map +1 -1
- package/components/Avatar/sizes.mjs +1 -1
- package/components/Avatar/sizes.mjs.map +1 -1
- package/components/Avatar/style.js +1 -1
- package/components/Avatar/style.js.map +1 -1
- package/components/Avatar/style.mjs +1 -1
- package/components/Avatar/style.mjs.map +1 -1
- package/components/Avatar/utils.js +1 -1
- package/components/Avatar/utils.js.map +1 -1
- package/components/Avatar/utils.mjs +1 -1
- package/components/Avatar/utils.mjs.map +1 -1
- package/components/Badge/Badge.js +1 -1
- package/components/Badge/Badge.js.map +1 -1
- package/components/Badge/Badge.mjs +1 -1
- package/components/Badge/Badge.mjs.map +1 -1
- package/components/Badge/style.js +1 -1
- package/components/Badge/style.js.map +1 -1
- package/components/Badge/style.mjs +1 -1
- package/components/Badge/style.mjs.map +1 -1
- package/components/Button/Button.js +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Button/Button.mjs +1 -1
- package/components/Button/Button.mjs.map +1 -1
- package/components/Button/style.js +1 -1
- package/components/Button/style.js.map +1 -1
- package/components/Button/style.mjs +1 -1
- package/components/Button/style.mjs.map +1 -1
- package/components/Checkbox/Checkbox.js +1 -1
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.mjs +1 -1
- package/components/Checkbox/Checkbox.mjs.map +1 -1
- package/components/Checkbox/images/checkDefault.svg.js +1 -1
- package/components/Checkbox/images/checkDefault.svg.js.map +1 -1
- package/components/Checkbox/style.js +2 -2
- package/components/Checkbox/style.js.map +1 -1
- package/components/Checkbox/style.mjs +2 -2
- package/components/Checkbox/style.mjs.map +1 -1
- package/components/Chip/Chip.js +1 -1
- package/components/Chip/Chip.js.map +1 -1
- package/components/Chip/Chip.mjs +1 -1
- package/components/Chip/Chip.mjs.map +1 -1
- package/components/Chip/sizes.js +2 -0
- package/components/Chip/sizes.js.map +1 -0
- package/components/Chip/sizes.mjs +2 -0
- package/components/Chip/sizes.mjs.map +1 -0
- package/components/Chip/style.js +1 -1
- package/components/Chip/style.js.map +1 -1
- package/components/Chip/style.mjs +1 -1
- package/components/Chip/style.mjs.map +1 -1
- package/components/Container/style.js +1 -1
- package/components/Container/style.js.map +1 -1
- package/components/Container/style.mjs +1 -1
- package/components/Container/style.mjs.map +1 -1
- package/components/ContextMenu/ContextMenu.js +1 -1
- package/components/ContextMenu/ContextMenu.js.map +1 -1
- package/components/ContextMenu/ContextMenu.mjs +1 -1
- package/components/ContextMenu/ContextMenu.mjs.map +1 -1
- package/components/ContextMenu/style.js +1 -1
- package/components/ContextMenu/style.js.map +1 -1
- package/components/ContextMenu/style.mjs +1 -1
- package/components/ContextMenu/style.mjs.map +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.mjs.map +1 -1
- package/components/ContextMenu.Multilevel/style.js +1 -1
- package/components/ContextMenu.Multilevel/style.js.map +1 -1
- package/components/ContextMenu.Multilevel/style.mjs +1 -1
- package/components/ContextMenu.Multilevel/style.mjs.map +1 -1
- package/components/Dialog/Dialog.js +1 -1
- package/components/Dialog/Dialog.js.map +1 -1
- package/components/Dialog/Dialog.mjs +1 -1
- package/components/Dialog/Dialog.mjs.map +1 -1
- package/components/Dialog/style.js +1 -1
- package/components/Dialog/style.js.map +1 -1
- package/components/Dialog/style.mjs +1 -1
- package/components/Dialog/style.mjs.map +1 -1
- package/components/DialogComponent/DialogComponent.js +1 -1
- package/components/DialogComponent/DialogComponent.js.map +1 -1
- package/components/DialogComponent/DialogComponent.mjs +1 -1
- package/components/DialogComponent/DialogComponent.mjs.map +1 -1
- package/components/DialogComponent/Header.js +1 -1
- package/components/DialogComponent/Header.js.map +1 -1
- package/components/DialogComponent/Header.mjs +1 -1
- package/components/DialogComponent/Header.mjs.map +1 -1
- package/components/DialogComponent/images/dragging.svg.js +1 -1
- package/components/DialogComponent/images/dragging.svg.js.map +1 -1
- package/components/DialogComponent/style.js +1 -1
- package/components/DialogComponent/style.js.map +1 -1
- package/components/DialogComponent/style.mjs +1 -1
- package/components/DialogComponent/style.mjs.map +1 -1
- package/components/Divider/Divider.js +1 -1
- package/components/Divider/Divider.js.map +1 -1
- package/components/Divider/Divider.mjs +1 -1
- package/components/Divider/Divider.mjs.map +1 -1
- package/components/Divider/style.js +1 -1
- package/components/Divider/style.js.map +1 -1
- package/components/Divider/style.mjs +1 -1
- package/components/Divider/style.mjs.map +1 -1
- package/components/Dropdown/Dropdown.js +1 -1
- package/components/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.mjs +1 -1
- package/components/Dropdown/Dropdown.mjs.map +1 -1
- package/components/Dropdown/DropdownListItem.js +1 -1
- package/components/Dropdown/DropdownListItem.js.map +1 -1
- package/components/Dropdown/DropdownListItem.mjs +1 -1
- package/components/Dropdown/DropdownListItem.mjs.map +1 -1
- package/components/Dropdown/DropdownMenu.js +1 -1
- package/components/Dropdown/DropdownMenu.js.map +1 -1
- package/components/Dropdown/DropdownMenu.mjs +1 -1
- package/components/Dropdown/DropdownMenu.mjs.map +1 -1
- package/components/Dropdown/DropdownMenuMultiple.js +1 -1
- package/components/Dropdown/DropdownMenuMultiple.js.map +1 -1
- package/components/Dropdown/DropdownMenuMultiple.mjs +1 -1
- package/components/Dropdown/DropdownMenuMultiple.mjs.map +1 -1
- package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -1
- package/components/Dropdown/DropdownMenuNoOptions.mjs.map +1 -1
- package/components/Dropdown/DropdownMenuSingle.js +1 -1
- package/components/Dropdown/DropdownMenuSingle.js.map +1 -1
- package/components/Dropdown/DropdownMenuSingle.mjs +1 -1
- package/components/Dropdown/DropdownMenuSingle.mjs.map +1 -1
- package/components/Dropdown/hooks.js +1 -1
- package/components/Dropdown/hooks.js.map +1 -1
- package/components/Dropdown/hooks.mjs +1 -1
- package/components/Dropdown/hooks.mjs.map +1 -1
- package/components/Dropdown/renderDropdownOptionsList.js +1 -1
- package/components/Dropdown/renderDropdownOptionsList.js.map +1 -1
- package/components/Dropdown/renderDropdownOptionsList.mjs +1 -1
- package/components/Dropdown/renderDropdownOptionsList.mjs.map +1 -1
- package/components/Dropdown/style.js +1 -1
- package/components/Dropdown/style.js.map +1 -1
- package/components/Dropdown/style.mjs +1 -1
- package/components/Dropdown/style.mjs.map +1 -1
- package/components/Dropdown/utils.js +1 -1
- package/components/Dropdown/utils.js.map +1 -1
- package/components/Dropdown/utils.mjs +1 -1
- package/components/Dropdown/utils.mjs.map +1 -1
- package/components/FormInput/FormInput.js +1 -1
- package/components/FormInput/FormInput.js.map +1 -1
- package/components/FormInput/FormInput.mjs +1 -1
- package/components/FormInput/FormInput.mjs.map +1 -1
- package/components/FormInput/style.js +1 -1
- package/components/FormInput/style.js.map +1 -1
- package/components/FormInput/style.mjs +1 -1
- package/components/FormInput/style.mjs.map +1 -1
- package/components/FormInputLabel/FormInputLabel.js +1 -1
- package/components/FormInputLabel/FormInputLabel.js.map +1 -1
- package/components/FormInputLabel/FormInputLabel.mjs +1 -1
- package/components/FormInputLabel/FormInputLabel.mjs.map +1 -1
- package/components/FormInputLabel/style.js +1 -1
- package/components/FormInputLabel/style.js.map +1 -1
- package/components/FormInputLabel/style.mjs +1 -1
- package/components/FormInputLabel/style.mjs.map +1 -1
- package/components/FormLabel/FormLabel.js +1 -1
- package/components/FormLabel/FormLabel.js.map +1 -1
- package/components/FormLabel/FormLabel.mjs +1 -1
- package/components/FormLabel/FormLabel.mjs.map +1 -1
- package/components/FormLabel/constants.js +1 -1
- package/components/FormLabel/constants.js.map +1 -1
- package/components/FormLabel/constants.mjs +1 -1
- package/components/FormLabel/constants.mjs.map +1 -1
- package/components/FormLabel/style.js +1 -1
- package/components/FormLabel/style.js.map +1 -1
- package/components/FormLabel/style.mjs +1 -1
- package/components/FormLabel/style.mjs.map +1 -1
- package/components/Icon/Icon.js +1 -1
- package/components/Icon/Icon.js.map +1 -1
- package/components/Icon/Icon.mjs +1 -1
- package/components/Icon/Icon.mjs.map +1 -1
- package/components/Icon/iconPack.js +1 -1
- package/components/Icon/iconPack.js.map +1 -1
- package/components/Icon/iconPack.mjs +1 -1
- package/components/Icon/iconPack.mjs.map +1 -1
- package/components/Icon/images/blackBoard_default.svg.js +1 -1
- package/components/Icon/images/blackBoard_default.svg.js.map +1 -1
- package/components/Icon/images/book_default.svg.js +1 -1
- package/components/Icon/images/book_default.svg.js.map +1 -1
- package/components/Icon/images/burger_default.svg.js +1 -1
- package/components/Icon/images/burger_default.svg.js.map +1 -1
- package/components/Icon/images/calendar_default.svg.js +1 -1
- package/components/Icon/images/calendar_default.svg.js.map +1 -1
- package/components/Icon/images/calendar_simple_default.svg.js +1 -1
- package/components/Icon/images/calendar_simple_default.svg.js.map +1 -1
- package/components/Icon/images/camps_default.svg.js +1 -1
- package/components/Icon/images/camps_default.svg.js.map +1 -1
- package/components/Icon/images/cancel_default.svg.js +1 -1
- package/components/Icon/images/cancel_default.svg.js.map +1 -1
- package/components/Icon/images/cart_default.svg.js +1 -1
- package/components/Icon/images/cart_default.svg.js.map +1 -1
- package/components/Icon/images/checkCircle_default.svg.js +1 -1
- package/components/Icon/images/checkCircle_default.svg.js.map +1 -1
- package/components/Icon/images/check_default.svg.js +1 -1
- package/components/Icon/images/check_default.svg.js.map +1 -1
- package/components/Icon/images/chevronDown_default.svg.js +1 -1
- package/components/Icon/images/chevronDown_default.svg.js.map +1 -1
- package/components/Icon/images/chevronLeft_default.svg.js +1 -1
- package/components/Icon/images/chevronLeft_default.svg.js.map +1 -1
- package/components/Icon/images/chevronRight_default.svg.js +1 -1
- package/components/Icon/images/chevronRight_default.svg.js.map +1 -1
- package/components/Icon/images/chevronUp_default.svg.js +1 -1
- package/components/Icon/images/chevronUp_default.svg.js.map +1 -1
- package/components/Icon/images/clockFilled_default.svg.js +1 -1
- package/components/Icon/images/clockFilled_default.svg.js.map +1 -1
- package/components/Icon/images/clock_default.svg.js +1 -1
- package/components/Icon/images/clock_default.svg.js.map +1 -1
- package/components/Icon/images/coins_default.svg.js +1 -1
- package/components/Icon/images/coins_default.svg.js.map +1 -1
- package/components/Icon/images/copy_default.svg.js +1 -1
- package/components/Icon/images/copy_default.svg.js.map +1 -1
- package/components/Icon/images/courses_default.svg.js +1 -1
- package/components/Icon/images/courses_default.svg.js.map +1 -1
- package/components/Icon/images/cross_default.svg.js +1 -1
- package/components/Icon/images/cross_default.svg.js.map +1 -1
- package/components/Icon/images/dialog_default.svg.js +1 -1
- package/components/Icon/images/dialog_default.svg.js.map +1 -1
- package/components/Icon/images/diamondFilled_default.svg.js +1 -1
- package/components/Icon/images/diamondFilled_default.svg.js.map +1 -1
- package/components/Icon/images/diamond_default.svg.js +1 -1
- package/components/Icon/images/diamond_default.svg.js.map +1 -1
- package/components/Icon/images/discount_default.svg.js +1 -1
- package/components/Icon/images/discount_default.svg.js.map +1 -1
- package/components/Icon/images/document_default.svg.js +1 -1
- package/components/Icon/images/document_default.svg.js.map +1 -1
- package/components/Icon/images/dropDownArrow_default.svg.js +1 -1
- package/components/Icon/images/dropDownArrow_default.svg.js.map +1 -1
- package/components/Icon/images/edit_default.svg.js +1 -1
- package/components/Icon/images/edit_default.svg.js.map +1 -1
- package/components/Icon/images/email_default.svg.js +1 -1
- package/components/Icon/images/email_default.svg.js.map +1 -1
- package/components/Icon/images/externalLink_default.svg.js +1 -1
- package/components/Icon/images/externalLink_default.svg.js.map +1 -1
- package/components/Icon/images/externat_default.svg.js +1 -1
- package/components/Icon/images/externat_default.svg.js.map +1 -1
- package/components/Icon/images/eye_default.svg.js +1 -1
- package/components/Icon/images/eye_default.svg.js.map +1 -1
- package/components/Icon/images/fileBordered_default.svg.js +1 -1
- package/components/Icon/images/fileBordered_default.svg.js.map +1 -1
- package/components/Icon/images/file_default.svg.js +1 -1
- package/components/Icon/images/file_default.svg.js.map +1 -1
- package/components/Icon/images/fire_default.svg.js +1 -1
- package/components/Icon/images/fire_default.svg.js.map +1 -1
- package/components/Icon/images/headphones_default.svg.js +1 -1
- package/components/Icon/images/headphones_default.svg.js.map +1 -1
- package/components/Icon/images/home_default.svg.js +1 -1
- package/components/Icon/images/home_default.svg.js.map +1 -1
- package/components/Icon/images/infoInverse_default.svg.js +1 -1
- package/components/Icon/images/infoInverse_default.svg.js.map +1 -1
- package/components/Icon/images/info_default.svg.js +1 -1
- package/components/Icon/images/info_default.svg.js.map +1 -1
- package/components/Icon/images/lessons_default.svg.js +1 -1
- package/components/Icon/images/lessons_default.svg.js.map +1 -1
- package/components/Icon/images/list_default.svg.js +1 -1
- package/components/Icon/images/list_default.svg.js.map +1 -1
- package/components/Icon/images/login_default.svg.js +1 -1
- package/components/Icon/images/login_default.svg.js.map +1 -1
- package/components/Icon/images/logout_default.svg.js +1 -1
- package/components/Icon/images/logout_default.svg.js.map +1 -1
- package/components/Icon/images/message_default.svg.js +1 -1
- package/components/Icon/images/message_default.svg.js.map +1 -1
- package/components/Icon/images/objective_default.svg.js +1 -1
- package/components/Icon/images/objective_default.svg.js.map +1 -1
- package/components/Icon/images/page_default.svg.js +1 -1
- package/components/Icon/images/page_default.svg.js.map +1 -1
- package/components/Icon/images/pencil_default.svg.js +1 -1
- package/components/Icon/images/pencil_default.svg.js.map +1 -1
- package/components/Icon/images/person_default.svg.js +1 -1
- package/components/Icon/images/person_default.svg.js.map +1 -1
- package/components/Icon/images/phoneNoFill_default.svg.js +1 -1
- package/components/Icon/images/phoneNoFill_default.svg.js.map +1 -1
- package/components/Icon/images/phone_default.svg.js +1 -1
- package/components/Icon/images/phone_default.svg.js.map +1 -1
- package/components/Icon/images/playPause_default.svg.js +1 -1
- package/components/Icon/images/playPause_default.svg.js.map +1 -1
- package/components/Icon/images/play_default.svg.js +1 -1
- package/components/Icon/images/play_default.svg.js.map +1 -1
- package/components/Icon/images/plusThin_default.svg.js +1 -1
- package/components/Icon/images/plusThin_default.svg.js.map +1 -1
- package/components/Icon/images/plus_default.svg.js +1 -1
- package/components/Icon/images/plus_default.svg.js.map +1 -1
- package/components/Icon/images/present_default.svg.js +1 -1
- package/components/Icon/images/present_default.svg.js.map +1 -1
- package/components/Icon/images/priceTag_default.svg.js +1 -1
- package/components/Icon/images/priceTag_default.svg.js.map +1 -1
- package/components/Icon/images/print_default.svg.js +1 -1
- package/components/Icon/images/print_default.svg.js.map +1 -1
- package/components/Icon/images/prof_default.svg.js +1 -1
- package/components/Icon/images/prof_default.svg.js.map +1 -1
- package/components/Icon/images/questionFilled_default.svg.js +1 -1
- package/components/Icon/images/questionFilled_default.svg.js.map +1 -1
- package/components/Icon/images/radioChecked_default.svg.js +1 -1
- package/components/Icon/images/radioChecked_default.svg.js.map +1 -1
- package/components/Icon/images/radioNotChecked_default.svg.js +1 -1
- package/components/Icon/images/radioNotChecked_default.svg.js.map +1 -1
- package/components/Icon/images/reload_default.svg.js +1 -1
- package/components/Icon/images/reload_default.svg.js.map +1 -1
- package/components/Icon/images/search_default.svg.js +1 -1
- package/components/Icon/images/search_default.svg.js.map +1 -1
- package/components/Icon/images/settings_default.svg.js +1 -1
- package/components/Icon/images/settings_default.svg.js.map +1 -1
- package/components/Icon/images/sharpCross_default.svg.js +1 -1
- package/components/Icon/images/sharpCross_default.svg.js.map +1 -1
- package/components/Icon/images/sort_default.svg.js +1 -1
- package/components/Icon/images/sort_default.svg.js.map +1 -1
- package/components/Icon/images/star_default.svg.js +1 -1
- package/components/Icon/images/star_default.svg.js.map +1 -1
- package/components/Icon/images/student_default.svg.js +1 -1
- package/components/Icon/images/student_default.svg.js.map +1 -1
- package/components/Icon/images/target_default.svg.js +1 -1
- package/components/Icon/images/target_default.svg.js.map +1 -1
- package/components/Icon/images/tasks_default.svg.js +1 -1
- package/components/Icon/images/tasks_default.svg.js.map +1 -1
- package/components/Icon/images/textbook_default.svg.js +1 -1
- package/components/Icon/images/textbook_default.svg.js.map +1 -1
- package/components/Icon/images/tinyCross_default.svg.js +1 -1
- package/components/Icon/images/tinyCross_default.svg.js.map +1 -1
- package/components/Icon/images/trophy_default.svg.js +1 -1
- package/components/Icon/images/trophy_default.svg.js.map +1 -1
- package/components/Icon/images/unsort_default.svg.js +1 -1
- package/components/Icon/images/unsort_default.svg.js.map +1 -1
- package/components/Icon/images/video_default.svg.js +1 -1
- package/components/Icon/images/video_default.svg.js.map +1 -1
- package/components/Icon/images/wallet_default.svg.js +1 -1
- package/components/Icon/images/wallet_default.svg.js.map +1 -1
- package/components/Icon/style.js +1 -1
- package/components/Icon/style.js.map +1 -1
- package/components/Icon/style.mjs +1 -1
- package/components/Icon/style.mjs.map +1 -1
- package/components/IconButton/IconButton.js +1 -1
- package/components/IconButton/IconButton.js.map +1 -1
- package/components/IconButton/IconButton.mjs +1 -1
- package/components/IconButton/IconButton.mjs.map +1 -1
- package/components/IconButton/sizes.js +1 -1
- package/components/IconButton/sizes.js.map +1 -1
- package/components/IconButton/sizes.mjs +1 -1
- package/components/IconButton/sizes.mjs.map +1 -1
- package/components/IconButton/style.js +1 -1
- package/components/IconButton/style.js.map +1 -1
- package/components/IconButton/style.mjs +1 -1
- package/components/IconButton/style.mjs.map +1 -1
- package/components/Indicator/Indicator.js +1 -1
- package/components/Indicator/Indicator.js.map +1 -1
- package/components/Indicator/Indicator.mjs +1 -1
- package/components/Indicator/Indicator.mjs.map +1 -1
- package/components/Indicator/constants.js +1 -1
- package/components/Indicator/constants.js.map +1 -1
- package/components/Indicator/constants.mjs +1 -1
- package/components/Indicator/constants.mjs.map +1 -1
- package/components/Indicator/style.js +1 -1
- package/components/Indicator/style.js.map +1 -1
- package/components/Indicator/style.mjs +1 -1
- package/components/Indicator/style.mjs.map +1 -1
- package/components/Input/Input.js +1 -1
- package/components/Input/Input.js.map +1 -1
- package/components/Input/Input.mjs +1 -1
- package/components/Input/Input.mjs.map +1 -1
- package/components/Input/style.js +1 -1
- package/components/Input/style.js.map +1 -1
- package/components/Input/style.mjs +1 -1
- package/components/Input/style.mjs.map +1 -1
- package/components/Input.Phone/Input.Phone.js.map +1 -1
- package/components/Input.Phone/Input.Phone.mjs.map +1 -1
- package/components/InputCheckbox/InputCheckbox.js +1 -1
- package/components/InputCheckbox/InputCheckbox.js.map +1 -1
- package/components/InputCheckbox/InputCheckbox.mjs +1 -1
- package/components/InputCheckbox/InputCheckbox.mjs.map +1 -1
- package/components/InputCheckbox/style.js +1 -1
- package/components/InputCheckbox/style.js.map +1 -1
- package/components/InputCheckbox/style.mjs +1 -1
- package/components/InputCheckbox/style.mjs.map +1 -1
- package/components/InputLabel/InputLabel.js +1 -1
- package/components/InputLabel/InputLabel.js.map +1 -1
- package/components/InputLabel/InputLabel.mjs +1 -1
- package/components/InputLabel/InputLabel.mjs.map +1 -1
- package/components/InputLabel/style.js +1 -1
- package/components/InputLabel/style.js.map +1 -1
- package/components/InputLabel/style.mjs +1 -1
- package/components/InputLabel/style.mjs.map +1 -1
- package/components/InputRadio/InputRadio.js +1 -1
- package/components/InputRadio/InputRadio.js.map +1 -1
- package/components/InputRadio/InputRadio.mjs +1 -1
- package/components/InputRadio/InputRadio.mjs.map +1 -1
- package/components/InputRadio/style.js +1 -1
- package/components/InputRadio/style.js.map +1 -1
- package/components/InputRadio/style.mjs +1 -1
- package/components/InputRadio/style.mjs.map +1 -1
- package/components/ListItem/ListItem.js +1 -1
- package/components/ListItem/ListItem.js.map +1 -1
- package/components/ListItem/ListItem.mjs +1 -1
- package/components/ListItem/ListItem.mjs.map +1 -1
- package/components/ListItem/sizes.js +2 -0
- package/components/ListItem/sizes.js.map +1 -0
- package/components/ListItem/sizes.mjs +2 -0
- package/components/ListItem/sizes.mjs.map +1 -0
- package/components/ListItem/style.js +1 -1
- package/components/ListItem/style.js.map +1 -1
- package/components/ListItem/style.mjs +1 -1
- package/components/ListItem/style.mjs.map +1 -1
- package/components/Media/Media.js +1 -1
- package/components/Media/Media.js.map +1 -1
- package/components/Media/Media.mjs +1 -1
- package/components/Media/Media.mjs.map +1 -1
- package/components/Media/MediaMatcher.js +1 -1
- package/components/Media/MediaMatcher.js.map +1 -1
- package/components/Media/MediaMatcher.mjs +1 -1
- package/components/Media/MediaMatcher.mjs.map +1 -1
- package/components/Media/MediaMatchers.js.map +1 -1
- package/components/Media/MediaMatchers.mjs.map +1 -1
- package/components/Media/context.js.map +1 -1
- package/components/Media/context.mjs.map +1 -1
- package/components/Media/useMediaConnector.js +1 -1
- package/components/Media/useMediaConnector.js.map +1 -1
- package/components/Media/useMediaConnector.mjs +1 -1
- package/components/Media/useMediaConnector.mjs.map +1 -1
- package/components/Menu/Menu.js +1 -1
- package/components/Menu/Menu.js.map +1 -1
- package/components/Menu/Menu.mjs +1 -1
- package/components/Menu/Menu.mjs.map +1 -1
- package/components/MenuComponent/MenuComponent.js +1 -1
- package/components/MenuComponent/MenuComponent.js.map +1 -1
- package/components/MenuComponent/MenuComponent.mjs +1 -1
- package/components/MenuComponent/MenuComponent.mjs.map +1 -1
- package/components/MenuComponent/style.js +1 -1
- package/components/MenuComponent/style.js.map +1 -1
- package/components/MenuComponent/style.mjs +1 -1
- package/components/MenuComponent/style.mjs.map +1 -1
- package/components/MenuContainer/MenuContainer.js +1 -1
- package/components/MenuContainer/MenuContainer.js.map +1 -1
- package/components/MenuContainer/MenuContainer.mjs +1 -1
- package/components/MenuContainer/MenuContainer.mjs.map +1 -1
- package/components/MenuDivider/MenuDivider.js +1 -1
- package/components/MenuDivider/MenuDivider.js.map +1 -1
- package/components/MenuDivider/MenuDivider.mjs +1 -1
- package/components/MenuDivider/MenuDivider.mjs.map +1 -1
- package/components/MenuDivider/style.js +1 -1
- package/components/MenuDivider/style.js.map +1 -1
- package/components/MenuDivider/style.mjs +1 -1
- package/components/MenuDivider/style.mjs.map +1 -1
- package/components/MenuList/MenuList.js +1 -1
- package/components/MenuList/MenuList.js.map +1 -1
- package/components/MenuList/MenuList.mjs +1 -1
- package/components/MenuList/MenuList.mjs.map +1 -1
- package/components/MenuList/style.js +1 -1
- package/components/MenuList/style.js.map +1 -1
- package/components/MenuList/style.mjs +1 -1
- package/components/MenuList/style.mjs.map +1 -1
- package/components/Modal/adapter.js.map +1 -1
- package/components/Modal/adapter.mjs.map +1 -1
- package/components/Modal/images/tinyCrossDefault.svg.js +1 -1
- package/components/Modal/images/tinyCrossDefault.svg.js.map +1 -1
- package/components/Modal/style.js +1 -1
- package/components/Modal/style.js.map +1 -1
- package/components/Modal/style.mjs +1 -1
- package/components/Modal/style.mjs.map +1 -1
- package/components/Notification/Notification.js +1 -1
- package/components/Notification/Notification.js.map +1 -1
- package/components/Notification/Notification.mjs +1 -1
- package/components/Notification/Notification.mjs.map +1 -1
- package/components/Notification/style.js +1 -1
- package/components/Notification/style.js.map +1 -1
- package/components/Notification/style.mjs +1 -1
- package/components/Notification/style.mjs.map +1 -1
- package/components/Paper/style.js +1 -1
- package/components/Paper/style.js.map +1 -1
- package/components/Paper/style.mjs +1 -1
- package/components/Paper/style.mjs.map +1 -1
- package/components/Popover/Popover.js +1 -1
- package/components/Popover/Popover.js.map +1 -1
- package/components/Popover/Popover.mjs +1 -1
- package/components/Popover/Popover.mjs.map +1 -1
- package/components/PopoverComponent/PopoverComponent.js +1 -1
- package/components/PopoverComponent/PopoverComponent.js.map +1 -1
- package/components/PopoverComponent/PopoverComponent.mjs +1 -1
- package/components/PopoverComponent/PopoverComponent.mjs.map +1 -1
- package/components/PopoverComponent/style.js +1 -1
- package/components/PopoverComponent/style.js.map +1 -1
- package/components/PopoverComponent/style.mjs +1 -1
- package/components/PopoverComponent/style.mjs.map +1 -1
- package/components/Progress/style.js +1 -1
- package/components/Progress/style.js.map +1 -1
- package/components/Progress/style.mjs +1 -1
- package/components/Progress/style.mjs.map +1 -1
- package/components/Progress.Circle/Progress.Circle.js.map +1 -1
- package/components/Progress.Circle/Progress.Circle.mjs.map +1 -1
- package/components/Progress.Circle/style.js +1 -1
- package/components/Progress.Circle/style.js.map +1 -1
- package/components/Progress.Circle/style.mjs +1 -1
- package/components/Progress.Circle/style.mjs.map +1 -1
- package/components/Progress.Segmented/Progress.Segmented.js +1 -1
- package/components/Progress.Segmented/Progress.Segmented.js.map +1 -1
- package/components/Progress.Segmented/Progress.Segmented.mjs +1 -1
- package/components/Progress.Segmented/Progress.Segmented.mjs.map +1 -1
- package/components/Progress.Segmented/style.js +1 -1
- package/components/Progress.Segmented/style.js.map +1 -1
- package/components/Progress.Segmented/style.mjs +1 -1
- package/components/Progress.Segmented/style.mjs.map +1 -1
- package/components/ProgressCircle/ProgressCircle.js +1 -1
- package/components/ProgressCircle/ProgressCircle.js.map +1 -1
- package/components/ProgressCircle/ProgressCircle.mjs +1 -1
- package/components/ProgressCircle/ProgressCircle.mjs.map +1 -1
- package/components/ProgressCircle/style.js +1 -1
- package/components/ProgressCircle/style.js.map +1 -1
- package/components/ProgressCircle/style.mjs +1 -1
- package/components/ProgressCircle/style.mjs.map +1 -1
- package/components/ProgressLine/ProgressLine.js +1 -1
- package/components/ProgressLine/ProgressLine.js.map +1 -1
- package/components/ProgressLine/ProgressLine.mjs +1 -1
- package/components/ProgressLine/ProgressLine.mjs.map +1 -1
- package/components/ProgressLine/style.js +1 -1
- package/components/ProgressLine/style.js.map +1 -1
- package/components/ProgressLine/style.mjs +1 -1
- package/components/ProgressLine/style.mjs.map +1 -1
- package/components/Radio/style.js +2 -2
- package/components/Radio/style.js.map +1 -1
- package/components/Radio/style.mjs +2 -2
- package/components/Radio/style.mjs.map +1 -1
- package/components/Scrollable/Scrollable.js.map +1 -1
- package/components/Scrollable/Scrollable.mjs.map +1 -1
- package/components/Section/style.js +1 -1
- package/components/Section/style.js.map +1 -1
- package/components/Section/style.mjs +1 -1
- package/components/Section/style.mjs.map +1 -1
- package/components/Select/style.js +1 -1
- package/components/Select/style.js.map +1 -1
- package/components/Select/style.mjs +1 -1
- package/components/Select/style.mjs.map +1 -1
- package/components/Separator/style.js +1 -1
- package/components/Separator/style.js.map +1 -1
- package/components/Separator/style.mjs +1 -1
- package/components/Separator/style.mjs.map +1 -1
- package/components/Skeleton/Skeleton.js +1 -1
- package/components/Skeleton/Skeleton.js.map +1 -1
- package/components/Skeleton/Skeleton.mjs +1 -1
- package/components/Skeleton/Skeleton.mjs.map +1 -1
- package/components/Skeleton/style.js +1 -1
- package/components/Skeleton/style.js.map +1 -1
- package/components/Skeleton/style.mjs +1 -1
- package/components/Skeleton/style.mjs.map +1 -1
- package/components/Slot/Slot.js +1 -1
- package/components/Slot/Slot.js.map +1 -1
- package/components/Slot/Slot.mjs +1 -1
- package/components/Slot/Slot.mjs.map +1 -1
- package/components/Spacer/style.js +1 -1
- package/components/Spacer/style.js.map +1 -1
- package/components/Spacer/style.mjs +1 -1
- package/components/Spacer/style.mjs.map +1 -1
- package/components/Spinner/style.js +1 -1
- package/components/Spinner/style.js.map +1 -1
- package/components/Spinner/style.mjs +1 -1
- package/components/Spinner/style.mjs.map +1 -1
- package/components/Switch/Knob.js +1 -1
- package/components/Switch/Knob.js.map +1 -1
- package/components/Switch/Knob.mjs +1 -1
- package/components/Switch/Knob.mjs.map +1 -1
- package/components/Switch/Switch.js +1 -1
- package/components/Switch/Switch.js.map +1 -1
- package/components/Switch/Switch.mjs +1 -1
- package/components/Switch/Switch.mjs.map +1 -1
- package/components/Switch/style.js +1 -1
- package/components/Switch/style.js.map +1 -1
- package/components/Switch/style.mjs +1 -1
- package/components/Switch/style.mjs.map +1 -1
- package/components/Switcher/Switcher.js +1 -1
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.mjs +1 -1
- package/components/Switcher/Switcher.mjs.map +1 -1
- package/components/Switcher/style.js +1 -1
- package/components/Switcher/style.js.map +1 -1
- package/components/Switcher/style.mjs +1 -1
- package/components/Switcher/style.mjs.map +1 -1
- package/components/Tab/Tab.js +1 -1
- package/components/Tab/Tab.js.map +1 -1
- package/components/Tab/Tab.mjs +1 -1
- package/components/Tab/Tab.mjs.map +1 -1
- package/components/Tab/images/arrow.svg.js +1 -1
- package/components/Tab/images/arrow.svg.js.map +1 -1
- package/components/Tab/style.js +1 -1
- package/components/Tab/style.js.map +1 -1
- package/components/Tab/style.mjs +1 -1
- package/components/Tab/style.mjs.map +1 -1
- package/components/TabList/TabList.js +1 -1
- package/components/TabList/TabList.js.map +1 -1
- package/components/TabList/TabList.mjs +1 -1
- package/components/TabList/TabList.mjs.map +1 -1
- package/components/TabList/TabListMenuTab.js +1 -1
- package/components/TabList/TabListMenuTab.js.map +1 -1
- package/components/TabList/TabListMenuTab.mjs +1 -1
- package/components/TabList/TabListMenuTab.mjs.map +1 -1
- package/components/TabList/TabListPanel.js +1 -1
- package/components/TabList/TabListPanel.js.map +1 -1
- package/components/TabList/TabListPanel.mjs +1 -1
- package/components/TabList/TabListPanel.mjs.map +1 -1
- package/components/TabList/hooks.js +1 -1
- package/components/TabList/hooks.js.map +1 -1
- package/components/TabList/hooks.mjs +1 -1
- package/components/TabList/hooks.mjs.map +1 -1
- package/components/TabList/style.js +1 -1
- package/components/TabList/style.js.map +1 -1
- package/components/TabList/style.mjs +1 -1
- package/components/TabList/style.mjs.map +1 -1
- package/components/TabListTab/TabListTab.js +1 -1
- package/components/TabListTab/TabListTab.js.map +1 -1
- package/components/TabListTab/TabListTab.mjs +1 -1
- package/components/TabListTab/TabListTab.mjs.map +1 -1
- package/components/TabListTab/hooks.js.map +1 -1
- package/components/TabListTab/hooks.mjs.map +1 -1
- package/components/TabListTab/style.js +1 -1
- package/components/TabListTab/style.js.map +1 -1
- package/components/TabListTab/style.mjs +1 -1
- package/components/TabListTab/style.mjs.map +1 -1
- package/components/Tabs/style.js +1 -1
- package/components/Tabs/style.js.map +1 -1
- package/components/Tabs/style.mjs +1 -1
- package/components/Tabs/style.mjs.map +1 -1
- package/components/Tag/style.js +1 -1
- package/components/Tag/style.js.map +1 -1
- package/components/Tag/style.mjs +1 -1
- package/components/Tag/style.mjs.map +1 -1
- package/components/Text/Ellipsis.js +1 -1
- package/components/Text/Ellipsis.js.map +1 -1
- package/components/Text/Ellipsis.mjs +1 -1
- package/components/Text/Ellipsis.mjs.map +1 -1
- package/components/Text/Text.js +1 -1
- package/components/Text/Text.js.map +1 -1
- package/components/Text/Text.mjs +1 -1
- package/components/Text/Text.mjs.map +1 -1
- package/components/Text/style.js +1 -1
- package/components/Text/style.js.map +1 -1
- package/components/Text/style.mjs +1 -1
- package/components/Text/style.mjs.map +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
- package/components/Text.Ellipse/Text.Ellipse.mjs +1 -1
- package/components/Text.Ellipse/Text.Ellipse.mjs.map +1 -1
- package/components/Text.Heading/Text.Heading.js.map +1 -1
- package/components/Text.Heading/Text.Heading.mjs.map +1 -1
- package/components/Textarea/Textarea.js +1 -1
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.mjs +1 -1
- package/components/Textarea/Textarea.mjs.map +1 -1
- package/components/Textarea/style.js +1 -1
- package/components/Textarea/style.js.map +1 -1
- package/components/Textarea/style.mjs +1 -1
- package/components/Textarea/style.mjs.map +1 -1
- package/components/Tooltip/Tooltip.js +1 -1
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.mjs +1 -1
- package/components/Tooltip/Tooltip.mjs.map +1 -1
- package/components/Tooltip/TooltipWrapper.js +1 -1
- package/components/Tooltip/TooltipWrapper.js.map +1 -1
- package/components/Tooltip/TooltipWrapper.mjs +1 -1
- package/components/Tooltip/TooltipWrapper.mjs.map +1 -1
- package/components/TooltipComponent/TooltipComponent.js +1 -1
- package/components/TooltipComponent/TooltipComponent.js.map +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
- package/components/TooltipComponent/sizes.js +2 -0
- package/components/TooltipComponent/sizes.js.map +1 -0
- package/components/TooltipComponent/sizes.mjs +2 -0
- package/components/TooltipComponent/sizes.mjs.map +1 -0
- package/components/TooltipComponent/style.js +1 -1
- package/components/TooltipComponent/style.js.map +1 -1
- package/components/TooltipComponent/style.mjs +1 -1
- package/components/TooltipComponent/style.mjs.map +1 -1
- package/dts/index.d.ts +833 -460
- package/hocs/withMergedProps.js +1 -1
- package/hocs/withMergedProps.js.map +1 -1
- package/hocs/withMergedProps.mjs +1 -1
- package/hocs/withMergedProps.mjs.map +1 -1
- package/hocs/withTranslation.js +1 -1
- package/hocs/withTranslation.js.map +1 -1
- package/hocs/withTranslation.mjs +1 -1
- package/hocs/withTranslation.mjs.map +1 -1
- package/hooks/use-config-priority.js +1 -1
- package/hooks/use-config-priority.js.map +1 -1
- package/hooks/use-config-priority.mjs +1 -1
- package/hooks/use-config-priority.mjs.map +1 -1
- package/hooks/useClickOutside.js +1 -1
- package/hooks/useClickOutside.js.map +1 -1
- package/hooks/useClickOutside.mjs +1 -1
- package/hooks/useClickOutside.mjs.map +1 -1
- package/hooks/useFloaterPortal.js +1 -1
- package/hooks/useFloaterPortal.js.map +1 -1
- package/hooks/useFloaterPortal.mjs +1 -1
- package/hooks/useFloaterPortal.mjs.map +1 -1
- package/hooks/useKeyboardListener.js +1 -1
- package/hooks/useKeyboardListener.js.map +1 -1
- package/hooks/useKeyboardListener.mjs +1 -1
- package/hooks/useKeyboardListener.mjs.map +1 -1
- package/hooks/useMergedPalette.js +1 -1
- package/hooks/useMergedPalette.js.map +1 -1
- package/hooks/useMergedPalette.mjs +1 -1
- package/hooks/useMergedPalette.mjs.map +1 -1
- package/hooks/useMergedProps.js +1 -1
- package/hooks/useMergedProps.js.map +1 -1
- package/hooks/useMergedProps.mjs +1 -1
- package/hooks/useMergedProps.mjs.map +1 -1
- package/hooks/useMountedStatus.js +1 -1
- package/hooks/useMountedStatus.js.map +1 -1
- package/hooks/useMountedStatus.mjs +1 -1
- package/hooks/useMountedStatus.mjs.map +1 -1
- package/hooks/useResizable.js +1 -1
- package/hooks/useResizable.js.map +1 -1
- package/hooks/useResizable.mjs +1 -1
- package/hooks/useResizable.mjs.map +1 -1
- package/hooks/useResizeObserver.js +1 -1
- package/hooks/useResizeObserver.js.map +1 -1
- package/hooks/useResizeObserver.mjs +1 -1
- package/hooks/useResizeObserver.mjs.map +1 -1
- package/hooks/useScrollLock.js +1 -1
- package/hooks/useScrollLock.js.map +1 -1
- package/hooks/useScrollLock.mjs +1 -1
- package/hooks/useScrollLock.mjs.map +1 -1
- package/hooks/useScrollMonitor.js +1 -1
- package/hooks/useScrollMonitor.js.map +1 -1
- package/hooks/useScrollMonitor.mjs +1 -1
- package/hooks/useScrollMonitor.mjs.map +1 -1
- package/hooks/useScrollThresholds.js +1 -1
- package/hooks/useScrollThresholds.js.map +1 -1
- package/hooks/useScrollThresholds.mjs +1 -1
- package/hooks/useScrollThresholds.mjs.map +1 -1
- package/icon-pack/src/icons/ArrowUp/index.js +1 -1
- package/icon-pack/src/icons/ArrowUp/index.js.map +1 -1
- package/icon-pack/src/icons/ArrowUp/index.mjs +1 -1
- package/icon-pack/src/icons/ArrowUp/index.mjs.map +1 -1
- package/icon-pack/src/icons/CheckCircleFill/index.js +1 -1
- package/icon-pack/src/icons/CheckCircleFill/index.js.map +1 -1
- package/icon-pack/src/icons/CheckCircleFill/index.mjs +1 -1
- package/icon-pack/src/icons/CheckCircleFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/CheckFill/index.js +1 -1
- package/icon-pack/src/icons/CheckFill/index.js.map +1 -1
- package/icon-pack/src/icons/CheckFill/index.mjs +1 -1
- package/icon-pack/src/icons/CheckFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/ChevronDown/index.js +1 -1
- package/icon-pack/src/icons/ChevronDown/index.js.map +1 -1
- package/icon-pack/src/icons/ChevronDown/index.mjs +1 -1
- package/icon-pack/src/icons/ChevronDown/index.mjs.map +1 -1
- package/icon-pack/src/icons/ChevronLeft/index.js +1 -1
- package/icon-pack/src/icons/ChevronLeft/index.js.map +1 -1
- package/icon-pack/src/icons/ChevronLeft/index.mjs +1 -1
- package/icon-pack/src/icons/ChevronLeft/index.mjs.map +1 -1
- package/icon-pack/src/icons/ChevronRight/index.js +1 -1
- package/icon-pack/src/icons/ChevronRight/index.js.map +1 -1
- package/icon-pack/src/icons/ChevronRight/index.mjs +1 -1
- package/icon-pack/src/icons/ChevronRight/index.mjs.map +1 -1
- package/icon-pack/src/icons/Close/index.js +1 -1
- package/icon-pack/src/icons/Close/index.js.map +1 -1
- package/icon-pack/src/icons/Close/index.mjs +1 -1
- package/icon-pack/src/icons/Close/index.mjs.map +1 -1
- package/icon-pack/src/icons/CloseCirlceFill/index.js +1 -1
- package/icon-pack/src/icons/CloseCirlceFill/index.js.map +1 -1
- package/icon-pack/src/icons/CloseCirlceFill/index.mjs +1 -1
- package/icon-pack/src/icons/CloseCirlceFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/HelpCircle/index.js +1 -1
- package/icon-pack/src/icons/HelpCircle/index.js.map +1 -1
- package/icon-pack/src/icons/HelpCircle/index.mjs +1 -1
- package/icon-pack/src/icons/HelpCircle/index.mjs.map +1 -1
- package/icon-pack/src/icons/InfoCircle/index.js +1 -1
- package/icon-pack/src/icons/InfoCircle/index.js.map +1 -1
- package/icon-pack/src/icons/InfoCircle/index.mjs +1 -1
- package/icon-pack/src/icons/InfoCircle/index.mjs.map +1 -1
- package/icon-pack/src/icons/LoaderFill/index.js +1 -1
- package/icon-pack/src/icons/LoaderFill/index.js.map +1 -1
- package/icon-pack/src/icons/LoaderFill/index.mjs +1 -1
- package/icon-pack/src/icons/LoaderFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/Minus/index.js +1 -1
- package/icon-pack/src/icons/Minus/index.js.map +1 -1
- package/icon-pack/src/icons/Minus/index.mjs +1 -1
- package/icon-pack/src/icons/Minus/index.mjs.map +1 -1
- package/icon-pack/src/icons/MinusFill/index.js +1 -1
- package/icon-pack/src/icons/MinusFill/index.js.map +1 -1
- package/icon-pack/src/icons/MinusFill/index.mjs +1 -1
- package/icon-pack/src/icons/MinusFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/NotifFill/index.js +1 -1
- package/icon-pack/src/icons/NotifFill/index.js.map +1 -1
- package/icon-pack/src/icons/NotifFill/index.mjs +1 -1
- package/icon-pack/src/icons/NotifFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/Plus/index.js +1 -1
- package/icon-pack/src/icons/Plus/index.js.map +1 -1
- package/icon-pack/src/icons/Plus/index.mjs +1 -1
- package/icon-pack/src/icons/Plus/index.mjs.map +1 -1
- package/icon-pack/src/icons/PlusLarge/index.js +1 -1
- package/icon-pack/src/icons/PlusLarge/index.js.map +1 -1
- package/icon-pack/src/icons/PlusLarge/index.mjs +1 -1
- package/icon-pack/src/icons/PlusLarge/index.mjs.map +1 -1
- package/icon-pack/src/icons/Redo/index.js +1 -1
- package/icon-pack/src/icons/Redo/index.js.map +1 -1
- package/icon-pack/src/icons/Redo/index.mjs +1 -1
- package/icon-pack/src/icons/Redo/index.mjs.map +1 -1
- package/icon-pack/src/icons/ResizeHandle/index.js +1 -1
- package/icon-pack/src/icons/ResizeHandle/index.js.map +1 -1
- package/icon-pack/src/icons/ResizeHandle/index.mjs +1 -1
- package/icon-pack/src/icons/ResizeHandle/index.mjs.map +1 -1
- package/icon-pack/src/icons/StarFill/index.js +1 -1
- package/icon-pack/src/icons/StarFill/index.js.map +1 -1
- package/icon-pack/src/icons/StarFill/index.mjs +1 -1
- package/icon-pack/src/icons/StarFill/index.mjs.map +1 -1
- package/icon-pack/src/icons/WarningTriangleFill/index.js +1 -1
- package/icon-pack/src/icons/WarningTriangleFill/index.js.map +1 -1
- package/icon-pack/src/icons/WarningTriangleFill/index.mjs +1 -1
- package/icon-pack/src/icons/WarningTriangleFill/index.mjs.map +1 -1
- package/mixins/color.js.map +1 -1
- package/mixins/color.mjs.map +1 -1
- package/mixins/create-responsive-props.js +1 -1
- package/mixins/create-responsive-props.js.map +1 -1
- package/mixins/create-responsive-props.mjs +1 -1
- package/mixins/create-responsive-props.mjs.map +1 -1
- package/mixins/focus.js +1 -1
- package/mixins/focus.js.map +1 -1
- package/mixins/focus.mjs +1 -1
- package/mixins/focus.mjs.map +1 -1
- package/mixins/responsive-layout.js +1 -1
- package/mixins/responsive-layout.js.map +1 -1
- package/mixins/responsive-layout.mjs +1 -1
- package/mixins/responsive-layout.mjs.map +1 -1
- package/mixins/responsive-margin.js +1 -1
- package/mixins/responsive-margin.js.map +1 -1
- package/mixins/responsive-margin.mjs +1 -1
- package/mixins/responsive-margin.mjs.map +1 -1
- package/mixins/responsive-position.js +1 -1
- package/mixins/responsive-position.js.map +1 -1
- package/mixins/responsive-position.mjs +1 -1
- package/mixins/responsive-position.mjs.map +1 -1
- package/mixins/responsive-property.js +1 -1
- package/mixins/responsive-property.js.map +1 -1
- package/mixins/responsive-property.mjs +1 -1
- package/mixins/responsive-property.mjs.map +1 -1
- package/mixins/responsive-size.js +1 -1
- package/mixins/responsive-size.js.map +1 -1
- package/mixins/responsive-size.mjs +1 -1
- package/mixins/responsive-size.mjs.map +1 -1
- package/mixins/screen.js.map +1 -1
- package/mixins/screen.mjs.map +1 -1
- package/mixins/shared.js +1 -1
- package/mixins/shared.js.map +1 -1
- package/mixins/shared.mjs +1 -1
- package/mixins/shared.mjs.map +1 -1
- package/package.json +2 -2
- package/shared/resize-observer.js +1 -1
- package/shared/resize-observer.js.map +1 -1
- package/shared/resize-observer.mjs +1 -1
- package/shared/resize-observer.mjs.map +1 -1
- package/shared/utils/Observable.js +1 -1
- package/shared/utils/Observable.js.map +1 -1
- package/shared/utils/Observable.mjs +1 -1
- package/shared/utils/Observable.mjs.map +1 -1
- package/shared/utils/colors.js +1 -1
- package/shared/utils/colors.js.map +1 -1
- package/shared/utils/colors.mjs +1 -1
- package/shared/utils/colors.mjs.map +1 -1
- package/shared/utils/createPolymorphicComponentWithRef.js +2 -0
- package/shared/utils/createPolymorphicComponentWithRef.js.map +1 -0
- package/shared/utils/createPolymorphicComponentWithRef.mjs +2 -0
- package/shared/utils/createPolymorphicComponentWithRef.mjs.map +1 -0
- package/shared/utils/dom.js +1 -1
- package/shared/utils/dom.js.map +1 -1
- package/shared/utils/dom.mjs +1 -1
- package/shared/utils/dom.mjs.map +1 -1
- package/shared/utils/getDomTargets.js +1 -1
- package/shared/utils/getDomTargets.js.map +1 -1
- package/shared/utils/getDomTargets.mjs +1 -1
- package/shared/utils/getDomTargets.mjs.map +1 -1
- package/shared/utils/getProgressPercent.js.map +1 -1
- package/shared/utils/getProgressPercent.mjs.map +1 -1
- package/shared/utils/misc.js +1 -1
- package/shared/utils/misc.js.map +1 -1
- package/shared/utils/misc.mjs +1 -1
- package/shared/utils/misc.mjs.map +1 -1
- package/shared/utils/react.js +1 -1
- package/shared/utils/react.js.map +1 -1
- package/shared/utils/react.mjs +1 -1
- package/shared/utils/react.mjs.map +1 -1
- package/shared/utils/style.js +1 -1
- package/shared/utils/style.js.map +1 -1
- package/shared/utils/style.mjs +1 -1
- package/shared/utils/style.mjs.map +1 -1
- package/theme/global-styled.js +1 -1
- package/theme/global-styled.js.map +1 -1
- package/theme/global-styled.mjs +1 -1
- package/theme/global-styled.mjs.map +1 -1
- package/theme/theme-provider.js +1 -1
- package/theme/theme-provider.js.map +1 -1
- package/theme/theme-provider.mjs +1 -1
- package/theme/theme-provider.mjs.map +1 -1
- package/components/Chip/constants.js +0 -2
- package/components/Chip/constants.js.map +0 -1
- package/components/Chip/constants.mjs +0 -2
- package/components/Chip/constants.mjs.map +0 -1
- package/components/ListItem/constants.js +0 -2
- package/components/ListItem/constants.js.map +0 -1
- package/components/ListItem/constants.mjs +0 -2
- package/components/ListItem/constants.mjs.map +0 -1
- package/components/TooltipComponent/constants.js +0 -2
- package/components/TooltipComponent/constants.js.map +0 -1
- package/components/TooltipComponent/constants.mjs +0 -2
- package/components/TooltipComponent/constants.mjs.map +0 -1
- package/shared/utils/polymorphic.js +0 -2
- package/shared/utils/polymorphic.js.map +0 -1
- package/shared/utils/polymorphic.mjs +0 -2
- package/shared/utils/polymorphic.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.Heading.js","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"yMAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SASZ,MAAMI,YAAeC,IACnB,MAAMC,EAAQC,OAAAA,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAAA,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,WAAAA,IAACC,KAAAA,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPd,OAAOa,MAEsCE,
|
|
1
|
+
{"version":3,"file":"Text.Heading.js","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"yMAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SASZ,MAAMI,YAAeC,IACnB,MAAMC,EAAQC,OAAAA,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAAA,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,WAAAA,IAACC,KAAAA,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPd,OAAOa,MAEsCE,KAGxEN,YAAYY,YAnBW,sCAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.Heading.mjs","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","COMPONENT_NAME","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"iLAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SAIZ,MAAMI,eAAiB,eAKvB,MAAMC,YAAeC,IACnB,MAAMC,EAAQC,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,IAACC,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPf,OAAOc,MAEsCE,
|
|
1
|
+
{"version":3,"file":"Text.Heading.mjs","sources":["../../../../src/components/Text.Heading/Text.Heading.tsx"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport { useConfigPriority } from 'hooks/use-config-priority'\nimport { Text } from '../Text'\nimport type { TextHeadingProps, H } from './types'\n\nconst PARAMS: Record<H, Partial<TextHeadingProps>> = {\n h1: {\n size: 44,\n sizeM: 32,\n lineHeight: 's',\n weight: 'bold',\n },\n h2: {\n size: 32,\n sizeM: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h3: {\n size: 28,\n lineHeight: 's',\n weight: 'bold',\n },\n h4: {\n size: 24,\n lineHeight: 's',\n weight: 'bold',\n },\n}\n\nconst COMPONENT_NAME = 'Text.Heading'\n\n/**\n * @visibleName Text.Heading\n */\nconst TextHeading = (props: TextHeadingProps) => {\n const theme = useTheme()\n\n const {\n h = 'h1',\n fontFamily,\n ...configProps\n } = useConfigPriority<TextHeadingProps>(theme.components?.[COMPONENT_NAME], props)\n\n const predefinedParams = PARAMS[h]\n\n return <Text as={h} fontFamily={fontFamily} {...predefinedParams} {...configProps} />\n}\n\nTextHeading.displayName = COMPONENT_NAME\n\nexport { TextHeading, COMPONENT_NAME }\n"],"names":["PARAMS","h1","size","sizeM","lineHeight","weight","h2","h3","h4","COMPONENT_NAME","TextHeading","props","theme","useTheme","h","fontFamily","configProps","useConfigPriority","components","_jsx","Text","as","displayName"],"mappings":"iLAKA,MAAMA,OAA+C,CACnDC,GAAI,CACFC,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVC,GAAI,CACFJ,KAAM,GACNC,MAAO,GACPC,WAAY,IACZC,OAAQ,QAEVE,GAAI,CACFL,KAAM,GACNE,WAAY,IACZC,OAAQ,QAEVG,GAAI,CACFN,KAAM,GACNE,WAAY,IACZC,OAAQ,SAIZ,MAAMI,eAAiB,eAKvB,MAAMC,YAAeC,IACnB,MAAMC,EAAQC,WAEd,MAAMC,EACJA,EAAI,KAAIC,WACRA,KACGC,GACDC,kBAAoCL,EAAMM,aAZzB,gBAYuDP,GAI5E,OAAOQ,IAACC,KAAI,CAACC,GAAIP,EAAGC,WAAYA,KAFPf,OAAOc,MAEsCE,KAGxEN,YAAYY,YAnBW"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var styled=require('styled-components');var nanoid=require('nanoid');var withMergedProps=require('../../hocs/withMergedProps.js');var useResizable=require('../../hooks/useResizable.js');var misc=require('../../shared/utils/misc.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var FormInputLabel=require('../FormInputLabel/FormInputLabel.js');var index=require('../../icon-pack/src/icons/ResizeHandle/index.js');var InputLabel=require('../InputLabel/InputLabel.js');var sizes$1=require('../FormInput/sizes.js');const Textarea=withMergedProps.withMergedProps(React.forwardRef((
|
|
1
|
+
'use strict';var React=require('react');var styled=require('styled-components');var nanoid=require('nanoid');var withMergedProps=require('../../hocs/withMergedProps.js');var useResizable=require('../../hooks/useResizable.js');var misc=require('../../shared/utils/misc.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var FormInputLabel=require('../FormInputLabel/FormInputLabel.js');var index=require('../../icon-pack/src/icons/ResizeHandle/index.js');var InputLabel=require('../InputLabel/InputLabel.js');var sizes$1=require('../FormInput/sizes.js');const Textarea=withMergedProps.withMergedProps(React.forwardRef((e,r)=>{const t=styled.useTheme();const{size:a="m",rows:i=2,maxRows:n=30,labelPosition:o="dynamic",primary:s=!0,width:l=t.defaultInputControlsWidth,autosize:m=!0,rounded:u=!0,color:c="mineShaft",placeholderColor:g="silver",autoRows:d,resize:h,contrast:p,inline:X,secondary:b,success:L,error:R,sizeXXS:S,sizeXS:z,sizeS:f,sizeM:x,sizeL:v,sizeXL:w,sizes:j,sizeUnits:M,margin:C,marginXXS:T,marginXS:y,marginS:I,marginM:B,marginL:q,marginXL:D,marginTop:F,marginTopXXS:k,marginTopXS:N,marginTopS:E,marginTopM:H,marginTopL:P,marginTopXL:O,marginRight:U,marginRightXXS:Z,marginRightXS:$,marginRightS:A,marginRightM:G,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:_,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:te,marginLeftXXS:ae,marginLeftXS:ie,marginLeftS:ne,marginLeftM:oe,marginLeftL:se,marginLeftXL:le,widthXXS:me,widthXS:ue,widthS:ce,widthM:ge,widthL:de,widthXL:he,preset:pe,palette:Xe,label:be,fluid:Le,className:Re,style:Se,disabled:ze,...fe}=e;const xe={size:a,sizeXXS:S,sizeXS:z,sizeS:f,sizeM:x,sizeL:v,sizeXL:w};const ve=React.useRef(null);const we=React.useRef(null);const je=React.useRef(null);React.useImperativeHandle(r,()=>ve.current,[]);const[Me,Ce,Te]=useResizable.useResizable({target:je,direction:h});const ye=React.useMemo(()=>nanoid.nanoid(),[]);const[Ie,Be]=React.useState(()=>{const e=fe.value??fe.defaultValue;return typeof e=='string'&&e.length>0});const[qe,De]=React.useState(()=>Math.min(i,n));const Fe=pe==='brand'&&d||pe!=='brand'&&m?qe:Math.min(i,n);const ke=h==='horizontal'?'ew-resize':h==='vertical'?'ns-resize':'nwse-resize';const Ne=React.useCallback(()=>{if(!ve.current)return;if(pe==='brand'){if(!we.current)return;we.current.value=ve.current.value;const e=Math.max(Math.round(we.current.scrollHeight/we.current.clientHeight),i);return void De(Math.min(e,n))}const e=getComputedStyle(ve.current);const r=parseFloat(e.lineHeight);const t=Math.max(Math.round((ve.current.scrollHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom))/(Number.isNaN(r)?parseFloat(e.fontSize)*1.2:r)),i);De(e=>t>e?Math.min(t,n):ve.current&&!ve.current.value?i:e)},[pe,i,n]);return React.useLayoutEffect(()=>{pe==='brand'&&typeof fe.value=='string'&&ve.current&&ve.current!==document.activeElement&&Be(fe.value.length>0)},[pe,fe.value]),React.useEffect(()=>{const e=misc.createThrottledCallback(Ne,200);return(pe==='brand'&&d||pe!=='brand'&&m)&&(Ne(),window.addEventListener('resize',e)),()=>{window.removeEventListener('resize',e)}},[pe,d,m,Ne]),pe!=='brand'?jsxRuntime.jsx(style.Root,{...fe,ref:ve,className:Re,style:Se,onChange:e=>{m&&Ne(),fe.onChange&&fe.onChange(e)},rows:Fe,color:c,rounded:u,placeholderColor:g,disabled:ze,error:R,fluid:Le,width:l,widthXXS:me,widthXS:ue,widthS:ce,widthM:ge,widthL:de,widthXL:he}):jsxRuntime.jsx(FormInputLabel.FormInputLabel,{...xe,ref:je,sizes:j,sizeUnits:M,margin:C,marginXXS:T,marginXS:y,marginS:I,marginM:B,marginL:q,marginXL:D,marginTop:F,marginTopXXS:k,marginTopXS:N,marginTopS:E,marginTopM:H,marginTopL:P,marginTopXL:O,marginRight:U,marginRightXXS:Z,marginRightXS:$,marginRightS:A,marginRightM:G,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:_,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:te,marginLeftXXS:ae,marginLeftXS:ie,marginLeftS:ne,marginLeftM:oe,marginLeftL:se,marginLeftXL:le,className:Re,style:Se,contrast:p,error:R,inline:X,disabled:ze,primary:s,secondary:b,success:L,palette:{color:ze?Xe.colorDisabled:Xe.color,backgroundColor:ze?Xe.backgroundColorDisabled:Xe.backgroundColor,backgroundColorHover:ze?Xe.backgroundColorDisabled:Xe.backgroundColorHover,borderColor:ze?Xe.borderColorDisabled:Xe.borderColor},onClick:()=>{ve.current&&ve.current.focus()},onFocus:()=>{Be(!0)},onPointerDown:e=>{e.target!==ve.current&&e.target instanceof Node&&e.preventDefault()},onBlur:e=>{ve.current&&!e.currentTarget.contains(e.relatedTarget)&&Be(Boolean(ve.current.value))},overflow:"hidden",input:jsxRuntime.jsxs(InputLabel.InputLabel,{...xe,sizes:sizes$1.SIZES,active:Ie,label:be,labelId:ye,labelPosition:o,children:[d?jsxRuntime.jsx(style.TextareaMimic,{ref:we,rows:1}):null,jsxRuntime.jsx(style.Textarea,{...fe,ref:ve,"aria-labelledby":be?ye:void 0,disabled:ze,onChange:e=>{d&&Ne(),fe.onChange&&fe.onChange(e)},rows:Fe,palette:{color:Xe.color,colorDisabled:Xe.colorDisabled,placeholderColor:Xe.placeholderColor,placeholderColorDisabled:Xe.placeholderColorDisabled}})]}),addonRight:h?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Me?jsxRuntime.jsx(style.ResizeGlobals,{cursor:ke}):null,jsxRuntime.jsx(style.ResizeIcon,{size:"l",icon:jsxRuntime.jsx(index.ResizeHandle,{}),color:"border-onmain-default-small",tabIndex:0,onPointerDown:Ce,onKeyDown:Te,cursor:ke})]}):null})}),{displayName:"Textarea",sizes:sizes.SIZES});exports.COMPONENT_NAME="Textarea",exports.Textarea=Textarea;
|
|
2
2
|
//# sourceMappingURL=Textarea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import {\n forwardRef,\n useImperativeHandle,\n useLayoutEffect,\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react'\nimport { useTheme } from 'styled-components'\nimport { nanoid } from 'nanoid'\nimport { ResizeHandle } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { InputLabel } from 'components/InputLabel'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizable } from 'hooks/useResizable'\nimport { createThrottledCallback } from 'shared/utils/misc'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { SIZES as SIZES_FORM_INPUT } from 'components/FormInput'\nimport { SIZES } from './sizes'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\n/**\n *\n * Компонент для приема многострочного ввода.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<textarea\\> элемента.\n */\nconst Textarea: React.ForwardRefExoticComponent<TextareaProps> = withMergedProps<TextareaProps, HTMLTextAreaElement>(\n forwardRef<HTMLTextAreaElement, MergedProps<TextareaProps>>((props, forwardedRef) => {\n const theme = useTheme()\n\n const {\n size = 'm',\n rows = 2,\n maxRows = 30,\n labelPosition = 'dynamic',\n primary = true,\n width = theme.defaultInputControlsWidth,\n autosize = true,\n rounded = true,\n color = 'mineShaft',\n placeholderColor = 'silver',\n autoRows,\n resize,\n contrast,\n inline,\n secondary,\n success,\n error,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n margin,\n marginXXS,\n marginXS,\n marginS,\n marginM,\n marginL,\n marginXL,\n marginTop,\n marginTopXXS,\n marginTopXS,\n marginTopS,\n marginTopM,\n marginTopL,\n marginTopXL,\n marginRight,\n marginRightXXS,\n marginRightXS,\n marginRightS,\n marginRightM,\n marginRightL,\n marginRightXL,\n marginBottom,\n marginBottomXXS,\n marginBottomXS,\n marginBottomS,\n marginBottomM,\n marginBottomL,\n marginBottomXL,\n marginLeft,\n marginLeftXXS,\n marginLeftXS,\n marginLeftS,\n marginLeftM,\n marginLeftL,\n marginLeftXL,\n widthXXS,\n widthXS,\n widthS,\n widthM,\n widthL,\n widthXL,\n preset,\n palette,\n label,\n fluid,\n className,\n style,\n disabled,\n ...textareaProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const textareaMimicRef = useRef<HTMLTextAreaElement>(null)\n\n const formInputLabelRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(forwardedRef, () => textareaRef.current as HTMLTextAreaElement, [])\n\n const [resizing, handleResizeStart, handleResizeOnNudge] = useResizable<HTMLDivElement, HTMLSpanElement>({\n target: formInputLabelRef,\n direction: resize,\n })\n\n const labelId = useMemo(() => nanoid(), [])\n\n const [active, setActive] = useState(() => {\n const valueInit = textareaProps.value ?? textareaProps.defaultValue\n\n return typeof valueInit === 'string' && valueInit.length > 0\n })\n\n const [autoRowsCount, setAutoRowsCount] = useState(() => Math.min(rows, maxRows))\n\n const rowsVisible =\n (preset === 'brand' && autoRows) || (preset !== 'brand' && autosize) ? autoRowsCount : Math.min(rows, maxRows)\n\n const cursorResize = resize === 'horizontal' ? 'ew-resize' : resize === 'vertical' ? 'ns-resize' : 'nwse-resize'\n\n const updateAutoRowsCount = useCallback(() => {\n if (!textareaRef.current) return\n\n if (preset === 'brand') {\n if (!textareaMimicRef.current) return\n\n textareaMimicRef.current.value = textareaRef.current.value\n\n const nextRows = Math.max(\n Math.round(textareaMimicRef.current.scrollHeight / textareaMimicRef.current.clientHeight),\n rows\n )\n\n setAutoRowsCount(Math.min(nextRows, maxRows))\n\n return\n }\n\n const styles = getComputedStyle(textareaRef.current)\n\n const lineHeight = parseFloat(styles.lineHeight)\n\n const nextRows = Math.max(\n Math.round(\n (textareaRef.current.scrollHeight - parseFloat(styles.paddingTop) - parseFloat(styles.paddingBottom)) /\n (Number.isNaN(lineHeight) ? parseFloat(styles.fontSize) * 1.2 : lineHeight)\n ),\n rows\n )\n\n setAutoRowsCount((prevRows) => {\n if (nextRows > prevRows) return Math.min(nextRows, maxRows)\n if (textareaRef.current && !textareaRef.current.value) return rows\n\n return prevRows\n })\n }, [preset, rows, maxRows])\n\n useLayoutEffect(() => {\n if (\n preset === 'brand' &&\n typeof textareaProps.value === 'string' &&\n textareaRef.current &&\n textareaRef.current !== document.activeElement\n ) {\n setActive(textareaProps.value.length > 0)\n }\n }, [preset, textareaProps.value])\n\n useEffect(() => {\n const handleResize = createThrottledCallback<UIEvent>(updateAutoRowsCount, 200)\n\n if ((preset === 'brand' && autoRows) || (preset !== 'brand' && autosize)) {\n updateAutoRowsCount()\n window.addEventListener('resize', handleResize)\n }\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [preset, autoRows, autosize, updateAutoRowsCount])\n\n if (preset !== 'brand') {\n return (\n <Styled.Root\n {...textareaProps}\n ref={textareaRef}\n className={className}\n style={style}\n onChange={(evt) => {\n if (autosize) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n disabled={disabled}\n error={error}\n fluid={fluid}\n width={width}\n widthXXS={widthXXS}\n widthXS={widthXS}\n widthS={widthS}\n widthM={widthM}\n widthL={widthL}\n widthXL={widthXL}\n />\n )\n }\n\n return (\n <FormInputLabel\n {...sizeProps}\n ref={formInputLabelRef}\n sizes={sizes}\n sizeUnits={sizeUnits}\n margin={margin}\n marginXXS={marginXXS}\n marginXS={marginXS}\n marginS={marginS}\n marginM={marginM}\n marginL={marginL}\n marginXL={marginXL}\n marginTop={marginTop}\n marginTopXXS={marginTopXXS}\n marginTopXS={marginTopXS}\n marginTopS={marginTopS}\n marginTopM={marginTopM}\n marginTopL={marginTopL}\n marginTopXL={marginTopXL}\n marginRight={marginRight}\n marginRightXXS={marginRightXXS}\n marginRightXS={marginRightXS}\n marginRightS={marginRightS}\n marginRightM={marginRightM}\n marginRightL={marginRightL}\n marginRightXL={marginRightXL}\n marginBottom={marginBottom}\n marginBottomXXS={marginBottomXXS}\n marginBottomXS={marginBottomXS}\n marginBottomS={marginBottomS}\n marginBottomM={marginBottomM}\n marginBottomL={marginBottomL}\n marginBottomXL={marginBottomXL}\n marginLeft={marginLeft}\n marginLeftXXS={marginLeftXXS}\n marginLeftXS={marginLeftXS}\n marginLeftS={marginLeftS}\n marginLeftM={marginLeftM}\n marginLeftL={marginLeftL}\n marginLeftXL={marginLeftXL}\n className={className}\n style={style}\n contrast={contrast}\n error={error}\n inline={inline}\n disabled={disabled}\n primary={primary}\n secondary={secondary}\n success={success}\n palette={{\n color: disabled ? palette.colorDisabled : palette.color,\n backgroundColor: disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={() => {\n if (textareaRef.current) {\n textareaRef.current.focus()\n }\n }}\n onFocus={() => {\n setActive(true)\n }}\n onPointerDown={(evt) => {\n if (evt.target === textareaRef.current || !(evt.target instanceof Node)) {\n return\n }\n evt.preventDefault()\n }}\n onBlur={(evt) => {\n if (textareaRef.current && !evt.currentTarget.contains(evt.relatedTarget)) {\n setActive(Boolean(textareaRef.current.value))\n }\n }}\n overflow='hidden'\n input={\n <InputLabel\n {...sizeProps}\n sizes={SIZES_FORM_INPUT}\n active={active}\n label={label}\n labelId={labelId}\n labelPosition={labelPosition}\n >\n {autoRows ? <Styled.TextareaMimic ref={textareaMimicRef} rows={1} /> : null}\n <Styled.Textarea\n {...textareaProps}\n ref={textareaRef}\n aria-labelledby={label ? labelId : undefined}\n disabled={disabled}\n onChange={(evt) => {\n if (autoRows) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n />\n </InputLabel>\n }\n addonRight={\n resize ? (\n <>\n {resizing ? <Styled.ResizeGlobals cursor={cursorResize} /> : null}\n <Styled.ResizeIcon\n size='l'\n icon={<ResizeHandle />}\n color='border-onmain-default-small'\n tabIndex={0}\n onPointerDown={handleResizeStart}\n onKeyDown={handleResizeOnNudge}\n cursor={cursorResize}\n />\n </>\n ) : null\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["Textarea","withMergedProps","forwardRef","props","forwardedRef","theme","useTheme","size","rows","maxRows","labelPosition","primary","width","defaultInputControlsWidth","autosize","rounded","color","placeholderColor","autoRows","resize","contrast","inline","secondary","success","error","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","margin","marginXXS","marginXS","marginS","marginM","marginL","marginXL","marginTop","marginTopXXS","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRight","marginRightXXS","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottom","marginBottomXXS","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeft","marginLeftXXS","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","widthXXS","widthXS","widthS","widthM","widthL","widthXL","preset","palette","label","fluid","className","style","disabled","textareaProps","sizeProps","textareaRef","useRef","textareaMimicRef","formInputLabelRef","useImperativeHandle","current","resizing","handleResizeStart","handleResizeOnNudge","useResizable","target","direction","labelId","useMemo","nanoid","active","setActive","useState","valueInit","value","defaultValue","length","autoRowsCount","setAutoRowsCount","Math","min","rowsVisible","cursorResize","updateAutoRowsCount","useCallback","nextRows","max","round","scrollHeight","clientHeight","styles","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","Number","isNaN","fontSize","prevRows","useLayoutEffect","document","activeElement","useEffect","handleResize","createThrottledCallback","window","addEventListener","removeEventListener","_jsx","Styled","ref","onChange","evt","FormInputLabel","colorDisabled","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","focus","onFocus","onPointerDown","Node","preventDefault","onBlur","currentTarget","contains","relatedTarget","Boolean","overflow","input","_jsxs","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Textarea.js","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import {\n forwardRef,\n useImperativeHandle,\n useLayoutEffect,\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react'\nimport { useTheme } from 'styled-components'\nimport { nanoid } from 'nanoid'\nimport { ResizeHandle } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { InputLabel } from 'components/InputLabel'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizable } from 'hooks/useResizable'\nimport { createThrottledCallback } from 'shared/utils/misc'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { SIZES as SIZES_FORM_INPUT } from 'components/FormInput'\nimport { SIZES } from './sizes'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\n/**\n *\n * Компонент для приема многострочного ввода.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<textarea\\> элемента.\n */\nconst Textarea: React.ForwardRefExoticComponent<TextareaProps> = withMergedProps<TextareaProps, HTMLTextAreaElement>(\n forwardRef<HTMLTextAreaElement, MergedProps<TextareaProps>>((props, forwardedRef) => {\n const theme = useTheme()\n\n const {\n size = 'm',\n rows = 2,\n maxRows = 30,\n labelPosition = 'dynamic',\n primary = true,\n width = theme.defaultInputControlsWidth,\n autosize = true,\n rounded = true,\n color = 'mineShaft',\n placeholderColor = 'silver',\n autoRows,\n resize,\n contrast,\n inline,\n secondary,\n success,\n error,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n margin,\n marginXXS,\n marginXS,\n marginS,\n marginM,\n marginL,\n marginXL,\n marginTop,\n marginTopXXS,\n marginTopXS,\n marginTopS,\n marginTopM,\n marginTopL,\n marginTopXL,\n marginRight,\n marginRightXXS,\n marginRightXS,\n marginRightS,\n marginRightM,\n marginRightL,\n marginRightXL,\n marginBottom,\n marginBottomXXS,\n marginBottomXS,\n marginBottomS,\n marginBottomM,\n marginBottomL,\n marginBottomXL,\n marginLeft,\n marginLeftXXS,\n marginLeftXS,\n marginLeftS,\n marginLeftM,\n marginLeftL,\n marginLeftXL,\n widthXXS,\n widthXS,\n widthS,\n widthM,\n widthL,\n widthXL,\n preset,\n palette,\n label,\n fluid,\n className,\n style,\n disabled,\n ...textareaProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const textareaMimicRef = useRef<HTMLTextAreaElement>(null)\n\n const formInputLabelRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(forwardedRef, () => textareaRef.current as HTMLTextAreaElement, [])\n\n const [resizing, handleResizeStart, handleResizeOnNudge] = useResizable<HTMLDivElement, HTMLSpanElement>({\n target: formInputLabelRef,\n direction: resize,\n })\n\n const labelId = useMemo(() => nanoid(), [])\n\n const [active, setActive] = useState(() => {\n const valueInit = textareaProps.value ?? textareaProps.defaultValue\n\n return typeof valueInit === 'string' && valueInit.length > 0\n })\n\n const [autoRowsCount, setAutoRowsCount] = useState(() => Math.min(rows, maxRows))\n\n const rowsVisible =\n (preset === 'brand' && autoRows) || (preset !== 'brand' && autosize) ? autoRowsCount : Math.min(rows, maxRows)\n\n const cursorResize = resize === 'horizontal' ? 'ew-resize' : resize === 'vertical' ? 'ns-resize' : 'nwse-resize'\n\n const updateAutoRowsCount = useCallback(() => {\n if (!textareaRef.current) return\n\n if (preset === 'brand') {\n if (!textareaMimicRef.current) return\n\n textareaMimicRef.current.value = textareaRef.current.value\n\n const nextRows = Math.max(\n Math.round(textareaMimicRef.current.scrollHeight / textareaMimicRef.current.clientHeight),\n rows\n )\n\n setAutoRowsCount(Math.min(nextRows, maxRows))\n\n return\n }\n\n const styles = getComputedStyle(textareaRef.current)\n\n const lineHeight = parseFloat(styles.lineHeight)\n\n const nextRows = Math.max(\n Math.round(\n (textareaRef.current.scrollHeight - parseFloat(styles.paddingTop) - parseFloat(styles.paddingBottom)) /\n (Number.isNaN(lineHeight) ? parseFloat(styles.fontSize) * 1.2 : lineHeight)\n ),\n rows\n )\n\n setAutoRowsCount((prevRows) => {\n if (nextRows > prevRows) return Math.min(nextRows, maxRows)\n if (textareaRef.current && !textareaRef.current.value) return rows\n\n return prevRows\n })\n }, [preset, rows, maxRows])\n\n useLayoutEffect(() => {\n if (\n preset === 'brand' &&\n typeof textareaProps.value === 'string' &&\n textareaRef.current &&\n textareaRef.current !== document.activeElement\n ) {\n setActive(textareaProps.value.length > 0)\n }\n }, [preset, textareaProps.value])\n\n useEffect(() => {\n const handleResize = createThrottledCallback<UIEvent>(updateAutoRowsCount, 200)\n\n if ((preset === 'brand' && autoRows) || (preset !== 'brand' && autosize)) {\n updateAutoRowsCount()\n window.addEventListener('resize', handleResize)\n }\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [preset, autoRows, autosize, updateAutoRowsCount])\n\n if (preset !== 'brand') {\n return (\n <Styled.Root\n {...textareaProps}\n ref={textareaRef}\n className={className}\n style={style}\n onChange={(evt) => {\n if (autosize) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n disabled={disabled}\n error={error}\n fluid={fluid}\n width={width}\n widthXXS={widthXXS}\n widthXS={widthXS}\n widthS={widthS}\n widthM={widthM}\n widthL={widthL}\n widthXL={widthXL}\n />\n )\n }\n\n return (\n <FormInputLabel\n {...sizeProps}\n ref={formInputLabelRef}\n sizes={sizes}\n sizeUnits={sizeUnits}\n margin={margin}\n marginXXS={marginXXS}\n marginXS={marginXS}\n marginS={marginS}\n marginM={marginM}\n marginL={marginL}\n marginXL={marginXL}\n marginTop={marginTop}\n marginTopXXS={marginTopXXS}\n marginTopXS={marginTopXS}\n marginTopS={marginTopS}\n marginTopM={marginTopM}\n marginTopL={marginTopL}\n marginTopXL={marginTopXL}\n marginRight={marginRight}\n marginRightXXS={marginRightXXS}\n marginRightXS={marginRightXS}\n marginRightS={marginRightS}\n marginRightM={marginRightM}\n marginRightL={marginRightL}\n marginRightXL={marginRightXL}\n marginBottom={marginBottom}\n marginBottomXXS={marginBottomXXS}\n marginBottomXS={marginBottomXS}\n marginBottomS={marginBottomS}\n marginBottomM={marginBottomM}\n marginBottomL={marginBottomL}\n marginBottomXL={marginBottomXL}\n marginLeft={marginLeft}\n marginLeftXXS={marginLeftXXS}\n marginLeftXS={marginLeftXS}\n marginLeftS={marginLeftS}\n marginLeftM={marginLeftM}\n marginLeftL={marginLeftL}\n marginLeftXL={marginLeftXL}\n className={className}\n style={style}\n contrast={contrast}\n error={error}\n inline={inline}\n disabled={disabled}\n primary={primary}\n secondary={secondary}\n success={success}\n palette={{\n color: disabled ? palette.colorDisabled : palette.color,\n backgroundColor: disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={() => {\n if (textareaRef.current) {\n textareaRef.current.focus()\n }\n }}\n onFocus={() => {\n setActive(true)\n }}\n onPointerDown={(evt) => {\n if (evt.target === textareaRef.current || !(evt.target instanceof Node)) {\n return\n }\n evt.preventDefault()\n }}\n onBlur={(evt) => {\n if (textareaRef.current && !evt.currentTarget.contains(evt.relatedTarget)) {\n setActive(Boolean(textareaRef.current.value))\n }\n }}\n overflow='hidden'\n input={\n <InputLabel\n {...sizeProps}\n sizes={SIZES_FORM_INPUT}\n active={active}\n label={label}\n labelId={labelId}\n labelPosition={labelPosition}\n >\n {autoRows ? <Styled.TextareaMimic ref={textareaMimicRef} rows={1} /> : null}\n <Styled.Textarea\n {...textareaProps}\n ref={textareaRef}\n aria-labelledby={label ? labelId : undefined}\n disabled={disabled}\n onChange={(evt) => {\n if (autoRows) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n />\n </InputLabel>\n }\n addonRight={\n resize ? (\n <>\n {resizing ? <Styled.ResizeGlobals cursor={cursorResize} /> : null}\n <Styled.ResizeIcon\n size='l'\n icon={<ResizeHandle />}\n color='border-onmain-default-small'\n tabIndex={0}\n onPointerDown={handleResizeStart}\n onKeyDown={handleResizeOnNudge}\n cursor={cursorResize}\n />\n </>\n ) : null\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["Textarea","withMergedProps","forwardRef","props","forwardedRef","theme","useTheme","size","rows","maxRows","labelPosition","primary","width","defaultInputControlsWidth","autosize","rounded","color","placeholderColor","autoRows","resize","contrast","inline","secondary","success","error","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","margin","marginXXS","marginXS","marginS","marginM","marginL","marginXL","marginTop","marginTopXXS","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRight","marginRightXXS","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottom","marginBottomXXS","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeft","marginLeftXXS","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","widthXXS","widthXS","widthS","widthM","widthL","widthXL","preset","palette","label","fluid","className","style","disabled","textareaProps","sizeProps","textareaRef","useRef","textareaMimicRef","formInputLabelRef","useImperativeHandle","current","resizing","handleResizeStart","handleResizeOnNudge","useResizable","target","direction","labelId","useMemo","nanoid","active","setActive","useState","valueInit","value","defaultValue","length","autoRowsCount","setAutoRowsCount","Math","min","rowsVisible","cursorResize","updateAutoRowsCount","useCallback","nextRows","max","round","scrollHeight","clientHeight","styles","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","Number","isNaN","fontSize","prevRows","useLayoutEffect","document","activeElement","useEffect","handleResize","createThrottledCallback","window","addEventListener","removeEventListener","_jsx","Styled","ref","onChange","evt","FormInputLabel","colorDisabled","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","focus","onFocus","onPointerDown","Node","preventDefault","onBlur","currentTarget","contains","relatedTarget","Boolean","overflow","input","_jsxs","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"umBAgCA,MAAMA,SAA2DC,gBAAAA,gBAC/DC,MAAAA,WAA4D,CAACC,EAAOC,KAClE,MAAMC,EAAQC,OAAAA,WAEd,MAAMC,KACJA,EAAO,IAAGC,KACVA,EAAO,EAACC,QACRA,EAAU,GAAEC,cACZA,EAAgB,UAASC,QACzBA,GAAU,EAAIC,MACdA,EAAQP,EAAMQ,0BAAyBC,SACvCA,GAAW,EAAIC,QACfA,GAAU,EAAIC,MACdA,EAAQ,YAAWC,iBACnBA,EAAmB,SAAQC,SAC3BA,EAAQC,OACRA,EAAMC,SACNA,EAAQC,OACRA,EAAMC,UACNA,EAASC,QACTA,EAAOC,MACPA,EAAKC,QACLA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,MACNA,EAAKC,UACLA,EAASC,OACTA,EAAMC,UACNA,EAASC,SACTA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,UACRA,EAASC,aACTA,EAAYC,YACZA,EAAWC,WACXA,EAAUC,WACVA,EAAUC,WACVA,EAAUC,YACVA,EAAWC,YACXA,EAAWC,eACXA,EAAcC,cACdA,EAAaC,aACbA,EAAYC,aACZA,EAAYC,aACZA,EAAYC,cACZA,EAAaC,aACbA,EAAYC,gBACZA,EAAeC,eACfA,EAAcC,cACdA,EAAaC,cACbA,EAAaC,cACbA,GAAaC,eACbA,GAAcC,WACdA,GAAUC,cACVA,GAAaC,aACbA,GAAYC,YACZA,GAAWC,YACXA,GAAWC,YACXA,GAAWC,aACXA,GAAYC,SACZA,GAAQC,QACRA,GAAOC,OACPA,GAAMC,OACNA,GAAMC,OACNA,GAAMC,QACNA,GAAOC,OACPA,GAAMC,QACNA,GAAOC,MACPA,GAAKC,MACLA,GAAKC,UACLA,SACAC,GAAKC,SACLA,MACGC,IACD9E,EAEJ,MAAM+E,GAAY,CAChB3E,OACAkB,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,MAAMqD,GAAcC,MAAAA,OAA4B,MAEhD,MAAMC,GAAmBD,MAAAA,OAA4B,MAErD,MAAME,GAAoBF,MAAAA,OAAuB,MAEjDG,MAAAA,oBAAoBnF,EAAc,IAAM+E,GAAYK,QAAgC,IAEpF,MAAOC,GAAUC,GAAmBC,IAAuBC,aAAAA,aAA8C,CACvGC,OAAQP,GACRQ,UAAW3E,IAGb,MAAM4E,GAAUC,MAAAA,QAAQ,IAAMC,OAAAA,SAAU,IAExC,MAAOC,GAAQC,IAAaC,MAAAA,SAAS,KACnC,MAAMC,EAAYpB,GAAcqB,OAASrB,GAAcsB,aAEvD,cAAcF,GAAc,UAAYA,EAAUG,OAAS,IAG7D,MAAOC,GAAeC,IAAoBN,MAAAA,SAAS,IAAMO,KAAKC,IAAIpG,EAAMC,IAExE,MAAMoG,GACHnC,KAAW,SAAWxD,GAAcwD,KAAW,SAAW5D,EAAY2F,GAAgBE,KAAKC,IAAIpG,EAAMC,GAExG,MAAMqG,GAAe3F,IAAW,aAAe,YAAcA,IAAW,WAAa,YAAc,cAEnG,MAAM4F,GAAsBC,MAAAA,YAAY,KACtC,IAAK7B,GAAYK,QAAS,OAE1B,GAAId,KAAW,QAAS,CACtB,IAAKW,GAAiBG,QAAS,OAE/BH,GAAiBG,QAAQc,MAAQnB,GAAYK,QAAQc,MAErD,MAAMW,EAAWN,KAAKO,IACpBP,KAAKQ,MAAM9B,GAAiBG,QAAQ4B,aAAe/B,GAAiBG,QAAQ6B,cAC5E7G,GAKF,YAFAkG,GAAiBC,KAAKC,IAAIK,EAAUxG,GAGtC,CAEA,MAAM6G,EAASC,iBAAiBpC,GAAYK,SAE5C,MAAMgC,EAAaC,WAAWH,EAAOE,YAErC,MAAMP,EAAWN,KAAKO,IACpBP,KAAKQ,OACFhC,GAAYK,QAAQ4B,aAAeK,WAAWH,EAAOI,YAAcD,WAAWH,EAAOK,iBACnFC,OAAOC,MAAML,GAAcC,WAAWH,EAAOQ,UAAY,IAAMN,IAEpEhH,GAGFkG,GAAkBqB,GACZd,EAAWc,EAAiBpB,KAAKC,IAAIK,EAAUxG,GAC/C0E,GAAYK,UAAYL,GAAYK,QAAQc,MAAc9F,EAEvDuH,IAER,CAACrD,GAAQlE,EAAMC,IA0BlB,OAxBAuH,MAAAA,gBAAgB,KAEZtD,KAAW,gBACJO,GAAcqB,OAAU,UAC/BnB,GAAYK,SACZL,GAAYK,UAAYyC,SAASC,eAEjC/B,GAAUlB,GAAcqB,MAAME,OAAS,IAExC,CAAC9B,GAAQO,GAAcqB,QAE1B6B,MAAAA,UAAU,KACR,MAAMC,EAAeC,KAAAA,wBAAiCtB,GAAqB,KAO3E,OALKrC,KAAW,SAAWxD,GAAcwD,KAAW,SAAW5D,KAC7DiG,KACAuB,OAAOC,iBAAiB,SAAUH,IAG7B,KACLE,OAAOE,oBAAoB,SAAUJ,KAEtC,CAAC1D,GAAQxD,EAAUJ,EAAUiG,KAE5BrC,KAAW,QAEX+D,WAAAA,IAACC,MAAAA,KAAW,IACNzD,GACJ0D,IAAKxD,GACLL,UAAWA,GACXC,MAAOA,GACP6D,SAAWC,IACL/H,GAAUiG,KACV9B,GAAc2D,UAAU3D,GAAc2D,SAASC,IAErDrI,KAAMqG,GACN7F,MAAOA,EACPD,QAASA,EACTE,iBAAkBA,EAClB+D,SAAUA,GACVxD,MAAOA,EACPqD,MAAOA,GACPjE,MAAOA,EACPwD,SAAUA,GACVC,QAASA,GACTC,OAAQA,GACRC,OAAQA,GACRC,OAAQA,GACRC,QAASA,KAMbgE,WAAAA,IAACK,eAAAA,eAAc,IACT5D,GACJyD,IAAKrD,GACLvD,MAAOA,EACPC,UAAWA,EACXC,OAAQA,EACRC,UAAWA,EACXC,SAAUA,EACVC,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,SAAUA,EACVC,UAAWA,EACXC,aAAcA,EACdC,YAAaA,EACbC,WAAYA,EACZC,WAAYA,EACZC,WAAYA,EACZC,YAAaA,EACbC,YAAaA,EACbC,eAAgBA,EAChBC,cAAeA,EACfC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,cAAeA,EACfC,aAAcA,EACdC,gBAAiBA,EACjBC,eAAgBA,EAChBC,cAAeA,EACfC,cAAeA,EACfC,cAAeA,GACfC,eAAgBA,GAChBC,WAAYA,GACZC,cAAeA,GACfC,aAAcA,GACdC,YAAaA,GACbC,YAAaA,GACbC,YAAaA,GACbC,aAAcA,GACdW,UAAWA,GACXC,MAAOA,GACP3D,SAAUA,EACVI,MAAOA,EACPH,OAAQA,EACR2D,SAAUA,GACVrE,QAASA,EACTW,UAAWA,EACXC,QAASA,EACToD,QAAS,CACP3D,MAAOgE,GAAWL,GAAQoE,cAAgBpE,GAAQ3D,MAClDgI,gBAAiBhE,GAAWL,GAAQsE,wBAA0BtE,GAAQqE,gBACtEE,qBAAsBlE,GAAWL,GAAQsE,wBAA0BtE,GAAQuE,qBAC3EC,YAAanE,GAAWL,GAAQyE,oBAAsBzE,GAAQwE,aAEhEE,QAASA,KACHlE,GAAYK,SACdL,GAAYK,QAAQ8D,SAGxBC,QAASA,KACPpD,IAAU,IAEZqD,cAAgBX,IACVA,EAAIhD,SAAWV,GAAYK,SAAaqD,EAAIhD,kBAAkB4D,MAGlEZ,EAAIa,kBAENC,OAASd,IACH1D,GAAYK,UAAYqD,EAAIe,cAAcC,SAAShB,EAAIiB,gBACzD3D,GAAU4D,QAAQ5E,GAAYK,QAAQc,SAG1C0D,SAAS,SACTC,MACEC,WAAAA,KAACC,sBAAU,IACLjF,GACJnD,MAAOqI,QAAAA,MACPlE,OAAQA,GACRtB,MAAOA,GACPmB,QAASA,GACTrF,cAAeA,EAAc2J,UAE5BnJ,EAAWuH,WAAAA,IAACC,oBAAoB,CAACC,IAAKtD,GAAkB7E,KAAM,IAAQ,KACvEiI,WAAAA,IAACC,eAAe,IACVzD,GACJ0D,IAAKxD,GACL,kBAAiBP,GAAQmB,QAAUuE,EACnCtF,SAAUA,GACV4D,SAAWC,IACL3H,GAAU6F,KACV9B,GAAc2D,UAAU3D,GAAc2D,SAASC,IAErDrI,KAAMqG,GACNlC,QAAS,CACP3D,MAAO2D,GAAQ3D,MACf+H,cAAepE,GAAQoE,cACvB9H,iBAAkB0D,GAAQ1D,iBAC1BsJ,yBAA0B5F,GAAQ4F,+BAK1CC,WACErJ,EACE+I,WAAAA,KAAAO,oBAAA,CAAAJ,UACG5E,GAAWgD,WAAAA,IAACC,oBAAoB,CAACgC,OAAQ5D,KAAmB,KAC7D2B,WAAAA,IAACC,iBAAiB,CAChBnI,KAAK,IACLoK,KAAMlC,WAAAA,IAACmC,MAAAA,iBACP5J,MAAM,8BACN6J,SAAU,EACVrB,cAAe9D,GACfoF,UAAWnF,GACX+E,OAAQ5D,QAGV,SAKZ,CACEiE,YAvVmB,WAwVnBhJ,MAAOiJ,MAAAA,+BAxVY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef,useRef,useImperativeHandle,useMemo,useState,useCallback,useLayoutEffect,useEffect}from'react';import{useTheme}from'styled-components';import{nanoid}from'nanoid';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useResizable}from'../../hooks/useResizable.mjs';import{createThrottledCallback}from'../../shared/utils/misc.mjs';import{SIZES}from'./sizes.mjs';import{Root,ResizeGlobals,ResizeIcon,TextareaMimic,Textarea as Textarea$1}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{FormInputLabel}from'../FormInputLabel/FormInputLabel.mjs';import{ResizeHandle}from'../../icon-pack/src/icons/ResizeHandle/index.mjs';import{InputLabel}from'../InputLabel/InputLabel.mjs';import{SIZES as SIZES$1}from'../FormInput/sizes.mjs';const COMPONENT_NAME='Textarea';const Textarea=withMergedProps(forwardRef((
|
|
1
|
+
import{forwardRef,useRef,useImperativeHandle,useMemo,useState,useCallback,useLayoutEffect,useEffect}from'react';import{useTheme}from'styled-components';import{nanoid}from'nanoid';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{useResizable}from'../../hooks/useResizable.mjs';import{createThrottledCallback}from'../../shared/utils/misc.mjs';import{SIZES}from'./sizes.mjs';import{Root,ResizeGlobals,ResizeIcon,TextareaMimic,Textarea as Textarea$1}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{FormInputLabel}from'../FormInputLabel/FormInputLabel.mjs';import{ResizeHandle}from'../../icon-pack/src/icons/ResizeHandle/index.mjs';import{InputLabel}from'../InputLabel/InputLabel.mjs';import{SIZES as SIZES$1}from'../FormInput/sizes.mjs';const COMPONENT_NAME='Textarea';const Textarea=withMergedProps(forwardRef((e,r)=>{const o=useTheme();const{size:t="m",rows:a=2,maxRows:n=30,labelPosition:i="dynamic",primary:s=!0,width:l=o.defaultInputControlsWidth,autosize:m=!0,rounded:g=!0,color:c="mineShaft",placeholderColor:d="silver",autoRows:u,resize:h,contrast:p,inline:f,secondary:S,success:X,error:b,sizeXXS:L,sizeXS:z,sizeS:w,sizeM:R,sizeL:M,sizeXL:T,sizes:C,sizeUnits:x,margin:v,marginXXS:j,marginXS:I,marginS:y,marginM:B,marginL:E,marginXL:N,marginTop:k,marginTopXXS:D,marginTopXS:F,marginTopS:H,marginTopM:P,marginTopL:Z,marginTopXL:O,marginRight:$,marginRightXXS:A,marginRightXS:G,marginRightS:U,marginRightM:_,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:q,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:oe,marginLeftXXS:te,marginLeftXS:ae,marginLeftS:ne,marginLeftM:ie,marginLeftL:se,marginLeftXL:le,widthXXS:me,widthXS:ge,widthS:ce,widthM:de,widthL:ue,widthXL:he,preset:pe,palette:fe,label:Se,fluid:Xe,className:be,style:Le,disabled:ze,...we}=e;const Re={size:t,sizeXXS:L,sizeXS:z,sizeS:w,sizeM:R,sizeL:M,sizeXL:T};const Me=useRef(null);const Te=useRef(null);const Ce=useRef(null);useImperativeHandle(r,()=>Me.current,[]);const[xe,ve,je]=useResizable({target:Ce,direction:h});const Ie=useMemo(()=>nanoid(),[]);const[ye,Be]=useState(()=>{const e=we.value??we.defaultValue;return typeof e=='string'&&e.length>0});const[Ee,Ne]=useState(()=>Math.min(a,n));const ke=pe==='brand'&&u||pe!=='brand'&&m?Ee:Math.min(a,n);const De=h==='horizontal'?'ew-resize':h==='vertical'?'ns-resize':'nwse-resize';const Fe=useCallback(()=>{if(!Me.current)return;if(pe==='brand'){if(!Te.current)return;Te.current.value=Me.current.value;const e=Math.max(Math.round(Te.current.scrollHeight/Te.current.clientHeight),a);return void Ne(Math.min(e,n))}const e=getComputedStyle(Me.current);const r=parseFloat(e.lineHeight);const o=Math.max(Math.round((Me.current.scrollHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom))/(Number.isNaN(r)?parseFloat(e.fontSize)*1.2:r)),a);Ne(e=>o>e?Math.min(o,n):Me.current&&!Me.current.value?a:e)},[pe,a,n]);return useLayoutEffect(()=>{pe==='brand'&&typeof we.value=='string'&&Me.current&&Me.current!==document.activeElement&&Be(we.value.length>0)},[pe,we.value]),useEffect(()=>{const e=createThrottledCallback(Fe,200);return(pe==='brand'&&u||pe!=='brand'&&m)&&(Fe(),window.addEventListener('resize',e)),()=>{window.removeEventListener('resize',e)}},[pe,u,m,Fe]),pe!=='brand'?jsx(Root,{...we,ref:Me,className:be,style:Le,onChange:e=>{m&&Fe(),we.onChange&&we.onChange(e)},rows:ke,color:c,rounded:g,placeholderColor:d,disabled:ze,error:b,fluid:Xe,width:l,widthXXS:me,widthXS:ge,widthS:ce,widthM:de,widthL:ue,widthXL:he}):jsx(FormInputLabel,{...Re,ref:Ce,sizes:C,sizeUnits:x,margin:v,marginXXS:j,marginXS:I,marginS:y,marginM:B,marginL:E,marginXL:N,marginTop:k,marginTopXXS:D,marginTopXS:F,marginTopS:H,marginTopM:P,marginTopL:Z,marginTopXL:O,marginRight:$,marginRightXXS:A,marginRightXS:G,marginRightS:U,marginRightM:_,marginRightL:K,marginRightXL:V,marginBottom:W,marginBottomXXS:q,marginBottomXS:J,marginBottomS:Q,marginBottomM:Y,marginBottomL:ee,marginBottomXL:re,marginLeft:oe,marginLeftXXS:te,marginLeftXS:ae,marginLeftS:ne,marginLeftM:ie,marginLeftL:se,marginLeftXL:le,className:be,style:Le,contrast:p,error:b,inline:f,disabled:ze,primary:s,secondary:S,success:X,palette:{color:ze?fe.colorDisabled:fe.color,backgroundColor:ze?fe.backgroundColorDisabled:fe.backgroundColor,backgroundColorHover:ze?fe.backgroundColorDisabled:fe.backgroundColorHover,borderColor:ze?fe.borderColorDisabled:fe.borderColor},onClick:()=>{Me.current&&Me.current.focus()},onFocus:()=>{Be(!0)},onPointerDown:e=>{e.target!==Me.current&&e.target instanceof Node&&e.preventDefault()},onBlur:e=>{Me.current&&!e.currentTarget.contains(e.relatedTarget)&&Be(Boolean(Me.current.value))},overflow:"hidden",input:jsxs(InputLabel,{...Re,sizes:SIZES$1,active:ye,label:Se,labelId:Ie,labelPosition:i,children:[u?jsx(TextareaMimic,{ref:Te,rows:1}):null,jsx(Textarea$1,{...we,ref:Me,"aria-labelledby":Se?Ie:void 0,disabled:ze,onChange:e=>{u&&Fe(),we.onChange&&we.onChange(e)},rows:ke,palette:{color:fe.color,colorDisabled:fe.colorDisabled,placeholderColor:fe.placeholderColor,placeholderColorDisabled:fe.placeholderColorDisabled}})]}),addonRight:h?jsxs(Fragment,{children:[xe?jsx(ResizeGlobals,{cursor:De}):null,jsx(ResizeIcon,{size:"l",icon:jsx(ResizeHandle,{}),color:"border-onmain-default-small",tabIndex:0,onPointerDown:ve,onKeyDown:je,cursor:De})]}):null})}),{displayName:"Textarea",sizes:SIZES});export{COMPONENT_NAME,Textarea};
|
|
2
2
|
//# sourceMappingURL=Textarea.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.mjs","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import {\n forwardRef,\n useImperativeHandle,\n useLayoutEffect,\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react'\nimport { useTheme } from 'styled-components'\nimport { nanoid } from 'nanoid'\nimport { ResizeHandle } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { InputLabel } from 'components/InputLabel'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizable } from 'hooks/useResizable'\nimport { createThrottledCallback } from 'shared/utils/misc'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { SIZES as SIZES_FORM_INPUT } from 'components/FormInput'\nimport { SIZES } from './sizes'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\n/**\n *\n * Компонент для приема многострочного ввода.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<textarea\\> элемента.\n */\nconst Textarea: React.ForwardRefExoticComponent<TextareaProps> = withMergedProps<TextareaProps, HTMLTextAreaElement>(\n forwardRef<HTMLTextAreaElement, MergedProps<TextareaProps>>((props, forwardedRef) => {\n const theme = useTheme()\n\n const {\n size = 'm',\n rows = 2,\n maxRows = 30,\n labelPosition = 'dynamic',\n primary = true,\n width = theme.defaultInputControlsWidth,\n autosize = true,\n rounded = true,\n color = 'mineShaft',\n placeholderColor = 'silver',\n autoRows,\n resize,\n contrast,\n inline,\n secondary,\n success,\n error,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n margin,\n marginXXS,\n marginXS,\n marginS,\n marginM,\n marginL,\n marginXL,\n marginTop,\n marginTopXXS,\n marginTopXS,\n marginTopS,\n marginTopM,\n marginTopL,\n marginTopXL,\n marginRight,\n marginRightXXS,\n marginRightXS,\n marginRightS,\n marginRightM,\n marginRightL,\n marginRightXL,\n marginBottom,\n marginBottomXXS,\n marginBottomXS,\n marginBottomS,\n marginBottomM,\n marginBottomL,\n marginBottomXL,\n marginLeft,\n marginLeftXXS,\n marginLeftXS,\n marginLeftS,\n marginLeftM,\n marginLeftL,\n marginLeftXL,\n widthXXS,\n widthXS,\n widthS,\n widthM,\n widthL,\n widthXL,\n preset,\n palette,\n label,\n fluid,\n className,\n style,\n disabled,\n ...textareaProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const textareaMimicRef = useRef<HTMLTextAreaElement>(null)\n\n const formInputLabelRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(forwardedRef, () => textareaRef.current as HTMLTextAreaElement, [])\n\n const [resizing, handleResizeStart, handleResizeOnNudge] = useResizable<HTMLDivElement, HTMLSpanElement>({\n target: formInputLabelRef,\n direction: resize,\n })\n\n const labelId = useMemo(() => nanoid(), [])\n\n const [active, setActive] = useState(() => {\n const valueInit = textareaProps.value ?? textareaProps.defaultValue\n\n return typeof valueInit === 'string' && valueInit.length > 0\n })\n\n const [autoRowsCount, setAutoRowsCount] = useState(() => Math.min(rows, maxRows))\n\n const rowsVisible =\n (preset === 'brand' && autoRows) || (preset !== 'brand' && autosize) ? autoRowsCount : Math.min(rows, maxRows)\n\n const cursorResize = resize === 'horizontal' ? 'ew-resize' : resize === 'vertical' ? 'ns-resize' : 'nwse-resize'\n\n const updateAutoRowsCount = useCallback(() => {\n if (!textareaRef.current) return\n\n if (preset === 'brand') {\n if (!textareaMimicRef.current) return\n\n textareaMimicRef.current.value = textareaRef.current.value\n\n const nextRows = Math.max(\n Math.round(textareaMimicRef.current.scrollHeight / textareaMimicRef.current.clientHeight),\n rows\n )\n\n setAutoRowsCount(Math.min(nextRows, maxRows))\n\n return\n }\n\n const styles = getComputedStyle(textareaRef.current)\n\n const lineHeight = parseFloat(styles.lineHeight)\n\n const nextRows = Math.max(\n Math.round(\n (textareaRef.current.scrollHeight - parseFloat(styles.paddingTop) - parseFloat(styles.paddingBottom)) /\n (Number.isNaN(lineHeight) ? parseFloat(styles.fontSize) * 1.2 : lineHeight)\n ),\n rows\n )\n\n setAutoRowsCount((prevRows) => {\n if (nextRows > prevRows) return Math.min(nextRows, maxRows)\n if (textareaRef.current && !textareaRef.current.value) return rows\n\n return prevRows\n })\n }, [preset, rows, maxRows])\n\n useLayoutEffect(() => {\n if (\n preset === 'brand' &&\n typeof textareaProps.value === 'string' &&\n textareaRef.current &&\n textareaRef.current !== document.activeElement\n ) {\n setActive(textareaProps.value.length > 0)\n }\n }, [preset, textareaProps.value])\n\n useEffect(() => {\n const handleResize = createThrottledCallback<UIEvent>(updateAutoRowsCount, 200)\n\n if ((preset === 'brand' && autoRows) || (preset !== 'brand' && autosize)) {\n updateAutoRowsCount()\n window.addEventListener('resize', handleResize)\n }\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [preset, autoRows, autosize, updateAutoRowsCount])\n\n if (preset !== 'brand') {\n return (\n <Styled.Root\n {...textareaProps}\n ref={textareaRef}\n className={className}\n style={style}\n onChange={(evt) => {\n if (autosize) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n disabled={disabled}\n error={error}\n fluid={fluid}\n width={width}\n widthXXS={widthXXS}\n widthXS={widthXS}\n widthS={widthS}\n widthM={widthM}\n widthL={widthL}\n widthXL={widthXL}\n />\n )\n }\n\n return (\n <FormInputLabel\n {...sizeProps}\n ref={formInputLabelRef}\n sizes={sizes}\n sizeUnits={sizeUnits}\n margin={margin}\n marginXXS={marginXXS}\n marginXS={marginXS}\n marginS={marginS}\n marginM={marginM}\n marginL={marginL}\n marginXL={marginXL}\n marginTop={marginTop}\n marginTopXXS={marginTopXXS}\n marginTopXS={marginTopXS}\n marginTopS={marginTopS}\n marginTopM={marginTopM}\n marginTopL={marginTopL}\n marginTopXL={marginTopXL}\n marginRight={marginRight}\n marginRightXXS={marginRightXXS}\n marginRightXS={marginRightXS}\n marginRightS={marginRightS}\n marginRightM={marginRightM}\n marginRightL={marginRightL}\n marginRightXL={marginRightXL}\n marginBottom={marginBottom}\n marginBottomXXS={marginBottomXXS}\n marginBottomXS={marginBottomXS}\n marginBottomS={marginBottomS}\n marginBottomM={marginBottomM}\n marginBottomL={marginBottomL}\n marginBottomXL={marginBottomXL}\n marginLeft={marginLeft}\n marginLeftXXS={marginLeftXXS}\n marginLeftXS={marginLeftXS}\n marginLeftS={marginLeftS}\n marginLeftM={marginLeftM}\n marginLeftL={marginLeftL}\n marginLeftXL={marginLeftXL}\n className={className}\n style={style}\n contrast={contrast}\n error={error}\n inline={inline}\n disabled={disabled}\n primary={primary}\n secondary={secondary}\n success={success}\n palette={{\n color: disabled ? palette.colorDisabled : palette.color,\n backgroundColor: disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={() => {\n if (textareaRef.current) {\n textareaRef.current.focus()\n }\n }}\n onFocus={() => {\n setActive(true)\n }}\n onPointerDown={(evt) => {\n if (evt.target === textareaRef.current || !(evt.target instanceof Node)) {\n return\n }\n evt.preventDefault()\n }}\n onBlur={(evt) => {\n if (textareaRef.current && !evt.currentTarget.contains(evt.relatedTarget)) {\n setActive(Boolean(textareaRef.current.value))\n }\n }}\n overflow='hidden'\n input={\n <InputLabel\n {...sizeProps}\n sizes={SIZES_FORM_INPUT}\n active={active}\n label={label}\n labelId={labelId}\n labelPosition={labelPosition}\n >\n {autoRows ? <Styled.TextareaMimic ref={textareaMimicRef} rows={1} /> : null}\n <Styled.Textarea\n {...textareaProps}\n ref={textareaRef}\n aria-labelledby={label ? labelId : undefined}\n disabled={disabled}\n onChange={(evt) => {\n if (autoRows) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n />\n </InputLabel>\n }\n addonRight={\n resize ? (\n <>\n {resizing ? <Styled.ResizeGlobals cursor={cursorResize} /> : null}\n <Styled.ResizeIcon\n size='l'\n icon={<ResizeHandle />}\n color='border-onmain-default-small'\n tabIndex={0}\n onPointerDown={handleResizeStart}\n onKeyDown={handleResizeOnNudge}\n cursor={cursorResize}\n />\n </>\n ) : null\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Textarea","withMergedProps","forwardRef","props","forwardedRef","theme","useTheme","size","rows","maxRows","labelPosition","primary","width","defaultInputControlsWidth","autosize","rounded","color","placeholderColor","autoRows","resize","contrast","inline","secondary","success","error","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","margin","marginXXS","marginXS","marginS","marginM","marginL","marginXL","marginTop","marginTopXXS","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRight","marginRightXXS","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottom","marginBottomXXS","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeft","marginLeftXXS","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","widthXXS","widthXS","widthS","widthM","widthL","widthXL","preset","palette","label","fluid","className","style","disabled","textareaProps","sizeProps","textareaRef","useRef","textareaMimicRef","formInputLabelRef","useImperativeHandle","current","resizing","handleResizeStart","handleResizeOnNudge","useResizable","target","direction","labelId","useMemo","nanoid","active","setActive","useState","valueInit","value","defaultValue","length","autoRowsCount","setAutoRowsCount","Math","min","rowsVisible","cursorResize","updateAutoRowsCount","useCallback","nextRows","max","round","scrollHeight","clientHeight","styles","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","Number","isNaN","fontSize","prevRows","useLayoutEffect","document","activeElement","useEffect","handleResize","createThrottledCallback","window","addEventListener","removeEventListener","_jsx","Styled","ref","onChange","evt","FormInputLabel","colorDisabled","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","focus","onFocus","onPointerDown","Node","preventDefault","onBlur","currentTarget","contains","relatedTarget","Boolean","overflow","input","_jsxs","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"ywBAwBA,MAAMA,eAAiB,WAQvB,MAAMC,SAA2DC,gBAC/DC,YAA4D,CAACC,EAAOC,KAClE,MAAMC,EAAQC,WAEd,MAAMC,KACJA,EAAO,IAAGC,KACVA,EAAO,EAACC,QACRA,EAAU,GAAEC,cACZA,EAAgB,UAASC,QACzBA,GAAU,EAAIC,MACdA,EAAQP,EAAMQ,0BAAyBC,SACvCA,GAAW,EAAIC,QACfA,GAAU,EAAIC,MACdA,EAAQ,YAAWC,iBACnBA,EAAmB,SAAQC,SAC3BA,EAAQC,OACRA,EAAMC,SACNA,EAAQC,OACRA,EAAMC,UACNA,EAASC,QACTA,EAAOC,MACPA,EAAKC,QACLA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,EAAMC,MACNA,EAAKC,UACLA,EAASC,OACTA,EAAMC,UACNA,EAASC,SACTA,EAAQC,QACRA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,SACPA,EAAQC,UACRA,EAASC,aACTA,EAAYC,YACZA,EAAWC,WACXA,EAAUC,WACVA,EAAUC,WACVA,EAAUC,YACVA,EAAWC,YACXA,EAAWC,eACXA,EAAcC,cACdA,EAAaC,aACbA,EAAYC,aACZA,EAAYC,aACZA,EAAYC,cACZA,EAAaC,aACbA,EAAYC,gBACZA,EAAeC,eACfA,EAAcC,cACdA,EAAaC,cACbA,EAAaC,cACbA,GAAaC,eACbA,GAAcC,WACdA,GAAUC,cACVA,GAAaC,aACbA,GAAYC,YACZA,GAAWC,YACXA,GAAWC,YACXA,GAAWC,aACXA,GAAYC,SACZA,GAAQC,QACRA,GAAOC,OACPA,GAAMC,OACNA,GAAMC,OACNA,GAAMC,QACNA,GAAOC,OACPA,GAAMC,QACNA,GAAOC,MACPA,GAAKC,MACLA,GAAKC,UACLA,GAASC,MACTA,GAAKC,SACLA,MACGC,IACD9E,EAEJ,MAAM+E,GAAY,CAChB3E,OACAkB,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,MAAMqD,GAAcC,OAA4B,MAEhD,MAAMC,GAAmBD,OAA4B,MAErD,MAAME,GAAoBF,OAAuB,MAEjDG,oBAAoBnF,GAAc,IAAM+E,GAAYK,SAAgC,IAEpF,MAAOC,GAAUC,GAAmBC,IAAuBC,aAA8C,CACvGC,OAAQP,GACRQ,UAAW3E,IAGb,MAAM4E,GAAUC,SAAQ,IAAMC,UAAU,IAExC,MAAOC,GAAQC,IAAaC,UAAS,KACnC,MAAMC,EAAYpB,GAAcqB,OAASrB,GAAcsB,aAEvD,cAAcF,GAAc,UAAYA,EAAUG,OAAS,CAAC,IAG9D,MAAOC,GAAeC,IAAoBN,UAAS,IAAMO,KAAKC,IAAIpG,EAAMC,KAExE,MAAMoG,GACHnC,KAAW,SAAWxD,GAAcwD,KAAW,SAAW5D,EAAY2F,GAAgBE,KAAKC,IAAIpG,EAAMC,GAExG,MAAMqG,GAAe3F,IAAW,aAAe,YAAcA,IAAW,WAAa,YAAc,cAEnG,MAAM4F,GAAsBC,aAAY,KACtC,IAAK7B,GAAYK,QAAS,OAE1B,GAAId,KAAW,QAAS,CACtB,IAAKW,GAAiBG,QAAS,OAE/BH,GAAiBG,QAAQc,MAAQnB,GAAYK,QAAQc,MAErD,MAAMW,EAAWN,KAAKO,IACpBP,KAAKQ,MAAM9B,GAAiBG,QAAQ4B,aAAe/B,GAAiBG,QAAQ6B,cAC5E7G,GAKF,YAFAkG,GAAiBC,KAAKC,IAAIK,EAAUxG,GAGtC,CAEA,MAAM6G,EAASC,iBAAiBpC,GAAYK,SAE5C,MAAMgC,EAAaC,WAAWH,EAAOE,YAErC,MAAMP,EAAWN,KAAKO,IACpBP,KAAKQ,OACFhC,GAAYK,QAAQ4B,aAAeK,WAAWH,EAAOI,YAAcD,WAAWH,EAAOK,iBACnFC,OAAOC,MAAML,GAAcC,WAAWH,EAAOQ,UAAY,IAAMN,IAEpEhH,GAGFkG,IAAkBqB,GACZd,EAAWc,EAAiBpB,KAAKC,IAAIK,EAAUxG,GAC/C0E,GAAYK,UAAYL,GAAYK,QAAQc,MAAc9F,EAEvDuH,GACP,GACD,CAACrD,GAAQlE,EAAMC,IA0BlB,OAxBAuH,iBAAgB,KAEZtD,KAAW,gBACJO,GAAcqB,OAAU,UAC/BnB,GAAYK,SACZL,GAAYK,UAAYyC,SAASC,eAEjC/B,GAAUlB,GAAcqB,MAAME,OAAS,EACzC,GACC,CAAC9B,GAAQO,GAAcqB,QAE1B6B,WAAU,KACR,MAAMC,EAAeC,wBAAiCtB,GAAqB,KAO3E,OALKrC,KAAW,SAAWxD,GAAcwD,KAAW,SAAW5D,KAC7DiG,KACAuB,OAAOC,iBAAiB,SAAUH,IAG7B,KACLE,OAAOE,oBAAoB,SAAUJ,EAAa,CACnD,GACA,CAAC1D,GAAQxD,EAAUJ,EAAUiG,KAE5BrC,KAAW,QAEX+D,IAACC,KAAW,IACNzD,GACJ0D,IAAKxD,GACLL,UAAWA,GACXC,MAAOA,GACP6D,SAAWC,IACL/H,GAAUiG,KACV9B,GAAc2D,UAAU3D,GAAc2D,SAASC,EAAI,EAEzDrI,KAAMqG,GACN7F,MAAOA,EACPD,QAASA,EACTE,iBAAkBA,EAClB+D,SAAUA,GACVxD,MAAOA,EACPqD,MAAOA,GACPjE,MAAOA,EACPwD,SAAUA,GACVC,QAASA,GACTC,OAAQA,GACRC,OAAQA,GACRC,OAAQA,GACRC,QAASA,KAMbgE,IAACK,eAAc,IACT5D,GACJyD,IAAKrD,GACLvD,MAAOA,EACPC,UAAWA,EACXC,OAAQA,EACRC,UAAWA,EACXC,SAAUA,EACVC,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,SAAUA,EACVC,UAAWA,EACXC,aAAcA,EACdC,YAAaA,EACbC,WAAYA,EACZC,WAAYA,EACZC,WAAYA,EACZC,YAAaA,EACbC,YAAaA,EACbC,eAAgBA,EAChBC,cAAeA,EACfC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,cAAeA,EACfC,aAAcA,EACdC,gBAAiBA,EACjBC,eAAgBA,EAChBC,cAAeA,EACfC,cAAeA,EACfC,cAAeA,GACfC,eAAgBA,GAChBC,WAAYA,GACZC,cAAeA,GACfC,aAAcA,GACdC,YAAaA,GACbC,YAAaA,GACbC,YAAaA,GACbC,aAAcA,GACdW,UAAWA,GACXC,MAAOA,GACP3D,SAAUA,EACVI,MAAOA,EACPH,OAAQA,EACR2D,SAAUA,GACVrE,QAASA,EACTW,UAAWA,EACXC,QAASA,EACToD,QAAS,CACP3D,MAAOgE,GAAWL,GAAQoE,cAAgBpE,GAAQ3D,MAClDgI,gBAAiBhE,GAAWL,GAAQsE,wBAA0BtE,GAAQqE,gBACtEE,qBAAsBlE,GAAWL,GAAQsE,wBAA0BtE,GAAQuE,qBAC3EC,YAAanE,GAAWL,GAAQyE,oBAAsBzE,GAAQwE,aAEhEE,QAASA,KACHlE,GAAYK,SACdL,GAAYK,QAAQ8D,OACtB,EAEFC,QAASA,KACPpD,IAAU,EAAK,EAEjBqD,cAAgBX,IACVA,EAAIhD,SAAWV,GAAYK,SAAaqD,EAAIhD,kBAAkB4D,MAGlEZ,EAAIa,gBAAgB,EAEtBC,OAASd,IACH1D,GAAYK,UAAYqD,EAAIe,cAAcC,SAAShB,EAAIiB,gBACzD3D,GAAU4D,QAAQ5E,GAAYK,QAAQc,OACxC,EAEF0D,SAAS,SACTC,MACEC,KAACC,WAAU,IACLjF,GACJnD,MAAOqI,QACPlE,OAAQA,GACRtB,MAAOA,GACPmB,QAASA,GACTrF,cAAeA,EAAc2J,UAE5BnJ,EAAWuH,IAACC,cAAoB,CAACC,IAAKtD,GAAkB7E,KAAM,IAAQ,KACvEiI,IAACC,WAAe,IACVzD,GACJ0D,IAAKxD,GACL,kBAAiBP,GAAQmB,QAAUuE,EACnCtF,SAAUA,GACV4D,SAAWC,IACL3H,GAAU6F,KACV9B,GAAc2D,UAAU3D,GAAc2D,SAASC,EAAI,EAEzDrI,KAAMqG,GACNlC,QAAS,CACP3D,MAAO2D,GAAQ3D,MACf+H,cAAepE,GAAQoE,cACvB9H,iBAAkB0D,GAAQ1D,iBAC1BsJ,yBAA0B5F,GAAQ4F,+BAK1CC,WACErJ,EACE+I,KAAAO,SAAA,CAAAJ,UACG5E,GAAWgD,IAACC,cAAoB,CAACgC,OAAQ5D,KAAmB,KAC7D2B,IAACC,WAAiB,CAChBnI,KAAK,IACLoK,KAAMlC,IAACmC,iBACP5J,MAAM,8BACN6J,SAAU,EACVrB,cAAe9D,GACfoF,UAAWnF,GACX+E,OAAQ5D,QAGV,MAEN,IAGN,CACEiE,YAvVmB,WAwVnBhJ,MAAOiJ"}
|
|
1
|
+
{"version":3,"file":"Textarea.mjs","sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import {\n forwardRef,\n useImperativeHandle,\n useLayoutEffect,\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react'\nimport { useTheme } from 'styled-components'\nimport { nanoid } from 'nanoid'\nimport { ResizeHandle } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { InputLabel } from 'components/InputLabel'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useResizable } from 'hooks/useResizable'\nimport { createThrottledCallback } from 'shared/utils/misc'\nimport { FormInputLabel } from 'components/FormInputLabel'\nimport { SIZES as SIZES_FORM_INPUT } from 'components/FormInput'\nimport { SIZES } from './sizes'\nimport * as Styled from './style'\nimport type { TextareaProps } from './types'\n\nconst COMPONENT_NAME = 'Textarea'\n\n/**\n *\n * Компонент для приема многострочного ввода.\n *\n * Поддерживается \"ref\" и все нативные атрибуты \\<textarea\\> элемента.\n */\nconst Textarea: React.ForwardRefExoticComponent<TextareaProps> = withMergedProps<TextareaProps, HTMLTextAreaElement>(\n forwardRef<HTMLTextAreaElement, MergedProps<TextareaProps>>((props, forwardedRef) => {\n const theme = useTheme()\n\n const {\n size = 'm',\n rows = 2,\n maxRows = 30,\n labelPosition = 'dynamic',\n primary = true,\n width = theme.defaultInputControlsWidth,\n autosize = true,\n rounded = true,\n color = 'mineShaft',\n placeholderColor = 'silver',\n autoRows,\n resize,\n contrast,\n inline,\n secondary,\n success,\n error,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n sizes,\n sizeUnits,\n margin,\n marginXXS,\n marginXS,\n marginS,\n marginM,\n marginL,\n marginXL,\n marginTop,\n marginTopXXS,\n marginTopXS,\n marginTopS,\n marginTopM,\n marginTopL,\n marginTopXL,\n marginRight,\n marginRightXXS,\n marginRightXS,\n marginRightS,\n marginRightM,\n marginRightL,\n marginRightXL,\n marginBottom,\n marginBottomXXS,\n marginBottomXS,\n marginBottomS,\n marginBottomM,\n marginBottomL,\n marginBottomXL,\n marginLeft,\n marginLeftXXS,\n marginLeftXS,\n marginLeftS,\n marginLeftM,\n marginLeftL,\n marginLeftXL,\n widthXXS,\n widthXS,\n widthS,\n widthM,\n widthL,\n widthXL,\n preset,\n palette,\n label,\n fluid,\n className,\n style,\n disabled,\n ...textareaProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const textareaMimicRef = useRef<HTMLTextAreaElement>(null)\n\n const formInputLabelRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(forwardedRef, () => textareaRef.current as HTMLTextAreaElement, [])\n\n const [resizing, handleResizeStart, handleResizeOnNudge] = useResizable<HTMLDivElement, HTMLSpanElement>({\n target: formInputLabelRef,\n direction: resize,\n })\n\n const labelId = useMemo(() => nanoid(), [])\n\n const [active, setActive] = useState(() => {\n const valueInit = textareaProps.value ?? textareaProps.defaultValue\n\n return typeof valueInit === 'string' && valueInit.length > 0\n })\n\n const [autoRowsCount, setAutoRowsCount] = useState(() => Math.min(rows, maxRows))\n\n const rowsVisible =\n (preset === 'brand' && autoRows) || (preset !== 'brand' && autosize) ? autoRowsCount : Math.min(rows, maxRows)\n\n const cursorResize = resize === 'horizontal' ? 'ew-resize' : resize === 'vertical' ? 'ns-resize' : 'nwse-resize'\n\n const updateAutoRowsCount = useCallback(() => {\n if (!textareaRef.current) return\n\n if (preset === 'brand') {\n if (!textareaMimicRef.current) return\n\n textareaMimicRef.current.value = textareaRef.current.value\n\n const nextRows = Math.max(\n Math.round(textareaMimicRef.current.scrollHeight / textareaMimicRef.current.clientHeight),\n rows\n )\n\n setAutoRowsCount(Math.min(nextRows, maxRows))\n\n return\n }\n\n const styles = getComputedStyle(textareaRef.current)\n\n const lineHeight = parseFloat(styles.lineHeight)\n\n const nextRows = Math.max(\n Math.round(\n (textareaRef.current.scrollHeight - parseFloat(styles.paddingTop) - parseFloat(styles.paddingBottom)) /\n (Number.isNaN(lineHeight) ? parseFloat(styles.fontSize) * 1.2 : lineHeight)\n ),\n rows\n )\n\n setAutoRowsCount((prevRows) => {\n if (nextRows > prevRows) return Math.min(nextRows, maxRows)\n if (textareaRef.current && !textareaRef.current.value) return rows\n\n return prevRows\n })\n }, [preset, rows, maxRows])\n\n useLayoutEffect(() => {\n if (\n preset === 'brand' &&\n typeof textareaProps.value === 'string' &&\n textareaRef.current &&\n textareaRef.current !== document.activeElement\n ) {\n setActive(textareaProps.value.length > 0)\n }\n }, [preset, textareaProps.value])\n\n useEffect(() => {\n const handleResize = createThrottledCallback<UIEvent>(updateAutoRowsCount, 200)\n\n if ((preset === 'brand' && autoRows) || (preset !== 'brand' && autosize)) {\n updateAutoRowsCount()\n window.addEventListener('resize', handleResize)\n }\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [preset, autoRows, autosize, updateAutoRowsCount])\n\n if (preset !== 'brand') {\n return (\n <Styled.Root\n {...textareaProps}\n ref={textareaRef}\n className={className}\n style={style}\n onChange={(evt) => {\n if (autosize) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n color={color}\n rounded={rounded}\n placeholderColor={placeholderColor}\n disabled={disabled}\n error={error}\n fluid={fluid}\n width={width}\n widthXXS={widthXXS}\n widthXS={widthXS}\n widthS={widthS}\n widthM={widthM}\n widthL={widthL}\n widthXL={widthXL}\n />\n )\n }\n\n return (\n <FormInputLabel\n {...sizeProps}\n ref={formInputLabelRef}\n sizes={sizes}\n sizeUnits={sizeUnits}\n margin={margin}\n marginXXS={marginXXS}\n marginXS={marginXS}\n marginS={marginS}\n marginM={marginM}\n marginL={marginL}\n marginXL={marginXL}\n marginTop={marginTop}\n marginTopXXS={marginTopXXS}\n marginTopXS={marginTopXS}\n marginTopS={marginTopS}\n marginTopM={marginTopM}\n marginTopL={marginTopL}\n marginTopXL={marginTopXL}\n marginRight={marginRight}\n marginRightXXS={marginRightXXS}\n marginRightXS={marginRightXS}\n marginRightS={marginRightS}\n marginRightM={marginRightM}\n marginRightL={marginRightL}\n marginRightXL={marginRightXL}\n marginBottom={marginBottom}\n marginBottomXXS={marginBottomXXS}\n marginBottomXS={marginBottomXS}\n marginBottomS={marginBottomS}\n marginBottomM={marginBottomM}\n marginBottomL={marginBottomL}\n marginBottomXL={marginBottomXL}\n marginLeft={marginLeft}\n marginLeftXXS={marginLeftXXS}\n marginLeftXS={marginLeftXS}\n marginLeftS={marginLeftS}\n marginLeftM={marginLeftM}\n marginLeftL={marginLeftL}\n marginLeftXL={marginLeftXL}\n className={className}\n style={style}\n contrast={contrast}\n error={error}\n inline={inline}\n disabled={disabled}\n primary={primary}\n secondary={secondary}\n success={success}\n palette={{\n color: disabled ? palette.colorDisabled : palette.color,\n backgroundColor: disabled ? palette.backgroundColorDisabled : palette.backgroundColor,\n backgroundColorHover: disabled ? palette.backgroundColorDisabled : palette.backgroundColorHover,\n borderColor: disabled ? palette.borderColorDisabled : palette.borderColor,\n }}\n onClick={() => {\n if (textareaRef.current) {\n textareaRef.current.focus()\n }\n }}\n onFocus={() => {\n setActive(true)\n }}\n onPointerDown={(evt) => {\n if (evt.target === textareaRef.current || !(evt.target instanceof Node)) {\n return\n }\n evt.preventDefault()\n }}\n onBlur={(evt) => {\n if (textareaRef.current && !evt.currentTarget.contains(evt.relatedTarget)) {\n setActive(Boolean(textareaRef.current.value))\n }\n }}\n overflow='hidden'\n input={\n <InputLabel\n {...sizeProps}\n sizes={SIZES_FORM_INPUT}\n active={active}\n label={label}\n labelId={labelId}\n labelPosition={labelPosition}\n >\n {autoRows ? <Styled.TextareaMimic ref={textareaMimicRef} rows={1} /> : null}\n <Styled.Textarea\n {...textareaProps}\n ref={textareaRef}\n aria-labelledby={label ? labelId : undefined}\n disabled={disabled}\n onChange={(evt) => {\n if (autoRows) updateAutoRowsCount()\n if (textareaProps.onChange) textareaProps.onChange(evt)\n }}\n rows={rowsVisible}\n palette={{\n color: palette.color,\n colorDisabled: palette.colorDisabled,\n placeholderColor: palette.placeholderColor,\n placeholderColorDisabled: palette.placeholderColorDisabled,\n }}\n />\n </InputLabel>\n }\n addonRight={\n resize ? (\n <>\n {resizing ? <Styled.ResizeGlobals cursor={cursorResize} /> : null}\n <Styled.ResizeIcon\n size='l'\n icon={<ResizeHandle />}\n color='border-onmain-default-small'\n tabIndex={0}\n onPointerDown={handleResizeStart}\n onKeyDown={handleResizeOnNudge}\n cursor={cursorResize}\n />\n </>\n ) : null\n }\n />\n )\n }),\n {\n displayName: COMPONENT_NAME,\n sizes: SIZES,\n }\n)\n\nexport { Textarea, COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Textarea","withMergedProps","forwardRef","props","forwardedRef","theme","useTheme","size","rows","maxRows","labelPosition","primary","width","defaultInputControlsWidth","autosize","rounded","color","placeholderColor","autoRows","resize","contrast","inline","secondary","success","error","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","sizes","sizeUnits","margin","marginXXS","marginXS","marginS","marginM","marginL","marginXL","marginTop","marginTopXXS","marginTopXS","marginTopS","marginTopM","marginTopL","marginTopXL","marginRight","marginRightXXS","marginRightXS","marginRightS","marginRightM","marginRightL","marginRightXL","marginBottom","marginBottomXXS","marginBottomXS","marginBottomS","marginBottomM","marginBottomL","marginBottomXL","marginLeft","marginLeftXXS","marginLeftXS","marginLeftS","marginLeftM","marginLeftL","marginLeftXL","widthXXS","widthXS","widthS","widthM","widthL","widthXL","preset","palette","label","fluid","className","style","disabled","textareaProps","sizeProps","textareaRef","useRef","textareaMimicRef","formInputLabelRef","useImperativeHandle","current","resizing","handleResizeStart","handleResizeOnNudge","useResizable","target","direction","labelId","useMemo","nanoid","active","setActive","useState","valueInit","value","defaultValue","length","autoRowsCount","setAutoRowsCount","Math","min","rowsVisible","cursorResize","updateAutoRowsCount","useCallback","nextRows","max","round","scrollHeight","clientHeight","styles","getComputedStyle","lineHeight","parseFloat","paddingTop","paddingBottom","Number","isNaN","fontSize","prevRows","useLayoutEffect","document","activeElement","useEffect","handleResize","createThrottledCallback","window","addEventListener","removeEventListener","_jsx","Styled","ref","onChange","evt","FormInputLabel","colorDisabled","backgroundColor","backgroundColorDisabled","backgroundColorHover","borderColor","borderColorDisabled","onClick","focus","onFocus","onPointerDown","Node","preventDefault","onBlur","currentTarget","contains","relatedTarget","Boolean","overflow","input","_jsxs","InputLabel","SIZES_FORM_INPUT","children","undefined","placeholderColorDisabled","addonRight","_Fragment","cursor","icon","ResizeHandle","tabIndex","onKeyDown","displayName","SIZES"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var styled=require('styled-components');var style=require('../Input/style.js');var Icon=require('../Icon/Icon.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const Root=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['color','placeholderColor','rounded','fluid','error'].includes(e)&&!e.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],style.baseInputStyle);const Textarea=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['palette'].includes(e)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],
|
|
1
|
+
'use strict';var styled=require('styled-components');var style=require('../Input/style.js');var Icon=require('../Icon/Icon.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var styled__default=_interopDefault(styled);const Root=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['color','placeholderColor','rounded','fluid','error'].includes(e)&&!e.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],style.baseInputStyle);const Textarea=styled__default.default.textarea.withConfig({shouldForwardProp:e=>!['palette'].includes(e)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],e=>{return`\n color: ${(o={color:e.palette.color??e.theme.colors['content-onmain-primary'],placeholderColor:e.palette.placeholderColor??e.theme.colors['content-onmain-secondary'],colorDisabled:e.palette.colorDisabled??e.theme.colors['content-disabled'],placeholderColorDisabled:e.palette.placeholderColorDisabled??e.theme.colors['content-disabled']}).color};\n &:disabled {\n color: ${o.colorDisabled};\n }\n &::placeholder {\n color: ${o.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${o.placeholderColorDisabled};\n }\n`;var o});const TextareaMimic=styled__default.default.textarea.withConfig({displayName:"Textarea__TextareaMimic",componentId:"ui__sc-a4hfy5-2"})(["box-sizing:border-box;display:block;visibility:hidden;position:absolute;top:0;left:0;width:100%;appearance:none;resize:none;overflow:hidden;border:none;padding:0;margin:0;font:inherit;"]);const ResizeGlobals=styled.createGlobalStyle(["",""],e=>`\n body * {\n cursor: ${e.cursor} !important;\n user-select: none !important;\n }\n `);const ResizeIcon=styled__default.default(Icon.Icon).withConfig({shouldForwardProp:e=>e!=='cursor'}).withConfig({displayName:"Textarea__ResizeIcon",componentId:"ui__sc-a4hfy5-3"})(["",""],e=>`\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${e.cursor};\n &:focus-visible {\n outline: none;\n color: ${e.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `);exports.ResizeGlobals=ResizeGlobals,exports.ResizeIcon=ResizeIcon,exports.Root=Root,exports.Textarea=Textarea,exports.TextareaMimic=TextareaMimic;
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"6OAoBO,MAAMA,KAAOC,gBAAAA,QAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,MAAAA,gBAGG,MAAMC,SAAWT,gBAAAA,QAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"6OAoBO,MAAMA,KAAOC,gBAAAA,QAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,MAAAA,gBAGG,MAAMC,SAAWT,gBAAAA,QAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,IAsBGW,IACDC,MAjDC,eADHC,EAkDW,CACPC,MAAOH,EAAME,QAAQC,OAASH,EAAMI,MAAMC,OAAO,0BACjDC,iBAAkBN,EAAME,QAAQI,kBAAoBN,EAAMI,MAAMC,OAAO,4BACvEE,cAAeP,EAAME,QAAQK,eAAiBP,EAAMI,MAAMC,OAAO,oBACjEG,yBAA0BR,EAAME,QAAQM,0BAA4BR,EAAMI,MAAMC,OAAO,sBApD1EF,sCAEND,EAAQK,uDAGRL,EAAQI,mEAGRJ,EAAQM,mCAVnBN,cA0DWO,cAAgBpB,gBAAAA,QAAOC,SAAQC,WAAA,CAAAI,YAAA,0BAAAC,YAAA,mBAAfP,CAAe,CAAA,mMAiB/BqB,cAAgBC,OAAAA,kBAAiB,CAAA,GAAA,IACzCX,GAAU,iCAECA,EAAMY,sEAMf,MAAMC,WAAaxB,gBAAAA,QAAOyB,WAAMvB,WAAqC,CAC1EC,kBAAoBO,GAAYA,IAAY,WAC5CR,WAAA,CAAAI,YAAA,uBAAAC,YAAA,mBAFwBP,CAExB,CAAA,GAAA,IACGW,GAAU,0HAMDA,EAAMY,sEAGLZ,EAAMI,MAAMC,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import styled,{createGlobalStyle}from'styled-components';import{baseInputStyle}from'../Input/style.mjs';import{Icon}from'../Icon/Icon.mjs';const Root=styled.textarea.withConfig({shouldForwardProp:o=>!['color','placeholderColor','rounded','fluid','error'].includes(o)&&!o.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],baseInputStyle);const Textarea=styled.textarea.withConfig({shouldForwardProp:o=>!['palette'].includes(o)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],
|
|
1
|
+
import styled,{createGlobalStyle}from'styled-components';import{baseInputStyle}from'../Input/style.mjs';import{Icon}from'../Icon/Icon.mjs';const Root=styled.textarea.withConfig({shouldForwardProp:o=>!['color','placeholderColor','rounded','fluid','error'].includes(o)&&!o.includes('width')}).withConfig({displayName:"Textarea__Root",componentId:"ui__sc-a4hfy5-0"})(["resize:none;line-height:23px;padding:16px 20px 11px;",""],baseInputStyle);const Textarea=styled.textarea.withConfig({shouldForwardProp:o=>!['palette'].includes(o)}).withConfig({displayName:"Textarea",componentId:"ui__sc-a4hfy5-1"})(["box-sizing:border-box;display:block;appearance:none;resize:none;overflow:auto;border:none;padding:0;margin:0;background-color:transparent;font:inherit;width:100%;cursor:pointer;&:disabled{cursor:not-allowed;}&:focus{outline:none;}&:focus:read-write{cursor:text;}",""],o=>{return`\n color: ${(e={color:o.palette.color??o.theme.colors['content-onmain-primary'],placeholderColor:o.palette.placeholderColor??o.theme.colors['content-onmain-secondary'],colorDisabled:o.palette.colorDisabled??o.theme.colors['content-disabled'],placeholderColorDisabled:o.palette.placeholderColorDisabled??o.theme.colors['content-disabled']}).color};\n &:disabled {\n color: ${e.colorDisabled};\n }\n &::placeholder {\n color: ${e.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${e.placeholderColorDisabled};\n }\n`;var e});const TextareaMimic=styled.textarea.withConfig({displayName:"Textarea__TextareaMimic",componentId:"ui__sc-a4hfy5-2"})(["box-sizing:border-box;display:block;visibility:hidden;position:absolute;top:0;left:0;width:100%;appearance:none;resize:none;overflow:hidden;border:none;padding:0;margin:0;font:inherit;"]);const ResizeGlobals=createGlobalStyle(["",""],o=>`\n body * {\n cursor: ${o.cursor} !important;\n user-select: none !important;\n }\n `);const ResizeIcon=styled(Icon).withConfig({shouldForwardProp:o=>o!=='cursor'}).withConfig({displayName:"Textarea__ResizeIcon",componentId:"ui__sc-a4hfy5-3"})(["",""],o=>`\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${o.cursor};\n &:focus-visible {\n outline: none;\n color: ${o.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `);export{ResizeGlobals,ResizeIcon,Root,Textarea,TextareaMimic};
|
|
2
2
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"2IAoBO,MAAMA,KAAOC,OAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,gBAGG,MAAMC,SAAWT,OAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Textarea/style.ts"],"sourcesContent":["import styled, { createGlobalStyle } from 'styled-components'\nimport { Icon } from 'components/Icon'\nimport { baseInputStyle } from 'components/Input/style'\nimport type { TextareaProps, StyledTextareaProps, TextareaPalette, StyledResizeControlProps } from './types'\n\nconst template = (\n palette: Pick<TextareaPalette, 'color' | 'colorDisabled' | 'placeholderColor' | 'placeholderColorDisabled'>\n) => `\n color: ${palette.color};\n &:disabled {\n color: ${palette.colorDisabled};\n }\n &::placeholder {\n color: ${palette.placeholderColor};\n }\n &:disabled::placeholder {\n color: ${palette.placeholderColorDisabled};\n }\n`\n\nexport const Root = styled.textarea.withConfig<TextareaProps>({\n shouldForwardProp: (prop) =>\n !['color', 'placeholderColor', 'rounded', 'fluid', 'error'].includes(prop) && !prop.includes('width'),\n})`\n resize: none;\n line-height: 23px;\n padding: 16px 20px 11px;\n\n ${baseInputStyle}\n`\n\nexport const Textarea = styled.textarea.withConfig<StyledTextareaProps>({\n shouldForwardProp: (propKey) => !['palette'].includes(propKey),\n})`\n box-sizing: border-box;\n display: block;\n appearance: none;\n resize: none;\n overflow: auto;\n border: none;\n padding: 0;\n margin: 0;\n background-color: transparent;\n font: inherit;\n width: 100%;\n cursor: pointer;\n &:disabled {\n cursor: not-allowed;\n }\n &:focus {\n outline: none;\n }\n &:focus:read-write {\n cursor: text;\n }\n ${(props) =>\n template({\n color: props.palette.color ?? props.theme.colors['content-onmain-primary'],\n placeholderColor: props.palette.placeholderColor ?? props.theme.colors['content-onmain-secondary'],\n colorDisabled: props.palette.colorDisabled ?? props.theme.colors['content-disabled'],\n placeholderColorDisabled: props.palette.placeholderColorDisabled ?? props.theme.colors['content-disabled'],\n })}\n`\n\nexport const TextareaMimic = styled.textarea`\n box-sizing: border-box;\n display: block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n appearance: none;\n resize: none;\n overflow: hidden;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n`\n\nexport const ResizeGlobals = createGlobalStyle<StyledResizeControlProps>`\n ${(props) => `\n body * {\n cursor: ${props.cursor} !important;\n user-select: none !important;\n }\n `}\n`\n\nexport const ResizeIcon = styled(Icon).withConfig<StyledResizeControlProps>({\n shouldForwardProp: (propKey) => propKey !== 'cursor',\n})`\n ${(props) => `\n position: absolute;\n right: 0px;\n bottom: 0px;\n padding: 4px;\n touch-action: none; \n cursor: ${props.cursor};\n &:focus-visible {\n outline: none;\n color: ${props.theme.colors['border-focus']};\n }\n &:focus-visible > svg {\n transform: scale(1.2);\n }\n `}\n`\n"],"names":["Root","styled","textarea","withConfig","shouldForwardProp","prop","includes","displayName","componentId","baseInputStyle","Textarea","propKey","props","template","palette","color","theme","colors","placeholderColor","colorDisabled","placeholderColorDisabled","TextareaMimic","ResizeGlobals","createGlobalStyle","cursor","ResizeIcon","Icon"],"mappings":"2IAoBO,MAAMA,KAAOC,OAAOC,SAASC,WAA0B,CAC5DC,kBAAoBC,IACjB,CAAC,QAAS,mBAAoB,UAAW,QAAS,SAASC,SAASD,KAAUA,EAAKC,SAAS,WAC/FH,WAAA,CAAAI,YAAA,iBAAAC,YAAA,mBAHkBP,CAGlB,CAAA,uDAAA,IAKEQ,gBAGG,MAAMC,SAAWT,OAAOC,SAASC,WAAgC,CACtEC,kBAAoBO,IAAa,CAAC,WAAWL,SAASK,KACtDR,WAAA,CAAAI,YAAA,WAAAC,YAAA,mBAFsBP,CAEtB,CAAA,yQAAA,IAsBGW,IACDC,MAjDC,eADHC,EAkDW,CACPC,MAAOH,EAAME,QAAQC,OAASH,EAAMI,MAAMC,OAAO,0BACjDC,iBAAkBN,EAAME,QAAQI,kBAAoBN,EAAMI,MAAMC,OAAO,4BACvEE,cAAeP,EAAME,QAAQK,eAAiBP,EAAMI,MAAMC,OAAO,oBACjEG,yBAA0BR,EAAME,QAAQM,0BAA4BR,EAAMI,MAAMC,OAAO,sBApD1EF,sCAEND,EAAQK,uDAGRL,EAAQI,mEAGRJ,EAAQM,mCAVnBN,cA0DWO,cAAgBpB,OAAOC,SAAQC,WAAA,CAAAI,YAAA,0BAAAC,YAAA,mBAAfP,CAAe,CAAA,mMAiB/BqB,cAAgBC,kBAAiB,CAAA,GAAA,IACzCX,GAAU,iCAECA,EAAMY,sEAMf,MAAMC,WAAaxB,OAAOyB,MAAMvB,WAAqC,CAC1EC,kBAAoBO,GAAYA,IAAY,WAC5CR,WAAA,CAAAI,YAAA,uBAAAC,YAAA,mBAFwBP,CAExB,CAAA,GAAA,IACGW,GAAU,0HAMDA,EAAMY,sEAGLZ,EAAMI,MAAMC,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var styled=require('styled-components');var Floater=require('react-floater');var
|
|
1
|
+
'use strict';var React=require('react');var styled=require('styled-components');var Floater=require('react-floater');var useMergedProps=require('../../hooks/useMergedProps.js');var useResizeObserver=require('../../hooks/useResizeObserver.js');var misc=require('../../shared/utils/misc.js');var TooltipWrapper=require('./TooltipWrapper.js');var defaultConstants=require('./default-constants.js');var jsxRuntime=require('react/jsx-runtime');var TooltipComponent=require('../TooltipComponent/TooltipComponent.js');var sizes=require('../TooltipComponent/sizes.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Floater__default=_interopDefault(Floater);const Tooltip=Object.assign(React.forwardRef((e,o)=>{const{size:t="s",position:r="bottom",styles:s={},closeOnClickOutside:l=!1,closeOnScroll:n=!1,zIndex:i=100,palette:a={},preset:p,trigger:u,autoOpen:c,callback:d,debug:m,disableFlip:f,disableHoverToClick:b,event:v,eventDelay:g,getPopper:T,hideArrow:y,offset:C,open:j,portalElement:O,target:x,wrapperOptions:h,showCloseButton:R,component:z,children:_,...k}=useMergedProps.useMergedProps(e,{componentName:"Tooltip",sizes:sizes.SIZES});const q=styled.useTheme();const[w,E]=React.useState(null);const[P,S]=React.useState(null);if(React.useLayoutEffect(()=>{if(O)E(null);else if(document.body){let e=document.querySelector('[data-popper-portal]');e||(e=document.createElement('div'),e.dataset.popperPortal='true',e.style.position='relative',document.body.appendChild(e)),E(e)}},[O]),useResizeObserver.useResizeObserver({target:document.body,onResize:()=>{P&&P.state.options.strategy==='absolute'&&P.update()}}),!O&&!w)return null;const F={autoOpen:c,callback:d,debug:m,disableFlip:f,disableHoverToClick:b,event:v,eventDelay:g,hideArrow:y,open:j,placement:r,portalElement:O??w,target:x,wrapperOptions:h,showCloseButton:R,offset:C??8,getPopper:(e,o)=>{S(e),T&&T(e,o)},modifiers:{flip:{enabled:!f}},styles:misc.deepmerge(s,{options:{zIndex:i}})};if(p!=='brand')return jsxRuntime.jsx(Floater__default.default,{...F,styles:misc.deepmerge(defaultConstants.TOOLTIP_STYLES_DEFAULT,F.styles),title:typeof k.title!='function'?k.title:void 0,content:typeof k.content!='function'?k.content:void 0,children:jsxRuntime.jsx("span",{children:u??_})});let M=q.colors['bg-onmain-primary'];return k.black&&(M=q.colors['bg-onmain-inverse']),k.contrast&&(M=q.colors['bg-brand-primary-basic']),a.backgroundColor&&(M=q.colors[a.backgroundColor]??a.backgroundColor),jsxRuntime.jsx(Floater__default.default,{...F,styles:misc.deepmerge({arrow:{color:M,spread:16,length:8},floater:{filter:`drop-shadow(0 6px 10px ${q.colors['bg-oncolor-hover']})`}},F.styles),component:jsxRuntime.jsx(TooltipWrapper.TooltipWrapper,{ref:o,closeOnClickOutside:l,closeOnScroll:n,children:z??jsxRuntime.jsx(TooltipComponent.TooltipComponent,{...k,size:t,palette:a})}),children:u??_})}),{Component:TooltipComponent.TooltipComponent});exports.COMPONENT_NAME="Tooltip",exports.Tooltip=Tooltip;
|
|
2
2
|
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { Props as FloaterProps
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { PopperInstance, Props as FloaterProps } from 'react-floater'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { useResizeObserver } from 'hooks/useResizeObserver'\nimport { SIZES, TooltipComponent } from 'components/TooltipComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { TooltipWrapper } from './TooltipWrapper'\nimport { TOOLTIP_STYLES_DEFAULT } from './default-constants'\nimport type { TooltipProps } from './types'\n\nconst COMPONENT_NAME = 'Tooltip'\n\n/**\n *\n * *v1.0.0*\n *\n * Компонент для отображения подсказок для элементов интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Tooltip: React.ForwardRefExoticComponent<TooltipProps> & { Component: typeof TooltipComponent } = Object.assign(\n forwardRef<HTMLDivElement, TooltipProps>((props, ref) => {\n const {\n size = 's',\n position = 'bottom',\n styles = {},\n closeOnClickOutside = false,\n closeOnScroll = false,\n zIndex = 100,\n palette = {},\n preset,\n trigger,\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n getPopper,\n hideArrow,\n offset,\n open,\n portalElement,\n target,\n wrapperOptions,\n showCloseButton,\n component,\n children,\n ...restProps\n } = useMergedProps<TooltipProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const theme = useTheme()\n\n const [portal, setPortal] = useState<HTMLElement | null>(null)\n const [popper, setPopper] = useState<PopperInstance | null>(null)\n\n useLayoutEffect(() => {\n if (portalElement) {\n setPortal(null)\n } else if (document.body) {\n let popperPortal = document.querySelector<HTMLElement>('[data-popper-portal]')\n\n if (!popperPortal) {\n popperPortal = document.createElement('div')\n popperPortal.dataset.popperPortal = 'true'\n popperPortal.style.position = 'relative'\n\n document.body.appendChild(popperPortal)\n }\n\n setPortal(popperPortal)\n }\n }, [portalElement])\n\n useResizeObserver({\n target: document.body,\n onResize: () => {\n if (popper && popper.state.options.strategy === 'absolute') {\n popper.update()\n }\n },\n })\n\n if (!portalElement && !portal) {\n return null\n }\n\n const floaterProps: Omit<FloaterProps, 'component' | 'content'> = {\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n hideArrow,\n open,\n placement: position,\n portalElement: portalElement ?? portal,\n target,\n wrapperOptions,\n showCloseButton,\n offset: offset ?? 8,\n getPopper: (popperInstance, origin) => {\n setPopper(popperInstance)\n if (getPopper) {\n getPopper(popperInstance, origin)\n }\n },\n modifiers: {\n flip: {\n enabled: !disableFlip,\n },\n },\n styles: deepmerge(styles, {\n options: {\n zIndex,\n },\n }),\n }\n\n if (preset !== 'brand') {\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(TOOLTIP_STYLES_DEFAULT, floaterProps.styles)}\n title={typeof restProps.title !== 'function' ? restProps.title : undefined}\n content={typeof restProps.content !== 'function' ? restProps.content : undefined}\n >\n <span>{trigger ?? children}</span>\n </Floater>\n )\n }\n\n let color = theme.colors['bg-onmain-primary']\n\n if (restProps.black) color = theme.colors['bg-onmain-inverse']\n if (restProps.contrast) color = theme.colors['bg-brand-primary-basic']\n if (palette.backgroundColor) {\n color = theme.colors[palette.backgroundColor as keyof typeof theme.colors] ?? palette.backgroundColor\n }\n\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(\n {\n arrow: { color, spread: 16, length: 8 },\n floater: {\n filter: `drop-shadow(0 6px 10px ${theme.colors['bg-oncolor-hover']})`,\n },\n },\n floaterProps.styles\n )}\n component={\n <TooltipWrapper ref={ref} closeOnClickOutside={closeOnClickOutside} closeOnScroll={closeOnScroll}>\n {component ?? <TooltipComponent {...restProps} size={size} palette={palette} />}\n </TooltipWrapper>\n }\n >\n {trigger ?? children}\n </Floater>\n )\n }),\n {\n Component: TooltipComponent,\n }\n)\n\nexport { Tooltip }\n\nexport { COMPONENT_NAME }\n"],"names":["Tooltip","Object","assign","forwardRef","props","ref","size","position","styles","closeOnClickOutside","closeOnScroll","zIndex","palette","preset","trigger","autoOpen","callback","debug","disableFlip","disableHoverToClick","event","eventDelay","getPopper","hideArrow","offset","open","portalElement","target","wrapperOptions","showCloseButton","component","children","restProps","useMergedProps","componentName","sizes","SIZES","theme","useTheme","portal","setPortal","useState","popper","setPopper","useLayoutEffect","document","body","popperPortal","querySelector","createElement","dataset","style","appendChild","useResizeObserver","onResize","state","options","strategy","update","floaterProps","placement","popperInstance","origin","modifiers","flip","enabled","deepmerge","_jsx","Floater","TOOLTIP_STYLES_DEFAULT","title","undefined","content","color","colors","black","contrast","backgroundColor","arrow","spread","length","floater","filter","TooltipWrapper","TooltipComponent","Component"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef,useState,useLayoutEffect}from'react';import{useTheme}from'styled-components';import Floater from'react-floater';import{
|
|
1
|
+
import{forwardRef,useState,useLayoutEffect}from'react';import{useTheme}from'styled-components';import Floater from'react-floater';import{useMergedProps}from'../../hooks/useMergedProps.mjs';import{useResizeObserver}from'../../hooks/useResizeObserver.mjs';import{deepmerge}from'../../shared/utils/misc.mjs';import{TooltipWrapper}from'./TooltipWrapper.mjs';import{TOOLTIP_STYLES_DEFAULT}from'./default-constants.mjs';import{jsx}from'react/jsx-runtime';import{TooltipComponent}from'../TooltipComponent/TooltipComponent.mjs';import{SIZES}from'../TooltipComponent/sizes.mjs';const COMPONENT_NAME='Tooltip';const Tooltip=Object.assign(forwardRef((e,o)=>{const{size:t="s",position:r="bottom",styles:s={},closeOnClickOutside:n=!1,closeOnScroll:l=!1,zIndex:p=100,palette:i={},preset:a,trigger:c,autoOpen:m,callback:d,debug:u,disableFlip:f,disableHoverToClick:b,event:T,eventDelay:g,getPopper:O,hideArrow:y,offset:C,open:h,portalElement:j,target:v,wrapperOptions:E,showCloseButton:S,component:k,children:x,...w}=useMergedProps(e,{componentName:"Tooltip",sizes:SIZES});const z=useTheme();const[P,L]=useState(null);const[F,M]=useState(null);if(useLayoutEffect(()=>{if(j)L(null);else if(document.body){let e=document.querySelector('[data-popper-portal]');e||(e=document.createElement('div'),e.dataset.popperPortal='true',e.style.position='relative',document.body.appendChild(e)),L(e)}},[j]),useResizeObserver({target:document.body,onResize:()=>{F&&F.state.options.strategy==='absolute'&&F.update()}}),!j&&!P)return null;const N={autoOpen:m,callback:d,debug:u,disableFlip:f,disableHoverToClick:b,event:T,eventDelay:g,hideArrow:y,open:h,placement:r,portalElement:j??P,target:v,wrapperOptions:E,showCloseButton:S,offset:C??8,getPopper:(e,o)=>{M(e),O&&O(e,o)},modifiers:{flip:{enabled:!f}},styles:deepmerge(s,{options:{zIndex:p}})};if(a!=='brand')return jsx(Floater,{...N,styles:deepmerge(TOOLTIP_STYLES_DEFAULT,N.styles),title:typeof w.title!='function'?w.title:void 0,content:typeof w.content!='function'?w.content:void 0,children:jsx("span",{children:c??x})});let A=z.colors['bg-onmain-primary'];return w.black&&(A=z.colors['bg-onmain-inverse']),w.contrast&&(A=z.colors['bg-brand-primary-basic']),i.backgroundColor&&(A=z.colors[i.backgroundColor]??i.backgroundColor),jsx(Floater,{...N,styles:deepmerge({arrow:{color:A,spread:16,length:8},floater:{filter:`drop-shadow(0 6px 10px ${z.colors['bg-oncolor-hover']})`}},N.styles),component:jsx(TooltipWrapper,{ref:o,closeOnClickOutside:n,closeOnScroll:l,children:k??jsx(TooltipComponent,{...w,size:t,palette:i})}),children:c??x})}),{Component:TooltipComponent});export{COMPONENT_NAME,Tooltip};
|
|
2
2
|
//# sourceMappingURL=Tooltip.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.mjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { Props as FloaterProps
|
|
1
|
+
{"version":3,"file":"Tooltip.mjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { forwardRef, useState, useLayoutEffect } from 'react'\nimport { useTheme } from 'styled-components'\nimport Floater from 'react-floater'\nimport type { PopperInstance, Props as FloaterProps } from 'react-floater'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { useResizeObserver } from 'hooks/useResizeObserver'\nimport { SIZES, TooltipComponent } from 'components/TooltipComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { TooltipWrapper } from './TooltipWrapper'\nimport { TOOLTIP_STYLES_DEFAULT } from './default-constants'\nimport type { TooltipProps } from './types'\n\nconst COMPONENT_NAME = 'Tooltip'\n\n/**\n *\n * *v1.0.0*\n *\n * Компонент для отображения подсказок для элементов интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Tooltip: React.ForwardRefExoticComponent<TooltipProps> & { Component: typeof TooltipComponent } = Object.assign(\n forwardRef<HTMLDivElement, TooltipProps>((props, ref) => {\n const {\n size = 's',\n position = 'bottom',\n styles = {},\n closeOnClickOutside = false,\n closeOnScroll = false,\n zIndex = 100,\n palette = {},\n preset,\n trigger,\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n getPopper,\n hideArrow,\n offset,\n open,\n portalElement,\n target,\n wrapperOptions,\n showCloseButton,\n component,\n children,\n ...restProps\n } = useMergedProps<TooltipProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const theme = useTheme()\n\n const [portal, setPortal] = useState<HTMLElement | null>(null)\n const [popper, setPopper] = useState<PopperInstance | null>(null)\n\n useLayoutEffect(() => {\n if (portalElement) {\n setPortal(null)\n } else if (document.body) {\n let popperPortal = document.querySelector<HTMLElement>('[data-popper-portal]')\n\n if (!popperPortal) {\n popperPortal = document.createElement('div')\n popperPortal.dataset.popperPortal = 'true'\n popperPortal.style.position = 'relative'\n\n document.body.appendChild(popperPortal)\n }\n\n setPortal(popperPortal)\n }\n }, [portalElement])\n\n useResizeObserver({\n target: document.body,\n onResize: () => {\n if (popper && popper.state.options.strategy === 'absolute') {\n popper.update()\n }\n },\n })\n\n if (!portalElement && !portal) {\n return null\n }\n\n const floaterProps: Omit<FloaterProps, 'component' | 'content'> = {\n autoOpen,\n callback,\n debug,\n disableFlip,\n disableHoverToClick,\n event,\n eventDelay,\n hideArrow,\n open,\n placement: position,\n portalElement: portalElement ?? portal,\n target,\n wrapperOptions,\n showCloseButton,\n offset: offset ?? 8,\n getPopper: (popperInstance, origin) => {\n setPopper(popperInstance)\n if (getPopper) {\n getPopper(popperInstance, origin)\n }\n },\n modifiers: {\n flip: {\n enabled: !disableFlip,\n },\n },\n styles: deepmerge(styles, {\n options: {\n zIndex,\n },\n }),\n }\n\n if (preset !== 'brand') {\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(TOOLTIP_STYLES_DEFAULT, floaterProps.styles)}\n title={typeof restProps.title !== 'function' ? restProps.title : undefined}\n content={typeof restProps.content !== 'function' ? restProps.content : undefined}\n >\n <span>{trigger ?? children}</span>\n </Floater>\n )\n }\n\n let color = theme.colors['bg-onmain-primary']\n\n if (restProps.black) color = theme.colors['bg-onmain-inverse']\n if (restProps.contrast) color = theme.colors['bg-brand-primary-basic']\n if (palette.backgroundColor) {\n color = theme.colors[palette.backgroundColor as keyof typeof theme.colors] ?? palette.backgroundColor\n }\n\n return (\n <Floater\n {...floaterProps}\n styles={deepmerge(\n {\n arrow: { color, spread: 16, length: 8 },\n floater: {\n filter: `drop-shadow(0 6px 10px ${theme.colors['bg-oncolor-hover']})`,\n },\n },\n floaterProps.styles\n )}\n component={\n <TooltipWrapper ref={ref} closeOnClickOutside={closeOnClickOutside} closeOnScroll={closeOnScroll}>\n {component ?? <TooltipComponent {...restProps} size={size} palette={palette} />}\n </TooltipWrapper>\n }\n >\n {trigger ?? children}\n </Floater>\n )\n }),\n {\n Component: TooltipComponent,\n }\n)\n\nexport { Tooltip }\n\nexport { COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","Tooltip","Object","assign","forwardRef","props","ref","size","position","styles","closeOnClickOutside","closeOnScroll","zIndex","palette","preset","trigger","autoOpen","callback","debug","disableFlip","disableHoverToClick","event","eventDelay","getPopper","hideArrow","offset","open","portalElement","target","wrapperOptions","showCloseButton","component","children","restProps","useMergedProps","componentName","sizes","SIZES","theme","useTheme","portal","setPortal","useState","popper","setPopper","useLayoutEffect","document","body","popperPortal","querySelector","createElement","dataset","style","appendChild","useResizeObserver","onResize","state","options","strategy","update","floaterProps","placement","popperInstance","origin","modifiers","flip","enabled","deepmerge","_jsx","Floater","TOOLTIP_STYLES_DEFAULT","title","undefined","content","color","colors","black","contrast","backgroundColor","arrow","spread","length","floater","filter","TooltipWrapper","TooltipComponent","Component"],"mappings":"yjBAYA,MAAMA,eAAiB,UAUvB,MAAMC,QAAkGC,OAAOC,OAC7GC,WAAyC,CAACC,EAAOC,KAC/C,MAAMC,KACJA,EAAO,IAAGC,SACVA,EAAW,SAAQC,OACnBA,EAAS,CAAA,EAAEC,oBACXA,GAAsB,EAAKC,cAC3BA,GAAgB,EAAKC,OACrBA,EAAS,IAAGC,QACZA,EAAU,CAAA,EAAEC,OACZA,EAAMC,QACNA,EAAOC,SACPA,EAAQC,SACRA,EAAQC,MACRA,EAAKC,YACLA,EAAWC,oBACXA,EAAmBC,MACnBA,EAAKC,WACLA,EAAUC,UACVA,EAASC,UACTA,EAASC,OACTA,EAAMC,KACNA,EAAIC,cACJA,EAAaC,OACbA,EAAMC,eACNA,EAAcC,gBACdA,EAAeC,UACfA,EAASC,SACTA,KACGC,GACDC,eAA6B7B,EAAO,CACtC8B,cAzCiB,UA0CjBC,MAAOC,QAGT,MAAMC,EAAQC,WAEd,MAAOC,EAAQC,GAAaC,SAA6B,MACzD,MAAOC,EAAQC,GAAaF,SAAgC,MA6B5D,GA3BAG,gBAAgB,KACd,GAAIlB,EACFc,EAAU,WACL,GAAIK,SAASC,KAAM,CACxB,IAAIC,EAAeF,SAASG,cAA2B,wBAElDD,IACHA,EAAeF,SAASI,cAAc,OACtCF,EAAaG,QAAQH,aAAe,OACpCA,EAAaI,MAAM5C,SAAW,WAE9BsC,SAASC,KAAKM,YAAYL,IAG5BP,EAAUO,EACZ,GACC,CAACrB,IAEJ2B,kBAAkB,CAChB1B,OAAQkB,SAASC,KACjBQ,SAAUA,KACJZ,GAAUA,EAAOa,MAAMC,QAAQC,WAAa,YAC9Cf,EAAOgB,aAKRhC,IAAkBa,EACrB,OAAO,KAGT,MAAMoB,EAA4D,CAChE5C,WACAC,WACAC,QACAC,cACAC,sBACAC,QACAC,aACAE,YACAE,OACAmC,UAAWrD,EACXmB,cAAeA,GAAiBa,EAChCZ,SACAC,iBACAC,kBACAL,OAAQA,GAAU,EAClBF,UAAWA,CAACuC,EAAgBC,KAC1BnB,EAAUkB,GACNvC,GACFA,EAAUuC,EAAgBC,IAG9BC,UAAW,CACTC,KAAM,CACJC,SAAU/C,IAGdV,OAAQ0D,UAAU1D,EAAQ,CACxBgD,QAAS,CACP7C,aAKN,GAAIE,IAAW,QACb,OACEsD,IAACC,QAAO,IACFT,EACJnD,OAAQ0D,UAAUG,uBAAwBV,EAAanD,QACvD8D,aAActC,EAAUsC,OAAU,WAAatC,EAAUsC,WAAQC,EACjEC,eAAgBxC,EAAUwC,SAAY,WAAaxC,EAAUwC,aAAUD,EAAUxC,SAEjFoC,IAAA,OAAA,CAAApC,SAAOjB,GAAWiB,MAKxB,IAAI0C,EAAQpC,EAAMqC,OAAO,qBAQzB,OANI1C,EAAU2C,QAAOF,EAAQpC,EAAMqC,OAAO,sBACtC1C,EAAU4C,WAAUH,EAAQpC,EAAMqC,OAAO,2BACzC9D,EAAQiE,kBACVJ,EAAQpC,EAAMqC,OAAO9D,EAAQiE,kBAAiDjE,EAAQiE,iBAItFV,IAACC,QAAO,IACFT,EACJnD,OAAQ0D,UACN,CACEY,MAAO,CAAEL,QAAOM,OAAQ,GAAIC,OAAQ,GACpCC,QAAS,CACPC,OAAQ,0BAA0B7C,EAAMqC,OAAO,yBAGnDf,EAAanD,QAEfsB,UACEqC,IAACgB,eAAc,CAAC9E,IAAKA,EAAKI,oBAAqBA,EAAqBC,cAAeA,EAAcqB,SAC9FD,GAAaqC,IAACiB,iBAAgB,IAAKpD,EAAW1B,KAAMA,EAAMM,QAASA,MAEvEmB,SAEAjB,GAAWiB,MAIlB,CACEsD,UAAWD"}
|