@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
package/README.md
CHANGED
|
@@ -35,3 +35,43 @@ $ npm run build
|
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
After the build finishes, look for the file named `stats.html` and open it in the browser of your choice.
|
|
38
|
+
|
|
39
|
+
## Theme Token Autocompletion
|
|
40
|
+
|
|
41
|
+
To enable theme token autocompletion in your application, you have two options:
|
|
42
|
+
|
|
43
|
+
### Option 1: Automatic Generation (Recommended)
|
|
44
|
+
|
|
45
|
+
Add the following to your package.json:
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"scripts": {
|
|
50
|
+
"postinstall": "kibble-postinstall"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This will automatically generate theme types whenever you install or update `@televet/kibble-ui`.
|
|
56
|
+
|
|
57
|
+
If you need to skip the automatic generation (e.g., in CI environments), you can set the `SKIP_KIBBLE_POSTINSTALL` environment variable:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
SKIP_KIBBLE_POSTINSTALL=1 npm install
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Option 2: Manual Generation
|
|
64
|
+
|
|
65
|
+
Run the following command after installing or updating `@televet/kibble-ui`:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx kibble-generate-theme
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Both options will enable autocompletion for all Kibble UI theme tokens in your components:
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
// You'll get autocompletion for theme tokens like this:
|
|
75
|
+
<Swatch bgColor="background.primary" />
|
|
76
|
+
<Text fontSize="sm" />
|
|
77
|
+
```
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./vendor-D-x6W6ez.js"),h=require("react"),f=require("./heading.component-CExbjSBi.js"),g=require("./icon.component-
|
|
2
|
-
//# sourceMappingURL=alert.types-
|
|
1
|
+
"use strict";const t=require("./vendor-D-x6W6ez.js"),h=require("react"),f=require("./heading.component-CExbjSBi.js"),g=require("./icon.component-CzjzLiO_.js"),b=require("./text.component-CBa_saMP.js"),d=require("./button.component-DDjwI0xh.js"),s=require("./chakra-DmF8Cxqs.js"),A={error:"warningSign",warning:"warningSign",success:"checkmark",info:"infoCircle",default:"infoCircle"},E={default:"default",error:"danger",info:"info",success:"success",warning:"warning"},c=({buttonPosition:e,buttonText:i,status:o,...a})=>t.jsxRuntimeExports.jsx(s.Box,{className:"Alert__Button","data-testid":"kibble-alert-button",...e==="bottomLeft"&&{pt:2,pb:1},children:t.jsxRuntimeExports.jsx(d.Button,{size:"xs",variant:o==="default"?"primary":"secondary",w:"max-content",...a,children:i})}),_=({buttonProps:e,description:i,descriptionProps:o,hideCloseButton:a=!1,hideIcon:x=!1,iconProps:u,onClose:j,onContrast:n=!1,status:r="success",title:l,titleProps:p,...R})=>{const m=e?.buttonPosition==="topRight"?s.Flex:h.Fragment;return t.jsxRuntimeExports.jsxs(s.AlertRoot,{className:"Alert","data-testid":"kibble-alert",...R,variant:r,hideIcon:x,onContrast:n,children:[!x&&t.jsxRuntimeExports.jsx(s.AlertIndicator,{className:"Alert__Icon","data-testid":"kibble-alert-icon",children:t.jsxRuntimeExports.jsx(g.Icon,{variant:n?"onContrast":E[r],name:u?.name||A[r],size:"lg",...u})}),t.jsxRuntimeExports.jsxs(s.AlertContent,{className:"Alert__Content","data-testid":"kibble-alert-content",children:[l&&t.jsxRuntimeExports.jsxs(m,{justifyContent:"space-between",children:[t.jsxRuntimeExports.jsx(s.AlertTitle,{className:"Alert__Title","data-testid":"kibble-alert-title",children:t.jsxRuntimeExports.jsx(f.WrappedHeading,{size:"sm",variant:n?"onContrast":"default",...p,children:l})}),e?.buttonPosition==="topRight"&&t.jsxRuntimeExports.jsx(c,{status:r,onContrast:n,...e})]}),i&&t.jsxRuntimeExports.jsxs(m,{justifyContent:"space-between",children:[t.jsxRuntimeExports.jsx(s.AlertDescription,{className:"Alert__Description","data-testid":"kibble-alert-description",children:typeof i=="string"?t.jsxRuntimeExports.jsx(b.WrappedText,{size:"md",variant:n?"onContrast":"default",...o,children:i}):i}),e?.buttonPosition==="topRight"&&!l&&t.jsxRuntimeExports.jsx(c,{status:r,onContrast:n,...e})]}),e?.buttonPosition==="bottomLeft"&&t.jsxRuntimeExports.jsx(c,{status:r,onContrast:n,...e})]}),!a&&t.jsxRuntimeExports.jsx(d.Button,{iconName:"close",size:"xs",variant:"ghostNeutral",onContrast:n,onClick:j})]})},k=["topRight","bottomLeft"];exports.Alert=_;exports.alertButtonPositions=k;
|
|
2
|
+
//# sourceMappingURL=alert.types-CiHDB6qK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.types-
|
|
1
|
+
{"version":3,"file":"alert.types-CiHDB6qK.js","sources":["../../src/components/Alert/alert.records.ts","../../src/components/Alert/components/AlertButton/alertButton.component.tsx","../../src/components/Alert/alert.component.tsx","../../src/components/Alert/alert.types.ts"],"sourcesContent":["import { IconName } from \"components/Icon/icon.types\";\nimport { TypographyVariant } from \"shared/types\";\nimport { Status } from \"shared/types/status\";\n\nexport const AlertStatusIcon: Record<Status, IconName> = {\n error: \"warningSign\",\n warning: \"warningSign\",\n success: \"checkmark\",\n info: \"infoCircle\",\n default: \"infoCircle\",\n};\n\nexport const AlertStatusToIconVariant: Record<Status, TypographyVariant> = {\n default: \"default\",\n error: \"danger\",\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n};\n","import React from \"react\";\nimport { AlertButtonPosition } from \"components/Alert/alert.types\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Status } from \"shared/types/status\";\nimport { Box } from \"@chakra-ui/react/box\";\n\nexport interface AlertButtonProps extends Omit<ButtonProps, \"children\"> {\n buttonPosition?: AlertButtonPosition;\n buttonText: string;\n}\n\ninterface InternalAlertButtonProps extends AlertButtonProps {\n status: Status;\n}\n\nexport const AlertButton = ({\n buttonPosition,\n buttonText,\n status,\n ...rest\n}: InternalAlertButtonProps): React.JSX.Element => {\n return (\n <Box\n className=\"Alert__Button\"\n data-testid=\"kibble-alert-button\"\n {...(buttonPosition === \"bottomLeft\" && { pt: 2, pb: 1 })}\n >\n <Button\n size=\"xs\"\n variant={status === \"default\" ? \"primary\" : \"secondary\"}\n w=\"max-content\"\n {...rest}\n >\n {buttonText}\n </Button>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Alert as CAlert } from \"@chakra-ui/react/alert\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport { Status } from \"shared/types/status\";\nimport { Button } from \"components/Button/button.component\";\nimport { AlertStatusIcon, AlertStatusToIconVariant } from \"./alert.records\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport {\n AlertButton,\n AlertButtonProps,\n} from \"./components/AlertButton/alertButton.component\";\n\ninterface AlertBaseProps\n extends Omit<\n CAlert.RootProps,\n \"title\" | \"status\" | \"children\" | \"variant\" | \"size\"\n > {\n buttonProps?: AlertButtonProps;\n description?: string | React.ReactNode;\n descriptionProps?: TextProps;\n hideIcon?: boolean;\n iconProps?: IconProps;\n onContrast?: boolean;\n status?: Status;\n title?: string | React.ReactNode;\n titleProps?: HeadingProps;\n}\n\ninterface DefaultAlertProps extends AlertBaseProps {\n hideCloseButton?: true;\n onClose?: never;\n}\n\ninterface ClosableAlertProps extends AlertBaseProps {\n hideCloseButton: false;\n onClose: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport type AlertProps = DefaultAlertProps | ClosableAlertProps;\n\nexport const Alert = ({\n buttonProps,\n description,\n descriptionProps,\n hideCloseButton = false,\n hideIcon = false,\n iconProps,\n onClose,\n onContrast = false,\n status = \"success\",\n title,\n titleProps,\n ...rest\n}: AlertProps): React.JSX.Element => {\n const isTopRightButton = buttonProps?.buttonPosition === \"topRight\";\n const WithButtonWrapper = isTopRightButton ? Flex : React.Fragment;\n\n return (\n <CAlert.Root\n className=\"Alert\"\n data-testid=\"kibble-alert\"\n {...rest}\n variant={status}\n hideIcon={hideIcon}\n onContrast={onContrast}\n >\n {!hideIcon && (\n <CAlert.Indicator\n className=\"Alert__Icon\"\n data-testid=\"kibble-alert-icon\"\n >\n <Icon\n variant={\n onContrast ? \"onContrast\" : AlertStatusToIconVariant[status]\n }\n name={iconProps?.name || AlertStatusIcon[status]}\n size=\"lg\"\n {...iconProps}\n />\n </CAlert.Indicator>\n )}\n <CAlert.Content\n className=\"Alert__Content\"\n data-testid=\"kibble-alert-content\"\n >\n {title && (\n <WithButtonWrapper justifyContent=\"space-between\">\n <CAlert.Title\n className=\"Alert__Title\"\n data-testid=\"kibble-alert-title\"\n >\n <Heading\n size=\"sm\"\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...titleProps}\n >\n {title}\n </Heading>\n </CAlert.Title>\n {buttonProps?.buttonPosition === \"topRight\" && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </WithButtonWrapper>\n )}\n {description && (\n <WithButtonWrapper justifyContent=\"space-between\">\n <CAlert.Description\n className=\"Alert__Description\"\n data-testid=\"kibble-alert-description\"\n >\n {typeof description === \"string\" ? (\n <Text\n size=\"md\"\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : (\n description\n )}\n </CAlert.Description>\n {buttonProps?.buttonPosition === \"topRight\" && !title && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </WithButtonWrapper>\n )}\n {buttonProps?.buttonPosition === \"bottomLeft\" && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </CAlert.Content>\n {!hideCloseButton && (\n <Button\n iconName=\"close\"\n size=\"xs\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose}\n />\n )}\n </CAlert.Root>\n );\n};\n","export const alertButtonPositions = [\"topRight\", \"bottomLeft\"] as const;\nexport type AlertButtonPosition = (typeof alertButtonPositions)[number];\n"],"names":["AlertStatusIcon","AlertStatusToIconVariant","AlertButton","buttonPosition","buttonText","status","rest","jsx","Box","Button","Alert","buttonProps","description","descriptionProps","hideCloseButton","hideIcon","iconProps","onClose","onContrast","title","titleProps","WithButtonWrapper","Flex","React","jsxs","CAlert.Root","CAlert.Indicator","Icon","CAlert.Content","CAlert.Title","Heading","CAlert.Description","Text","alertButtonPositions"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { x as t } from "./vendor-BBfll6i3.js";
|
|
2
2
|
import g from "react";
|
|
3
3
|
import { W as h } from "./heading.component-B8niLTxz.js";
|
|
4
|
-
import { I as j } from "./icon.component-
|
|
4
|
+
import { I as j } from "./icon.component-w5bWbfVU.js";
|
|
5
5
|
import { W as b } from "./text.component-XYjOAc2s.js";
|
|
6
|
-
import { B as f } from "./button.component-
|
|
6
|
+
import { B as f } from "./button.component-CA9bIFbq.js";
|
|
7
7
|
import { B as A, F as _, ao as B, ap as k, aq as R, ar as w, as as N } from "./chakra-BqBkjpvZ.js";
|
|
8
8
|
const v = {
|
|
9
9
|
error: "warningSign",
|
|
@@ -167,4 +167,4 @@ export {
|
|
|
167
167
|
D as A,
|
|
168
168
|
q as a
|
|
169
169
|
};
|
|
170
|
-
//# sourceMappingURL=alert.types-
|
|
170
|
+
//# sourceMappingURL=alert.types-CvARYqVc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.types-kskv5PHB.js","sources":["../../src/components/Alert/alert.records.ts","../../src/components/Alert/components/AlertButton/alertButton.component.tsx","../../src/components/Alert/alert.component.tsx","../../src/components/Alert/alert.types.ts"],"sourcesContent":["import { IconName } from \"components/Icon/icon.types\";\nimport { TypographyVariant } from \"shared/types\";\nimport { Status } from \"shared/types/status\";\n\nexport const AlertStatusIcon: Record<Status, IconName> = {\n error: \"warningSign\",\n warning: \"warningSign\",\n success: \"checkmark\",\n info: \"infoCircle\",\n default: \"infoCircle\",\n};\n\nexport const AlertStatusToIconVariant: Record<Status, TypographyVariant> = {\n default: \"default\",\n error: \"danger\",\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n};\n","import React from \"react\";\nimport { AlertButtonPosition } from \"components/Alert/alert.types\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Status } from \"shared/types/status\";\nimport { Box } from \"@chakra-ui/react/box\";\n\nexport interface AlertButtonProps extends Omit<ButtonProps, \"children\"> {\n buttonPosition?: AlertButtonPosition;\n buttonText: string;\n}\n\ninterface InternalAlertButtonProps extends AlertButtonProps {\n status: Status;\n}\n\nexport const AlertButton = ({\n buttonPosition,\n buttonText,\n status,\n ...rest\n}: InternalAlertButtonProps): React.JSX.Element => {\n return (\n <Box\n className=\"Alert__Button\"\n data-testid=\"kibble-alert-button\"\n {...(buttonPosition === \"bottomLeft\" && { pt: 2, pb: 1 })}\n >\n <Button\n size=\"xs\"\n variant={status === \"default\" ? \"primary\" : \"secondary\"}\n w=\"max-content\"\n {...rest}\n >\n {buttonText}\n </Button>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Alert as CAlert } from \"@chakra-ui/react/alert\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport { Status } from \"shared/types/status\";\nimport { Button } from \"components/Button/button.component\";\nimport { AlertStatusIcon, AlertStatusToIconVariant } from \"./alert.records\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport {\n AlertButton,\n AlertButtonProps,\n} from \"./components/AlertButton/alertButton.component\";\n\ninterface AlertBaseProps\n extends Omit<\n CAlert.RootProps,\n \"title\" | \"status\" | \"children\" | \"variant\" | \"size\"\n > {\n buttonProps?: AlertButtonProps;\n description?: string | React.ReactNode;\n descriptionProps?: TextProps;\n hideIcon?: boolean;\n iconProps?: IconProps;\n onContrast?: boolean;\n status?: Status;\n title?: string | React.ReactNode;\n titleProps?: HeadingProps;\n}\n\ninterface DefaultAlertProps extends AlertBaseProps {\n hideCloseButton?: true;\n onClose?: never;\n}\n\ninterface ClosableAlertProps extends AlertBaseProps {\n hideCloseButton: false;\n onClose: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport type AlertProps = DefaultAlertProps | ClosableAlertProps;\n\nexport const Alert = ({\n buttonProps,\n description,\n descriptionProps,\n hideCloseButton = false,\n hideIcon = false,\n iconProps,\n onClose,\n onContrast = false,\n status = \"success\",\n title,\n titleProps,\n ...rest\n}: AlertProps): React.JSX.Element => {\n const isTopRightButton = buttonProps?.buttonPosition === \"topRight\";\n const WithButtonWrapper = isTopRightButton ? Flex : React.Fragment;\n\n return (\n <CAlert.Root\n className=\"Alert\"\n data-testid=\"kibble-alert\"\n {...rest}\n variant={status}\n hideIcon={hideIcon}\n onContrast={onContrast}\n >\n {!hideIcon && (\n <CAlert.Indicator\n className=\"Alert__Icon\"\n data-testid=\"kibble-alert-icon\"\n >\n <Icon\n variant={\n onContrast ? \"onContrast\" : AlertStatusToIconVariant[status]\n }\n name={iconProps?.name || AlertStatusIcon[status]}\n size=\"lg\"\n {...iconProps}\n />\n </CAlert.Indicator>\n )}\n <CAlert.Content\n className=\"Alert__Content\"\n data-testid=\"kibble-alert-content\"\n >\n {title && (\n <WithButtonWrapper justifyContent=\"space-between\">\n <CAlert.Title\n className=\"Alert__Title\"\n data-testid=\"kibble-alert-title\"\n >\n <Heading\n size=\"sm\"\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...titleProps}\n >\n {title}\n </Heading>\n </CAlert.Title>\n {buttonProps?.buttonPosition === \"topRight\" && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </WithButtonWrapper>\n )}\n {description && (\n <WithButtonWrapper justifyContent=\"space-between\">\n <CAlert.Description\n className=\"Alert__Description\"\n data-testid=\"kibble-alert-description\"\n >\n {typeof description === \"string\" ? (\n <Text\n size=\"md\"\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : (\n description\n )}\n </CAlert.Description>\n {buttonProps?.buttonPosition === \"topRight\" && !title && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </WithButtonWrapper>\n )}\n {buttonProps?.buttonPosition === \"bottomLeft\" && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </CAlert.Content>\n {!hideCloseButton && (\n <Button\n iconName=\"close\"\n size=\"xs\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose}\n />\n )}\n </CAlert.Root>\n );\n};\n","export const alertButtonPositions = [\"topRight\", \"bottomLeft\"] as const;\nexport type AlertButtonPosition = (typeof alertButtonPositions)[number];\n"],"names":["AlertStatusIcon","AlertStatusToIconVariant","AlertButton","buttonPosition","buttonText","status","rest","jsx","Box","Button","Alert","buttonProps","description","descriptionProps","hideCloseButton","hideIcon","iconProps","onClose","onContrast","title","titleProps","WithButtonWrapper","Flex","React","jsxs","CAlert.Root","CAlert.Indicator","Icon","CAlert.Content","CAlert.Title","Heading","CAlert.Description","Text","alertButtonPositions"],"mappings":";;;;;;;AAIO,MAAMA,IAA4C;AAAA,EACvD,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX,GAEaC,IAA8D;AAAA,EACzE,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AACX,GCHaC,IAAc,CAAC;AAAA,EAC1B,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,GAAGC;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACX,GAAIL,MAAmB,gBAAgB,EAAE,IAAI,GAAG,IAAI,EAAE;AAAA,IAEvD,UAAAI,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAASJ,MAAW,YAAY,YAAY;AAAA,QAC5C,GAAE;AAAA,QACD,GAAGC;AAAA,QAEH,UAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF,GCOSM,IAAQ,CAAC;AAAA,EACpB,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,QAAAb,IAAS;AAAA,EACT,OAAAc;AAAA,EACA,YAAAC;AAAA,EACA,GAAGd;AACL,MAAqC;AAE7B,QAAAe,IADmBV,GAAa,mBAAmB,aACZW,IAAOC,EAAM;AAGxD,SAAAC,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACX,GAAGnB;AAAA,MACJ,SAASD;AAAA,MACT,UAAAU;AAAA,MACA,YAAAG;AAAA,MAEC,UAAA;AAAA,QAAA,CAACH,KACAR,gBAAAA,EAAA;AAAA,UAACmB;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YAEZ,UAAAnB,gBAAAA,EAAA;AAAA,cAACoB;AAAA,cAAA;AAAA,gBACC,SACET,IAAa,eAAejB,EAAyBI,CAAM;AAAA,gBAE7D,MAAMW,GAAW,QAAQhB,EAAgBK,CAAM;AAAA,gBAC/C,MAAK;AAAA,gBACJ,GAAGW;AAAA,cAAA;AAAA,YAAA;AAAA,UACN;AAAA,QACF;AAAA,QAEFQ,gBAAAA,EAAA;AAAA,UAACI;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YAEX,UAAA;AAAA,cACCT,KAAAK,gBAAAA,EAAA,KAACH,GAAkB,EAAA,gBAAe,iBAChC,UAAA;AAAA,gBAAAd,gBAAAA,EAAA;AAAA,kBAACsB;AAAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,eAAY;AAAA,oBAEZ,UAAAtB,gBAAAA,EAAA;AAAA,sBAACuB;AAAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,SAASZ,IAAa,eAAe;AAAA,wBACpC,GAAGE;AAAA,wBAEH,UAAAD;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACH;AAAA,gBACF;AAAA,gBACCR,GAAa,mBAAmB,cAC/BJ,gBAAAA,EAAA;AAAA,kBAACL;AAAA,kBAAA;AAAA,oBACC,QAAAG;AAAA,oBACA,YAAAa;AAAA,oBACC,GAAGP;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACN,GAEJ;AAAA,cAEDC,KACCY,gBAAAA,EAAA,KAACH,GAAkB,EAAA,gBAAe,iBAChC,UAAA;AAAA,gBAAAd,gBAAAA,EAAA;AAAA,kBAACwB;AAAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,eAAY;AAAA,oBAEX,UAAA,OAAOnB,KAAgB,WACtBL,gBAAAA,EAAA;AAAA,sBAACyB;AAAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,SAASd,IAAa,eAAe;AAAA,wBACpC,GAAGL;AAAA,wBAEH,UAAAD;AAAA,sBAAA;AAAA,oBAAA,IAGHA;AAAA,kBAAA;AAAA,gBAEJ;AAAA,gBACCD,GAAa,mBAAmB,cAAc,CAACQ,KAC9CZ,gBAAAA,EAAA;AAAA,kBAACL;AAAA,kBAAA;AAAA,oBACC,QAAAG;AAAA,oBACA,YAAAa;AAAA,oBACC,GAAGP;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACN,GAEJ;AAAA,cAEDA,GAAa,mBAAmB,gBAC/BJ,gBAAAA,EAAA;AAAA,gBAACL;AAAA,gBAAA;AAAA,kBACC,QAAAG;AAAA,kBACA,YAAAa;AAAA,kBACC,GAAGP;AAAA,gBAAA;AAAA,cAAA;AAAA,YACN;AAAA,UAAA;AAAA,QAEJ;AAAA,QACC,CAACG,KACAP,gBAAAA,EAAA;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,YAAAS;AAAA,YACA,SAASD;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EAEJ;AAEJ,GC5JagB,IAAuB,CAAC,YAAY,YAAY;"}
|
|
1
|
+
{"version":3,"file":"alert.types-CvARYqVc.js","sources":["../../src/components/Alert/alert.records.ts","../../src/components/Alert/components/AlertButton/alertButton.component.tsx","../../src/components/Alert/alert.component.tsx","../../src/components/Alert/alert.types.ts"],"sourcesContent":["import { IconName } from \"components/Icon/icon.types\";\nimport { TypographyVariant } from \"shared/types\";\nimport { Status } from \"shared/types/status\";\n\nexport const AlertStatusIcon: Record<Status, IconName> = {\n error: \"warningSign\",\n warning: \"warningSign\",\n success: \"checkmark\",\n info: \"infoCircle\",\n default: \"infoCircle\",\n};\n\nexport const AlertStatusToIconVariant: Record<Status, TypographyVariant> = {\n default: \"default\",\n error: \"danger\",\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n};\n","import React from \"react\";\nimport { AlertButtonPosition } from \"components/Alert/alert.types\";\nimport { Button, ButtonProps } from \"components/Button/button.component\";\nimport { Status } from \"shared/types/status\";\nimport { Box } from \"@chakra-ui/react/box\";\n\nexport interface AlertButtonProps extends Omit<ButtonProps, \"children\"> {\n buttonPosition?: AlertButtonPosition;\n buttonText: string;\n}\n\ninterface InternalAlertButtonProps extends AlertButtonProps {\n status: Status;\n}\n\nexport const AlertButton = ({\n buttonPosition,\n buttonText,\n status,\n ...rest\n}: InternalAlertButtonProps): React.JSX.Element => {\n return (\n <Box\n className=\"Alert__Button\"\n data-testid=\"kibble-alert-button\"\n {...(buttonPosition === \"bottomLeft\" && { pt: 2, pb: 1 })}\n >\n <Button\n size=\"xs\"\n variant={status === \"default\" ? \"primary\" : \"secondary\"}\n w=\"max-content\"\n {...rest}\n >\n {buttonText}\n </Button>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Alert as CAlert } from \"@chakra-ui/react/alert\";\nimport { Heading, HeadingProps } from \"components/Heading/heading.component\";\nimport { Icon, IconProps } from \"components/Icon/icon.component\";\nimport { Text, TextProps } from \"components/Text/text.component\";\nimport { Status } from \"shared/types/status\";\nimport { Button } from \"components/Button/button.component\";\nimport { AlertStatusIcon, AlertStatusToIconVariant } from \"./alert.records\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport {\n AlertButton,\n AlertButtonProps,\n} from \"./components/AlertButton/alertButton.component\";\n\ninterface AlertBaseProps\n extends Omit<\n CAlert.RootProps,\n \"title\" | \"status\" | \"children\" | \"variant\" | \"size\"\n > {\n buttonProps?: AlertButtonProps;\n description?: string | React.ReactNode;\n descriptionProps?: TextProps;\n hideIcon?: boolean;\n iconProps?: IconProps;\n onContrast?: boolean;\n status?: Status;\n title?: string | React.ReactNode;\n titleProps?: HeadingProps;\n}\n\ninterface DefaultAlertProps extends AlertBaseProps {\n hideCloseButton?: true;\n onClose?: never;\n}\n\ninterface ClosableAlertProps extends AlertBaseProps {\n hideCloseButton: false;\n onClose: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport type AlertProps = DefaultAlertProps | ClosableAlertProps;\n\nexport const Alert = ({\n buttonProps,\n description,\n descriptionProps,\n hideCloseButton = false,\n hideIcon = false,\n iconProps,\n onClose,\n onContrast = false,\n status = \"success\",\n title,\n titleProps,\n ...rest\n}: AlertProps): React.JSX.Element => {\n const isTopRightButton = buttonProps?.buttonPosition === \"topRight\";\n const WithButtonWrapper = isTopRightButton ? Flex : React.Fragment;\n\n return (\n <CAlert.Root\n className=\"Alert\"\n data-testid=\"kibble-alert\"\n {...rest}\n variant={status}\n hideIcon={hideIcon}\n onContrast={onContrast}\n >\n {!hideIcon && (\n <CAlert.Indicator\n className=\"Alert__Icon\"\n data-testid=\"kibble-alert-icon\"\n >\n <Icon\n variant={\n onContrast ? \"onContrast\" : AlertStatusToIconVariant[status]\n }\n name={iconProps?.name || AlertStatusIcon[status]}\n size=\"lg\"\n {...iconProps}\n />\n </CAlert.Indicator>\n )}\n <CAlert.Content\n className=\"Alert__Content\"\n data-testid=\"kibble-alert-content\"\n >\n {title && (\n <WithButtonWrapper justifyContent=\"space-between\">\n <CAlert.Title\n className=\"Alert__Title\"\n data-testid=\"kibble-alert-title\"\n >\n <Heading\n size=\"sm\"\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...titleProps}\n >\n {title}\n </Heading>\n </CAlert.Title>\n {buttonProps?.buttonPosition === \"topRight\" && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </WithButtonWrapper>\n )}\n {description && (\n <WithButtonWrapper justifyContent=\"space-between\">\n <CAlert.Description\n className=\"Alert__Description\"\n data-testid=\"kibble-alert-description\"\n >\n {typeof description === \"string\" ? (\n <Text\n size=\"md\"\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...descriptionProps}\n >\n {description}\n </Text>\n ) : (\n description\n )}\n </CAlert.Description>\n {buttonProps?.buttonPosition === \"topRight\" && !title && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </WithButtonWrapper>\n )}\n {buttonProps?.buttonPosition === \"bottomLeft\" && (\n <AlertButton\n status={status}\n onContrast={onContrast}\n {...buttonProps}\n />\n )}\n </CAlert.Content>\n {!hideCloseButton && (\n <Button\n iconName=\"close\"\n size=\"xs\"\n variant=\"ghostNeutral\"\n onContrast={onContrast}\n onClick={onClose}\n />\n )}\n </CAlert.Root>\n );\n};\n","export const alertButtonPositions = [\"topRight\", \"bottomLeft\"] as const;\nexport type AlertButtonPosition = (typeof alertButtonPositions)[number];\n"],"names":["AlertStatusIcon","AlertStatusToIconVariant","AlertButton","buttonPosition","buttonText","status","rest","jsx","Box","Button","Alert","buttonProps","description","descriptionProps","hideCloseButton","hideIcon","iconProps","onClose","onContrast","title","titleProps","WithButtonWrapper","Flex","React","jsxs","CAlert.Root","CAlert.Indicator","Icon","CAlert.Content","CAlert.Title","Heading","CAlert.Description","Text","alertButtonPositions"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const s=require("./vendor-D-x6W6ez.js"),x=require("react"),C=require("./tooltip.component-qWFa28S5.js"),g=require("./icon.component-
|
|
2
|
-
//# sourceMappingURL=avatar.component-
|
|
1
|
+
"use strict";const s=require("./vendor-D-x6W6ez.js"),x=require("react"),C=require("./tooltip.component-qWFa28S5.js"),g=require("./icon.component-CzjzLiO_.js"),r=require("./chakra-DmF8Cxqs.js"),w=({avatarSize:a,onRemove:t,isBeingHovered:o,setIsBeingHovered:e})=>{const n=x.useCallback(i=>{i.stopPropagation(),t&&t(i)},[t]);return s.jsxRuntimeExports.jsx(r.Float,{className:"Avatar__RemoveButton","data-testid":"kibble-avatar-remove-button",backgroundColor:"background",borderRadius:"full",cursor:"pointer",display:"none",h:4,onClick:n,onMouseEnter:()=>e(!0),onMouseLeave:()=>e(!1),w:4,zIndex:"tooltip",offset:a==="xl"?2:.5,_groupHover:{display:"flex"},children:s.jsxRuntimeExports.jsx(g.Icon,{variant:"default",name:"closeCircleSolid",size:o?"sm":"xs"})})},v=({currentSize:a,larger:t=!0,delta:o=1})=>{let e;switch(a){case"xs":e=t?"sm":"xs";break;case"sm":e=t?"md":"xs";break;case"md":e=t?"lg":"sm";break;case"lg":e=t?"xl":"md";break;case"xl":e=t?"2xl":"lg";break;case"2xl":e=t?"2xl":"xl";break;default:e=a;break}return o>1&&(e=v({currentSize:e,larger:t,delta:o-1})),e},B={info:{bgColor:"background.info"},default:{bgColor:"background.subtle.less"},error:{bgColor:"background.danger"},success:{bgColor:"background.success"},warning:{bgColor:"background.warning"}},E={xs:{boxSize:"10px"},sm:{boxSize:"18px"},md:{boxSize:"18px"},lg:{boxSize:"18px"},xl:{borderWidth:"2px",boxSize:"24px"}},S=r.defineRecipe({base:{alignItems:"center",borderColor:"border.strong.contrast",borderRadius:"full",borderWidth:"1px",justifyContent:"center"},variants:{size:E,status:B,withIcon:{true:{},false:{}}},defaultVariants:{status:"info"},compoundVariants:[{withIcon:!1,status:"info",css:{bgColor:"background.secondary"}},{withIcon:!1,status:"default",css:{bgColor:"background.contrast"}},{withIcon:!1,status:"error",css:{bgColor:"background.destructive"}},{withIcon:!1,status:"success",css:{bgColor:"background.success.contrast"}},{withIcon:!1,status:"warning",css:{bgColor:"background.warning.contrast"}},{withIcon:!1,size:["sm","md","lg"],css:{boxSize:"12px"}},{withIcon:!1,size:"xl",css:{borderWidth:"2px",boxSize:"16px"}}]}),z={xs:.5,sm:.5,md:.5,lg:.5,xl:2},A={xs:.5,sm:.5,md:1,lg:1,xl:2},_=({avatarSize:a,iconName:t,position:o="bottom-end",status:e="info",...n})=>{const d=r.useRecipe({recipe:S})({status:e,size:a,withIcon:!!t}),l=x.useMemo(()=>a==="xs"||!t,[t,a]),b=x.useMemo(()=>l?A:z,[l]);return s.jsxRuntimeExports.jsx(r.Float,{className:"Avatar__BadgeWrapper","data-testid":"kibble-avatar-badge-wrapper",offset:b[a],placement:o,children:s.jsxRuntimeExports.jsx(r.Flex,{className:"Avatar__Badge","data-testid":"kibble-avatar-badge",css:d,...n,children:!l&&t&&s.jsxRuntimeExports.jsx(g.Icon,{name:t,variant:e!=="error"?e:"danger",size:a==="xl"?"sm":"xs"})})})},y=({badgeProps:a,hideBorder:t,iconName:o,name:e="",onClick:n,onRemove:i,showBadge:d,showRemoveButton:l,showTooltip:b=!0,size:c="md",src:p,tooltipProps:u,variant:j="default",webpSrc:m,...k})=>{const[f,R]=x.useState(!1),h=b&&!f?({children:I})=>s.jsxRuntimeExports.jsx(C.Tooltip,{"data-testid":"kibble-avatar-tooltip",...u,label:u?.label||e,disabled:!e&&!u?.label,placement:u?.placement||"bottom",children:s.jsxRuntimeExports.jsx(r.Box,{children:I})}):x.Fragment;return s.jsxRuntimeExports.jsx(h,{children:s.jsxRuntimeExports.jsxs(r.AvatarRoot,{className:"Avatar group","data-testid":"kibble-avatar",variant:j,size:c,interactive:!!n,hideBorder:t,onClick:n,...k,children:[s.jsxRuntimeExports.jsx(r.AvatarFallback,{name:e,children:o&&s.jsxRuntimeExports.jsx(g.Icon,{name:o,pt:"-1px",size:c==="lg"?"lg":v({currentSize:c,larger:!0,delta:1})})}),d&&s.jsxRuntimeExports.jsx(_,{avatarSize:c,...a}),(m||p)&&s.jsxRuntimeExports.jsx(r.AvatarImage,{src:p,srcSet:m}),l&&c!=="xs"&&s.jsxRuntimeExports.jsx(w,{avatarSize:c,onRemove:i,isBeingHovered:f,setIsBeingHovered:R})]})})};exports.Avatar=y;
|
|
2
|
+
//# sourceMappingURL=avatar.component-B14bRpeL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.component-Coq-0l7p.js","sources":["../../src/components/Avatar/components/AvatarRemoveButton/avatarRemoveButton.component.tsx","../../src/shared/utils/sizes.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.recipe.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.records.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.component.tsx","../../src/components/Avatar/avatar.component.tsx"],"sourcesContent":["import React, {\n useCallback,\n MouseEvent,\n Dispatch,\n SetStateAction,\n} from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface AvatarRemoveButtonProps {\n onRemove?: React.MouseEventHandler<HTMLDivElement>;\n isBeingHovered: boolean;\n setIsBeingHovered: Dispatch<SetStateAction<boolean>>;\n}\n\ninterface InternalAvatarRemoveButtonProps extends AvatarRemoveButtonProps {\n avatarSize: string;\n}\n\nconst AvatarRemoveButton = ({\n avatarSize,\n onRemove,\n isBeingHovered,\n setIsBeingHovered,\n}: InternalAvatarRemoveButtonProps): React.JSX.Element => {\n const onRemoveButtonClick = useCallback(\n (e: MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n\n if (onRemove) {\n onRemove(e);\n }\n },\n [onRemove],\n );\n\n return (\n <Float\n className=\"Avatar__RemoveButton\"\n data-testid=\"kibble-avatar-remove-button\"\n backgroundColor=\"background\"\n borderRadius=\"full\"\n cursor=\"pointer\"\n display=\"none\"\n h={4}\n onClick={onRemoveButtonClick}\n onMouseEnter={(): void => setIsBeingHovered(true)}\n onMouseLeave={(): void => setIsBeingHovered(false)}\n w={4}\n zIndex=\"tooltip\"\n offset={avatarSize === \"xl\" ? 2 : 0.5}\n _groupHover={{\n display: \"flex\",\n }}\n >\n <Icon\n variant=\"default\"\n name=\"closeCircleSolid\"\n size={isBeingHovered ? \"sm\" : \"xs\"}\n />\n </Float>\n );\n};\n\nexport default AvatarRemoveButton;\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { IconSize } from \"components/Icon/icon.types\";\n\ninterface GetNextIconSizeProps {\n currentSize: IconSize | AvatarSize;\n larger: boolean;\n delta: number;\n}\n\nexport const getNextIconSize = ({\n currentSize,\n larger = true,\n delta = 1,\n}: GetNextIconSizeProps): IconSize => {\n let nextSize: IconSize;\n switch (currentSize) {\n case \"xs\":\n nextSize = larger ? \"sm\" : \"xs\";\n break;\n case \"sm\":\n nextSize = larger ? \"md\" : \"xs\";\n break;\n case \"md\":\n nextSize = larger ? \"lg\" : \"sm\";\n break;\n case \"lg\":\n nextSize = larger ? \"xl\" : \"md\";\n break;\n case \"xl\":\n nextSize = larger ? \"2xl\" : \"lg\";\n break;\n case \"2xl\":\n nextSize = larger ? \"2xl\" : \"xl\";\n break;\n default:\n nextSize = currentSize as IconSize;\n break;\n }\n\n if (delta > 1) {\n nextSize = getNextIconSize({\n currentSize: nextSize,\n larger,\n delta: delta - 1,\n });\n }\n\n return nextSize;\n};\n","import {\n defineRecipe,\n SystemStyleObject,\n} from \"@chakra-ui/react/styled-system\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { Status } from \"shared/types/status\";\n\nconst avatarBadgeStatusStyles: Record<Status, SystemStyleObject> = {\n info: {\n bgColor: \"background.info\",\n },\n default: {\n bgColor: \"background.subtle.less\",\n },\n error: {\n bgColor: \"background.danger\",\n },\n success: {\n bgColor: \"background.success\",\n },\n warning: {\n bgColor: \"background.warning\",\n },\n};\n\nconst avatarBadgeSizeStyles: Record<AvatarSize, SystemStyleObject> = {\n xs: {\n boxSize: \"10px\",\n },\n sm: {\n boxSize: \"18px\",\n },\n md: {\n boxSize: \"18px\",\n },\n lg: {\n boxSize: \"18px\",\n },\n xl: {\n borderWidth: \"2px\",\n boxSize: \"24px\",\n },\n};\n\nexport const avatarBadgeRecipe = defineRecipe({\n base: {\n alignItems: \"center\",\n borderColor: \"border.strong.contrast\",\n borderRadius: \"full\",\n borderWidth: \"1px\",\n justifyContent: \"center\",\n },\n variants: {\n size: avatarBadgeSizeStyles,\n status: avatarBadgeStatusStyles,\n withIcon: {\n true: {},\n false: {},\n },\n },\n defaultVariants: {\n status: \"info\",\n },\n compoundVariants: [\n {\n withIcon: false,\n status: \"info\",\n css: {\n bgColor: \"background.secondary\",\n },\n },\n {\n withIcon: false,\n status: \"default\",\n css: {\n bgColor: \"background.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"error\",\n css: {\n bgColor: \"background.destructive\",\n },\n },\n {\n withIcon: false,\n status: \"success\",\n css: {\n bgColor: \"background.success.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"warning\",\n css: {\n bgColor: \"background.warning.contrast\",\n },\n },\n {\n withIcon: false,\n size: [\"sm\", \"md\", \"lg\"],\n css: {\n boxSize: \"12px\",\n },\n },\n {\n withIcon: false,\n size: \"xl\",\n css: {\n borderWidth: \"2px\",\n boxSize: \"16px\",\n },\n },\n ],\n});\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\n\nexport const iconBadgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 0.5,\n lg: 0.5,\n xl: 2,\n};\n\nexport const badgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 1,\n lg: 1,\n xl: 2,\n};\n","import React, { useMemo } from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon, IconName } from \"components/Icon\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { ConditionalValue, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { AvatarBadgePosition } from \"./avatarBadge.types\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { avatarBadgeRecipe } from \"./avatarBadge.recipe\";\nimport { Status } from \"shared/types/status\";\nimport { badgeOffsetMap, iconBadgeOffsetMap } from \"./avatarBadge.records\";\n\nexport interface AvatarBadgeProps extends FlexProps {\n iconName?: IconName;\n position?: ConditionalValue<AvatarBadgePosition>;\n status?: Status;\n}\n\ninterface InternalAvatarBadgeProps extends AvatarBadgeProps {\n avatarSize: AvatarSize;\n}\n\nexport const AvatarBadge = ({\n avatarSize,\n iconName,\n position = \"bottom-end\",\n status = \"info\",\n ...rest\n}: InternalAvatarBadgeProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: avatarBadgeRecipe });\n const styles = recipe({ status, size: avatarSize, withIcon: !!iconName });\n const useSmallBadge = useMemo(\n () => avatarSize === \"xs\" || !iconName,\n [iconName, avatarSize],\n );\n const offsetRecord = useMemo(\n () => (useSmallBadge ? badgeOffsetMap : iconBadgeOffsetMap),\n [useSmallBadge],\n );\n\n return (\n <Float\n className=\"Avatar__BadgeWrapper\"\n data-testid=\"kibble-avatar-badge-wrapper\"\n offset={offsetRecord[avatarSize]}\n placement={position}\n >\n <Flex\n className=\"Avatar__Badge\"\n data-testid=\"kibble-avatar-badge\"\n css={styles}\n {...rest}\n >\n {!useSmallBadge && iconName && (\n <Icon\n name={iconName}\n variant={\n status !== \"error\" ? (status as TypographyVariant) : \"danger\"\n }\n size={avatarSize === \"xl\" ? \"sm\" : \"xs\"}\n />\n )}\n </Flex>\n </Float>\n );\n};\n","import React, { useState } from \"react\";\nimport { Avatar as CAvatar } from \"@chakra-ui/react/avatar\";\nimport { Tooltip, TooltipProps } from \"components/Tooltip/tooltip.component\";\nimport { Icon, IconName } from \"components/Icon\";\nimport AvatarRemoveButton from \"./components/AvatarRemoveButton/avatarRemoveButton.component\";\nimport { AvatarSize, AvatarVariant } from \"./avatar.types\";\nimport { getNextIconSize } from \"shared/utils/sizes\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n AvatarBadge,\n AvatarBadgeProps,\n} from \"./components/AvatarBadge/avatarBadge.component\";\n\nexport interface AvatarProps extends CAvatar.RootProps {\n badgeProps?: AvatarBadgeProps;\n hideBorder?: boolean;\n iconName?: IconName;\n name?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onRemove?: (event: React.MouseEvent<HTMLDivElement>) => void;\n showBadge?: boolean;\n showRemoveButton?: boolean;\n showTooltip?: boolean;\n size?: AvatarSize;\n src?: string;\n tooltipProps?: TooltipProps;\n variant?: AvatarVariant;\n webpSrc?: string;\n}\n\nexport const Avatar = ({\n badgeProps,\n hideBorder,\n iconName,\n name = \"\",\n onClick,\n onRemove,\n showBadge,\n showRemoveButton,\n showTooltip = true,\n size = \"md\",\n src,\n tooltipProps,\n variant = \"default\",\n webpSrc,\n ...rest\n}: AvatarProps): React.JSX.Element => {\n const [isHoveringRemoveButton, setIsHoveringRemoveButton] = useState(false);\n const AvatarWrapper: React.FC<AvatarProps> =\n showTooltip && !isHoveringRemoveButton\n ? ({ children }): React.JSX.Element => {\n return (\n <Tooltip\n data-testid=\"kibble-avatar-tooltip\"\n {...tooltipProps}\n label={tooltipProps?.label || name}\n disabled={!name && !tooltipProps?.label}\n placement={tooltipProps?.placement || \"bottom\"}\n >\n <Box>{children}</Box>\n </Tooltip>\n );\n }\n : React.Fragment;\n\n return (\n <AvatarWrapper>\n <CAvatar.Root\n className=\"Avatar group\"\n data-testid=\"kibble-avatar\"\n variant={variant}\n size={size}\n interactive={!!onClick}\n hideBorder={hideBorder}\n onClick={onClick}\n {...rest}\n >\n <CAvatar.Fallback name={name}>\n {iconName && (\n <Icon\n name={iconName}\n pt=\"-1px\"\n size={\n size === \"lg\"\n ? \"lg\"\n : getNextIconSize({\n currentSize: size,\n larger: true,\n delta: 1,\n })\n }\n />\n )}\n </CAvatar.Fallback>\n {showBadge && <AvatarBadge avatarSize={size} {...badgeProps} />}\n {(webpSrc || src) && <CAvatar.Image src={src} srcSet={webpSrc} />}\n {showRemoveButton && size !== \"xs\" && (\n <AvatarRemoveButton\n avatarSize={size}\n onRemove={onRemove}\n isBeingHovered={isHoveringRemoveButton}\n setIsBeingHovered={setIsHoveringRemoveButton}\n />\n )}\n </CAvatar.Root>\n </AvatarWrapper>\n );\n};\n"],"names":["AvatarRemoveButton","avatarSize","onRemove","isBeingHovered","setIsBeingHovered","onRemoveButtonClick","useCallback","e","jsx","Float","Icon","getNextIconSize","currentSize","larger","delta","nextSize","avatarBadgeStatusStyles","avatarBadgeSizeStyles","avatarBadgeRecipe","defineRecipe","iconBadgeOffsetMap","badgeOffsetMap","AvatarBadge","iconName","position","status","rest","styles","useRecipe","useSmallBadge","useMemo","offsetRecord","Flex","Avatar","badgeProps","hideBorder","name","onClick","showBadge","showRemoveButton","showTooltip","size","src","tooltipProps","variant","webpSrc","isHoveringRemoveButton","setIsHoveringRemoveButton","useState","AvatarWrapper","children","Tooltip","Box","React","jsxs","CAvatar.Root","CAvatar.Fallback","CAvatar.Image"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"avatar.component-B14bRpeL.js","sources":["../../src/components/Avatar/components/AvatarRemoveButton/avatarRemoveButton.component.tsx","../../src/shared/utils/sizes.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.recipe.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.records.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.component.tsx","../../src/components/Avatar/avatar.component.tsx"],"sourcesContent":["import React, {\n useCallback,\n MouseEvent,\n Dispatch,\n SetStateAction,\n} from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface AvatarRemoveButtonProps {\n onRemove?: React.MouseEventHandler<HTMLDivElement>;\n isBeingHovered: boolean;\n setIsBeingHovered: Dispatch<SetStateAction<boolean>>;\n}\n\ninterface InternalAvatarRemoveButtonProps extends AvatarRemoveButtonProps {\n avatarSize: string;\n}\n\nconst AvatarRemoveButton = ({\n avatarSize,\n onRemove,\n isBeingHovered,\n setIsBeingHovered,\n}: InternalAvatarRemoveButtonProps): React.JSX.Element => {\n const onRemoveButtonClick = useCallback(\n (e: MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n\n if (onRemove) {\n onRemove(e);\n }\n },\n [onRemove],\n );\n\n return (\n <Float\n className=\"Avatar__RemoveButton\"\n data-testid=\"kibble-avatar-remove-button\"\n backgroundColor=\"background\"\n borderRadius=\"full\"\n cursor=\"pointer\"\n display=\"none\"\n h={4}\n onClick={onRemoveButtonClick}\n onMouseEnter={(): void => setIsBeingHovered(true)}\n onMouseLeave={(): void => setIsBeingHovered(false)}\n w={4}\n zIndex=\"tooltip\"\n offset={avatarSize === \"xl\" ? 2 : 0.5}\n _groupHover={{\n display: \"flex\",\n }}\n >\n <Icon\n variant=\"default\"\n name=\"closeCircleSolid\"\n size={isBeingHovered ? \"sm\" : \"xs\"}\n />\n </Float>\n );\n};\n\nexport default AvatarRemoveButton;\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { IconSize } from \"components/Icon/icon.types\";\n\ninterface GetNextIconSizeProps {\n currentSize: IconSize | AvatarSize;\n larger: boolean;\n delta: number;\n}\n\nexport const getNextIconSize = ({\n currentSize,\n larger = true,\n delta = 1,\n}: GetNextIconSizeProps): IconSize => {\n let nextSize: IconSize;\n switch (currentSize) {\n case \"xs\":\n nextSize = larger ? \"sm\" : \"xs\";\n break;\n case \"sm\":\n nextSize = larger ? \"md\" : \"xs\";\n break;\n case \"md\":\n nextSize = larger ? \"lg\" : \"sm\";\n break;\n case \"lg\":\n nextSize = larger ? \"xl\" : \"md\";\n break;\n case \"xl\":\n nextSize = larger ? \"2xl\" : \"lg\";\n break;\n case \"2xl\":\n nextSize = larger ? \"2xl\" : \"xl\";\n break;\n default:\n nextSize = currentSize as IconSize;\n break;\n }\n\n if (delta > 1) {\n nextSize = getNextIconSize({\n currentSize: nextSize,\n larger,\n delta: delta - 1,\n });\n }\n\n return nextSize;\n};\n","import {\n defineRecipe,\n SystemStyleObject,\n} from \"@chakra-ui/react/styled-system\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { Status } from \"shared/types/status\";\n\nconst avatarBadgeStatusStyles: Record<Status, SystemStyleObject> = {\n info: {\n bgColor: \"background.info\",\n },\n default: {\n bgColor: \"background.subtle.less\",\n },\n error: {\n bgColor: \"background.danger\",\n },\n success: {\n bgColor: \"background.success\",\n },\n warning: {\n bgColor: \"background.warning\",\n },\n};\n\nconst avatarBadgeSizeStyles: Record<AvatarSize, SystemStyleObject> = {\n xs: {\n boxSize: \"10px\",\n },\n sm: {\n boxSize: \"18px\",\n },\n md: {\n boxSize: \"18px\",\n },\n lg: {\n boxSize: \"18px\",\n },\n xl: {\n borderWidth: \"2px\",\n boxSize: \"24px\",\n },\n};\n\nexport const avatarBadgeRecipe = defineRecipe({\n base: {\n alignItems: \"center\",\n borderColor: \"border.strong.contrast\",\n borderRadius: \"full\",\n borderWidth: \"1px\",\n justifyContent: \"center\",\n },\n variants: {\n size: avatarBadgeSizeStyles,\n status: avatarBadgeStatusStyles,\n withIcon: {\n true: {},\n false: {},\n },\n },\n defaultVariants: {\n status: \"info\",\n },\n compoundVariants: [\n {\n withIcon: false,\n status: \"info\",\n css: {\n bgColor: \"background.secondary\",\n },\n },\n {\n withIcon: false,\n status: \"default\",\n css: {\n bgColor: \"background.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"error\",\n css: {\n bgColor: \"background.destructive\",\n },\n },\n {\n withIcon: false,\n status: \"success\",\n css: {\n bgColor: \"background.success.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"warning\",\n css: {\n bgColor: \"background.warning.contrast\",\n },\n },\n {\n withIcon: false,\n size: [\"sm\", \"md\", \"lg\"],\n css: {\n boxSize: \"12px\",\n },\n },\n {\n withIcon: false,\n size: \"xl\",\n css: {\n borderWidth: \"2px\",\n boxSize: \"16px\",\n },\n },\n ],\n});\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\n\nexport const iconBadgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 0.5,\n lg: 0.5,\n xl: 2,\n};\n\nexport const badgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 1,\n lg: 1,\n xl: 2,\n};\n","import React, { useMemo } from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon, IconName } from \"components/Icon\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { ConditionalValue, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { AvatarBadgePosition } from \"./avatarBadge.types\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { avatarBadgeRecipe } from \"./avatarBadge.recipe\";\nimport { Status } from \"shared/types/status\";\nimport { badgeOffsetMap, iconBadgeOffsetMap } from \"./avatarBadge.records\";\n\nexport interface AvatarBadgeProps extends FlexProps {\n iconName?: IconName;\n position?: ConditionalValue<AvatarBadgePosition>;\n status?: Status;\n}\n\ninterface InternalAvatarBadgeProps extends AvatarBadgeProps {\n avatarSize: AvatarSize;\n}\n\nexport const AvatarBadge = ({\n avatarSize,\n iconName,\n position = \"bottom-end\",\n status = \"info\",\n ...rest\n}: InternalAvatarBadgeProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: avatarBadgeRecipe });\n const styles = recipe({ status, size: avatarSize, withIcon: !!iconName });\n const useSmallBadge = useMemo(\n () => avatarSize === \"xs\" || !iconName,\n [iconName, avatarSize],\n );\n const offsetRecord = useMemo(\n () => (useSmallBadge ? badgeOffsetMap : iconBadgeOffsetMap),\n [useSmallBadge],\n );\n\n return (\n <Float\n className=\"Avatar__BadgeWrapper\"\n data-testid=\"kibble-avatar-badge-wrapper\"\n offset={offsetRecord[avatarSize]}\n placement={position}\n >\n <Flex\n className=\"Avatar__Badge\"\n data-testid=\"kibble-avatar-badge\"\n css={styles}\n {...rest}\n >\n {!useSmallBadge && iconName && (\n <Icon\n name={iconName}\n variant={\n status !== \"error\" ? (status as TypographyVariant) : \"danger\"\n }\n size={avatarSize === \"xl\" ? \"sm\" : \"xs\"}\n />\n )}\n </Flex>\n </Float>\n );\n};\n","import React, { useState } from \"react\";\nimport { Avatar as CAvatar } from \"@chakra-ui/react/avatar\";\nimport { Tooltip, TooltipProps } from \"components/Tooltip/tooltip.component\";\nimport { Icon, IconName } from \"components/Icon\";\nimport AvatarRemoveButton from \"./components/AvatarRemoveButton/avatarRemoveButton.component\";\nimport { AvatarSize, AvatarVariant } from \"./avatar.types\";\nimport { getNextIconSize } from \"shared/utils/sizes\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n AvatarBadge,\n AvatarBadgeProps,\n} from \"./components/AvatarBadge/avatarBadge.component\";\n\nexport interface AvatarProps extends CAvatar.RootProps {\n badgeProps?: AvatarBadgeProps;\n hideBorder?: boolean;\n iconName?: IconName;\n name?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onRemove?: (event: React.MouseEvent<HTMLDivElement>) => void;\n showBadge?: boolean;\n showRemoveButton?: boolean;\n showTooltip?: boolean;\n size?: AvatarSize;\n src?: string;\n tooltipProps?: TooltipProps;\n variant?: AvatarVariant;\n webpSrc?: string;\n}\n\nexport const Avatar = ({\n badgeProps,\n hideBorder,\n iconName,\n name = \"\",\n onClick,\n onRemove,\n showBadge,\n showRemoveButton,\n showTooltip = true,\n size = \"md\",\n src,\n tooltipProps,\n variant = \"default\",\n webpSrc,\n ...rest\n}: AvatarProps): React.JSX.Element => {\n const [isHoveringRemoveButton, setIsHoveringRemoveButton] = useState(false);\n const AvatarWrapper: React.FC<AvatarProps> =\n showTooltip && !isHoveringRemoveButton\n ? ({ children }): React.JSX.Element => {\n return (\n <Tooltip\n data-testid=\"kibble-avatar-tooltip\"\n {...tooltipProps}\n label={tooltipProps?.label || name}\n disabled={!name && !tooltipProps?.label}\n placement={tooltipProps?.placement || \"bottom\"}\n >\n <Box>{children}</Box>\n </Tooltip>\n );\n }\n : React.Fragment;\n\n return (\n <AvatarWrapper>\n <CAvatar.Root\n className=\"Avatar group\"\n data-testid=\"kibble-avatar\"\n variant={variant}\n size={size}\n interactive={!!onClick}\n hideBorder={hideBorder}\n onClick={onClick}\n {...rest}\n >\n <CAvatar.Fallback name={name}>\n {iconName && (\n <Icon\n name={iconName}\n pt=\"-1px\"\n size={\n size === \"lg\"\n ? \"lg\"\n : getNextIconSize({\n currentSize: size,\n larger: true,\n delta: 1,\n })\n }\n />\n )}\n </CAvatar.Fallback>\n {showBadge && <AvatarBadge avatarSize={size} {...badgeProps} />}\n {(webpSrc || src) && <CAvatar.Image src={src} srcSet={webpSrc} />}\n {showRemoveButton && size !== \"xs\" && (\n <AvatarRemoveButton\n avatarSize={size}\n onRemove={onRemove}\n isBeingHovered={isHoveringRemoveButton}\n setIsBeingHovered={setIsHoveringRemoveButton}\n />\n )}\n </CAvatar.Root>\n </AvatarWrapper>\n );\n};\n"],"names":["AvatarRemoveButton","avatarSize","onRemove","isBeingHovered","setIsBeingHovered","onRemoveButtonClick","useCallback","e","jsx","Float","Icon","getNextIconSize","currentSize","larger","delta","nextSize","avatarBadgeStatusStyles","avatarBadgeSizeStyles","avatarBadgeRecipe","defineRecipe","iconBadgeOffsetMap","badgeOffsetMap","AvatarBadge","iconName","position","status","rest","styles","useRecipe","useSmallBadge","useMemo","offsetRecord","Flex","Avatar","badgeProps","hideBorder","name","onClick","showBadge","showRemoveButton","showTooltip","size","src","tooltipProps","variant","webpSrc","isHoveringRemoveButton","setIsHoveringRemoveButton","useState","AvatarWrapper","children","Tooltip","Box","React","jsxs","CAvatar.Root","CAvatar.Fallback","CAvatar.Image"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { x as s } from "./vendor-BBfll6i3.js";
|
|
2
2
|
import I, { useCallback as w, useMemo as m, useState as S } from "react";
|
|
3
3
|
import { T as z } from "./tooltip.component-C3v2m2T2.js";
|
|
4
|
-
import { I as u } from "./icon.component-
|
|
4
|
+
import { I as u } from "./icon.component-w5bWbfVU.js";
|
|
5
5
|
import { aE as p, ad as A, u as R, F as _, B as y, aF as F, aG as H, aH as M } from "./chakra-BqBkjpvZ.js";
|
|
6
6
|
const W = ({
|
|
7
7
|
avatarSize: t,
|
|
@@ -304,4 +304,4 @@ const W = ({
|
|
|
304
304
|
export {
|
|
305
305
|
Q as A
|
|
306
306
|
};
|
|
307
|
-
//# sourceMappingURL=avatar.component-
|
|
307
|
+
//# sourceMappingURL=avatar.component-DLqm7tQt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.component-DzvE2D-d.js","sources":["../../src/components/Avatar/components/AvatarRemoveButton/avatarRemoveButton.component.tsx","../../src/shared/utils/sizes.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.recipe.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.records.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.component.tsx","../../src/components/Avatar/avatar.component.tsx"],"sourcesContent":["import React, {\n useCallback,\n MouseEvent,\n Dispatch,\n SetStateAction,\n} from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface AvatarRemoveButtonProps {\n onRemove?: React.MouseEventHandler<HTMLDivElement>;\n isBeingHovered: boolean;\n setIsBeingHovered: Dispatch<SetStateAction<boolean>>;\n}\n\ninterface InternalAvatarRemoveButtonProps extends AvatarRemoveButtonProps {\n avatarSize: string;\n}\n\nconst AvatarRemoveButton = ({\n avatarSize,\n onRemove,\n isBeingHovered,\n setIsBeingHovered,\n}: InternalAvatarRemoveButtonProps): React.JSX.Element => {\n const onRemoveButtonClick = useCallback(\n (e: MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n\n if (onRemove) {\n onRemove(e);\n }\n },\n [onRemove],\n );\n\n return (\n <Float\n className=\"Avatar__RemoveButton\"\n data-testid=\"kibble-avatar-remove-button\"\n backgroundColor=\"background\"\n borderRadius=\"full\"\n cursor=\"pointer\"\n display=\"none\"\n h={4}\n onClick={onRemoveButtonClick}\n onMouseEnter={(): void => setIsBeingHovered(true)}\n onMouseLeave={(): void => setIsBeingHovered(false)}\n w={4}\n zIndex=\"tooltip\"\n offset={avatarSize === \"xl\" ? 2 : 0.5}\n _groupHover={{\n display: \"flex\",\n }}\n >\n <Icon\n variant=\"default\"\n name=\"closeCircleSolid\"\n size={isBeingHovered ? \"sm\" : \"xs\"}\n />\n </Float>\n );\n};\n\nexport default AvatarRemoveButton;\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { IconSize } from \"components/Icon/icon.types\";\n\ninterface GetNextIconSizeProps {\n currentSize: IconSize | AvatarSize;\n larger: boolean;\n delta: number;\n}\n\nexport const getNextIconSize = ({\n currentSize,\n larger = true,\n delta = 1,\n}: GetNextIconSizeProps): IconSize => {\n let nextSize: IconSize;\n switch (currentSize) {\n case \"xs\":\n nextSize = larger ? \"sm\" : \"xs\";\n break;\n case \"sm\":\n nextSize = larger ? \"md\" : \"xs\";\n break;\n case \"md\":\n nextSize = larger ? \"lg\" : \"sm\";\n break;\n case \"lg\":\n nextSize = larger ? \"xl\" : \"md\";\n break;\n case \"xl\":\n nextSize = larger ? \"2xl\" : \"lg\";\n break;\n case \"2xl\":\n nextSize = larger ? \"2xl\" : \"xl\";\n break;\n default:\n nextSize = currentSize as IconSize;\n break;\n }\n\n if (delta > 1) {\n nextSize = getNextIconSize({\n currentSize: nextSize,\n larger,\n delta: delta - 1,\n });\n }\n\n return nextSize;\n};\n","import {\n defineRecipe,\n SystemStyleObject,\n} from \"@chakra-ui/react/styled-system\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { Status } from \"shared/types/status\";\n\nconst avatarBadgeStatusStyles: Record<Status, SystemStyleObject> = {\n info: {\n bgColor: \"background.info\",\n },\n default: {\n bgColor: \"background.subtle.less\",\n },\n error: {\n bgColor: \"background.danger\",\n },\n success: {\n bgColor: \"background.success\",\n },\n warning: {\n bgColor: \"background.warning\",\n },\n};\n\nconst avatarBadgeSizeStyles: Record<AvatarSize, SystemStyleObject> = {\n xs: {\n boxSize: \"10px\",\n },\n sm: {\n boxSize: \"18px\",\n },\n md: {\n boxSize: \"18px\",\n },\n lg: {\n boxSize: \"18px\",\n },\n xl: {\n borderWidth: \"2px\",\n boxSize: \"24px\",\n },\n};\n\nexport const avatarBadgeRecipe = defineRecipe({\n base: {\n alignItems: \"center\",\n borderColor: \"border.strong.contrast\",\n borderRadius: \"full\",\n borderWidth: \"1px\",\n justifyContent: \"center\",\n },\n variants: {\n size: avatarBadgeSizeStyles,\n status: avatarBadgeStatusStyles,\n withIcon: {\n true: {},\n false: {},\n },\n },\n defaultVariants: {\n status: \"info\",\n },\n compoundVariants: [\n {\n withIcon: false,\n status: \"info\",\n css: {\n bgColor: \"background.secondary\",\n },\n },\n {\n withIcon: false,\n status: \"default\",\n css: {\n bgColor: \"background.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"error\",\n css: {\n bgColor: \"background.destructive\",\n },\n },\n {\n withIcon: false,\n status: \"success\",\n css: {\n bgColor: \"background.success.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"warning\",\n css: {\n bgColor: \"background.warning.contrast\",\n },\n },\n {\n withIcon: false,\n size: [\"sm\", \"md\", \"lg\"],\n css: {\n boxSize: \"12px\",\n },\n },\n {\n withIcon: false,\n size: \"xl\",\n css: {\n borderWidth: \"2px\",\n boxSize: \"16px\",\n },\n },\n ],\n});\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\n\nexport const iconBadgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 0.5,\n lg: 0.5,\n xl: 2,\n};\n\nexport const badgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 1,\n lg: 1,\n xl: 2,\n};\n","import React, { useMemo } from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon, IconName } from \"components/Icon\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { ConditionalValue, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { AvatarBadgePosition } from \"./avatarBadge.types\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { avatarBadgeRecipe } from \"./avatarBadge.recipe\";\nimport { Status } from \"shared/types/status\";\nimport { badgeOffsetMap, iconBadgeOffsetMap } from \"./avatarBadge.records\";\n\nexport interface AvatarBadgeProps extends FlexProps {\n iconName?: IconName;\n position?: ConditionalValue<AvatarBadgePosition>;\n status?: Status;\n}\n\ninterface InternalAvatarBadgeProps extends AvatarBadgeProps {\n avatarSize: AvatarSize;\n}\n\nexport const AvatarBadge = ({\n avatarSize,\n iconName,\n position = \"bottom-end\",\n status = \"info\",\n ...rest\n}: InternalAvatarBadgeProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: avatarBadgeRecipe });\n const styles = recipe({ status, size: avatarSize, withIcon: !!iconName });\n const useSmallBadge = useMemo(\n () => avatarSize === \"xs\" || !iconName,\n [iconName, avatarSize],\n );\n const offsetRecord = useMemo(\n () => (useSmallBadge ? badgeOffsetMap : iconBadgeOffsetMap),\n [useSmallBadge],\n );\n\n return (\n <Float\n className=\"Avatar__BadgeWrapper\"\n data-testid=\"kibble-avatar-badge-wrapper\"\n offset={offsetRecord[avatarSize]}\n placement={position}\n >\n <Flex\n className=\"Avatar__Badge\"\n data-testid=\"kibble-avatar-badge\"\n css={styles}\n {...rest}\n >\n {!useSmallBadge && iconName && (\n <Icon\n name={iconName}\n variant={\n status !== \"error\" ? (status as TypographyVariant) : \"danger\"\n }\n size={avatarSize === \"xl\" ? \"sm\" : \"xs\"}\n />\n )}\n </Flex>\n </Float>\n );\n};\n","import React, { useState } from \"react\";\nimport { Avatar as CAvatar } from \"@chakra-ui/react/avatar\";\nimport { Tooltip, TooltipProps } from \"components/Tooltip/tooltip.component\";\nimport { Icon, IconName } from \"components/Icon\";\nimport AvatarRemoveButton from \"./components/AvatarRemoveButton/avatarRemoveButton.component\";\nimport { AvatarSize, AvatarVariant } from \"./avatar.types\";\nimport { getNextIconSize } from \"shared/utils/sizes\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n AvatarBadge,\n AvatarBadgeProps,\n} from \"./components/AvatarBadge/avatarBadge.component\";\n\nexport interface AvatarProps extends CAvatar.RootProps {\n badgeProps?: AvatarBadgeProps;\n hideBorder?: boolean;\n iconName?: IconName;\n name?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onRemove?: (event: React.MouseEvent<HTMLDivElement>) => void;\n showBadge?: boolean;\n showRemoveButton?: boolean;\n showTooltip?: boolean;\n size?: AvatarSize;\n src?: string;\n tooltipProps?: TooltipProps;\n variant?: AvatarVariant;\n webpSrc?: string;\n}\n\nexport const Avatar = ({\n badgeProps,\n hideBorder,\n iconName,\n name = \"\",\n onClick,\n onRemove,\n showBadge,\n showRemoveButton,\n showTooltip = true,\n size = \"md\",\n src,\n tooltipProps,\n variant = \"default\",\n webpSrc,\n ...rest\n}: AvatarProps): React.JSX.Element => {\n const [isHoveringRemoveButton, setIsHoveringRemoveButton] = useState(false);\n const AvatarWrapper: React.FC<AvatarProps> =\n showTooltip && !isHoveringRemoveButton\n ? ({ children }): React.JSX.Element => {\n return (\n <Tooltip\n data-testid=\"kibble-avatar-tooltip\"\n {...tooltipProps}\n label={tooltipProps?.label || name}\n disabled={!name && !tooltipProps?.label}\n placement={tooltipProps?.placement || \"bottom\"}\n >\n <Box>{children}</Box>\n </Tooltip>\n );\n }\n : React.Fragment;\n\n return (\n <AvatarWrapper>\n <CAvatar.Root\n className=\"Avatar group\"\n data-testid=\"kibble-avatar\"\n variant={variant}\n size={size}\n interactive={!!onClick}\n hideBorder={hideBorder}\n onClick={onClick}\n {...rest}\n >\n <CAvatar.Fallback name={name}>\n {iconName && (\n <Icon\n name={iconName}\n pt=\"-1px\"\n size={\n size === \"lg\"\n ? \"lg\"\n : getNextIconSize({\n currentSize: size,\n larger: true,\n delta: 1,\n })\n }\n />\n )}\n </CAvatar.Fallback>\n {showBadge && <AvatarBadge avatarSize={size} {...badgeProps} />}\n {(webpSrc || src) && <CAvatar.Image src={src} srcSet={webpSrc} />}\n {showRemoveButton && size !== \"xs\" && (\n <AvatarRemoveButton\n avatarSize={size}\n onRemove={onRemove}\n isBeingHovered={isHoveringRemoveButton}\n setIsBeingHovered={setIsHoveringRemoveButton}\n />\n )}\n </CAvatar.Root>\n </AvatarWrapper>\n );\n};\n"],"names":["AvatarRemoveButton","avatarSize","onRemove","isBeingHovered","setIsBeingHovered","onRemoveButtonClick","useCallback","e","jsx","Float","Icon","getNextIconSize","currentSize","larger","delta","nextSize","avatarBadgeStatusStyles","avatarBadgeSizeStyles","avatarBadgeRecipe","defineRecipe","iconBadgeOffsetMap","badgeOffsetMap","AvatarBadge","iconName","position","status","rest","styles","useRecipe","useSmallBadge","useMemo","offsetRecord","Flex","Avatar","badgeProps","hideBorder","name","onClick","showBadge","showRemoveButton","showTooltip","size","src","tooltipProps","variant","webpSrc","isHoveringRemoveButton","setIsHoveringRemoveButton","useState","AvatarWrapper","children","Tooltip","Box","React","jsxs","CAvatar.Root","CAvatar.Fallback","CAvatar.Image"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"avatar.component-DLqm7tQt.js","sources":["../../src/components/Avatar/components/AvatarRemoveButton/avatarRemoveButton.component.tsx","../../src/shared/utils/sizes.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.recipe.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.records.ts","../../src/components/Avatar/components/AvatarBadge/avatarBadge.component.tsx","../../src/components/Avatar/avatar.component.tsx"],"sourcesContent":["import React, {\n useCallback,\n MouseEvent,\n Dispatch,\n SetStateAction,\n} from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon } from \"components/Icon/icon.component\";\n\ninterface AvatarRemoveButtonProps {\n onRemove?: React.MouseEventHandler<HTMLDivElement>;\n isBeingHovered: boolean;\n setIsBeingHovered: Dispatch<SetStateAction<boolean>>;\n}\n\ninterface InternalAvatarRemoveButtonProps extends AvatarRemoveButtonProps {\n avatarSize: string;\n}\n\nconst AvatarRemoveButton = ({\n avatarSize,\n onRemove,\n isBeingHovered,\n setIsBeingHovered,\n}: InternalAvatarRemoveButtonProps): React.JSX.Element => {\n const onRemoveButtonClick = useCallback(\n (e: MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n\n if (onRemove) {\n onRemove(e);\n }\n },\n [onRemove],\n );\n\n return (\n <Float\n className=\"Avatar__RemoveButton\"\n data-testid=\"kibble-avatar-remove-button\"\n backgroundColor=\"background\"\n borderRadius=\"full\"\n cursor=\"pointer\"\n display=\"none\"\n h={4}\n onClick={onRemoveButtonClick}\n onMouseEnter={(): void => setIsBeingHovered(true)}\n onMouseLeave={(): void => setIsBeingHovered(false)}\n w={4}\n zIndex=\"tooltip\"\n offset={avatarSize === \"xl\" ? 2 : 0.5}\n _groupHover={{\n display: \"flex\",\n }}\n >\n <Icon\n variant=\"default\"\n name=\"closeCircleSolid\"\n size={isBeingHovered ? \"sm\" : \"xs\"}\n />\n </Float>\n );\n};\n\nexport default AvatarRemoveButton;\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { IconSize } from \"components/Icon/icon.types\";\n\ninterface GetNextIconSizeProps {\n currentSize: IconSize | AvatarSize;\n larger: boolean;\n delta: number;\n}\n\nexport const getNextIconSize = ({\n currentSize,\n larger = true,\n delta = 1,\n}: GetNextIconSizeProps): IconSize => {\n let nextSize: IconSize;\n switch (currentSize) {\n case \"xs\":\n nextSize = larger ? \"sm\" : \"xs\";\n break;\n case \"sm\":\n nextSize = larger ? \"md\" : \"xs\";\n break;\n case \"md\":\n nextSize = larger ? \"lg\" : \"sm\";\n break;\n case \"lg\":\n nextSize = larger ? \"xl\" : \"md\";\n break;\n case \"xl\":\n nextSize = larger ? \"2xl\" : \"lg\";\n break;\n case \"2xl\":\n nextSize = larger ? \"2xl\" : \"xl\";\n break;\n default:\n nextSize = currentSize as IconSize;\n break;\n }\n\n if (delta > 1) {\n nextSize = getNextIconSize({\n currentSize: nextSize,\n larger,\n delta: delta - 1,\n });\n }\n\n return nextSize;\n};\n","import {\n defineRecipe,\n SystemStyleObject,\n} from \"@chakra-ui/react/styled-system\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { Status } from \"shared/types/status\";\n\nconst avatarBadgeStatusStyles: Record<Status, SystemStyleObject> = {\n info: {\n bgColor: \"background.info\",\n },\n default: {\n bgColor: \"background.subtle.less\",\n },\n error: {\n bgColor: \"background.danger\",\n },\n success: {\n bgColor: \"background.success\",\n },\n warning: {\n bgColor: \"background.warning\",\n },\n};\n\nconst avatarBadgeSizeStyles: Record<AvatarSize, SystemStyleObject> = {\n xs: {\n boxSize: \"10px\",\n },\n sm: {\n boxSize: \"18px\",\n },\n md: {\n boxSize: \"18px\",\n },\n lg: {\n boxSize: \"18px\",\n },\n xl: {\n borderWidth: \"2px\",\n boxSize: \"24px\",\n },\n};\n\nexport const avatarBadgeRecipe = defineRecipe({\n base: {\n alignItems: \"center\",\n borderColor: \"border.strong.contrast\",\n borderRadius: \"full\",\n borderWidth: \"1px\",\n justifyContent: \"center\",\n },\n variants: {\n size: avatarBadgeSizeStyles,\n status: avatarBadgeStatusStyles,\n withIcon: {\n true: {},\n false: {},\n },\n },\n defaultVariants: {\n status: \"info\",\n },\n compoundVariants: [\n {\n withIcon: false,\n status: \"info\",\n css: {\n bgColor: \"background.secondary\",\n },\n },\n {\n withIcon: false,\n status: \"default\",\n css: {\n bgColor: \"background.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"error\",\n css: {\n bgColor: \"background.destructive\",\n },\n },\n {\n withIcon: false,\n status: \"success\",\n css: {\n bgColor: \"background.success.contrast\",\n },\n },\n {\n withIcon: false,\n status: \"warning\",\n css: {\n bgColor: \"background.warning.contrast\",\n },\n },\n {\n withIcon: false,\n size: [\"sm\", \"md\", \"lg\"],\n css: {\n boxSize: \"12px\",\n },\n },\n {\n withIcon: false,\n size: \"xl\",\n css: {\n borderWidth: \"2px\",\n boxSize: \"16px\",\n },\n },\n ],\n});\n","import { AvatarSize } from \"components/Avatar/avatar.types\";\n\nexport const iconBadgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 0.5,\n lg: 0.5,\n xl: 2,\n};\n\nexport const badgeOffsetMap: Record<AvatarSize, number> = {\n xs: 0.5,\n sm: 0.5,\n md: 1,\n lg: 1,\n xl: 2,\n};\n","import React, { useMemo } from \"react\";\nimport { Float } from \"@chakra-ui/react/float\";\nimport { Icon, IconName } from \"components/Icon\";\nimport { TypographyVariant } from \"shared/types/typography\";\nimport { AvatarSize } from \"components/Avatar/avatar.types\";\nimport { ConditionalValue, useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { AvatarBadgePosition } from \"./avatarBadge.types\";\nimport { Flex, FlexProps } from \"@chakra-ui/react/flex\";\nimport { avatarBadgeRecipe } from \"./avatarBadge.recipe\";\nimport { Status } from \"shared/types/status\";\nimport { badgeOffsetMap, iconBadgeOffsetMap } from \"./avatarBadge.records\";\n\nexport interface AvatarBadgeProps extends FlexProps {\n iconName?: IconName;\n position?: ConditionalValue<AvatarBadgePosition>;\n status?: Status;\n}\n\ninterface InternalAvatarBadgeProps extends AvatarBadgeProps {\n avatarSize: AvatarSize;\n}\n\nexport const AvatarBadge = ({\n avatarSize,\n iconName,\n position = \"bottom-end\",\n status = \"info\",\n ...rest\n}: InternalAvatarBadgeProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: avatarBadgeRecipe });\n const styles = recipe({ status, size: avatarSize, withIcon: !!iconName });\n const useSmallBadge = useMemo(\n () => avatarSize === \"xs\" || !iconName,\n [iconName, avatarSize],\n );\n const offsetRecord = useMemo(\n () => (useSmallBadge ? badgeOffsetMap : iconBadgeOffsetMap),\n [useSmallBadge],\n );\n\n return (\n <Float\n className=\"Avatar__BadgeWrapper\"\n data-testid=\"kibble-avatar-badge-wrapper\"\n offset={offsetRecord[avatarSize]}\n placement={position}\n >\n <Flex\n className=\"Avatar__Badge\"\n data-testid=\"kibble-avatar-badge\"\n css={styles}\n {...rest}\n >\n {!useSmallBadge && iconName && (\n <Icon\n name={iconName}\n variant={\n status !== \"error\" ? (status as TypographyVariant) : \"danger\"\n }\n size={avatarSize === \"xl\" ? \"sm\" : \"xs\"}\n />\n )}\n </Flex>\n </Float>\n );\n};\n","import React, { useState } from \"react\";\nimport { Avatar as CAvatar } from \"@chakra-ui/react/avatar\";\nimport { Tooltip, TooltipProps } from \"components/Tooltip/tooltip.component\";\nimport { Icon, IconName } from \"components/Icon\";\nimport AvatarRemoveButton from \"./components/AvatarRemoveButton/avatarRemoveButton.component\";\nimport { AvatarSize, AvatarVariant } from \"./avatar.types\";\nimport { getNextIconSize } from \"shared/utils/sizes\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n AvatarBadge,\n AvatarBadgeProps,\n} from \"./components/AvatarBadge/avatarBadge.component\";\n\nexport interface AvatarProps extends CAvatar.RootProps {\n badgeProps?: AvatarBadgeProps;\n hideBorder?: boolean;\n iconName?: IconName;\n name?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onRemove?: (event: React.MouseEvent<HTMLDivElement>) => void;\n showBadge?: boolean;\n showRemoveButton?: boolean;\n showTooltip?: boolean;\n size?: AvatarSize;\n src?: string;\n tooltipProps?: TooltipProps;\n variant?: AvatarVariant;\n webpSrc?: string;\n}\n\nexport const Avatar = ({\n badgeProps,\n hideBorder,\n iconName,\n name = \"\",\n onClick,\n onRemove,\n showBadge,\n showRemoveButton,\n showTooltip = true,\n size = \"md\",\n src,\n tooltipProps,\n variant = \"default\",\n webpSrc,\n ...rest\n}: AvatarProps): React.JSX.Element => {\n const [isHoveringRemoveButton, setIsHoveringRemoveButton] = useState(false);\n const AvatarWrapper: React.FC<AvatarProps> =\n showTooltip && !isHoveringRemoveButton\n ? ({ children }): React.JSX.Element => {\n return (\n <Tooltip\n data-testid=\"kibble-avatar-tooltip\"\n {...tooltipProps}\n label={tooltipProps?.label || name}\n disabled={!name && !tooltipProps?.label}\n placement={tooltipProps?.placement || \"bottom\"}\n >\n <Box>{children}</Box>\n </Tooltip>\n );\n }\n : React.Fragment;\n\n return (\n <AvatarWrapper>\n <CAvatar.Root\n className=\"Avatar group\"\n data-testid=\"kibble-avatar\"\n variant={variant}\n size={size}\n interactive={!!onClick}\n hideBorder={hideBorder}\n onClick={onClick}\n {...rest}\n >\n <CAvatar.Fallback name={name}>\n {iconName && (\n <Icon\n name={iconName}\n pt=\"-1px\"\n size={\n size === \"lg\"\n ? \"lg\"\n : getNextIconSize({\n currentSize: size,\n larger: true,\n delta: 1,\n })\n }\n />\n )}\n </CAvatar.Fallback>\n {showBadge && <AvatarBadge avatarSize={size} {...badgeProps} />}\n {(webpSrc || src) && <CAvatar.Image src={src} srcSet={webpSrc} />}\n {showRemoveButton && size !== \"xs\" && (\n <AvatarRemoveButton\n avatarSize={size}\n onRemove={onRemove}\n isBeingHovered={isHoveringRemoveButton}\n setIsBeingHovered={setIsHoveringRemoveButton}\n />\n )}\n </CAvatar.Root>\n </AvatarWrapper>\n );\n};\n"],"names":["AvatarRemoveButton","avatarSize","onRemove","isBeingHovered","setIsBeingHovered","onRemoveButtonClick","useCallback","e","jsx","Float","Icon","getNextIconSize","currentSize","larger","delta","nextSize","avatarBadgeStatusStyles","avatarBadgeSizeStyles","avatarBadgeRecipe","defineRecipe","iconBadgeOffsetMap","badgeOffsetMap","AvatarBadge","iconName","position","status","rest","styles","useRecipe","useSmallBadge","useMemo","offsetRecord","Flex","Avatar","badgeProps","hideBorder","name","onClick","showBadge","showRemoveButton","showTooltip","size","src","tooltipProps","variant","webpSrc","isHoveringRemoveButton","setIsHoveringRemoveButton","useState","AvatarWrapper","children","Tooltip","Box","React","jsxs","CAvatar.Root","CAvatar.Fallback","CAvatar.Image"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const r=require("./vendor-D-x6W6ez.js"),s=require("react"),a=require("./avatar.component-
|
|
2
|
-
//# sourceMappingURL=avatarGroup.component-
|
|
1
|
+
"use strict";const r=require("./vendor-D-x6W6ez.js"),s=require("react"),a=require("./avatar.component-B14bRpeL.js"),h=require("./chakra-DmF8Cxqs.js"),j=({addButtonTooltipText:n,avatars:t,max:c=3,onAdd:m,onRemove:p,showAddButton:u=!0,showRemoveAvatarButton:i=!1,size:e="md",variant:l="default",...v})=>{const x=s.useMemo(()=>t.map(o=>o.name).join(", "),[t]),d=e==="xs"||e==="sm"?-1:-2;return r.jsxRuntimeExports.jsxs(h.AvatarGroup,{className:"AvatarGroup","data-testid":"kibble-avatar-group",gap:0,spaceX:d,stacking:"first-on-top",size:e,...v,children:[t.length>c?r.jsxRuntimeExports.jsx(a.Avatar,{name:`${t.length}`,size:e,variant:"contrast",showRemoveButton:!1,tooltipProps:{label:x}}):t.map((o,g)=>s.createElement(a.Avatar,{...o,key:o.name,size:e,variant:l||o.variant,showRemoveButton:i,onRemove:()=>p?.(g)})),u&&r.jsxRuntimeExports.jsx(a.Avatar,{variant:"dashed",iconName:"plus",onClick:m,...!!n&&{tooltipProps:{label:n}},size:e})]})};exports.AvatarGroup=j;
|
|
2
|
+
//# sourceMappingURL=avatarGroup.component-4kVezqP-.js.map
|
package/dist/chunks/{avatarGroup.component-DES1ekL9.js.map → avatarGroup.component-4kVezqP-.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatarGroup.component-
|
|
1
|
+
{"version":3,"file":"avatarGroup.component-4kVezqP-.js","sources":["../../src/components/AvatarGroup/avatarGroup.component.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n AvatarGroup as CAvatarGroup,\n AvatarGroupProps as CAvatarGroupProps,\n} from \"@chakra-ui/react/avatar\";\nimport { Avatar, AvatarProps } from \"components/Avatar/avatar.component\";\nimport { AvatarSize, AvatarVariant } from \"components/Avatar/avatar.types\";\n\nexport interface AvatarGroupProps extends CAvatarGroupProps {\n addButtonTooltipText?: string;\n avatars: AvatarProps[];\n max?: number;\n onAdd?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onRemove?: (index: number) => void;\n showAddButton?: boolean;\n showRemoveAvatarButton?: boolean;\n size?: AvatarSize;\n variant?: AvatarVariant;\n}\n\nexport const AvatarGroup = ({\n addButtonTooltipText,\n avatars,\n max = 3,\n onAdd,\n onRemove,\n showAddButton = true,\n showRemoveAvatarButton = false,\n size = \"md\",\n variant = \"default\",\n ...rest\n}: AvatarGroupProps): React.JSX.Element => {\n const mergedNames = useMemo(\n () => avatars.map((avatar) => avatar.name).join(\", \"),\n [avatars],\n );\n const spacing = size === \"xs\" || size === \"sm\" ? -1 : -2;\n\n return (\n <CAvatarGroup\n className=\"AvatarGroup\"\n data-testid=\"kibble-avatar-group\"\n gap={0}\n spaceX={spacing}\n stacking=\"first-on-top\"\n size={size}\n {...rest}\n >\n {avatars.length > max ? (\n <Avatar\n name={`${avatars.length}`}\n size={size}\n variant=\"contrast\"\n showRemoveButton={false}\n tooltipProps={{ label: mergedNames }}\n />\n ) : (\n avatars.map((avatar, index) => (\n <Avatar\n {...avatar}\n key={avatar.name}\n size={size}\n variant={variant || avatar.variant}\n showRemoveButton={showRemoveAvatarButton}\n onRemove={() => onRemove?.(index)}\n />\n ))\n )}\n {showAddButton && (\n <Avatar\n variant=\"dashed\"\n iconName=\"plus\"\n onClick={onAdd}\n {...(!!addButtonTooltipText && {\n tooltipProps: { label: addButtonTooltipText },\n })}\n size={size}\n />\n )}\n </CAvatarGroup>\n );\n};\n"],"names":["AvatarGroup","addButtonTooltipText","avatars","max","onAdd","onRemove","showAddButton","showRemoveAvatarButton","size","variant","rest","mergedNames","useMemo","avatar","spacing","jsxs","CAvatarGroup","jsx","Avatar","index","createElement"],"mappings":"sJAoBaA,EAAc,CAAC,CAC1B,qBAAAC,EACA,QAAAC,EACA,IAAAC,EAAM,EACN,MAAAC,EACA,SAAAC,EACA,cAAAC,EAAgB,GAChB,uBAAAC,EAAyB,GACzB,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAcC,EAAA,QAClB,IAAMV,EAAQ,IAAKW,GAAWA,EAAO,IAAI,EAAE,KAAK,IAAI,EACpD,CAACX,CAAO,CACV,EACMY,EAAUN,IAAS,MAAQA,IAAS,KAAO,GAAK,GAGpD,OAAAO,EAAA,kBAAA,KAACC,EAAA,YAAA,CACC,UAAU,cACV,cAAY,sBACZ,IAAK,EACL,OAAQF,EACR,SAAS,eACT,KAAAN,EACC,GAAGE,EAEH,SAAA,CAAAR,EAAQ,OAASC,EAChBc,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,KAAM,GAAGhB,EAAQ,MAAM,GACvB,KAAAM,EACA,QAAQ,WACR,iBAAkB,GAClB,aAAc,CAAE,MAAOG,CAAY,CAAA,CAGrC,EAAAT,EAAQ,IAAI,CAACW,EAAQM,IACnBC,EAAA,cAACF,EAAA,OAAA,CACE,GAAGL,EACJ,IAAKA,EAAO,KACZ,KAAAL,EACA,QAASC,GAAWI,EAAO,QAC3B,iBAAkBN,EAClB,SAAU,IAAMF,IAAWc,CAAK,CAAA,CAAA,CAEnC,EAEFb,GACCW,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,QAAQ,SACR,SAAS,OACT,QAASd,EACR,GAAI,CAAC,CAACH,GAAwB,CAC7B,aAAc,CAAE,MAAOA,CAAqB,CAC9C,EACA,KAAAO,CAAA,CAAA,CACF,CAAA,CAEJ,CAEJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { x as a } from "./vendor-BBfll6i3.js";
|
|
2
2
|
import { useMemo as A, createElement as d } from "react";
|
|
3
|
-
import { A as r } from "./avatar.component-
|
|
3
|
+
import { A as r } from "./avatar.component-DLqm7tQt.js";
|
|
4
4
|
import { A as h } from "./chakra-BqBkjpvZ.js";
|
|
5
5
|
const R = ({
|
|
6
6
|
addButtonTooltipText: m,
|
|
@@ -68,4 +68,4 @@ const R = ({
|
|
|
68
68
|
export {
|
|
69
69
|
R as A
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=avatarGroup.component-
|
|
71
|
+
//# sourceMappingURL=avatarGroup.component-DIDIECGK.js.map
|
package/dist/chunks/{avatarGroup.component-D-U0aMDv.js.map → avatarGroup.component-DIDIECGK.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatarGroup.component-
|
|
1
|
+
{"version":3,"file":"avatarGroup.component-DIDIECGK.js","sources":["../../src/components/AvatarGroup/avatarGroup.component.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n AvatarGroup as CAvatarGroup,\n AvatarGroupProps as CAvatarGroupProps,\n} from \"@chakra-ui/react/avatar\";\nimport { Avatar, AvatarProps } from \"components/Avatar/avatar.component\";\nimport { AvatarSize, AvatarVariant } from \"components/Avatar/avatar.types\";\n\nexport interface AvatarGroupProps extends CAvatarGroupProps {\n addButtonTooltipText?: string;\n avatars: AvatarProps[];\n max?: number;\n onAdd?: (event: React.MouseEvent<HTMLDivElement>) => void;\n onRemove?: (index: number) => void;\n showAddButton?: boolean;\n showRemoveAvatarButton?: boolean;\n size?: AvatarSize;\n variant?: AvatarVariant;\n}\n\nexport const AvatarGroup = ({\n addButtonTooltipText,\n avatars,\n max = 3,\n onAdd,\n onRemove,\n showAddButton = true,\n showRemoveAvatarButton = false,\n size = \"md\",\n variant = \"default\",\n ...rest\n}: AvatarGroupProps): React.JSX.Element => {\n const mergedNames = useMemo(\n () => avatars.map((avatar) => avatar.name).join(\", \"),\n [avatars],\n );\n const spacing = size === \"xs\" || size === \"sm\" ? -1 : -2;\n\n return (\n <CAvatarGroup\n className=\"AvatarGroup\"\n data-testid=\"kibble-avatar-group\"\n gap={0}\n spaceX={spacing}\n stacking=\"first-on-top\"\n size={size}\n {...rest}\n >\n {avatars.length > max ? (\n <Avatar\n name={`${avatars.length}`}\n size={size}\n variant=\"contrast\"\n showRemoveButton={false}\n tooltipProps={{ label: mergedNames }}\n />\n ) : (\n avatars.map((avatar, index) => (\n <Avatar\n {...avatar}\n key={avatar.name}\n size={size}\n variant={variant || avatar.variant}\n showRemoveButton={showRemoveAvatarButton}\n onRemove={() => onRemove?.(index)}\n />\n ))\n )}\n {showAddButton && (\n <Avatar\n variant=\"dashed\"\n iconName=\"plus\"\n onClick={onAdd}\n {...(!!addButtonTooltipText && {\n tooltipProps: { label: addButtonTooltipText },\n })}\n size={size}\n />\n )}\n </CAvatarGroup>\n );\n};\n"],"names":["AvatarGroup","addButtonTooltipText","avatars","max","onAdd","onRemove","showAddButton","showRemoveAvatarButton","size","variant","rest","mergedNames","useMemo","avatar","spacing","jsxs","CAvatarGroup","jsx","Avatar","index","createElement"],"mappings":";;;;AAoBO,MAAMA,IAAc,CAAC;AAAA,EAC1B,sBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,wBAAAC,IAAyB;AAAA,EACzB,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAcC;AAAA,IAClB,MAAMV,EAAQ,IAAI,CAACW,MAAWA,EAAO,IAAI,EAAE,KAAK,IAAI;AAAA,IACpD,CAACX,CAAO;AAAA,EACV,GACMY,IAAUN,MAAS,QAAQA,MAAS,OAAO,KAAK;AAGpD,SAAAO,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,KAAK;AAAA,MACL,QAAQF;AAAA,MACR,UAAS;AAAA,MACT,MAAAN;AAAA,MACC,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAR,EAAQ,SAASC,IAChBc,gBAAAA,EAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAM,GAAGhB,EAAQ,MAAM;AAAA,YACvB,MAAAM;AAAA,YACA,SAAQ;AAAA,YACR,kBAAkB;AAAA,YAClB,cAAc,EAAE,OAAOG,EAAY;AAAA,UAAA;AAAA,QAGrC,IAAAT,EAAQ,IAAI,CAACW,GAAQM,MACnB,gBAAAC;AAAA,UAACF;AAAA,UAAA;AAAA,YACE,GAAGL;AAAA,YACJ,KAAKA,EAAO;AAAA,YACZ,MAAAL;AAAA,YACA,SAASC,KAAWI,EAAO;AAAA,YAC3B,kBAAkBN;AAAA,YAClB,UAAU,MAAMF,IAAWc,CAAK;AAAA,UAAA;AAAA,QAAA,CAEnC;AAAA,QAEFb,KACCW,gBAAAA,EAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,UAAS;AAAA,YACT,SAASd;AAAA,YACR,GAAI,CAAC,CAACH,KAAwB;AAAA,cAC7B,cAAc,EAAE,OAAOA,EAAqB;AAAA,YAC9C;AAAA,YACA,MAAAO;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { x as t } from "./vendor-BBfll6i3.js";
|
|
2
2
|
import { forwardRef as f, useMemo as x } from "react";
|
|
3
|
-
import { I as b } from "./icon.component-
|
|
3
|
+
import { I as b } from "./icon.component-w5bWbfVU.js";
|
|
4
4
|
import { I as B, x as g } from "./chakra-BqBkjpvZ.js";
|
|
5
5
|
const j = (s) => s.replace(/([A-Z])/g, " $1").replace(/^\w/, (o) => o.toUpperCase()), I = f(
|
|
6
6
|
({
|
|
@@ -64,4 +64,4 @@ I.displayName = "Button";
|
|
|
64
64
|
export {
|
|
65
65
|
I as B
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=button.component-
|
|
67
|
+
//# sourceMappingURL=button.component-CA9bIFbq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.component-
|
|
1
|
+
{"version":3,"file":"button.component-CA9bIFbq.js","sources":["../../src/shared/utils/strings.ts","../../src/components/Button/button.component.tsx"],"sourcesContent":["export const camelCaseToLabel = (s: string): string =>\n s.replace(/([A-Z])/g, \" $1\").replace(/^\\w/, (c) => c.toUpperCase());\n\nexport const toTitleCase = (s: string): string => {\n const smallWords =\n /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|v.?|vs.?|via)$/i;\n const alphanumericPattern = /([A-Za-z0-9\\u00C0-\\u00FF])/;\n const wordSeparators = /([ :–—-])/;\n\n return s\n .split(wordSeparators)\n .map(function (current, index, array) {\n if (\n /* Check for small words */\n current.search(smallWords) > -1 &&\n /* Skip first and last word */\n index !== 0 &&\n index !== array.length - 1 &&\n /* Ignore title end and subtitle start */\n array[index - 3] !== \":\" &&\n array[index + 1] !== \":\" &&\n /* Ignore small words that start a hyphenated phrase */\n (array[index + 1] !== \"-\" ||\n (array[index - 1] === \"-\" && array[index + 1] === \"-\"))\n ) {\n return current.toLowerCase();\n }\n\n /* Ignore intentional capitalization */\n if (current.substring(1).search(/[A-Z]|\\../) > -1) {\n return current;\n }\n\n /* Ignore URLs */\n if (array[index + 1] === \":\" && array[index + 2] !== \"\") {\n return current;\n }\n\n /* Capitalize the first letter */\n return current.replace(alphanumericPattern, (match) =>\n match.toUpperCase(),\n );\n })\n .join(\"\");\n};\n","import React, { ForwardedRef, forwardRef, useMemo } from \"react\";\nimport {\n Button as CButton,\n ButtonProps as CButtonProps,\n IconButton as CIconButton,\n} from \"@chakra-ui/react/button\";\nimport { IconName } from \"components/Icon/icon.types\";\nimport {\n ButtonConfigVariant,\n ButtonIconPosition,\n ButtonSize,\n ButtonSpinnerPlacement,\n ButtonVariant,\n} from \"./button.types\";\nimport { camelCaseToLabel } from \"shared/utils/strings\";\nimport { Icon } from \"components/Icon\";\n\nexport interface KButtonProps {\n active?: boolean;\n iconName?: IconName;\n iconPosition?: ButtonIconPosition;\n fullWidth?: boolean;\n size?: ButtonSize;\n spinnerPlacement?: ButtonSpinnerPlacement;\n onContrast?: boolean;\n variant?: ButtonVariant;\n}\n\nexport type ButtonProps = KButtonProps & CButtonProps;\n\nexport const Button = forwardRef(\n (\n {\n active,\n children,\n iconName,\n iconPosition = \"left\",\n fullWidth = false,\n onContrast = false,\n size = \"md\",\n variant = \"primary\",\n ...rest\n }: ButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n ): React.JSX.Element => {\n let icon;\n const computedVariant = useMemo(\n () =>\n `${variant}${onContrast ? \"OnContrast\" : \"\"}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n\n if (iconName) {\n icon = <Icon size={size} name={iconName} />;\n\n if (!children) {\n const label = camelCaseToLabel(iconName);\n return (\n <CIconButton\n className=\"IconButton\"\n data-testid=\"kibble-icon-button\"\n ref={ref}\n aria-label={label}\n size={size}\n variant={computedVariant}\n {...rest}\n {...(fullWidth && { width: \"100%\" })}\n >\n {icon}\n </CIconButton>\n );\n }\n }\n\n return (\n <CButton\n className=\"Button\"\n data-testid=\"kibble-button\"\n fontWeight=\"semibold\"\n ref={ref}\n size={size}\n variant={computedVariant}\n {...(active && { \"data-active\": true })}\n {...rest}\n {...(fullWidth && { width: \"100%\" })}\n {...(!!iconName && {\n gap: size === \"xs\" || size === \"sm\" ? 1 : 2,\n })}\n >\n {icon && iconPosition === \"left\" ? icon : <></>}\n {children}\n {icon && iconPosition === \"right\" ? icon : <></>}\n </CButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\n"],"names":["camelCaseToLabel","c","Button","forwardRef","active","children","iconName","iconPosition","fullWidth","onContrast","size","variant","rest","ref","icon","computedVariant","useMemo","jsx","Icon","label","CIconButton","jsxs","CButton","Fragment"],"mappings":";;;;AAAO,MAAMA,IAAmB,CAAC,MAC/B,EAAE,QAAQ,YAAY,KAAK,EAAE,QAAQ,OAAO,CAACC,MAAMA,EAAE,aAAa,GC6BvDC,IAASC;AAAA,EACpB,CACE;AAAA,IACE,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa;AAAA,IACb,MAAAC,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,GAAGC;AAAA,KAELC,MACsB;AAClB,QAAAC;AACJ,UAAMC,IAAkBC;AAAA,MACtB,MACE,GAAGL,CAAO,GAAGF,IAAa,eAAe,EAAE;AAAA,MAC7C,CAACA,GAAYE,CAAO;AAAA,IACtB;AAEA,QAAIL,MACFQ,IAAQG,gBAAAA,EAAA,IAAAC,GAAA,EAAK,MAAAR,GAAY,MAAMJ,GAAU,GAErC,CAACD,IAAU;AACP,YAAAc,IAAQnB,EAAiBM,CAAQ;AAErC,aAAAW,gBAAAA,EAAA;AAAA,QAACG;AAAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,KAAAP;AAAA,UACA,cAAYM;AAAA,UACZ,MAAAT;AAAA,UACA,SAASK;AAAA,UACR,GAAGH;AAAA,UACH,GAAIJ,KAAa,EAAE,OAAO,OAAO;AAAA,UAEjC,UAAAM;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAMJ,WAAAO,gBAAAA,EAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,YAAW;AAAA,QACX,KAAAT;AAAA,QACA,MAAAH;AAAA,QACA,SAASK;AAAA,QACR,GAAIX,KAAU,EAAE,eAAe,GAAK;AAAA,QACpC,GAAGQ;AAAA,QACH,GAAIJ,KAAa,EAAE,OAAO,OAAO;AAAA,QACjC,GAAI,CAAC,CAACF,KAAY;AAAA,UACjB,KAAKI,MAAS,QAAQA,MAAS,OAAO,IAAI;AAAA,QAC5C;AAAA,QAEC,UAAA;AAAA,UAAQI,KAAAP,MAAiB,SAASO,IAASG,gBAAAA,EAAA,IAAAM,EAAA,UAAA,EAAA;AAAA,UAC3ClB;AAAA,UACAS,KAAQP,MAAiB,UAAUO,IAASG,gBAAAA,EAAA,IAAAM,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC/C;AAAA,EAAA;AAGN;AAEArB,EAAO,cAAc;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./vendor-D-x6W6ez.js"),p=require("react"),R=require("./icon.component-
|
|
2
|
-
//# sourceMappingURL=button.component-
|
|
1
|
+
"use strict";const t=require("./vendor-D-x6W6ez.js"),p=require("react"),R=require("./icon.component-CzjzLiO_.js"),d=require("./chakra-DmF8Cxqs.js"),f=r=>r.replace(/([A-Z])/g," $1").replace(/^\w/,n=>n.toUpperCase()),j=p.forwardRef(({active:r,children:n,iconName:a,iconPosition:o="left",fullWidth:u=!1,onContrast:c=!1,size:s="md",variant:i="primary",...x},l)=>{let e;const m=p.useMemo(()=>`${i}${c?"OnContrast":""}`,[c,i]);if(a&&(e=t.jsxRuntimeExports.jsx(R.Icon,{size:s,name:a}),!n)){const b=f(a);return t.jsxRuntimeExports.jsx(d.IconButton,{className:"IconButton","data-testid":"kibble-icon-button",ref:l,"aria-label":b,size:s,variant:m,...x,...u&&{width:"100%"},children:e})}return t.jsxRuntimeExports.jsxs(d.Button,{className:"Button","data-testid":"kibble-button",fontWeight:"semibold",ref:l,size:s,variant:m,...r&&{"data-active":!0},...x,...u&&{width:"100%"},...!!a&&{gap:s==="xs"||s==="sm"?1:2},children:[e&&o==="left"?e:t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{}),n,e&&o==="right"?e:t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{})]})});j.displayName="Button";exports.Button=j;
|
|
2
|
+
//# sourceMappingURL=button.component-DDjwI0xh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.component-
|
|
1
|
+
{"version":3,"file":"button.component-DDjwI0xh.js","sources":["../../src/shared/utils/strings.ts","../../src/components/Button/button.component.tsx"],"sourcesContent":["export const camelCaseToLabel = (s: string): string =>\n s.replace(/([A-Z])/g, \" $1\").replace(/^\\w/, (c) => c.toUpperCase());\n\nexport const toTitleCase = (s: string): string => {\n const smallWords =\n /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|v.?|vs.?|via)$/i;\n const alphanumericPattern = /([A-Za-z0-9\\u00C0-\\u00FF])/;\n const wordSeparators = /([ :–—-])/;\n\n return s\n .split(wordSeparators)\n .map(function (current, index, array) {\n if (\n /* Check for small words */\n current.search(smallWords) > -1 &&\n /* Skip first and last word */\n index !== 0 &&\n index !== array.length - 1 &&\n /* Ignore title end and subtitle start */\n array[index - 3] !== \":\" &&\n array[index + 1] !== \":\" &&\n /* Ignore small words that start a hyphenated phrase */\n (array[index + 1] !== \"-\" ||\n (array[index - 1] === \"-\" && array[index + 1] === \"-\"))\n ) {\n return current.toLowerCase();\n }\n\n /* Ignore intentional capitalization */\n if (current.substring(1).search(/[A-Z]|\\../) > -1) {\n return current;\n }\n\n /* Ignore URLs */\n if (array[index + 1] === \":\" && array[index + 2] !== \"\") {\n return current;\n }\n\n /* Capitalize the first letter */\n return current.replace(alphanumericPattern, (match) =>\n match.toUpperCase(),\n );\n })\n .join(\"\");\n};\n","import React, { ForwardedRef, forwardRef, useMemo } from \"react\";\nimport {\n Button as CButton,\n ButtonProps as CButtonProps,\n IconButton as CIconButton,\n} from \"@chakra-ui/react/button\";\nimport { IconName } from \"components/Icon/icon.types\";\nimport {\n ButtonConfigVariant,\n ButtonIconPosition,\n ButtonSize,\n ButtonSpinnerPlacement,\n ButtonVariant,\n} from \"./button.types\";\nimport { camelCaseToLabel } from \"shared/utils/strings\";\nimport { Icon } from \"components/Icon\";\n\nexport interface KButtonProps {\n active?: boolean;\n iconName?: IconName;\n iconPosition?: ButtonIconPosition;\n fullWidth?: boolean;\n size?: ButtonSize;\n spinnerPlacement?: ButtonSpinnerPlacement;\n onContrast?: boolean;\n variant?: ButtonVariant;\n}\n\nexport type ButtonProps = KButtonProps & CButtonProps;\n\nexport const Button = forwardRef(\n (\n {\n active,\n children,\n iconName,\n iconPosition = \"left\",\n fullWidth = false,\n onContrast = false,\n size = \"md\",\n variant = \"primary\",\n ...rest\n }: ButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n ): React.JSX.Element => {\n let icon;\n const computedVariant = useMemo(\n () =>\n `${variant}${onContrast ? \"OnContrast\" : \"\"}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n\n if (iconName) {\n icon = <Icon size={size} name={iconName} />;\n\n if (!children) {\n const label = camelCaseToLabel(iconName);\n return (\n <CIconButton\n className=\"IconButton\"\n data-testid=\"kibble-icon-button\"\n ref={ref}\n aria-label={label}\n size={size}\n variant={computedVariant}\n {...rest}\n {...(fullWidth && { width: \"100%\" })}\n >\n {icon}\n </CIconButton>\n );\n }\n }\n\n return (\n <CButton\n className=\"Button\"\n data-testid=\"kibble-button\"\n fontWeight=\"semibold\"\n ref={ref}\n size={size}\n variant={computedVariant}\n {...(active && { \"data-active\": true })}\n {...rest}\n {...(fullWidth && { width: \"100%\" })}\n {...(!!iconName && {\n gap: size === \"xs\" || size === \"sm\" ? 1 : 2,\n })}\n >\n {icon && iconPosition === \"left\" ? icon : <></>}\n {children}\n {icon && iconPosition === \"right\" ? icon : <></>}\n </CButton>\n );\n },\n);\n\nButton.displayName = \"Button\";\n"],"names":["camelCaseToLabel","s","c","Button","forwardRef","active","children","iconName","iconPosition","fullWidth","onContrast","size","variant","rest","ref","icon","computedVariant","useMemo","jsx","Icon","label","CIconButton","jsxs","CButton","Fragment"],"mappings":"oJAAaA,EAAoBC,GAC/BA,EAAE,QAAQ,WAAY,KAAK,EAAE,QAAQ,MAAQC,GAAMA,EAAE,aAAa,EC6BvDC,EAASC,EAAA,WACpB,CACE,CACE,OAAAC,EACA,SAAAC,EACA,SAAAC,EACA,aAAAC,EAAe,OACf,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,GAAGC,GAELC,IACsB,CAClB,IAAAC,EACJ,MAAMC,EAAkBC,EAAA,QACtB,IACE,GAAGL,CAAO,GAAGF,EAAa,aAAe,EAAE,GAC7C,CAACA,EAAYE,CAAO,CACtB,EAEA,GAAIL,IACFQ,EAAQG,EAAA,kBAAA,IAAAC,EAAA,KAAA,CAAK,KAAAR,EAAY,KAAMJ,EAAU,EAErC,CAACD,GAAU,CACP,MAAAc,EAAQpB,EAAiBO,CAAQ,EAErC,OAAAW,EAAA,kBAAA,IAACG,EAAA,WAAA,CACC,UAAU,aACV,cAAY,qBACZ,IAAAP,EACA,aAAYM,EACZ,KAAAT,EACA,QAASK,EACR,GAAGH,EACH,GAAIJ,GAAa,CAAE,MAAO,MAAO,EAEjC,SAAAM,CAAA,CACH,CAAA,CAMJ,OAAAO,EAAA,kBAAA,KAACC,EAAA,OAAA,CACC,UAAU,SACV,cAAY,gBACZ,WAAW,WACX,IAAAT,EACA,KAAAH,EACA,QAASK,EACR,GAAIX,GAAU,CAAE,cAAe,EAAK,EACpC,GAAGQ,EACH,GAAIJ,GAAa,CAAE,MAAO,MAAO,EACjC,GAAI,CAAC,CAACF,GAAY,CACjB,IAAKI,IAAS,MAAQA,IAAS,KAAO,EAAI,CAC5C,EAEC,SAAA,CAAQI,GAAAP,IAAiB,OAASO,EAASG,EAAA,kBAAA,IAAAM,EAAA,kBAAA,SAAA,EAAA,EAC3ClB,EACAS,GAAQP,IAAiB,QAAUO,EAASG,EAAA,kBAAA,IAAAM,EAAA,kBAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAC/C,CAAA,CAGN,EAEArB,EAAO,YAAc"}
|