@televet/kibble-ui 4.0.0-beta.15 → 4.0.0-beta.16
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/README.md +40 -0
- package/dist/chunks/{alert.types-Bnf8isvq.js → alert.types-CiHDB6qK.js} +2 -2
- package/dist/chunks/{alert.types-Bnf8isvq.js.map → alert.types-CiHDB6qK.js.map} +1 -1
- package/dist/chunks/{alert.types-kskv5PHB.js → alert.types-CvARYqVc.js} +3 -3
- package/dist/chunks/{alert.types-kskv5PHB.js.map → alert.types-CvARYqVc.js.map} +1 -1
- package/dist/chunks/{avatar.component-Coq-0l7p.js → avatar.component-B14bRpeL.js} +2 -2
- package/dist/chunks/{avatar.component-Coq-0l7p.js.map → avatar.component-B14bRpeL.js.map} +1 -1
- package/dist/chunks/{avatar.component-DzvE2D-d.js → avatar.component-DLqm7tQt.js} +2 -2
- package/dist/chunks/{avatar.component-DzvE2D-d.js.map → avatar.component-DLqm7tQt.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-DES1ekL9.js → avatarGroup.component-4kVezqP-.js} +2 -2
- package/dist/chunks/{avatarGroup.component-DES1ekL9.js.map → avatarGroup.component-4kVezqP-.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-D-U0aMDv.js → avatarGroup.component-DIDIECGK.js} +2 -2
- package/dist/chunks/{avatarGroup.component-D-U0aMDv.js.map → avatarGroup.component-DIDIECGK.js.map} +1 -1
- package/dist/chunks/{button.component-BiW8RE1U.js → button.component-CA9bIFbq.js} +2 -2
- package/dist/chunks/{button.component-BiW8RE1U.js.map → button.component-CA9bIFbq.js.map} +1 -1
- package/dist/chunks/{button.component-Dufh_y5v.js → button.component-DDjwI0xh.js} +2 -2
- package/dist/chunks/{button.component-Dufh_y5v.js.map → button.component-DDjwI0xh.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-DcCHtB7Q.js → buttonGroup.component-BLRJnRJW.js} +3 -3
- package/dist/chunks/{buttonGroup.component-DcCHtB7Q.js.map → buttonGroup.component-BLRJnRJW.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-sM0NngWF.js → buttonGroup.component-DKnPmFIM.js} +2 -2
- package/dist/chunks/{buttonGroup.component-sM0NngWF.js.map → buttonGroup.component-DKnPmFIM.js.map} +1 -1
- package/dist/chunks/{checkbox.component-DgyH37fL.js → checkbox.component-BN9GeeiB.js} +2 -2
- package/dist/chunks/{checkbox.component-DgyH37fL.js.map → checkbox.component-BN9GeeiB.js.map} +1 -1
- package/dist/chunks/{checkbox.component-DQVpdkqO.js → checkbox.component-BnNl7j1h.js} +2 -2
- package/dist/chunks/{checkbox.component-DQVpdkqO.js.map → checkbox.component-BnNl7j1h.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-CcjCexJ4.js → checkboxGroup.component-CMSLo_U5.js} +2 -2
- package/dist/chunks/{checkboxGroup.component-CcjCexJ4.js.map → checkboxGroup.component-CMSLo_U5.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-C8cndZPg.js → checkboxGroup.component-DNwf69Ss.js} +3 -3
- package/dist/chunks/{checkboxGroup.component-C8cndZPg.js.map → checkboxGroup.component-DNwf69Ss.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-DKIHpfpL.js → conversationCard.component-CAKvEh_2.js} +5 -5
- package/dist/chunks/{conversationCard.component-DKIHpfpL.js.map → conversationCard.component-CAKvEh_2.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-CcWQpwrW.js → conversationCard.component-D56k22in.js} +2 -2
- package/dist/chunks/{conversationCard.component-CcWQpwrW.js.map → conversationCard.component-D56k22in.js.map} +1 -1
- package/dist/chunks/{datePicker.component-Q_KcgvIw.js → datePicker.component-D1WtrZJd.js} +5 -5
- package/dist/chunks/{datePicker.component-Q_KcgvIw.js.map → datePicker.component-D1WtrZJd.js.map} +1 -1
- package/dist/chunks/{datePicker.component-BthgWsMj.js → datePicker.component-ZmMJoE3c.js} +2 -2
- package/dist/chunks/{datePicker.component-BthgWsMj.js.map → datePicker.component-ZmMJoE3c.js.map} +1 -1
- package/dist/chunks/icon.component-CzjzLiO_.js +2 -0
- package/dist/chunks/{icon.component-Bmtf4XKw.js.map → icon.component-CzjzLiO_.js.map} +1 -1
- package/dist/chunks/{icon.component-B-BWWGO3.js → icon.component-w5bWbfVU.js} +2 -2
- package/dist/chunks/{icon.component-B-BWWGO3.js.map → icon.component-w5bWbfVU.js.map} +1 -1
- package/dist/chunks/{link.component-DZnXQz1W.js → link.component-Cmdnhc-F.js} +2 -2
- package/dist/chunks/{link.component-DZnXQz1W.js.map → link.component-Cmdnhc-F.js.map} +1 -1
- package/dist/chunks/{link.component-COhBuuX3.js → link.component-DGC1Xu5B.js} +2 -2
- package/dist/chunks/{link.component-COhBuuX3.js.map → link.component-DGC1Xu5B.js.map} +1 -1
- package/dist/chunks/{menu.component-BEj878EN.js → menu.component-BCRZgrRr.js} +2 -2
- package/dist/chunks/{menu.component-BEj878EN.js.map → menu.component-BCRZgrRr.js.map} +1 -1
- package/dist/chunks/{menu.component-CR9SH_jk.js → menu.component-Bscyjw7R.js} +5 -5
- package/dist/chunks/{menu.component-CR9SH_jk.js.map → menu.component-Bscyjw7R.js.map} +1 -1
- package/dist/chunks/{modal.types-ChWBgALC.js → modal.types-BfXHtZ4i.js} +2 -2
- package/dist/chunks/{modal.types-ChWBgALC.js.map → modal.types-BfXHtZ4i.js.map} +1 -1
- package/dist/chunks/{modal.types-CofEmV4v.js → modal.types-CELCFObr.js} +2 -2
- package/dist/chunks/{modal.types-CofEmV4v.js.map → modal.types-CELCFObr.js.map} +1 -1
- package/dist/chunks/{popover.component-CzYfOF7z.js → popover.component-CW5KsTYh.js} +2 -2
- package/dist/chunks/{popover.component-CzYfOF7z.js.map → popover.component-CW5KsTYh.js.map} +1 -1
- package/dist/chunks/{popover.component-C1e_jTLD.js → popover.component-CzKeBedr.js} +2 -2
- package/dist/chunks/{popover.component-C1e_jTLD.js.map → popover.component-CzKeBedr.js.map} +1 -1
- package/dist/chunks/{radioGroup.component-B1ZdhI8z.js → radioGroup.component-DP9JgY1J.js} +2 -2
- package/dist/chunks/radioGroup.component-DP9JgY1J.js.map +1 -0
- package/dist/chunks/{radioGroup.component-CsmHziwM.js → radioGroup.component-kn8czn3N.js} +3 -3
- package/dist/chunks/radioGroup.component-kn8czn3N.js.map +1 -0
- package/dist/chunks/{ratingDots.component-DFHojz_X.js → ratingDots.component-D0FX80wA.js} +2 -2
- package/dist/chunks/{ratingDots.component-DFHojz_X.js.map → ratingDots.component-D0FX80wA.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-HugaFu0D.js → ratingDots.component-D5-xY2db.js} +2 -2
- package/dist/chunks/{ratingDots.component-HugaFu0D.js.map → ratingDots.component-D5-xY2db.js.map} +1 -1
- package/dist/chunks/{select.component-h5lPMmWB.js → select.component-CQQ4z--7.js} +2 -2
- package/dist/chunks/{select.component-h5lPMmWB.js.map → select.component-CQQ4z--7.js.map} +1 -1
- package/dist/chunks/{select.component-HI7aJx11.js → select.component-CqvAx7vP.js} +4 -4
- package/dist/chunks/{select.component-HI7aJx11.js.map → select.component-CqvAx7vP.js.map} +1 -1
- package/dist/chunks/{sortableList.component-B2hSRuex.js → sortableList.component-DcjKdsDK.js} +2 -2
- package/dist/chunks/{sortableList.component-B2hSRuex.js.map → sortableList.component-DcjKdsDK.js.map} +1 -1
- package/dist/chunks/{sortableList.component-DAIHsGEA.js → sortableList.component-_DXfCTac.js} +2 -2
- package/dist/chunks/{sortableList.component-DAIHsGEA.js.map → sortableList.component-_DXfCTac.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-DbSO8s7o.js → styledAvatar.types-ByQoyukM.js} +2 -2
- package/dist/chunks/{styledAvatar.types-DbSO8s7o.js.map → styledAvatar.types-ByQoyukM.js.map} +1 -1
- package/dist/chunks/{styledAvatar.types-Cj3j5vXC.js → styledAvatar.types-CpU5SOAS.js} +2 -2
- package/dist/chunks/{styledAvatar.types-Cj3j5vXC.js.map → styledAvatar.types-CpU5SOAS.js.map} +1 -1
- package/dist/chunks/{switch.component-B1fXLRiO.js → switch.component-C9WMHurt.js} +2 -2
- package/dist/chunks/{switch.component-B1fXLRiO.js.map → switch.component-C9WMHurt.js.map} +1 -1
- package/dist/chunks/{switch.component-PH9nS7eN.js → switch.component-diomUHZW.js} +2 -2
- package/dist/chunks/{switch.component-PH9nS7eN.js.map → switch.component-diomUHZW.js.map} +1 -1
- package/dist/chunks/{tabs.component-DaUZITBw.js → tabs.component-Bp1Lu8Xb.js} +2 -2
- package/dist/chunks/{tabs.component-DaUZITBw.js.map → tabs.component-Bp1Lu8Xb.js.map} +1 -1
- package/dist/chunks/{tabs.component-6iPTLCx6.js → tabs.component-D6QT597P.js} +2 -2
- package/dist/chunks/{tabs.component-6iPTLCx6.js.map → tabs.component-D6QT597P.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-Ch60_R7X.js → tagBlock.component-B99Qzj2K.js} +3 -3
- package/dist/chunks/{tagBlock.component-Ch60_R7X.js.map → tagBlock.component-B99Qzj2K.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-Bx_hcjU4.js → tagBlock.component-BKnmbWil.js} +2 -2
- package/dist/chunks/{tagBlock.component-Bx_hcjU4.js.map → tagBlock.component-BKnmbWil.js.map} +1 -1
- package/dist/chunks/{textInput.component-CdPvTnhj.js → textInput.component-BalBo9uP.js} +2 -2
- package/dist/chunks/{textInput.component-CdPvTnhj.js.map → textInput.component-BalBo9uP.js.map} +1 -1
- package/dist/chunks/{textInput.component-LjDvSnBy.js → textInput.component-K4f7h4pP.js} +3 -3
- package/dist/chunks/{textInput.component-LjDvSnBy.js.map → textInput.component-K4f7h4pP.js.map} +1 -1
- package/dist/chunks/{textarea.component-CKEdjCAq.js → textarea.component-8tjcO0T7.js} +2 -2
- package/dist/chunks/{textarea.component-CKEdjCAq.js.map → textarea.component-8tjcO0T7.js.map} +1 -1
- package/dist/chunks/{textarea.component-C7l9zJKx.js → textarea.component-Cmbax8lT.js} +2 -2
- package/dist/chunks/{textarea.component-C7l9zJKx.js.map → textarea.component-Cmbax8lT.js.map} +1 -1
- package/dist/chunks/{timePicker.component-BLYPjS1u.js → timePicker.component-BwYdnFmw.js} +2 -2
- package/dist/chunks/{timePicker.component-BLYPjS1u.js.map → timePicker.component-BwYdnFmw.js.map} +1 -1
- package/dist/chunks/{timePicker.component-DFT36RN_.js → timePicker.component-DGKUi5P9.js} +4 -4
- package/dist/chunks/{timePicker.component-DFT36RN_.js.map → timePicker.component-DGKUi5P9.js.map} +1 -1
- package/dist/chunks/{timeRange.component-CzJjkQzN.js → timeRange.component-BhDFpXK-.js} +2 -2
- package/dist/chunks/{timeRange.component-CzJjkQzN.js.map → timeRange.component-BhDFpXK-.js.map} +1 -1
- package/dist/chunks/{timeRange.component-KETq7cDb.js → timeRange.component-uYrO4YEs.js} +2 -2
- package/dist/chunks/{timeRange.component-KETq7cDb.js.map → timeRange.component-uYrO4YEs.js.map} +1 -1
- package/dist/chunks/{withFormControl-C7uVEpxe.js → withFormControl-BJSHfbF_.js} +2 -2
- package/dist/chunks/{withFormControl-C7uVEpxe.js.map → withFormControl-BJSHfbF_.js.map} +1 -1
- package/dist/chunks/{withFormControl-DSNvvAPD.js → withFormControl-CDQGc9aO.js} +2 -2
- package/dist/chunks/{withFormControl-DSNvvAPD.js.map → withFormControl-CDQGc9aO.js.map} +1 -1
- package/dist/cjs/cli/generate-theme-types.cjs +6 -0
- package/dist/cjs/cli/generate-theme-types.cjs.map +1 -0
- package/dist/cjs/cli/postinstall.cjs +3 -0
- package/dist/cjs/cli/postinstall.cjs.map +1 -0
- package/dist/cjs/components/Alert.cjs +2 -0
- package/dist/cjs/components/Alert.cjs.map +1 -0
- package/dist/cjs/components/Avatar.cjs +2 -0
- package/dist/cjs/components/Avatar.cjs.map +1 -0
- package/dist/cjs/components/AvatarGroup.cjs +2 -0
- package/dist/cjs/components/AvatarGroup.cjs.map +1 -0
- package/dist/cjs/components/Button.cjs +2 -0
- package/dist/cjs/components/Button.cjs.map +1 -0
- package/dist/cjs/components/ButtonGroup.cjs +2 -0
- package/dist/cjs/components/ButtonGroup.cjs.map +1 -0
- package/dist/cjs/components/Card.cjs +2 -0
- package/dist/cjs/components/Card.cjs.map +1 -0
- package/dist/cjs/components/CharacterCounter.cjs +2 -0
- package/dist/cjs/components/CharacterCounter.cjs.map +1 -0
- package/dist/cjs/components/Checkbox.cjs +2 -0
- package/dist/cjs/components/Checkbox.cjs.map +1 -0
- package/dist/cjs/components/CheckboxGroup.cjs +2 -0
- package/dist/cjs/components/CheckboxGroup.cjs.map +1 -0
- package/dist/cjs/components/DatePicker.cjs +2 -0
- package/dist/cjs/components/DatePicker.cjs.map +1 -0
- package/dist/cjs/components/Heading.cjs +2 -0
- package/dist/cjs/components/Heading.cjs.map +1 -0
- package/dist/cjs/components/Icon/generated.cjs +2 -0
- package/dist/cjs/components/Icon/generated.cjs.map +1 -0
- package/dist/cjs/components/Icon.cjs +2 -0
- package/dist/cjs/components/Icon.cjs.map +1 -0
- package/dist/cjs/components/Link.cjs +2 -0
- package/dist/cjs/components/Link.cjs.map +1 -0
- package/dist/cjs/components/Menu.cjs +2 -0
- package/dist/cjs/components/Menu.cjs.map +1 -0
- package/dist/cjs/components/Modal.cjs +2 -0
- package/dist/cjs/components/Modal.cjs.map +1 -0
- package/dist/cjs/components/NotificationCounter.cjs +2 -0
- package/dist/cjs/components/NotificationCounter.cjs.map +1 -0
- package/dist/cjs/components/Picture.cjs +2 -0
- package/dist/{esm/components/Picture/index.js.map → cjs/components/Picture.cjs.map} +1 -1
- package/dist/cjs/components/Popover.cjs +2 -0
- package/dist/cjs/components/Popover.cjs.map +1 -0
- package/dist/cjs/components/RadioGroup.cjs +2 -0
- package/dist/cjs/components/RadioGroup.cjs.map +1 -0
- package/dist/cjs/components/RatingDots.cjs +2 -0
- package/dist/cjs/components/RatingDots.cjs.map +1 -0
- package/dist/cjs/components/Select.cjs +2 -0
- package/dist/cjs/components/Select.cjs.map +1 -0
- package/dist/cjs/components/SortableList.cjs +2 -0
- package/dist/cjs/components/SortableList.cjs.map +1 -0
- package/dist/cjs/components/Spinner.cjs +2 -0
- package/dist/cjs/components/Spinner.cjs.map +1 -0
- package/dist/cjs/components/Swatch.cjs +2 -0
- package/dist/cjs/components/Swatch.cjs.map +1 -0
- package/dist/cjs/components/Switch.cjs +2 -0
- package/dist/cjs/components/Switch.cjs.map +1 -0
- package/dist/cjs/components/Tabs.cjs +2 -0
- package/dist/cjs/components/Tabs.cjs.map +1 -0
- package/dist/cjs/components/Tag.cjs +2 -0
- package/dist/cjs/components/Tag.cjs.map +1 -0
- package/dist/cjs/components/Text.cjs +2 -0
- package/dist/cjs/components/Text.cjs.map +1 -0
- package/dist/cjs/components/TextInput.cjs +2 -0
- package/dist/cjs/components/TextInput.cjs.map +1 -0
- package/dist/cjs/components/Textarea.cjs +2 -0
- package/dist/cjs/components/Textarea.cjs.map +1 -0
- package/dist/cjs/components/TimePicker.cjs +2 -0
- package/dist/cjs/components/TimePicker.cjs.map +1 -0
- package/dist/cjs/components/TimeRange.cjs +2 -0
- package/dist/cjs/components/TimeRange.cjs.map +1 -0
- package/dist/cjs/components/Tooltip.cjs +2 -0
- package/dist/cjs/components/Tooltip.cjs.map +1 -0
- package/dist/cjs/components.cjs +2 -0
- package/dist/cjs/components.cjs.map +1 -0
- package/dist/cjs/hocs.cjs +2 -0
- package/dist/cjs/hocs.cjs.map +1 -0
- package/dist/cjs/hooks.cjs +2 -0
- package/dist/cjs/hooks.cjs.map +1 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/patterns/ConversationCard.cjs +2 -0
- package/dist/cjs/patterns/ConversationCard.cjs.map +1 -0
- package/dist/cjs/patterns/StyledAvatar.cjs +2 -0
- package/dist/cjs/patterns/StyledAvatar.cjs.map +1 -0
- package/dist/cjs/patterns/TagBlock.cjs +2 -0
- package/dist/cjs/patterns/TagBlock.cjs.map +1 -0
- package/dist/cjs/patterns/Timestamp.cjs +2 -0
- package/dist/cjs/patterns/Timestamp.cjs.map +1 -0
- package/dist/cjs/patterns.cjs +2 -0
- package/dist/cjs/patterns.cjs.map +1 -0
- package/dist/cjs/shared/{types/index.cjs → types.cjs} +1 -1
- package/dist/cjs/shared/types.cjs.map +1 -0
- package/dist/cjs/theme/{semanticTokens/index.cjs → semanticTokens.cjs} +1 -1
- package/dist/cjs/theme/semanticTokens.cjs.map +1 -0
- package/dist/cjs/theme/tokens/blurs.cjs +2 -0
- package/dist/cjs/theme/tokens/blurs.cjs.map +1 -0
- package/dist/cjs/theme/tokens/borders.cjs +2 -0
- package/dist/cjs/theme/tokens/borders.cjs.map +1 -0
- package/dist/cjs/theme/tokens/{colors/index.cjs → colors.cjs} +1 -1
- package/dist/cjs/theme/tokens/colors.cjs.map +1 -0
- package/dist/cjs/theme/tokens/shadows.cjs +2 -0
- package/dist/cjs/theme/tokens/shadows.cjs.map +1 -0
- package/dist/cjs/theme/tokens/sizes.cjs +2 -0
- package/dist/cjs/theme/tokens/sizes.cjs.map +1 -0
- package/dist/cjs/theme/tokens/spacing.cjs +2 -0
- package/dist/cjs/theme/tokens/spacing.cjs.map +1 -0
- package/dist/cjs/theme/tokens/transitions.cjs +2 -0
- package/dist/cjs/theme/tokens/transitions.cjs.map +1 -0
- package/dist/cjs/theme/tokens/typography.cjs +2 -0
- package/dist/cjs/theme/tokens/typography.cjs.map +1 -0
- package/dist/cjs/theme/tokens/zIndices.cjs +2 -0
- package/dist/cjs/theme/tokens/zIndices.cjs.map +1 -0
- package/dist/cjs/theme/tokens.cjs +2 -0
- package/dist/cjs/theme/tokens.cjs.map +1 -0
- package/dist/cjs/theme.cjs +24 -0
- package/dist/cjs/theme.cjs.map +1 -0
- package/dist/esm/cli/generate-theme-types.js +22 -0
- package/dist/esm/cli/generate-theme-types.js.map +1 -0
- package/dist/esm/cli/postinstall.js +21 -0
- package/dist/esm/cli/postinstall.js.map +1 -0
- package/dist/esm/components/Alert.js +6 -0
- package/dist/esm/components/Alert.js.map +1 -0
- package/dist/esm/components/Avatar.js +8 -0
- package/dist/esm/components/Avatar.js.map +1 -0
- package/dist/esm/components/AvatarGroup.js +5 -0
- package/dist/esm/components/AvatarGroup.js.map +1 -0
- package/dist/esm/components/Button.js +11 -0
- package/dist/esm/components/Button.js.map +1 -0
- package/dist/esm/components/ButtonGroup.js +5 -0
- package/dist/esm/components/ButtonGroup.js.map +1 -0
- package/dist/esm/components/Card.js +7 -0
- package/dist/esm/components/Card.js.map +1 -0
- package/dist/esm/components/CharacterCounter.js +5 -0
- package/dist/esm/components/CharacterCounter.js.map +1 -0
- package/dist/esm/components/Checkbox.js +5 -0
- package/dist/esm/components/Checkbox.js.map +1 -0
- package/dist/esm/components/CheckboxGroup.js +5 -0
- package/dist/esm/components/CheckboxGroup.js.map +1 -0
- package/dist/esm/components/DatePicker.js +6 -0
- package/dist/esm/components/DatePicker.js.map +1 -0
- package/dist/esm/components/Heading.js +5 -0
- package/dist/esm/components/Heading.js.map +1 -0
- package/dist/esm/components/Icon/{generated/index.js → generated.js} +2 -2
- package/dist/esm/components/Icon/generated.js.map +1 -0
- package/dist/esm/components/Icon.js +7 -0
- package/dist/esm/components/Icon.js.map +1 -0
- package/dist/esm/components/Link.js +5 -0
- package/dist/esm/components/Link.js.map +1 -0
- package/dist/esm/components/Menu.js +5 -0
- package/dist/esm/components/Menu.js.map +1 -0
- package/dist/esm/components/Modal.js +9 -0
- package/dist/esm/components/Modal.js.map +1 -0
- package/dist/esm/components/{NotificationCounter/index.js → NotificationCounter.js} +2 -2
- package/dist/esm/components/NotificationCounter.js.map +1 -0
- package/dist/esm/components/{Picture/index.js → Picture.js} +3 -3
- package/dist/esm/components/Picture.js.map +1 -0
- package/dist/esm/components/Popover.js +9 -0
- package/dist/esm/components/Popover.js.map +1 -0
- package/dist/esm/components/RadioGroup.js +5 -0
- package/dist/esm/components/RadioGroup.js.map +1 -0
- package/dist/esm/components/RatingDots.js +5 -0
- package/dist/esm/components/RatingDots.js.map +1 -0
- package/dist/esm/components/Select.js +5 -0
- package/dist/esm/components/Select.js.map +1 -0
- package/dist/esm/components/SortableList.js +5 -0
- package/dist/esm/components/SortableList.js.map +1 -0
- package/dist/esm/components/Spinner.js +7 -0
- package/dist/esm/components/Spinner.js.map +1 -0
- package/dist/esm/components/{Swatch/index.js → Swatch.js} +3 -3
- package/dist/esm/components/Swatch.js.map +1 -0
- package/dist/esm/components/Switch.js +5 -0
- package/dist/esm/components/Switch.js.map +1 -0
- package/dist/esm/components/Tabs.js +5 -0
- package/dist/esm/components/Tabs.js.map +1 -0
- package/dist/esm/components/Tag.js +8 -0
- package/dist/esm/components/Tag.js.map +1 -0
- package/dist/esm/components/Text.js +5 -0
- package/dist/esm/components/Text.js.map +1 -0
- package/dist/esm/components/TextInput.js +5 -0
- package/dist/esm/components/TextInput.js.map +1 -0
- package/dist/esm/components/Textarea.js +5 -0
- package/dist/esm/components/Textarea.js.map +1 -0
- package/dist/esm/components/TimePicker.js +6 -0
- package/dist/esm/components/TimePicker.js.map +1 -0
- package/dist/esm/components/TimeRange.js +5 -0
- package/dist/esm/components/TimeRange.js.map +1 -0
- package/dist/esm/components/Tooltip.js +5 -0
- package/dist/esm/components/Tooltip.js.map +1 -0
- package/dist/esm/components.js +102 -0
- package/dist/esm/components.js.map +1 -0
- package/dist/esm/{hocs/index.js → hocs.js} +3 -3
- package/dist/esm/hocs.js.map +1 -0
- package/dist/esm/{hooks/index.js → hooks.js} +2 -2
- package/dist/esm/hooks.js.map +1 -0
- package/dist/esm/index.js +59 -62
- package/dist/esm/patterns/ConversationCard.js +5 -0
- package/dist/esm/patterns/ConversationCard.js.map +1 -0
- package/dist/esm/patterns/StyledAvatar.js +6 -0
- package/dist/esm/patterns/StyledAvatar.js.map +1 -0
- package/dist/esm/patterns/TagBlock.js +6 -0
- package/dist/esm/patterns/TagBlock.js.map +1 -0
- package/dist/esm/patterns/Timestamp.js +5 -0
- package/dist/esm/patterns/Timestamp.js.map +1 -0
- package/dist/esm/patterns.js +13 -0
- package/dist/esm/patterns.js.map +1 -0
- package/dist/esm/shared/{types/index.js → types.js} +1 -1
- package/dist/esm/shared/types.js.map +1 -0
- package/dist/esm/theme/{semanticTokens/index.js → semanticTokens.js} +1 -1
- package/dist/esm/theme/semanticTokens.js.map +1 -0
- package/dist/esm/theme/tokens/blurs.js +2 -0
- package/dist/esm/theme/tokens/blurs.js.map +1 -0
- package/dist/esm/theme/tokens/borders.js +2 -0
- package/dist/esm/theme/tokens/borders.js.map +1 -0
- package/dist/esm/theme/tokens/{colors/index.js → colors.js} +1 -1
- package/dist/esm/theme/tokens/colors.js.map +1 -0
- package/dist/esm/theme/tokens/shadows.js +2 -0
- package/dist/esm/theme/tokens/shadows.js.map +1 -0
- package/dist/esm/theme/tokens/sizes.js +2 -0
- package/dist/esm/theme/tokens/sizes.js.map +1 -0
- package/dist/esm/theme/tokens/spacing.js +2 -0
- package/dist/esm/theme/tokens/spacing.js.map +1 -0
- package/dist/esm/theme/tokens/transitions.js +2 -0
- package/dist/esm/theme/tokens/transitions.js.map +1 -0
- package/dist/esm/theme/tokens/typography.js +2 -0
- package/dist/esm/theme/tokens/typography.js.map +1 -0
- package/dist/esm/theme/tokens/zIndices.js +2 -0
- package/dist/esm/theme/tokens/zIndices.js.map +1 -0
- package/dist/esm/theme/tokens.js +5 -0
- package/dist/esm/theme/tokens.js.map +1 -0
- package/dist/esm/{theme/index.js → theme.js} +10 -13
- package/dist/esm/theme.js.map +1 -0
- package/dist/types/cli/generate-theme-types.d.ts +2 -0
- package/dist/types/cli/postinstall.d.ts +2 -0
- package/dist/types/theme/index.d.ts +0 -3
- package/dist/types/theme/providers/theme.provider.d.ts +0 -7
- package/package.json +10 -5
- package/dist/chunks/icon.component-Bmtf4XKw.js +0 -2
- package/dist/chunks/radioGroup.component-B1ZdhI8z.js.map +0 -1
- package/dist/chunks/radioGroup.component-CsmHziwM.js.map +0 -1
- package/dist/cjs/components/Alert/index.cjs +0 -2
- package/dist/cjs/components/Alert/index.cjs.map +0 -1
- package/dist/cjs/components/Avatar/index.cjs +0 -2
- package/dist/cjs/components/Avatar/index.cjs.map +0 -1
- package/dist/cjs/components/AvatarGroup/index.cjs +0 -2
- package/dist/cjs/components/AvatarGroup/index.cjs.map +0 -1
- package/dist/cjs/components/Button/index.cjs +0 -2
- package/dist/cjs/components/Button/index.cjs.map +0 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +0 -2
- package/dist/cjs/components/ButtonGroup/index.cjs.map +0 -1
- package/dist/cjs/components/Card/index.cjs +0 -2
- package/dist/cjs/components/Card/index.cjs.map +0 -1
- package/dist/cjs/components/CharacterCounter/index.cjs +0 -2
- package/dist/cjs/components/CharacterCounter/index.cjs.map +0 -1
- package/dist/cjs/components/Checkbox/index.cjs +0 -2
- package/dist/cjs/components/Checkbox/index.cjs.map +0 -1
- package/dist/cjs/components/CheckboxGroup/index.cjs +0 -2
- package/dist/cjs/components/CheckboxGroup/index.cjs.map +0 -1
- package/dist/cjs/components/DatePicker/index.cjs +0 -2
- package/dist/cjs/components/DatePicker/index.cjs.map +0 -1
- package/dist/cjs/components/Heading/index.cjs +0 -2
- package/dist/cjs/components/Heading/index.cjs.map +0 -1
- package/dist/cjs/components/Icon/generated/index.cjs +0 -2
- package/dist/cjs/components/Icon/generated/index.cjs.map +0 -1
- package/dist/cjs/components/Icon/index.cjs +0 -2
- package/dist/cjs/components/Icon/index.cjs.map +0 -1
- package/dist/cjs/components/Link/index.cjs +0 -2
- package/dist/cjs/components/Link/index.cjs.map +0 -1
- package/dist/cjs/components/Menu/index.cjs +0 -2
- package/dist/cjs/components/Menu/index.cjs.map +0 -1
- package/dist/cjs/components/Modal/index.cjs +0 -2
- package/dist/cjs/components/Modal/index.cjs.map +0 -1
- package/dist/cjs/components/NotificationCounter/index.cjs +0 -2
- package/dist/cjs/components/NotificationCounter/index.cjs.map +0 -1
- package/dist/cjs/components/Picture/index.cjs +0 -2
- package/dist/cjs/components/Picture/index.cjs.map +0 -1
- package/dist/cjs/components/Popover/index.cjs +0 -2
- package/dist/cjs/components/Popover/index.cjs.map +0 -1
- package/dist/cjs/components/RadioGroup/index.cjs +0 -2
- package/dist/cjs/components/RadioGroup/index.cjs.map +0 -1
- package/dist/cjs/components/RatingDots/index.cjs +0 -2
- package/dist/cjs/components/RatingDots/index.cjs.map +0 -1
- package/dist/cjs/components/Select/index.cjs +0 -2
- package/dist/cjs/components/Select/index.cjs.map +0 -1
- package/dist/cjs/components/SortableList/index.cjs +0 -2
- package/dist/cjs/components/SortableList/index.cjs.map +0 -1
- package/dist/cjs/components/Spinner/index.cjs +0 -2
- package/dist/cjs/components/Spinner/index.cjs.map +0 -1
- package/dist/cjs/components/Swatch/index.cjs +0 -2
- package/dist/cjs/components/Swatch/index.cjs.map +0 -1
- package/dist/cjs/components/Switch/index.cjs +0 -2
- package/dist/cjs/components/Switch/index.cjs.map +0 -1
- package/dist/cjs/components/Tabs/index.cjs +0 -2
- package/dist/cjs/components/Tabs/index.cjs.map +0 -1
- package/dist/cjs/components/Tag/index.cjs +0 -2
- package/dist/cjs/components/Tag/index.cjs.map +0 -1
- package/dist/cjs/components/Text/index.cjs +0 -2
- package/dist/cjs/components/Text/index.cjs.map +0 -1
- package/dist/cjs/components/TextInput/index.cjs +0 -2
- package/dist/cjs/components/TextInput/index.cjs.map +0 -1
- package/dist/cjs/components/Textarea/index.cjs +0 -2
- package/dist/cjs/components/Textarea/index.cjs.map +0 -1
- package/dist/cjs/components/TimePicker/index.cjs +0 -2
- package/dist/cjs/components/TimePicker/index.cjs.map +0 -1
- package/dist/cjs/components/TimeRange/index.cjs +0 -2
- package/dist/cjs/components/TimeRange/index.cjs.map +0 -1
- package/dist/cjs/components/Tooltip/index.cjs +0 -2
- package/dist/cjs/components/Tooltip/index.cjs.map +0 -1
- package/dist/cjs/components/index.cjs +0 -2
- package/dist/cjs/components/index.cjs.map +0 -1
- package/dist/cjs/hocs/index.cjs +0 -2
- package/dist/cjs/hocs/index.cjs.map +0 -1
- package/dist/cjs/hooks/index.cjs +0 -2
- package/dist/cjs/hooks/index.cjs.map +0 -1
- package/dist/cjs/patterns/ConversationCard/index.cjs +0 -2
- package/dist/cjs/patterns/ConversationCard/index.cjs.map +0 -1
- package/dist/cjs/patterns/StyledAvatar/index.cjs +0 -2
- package/dist/cjs/patterns/StyledAvatar/index.cjs.map +0 -1
- package/dist/cjs/patterns/TagBlock/index.cjs +0 -2
- package/dist/cjs/patterns/TagBlock/index.cjs.map +0 -1
- package/dist/cjs/patterns/Timestamp/index.cjs +0 -2
- package/dist/cjs/patterns/Timestamp/index.cjs.map +0 -1
- package/dist/cjs/patterns/index.cjs +0 -2
- package/dist/cjs/patterns/index.cjs.map +0 -1
- package/dist/cjs/shared/types/index.cjs.map +0 -1
- package/dist/cjs/theme/index.cjs +0 -24
- package/dist/cjs/theme/index.cjs.map +0 -1
- package/dist/cjs/theme/semanticTokens/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/blurs/index.cjs +0 -2
- package/dist/cjs/theme/tokens/blurs/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/borders/index.cjs +0 -2
- package/dist/cjs/theme/tokens/borders/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/colors/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/index.cjs +0 -2
- package/dist/cjs/theme/tokens/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/shadows/index.cjs +0 -2
- package/dist/cjs/theme/tokens/shadows/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/sizes/index.cjs +0 -2
- package/dist/cjs/theme/tokens/sizes/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/spacing/index.cjs +0 -2
- package/dist/cjs/theme/tokens/spacing/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/transitions/index.cjs +0 -2
- package/dist/cjs/theme/tokens/transitions/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/typography/index.cjs +0 -2
- package/dist/cjs/theme/tokens/typography/index.cjs.map +0 -1
- package/dist/cjs/theme/tokens/zIndices/index.cjs +0 -2
- package/dist/cjs/theme/tokens/zIndices/index.cjs.map +0 -1
- package/dist/esm/components/Alert/index.js +0 -6
- package/dist/esm/components/Alert/index.js.map +0 -1
- package/dist/esm/components/Avatar/index.js +0 -8
- package/dist/esm/components/Avatar/index.js.map +0 -1
- package/dist/esm/components/AvatarGroup/index.js +0 -5
- package/dist/esm/components/AvatarGroup/index.js.map +0 -1
- package/dist/esm/components/Button/index.js +0 -11
- package/dist/esm/components/Button/index.js.map +0 -1
- package/dist/esm/components/ButtonGroup/index.js +0 -5
- package/dist/esm/components/ButtonGroup/index.js.map +0 -1
- package/dist/esm/components/Card/index.js +0 -7
- package/dist/esm/components/Card/index.js.map +0 -1
- package/dist/esm/components/CharacterCounter/index.js +0 -5
- package/dist/esm/components/CharacterCounter/index.js.map +0 -1
- package/dist/esm/components/Checkbox/index.js +0 -5
- package/dist/esm/components/Checkbox/index.js.map +0 -1
- package/dist/esm/components/CheckboxGroup/index.js +0 -5
- package/dist/esm/components/CheckboxGroup/index.js.map +0 -1
- package/dist/esm/components/DatePicker/index.js +0 -6
- package/dist/esm/components/DatePicker/index.js.map +0 -1
- package/dist/esm/components/Heading/index.js +0 -5
- package/dist/esm/components/Heading/index.js.map +0 -1
- package/dist/esm/components/Icon/generated/index.js.map +0 -1
- package/dist/esm/components/Icon/index.js +0 -7
- package/dist/esm/components/Icon/index.js.map +0 -1
- package/dist/esm/components/Link/index.js +0 -5
- package/dist/esm/components/Link/index.js.map +0 -1
- package/dist/esm/components/Menu/index.js +0 -5
- package/dist/esm/components/Menu/index.js.map +0 -1
- package/dist/esm/components/Modal/index.js +0 -9
- package/dist/esm/components/Modal/index.js.map +0 -1
- package/dist/esm/components/NotificationCounter/index.js.map +0 -1
- package/dist/esm/components/Popover/index.js +0 -9
- package/dist/esm/components/Popover/index.js.map +0 -1
- package/dist/esm/components/RadioGroup/index.js +0 -5
- package/dist/esm/components/RadioGroup/index.js.map +0 -1
- package/dist/esm/components/RatingDots/index.js +0 -5
- package/dist/esm/components/RatingDots/index.js.map +0 -1
- package/dist/esm/components/Select/index.js +0 -5
- package/dist/esm/components/Select/index.js.map +0 -1
- package/dist/esm/components/SortableList/index.js +0 -5
- package/dist/esm/components/SortableList/index.js.map +0 -1
- package/dist/esm/components/Spinner/index.js +0 -7
- package/dist/esm/components/Spinner/index.js.map +0 -1
- package/dist/esm/components/Swatch/index.js.map +0 -1
- package/dist/esm/components/Switch/index.js +0 -5
- package/dist/esm/components/Switch/index.js.map +0 -1
- package/dist/esm/components/Tabs/index.js +0 -5
- package/dist/esm/components/Tabs/index.js.map +0 -1
- package/dist/esm/components/Tag/index.js +0 -8
- package/dist/esm/components/Tag/index.js.map +0 -1
- package/dist/esm/components/Text/index.js +0 -5
- package/dist/esm/components/Text/index.js.map +0 -1
- package/dist/esm/components/TextInput/index.js +0 -5
- package/dist/esm/components/TextInput/index.js.map +0 -1
- package/dist/esm/components/Textarea/index.js +0 -5
- package/dist/esm/components/Textarea/index.js.map +0 -1
- package/dist/esm/components/TimePicker/index.js +0 -6
- package/dist/esm/components/TimePicker/index.js.map +0 -1
- package/dist/esm/components/TimeRange/index.js +0 -5
- package/dist/esm/components/TimeRange/index.js.map +0 -1
- package/dist/esm/components/Tooltip/index.js +0 -5
- package/dist/esm/components/Tooltip/index.js.map +0 -1
- package/dist/esm/components/index.js +0 -102
- package/dist/esm/components/index.js.map +0 -1
- package/dist/esm/hocs/index.js.map +0 -1
- package/dist/esm/hooks/index.js.map +0 -1
- package/dist/esm/patterns/ConversationCard/index.js +0 -5
- package/dist/esm/patterns/ConversationCard/index.js.map +0 -1
- package/dist/esm/patterns/StyledAvatar/index.js +0 -6
- package/dist/esm/patterns/StyledAvatar/index.js.map +0 -1
- package/dist/esm/patterns/TagBlock/index.js +0 -6
- package/dist/esm/patterns/TagBlock/index.js.map +0 -1
- package/dist/esm/patterns/Timestamp/index.js +0 -5
- package/dist/esm/patterns/Timestamp/index.js.map +0 -1
- package/dist/esm/patterns/index.js +0 -13
- package/dist/esm/patterns/index.js.map +0 -1
- package/dist/esm/shared/types/index.js.map +0 -1
- package/dist/esm/theme/index.js.map +0 -1
- package/dist/esm/theme/semanticTokens/index.js.map +0 -1
- package/dist/esm/theme/tokens/blurs/index.js +0 -2
- package/dist/esm/theme/tokens/blurs/index.js.map +0 -1
- package/dist/esm/theme/tokens/borders/index.js +0 -2
- package/dist/esm/theme/tokens/borders/index.js.map +0 -1
- package/dist/esm/theme/tokens/colors/index.js.map +0 -1
- package/dist/esm/theme/tokens/index.js +0 -5
- package/dist/esm/theme/tokens/index.js.map +0 -1
- package/dist/esm/theme/tokens/shadows/index.js +0 -2
- package/dist/esm/theme/tokens/shadows/index.js.map +0 -1
- package/dist/esm/theme/tokens/sizes/index.js +0 -2
- package/dist/esm/theme/tokens/sizes/index.js.map +0 -1
- package/dist/esm/theme/tokens/spacing/index.js +0 -2
- package/dist/esm/theme/tokens/spacing/index.js.map +0 -1
- package/dist/esm/theme/tokens/transitions/index.js +0 -2
- package/dist/esm/theme/tokens/transitions/index.js.map +0 -1
- package/dist/esm/theme/tokens/typography/index.js +0 -2
- package/dist/esm/theme/tokens/typography/index.js.map +0 -1
- package/dist/esm/theme/tokens/zIndices/index.js +0 -2
- package/dist/esm/theme/tokens/zIndices/index.js.map +0 -1
- package/dist/types/theme/theme.types.d.ts +0 -25
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { x as e, bU as te, bP as se } from "./vendor-BBfll6i3.js";
|
|
2
2
|
import ne, { useCallback as g, useState as V, useMemo as v } from "react";
|
|
3
|
-
import { B as N } from "./button.component-
|
|
4
|
-
import { I as D } from "./icon.component-
|
|
3
|
+
import { B as N } from "./button.component-CA9bIFbq.js";
|
|
4
|
+
import { I as D } from "./icon.component-w5bWbfVU.js";
|
|
5
5
|
import { W as T } from "./text.component-XYjOAc2s.js";
|
|
6
6
|
import { F as k, at as ae, au as le, av as ce, B as I, aw as re, ax as oe, ay as ue, az as ie, aA as de, aB as me } from "./chakra-BqBkjpvZ.js";
|
|
7
|
-
import { W as he } from "./textInput.component-
|
|
7
|
+
import { W as he } from "./textInput.component-K4f7h4pP.js";
|
|
8
8
|
import { S as xe } from "./spinner.component-D5tkelNc.js";
|
|
9
|
-
import { W as be } from "./checkbox.component-
|
|
9
|
+
import { W as be } from "./checkbox.component-BN9GeeiB.js";
|
|
10
10
|
const pe = ({
|
|
11
11
|
hideCaret: n = !1,
|
|
12
12
|
size: a = "md",
|
|
@@ -387,4 +387,4 @@ const pe = ({
|
|
|
387
387
|
export {
|
|
388
388
|
je as M
|
|
389
389
|
};
|
|
390
|
-
//# sourceMappingURL=menu.component-
|
|
390
|
+
//# sourceMappingURL=menu.component-Bscyjw7R.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.component-CR9SH_jk.js","sources":["../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, \"buttonProps\"> {\n type: \"submenu\";\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n {...rest}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={rest.closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const { selected, value, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps extends Omit<CMenu.RootProps, \"children\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n } else {\n if (searchInput === \"\" || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText\n ?.toLowerCase()\n .includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearch],\n );\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={(): void => {\n setSearchText(\"\");\n handleSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","jsx","Text","Flex","Icon","MenuItem","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","useCallback","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","listProps","portalled","submenuTrigger","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","handleSearch","e","searchInput","filterdItems","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.component-Bscyjw7R.js","sources":["../../src/components/Menu/components/MenuButton/menuButton.components.tsx","../../src/components/Menu/components/MenuItem/menuItem.component.tsx","../../src/components/Menu/components/MenuToggleButtons/menuToggleButtons.tsx","../../src/components/Menu/menu.component.tsx"],"sourcesContent":["import { Flex } from \"@chakra-ui/react/flex\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Icon } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport React from \"react\";\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"children\"> {\n hideCaret?: boolean;\n text?: string;\n textProps?: TextProps;\n}\n\nexport const MenuButton = ({\n hideCaret = false,\n size = \"md\",\n text,\n textProps,\n variant,\n ...rest\n}: MenuButtonProps): React.JSX.Element => {\n return (\n <Button\n className=\"Menu__Button\"\n data-testid=\"kibble-menu-button\"\n size={size}\n variant={variant}\n {...rest}\n >\n {text && (\n <Text\n className=\"Menu__ButtonText\"\n data-testid=\"kibble-menu-button-text\"\n fontWeight=\"semibold\"\n size={size}\n color={variant ? \"inherit\" : textProps?.color || \"text.contrast\"}\n truncate\n {...textProps}\n >\n {text}\n </Text>\n )}\n {!hideCaret && (\n <Flex\n className=\"Menu__ButtonCaret\"\n data-testid=\"kibble-menu-button-caret\"\n >\n <Icon name=\"chevronDown\" size={size === \"lg\" ? \"sm\" : \"xs\"} />\n </Flex>\n )}\n </Button>\n );\n};\n","import { Flex } from \"@chakra-ui/react/flex\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport React, { useCallback } from \"react\";\nimport { Text } from \"components/Text/text.component\";\nimport { MenuItemType } from \"./menuItem.types\";\nimport { Menu, MenuProps } from \"components/Menu\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { Checkbox } from \"components/Checkbox/checkbox.component\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface BaseMenuItemProps {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n groupLabel?: string;\n onSelect?: (value: string) => void;\n shouldTruncateText?: boolean;\n type?: MenuItemType;\n value: string;\n variant?: TypographyVariant;\n}\n\ninterface DefaultMenuItemProps extends Omit<CMenu.ItemProps, \"onSelect\"> {\n type?: \"default\";\n selected?: boolean;\n}\n\ninterface CheckboxMenuItemProps\n extends Omit<CMenu.CheckboxItemProps, \"onSelect\"> {\n type: \"checkbox\";\n checked: boolean;\n}\n\ninterface SubmenuMenuItemProps extends Omit<MenuProps, \"buttonProps\"> {\n type: \"submenu\";\n valueText?: string;\n}\n\nexport type MenuItemProps = BaseMenuItemProps &\n (DefaultMenuItemProps | CheckboxMenuItemProps | SubmenuMenuItemProps);\n\nexport const MenuItem = ({\n label,\n leftElement,\n onSelect,\n shouldTruncateText,\n type = \"default\",\n variant,\n ...rest\n}: MenuItemProps): React.JSX.Element => {\n const handleOnSelect = useCallback(() => {\n if (onSelect) {\n onSelect(rest.value);\n }\n }, [onSelect, rest.value]);\n\n if (type === \"submenu\") {\n return (\n <Menu\n submenuTrigger={\n <CMenu.TriggerItem\n className=\"Menu__Item--Submenu\"\n data-testid=\"kibble-menu-item-submenu\"\n justifyContent=\"space-between\"\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n <Icon name=\"chevronRight\" size=\"sm\" />\n </CMenu.TriggerItem>\n }\n {...rest}\n />\n );\n }\n\n if (type === \"checkbox\") {\n const { checked, value, ...checkboxRest } = rest as CheckboxMenuItemProps;\n return (\n <CMenu.CheckboxItem\n className=\"Menu__Item--Checkbox\"\n data-testid=\"kibble-menu-item-checkbox\"\n value={value}\n checked={!!checked}\n onCheckedChange={handleOnSelect}\n closeOnSelect={rest.closeOnSelect || false}\n gap={3}\n {...checkboxRest}\n >\n <Checkbox checked={!!checked} size=\"md\" />\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={variant}\n />\n </CMenu.CheckboxItem>\n );\n }\n\n if (type === \"default\") {\n const { selected, value, ...defaultRest } = rest as DefaultMenuItemProps;\n return (\n <CMenu.Item\n className=\"Menu__Item--Default\"\n data-testid=\"kibble-menu-item-default\"\n value={value}\n onSelect={handleOnSelect}\n {...(selected && { bgColor: \"background.secondaryAlpha.hover\" })}\n {...defaultRest}\n >\n <MenuItemLabel\n label={label}\n leftElement={leftElement}\n shouldTruncateText={shouldTruncateText}\n variant={selected ? \"info\" : variant}\n />\n </CMenu.Item>\n );\n }\n\n return <></>;\n};\n\nconst MenuItemLabel = ({\n label,\n leftElement,\n shouldTruncateText,\n variant,\n}: {\n label?: React.ReactNode;\n leftElement?: React.ReactNode;\n shouldTruncateText?: boolean;\n variant?: TypographyVariant;\n}): React.JSX.Element => {\n return (\n <Flex className=\"Menu__ItemLabel\" alignItems=\"center\" gap={3}>\n {leftElement}\n {typeof label === \"string\" ? (\n <Text size=\"sm\" truncated={shouldTruncateText} variant={variant}>\n {label}\n </Text>\n ) : (\n label\n )}\n </Flex>\n );\n};\n","import { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\ninterface MenuToggleButtonsProps {\n hasSelectedItems?: boolean;\n groupName?: string;\n onToggle: ({\n groupName,\n clear,\n }: {\n clear: boolean;\n groupName?: string;\n }) => void;\n}\n\nexport const MenuToggleButtons = ({\n groupName,\n hasSelectedItems = false,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n const isGrouped = !!groupName;\n return (\n <Box\n className=\"Menu__ToggleButtons\"\n data-testid=\"kibble-menu-toggle-buttons\"\n {...(isGrouped ? { textAlign: \"right\", w: \"50%\" } : { mt: 2 })}\n >\n {isGrouped ? (\n <>\n {hasSelectedItems ? (\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n ) : (\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n )}\n </>\n ) : (\n <Flex justifyContent=\"space-between\">\n <SelectAllButton groupName={groupName} onToggle={onToggle} />\n <ClearAllButton\n hasSelectedItems={hasSelectedItems}\n groupName={groupName}\n onToggle={onToggle}\n />\n </Flex>\n )}\n </Box>\n );\n};\n\nconst SelectAllButton = ({\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghost\"\n size=\"xs\"\n onClick={(): void => onToggle({ groupName, clear: false })}\n >\n Select All\n </Button>\n );\n};\n\nconst ClearAllButton = ({\n hasSelectedItems,\n groupName,\n onToggle,\n}: MenuToggleButtonsProps): React.JSX.Element => {\n return (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n disabled={!hasSelectedItems}\n onClick={(): void => onToggle({ groupName, clear: true })}\n >\n Clear All\n </Button>\n );\n};\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { Menu as CMenu } from \"@chakra-ui/react/menu\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n MenuButton,\n MenuButtonProps,\n} from \"./components/MenuButton/menuButton.components\";\nimport {\n MenuItem,\n MenuItemProps,\n} from \"./components/MenuItem/menuItem.component\";\nimport { useCheckboxGroup } from \"@chakra-ui/react/checkbox\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Text } from \"components/Text/text.component\";\nimport { TextInput } from \"components/TextInput/textInput.component\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { MenuToggleButtons } from \"./components/MenuToggleButtons/menuToggleButtons\";\n\nexport type MenuListOnSelect =\n | ((selectedItem: string | undefined, allSelectedItems?: string[]) => void)\n | ((\n selectedItem: string | undefined,\n allSelectedItems?: string[],\n ) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: string[]) => void)\n | ((selectedItems: string[]) => Promise<void>);\n\nexport interface MenuListProps extends Omit<CMenu.ContentProps, \"onSelect\"> {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n emptyStateText?: string;\n loading?: boolean;\n menuItems?: MenuItemProps[];\n onSearch?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\n searchable?: boolean;\n searchPlaceholder?: string;\n shouldTruncateText?: boolean;\n}\n\nexport interface MenuProps extends Omit<CMenu.RootProps, \"children\"> {\n buttonProps?: MenuButtonProps;\n listProps?: MenuListProps;\n portalled?: boolean;\n}\n\ninterface InternalMenuProps extends MenuProps {\n submenuTrigger?: React.ReactNode;\n}\n\nexport const Menu = ({\n buttonProps,\n listProps,\n portalled = false,\n submenuTrigger,\n ...rest\n}: InternalMenuProps): React.JSX.Element => {\n const {\n canSelectAll,\n canSelectGroups,\n emptyStateText = \"No results found\",\n loading,\n maxH = \"480px\",\n menuItems = [],\n minW = \"240px\",\n onSearch,\n onSelect,\n onSelectAll,\n searchable,\n searchPlaceholder = \"Search...\",\n shouldTruncateText,\n ...restListProps\n } = listProps || {};\n const [searchText, setSearchText] = useState<string>(\"\");\n const [filteredMenuItems, setFilteredMenuItems] =\n useState<MenuItemProps[]>(menuItems);\n\n // Menu Items\n const groupedItems = useMemo(() => {\n const groups: Record<string, Record<string, MenuItemProps[]>> = {};\n\n filteredMenuItems?.forEach((item) => {\n const group = item.groupLabel || \"default\";\n // Default and submenu items are grouped under \"default\"\n const type = item.type === \"checkbox\" ? \"checkbox\" : \"default\";\n\n if (!groups[group]) {\n groups[group] = {};\n }\n\n if (!groups[group][type]) {\n groups[group][type] = [];\n }\n\n groups[group][type].push(item);\n });\n\n return groups;\n }, [filteredMenuItems]);\n\n const groups = useMemo(() => Object.entries(groupedItems), [groupedItems]);\n\n // Checkbox State Management\n const checkboxItems = useMemo(\n () => menuItems?.filter((item) => item.type === \"checkbox\") || [],\n [menuItems],\n );\n\n const defaultSelectedItems = useMemo(() => {\n const selectedMenuItems =\n checkboxItems?.filter((item) => item.checked) || [];\n return selectedMenuItems.map((item) => item.value);\n }, [checkboxItems]);\n\n const selectedItems = useCheckboxGroup({\n defaultValue: defaultSelectedItems,\n });\n\n // Search\n const handleSearch = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearch) {\n onSearch(e);\n } else {\n if (searchInput === \"\" || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item): boolean => {\n const labelText =\n typeof item.label === \"string\" ? item.label : item.valueText;\n\n return !!labelText\n ?.toLowerCase()\n .includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearch],\n );\n\n // Selection\n const handleToggle = useCallback(\n ({ groupName, clear }: { groupName?: string; clear: boolean }) => {\n let newValues: string[] = [];\n if (groupName) {\n const groupItems = checkboxItems\n .filter((item) => item.groupLabel === groupName)\n .map((item) => item.value);\n newValues = clear\n ? selectedItems.value.filter((value) => !groupItems.includes(value))\n : [...selectedItems.value, ...groupItems];\n } else {\n newValues = clear ? [] : checkboxItems.map((item) => item.value);\n }\n onSelectAll?.(newValues);\n selectedItems.setValue(newValues);\n },\n [checkboxItems, onSelectAll, selectedItems],\n );\n\n const handleSelect = useCallback(\n (item: MenuItemProps) => {\n item.onSelect?.(item.value);\n const currentSelection = selectedItems.value;\n const isItemSelected = selectedItems.isChecked(item.value);\n onSelect?.(\n item.value,\n isItemSelected\n ? currentSelection.filter((value) => value !== item.value)\n : [...currentSelection, item.value],\n );\n if (item.type === \"checkbox\") {\n selectedItems.toggleValue(item.value);\n }\n },\n [onSelect, selectedItems],\n );\n\n // Cleanup\n const handleCleanup = useCallback(\n (open: boolean) => {\n if (!open) {\n setSearchText(\"\");\n setFilteredMenuItems(menuItems);\n }\n },\n [menuItems],\n );\n\n return (\n <CMenu.Root\n {...rest}\n onOpenChange={(details) => {\n handleCleanup(details.open);\n rest.onOpenChange?.(details);\n }}\n >\n {!submenuTrigger ? (\n <CMenu.Trigger\n asChild\n className=\"Menu__Trigger\"\n data-testid=\"kibble-menu-trigger\"\n >\n <MenuButton {...buttonProps} />\n </CMenu.Trigger>\n ) : (\n submenuTrigger\n )}\n <Portal disabled={!portalled}>\n <CMenu.Positioner className=\"Menu\" data-testid=\"kibble-menu\">\n <CMenu.Content\n className=\"Menu__Content\"\n data-testid=\"kibble-menu-content\"\n maxH={maxH}\n minW={minW}\n {...restListProps}\n >\n {(searchable || canSelectAll) && (\n <Box\n className=\"Menu__Header\"\n data-testid=\"kibble-menu-header\"\n m=\"0 12px 8px\"\n >\n {searchable && (\n <TextInput\n className=\"Menu__SearchBar\"\n data-testid=\"kibble-menu-search-bar\"\n placeholder={searchPlaceholder}\n onChange={handleSearch}\n size=\"sm\"\n value={searchText}\n clearable\n onClear={(): void => {\n setSearchText(\"\");\n handleSearch({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n )}\n {canSelectAll && !!checkboxItems.length && (\n <MenuToggleButtons\n onToggle={handleToggle}\n hasSelectedItems={!!selectedItems.value.length}\n />\n )}\n </Box>\n )}\n {!loading ? (\n <Box className=\"Menu__List\" data-testid=\"kibble-menu-list\">\n {groups.length ? (\n <>\n {groups.map(([groupLabel, types]) => {\n const isDefaultGroup = groupLabel === \"default\";\n const itemTypes = Object.keys(types);\n const MenuGroupContainer = !isDefaultGroup\n ? CMenu.ItemGroup\n : React.Fragment;\n const groupValues = types[\"checkbox\"]?.map(\n (item) => item.value,\n );\n const hasSelectedItems = groupValues?.some((value) =>\n selectedItems.value.includes(value),\n );\n return (\n <MenuGroupContainer key={groupLabel}>\n {!isDefaultGroup && (\n <CMenu.ItemGroupLabel>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n >\n {groupLabel}\n {canSelectGroups &&\n itemTypes.includes(\"checkbox\") && (\n <MenuToggleButtons\n groupName={groupLabel}\n onToggle={handleToggle}\n hasSelectedItems={hasSelectedItems}\n />\n )}\n </Flex>\n </CMenu.ItemGroupLabel>\n )}\n {Object.entries(types).map(([type, items]) =>\n items.map((item, index) => (\n <MenuItem\n key={`menu-item-${groupLabel}-${type}-${index}`}\n {...item}\n shouldTruncateText={shouldTruncateText}\n {...(item.type === \"checkbox\" && {\n checked: selectedItems.isChecked(item.value),\n })}\n onSelect={() => handleSelect(item)}\n />\n )),\n )}\n </MenuGroupContainer>\n );\n })}\n </>\n ) : (\n <>\n <Box textAlign=\"center\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n </>\n )}\n </Box>\n ) : (\n <Flex justifyContent=\"center\" py={5}>\n <Spinner />\n </Flex>\n )}\n </CMenu.Content>\n </CMenu.Positioner>\n </Portal>\n </CMenu.Root>\n );\n};\n"],"names":["MenuButton","hideCaret","size","text","textProps","variant","rest","jsxs","Button","jsx","Text","Flex","Icon","MenuItem","label","leftElement","onSelect","shouldTruncateText","type","handleOnSelect","useCallback","Menu","CMenu.TriggerItem","MenuItemLabel","checked","value","checkboxRest","CMenu.CheckboxItem","Checkbox","selected","defaultRest","CMenu.Item","Fragment","MenuToggleButtons","groupName","hasSelectedItems","onToggle","isGrouped","Box","ClearAllButton","SelectAllButton","buttonProps","listProps","portalled","submenuTrigger","canSelectAll","canSelectGroups","emptyStateText","loading","maxH","menuItems","minW","onSearch","onSelectAll","searchable","searchPlaceholder","restListProps","searchText","setSearchText","useState","filteredMenuItems","setFilteredMenuItems","groupedItems","useMemo","groups","item","group","checkboxItems","defaultSelectedItems","selectedItems","useCheckboxGroup","handleSearch","e","searchInput","filterdItems","handleToggle","clear","newValues","groupItems","handleSelect","currentSelection","isItemSelected","handleCleanup","open","CMenu.Root","details","CMenu.Trigger","Portal","CMenu.Positioner","CMenu.Content","TextInput","Spinner","groupLabel","types","isDefaultGroup","itemTypes","MenuGroupContainer","React","CMenu.ItemGroup","CMenu.ItemGroupLabel","items","index"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { x as a, bP as _ } from "./vendor-BBfll6i3.js";
|
|
2
2
|
import { useState as f } from "react";
|
|
3
|
-
import { B as e } from "./button.component-
|
|
3
|
+
import { B as e } from "./button.component-CA9bIFbq.js";
|
|
4
4
|
import { _ as k, F as M, $ as N, a0 as C, a1 as D, a2 as B, a3 as y, a4 as v, a5 as S, a6 as F, a7 as P, a8 as T, a9 as w } from "./chakra-BqBkjpvZ.js";
|
|
5
5
|
import { W as E } from "./heading.component-B8niLTxz.js";
|
|
6
6
|
const z = ({
|
|
@@ -143,4 +143,4 @@ export {
|
|
|
143
143
|
G as c,
|
|
144
144
|
V as m
|
|
145
145
|
};
|
|
146
|
-
//# sourceMappingURL=modal.types-
|
|
146
|
+
//# sourceMappingURL=modal.types-BfXHtZ4i.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.types-
|
|
1
|
+
{"version":3,"file":"modal.types-BfXHtZ4i.js","sources":["../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <Dialog.Content className=\"Modal\" data-testid=\"kibble-modal\">\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","jsx","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Dialog.Root","Dialog.Trigger","Portal","Dialog.Backdrop","Dialog.Positioner","Dialog.Content","Dialog.CloseTrigger","prev","Dialog.Header","Dialog.Title","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./vendor-D-x6W6ez.js"),R=require("react"),a=require("./button.component-
|
|
2
|
-
//# sourceMappingURL=modal.types-
|
|
1
|
+
"use strict";const t=require("./vendor-D-x6W6ez.js"),R=require("react"),a=require("./button.component-DDjwI0xh.js"),e=require("./chakra-DmF8Cxqs.js"),_=require("./heading.component-CExbjSBi.js"),k=({children:o,destructive:i,disabled:l,hideCancel:s=!1,loading:n,loadingText:r,onCancel:d,onSubmit:c,submitText:m="Submit",...x})=>t.jsxRuntimeExports.jsx(e.DialogFooter,{className:"Modal__Footer","data-testid":"kibble-modal-footer",...x,children:o||t.jsxRuntimeExports.jsxs(e.Flex,{alignItems:"center",justifyContent:"space-between",w:"100%",children:[!s&&t.jsxRuntimeExports.jsx(e.DialogActionTrigger,{asChild:!0,className:"Modal__CancelButton","data-testid":"kibble-modal-cancel-button",children:t.jsxRuntimeExports.jsx(a.Button,{variant:"tertiary",onClick:d,children:"Cancel"})}),t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__SubmitButton","data-testid":"kibble-modal-submit-button",onClick:c,loading:n,loadingText:r,disabled:l,variant:i?"primaryDestructive":"primary",children:m})]})}),B=({children:o,footerProps:i,fullScreenMobile:l=!0,header:s,headerProps:n,hideCloseButton:r=!1,hideFooter:d=!1,motionPreset:c="slide-in-bottom",placement:m="center",showExpandButton:x=!1,size:u="md",trigger:j,...b})=>{const[p,g]=R.useState(!1),h=e.useBreakpointValue({base:l?"full":u,md:u});return t.jsxRuntimeExports.jsxs(e.DialogRoot,{motionPreset:c,placement:m,size:h,...b,expanded:p,children:[j&&t.jsxRuntimeExports.jsx(e.DialogTrigger,{asChild:!0,children:j}),t.jsxRuntimeExports.jsxs(t.Portal,{children:[t.jsxRuntimeExports.jsx(e.DialogBackdrop,{}),t.jsxRuntimeExports.jsx(e.DialogPositioner,{children:t.jsxRuntimeExports.jsxs(e.DialogContent,{className:"Modal","data-testid":"kibble-modal",children:[!r&&t.jsxRuntimeExports.jsx(e.DialogCloseTrigger,{asChild:!0,className:"Modal__CloseButton","data-testid":"kibble-modal-close-button",children:t.jsxRuntimeExports.jsx(a.Button,{iconName:"close",variant:"ghostNeutral"})}),x&&t.jsxRuntimeExports.jsx(a.Button,{className:"Modal__ExpandButton","data-testid":"kibble-modal-expand-button",variant:"ghostNeutral",iconName:p?"arrowsIn":"arrowsOut",position:"absolute",top:2,right:12,onClick:()=>g(E=>!E)}),t.jsxRuntimeExports.jsx(e.DialogHeader,{className:"Modal__Header","data-testid":"kibble-modal-header",children:s&&t.jsxRuntimeExports.jsx(e.DialogTitle,{className:"Modal__Title","data-testid":"kibble-modal-title",children:typeof s=="string"?t.jsxRuntimeExports.jsx(_.WrappedHeading,{size:"xl",...n,children:s}):s})}),t.jsxRuntimeExports.jsx(e.DialogBody,{className:"Modal__Body","data-testid":"kibble-modal-body",children:o}),!d&&t.jsxRuntimeExports.jsx(k,{...i})]})})]})]})},M=["xs","sm","md","lg","cover","full"],N=["center","top","bottom"],C=["inside","outside"],D=["scale","slide-in-bottom","slide-in-top","slide-in-left","slide-in-right","none"];exports.Modal=B;exports.modalMotionPresets=D;exports.modalPlacements=N;exports.modalScrollBehaviors=C;exports.modalSizes=M;
|
|
2
|
+
//# sourceMappingURL=modal.types-CELCFObr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.types-
|
|
1
|
+
{"version":3,"file":"modal.types-CELCFObr.js","sources":["../../src/components/Modal/components/ModalFooter/modalFooter.component.tsx","../../src/components/Modal/modal.component.tsx","../../src/components/Modal/modal.types.ts"],"sourcesContent":["import React from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Button } from \"components/Button/button.component\";\n\nexport interface ModalFooterProps extends Dialog.FooterProps {\n children?: React.ReactNode;\n destructive?: boolean;\n disabled?: boolean;\n hideCancel?: boolean;\n loading?: boolean;\n loadingText?: string;\n onCancel?: () => void;\n onSubmit?: () => void | Promise<void>;\n submitText?: string;\n}\n\nexport const ModalFooter = ({\n children,\n destructive,\n disabled,\n hideCancel = false,\n loading,\n loadingText,\n onCancel,\n onSubmit,\n submitText = \"Submit\",\n ...rest\n}: ModalFooterProps): React.JSX.Element => {\n return (\n <Dialog.Footer\n className=\"Modal__Footer\"\n data-testid=\"kibble-modal-footer\"\n {...rest}\n >\n {children ? (\n children\n ) : (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" w=\"100%\">\n {!hideCancel && (\n <Dialog.ActionTrigger\n asChild\n className=\"Modal__CancelButton\"\n data-testid=\"kibble-modal-cancel-button\"\n >\n <Button variant=\"tertiary\" onClick={onCancel}>\n Cancel\n </Button>\n </Dialog.ActionTrigger>\n )}\n <Button\n className=\"Modal__SubmitButton\"\n data-testid=\"kibble-modal-submit-button\"\n onClick={onSubmit}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Dialog.Footer>\n );\n};\n","import React, { useState } from \"react\";\nimport { Dialog } from \"@chakra-ui/react/dialog\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport {\n ModalFooter,\n ModalFooterProps,\n} from \"./components/ModalFooter/modalFooter.component\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { ModalMotionPreset, ModalPlacement, ModalSize } from \"./modal.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { useBreakpointValue } from \"@chakra-ui/react\";\n\nexport interface ModalProps extends Dialog.RootProps {\n footerProps?: ModalFooterProps;\n fullScreenMobile?: boolean;\n header?: React.ReactNode;\n headerProps?: HeadingProps;\n hideCloseButton?: boolean;\n hideFooter?: boolean;\n motionPreset?: ModalMotionPreset;\n placement?: ModalPlacement;\n showExpandButton?: boolean;\n size?: ModalSize;\n trigger?: React.ReactNode;\n}\n\nexport const Modal = ({\n children,\n footerProps,\n fullScreenMobile = true,\n header,\n headerProps,\n hideCloseButton = false,\n hideFooter = false,\n motionPreset = \"slide-in-bottom\",\n placement = \"center\",\n showExpandButton = false,\n size = \"md\",\n trigger,\n ...rest\n}: ModalProps): React.JSX.Element => {\n const [isExpanded, setIsExpanded] = useState(false);\n const computedSize = useBreakpointValue({\n base: fullScreenMobile ? \"full\" : size,\n md: size,\n });\n\n return (\n <Dialog.Root\n motionPreset={motionPreset}\n placement={placement}\n size={computedSize}\n {...rest}\n expanded={isExpanded}\n >\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Portal>\n <Dialog.Backdrop />\n <Dialog.Positioner>\n <Dialog.Content className=\"Modal\" data-testid=\"kibble-modal\">\n {!hideCloseButton && (\n <Dialog.CloseTrigger\n asChild\n className=\"Modal__CloseButton\"\n data-testid=\"kibble-modal-close-button\"\n >\n <Button iconName=\"close\" variant=\"ghostNeutral\" />\n </Dialog.CloseTrigger>\n )}\n {showExpandButton && (\n <Button\n className=\"Modal__ExpandButton\"\n data-testid=\"kibble-modal-expand-button\"\n variant=\"ghostNeutral\"\n iconName={isExpanded ? \"arrowsIn\" : \"arrowsOut\"}\n position=\"absolute\"\n top={2}\n right={12}\n onClick={() => setIsExpanded((prev) => !prev)}\n />\n )}\n <Dialog.Header\n className=\"Modal__Header\"\n data-testid=\"kibble-modal-header\"\n >\n {header && (\n <Dialog.Title\n className=\"Modal__Title\"\n data-testid=\"kibble-modal-title\"\n >\n {typeof header === \"string\" ? (\n <Heading size=\"xl\" {...headerProps}>\n {header}\n </Heading>\n ) : (\n header\n )}\n </Dialog.Title>\n )}\n </Dialog.Header>\n <Dialog.Body\n className=\"Modal__Body\"\n data-testid=\"kibble-modal-body\"\n >\n {children}\n </Dialog.Body>\n {!hideFooter && <ModalFooter {...footerProps} />}\n </Dialog.Content>\n </Dialog.Positioner>\n </Portal>\n </Dialog.Root>\n );\n};\n","export const modalSizes = [\"xs\", \"sm\", \"md\", \"lg\", \"cover\", \"full\"] as const;\nexport type ModalSize = (typeof modalSizes)[number];\n\nexport const modalPlacements = [\"center\", \"top\", \"bottom\"] as const;\nexport type ModalPlacement = (typeof modalPlacements)[number];\n\nexport const modalScrollBehaviors = [\"inside\", \"outside\"] as const;\nexport type ModalScrollBehavior = (typeof modalScrollBehaviors)[number];\n\nexport const modalMotionPresets = [\n \"scale\",\n \"slide-in-bottom\",\n \"slide-in-top\",\n \"slide-in-left\",\n \"slide-in-right\",\n \"none\",\n] as const;\nexport type ModalMotionPreset = (typeof modalMotionPresets)[number];\n"],"names":["ModalFooter","children","destructive","disabled","hideCancel","loading","loadingText","onCancel","onSubmit","submitText","rest","jsx","Dialog.Footer","jsxs","Flex","Dialog.ActionTrigger","Button","Modal","footerProps","fullScreenMobile","header","headerProps","hideCloseButton","hideFooter","motionPreset","placement","showExpandButton","size","trigger","isExpanded","setIsExpanded","useState","computedSize","useBreakpointValue","Dialog.Root","Dialog.Trigger","Portal","Dialog.Backdrop","Dialog.Positioner","Dialog.Content","Dialog.CloseTrigger","prev","Dialog.Header","Dialog.Title","Heading","Dialog.Body","modalSizes","modalPlacements","modalScrollBehaviors","modalMotionPresets"],"mappings":"mMAiBaA,EAAc,CAAC,CAC1B,SAAAC,EACA,YAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,GACb,QAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,SACb,GAAGC,CACL,IAEIC,EAAA,kBAAA,IAACC,EAAO,aAAP,CACC,UAAU,gBACV,cAAY,sBACX,GAAGF,EAEH,SAAAT,GAGEY,EAAA,kBAAA,KAAAC,EAAA,KAAA,CAAK,WAAW,SAAS,eAAe,gBAAgB,EAAE,OACxD,SAAA,CAAA,CAACV,GACAO,EAAA,kBAAA,IAACI,EAAO,oBAAP,CACC,QAAO,GACP,UAAU,sBACV,cAAY,6BAEZ,iCAACC,EAAO,OAAA,CAAA,QAAQ,WAAW,QAAST,EAAU,SAE9C,QAAA,CAAA,CAAA,CACF,EAEFI,EAAA,kBAAA,IAACK,EAAA,OAAA,CACC,UAAU,sBACV,cAAY,6BACZ,QAASR,EACT,QAAAH,EACA,YAAAC,EACA,SAAAH,EACA,QAASD,EAAc,qBAAuB,UAE7C,SAAAO,CAAA,CAAA,CACH,CACF,CAAA,CAAA,CAEJ,ECrCSQ,EAAQ,CAAC,CACpB,SAAAhB,EACA,YAAAiB,EACA,iBAAAC,EAAmB,GACnB,OAAAC,EACA,YAAAC,EACA,gBAAAC,EAAkB,GAClB,WAAAC,EAAa,GACb,aAAAC,EAAe,kBACf,UAAAC,EAAY,SACZ,iBAAAC,EAAmB,GACnB,KAAAC,EAAO,KACP,QAAAC,EACA,GAAGlB,CACL,IAAqC,CACnC,KAAM,CAACmB,EAAYC,CAAa,EAAIC,EAAAA,SAAS,EAAK,EAC5CC,EAAeC,EAAAA,mBAAmB,CACtC,KAAMd,EAAmB,OAASQ,EAClC,GAAIA,CAAA,CACL,EAGC,OAAAd,EAAA,kBAAA,KAACqB,EAAO,WAAP,CACC,aAAAV,EACA,UAAAC,EACA,KAAMO,EACL,GAAGtB,EACJ,SAAUmB,EAET,SAAA,CAAAD,2BAAYO,gBAAA,CAAe,QAAO,GAAE,SAAQP,EAAA,2BAC5CQ,EAAAA,OACC,CAAA,SAAA,CAACzB,EAAA,kBAAA,IAAA0B,iBAAA,EAAgB,EACjB1B,EAAAA,kBAAAA,IAAC2B,EAAO,iBAAP,CACC,SAAAzB,yBAAC0B,EAAAA,cAAA,CAAe,UAAU,QAAQ,cAAY,eAC3C,SAAA,CAAA,CAACjB,GACAX,EAAA,kBAAA,IAAC6B,EAAO,mBAAP,CACC,QAAO,GACP,UAAU,qBACV,cAAY,4BAEZ,SAAC7B,EAAA,kBAAA,IAAAK,SAAA,CAAO,SAAS,QAAQ,QAAQ,cAAe,CAAA,CAAA,CAClD,EAEDU,GACCf,EAAA,kBAAA,IAACK,EAAA,OAAA,CACC,UAAU,sBACV,cAAY,6BACZ,QAAQ,eACR,SAAUa,EAAa,WAAa,YACpC,SAAS,WACT,IAAK,EACL,MAAO,GACP,QAAS,IAAMC,EAAeW,GAAS,CAACA,CAAI,CAAA,CAC9C,EAEF9B,EAAA,kBAAA,IAAC+B,EAAO,aAAP,CACC,UAAU,gBACV,cAAY,sBAEX,SACCtB,GAAAT,EAAA,kBAAA,IAACgC,EAAO,YAAP,CACC,UAAU,eACV,cAAY,qBAEX,SAAA,OAAOvB,GAAW,SAChBT,EAAAA,kBAAAA,IAAAiC,EAAAA,eAAA,CAAQ,KAAK,KAAM,GAAGvB,EACpB,SAAAD,CACH,CAAA,EAEAA,CAAA,CAAA,CAEJ,CAEJ,EACAT,EAAA,kBAAA,IAACkC,EAAO,WAAP,CACC,UAAU,cACV,cAAY,oBAEX,SAAA5C,CAAA,CACH,EACC,CAACsB,GAAeZ,EAAA,kBAAA,IAAAX,EAAA,CAAa,GAAGkB,CAAa,CAAA,CAAA,CAAA,CAChD,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CAAA,CACF,CAEJ,EChHa4B,EAAa,CAAC,KAAM,KAAM,KAAM,KAAM,QAAS,MAAM,EAGrDC,EAAkB,CAAC,SAAU,MAAO,QAAQ,EAG5CC,EAAuB,CAAC,SAAU,SAAS,EAG3CC,EAAqB,CAChC,QACA,kBACA,eACA,gBACA,iBACA,MACF"}
|
|
@@ -3,7 +3,7 @@ import w from "react";
|
|
|
3
3
|
import { y as _, F as P, aa as R, ab as B, ac as H, B as z } from "./chakra-BqBkjpvZ.js";
|
|
4
4
|
import { W as F } from "./text.component-XYjOAc2s.js";
|
|
5
5
|
import { W as O } from "./heading.component-B8niLTxz.js";
|
|
6
|
-
import { B as j } from "./button.component-
|
|
6
|
+
import { B as j } from "./button.component-CA9bIFbq.js";
|
|
7
7
|
import { p as g } from "./popover.recipe-DnCuZJd3.js";
|
|
8
8
|
const W = ({
|
|
9
9
|
children: p,
|
|
@@ -218,4 +218,4 @@ E.displayName = "Popover";
|
|
|
218
218
|
export {
|
|
219
219
|
E as P
|
|
220
220
|
};
|
|
221
|
-
//# sourceMappingURL=popover.component-
|
|
221
|
+
//# sourceMappingURL=popover.component-CW5KsTYh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.component-CzYfOF7z.js","sources":["../../src/components/Popover/components/PopoverHeader/popoverHeader.component.tsx","../../src/components/Popover/components/PopoverFooter/popoverFooter.component.tsx","../../src/components/Popover/popover.component.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Heading, HeadingSize } from \"components/Heading\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverHeaderProps extends FlexProps {\n children?: ReactNode;\n hideCloseButton?: boolean;\n onClose?: () => void;\n onContrast?: boolean;\n size?: HeadingSize;\n}\n\ninterface InternalPopoverHeaderProps extends PopoverHeaderProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverHeader = ({\n children,\n color,\n hideCloseButton = false,\n onContrast = true,\n onClose,\n size = \"sm\",\n trigger,\n ...rest\n}: InternalPopoverHeaderProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n return (\n <Flex\n className=\"Popover__HeaderWrapper\"\n data-testid=\"kibble-popover-header-wrapper\"\n css={styles.header}\n {...rest}\n >\n <Heading\n className=\"Popover__Header\"\n data-testid=\"kibble-popover-header\"\n size={size}\n color={color || \"inherit\"}\n >\n {children}\n </Heading>\n {!hideCloseButton && (\n <Button\n className=\"Popover__CloseButton\"\n data-testid=\"kibble-popover-close-button\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose ? onClose : (): void => setOpen(false)}\n iconName=\"close\"\n position=\"absolute\"\n right={1}\n top={1}\n size=\"xs\"\n />\n )}\n </Flex>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Spacer } from \"@chakra-ui/react/spacer\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverFooterProps extends FlexProps {\n children?: ReactNode;\n disabled?: boolean;\n hideButtons?: boolean;\n hideCancelButton?: boolean;\n destructive?: boolean;\n loading?: boolean;\n onCancel?: () => void;\n onContrast?: boolean;\n onSubmit?: () => void;\n submitText?: string;\n}\n\ninterface InternalPopoverFooterProps extends PopoverFooterProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverFooter = ({\n children,\n disabled,\n hideButtons = false,\n hideCancelButton = false,\n destructive,\n loading,\n onCancel,\n onContrast = true,\n onSubmit,\n submitText = \"Submit\",\n trigger,\n ...rest\n}: InternalPopoverFooterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n setOpen(false);\n };\n\n return (\n <Flex\n className=\"Popover__Footer\"\n data-testid=\"kibble-popover-footer\"\n css={styles.footer}\n {...rest}\n >\n {children}\n {!hideButtons && (\n <Flex w=\"100%\">\n {!hideCancelButton && (\n <Button\n variant=\"tertiary\"\n onContrast={onContrast}\n size=\"sm\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n onClick={onSubmit}\n loading={loading}\n disabled={disabled}\n size=\"sm\"\n onContrast={onContrast}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Popover as CPopover } from \"@chakra-ui/react/popover\";\nimport { HoverCard } from \"@chakra-ui/react/hover-card\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport { Placement } from \"shared/types/placement\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n PopoverSize,\n PopoverTriggerType,\n PopoverVariant,\n} from \"./popover.types\";\nimport {\n PopoverHeader,\n PopoverHeaderProps,\n} from \"./components/PopoverHeader/popoverHeader.component\";\nimport {\n PopoverFooter,\n PopoverFooterProps,\n} from \"./components/PopoverFooter/popoverFooter.component\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { popoverRecipe } from \"./popover.recipe\";\n\nexport interface KPopoverProps {\n allowEscape?: boolean;\n anchor: React.ReactNode;\n contentProps?: CPopover.ContentProps;\n disabled?: boolean;\n footerProps?: PopoverFooterProps;\n headerProps?: PopoverHeaderProps;\n portalled?: boolean;\n placement?: Placement;\n size?: PopoverSize;\n trigger?: PopoverTriggerType;\n variant?: PopoverVariant;\n}\n\ninterface ClickPopoverProps extends CPopover.RootProps {\n trigger?: \"click\";\n}\n\ninterface HoverPopoverProps extends HoverCard.RootProps {\n trigger?: \"hover\";\n}\n\nexport type PopoverProps = KPopoverProps &\n (ClickPopoverProps | HoverPopoverProps);\n\nexport const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(\n (props, ref): React.ReactNode => {\n const {\n allowEscape = true,\n anchor,\n children,\n contentProps,\n footerProps,\n headerProps,\n disabled = false,\n portalled = true,\n placement = \"bottom\",\n positioning,\n size = \"sm\",\n trigger = \"click\",\n variant = \"contrast\",\n ...rest\n } = props;\n const Element = trigger === \"hover\" ? HoverCard : CPopover;\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe({ variant, size });\n\n if (!children) return <></>;\n if (disabled) return children;\n\n const onContrast =\n variant === \"contrast\" || variant === \"contrastDestructive\";\n\n return (\n <Element.Root\n closeOnEscape={allowEscape}\n closeOnInteractOutside={allowEscape}\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n size={size}\n variant={variant}\n {...rest}\n >\n <Element.Trigger\n className=\"Popover__Trigger\"\n data-testid=\"kibble-popover-trigger\"\n width=\"max-content\"\n asChild\n >\n {anchor}\n </Element.Trigger>\n <Portal disabled={!portalled}>\n <Element.Positioner className=\"Popover\" data-testid=\"kibble-popover\">\n <Element.Content\n className=\"Popover__Content\"\n data-testid=\"kibble-popover-content\"\n ref={ref}\n p={0}\n {...contentProps}\n >\n <Element.Arrow\n className=\"Popover__Arrow\"\n data-testid=\"kibble-popover-arrow\"\n >\n <Element.ArrowTip />\n </Element.Arrow>\n {headerProps && (\n <PopoverHeader\n trigger={trigger}\n onContrast={onContrast}\n {...headerProps}\n />\n )}\n <Box\n className=\"Popover__Body\"\n data-testid=\"kibble-popover-body\"\n css={styles.body}\n >\n {typeof children === \"string\" ? (\n <Text\n variant={onContrast ? \"onContrast\" : \"default\"}\n size=\"sm\"\n >\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n {footerProps && (\n <PopoverFooter\n trigger={trigger}\n destructive={\n variant === \"contrastDestructive\" ||\n variant === \"defaultDestructive\"\n }\n onContrast={onContrast}\n {...footerProps}\n />\n )}\n </Element.Content>\n </Element.Positioner>\n </Portal>\n </Element.Root>\n );\n },\n);\n\nPopover.displayName = \"Popover\";\n"],"names":["PopoverHeader","children","color","hideCloseButton","onContrast","onClose","size","trigger","rest","styles","useSlotRecipe","popoverRecipe","setOpen","useHoverCardContext","usePopoverContext","jsxs","Flex","jsx","Heading","Button","PopoverFooter","disabled","hideButtons","hideCancelButton","destructive","loading","onCancel","onSubmit","submitText","handleCancel","Spacer","Popover","React","props","ref","allowEscape","anchor","contentProps","footerProps","headerProps","portalled","placement","positioning","variant","Element","HoverCard","CPopover","Fragment","Portal","Box","Text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popover.component-CW5KsTYh.js","sources":["../../src/components/Popover/components/PopoverHeader/popoverHeader.component.tsx","../../src/components/Popover/components/PopoverFooter/popoverFooter.component.tsx","../../src/components/Popover/popover.component.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Heading, HeadingSize } from \"components/Heading\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverHeaderProps extends FlexProps {\n children?: ReactNode;\n hideCloseButton?: boolean;\n onClose?: () => void;\n onContrast?: boolean;\n size?: HeadingSize;\n}\n\ninterface InternalPopoverHeaderProps extends PopoverHeaderProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverHeader = ({\n children,\n color,\n hideCloseButton = false,\n onContrast = true,\n onClose,\n size = \"sm\",\n trigger,\n ...rest\n}: InternalPopoverHeaderProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n return (\n <Flex\n className=\"Popover__HeaderWrapper\"\n data-testid=\"kibble-popover-header-wrapper\"\n css={styles.header}\n {...rest}\n >\n <Heading\n className=\"Popover__Header\"\n data-testid=\"kibble-popover-header\"\n size={size}\n color={color || \"inherit\"}\n >\n {children}\n </Heading>\n {!hideCloseButton && (\n <Button\n className=\"Popover__CloseButton\"\n data-testid=\"kibble-popover-close-button\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose ? onClose : (): void => setOpen(false)}\n iconName=\"close\"\n position=\"absolute\"\n right={1}\n top={1}\n size=\"xs\"\n />\n )}\n </Flex>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Spacer } from \"@chakra-ui/react/spacer\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverFooterProps extends FlexProps {\n children?: ReactNode;\n disabled?: boolean;\n hideButtons?: boolean;\n hideCancelButton?: boolean;\n destructive?: boolean;\n loading?: boolean;\n onCancel?: () => void;\n onContrast?: boolean;\n onSubmit?: () => void;\n submitText?: string;\n}\n\ninterface InternalPopoverFooterProps extends PopoverFooterProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverFooter = ({\n children,\n disabled,\n hideButtons = false,\n hideCancelButton = false,\n destructive,\n loading,\n onCancel,\n onContrast = true,\n onSubmit,\n submitText = \"Submit\",\n trigger,\n ...rest\n}: InternalPopoverFooterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n setOpen(false);\n };\n\n return (\n <Flex\n className=\"Popover__Footer\"\n data-testid=\"kibble-popover-footer\"\n css={styles.footer}\n {...rest}\n >\n {children}\n {!hideButtons && (\n <Flex w=\"100%\">\n {!hideCancelButton && (\n <Button\n variant=\"tertiary\"\n onContrast={onContrast}\n size=\"sm\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n onClick={onSubmit}\n loading={loading}\n disabled={disabled}\n size=\"sm\"\n onContrast={onContrast}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Popover as CPopover } from \"@chakra-ui/react/popover\";\nimport { HoverCard } from \"@chakra-ui/react/hover-card\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport { Placement } from \"shared/types/placement\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n PopoverSize,\n PopoverTriggerType,\n PopoverVariant,\n} from \"./popover.types\";\nimport {\n PopoverHeader,\n PopoverHeaderProps,\n} from \"./components/PopoverHeader/popoverHeader.component\";\nimport {\n PopoverFooter,\n PopoverFooterProps,\n} from \"./components/PopoverFooter/popoverFooter.component\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { popoverRecipe } from \"./popover.recipe\";\n\nexport interface KPopoverProps {\n allowEscape?: boolean;\n anchor: React.ReactNode;\n contentProps?: CPopover.ContentProps;\n disabled?: boolean;\n footerProps?: PopoverFooterProps;\n headerProps?: PopoverHeaderProps;\n portalled?: boolean;\n placement?: Placement;\n size?: PopoverSize;\n trigger?: PopoverTriggerType;\n variant?: PopoverVariant;\n}\n\ninterface ClickPopoverProps extends CPopover.RootProps {\n trigger?: \"click\";\n}\n\ninterface HoverPopoverProps extends HoverCard.RootProps {\n trigger?: \"hover\";\n}\n\nexport type PopoverProps = KPopoverProps &\n (ClickPopoverProps | HoverPopoverProps);\n\nexport const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(\n (props, ref): React.ReactNode => {\n const {\n allowEscape = true,\n anchor,\n children,\n contentProps,\n footerProps,\n headerProps,\n disabled = false,\n portalled = true,\n placement = \"bottom\",\n positioning,\n size = \"sm\",\n trigger = \"click\",\n variant = \"contrast\",\n ...rest\n } = props;\n const Element = trigger === \"hover\" ? HoverCard : CPopover;\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe({ variant, size });\n\n if (!children) return <></>;\n if (disabled) return children;\n\n const onContrast =\n variant === \"contrast\" || variant === \"contrastDestructive\";\n\n return (\n <Element.Root\n closeOnEscape={allowEscape}\n closeOnInteractOutside={allowEscape}\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n size={size}\n variant={variant}\n {...rest}\n >\n <Element.Trigger\n className=\"Popover__Trigger\"\n data-testid=\"kibble-popover-trigger\"\n width=\"max-content\"\n asChild\n >\n {anchor}\n </Element.Trigger>\n <Portal disabled={!portalled}>\n <Element.Positioner className=\"Popover\" data-testid=\"kibble-popover\">\n <Element.Content\n className=\"Popover__Content\"\n data-testid=\"kibble-popover-content\"\n ref={ref}\n p={0}\n {...contentProps}\n >\n <Element.Arrow\n className=\"Popover__Arrow\"\n data-testid=\"kibble-popover-arrow\"\n >\n <Element.ArrowTip />\n </Element.Arrow>\n {headerProps && (\n <PopoverHeader\n trigger={trigger}\n onContrast={onContrast}\n {...headerProps}\n />\n )}\n <Box\n className=\"Popover__Body\"\n data-testid=\"kibble-popover-body\"\n css={styles.body}\n >\n {typeof children === \"string\" ? (\n <Text\n variant={onContrast ? \"onContrast\" : \"default\"}\n size=\"sm\"\n >\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n {footerProps && (\n <PopoverFooter\n trigger={trigger}\n destructive={\n variant === \"contrastDestructive\" ||\n variant === \"defaultDestructive\"\n }\n onContrast={onContrast}\n {...footerProps}\n />\n )}\n </Element.Content>\n </Element.Positioner>\n </Portal>\n </Element.Root>\n );\n },\n);\n\nPopover.displayName = \"Popover\";\n"],"names":["PopoverHeader","children","color","hideCloseButton","onContrast","onClose","size","trigger","rest","styles","useSlotRecipe","popoverRecipe","setOpen","useHoverCardContext","usePopoverContext","jsxs","Flex","jsx","Heading","Button","PopoverFooter","disabled","hideButtons","hideCancelButton","destructive","loading","onCancel","onSubmit","submitText","handleCancel","Spacer","Popover","React","props","ref","allowEscape","anchor","contentProps","footerProps","headerProps","portalled","placement","positioning","variant","Element","HoverCard","CPopover","Fragment","Portal","Box","Text"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("./vendor-D-x6W6ez.js"),g=require("react"),o=require("./chakra-DmF8Cxqs.js"),C=require("./text.component-CBa_saMP.js"),k=require("./heading.component-CExbjSBi.js"),E=require("./button.component-
|
|
2
|
-
//# sourceMappingURL=popover.component-
|
|
1
|
+
"use strict";const e=require("./vendor-D-x6W6ez.js"),g=require("react"),o=require("./chakra-DmF8Cxqs.js"),C=require("./text.component-CBa_saMP.js"),k=require("./heading.component-CExbjSBi.js"),E=require("./button.component-DDjwI0xh.js"),P=require("./popover.recipe-Pfz3evii.js"),N=({children:a,color:c,hideCloseButton:n=!1,onContrast:l=!0,onClose:t,size:x="sm",trigger:s,...i})=>{const d=o.useSlotRecipe({recipe:P.popoverRecipe})(),{setOpen:u}=s==="hover"?e.useHoverCardContext():e.usePopoverContext();return e.jsxRuntimeExports.jsxs(o.Flex,{className:"Popover__HeaderWrapper","data-testid":"kibble-popover-header-wrapper",css:d.header,...i,children:[e.jsxRuntimeExports.jsx(k.WrappedHeading,{className:"Popover__Header","data-testid":"kibble-popover-header",size:x,color:c||"inherit",children:a}),!n&&e.jsxRuntimeExports.jsx(E.Button,{className:"Popover__CloseButton","data-testid":"kibble-popover-close-button",variant:"ghostNeutral",onContrast:l,onClick:t||(()=>u(!1)),iconName:"close",position:"absolute",right:1,top:1,size:"xs"})]})},y=({children:a,disabled:c,hideButtons:n=!1,hideCancelButton:l=!1,destructive:t,loading:x,onCancel:s,onContrast:i=!0,onSubmit:v,submitText:d="Submit",trigger:u,...j})=>{const m=o.useSlotRecipe({recipe:P.popoverRecipe})(),{setOpen:r}=u==="hover"?e.useHoverCardContext():e.usePopoverContext(),h=()=>{s&&s(),r(!1)};return e.jsxRuntimeExports.jsxs(o.Flex,{className:"Popover__Footer","data-testid":"kibble-popover-footer",css:m.footer,...j,children:[a,!n&&e.jsxRuntimeExports.jsxs(o.Flex,{w:"100%",children:[!l&&e.jsxRuntimeExports.jsx(E.Button,{variant:"tertiary",onContrast:i,size:"sm",onClick:h,children:"Cancel"}),e.jsxRuntimeExports.jsx(o.Spacer,{}),e.jsxRuntimeExports.jsx(E.Button,{onClick:v,loading:x,disabled:c,size:"sm",onContrast:i,variant:t?"primaryDestructive":"primary",children:d})]})]})},_=g.forwardRef((a,c)=>{const{allowEscape:n=!0,anchor:l,children:t,contentProps:x,footerProps:s,headerProps:i,disabled:v=!1,portalled:d=!0,placement:u="bottom",positioning:j,size:R="sm",trigger:m="click",variant:r="contrast",...h}=a,p=m==="hover"?o.HoverCard:o.CPopover,f=o.useSlotRecipe({recipe:P.popoverRecipe})({variant:r,size:R});if(!t)return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{});if(v)return t;const b=r==="contrast"||r==="contrastDestructive";return e.jsxRuntimeExports.jsxs(p.Root,{closeOnEscape:n,closeOnInteractOutside:n,positioning:{...j,placement:j?.placement||u},size:R,variant:r,...h,children:[e.jsxRuntimeExports.jsx(p.Trigger,{className:"Popover__Trigger","data-testid":"kibble-popover-trigger",width:"max-content",asChild:!0,children:l}),e.jsxRuntimeExports.jsx(e.Portal,{disabled:!d,children:e.jsxRuntimeExports.jsx(p.Positioner,{className:"Popover","data-testid":"kibble-popover",children:e.jsxRuntimeExports.jsxs(p.Content,{className:"Popover__Content","data-testid":"kibble-popover-content",ref:c,p:0,...x,children:[e.jsxRuntimeExports.jsx(p.Arrow,{className:"Popover__Arrow","data-testid":"kibble-popover-arrow",children:e.jsxRuntimeExports.jsx(p.ArrowTip,{})}),i&&e.jsxRuntimeExports.jsx(N,{trigger:m,onContrast:b,...i}),e.jsxRuntimeExports.jsx(o.Box,{className:"Popover__Body","data-testid":"kibble-popover-body",css:f.body,children:typeof t=="string"?e.jsxRuntimeExports.jsx(C.WrappedText,{variant:b?"onContrast":"default",size:"sm",children:t}):t}),s&&e.jsxRuntimeExports.jsx(y,{trigger:m,destructive:r==="contrastDestructive"||r==="defaultDestructive",onContrast:b,...s})]})})})]})});_.displayName="Popover";exports.Popover=_;
|
|
2
|
+
//# sourceMappingURL=popover.component-CzKeBedr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.component-C1e_jTLD.js","sources":["../../src/components/Popover/components/PopoverHeader/popoverHeader.component.tsx","../../src/components/Popover/components/PopoverFooter/popoverFooter.component.tsx","../../src/components/Popover/popover.component.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Heading, HeadingSize } from \"components/Heading\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverHeaderProps extends FlexProps {\n children?: ReactNode;\n hideCloseButton?: boolean;\n onClose?: () => void;\n onContrast?: boolean;\n size?: HeadingSize;\n}\n\ninterface InternalPopoverHeaderProps extends PopoverHeaderProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverHeader = ({\n children,\n color,\n hideCloseButton = false,\n onContrast = true,\n onClose,\n size = \"sm\",\n trigger,\n ...rest\n}: InternalPopoverHeaderProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n return (\n <Flex\n className=\"Popover__HeaderWrapper\"\n data-testid=\"kibble-popover-header-wrapper\"\n css={styles.header}\n {...rest}\n >\n <Heading\n className=\"Popover__Header\"\n data-testid=\"kibble-popover-header\"\n size={size}\n color={color || \"inherit\"}\n >\n {children}\n </Heading>\n {!hideCloseButton && (\n <Button\n className=\"Popover__CloseButton\"\n data-testid=\"kibble-popover-close-button\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose ? onClose : (): void => setOpen(false)}\n iconName=\"close\"\n position=\"absolute\"\n right={1}\n top={1}\n size=\"xs\"\n />\n )}\n </Flex>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Spacer } from \"@chakra-ui/react/spacer\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverFooterProps extends FlexProps {\n children?: ReactNode;\n disabled?: boolean;\n hideButtons?: boolean;\n hideCancelButton?: boolean;\n destructive?: boolean;\n loading?: boolean;\n onCancel?: () => void;\n onContrast?: boolean;\n onSubmit?: () => void;\n submitText?: string;\n}\n\ninterface InternalPopoverFooterProps extends PopoverFooterProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverFooter = ({\n children,\n disabled,\n hideButtons = false,\n hideCancelButton = false,\n destructive,\n loading,\n onCancel,\n onContrast = true,\n onSubmit,\n submitText = \"Submit\",\n trigger,\n ...rest\n}: InternalPopoverFooterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n setOpen(false);\n };\n\n return (\n <Flex\n className=\"Popover__Footer\"\n data-testid=\"kibble-popover-footer\"\n css={styles.footer}\n {...rest}\n >\n {children}\n {!hideButtons && (\n <Flex w=\"100%\">\n {!hideCancelButton && (\n <Button\n variant=\"tertiary\"\n onContrast={onContrast}\n size=\"sm\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n onClick={onSubmit}\n loading={loading}\n disabled={disabled}\n size=\"sm\"\n onContrast={onContrast}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Popover as CPopover } from \"@chakra-ui/react/popover\";\nimport { HoverCard } from \"@chakra-ui/react/hover-card\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport { Placement } from \"shared/types/placement\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n PopoverSize,\n PopoverTriggerType,\n PopoverVariant,\n} from \"./popover.types\";\nimport {\n PopoverHeader,\n PopoverHeaderProps,\n} from \"./components/PopoverHeader/popoverHeader.component\";\nimport {\n PopoverFooter,\n PopoverFooterProps,\n} from \"./components/PopoverFooter/popoverFooter.component\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { popoverRecipe } from \"./popover.recipe\";\n\nexport interface KPopoverProps {\n allowEscape?: boolean;\n anchor: React.ReactNode;\n contentProps?: CPopover.ContentProps;\n disabled?: boolean;\n footerProps?: PopoverFooterProps;\n headerProps?: PopoverHeaderProps;\n portalled?: boolean;\n placement?: Placement;\n size?: PopoverSize;\n trigger?: PopoverTriggerType;\n variant?: PopoverVariant;\n}\n\ninterface ClickPopoverProps extends CPopover.RootProps {\n trigger?: \"click\";\n}\n\ninterface HoverPopoverProps extends HoverCard.RootProps {\n trigger?: \"hover\";\n}\n\nexport type PopoverProps = KPopoverProps &\n (ClickPopoverProps | HoverPopoverProps);\n\nexport const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(\n (props, ref): React.ReactNode => {\n const {\n allowEscape = true,\n anchor,\n children,\n contentProps,\n footerProps,\n headerProps,\n disabled = false,\n portalled = true,\n placement = \"bottom\",\n positioning,\n size = \"sm\",\n trigger = \"click\",\n variant = \"contrast\",\n ...rest\n } = props;\n const Element = trigger === \"hover\" ? HoverCard : CPopover;\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe({ variant, size });\n\n if (!children) return <></>;\n if (disabled) return children;\n\n const onContrast =\n variant === \"contrast\" || variant === \"contrastDestructive\";\n\n return (\n <Element.Root\n closeOnEscape={allowEscape}\n closeOnInteractOutside={allowEscape}\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n size={size}\n variant={variant}\n {...rest}\n >\n <Element.Trigger\n className=\"Popover__Trigger\"\n data-testid=\"kibble-popover-trigger\"\n width=\"max-content\"\n asChild\n >\n {anchor}\n </Element.Trigger>\n <Portal disabled={!portalled}>\n <Element.Positioner className=\"Popover\" data-testid=\"kibble-popover\">\n <Element.Content\n className=\"Popover__Content\"\n data-testid=\"kibble-popover-content\"\n ref={ref}\n p={0}\n {...contentProps}\n >\n <Element.Arrow\n className=\"Popover__Arrow\"\n data-testid=\"kibble-popover-arrow\"\n >\n <Element.ArrowTip />\n </Element.Arrow>\n {headerProps && (\n <PopoverHeader\n trigger={trigger}\n onContrast={onContrast}\n {...headerProps}\n />\n )}\n <Box\n className=\"Popover__Body\"\n data-testid=\"kibble-popover-body\"\n css={styles.body}\n >\n {typeof children === \"string\" ? (\n <Text\n variant={onContrast ? \"onContrast\" : \"default\"}\n size=\"sm\"\n >\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n {footerProps && (\n <PopoverFooter\n trigger={trigger}\n destructive={\n variant === \"contrastDestructive\" ||\n variant === \"defaultDestructive\"\n }\n onContrast={onContrast}\n {...footerProps}\n />\n )}\n </Element.Content>\n </Element.Positioner>\n </Portal>\n </Element.Root>\n );\n },\n);\n\nPopover.displayName = \"Popover\";\n"],"names":["PopoverHeader","children","color","hideCloseButton","onContrast","onClose","size","trigger","rest","styles","useSlotRecipe","popoverRecipe","setOpen","useHoverCardContext","usePopoverContext","jsxs","Flex","jsx","Heading","Button","PopoverFooter","disabled","hideButtons","hideCancelButton","destructive","loading","onCancel","onSubmit","submitText","handleCancel","Spacer","Popover","React","props","ref","allowEscape","anchor","contentProps","footerProps","headerProps","portalled","placement","positioning","variant","Element","HoverCard","CPopover","Fragment","Portal","Box","Text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popover.component-CzKeBedr.js","sources":["../../src/components/Popover/components/PopoverHeader/popoverHeader.component.tsx","../../src/components/Popover/components/PopoverFooter/popoverFooter.component.tsx","../../src/components/Popover/popover.component.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Heading, HeadingSize } from \"components/Heading\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverHeaderProps extends FlexProps {\n children?: ReactNode;\n hideCloseButton?: boolean;\n onClose?: () => void;\n onContrast?: boolean;\n size?: HeadingSize;\n}\n\ninterface InternalPopoverHeaderProps extends PopoverHeaderProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverHeader = ({\n children,\n color,\n hideCloseButton = false,\n onContrast = true,\n onClose,\n size = \"sm\",\n trigger,\n ...rest\n}: InternalPopoverHeaderProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n return (\n <Flex\n className=\"Popover__HeaderWrapper\"\n data-testid=\"kibble-popover-header-wrapper\"\n css={styles.header}\n {...rest}\n >\n <Heading\n className=\"Popover__Header\"\n data-testid=\"kibble-popover-header\"\n size={size}\n color={color || \"inherit\"}\n >\n {children}\n </Heading>\n {!hideCloseButton && (\n <Button\n className=\"Popover__CloseButton\"\n data-testid=\"kibble-popover-close-button\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose ? onClose : (): void => setOpen(false)}\n iconName=\"close\"\n position=\"absolute\"\n right={1}\n top={1}\n size=\"xs\"\n />\n )}\n </Flex>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport { usePopoverContext } from \"@chakra-ui/react/popover\";\nimport { useHoverCardContext } from \"@chakra-ui/react/hover-card\";\nimport { Spacer } from \"@chakra-ui/react/spacer\";\nimport { Button } from \"components/Button/button.component\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { popoverRecipe } from \"../../popover.recipe\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { PopoverTriggerType } from \"../../popover.types\";\n\nexport interface PopoverFooterProps extends FlexProps {\n children?: ReactNode;\n disabled?: boolean;\n hideButtons?: boolean;\n hideCancelButton?: boolean;\n destructive?: boolean;\n loading?: boolean;\n onCancel?: () => void;\n onContrast?: boolean;\n onSubmit?: () => void;\n submitText?: string;\n}\n\ninterface InternalPopoverFooterProps extends PopoverFooterProps {\n trigger: PopoverTriggerType;\n}\n\nexport const PopoverFooter = ({\n children,\n disabled,\n hideButtons = false,\n hideCancelButton = false,\n destructive,\n loading,\n onCancel,\n onContrast = true,\n onSubmit,\n submitText = \"Submit\",\n trigger,\n ...rest\n}: InternalPopoverFooterProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe();\n const { setOpen } =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n trigger === \"hover\" ? useHoverCardContext() : usePopoverContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n setOpen(false);\n };\n\n return (\n <Flex\n className=\"Popover__Footer\"\n data-testid=\"kibble-popover-footer\"\n css={styles.footer}\n {...rest}\n >\n {children}\n {!hideButtons && (\n <Flex w=\"100%\">\n {!hideCancelButton && (\n <Button\n variant=\"tertiary\"\n onContrast={onContrast}\n size=\"sm\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n onClick={onSubmit}\n loading={loading}\n disabled={disabled}\n size=\"sm\"\n onContrast={onContrast}\n variant={destructive ? \"primaryDestructive\" : \"primary\"}\n >\n {submitText}\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React from \"react\";\nimport { Popover as CPopover } from \"@chakra-ui/react/popover\";\nimport { HoverCard } from \"@chakra-ui/react/hover-card\";\nimport { Portal } from \"@chakra-ui/react/portal\";\nimport { Placement } from \"shared/types/placement\";\nimport { Text } from \"components/Text/text.component\";\nimport {\n PopoverSize,\n PopoverTriggerType,\n PopoverVariant,\n} from \"./popover.types\";\nimport {\n PopoverHeader,\n PopoverHeaderProps,\n} from \"./components/PopoverHeader/popoverHeader.component\";\nimport {\n PopoverFooter,\n PopoverFooterProps,\n} from \"./components/PopoverFooter/popoverFooter.component\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport { popoverRecipe } from \"./popover.recipe\";\n\nexport interface KPopoverProps {\n allowEscape?: boolean;\n anchor: React.ReactNode;\n contentProps?: CPopover.ContentProps;\n disabled?: boolean;\n footerProps?: PopoverFooterProps;\n headerProps?: PopoverHeaderProps;\n portalled?: boolean;\n placement?: Placement;\n size?: PopoverSize;\n trigger?: PopoverTriggerType;\n variant?: PopoverVariant;\n}\n\ninterface ClickPopoverProps extends CPopover.RootProps {\n trigger?: \"click\";\n}\n\ninterface HoverPopoverProps extends HoverCard.RootProps {\n trigger?: \"hover\";\n}\n\nexport type PopoverProps = KPopoverProps &\n (ClickPopoverProps | HoverPopoverProps);\n\nexport const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(\n (props, ref): React.ReactNode => {\n const {\n allowEscape = true,\n anchor,\n children,\n contentProps,\n footerProps,\n headerProps,\n disabled = false,\n portalled = true,\n placement = \"bottom\",\n positioning,\n size = \"sm\",\n trigger = \"click\",\n variant = \"contrast\",\n ...rest\n } = props;\n const Element = trigger === \"hover\" ? HoverCard : CPopover;\n const recipe = useSlotRecipe({ recipe: popoverRecipe });\n const styles = recipe({ variant, size });\n\n if (!children) return <></>;\n if (disabled) return children;\n\n const onContrast =\n variant === \"contrast\" || variant === \"contrastDestructive\";\n\n return (\n <Element.Root\n closeOnEscape={allowEscape}\n closeOnInteractOutside={allowEscape}\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n size={size}\n variant={variant}\n {...rest}\n >\n <Element.Trigger\n className=\"Popover__Trigger\"\n data-testid=\"kibble-popover-trigger\"\n width=\"max-content\"\n asChild\n >\n {anchor}\n </Element.Trigger>\n <Portal disabled={!portalled}>\n <Element.Positioner className=\"Popover\" data-testid=\"kibble-popover\">\n <Element.Content\n className=\"Popover__Content\"\n data-testid=\"kibble-popover-content\"\n ref={ref}\n p={0}\n {...contentProps}\n >\n <Element.Arrow\n className=\"Popover__Arrow\"\n data-testid=\"kibble-popover-arrow\"\n >\n <Element.ArrowTip />\n </Element.Arrow>\n {headerProps && (\n <PopoverHeader\n trigger={trigger}\n onContrast={onContrast}\n {...headerProps}\n />\n )}\n <Box\n className=\"Popover__Body\"\n data-testid=\"kibble-popover-body\"\n css={styles.body}\n >\n {typeof children === \"string\" ? (\n <Text\n variant={onContrast ? \"onContrast\" : \"default\"}\n size=\"sm\"\n >\n {children}\n </Text>\n ) : (\n children\n )}\n </Box>\n {footerProps && (\n <PopoverFooter\n trigger={trigger}\n destructive={\n variant === \"contrastDestructive\" ||\n variant === \"defaultDestructive\"\n }\n onContrast={onContrast}\n {...footerProps}\n />\n )}\n </Element.Content>\n </Element.Positioner>\n </Portal>\n </Element.Root>\n );\n },\n);\n\nPopover.displayName = \"Popover\";\n"],"names":["PopoverHeader","children","color","hideCloseButton","onContrast","onClose","size","trigger","rest","styles","useSlotRecipe","popoverRecipe","setOpen","useHoverCardContext","usePopoverContext","jsxs","Flex","jsx","Heading","Button","PopoverFooter","disabled","hideButtons","hideCancelButton","destructive","loading","onCancel","onSubmit","submitText","handleCancel","Spacer","Popover","React","props","ref","allowEscape","anchor","contentProps","footerProps","headerProps","portalled","placement","positioning","variant","Element","HoverCard","CPopover","Fragment","Portal","Box","Text"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./vendor-D-x6W6ez.js"),f=require("./withFormControl-
|
|
2
|
-
//# sourceMappingURL=radioGroup.component-
|
|
1
|
+
"use strict";const t=require("./vendor-D-x6W6ez.js"),f=require("./withFormControl-BJSHfbF_.js"),_=require("react"),j=require("./card.component-ZIoJIWVV.js"),b=require("./radio.records-BxCn4oUd.js"),v=require("./text.component-CBa_saMP.js"),n=require("./chakra-DmF8Cxqs.js"),I=require("./buttonGroup.component-DKnPmFIM.js"),g=f.withFormControl(({children:e,checked:a=!1,disabled:u=!1,invalid:s=!1,onContrast:x=!1,radioRef:p,size:r="md",withCard:i=!1,...c})=>{const d=i?m=>{const l=(b.RadioSizeMap[r]+b.RadioTextSpacing[r]+j.CardPaddingMap[r])*4;return t.jsxRuntimeExports.jsx(j.Card,{className:"Radio__Card","data-testid":"kibble-radio-card",...!u&&{interactive:!0,invalid:s,active:!!a},onContrast:x,size:r,fullWidth:!0,display:"flex",...typeof e=="string"&&{alignItems:"center"},width:"inherit",pr:`${l}px`,children:m.children})}:_.Fragment;return t.jsxRuntimeExports.jsx(n.RadioGroupItem,{className:"Radio","data-testid":"kibble-radio",invalid:s,disabled:u,ref:p,...c,children:t.jsxRuntimeExports.jsxs(d,{children:[t.jsxRuntimeExports.jsx(n.RadioGroupItemHiddenInput,{className:"Radio__Input","data-testid":"kibble-radio-input"}),t.jsxRuntimeExports.jsx(n.RadioGroupItemIndicator,{className:"Radio__Indicator","data-testid":"kibble-radio-indicator"}),e&&t.jsxRuntimeExports.jsx(n.RadioGroupItemText,{className:"Radio__Text","data-testid":"kibble-radio-label",...i&&typeof e!="string"&&{mt:"-3px"},children:typeof e=="string"?t.jsxRuntimeExports.jsx(v.WrappedText,{size:r,children:e}):e})]})})}),h=_.forwardRef((e,a)=>t.jsxRuntimeExports.jsx(g,{radioRef:a,...e}));h.displayName="Radio";const k=({radios:e,defaultValue:a,direction:u="column",disabled:s,invalid:x,onContrast:p,onChange:r,size:i="md",radioType:c="default",value:d,gap:m=2,...l})=>{const E=p?"onContrast":"default";return t.jsxRuntimeExports.jsxs(n.RadioGroupRoot,{className:"RadioGroup","data-testid":"kibble-radio-group",disabled:s,defaultValue:a,value:d,onValueChange:({value:o})=>r?.(o),size:i,variant:E,...l,children:[c==="default"&&t.jsxRuntimeExports.jsx(n.Stack,{gap:m,direction:u,children:e.map((o,R)=>t.jsxRuntimeExports.jsx(h,{invalid:x,disabled:s,checked:a===o.value||d===o.value,size:i,...o},`radio-${R}`))}),c==="buttons"&&t.jsxRuntimeExports.jsx(I.ButtonGroup,{onContrast:p,variant:"secondarySubtle",size:i,buttons:e.map((o,R)=>{const G=a===o.value||d===o.value;return{key:`button-radio-${R}`,children:o.children,active:G,disabled:s,onClick:()=>r?.(o.value)}})})]})};k.displayName="CheckboxGroup";const q=f.withFormControl(k);exports.WrappedRadioGroup=q;
|
|
2
|
+
//# sourceMappingURL=radioGroup.component-DP9JgY1J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radioGroup.component-DP9JgY1J.js","sources":["../../src/components/RadioGroup/components/Radio/radio.component.tsx","../../src/components/RadioGroup/radioGroup.component.tsx"],"sourcesContent":["import React, { ForwardedRef } from \"react\";\nimport { RadioGroup } from \"@chakra-ui/react/radio-group\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Card, CardProps } from \"components/Card/card.component\";\nimport { CardPaddingMap } from \"components/Card/card.records\";\nimport { RadioSizeMap, RadioTextSpacing } from \"./radio.records\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Text } from \"components/Text/text.component\";\n\nexport interface RadioProps extends WithFormControlProps, RadioGroup.ItemProps {\n checked?: boolean;\n radioRef?: ForwardedRef<HTMLDivElement>;\n size?: FormControlSize;\n withCard?: boolean;\n}\n\nconst Radio = withFormControl(\n ({\n children,\n checked = false,\n disabled = false,\n invalid = false,\n onContrast = false,\n radioRef,\n size = \"md\",\n withCard = false,\n ...rest\n }: RadioProps): React.JSX.Element => {\n const RadioCard: React.FC<CardProps> = withCard\n ? (props): React.JSX.Element => {\n const pr =\n (RadioSizeMap[size] +\n RadioTextSpacing[size] +\n CardPaddingMap[size]) *\n 4;\n return (\n <Card\n className=\"Radio__Card\"\n data-testid=\"kibble-radio-card\"\n {...(!disabled && {\n interactive: true,\n invalid,\n active: !!checked,\n })}\n onContrast={onContrast}\n size={size}\n fullWidth\n display=\"flex\"\n {...(typeof children === \"string\" && { alignItems: \"center\" })}\n width=\"inherit\"\n pr={`${pr}px`}\n >\n {props.children}\n </Card>\n );\n }\n : React.Fragment;\n\n return (\n <RadioGroup.Item\n className=\"Radio\"\n data-testid=\"kibble-radio\"\n invalid={invalid}\n disabled={disabled}\n ref={radioRef}\n {...rest}\n >\n <RadioCard>\n <RadioGroup.ItemHiddenInput\n className=\"Radio__Input\"\n data-testid=\"kibble-radio-input\"\n />\n <RadioGroup.ItemIndicator\n className=\"Radio__Indicator\"\n data-testid=\"kibble-radio-indicator\"\n />\n {children && (\n <RadioGroup.ItemText\n className=\"Radio__Text\"\n data-testid=\"kibble-radio-label\"\n {...(withCard && typeof children !== \"string\" && { mt: \"-3px\" })}\n >\n {typeof children === \"string\" ? (\n <Text size={size}>{children}</Text>\n ) : (\n children\n )}\n </RadioGroup.ItemText>\n )}\n </RadioCard>\n </RadioGroup.Item>\n );\n },\n);\n\nconst WrappedRadio = React.forwardRef(\n (props: RadioProps, ref: ForwardedRef<HTMLDivElement>) => (\n <Radio radioRef={ref} {...props} />\n ),\n);\n\nWrappedRadio.displayName = \"Radio\";\n\nexport { WrappedRadio as Radio };\n","import React from \"react\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Radio, RadioProps } from \"./components/Radio/radio.component\";\nimport { RadioGroup as CRadioGroup } from \"@chakra-ui/react/radio-group\";\nimport { Stack } from \"@chakra-ui/react/stack\";\nimport { ConditionalValue } from \"@chakra-ui/react/styled-system\";\nimport { FlexDirection } from \"shared/types/alignment\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { ButtonGroup } from \"components/ButtonGroup\";\n\nexport interface KRadioGroupProps\n extends WithFormControlProps,\n Omit<CRadioGroup.RootProps, \"onValueChange\" | \"onChange\"> {\n direction?: ConditionalValue<FlexDirection>;\n onChange?: (value: string | null) => void;\n size?: FormControlSize;\n}\n\ninterface ButtonRadioGroupProps extends KRadioGroupProps {\n radioType?: \"buttons\";\n radios: Omit<RadioProps, \"withCard\">[];\n}\n\ninterface DefaultRadioGroupProps extends KRadioGroupProps {\n radioType?: \"default\";\n radios: RadioProps[];\n}\n\nexport type RadioGroupProps = ButtonRadioGroupProps | DefaultRadioGroupProps;\n\nconst RadioGroup = ({\n radios,\n defaultValue,\n direction = \"column\",\n disabled,\n invalid,\n onContrast,\n onChange,\n size = \"md\",\n radioType = \"default\",\n value,\n gap = 2,\n ...rest\n}: RadioGroupProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n return (\n <CRadioGroup.Root\n className=\"RadioGroup\"\n data-testid=\"kibble-radio-group\"\n disabled={disabled}\n defaultValue={defaultValue}\n value={value}\n onValueChange={({ value }) => onChange?.(value)}\n size={size}\n variant={_computedVariant}\n {...rest}\n >\n {radioType === \"default\" && (\n <Stack gap={gap} direction={direction}>\n {radios.map((radio, index) => (\n <Radio\n key={`radio-${index}`}\n invalid={invalid}\n disabled={disabled}\n checked={defaultValue === radio.value || value === radio.value}\n size={size}\n {...radio}\n />\n ))}\n </Stack>\n )}\n {radioType === \"buttons\" && (\n <ButtonGroup\n onContrast={onContrast}\n variant=\"secondarySubtle\"\n size={size}\n buttons={radios.map((radio, index) => {\n const active =\n defaultValue === radio.value || value === radio.value;\n return {\n key: `button-radio-${index}`,\n children: radio.children,\n active,\n disabled,\n onClick: () => onChange?.(radio.value),\n };\n })}\n />\n )}\n </CRadioGroup.Root>\n );\n};\n\nRadioGroup.displayName = \"CheckboxGroup\";\n\nconst WrappedRadioGroup = withFormControl(RadioGroup);\n\nexport { WrappedRadioGroup as RadioGroup };\n"],"names":["Radio","withFormControl","children","checked","disabled","invalid","onContrast","radioRef","size","withCard","rest","RadioCard","props","pr","RadioSizeMap","RadioTextSpacing","CardPaddingMap","jsx","Card","React","RadioGroup.Item","RadioGroup.ItemHiddenInput","RadioGroup.ItemIndicator","RadioGroup.ItemText","Text","WrappedRadio","ref","RadioGroup","radios","defaultValue","direction","onChange","radioType","value","gap","_computedVariant","jsxs","CRadioGroup.Root","Stack","radio","index","ButtonGroup","active","WrappedRadioGroup"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { x as a } from "./vendor-BBfll6i3.js";
|
|
2
|
-
import { w as f } from "./withFormControl-
|
|
2
|
+
import { w as f } from "./withFormControl-CDQGc9aO.js";
|
|
3
3
|
import x from "react";
|
|
4
4
|
import { C as _, a as h } from "./card.component-HX-4Y0j7.js";
|
|
5
5
|
import { R as I, a as g } from "./radio.records-Cc3kP4Vn.js";
|
|
6
6
|
import { W as v } from "./text.component-XYjOAc2s.js";
|
|
7
7
|
import { R as N, z as y, D as C, E as W, G as S, j as w } from "./chakra-BqBkjpvZ.js";
|
|
8
|
-
import { B as T } from "./buttonGroup.component-
|
|
8
|
+
import { B as T } from "./buttonGroup.component-BLRJnRJW.js";
|
|
9
9
|
const $ = f(
|
|
10
10
|
({
|
|
11
11
|
children: t,
|
|
@@ -148,4 +148,4 @@ const A = f(j);
|
|
|
148
148
|
export {
|
|
149
149
|
A as W
|
|
150
150
|
};
|
|
151
|
-
//# sourceMappingURL=radioGroup.component-
|
|
151
|
+
//# sourceMappingURL=radioGroup.component-kn8czn3N.js.map
|