@televet/kibble-ui 5.0.26-sc.0 → 5.0.26-sc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{avatarGroup.component-CJCQSIyr.js → avatarGroup.component-CIj4qETQ.js} +2 -2
- package/dist/chunks/{avatarGroup.component-CJCQSIyr.js.map → avatarGroup.component-CIj4qETQ.js.map} +1 -1
- package/dist/chunks/{avatarGroup.component-BPhQpVYM.js → avatarGroup.component-DgR3EqDJ.js} +2 -2
- package/dist/chunks/{avatarGroup.component-BPhQpVYM.js.map → avatarGroup.component-DgR3EqDJ.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-pR0mvmm7.js → buttonGroup.component-BDN5oxew.js} +2 -2
- package/dist/chunks/{buttonGroup.component-pR0mvmm7.js.map → buttonGroup.component-BDN5oxew.js.map} +1 -1
- package/dist/chunks/{buttonGroup.component-CO5lC36l.js → buttonGroup.component-ITatUbCf.js} +2 -2
- package/dist/chunks/{buttonGroup.component-CO5lC36l.js.map → buttonGroup.component-ITatUbCf.js.map} +1 -1
- package/dist/chunks/{calendar.component-CegJR9ey.js → calendar.component-D-1uis5P.js} +2 -2
- package/dist/chunks/{calendar.component-CegJR9ey.js.map → calendar.component-D-1uis5P.js.map} +1 -1
- package/dist/chunks/{calendar.component-BFSyxaB6.js → calendar.component-zZHTvsvc.js} +2 -2
- package/dist/chunks/{calendar.component-BFSyxaB6.js.map → calendar.component-zZHTvsvc.js.map} +1 -1
- package/dist/chunks/{checkbox.component-DUJCiZr2.js → checkbox.component-2QYi-1Um.js} +2 -2
- package/dist/chunks/{checkbox.component-DUJCiZr2.js.map → checkbox.component-2QYi-1Um.js.map} +1 -1
- package/dist/chunks/{checkbox.component-C132vkan.js → checkbox.component-CId1KMX3.js} +2 -2
- package/dist/chunks/{checkbox.component-C132vkan.js.map → checkbox.component-CId1KMX3.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-2U0ZW1TD.js → checkboxGroup.component-7ACU5_4p.js} +2 -2
- package/dist/chunks/{checkboxGroup.component-2U0ZW1TD.js.map → checkboxGroup.component-7ACU5_4p.js.map} +1 -1
- package/dist/chunks/{checkboxGroup.component-DW9qUlSm.js → checkboxGroup.component-MS4j5Kq3.js} +3 -3
- package/dist/chunks/{checkboxGroup.component-DW9qUlSm.js.map → checkboxGroup.component-MS4j5Kq3.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-CscMIq51.js → conversationCard.component-9rv6mttl.js} +2 -2
- package/dist/chunks/{conversationCard.component-CscMIq51.js.map → conversationCard.component-9rv6mttl.js.map} +1 -1
- package/dist/chunks/{conversationCard.component-DByFo4jj.js → conversationCard.component-DCLDx0JX.js} +2 -2
- package/dist/chunks/{conversationCard.component-DByFo4jj.js.map → conversationCard.component-DCLDx0JX.js.map} +1 -1
- package/dist/chunks/{datePicker.component-B0aMsVZV.js → datePicker.component-BkCLLBbA.js} +3 -3
- package/dist/chunks/{datePicker.component-B0aMsVZV.js.map → datePicker.component-BkCLLBbA.js.map} +1 -1
- package/dist/chunks/{datePicker.component-CRb1t0d5.js → datePicker.component-Dbxjqbki.js} +2 -2
- package/dist/chunks/{datePicker.component-CRb1t0d5.js.map → datePicker.component-Dbxjqbki.js.map} +1 -1
- package/dist/chunks/{datePicker.provider-i35-VNAb.js → datePicker.provider-CclRyVCb.js} +2 -2
- package/dist/chunks/{datePicker.provider-i35-VNAb.js.map → datePicker.provider-CclRyVCb.js.map} +1 -1
- package/dist/chunks/{datePicker.provider-CttuPiiS.js → datePicker.provider-u-PZcKWc.js} +2 -2
- package/dist/chunks/{datePicker.provider-CttuPiiS.js.map → datePicker.provider-u-PZcKWc.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-Djm1_zfc.js → dateTimePicker.component-49q0KN3k.js} +2 -2
- package/dist/chunks/{dateTimePicker.component-Djm1_zfc.js.map → dateTimePicker.component-49q0KN3k.js.map} +1 -1
- package/dist/chunks/{dateTimePicker.component-C7K8HPB2.js → dateTimePicker.component-jPa4WzsR.js} +4 -4
- package/dist/chunks/{dateTimePicker.component-C7K8HPB2.js.map → dateTimePicker.component-jPa4WzsR.js.map} +1 -1
- package/dist/chunks/{menu.component-D2V9Q1Y5.js → menu.component-B-8F68kW.js} +2 -2
- package/dist/chunks/{menu.component-D2V9Q1Y5.js.map → menu.component-B-8F68kW.js.map} +1 -1
- package/dist/chunks/{menu.component-WHzMw5ZI.js → menu.component-C6x9T6yo.js} +3 -3
- package/dist/chunks/{menu.component-WHzMw5ZI.js.map → menu.component-C6x9T6yo.js.map} +1 -1
- package/dist/chunks/{numberInput.component-DGPEz0Fv.js → numberInput.component-DCqJn2Ct.js} +2 -2
- package/dist/chunks/{numberInput.component-DGPEz0Fv.js.map → numberInput.component-DCqJn2Ct.js.map} +1 -1
- package/dist/chunks/{numberInput.component-CRDRjrTH.js → numberInput.component-DbvfT3X-.js} +2 -2
- package/dist/chunks/{numberInput.component-CRDRjrTH.js.map → numberInput.component-DbvfT3X-.js.map} +1 -1
- package/dist/chunks/{pinInput.types-Can9f1Eu.js → pinInput.types-CRndmftA.js} +2 -2
- package/dist/chunks/{pinInput.types-Can9f1Eu.js.map → pinInput.types-CRndmftA.js.map} +1 -1
- package/dist/chunks/{pinInput.types-bIGh7aUS.js → pinInput.types-DqQt83Gy.js} +2 -2
- package/dist/chunks/{pinInput.types-bIGh7aUS.js.map → pinInput.types-DqQt83Gy.js.map} +1 -1
- package/dist/chunks/{radioGroup.types-DzSpA07h.js → radioGroup.types-CAXsF2Kb.js} +3 -3
- package/dist/chunks/{radioGroup.types-DzSpA07h.js.map → radioGroup.types-CAXsF2Kb.js.map} +1 -1
- package/dist/chunks/{radioGroup.types-U1ep9nrN.js → radioGroup.types-CJ0YVfw_.js} +2 -2
- package/dist/chunks/{radioGroup.types-U1ep9nrN.js.map → radioGroup.types-CJ0YVfw_.js.map} +1 -1
- package/dist/chunks/{rating.component-BWBPSEEk.js → rating.component-BAZbrMUk.js} +2 -2
- package/dist/chunks/{rating.component-BWBPSEEk.js.map → rating.component-BAZbrMUk.js.map} +1 -1
- package/dist/chunks/{rating.component-DsHkKmA7.js → rating.component-zhZb2naU.js} +2 -2
- package/dist/chunks/{rating.component-DsHkKmA7.js.map → rating.component-zhZb2naU.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-CZ370iI3.js → ratingDots.component-DdCKYqlJ.js} +2 -2
- package/dist/chunks/{ratingDots.component-CZ370iI3.js.map → ratingDots.component-DdCKYqlJ.js.map} +1 -1
- package/dist/chunks/{ratingDots.component-BhWM7kTg.js → ratingDots.component-elJxBu6D.js} +2 -2
- package/dist/chunks/{ratingDots.component-BhWM7kTg.js.map → ratingDots.component-elJxBu6D.js.map} +1 -1
- package/dist/chunks/{select.component-OrsHXCMz.js → select.component-Bz5vEwHi.js} +2 -2
- package/dist/chunks/{select.component-OrsHXCMz.js.map → select.component-Bz5vEwHi.js.map} +1 -1
- package/dist/chunks/{select.component-DckP-f8y.js → select.component-qfwHZeAS.js} +3 -3
- package/dist/chunks/{select.component-DckP-f8y.js.map → select.component-qfwHZeAS.js.map} +1 -1
- package/dist/chunks/{switch.component-DjN67nap.js → switch.component-B7aBQUCG.js} +2 -2
- package/dist/chunks/{switch.component-DjN67nap.js.map → switch.component-B7aBQUCG.js.map} +1 -1
- package/dist/chunks/{switch.component-BYEMhBCA.js → switch.component-BjQDRlc3.js} +2 -2
- package/dist/chunks/{switch.component-BYEMhBCA.js.map → switch.component-BjQDRlc3.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-CT7_RyJ-.js → tagBlock.component-D--q_dqh.js} +2 -2
- package/dist/chunks/{tagBlock.component-CT7_RyJ-.js.map → tagBlock.component-D--q_dqh.js.map} +1 -1
- package/dist/chunks/{tagBlock.component-B899iqQP.js → tagBlock.component-vtBWiOLi.js} +2 -2
- package/dist/chunks/{tagBlock.component-B899iqQP.js.map → tagBlock.component-vtBWiOLi.js.map} +1 -1
- package/dist/chunks/{textInput.component-CwTc0h_F.js → textInput.component-Cj9j8DqH.js} +2 -2
- package/dist/chunks/{textInput.component-CwTc0h_F.js.map → textInput.component-Cj9j8DqH.js.map} +1 -1
- package/dist/chunks/{textInput.component-BeiTxTkS.js → textInput.component-D3OYUjHL.js} +2 -2
- package/dist/chunks/{textInput.component-BeiTxTkS.js.map → textInput.component-D3OYUjHL.js.map} +1 -1
- package/dist/chunks/{textarea.component-C6Wt1Pk8.js → textarea.component-Cb3kTPuL.js} +2 -2
- package/dist/chunks/{textarea.component-C6Wt1Pk8.js.map → textarea.component-Cb3kTPuL.js.map} +1 -1
- package/dist/chunks/{textarea.component-BIg_XX_R.js → textarea.component-DnJ9y2v3.js} +2 -2
- package/dist/chunks/{textarea.component-BIg_XX_R.js.map → textarea.component-DnJ9y2v3.js.map} +1 -1
- package/dist/chunks/{theme.provider-CtzMMtbT.js → theme.provider-BiwmZ1Gw.js} +246 -237
- package/dist/chunks/{theme.provider-CtzMMtbT.js.map → theme.provider-BiwmZ1Gw.js.map} +1 -1
- package/dist/chunks/theme.provider-CUMlVRCg.js +28 -0
- package/dist/chunks/{theme.provider-CkWbGsN9.js.map → theme.provider-CUMlVRCg.js.map} +1 -1
- package/dist/chunks/{timePicker.component-BdIjJ96a.js → timePicker.component-CkYqU0UZ.js} +2 -2
- package/dist/chunks/{timePicker.component-BdIjJ96a.js.map → timePicker.component-CkYqU0UZ.js.map} +1 -1
- package/dist/chunks/{timePicker.component-BkDrB3Eh.js → timePicker.component-wuq0ZnAY.js} +2 -2
- package/dist/chunks/{timePicker.component-BkDrB3Eh.js.map → timePicker.component-wuq0ZnAY.js.map} +1 -1
- package/dist/chunks/{timeRange.component-DzY2fVBh.js → timeRange.component-4vXrNask.js} +2 -2
- package/dist/chunks/{timeRange.component-DzY2fVBh.js.map → timeRange.component-4vXrNask.js.map} +1 -1
- package/dist/chunks/{timeRange.component-CtD_S8FS.js → timeRange.component-FoG-HHMx.js} +2 -2
- package/dist/chunks/{timeRange.component-CtD_S8FS.js.map → timeRange.component-FoG-HHMx.js.map} +1 -1
- package/dist/chunks/{withFormControl-QV_Jridv.js → withFormControl-BQWcby9D.js} +2 -2
- package/dist/chunks/{withFormControl-QV_Jridv.js.map → withFormControl-BQWcby9D.js.map} +1 -1
- package/dist/chunks/{withFormControl-DW9A6BSL.js → withFormControl-tp8w4b63.js} +24 -25
- package/dist/chunks/{withFormControl-DW9A6BSL.js.map → withFormControl-tp8w4b63.js.map} +1 -1
- package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
- package/dist/cjs/components/Calendar/index.cjs +1 -1
- package/dist/cjs/components/Checkbox/index.cjs +1 -1
- package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
- package/dist/cjs/components/ConversationCard/index.cjs +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +1 -1
- package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
- package/dist/cjs/components/Menu/index.cjs +1 -1
- package/dist/cjs/components/NumberInput/index.cjs +1 -1
- package/dist/cjs/components/PinInput/index.cjs +1 -1
- package/dist/cjs/components/RadioGroup/index.cjs +1 -1
- package/dist/cjs/components/Rating/index.cjs +1 -1
- package/dist/cjs/components/RatingDots/index.cjs +1 -1
- package/dist/cjs/components/Select/index.cjs +1 -1
- package/dist/cjs/components/Switch/index.cjs +1 -1
- package/dist/cjs/components/TagBlock/index.cjs +1 -1
- package/dist/cjs/components/TextInput/index.cjs +1 -1
- package/dist/cjs/components/Textarea/index.cjs +1 -1
- package/dist/cjs/components/TimePicker/index.cjs +1 -1
- package/dist/cjs/components/TimeRange/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/theme/index.cjs +1 -1
- package/dist/esm/components/AvatarGroup/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/Calendar/index.js +1 -1
- package/dist/esm/components/Checkbox/index.js +1 -1
- package/dist/esm/components/CheckboxGroup/index.js +1 -1
- package/dist/esm/components/ConversationCard/index.js +1 -1
- package/dist/esm/components/DatePicker/index.js +2 -2
- package/dist/esm/components/DateTimePicker/index.js +1 -1
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/NumberInput/index.js +1 -1
- package/dist/esm/components/PinInput/index.js +1 -1
- package/dist/esm/components/RadioGroup/index.js +1 -1
- package/dist/esm/components/Rating/index.js +1 -1
- package/dist/esm/components/RatingDots/index.js +1 -1
- package/dist/esm/components/Select/index.js +1 -1
- package/dist/esm/components/Switch/index.js +1 -1
- package/dist/esm/components/TagBlock/index.js +1 -1
- package/dist/esm/components/TextInput/index.js +1 -1
- package/dist/esm/components/Textarea/index.js +1 -1
- package/dist/esm/components/TimePicker/index.js +1 -1
- package/dist/esm/components/TimeRange/index.js +1 -1
- package/dist/esm/components/index.js +22 -22
- package/dist/esm/index.js +23 -23
- package/dist/esm/theme/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/theme.provider-CkWbGsN9.js +0 -28
package/dist/chunks/{checkbox.component-C132vkan.js.map → checkbox.component-CId1KMX3.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.component-C132vkan.js","sources":["../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js","../../node_modules/@ark-ui/react/dist/utils/use-controllable-state.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-label.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkmark/checkmark.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkbox/checkbox.js","../../src/components/Checkbox/checkbox.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxProvider, useCheckboxContext] = createContext({\n name: \"CheckboxContext\",\n hookName: \"useCheckboxContext\",\n providerName: \"<CheckboxProvider />\"\n});\n\nexport { CheckboxProvider, useCheckboxContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxControl = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nCheckboxControl.displayName = \"CheckboxControl\";\n\nexport { CheckboxControl };\n","'use client';\nimport { useState, useCallback } from 'react';\n\nfunction useControllableState(props) {\n const { value, onChange, defaultValue } = props;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const controlled = value !== void 0;\n const currentValue = controlled ? value : uncontrolledValue;\n const setValue = useCallback(\n (value2) => {\n if (controlled) {\n return onChange?.(value2);\n }\n setUncontrolledValue(value2);\n return onChange?.(value2);\n },\n [controlled, onChange]\n );\n return [currentValue, setValue];\n}\n\nexport { useControllableState };\n","'use client';\nimport { useControllableState } from '../../utils/use-controllable-state.js';\nimport { useEvent } from '../../utils/use-event.js';\n\nfunction useCheckboxGroup(props = {}) {\n const { defaultValue, value: controlledValue, onValueChange, disabled, readOnly, name, invalid } = props;\n const interactive = !(disabled || readOnly);\n const onChangeProp = useEvent(onValueChange, { sync: true });\n const [value, setValue] = useControllableState({\n value: controlledValue,\n defaultValue: defaultValue || [],\n onChange: onChangeProp\n });\n const isChecked = (val) => {\n return value.some((v) => String(v) === String(val));\n };\n const toggleValue = (val) => {\n isChecked(val) ? removeValue(val) : addValue(val);\n };\n const addValue = (val) => {\n if (!interactive) return;\n if (isChecked(val)) return;\n setValue(value.concat(val));\n };\n const removeValue = (val) => {\n if (!interactive) return;\n setValue(value.filter((v) => String(v) !== String(val)));\n };\n const getItemProps = (props2) => {\n return {\n checked: props2.value != null ? isChecked(props2.value) : void 0,\n onCheckedChange() {\n if (props2.value != null) {\n toggleValue(props2.value);\n }\n },\n name,\n disabled,\n readOnly,\n invalid\n };\n };\n return {\n isChecked,\n value,\n name,\n disabled: !!disabled,\n readOnly: !!readOnly,\n invalid: !!invalid,\n setValue,\n addValue,\n toggleValue,\n getItemProps\n };\n}\n\nexport { useCheckboxGroup };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxGroupContextProvider, useCheckboxGroupContext] = createContext({\n name: \"CheckboxGroupContext\",\n hookName: \"useCheckboxGroupContext\",\n providerName: \"<CheckboxGroupProvider />\",\n strict: false\n});\n\nexport { CheckboxGroupContextProvider, useCheckboxGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { checkboxAnatomy } from './checkbox.anatomy.js';\nimport { useCheckboxGroup } from './use-checkbox-group.js';\nimport { CheckboxGroupContextProvider } from './use-checkbox-group-context.js';\n\nconst CheckboxGroup = forwardRef((props, ref) => {\n const [checkboxGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"name\"\n ]);\n const checkboxGroup = useCheckboxGroup(checkboxGroupProps);\n return /* @__PURE__ */ jsx(CheckboxGroupContextProvider, { value: checkboxGroup, children: /* @__PURE__ */ jsx(ark.div, { ref, role: \"group\", ...localProps, ...checkboxAnatomy.build().group.attrs }) });\n});\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport { CheckboxGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxHiddenInput = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nCheckboxHiddenInput.displayName = \"CheckboxHiddenInput\";\n\nexport { CheckboxHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxLabel = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nCheckboxLabel.displayName = \"CheckboxLabel\";\n\nexport { CheckboxLabel };\n","'use client';\nimport * as checkbox from '@zag-js/checkbox';\nimport { mergeProps, useMachine, normalizeProps } from '@zag-js/react';\nimport { useMemo, useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxGroupContext } from './use-checkbox-group-context.js';\n\nconst useCheckbox = (ownProps = {}) => {\n const checkboxGroup = useCheckboxGroupContext();\n const field = useFieldContext();\n const props = useMemo(() => {\n return mergeProps(ownProps, checkboxGroup?.getItemProps({ value: ownProps.value }) ?? {});\n }, [ownProps, checkboxGroup]);\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n dir,\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n getRootNode,\n ...props\n };\n const service = useMachine(checkbox.machine, machineProps);\n return checkbox.connect(service, normalizeProps);\n};\n\nexport { useCheckbox };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useCheckbox } from './use-checkbox.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRoot = forwardRef((props, ref) => {\n const [useCheckboxProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"defaultChecked\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n ]);\n const checkbox = useCheckbox(useCheckboxProps);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRoot.displayName = \"CheckboxRoot\";\n\nexport { CheckboxRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRootProvider = forwardRef((props, ref) => {\n const [{ value: checkbox }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRootProvider.displayName = \"CheckboxRootProvider\";\n\nexport { CheckboxRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { dataAttr } from '../../utils/attr.js';\nimport { EMPTY_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst Checkmark = forwardRef(\n function Checkmark2(props, ref) {\n const recipe = useRecipe({ key: \"checkmark\", recipe: props.recipe });\n const [variantProps, restProps] = recipe.splitVariantProps(props);\n const { checked, indeterminate, disabled, unstyled, children, ...rest } = restProps;\n const styles = unstyled ? EMPTY_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"3px\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"data-state\": indeterminate ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(disabled),\n css: [styles, props.css],\n ...rest,\n children: indeterminate ? /* @__PURE__ */ jsx(\"path\", { d: \"M5 12h14\" }) : checked ? /* @__PURE__ */ jsx(\"polyline\", { points: \"20 6 9 17 4 12\" }) : null\n }\n );\n }\n);\n\nexport { Checkmark };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Checkbox, useCheckboxContext } from '@ark-ui/react/checkbox';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { Checkmark } from '../checkmark/checkmark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useCheckboxStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"checkbox\" });\nconst CheckboxRootProvider = withProvider(Checkbox.RootProvider, \"root\", { forwardAsChild: true });\nconst CheckboxRoot = withProvider(\n Checkbox.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst CheckboxPropsProvider = PropsProvider;\nconst CheckboxLabel = withContext(\n Checkbox.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst CheckboxIndicator = forwardRef(function CheckboxIndicator2(props, ref) {\n const { checked, indeterminate, ...rest } = props;\n const api = useCheckboxContext();\n const styles = useCheckboxStyles();\n if (checked && api.checked) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: checked\n }\n );\n }\n if (indeterminate && api.indeterminate) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: indeterminate\n }\n );\n }\n return /* @__PURE__ */ jsx(\n Checkmark,\n {\n ref,\n checked: api.checked,\n indeterminate: api.indeterminate,\n disabled: api.disabled,\n unstyled: true,\n ...rest,\n css: [styles.indicator, props.css]\n }\n );\n});\nconst CheckboxControl = withContext(\n Checkbox.Control,\n \"control\",\n {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckboxIndicator, {}) }\n }\n);\nconst CheckboxGroup = chakra(\n Checkbox.Group,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1.5\"\n }\n },\n { forwardAsChild: true }\n);\nconst CheckboxContext = Checkbox.Context;\nconst CheckboxHiddenInput = Checkbox.HiddenInput;\n\nexport { CheckboxContext, CheckboxControl, CheckboxGroup, CheckboxHiddenInput, CheckboxIndicator, CheckboxLabel, CheckboxPropsProvider, CheckboxRoot, CheckboxRootProvider, useCheckboxStyles };\n","import React from 'react';\nimport { Checkbox as CCheckbox } from '@chakra-ui/react/checkbox';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { Text } from 'components/Text/text.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { CheckedChangeDetails, CheckedState } from './checkbox.types';\n\nexport interface CheckboxProps extends WithFormControlProps, Omit<CCheckbox.RootProps, 'onChange'> {\n /** Ref to the hidden input element. */\n checkboxRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the checkbox component. */\n rootRef?: React.Ref<HTMLLabelElement | null>;\n /** Size of the checkbox.\n * @default md\n */\n size?: FormControlSize;\n /**\n * If true, the checkbox will be wrapped in a Card component.\n * @default false\n */\n withCard?: boolean;\n /** Callback function when the checkbox value changes. */\n onCheckedChange?: (details: CheckedChangeDetails) => void;\n /** If true, the checkbox will be checked. Use `indeterminate` to show a checkbox with a dash in the middle. */\n checked?: CheckedState;\n /** Tooltip text to show when hovering over the checkbox input or label. */\n tooltipLabel?: string;\n /** Data test id for the checkbox.\n * @default kibble-checkbox\n */\n 'data-testid'?: string;\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checkboxRef,\n children,\n onContrast,\n rootRef,\n size = 'md',\n withCard = false,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-checkbox',\n ...rest\n },\n ref,\n ): React.ReactNode => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n const checkboxContent = (\n <CCheckbox.Root\n className=\"Checkbox\"\n checked={rest.checked}\n data-testid={dataTestId}\n ref={rootRef}\n variant={_computedVariant}\n size={size}\n withCard={withCard}\n {...rest}\n >\n <CCheckbox.HiddenInput\n className=\"Checkbox__Input\"\n data-testid={`${dataTestId}-input`}\n ref={checkboxRef || ref}\n />\n <CCheckbox.Control className=\"Checkbox__Control\" data-testid={`${dataTestId}-control`}>\n <CCheckbox.Indicator className=\"Checkbox__Indicator\" data-testid={`${dataTestId}-indicator`} />\n </CCheckbox.Control>\n {!!children && (\n <CCheckbox.Label\n className=\"Checkbox__Label\"\n data-testid={`${dataTestId}-label`}\n {...(withCard && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </CCheckbox.Label>\n )}\n </CCheckbox.Root>\n );\n\n if (tooltipLabel) {\n return (\n <Tooltip label={tooltipLabel} onContrast={onContrast} data-testid={`${dataTestId}-tooltip`}>\n {checkboxContent}\n </Tooltip>\n );\n }\n\n return checkboxContent;\n },\n);\n\nCheckbox.displayName = 'Checkbox';\nconst WrappedCheckbox = withFormControl<CheckboxProps>(Checkbox);\n\nexport { WrappedCheckbox as Checkbox };\n"],"names":["CheckboxProvider","useCheckboxContext","createContext","CheckboxControl","forwardRef","props","ref","checkbox","mergedProps","mergeProps","jsx","ark","useControllableState","value","onChange","defaultValue","uncontrolledValue","setUncontrolledValue","useState","controlled","currentValue","setValue","useCallback","value2","useCheckboxGroup","controlledValue","onValueChange","disabled","readOnly","name","invalid","interactive","onChangeProp","useEvent","isChecked","val","v","toggleValue","removeValue","addValue","props2","CheckboxGroupContextProvider","useCheckboxGroupContext","CheckboxGroup","checkboxGroupProps","localProps","createSplitProps","checkboxGroup","checkboxAnatomy","CheckboxHiddenInput","field","useFieldContext","CheckboxLabel","useCheckbox","ownProps","useMemo","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","checkbox.machine","checkbox.connect","normalizeProps","CheckboxRoot","useCheckboxProps","CheckboxRootProvider","Checkmark","recipe","useRecipe","variantProps","restProps","checked","indeterminate","unstyled","children","rest","styles","EMPTY_STYLES","chakra","dataAttr","withProvider","withContext","useCheckboxStyles","createSlotRecipeContext","Checkbox.RootProvider","Checkbox.Root","Checkbox.Label","CheckboxIndicator","api","Checkbox.Control","Checkbox.Group","Checkbox.HiddenInput","Checkbox","React","checkboxRef","onContrast","rootRef","size","withCard","tooltipLabel","dataTestId","_computedVariant","checkboxContent","jsxs","CCheckbox.Root","CCheckbox.HiddenInput","CCheckbox.Control","CCheckbox.Indicator","CCheckbox.Label","Text","Tooltip","WrappedCheckbox","withFormControl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
|
|
1
|
+
{"version":3,"file":"checkbox.component-CId1KMX3.js","sources":["../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js","../../node_modules/@ark-ui/react/dist/utils/use-controllable-state.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-label.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkmark/checkmark.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkbox/checkbox.js","../../src/components/Checkbox/checkbox.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxProvider, useCheckboxContext] = createContext({\n name: \"CheckboxContext\",\n hookName: \"useCheckboxContext\",\n providerName: \"<CheckboxProvider />\"\n});\n\nexport { CheckboxProvider, useCheckboxContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxControl = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nCheckboxControl.displayName = \"CheckboxControl\";\n\nexport { CheckboxControl };\n","'use client';\nimport { useState, useCallback } from 'react';\n\nfunction useControllableState(props) {\n const { value, onChange, defaultValue } = props;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const controlled = value !== void 0;\n const currentValue = controlled ? value : uncontrolledValue;\n const setValue = useCallback(\n (value2) => {\n if (controlled) {\n return onChange?.(value2);\n }\n setUncontrolledValue(value2);\n return onChange?.(value2);\n },\n [controlled, onChange]\n );\n return [currentValue, setValue];\n}\n\nexport { useControllableState };\n","'use client';\nimport { useControllableState } from '../../utils/use-controllable-state.js';\nimport { useEvent } from '../../utils/use-event.js';\n\nfunction useCheckboxGroup(props = {}) {\n const { defaultValue, value: controlledValue, onValueChange, disabled, readOnly, name, invalid } = props;\n const interactive = !(disabled || readOnly);\n const onChangeProp = useEvent(onValueChange, { sync: true });\n const [value, setValue] = useControllableState({\n value: controlledValue,\n defaultValue: defaultValue || [],\n onChange: onChangeProp\n });\n const isChecked = (val) => {\n return value.some((v) => String(v) === String(val));\n };\n const toggleValue = (val) => {\n isChecked(val) ? removeValue(val) : addValue(val);\n };\n const addValue = (val) => {\n if (!interactive) return;\n if (isChecked(val)) return;\n setValue(value.concat(val));\n };\n const removeValue = (val) => {\n if (!interactive) return;\n setValue(value.filter((v) => String(v) !== String(val)));\n };\n const getItemProps = (props2) => {\n return {\n checked: props2.value != null ? isChecked(props2.value) : void 0,\n onCheckedChange() {\n if (props2.value != null) {\n toggleValue(props2.value);\n }\n },\n name,\n disabled,\n readOnly,\n invalid\n };\n };\n return {\n isChecked,\n value,\n name,\n disabled: !!disabled,\n readOnly: !!readOnly,\n invalid: !!invalid,\n setValue,\n addValue,\n toggleValue,\n getItemProps\n };\n}\n\nexport { useCheckboxGroup };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxGroupContextProvider, useCheckboxGroupContext] = createContext({\n name: \"CheckboxGroupContext\",\n hookName: \"useCheckboxGroupContext\",\n providerName: \"<CheckboxGroupProvider />\",\n strict: false\n});\n\nexport { CheckboxGroupContextProvider, useCheckboxGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { checkboxAnatomy } from './checkbox.anatomy.js';\nimport { useCheckboxGroup } from './use-checkbox-group.js';\nimport { CheckboxGroupContextProvider } from './use-checkbox-group-context.js';\n\nconst CheckboxGroup = forwardRef((props, ref) => {\n const [checkboxGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"name\"\n ]);\n const checkboxGroup = useCheckboxGroup(checkboxGroupProps);\n return /* @__PURE__ */ jsx(CheckboxGroupContextProvider, { value: checkboxGroup, children: /* @__PURE__ */ jsx(ark.div, { ref, role: \"group\", ...localProps, ...checkboxAnatomy.build().group.attrs }) });\n});\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport { CheckboxGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxHiddenInput = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nCheckboxHiddenInput.displayName = \"CheckboxHiddenInput\";\n\nexport { CheckboxHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxLabel = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nCheckboxLabel.displayName = \"CheckboxLabel\";\n\nexport { CheckboxLabel };\n","'use client';\nimport * as checkbox from '@zag-js/checkbox';\nimport { mergeProps, useMachine, normalizeProps } from '@zag-js/react';\nimport { useMemo, useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxGroupContext } from './use-checkbox-group-context.js';\n\nconst useCheckbox = (ownProps = {}) => {\n const checkboxGroup = useCheckboxGroupContext();\n const field = useFieldContext();\n const props = useMemo(() => {\n return mergeProps(ownProps, checkboxGroup?.getItemProps({ value: ownProps.value }) ?? {});\n }, [ownProps, checkboxGroup]);\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n dir,\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n getRootNode,\n ...props\n };\n const service = useMachine(checkbox.machine, machineProps);\n return checkbox.connect(service, normalizeProps);\n};\n\nexport { useCheckbox };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useCheckbox } from './use-checkbox.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRoot = forwardRef((props, ref) => {\n const [useCheckboxProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"defaultChecked\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n ]);\n const checkbox = useCheckbox(useCheckboxProps);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRoot.displayName = \"CheckboxRoot\";\n\nexport { CheckboxRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRootProvider = forwardRef((props, ref) => {\n const [{ value: checkbox }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRootProvider.displayName = \"CheckboxRootProvider\";\n\nexport { CheckboxRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { dataAttr } from '../../utils/attr.js';\nimport { EMPTY_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst Checkmark = forwardRef(\n function Checkmark2(props, ref) {\n const recipe = useRecipe({ key: \"checkmark\", recipe: props.recipe });\n const [variantProps, restProps] = recipe.splitVariantProps(props);\n const { checked, indeterminate, disabled, unstyled, children, ...rest } = restProps;\n const styles = unstyled ? EMPTY_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"3px\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"data-state\": indeterminate ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(disabled),\n css: [styles, props.css],\n ...rest,\n children: indeterminate ? /* @__PURE__ */ jsx(\"path\", { d: \"M5 12h14\" }) : checked ? /* @__PURE__ */ jsx(\"polyline\", { points: \"20 6 9 17 4 12\" }) : null\n }\n );\n }\n);\n\nexport { Checkmark };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Checkbox, useCheckboxContext } from '@ark-ui/react/checkbox';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { Checkmark } from '../checkmark/checkmark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useCheckboxStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"checkbox\" });\nconst CheckboxRootProvider = withProvider(Checkbox.RootProvider, \"root\", { forwardAsChild: true });\nconst CheckboxRoot = withProvider(\n Checkbox.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst CheckboxPropsProvider = PropsProvider;\nconst CheckboxLabel = withContext(\n Checkbox.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst CheckboxIndicator = forwardRef(function CheckboxIndicator2(props, ref) {\n const { checked, indeterminate, ...rest } = props;\n const api = useCheckboxContext();\n const styles = useCheckboxStyles();\n if (checked && api.checked) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: checked\n }\n );\n }\n if (indeterminate && api.indeterminate) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: indeterminate\n }\n );\n }\n return /* @__PURE__ */ jsx(\n Checkmark,\n {\n ref,\n checked: api.checked,\n indeterminate: api.indeterminate,\n disabled: api.disabled,\n unstyled: true,\n ...rest,\n css: [styles.indicator, props.css]\n }\n );\n});\nconst CheckboxControl = withContext(\n Checkbox.Control,\n \"control\",\n {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckboxIndicator, {}) }\n }\n);\nconst CheckboxGroup = chakra(\n Checkbox.Group,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1.5\"\n }\n },\n { forwardAsChild: true }\n);\nconst CheckboxContext = Checkbox.Context;\nconst CheckboxHiddenInput = Checkbox.HiddenInput;\n\nexport { CheckboxContext, CheckboxControl, CheckboxGroup, CheckboxHiddenInput, CheckboxIndicator, CheckboxLabel, CheckboxPropsProvider, CheckboxRoot, CheckboxRootProvider, useCheckboxStyles };\n","import React from 'react';\nimport { Checkbox as CCheckbox } from '@chakra-ui/react/checkbox';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { Text } from 'components/Text/text.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { CheckedChangeDetails, CheckedState } from './checkbox.types';\n\nexport interface CheckboxProps extends WithFormControlProps, Omit<CCheckbox.RootProps, 'onChange'> {\n /** Ref to the hidden input element. */\n checkboxRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the checkbox component. */\n rootRef?: React.Ref<HTMLLabelElement | null>;\n /** Size of the checkbox.\n * @default md\n */\n size?: FormControlSize;\n /**\n * If true, the checkbox will be wrapped in a Card component.\n * @default false\n */\n withCard?: boolean;\n /** Callback function when the checkbox value changes. */\n onCheckedChange?: (details: CheckedChangeDetails) => void;\n /** If true, the checkbox will be checked. Use `indeterminate` to show a checkbox with a dash in the middle. */\n checked?: CheckedState;\n /** Tooltip text to show when hovering over the checkbox input or label. */\n tooltipLabel?: string;\n /** Data test id for the checkbox.\n * @default kibble-checkbox\n */\n 'data-testid'?: string;\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checkboxRef,\n children,\n onContrast,\n rootRef,\n size = 'md',\n withCard = false,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-checkbox',\n ...rest\n },\n ref,\n ): React.ReactNode => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n const checkboxContent = (\n <CCheckbox.Root\n className=\"Checkbox\"\n checked={rest.checked}\n data-testid={dataTestId}\n ref={rootRef}\n variant={_computedVariant}\n size={size}\n withCard={withCard}\n {...rest}\n >\n <CCheckbox.HiddenInput\n className=\"Checkbox__Input\"\n data-testid={`${dataTestId}-input`}\n ref={checkboxRef || ref}\n />\n <CCheckbox.Control className=\"Checkbox__Control\" data-testid={`${dataTestId}-control`}>\n <CCheckbox.Indicator className=\"Checkbox__Indicator\" data-testid={`${dataTestId}-indicator`} />\n </CCheckbox.Control>\n {!!children && (\n <CCheckbox.Label\n className=\"Checkbox__Label\"\n data-testid={`${dataTestId}-label`}\n {...(withCard && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </CCheckbox.Label>\n )}\n </CCheckbox.Root>\n );\n\n if (tooltipLabel) {\n return (\n <Tooltip label={tooltipLabel} onContrast={onContrast} data-testid={`${dataTestId}-tooltip`}>\n {checkboxContent}\n </Tooltip>\n );\n }\n\n return checkboxContent;\n },\n);\n\nCheckbox.displayName = 'Checkbox';\nconst WrappedCheckbox = withFormControl<CheckboxProps>(Checkbox);\n\nexport { WrappedCheckbox as Checkbox };\n"],"names":["CheckboxProvider","useCheckboxContext","createContext","CheckboxControl","forwardRef","props","ref","checkbox","mergedProps","mergeProps","jsx","ark","useControllableState","value","onChange","defaultValue","uncontrolledValue","setUncontrolledValue","useState","controlled","currentValue","setValue","useCallback","value2","useCheckboxGroup","controlledValue","onValueChange","disabled","readOnly","name","invalid","interactive","onChangeProp","useEvent","isChecked","val","v","toggleValue","removeValue","addValue","props2","CheckboxGroupContextProvider","useCheckboxGroupContext","CheckboxGroup","checkboxGroupProps","localProps","createSplitProps","checkboxGroup","checkboxAnatomy","CheckboxHiddenInput","field","useFieldContext","CheckboxLabel","useCheckbox","ownProps","useMemo","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","checkbox.machine","checkbox.connect","normalizeProps","CheckboxRoot","useCheckboxProps","CheckboxRootProvider","Checkmark","recipe","useRecipe","variantProps","restProps","checked","indeterminate","unstyled","children","rest","styles","EMPTY_STYLES","chakra","dataAttr","withProvider","withContext","useCheckboxStyles","createSlotRecipeContext","Checkbox.RootProvider","Checkbox.Root","Checkbox.Label","CheckboxIndicator","api","Checkbox.Control","Checkbox.Group","Checkbox.HiddenInput","Checkbox","React","checkboxRef","onContrast","rootRef","size","withCard","tooltipLabel","dataTestId","_computedVariant","checkboxContent","jsxs","CCheckbox.Root","CCheckbox.HiddenInput","CCheckbox.Control","CCheckbox.Indicator","CCheckbox.Label","Text","Tooltip","WrappedCheckbox","withFormControl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
|
package/dist/chunks/{checkboxGroup.component-2U0ZW1TD.js → checkboxGroup.component-7ACU5_4p.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const o=require("./jsx-runtime-BjDatQAs.js"),G=require("./withFormControl-
|
|
2
|
-
//# sourceMappingURL=checkboxGroup.component-
|
|
1
|
+
"use strict";const o=require("./jsx-runtime-BjDatQAs.js"),G=require("./withFormControl-BQWcby9D.js"),c=require("./checkbox.component-CId1KMX3.js"),q=require("./stack-BE-r1yqU.js"),i=({checkboxes:n,defaultValue:r,direction:t="column",disabled:u,invalid:p,onContrast:x,onValueChange:h,readOnly:d,required:a,name:k,size:l="md",value:s,gap:m=2,["data-testid"]:b="kibble-checkbox-group",...C})=>o.jsxRuntimeExports.jsx(c.CheckboxGroup,{className:"CheckboxGroup","data-testid":b,disabled:u,invalid:p,name:k,defaultValue:r,value:s,onValueChange:h,width:"inherit",children:o.jsxRuntimeExports.jsx(q.Stack,{direction:t,gap:m,...C,children:n.map((e,j)=>o.jsxRuntimeExports.jsx(c.WrappedCheckbox,{onContrast:x,checked:e.checked||r?.includes(`${e?.value}`)||s?.includes(`${e?.value}`),size:l,required:a,readOnly:d,...t==="row"&&{fullWidth:!1},...e},`checkbox-${j}`))})});i.displayName="CheckboxGroup";const w=G.withFormControl(i);exports.WrappedCheckboxGroup=w;
|
|
2
|
+
//# sourceMappingURL=checkboxGroup.component-7ACU5_4p.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkboxGroup.component-
|
|
1
|
+
{"version":3,"file":"checkboxGroup.component-7ACU5_4p.js","sources":["../../src/components/CheckboxGroup/checkboxGroup.component.tsx"],"sourcesContent":["import React from 'react';\nimport { CheckboxGroup as CCheckboxGroup, CheckboxGroupProps as CCheckboxGroupProps } from '@chakra-ui/react/checkbox';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FlexDirection } from 'shared/types/alignment';\nimport { Checkbox, CheckboxProps } from 'components/Checkbox/checkbox.component';\nimport { Stack } from '@chakra-ui/react/stack';\nimport { ConditionalValue } from '@chakra-ui/react/styled-system';\n\nexport interface KCheckboxGroupProps extends WithFormControlProps {\n /** An array of Checkbox props to be rendered inside the group. */\n checkboxes: CheckboxProps[];\n /**\n * The direction to stack the checkboxes.\n * @default column\n */\n direction?: ConditionalValue<FlexDirection>;\n /** Callback function triggered when the value changes. */\n onValueChange?: (value: string[]) => void;\n /** Data test id for the checkbox group.\n * @default kibble-checkbox-group\n */\n 'data-testid'?: string;\n}\n\nexport type CheckboxGroupProps = KCheckboxGroupProps & Omit<CCheckboxGroupProps, 'onChange'>;\n\nconst CheckboxGroup = ({\n checkboxes,\n defaultValue,\n direction = 'column',\n disabled,\n invalid,\n onContrast,\n onValueChange,\n readOnly,\n required,\n name,\n size = 'md',\n value,\n gap = 2,\n ['data-testid']: dataTestId = 'kibble-checkbox-group',\n ...rest\n}: CheckboxGroupProps): React.JSX.Element => {\n return (\n <CCheckboxGroup\n className=\"CheckboxGroup\"\n data-testid={dataTestId}\n disabled={disabled}\n invalid={invalid}\n name={name}\n defaultValue={defaultValue}\n value={value}\n onValueChange={onValueChange}\n width=\"inherit\"\n >\n <Stack direction={direction} gap={gap} {...rest}>\n {checkboxes.map((checkbox, index) => (\n <Checkbox\n onContrast={onContrast}\n key={`checkbox-${index}`}\n checked={\n checkbox.checked || defaultValue?.includes(`${checkbox?.value}`) || value?.includes(`${checkbox?.value}`)\n }\n size={size}\n required={required}\n readOnly={readOnly}\n {...(direction === 'row' && { fullWidth: false })}\n {...checkbox}\n />\n ))}\n </Stack>\n </CCheckboxGroup>\n );\n};\n\nCheckboxGroup.displayName = 'CheckboxGroup';\nconst WrappedCheckboxGroup = withFormControl(CheckboxGroup);\n\nexport { WrappedCheckboxGroup as CheckboxGroup };\n"],"names":["CheckboxGroup","checkboxes","defaultValue","direction","disabled","invalid","onContrast","onValueChange","readOnly","required","name","size","value","gap","dataTestId","rest","jsx","CCheckboxGroup","Stack","checkbox","index","Checkbox","WrappedCheckboxGroup","withFormControl"],"mappings":"oLA0BMA,EAAgB,CAAC,CACrB,WAAAC,EACA,aAAAC,EACA,UAAAC,EAAY,SACZ,SAAAC,EACA,QAAAC,EACA,WAAAC,EACA,cAAAC,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,KAAAC,EAAO,KACP,MAAAC,EACA,IAAAC,EAAM,EACN,CAAC,eAAgBC,EAAa,wBAC9B,GAAGC,CACL,IAEIC,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,UAAU,gBACV,cAAaH,EACb,SAAAV,EACA,QAAAC,EACA,KAAAK,EACA,aAAAR,EACA,MAAAU,EACA,cAAAL,EACA,MAAM,UAEN,SAAAS,EAAAA,kBAAAA,IAACE,EAAAA,MAAM,CAAA,UAAAf,EAAsB,IAAAU,EAAW,GAAGE,EACxC,SAAWd,EAAA,IAAI,CAACkB,EAAUC,IACzBJ,EAAA,kBAAA,IAACK,EAAA,gBAAA,CACC,WAAAf,EAEA,QACEa,EAAS,SAAWjB,GAAc,SAAS,GAAGiB,GAAU,KAAK,EAAE,GAAKP,GAAO,SAAS,GAAGO,GAAU,KAAK,EAAE,EAE1G,KAAAR,EACA,SAAAF,EACA,SAAAD,EACC,GAAIL,IAAc,OAAS,CAAE,UAAW,EAAM,EAC9C,GAAGgB,CAAA,EARC,YAAYC,CAAK,EAAA,CAUzB,CACH,CAAA,CAAA,CACF,EAIJpB,EAAc,YAAc,gBACtB,MAAAsB,EAAuBC,kBAAgBvB,CAAa"}
|
package/dist/chunks/{checkboxGroup.component-DW9qUlSm.js → checkboxGroup.component-MS4j5Kq3.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as r } from "./jsx-runtime-C5mzlN2N.js";
|
|
2
|
-
import { w as f } from "./withFormControl-
|
|
3
|
-
import { C as j, W as G } from "./checkbox.component-
|
|
2
|
+
import { w as f } from "./withFormControl-tp8w4b63.js";
|
|
3
|
+
import { C as j, W as G } from "./checkbox.component-2QYi-1Um.js";
|
|
4
4
|
import { S as W } from "./stack-rvdA8MI9.js";
|
|
5
5
|
const a = ({
|
|
6
6
|
checkboxes: p,
|
|
@@ -50,4 +50,4 @@ const g = f(a);
|
|
|
50
50
|
export {
|
|
51
51
|
g as W
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=checkboxGroup.component-
|
|
53
|
+
//# sourceMappingURL=checkboxGroup.component-MS4j5Kq3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkboxGroup.component-
|
|
1
|
+
{"version":3,"file":"checkboxGroup.component-MS4j5Kq3.js","sources":["../../src/components/CheckboxGroup/checkboxGroup.component.tsx"],"sourcesContent":["import React from 'react';\nimport { CheckboxGroup as CCheckboxGroup, CheckboxGroupProps as CCheckboxGroupProps } from '@chakra-ui/react/checkbox';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FlexDirection } from 'shared/types/alignment';\nimport { Checkbox, CheckboxProps } from 'components/Checkbox/checkbox.component';\nimport { Stack } from '@chakra-ui/react/stack';\nimport { ConditionalValue } from '@chakra-ui/react/styled-system';\n\nexport interface KCheckboxGroupProps extends WithFormControlProps {\n /** An array of Checkbox props to be rendered inside the group. */\n checkboxes: CheckboxProps[];\n /**\n * The direction to stack the checkboxes.\n * @default column\n */\n direction?: ConditionalValue<FlexDirection>;\n /** Callback function triggered when the value changes. */\n onValueChange?: (value: string[]) => void;\n /** Data test id for the checkbox group.\n * @default kibble-checkbox-group\n */\n 'data-testid'?: string;\n}\n\nexport type CheckboxGroupProps = KCheckboxGroupProps & Omit<CCheckboxGroupProps, 'onChange'>;\n\nconst CheckboxGroup = ({\n checkboxes,\n defaultValue,\n direction = 'column',\n disabled,\n invalid,\n onContrast,\n onValueChange,\n readOnly,\n required,\n name,\n size = 'md',\n value,\n gap = 2,\n ['data-testid']: dataTestId = 'kibble-checkbox-group',\n ...rest\n}: CheckboxGroupProps): React.JSX.Element => {\n return (\n <CCheckboxGroup\n className=\"CheckboxGroup\"\n data-testid={dataTestId}\n disabled={disabled}\n invalid={invalid}\n name={name}\n defaultValue={defaultValue}\n value={value}\n onValueChange={onValueChange}\n width=\"inherit\"\n >\n <Stack direction={direction} gap={gap} {...rest}>\n {checkboxes.map((checkbox, index) => (\n <Checkbox\n onContrast={onContrast}\n key={`checkbox-${index}`}\n checked={\n checkbox.checked || defaultValue?.includes(`${checkbox?.value}`) || value?.includes(`${checkbox?.value}`)\n }\n size={size}\n required={required}\n readOnly={readOnly}\n {...(direction === 'row' && { fullWidth: false })}\n {...checkbox}\n />\n ))}\n </Stack>\n </CCheckboxGroup>\n );\n};\n\nCheckboxGroup.displayName = 'CheckboxGroup';\nconst WrappedCheckboxGroup = withFormControl(CheckboxGroup);\n\nexport { WrappedCheckboxGroup as CheckboxGroup };\n"],"names":["CheckboxGroup","checkboxes","defaultValue","direction","disabled","invalid","onContrast","onValueChange","readOnly","required","name","size","value","gap","dataTestId","rest","jsx","CCheckboxGroup","Stack","checkbox","index","Checkbox","WrappedCheckboxGroup","withFormControl"],"mappings":";;;;AA0BA,MAAMA,IAAgB,CAAC;AAAA,EACrB,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAaH;AAAA,IACb,UAAAV;AAAA,IACA,SAAAC;AAAA,IACA,MAAAK;AAAA,IACA,cAAAR;AAAA,IACA,OAAAU;AAAA,IACA,eAAAL;AAAA,IACA,OAAM;AAAA,IAEN,UAAAS,gBAAAA,EAAAA,IAACE,GAAM,EAAA,WAAAf,GAAsB,KAAAU,GAAW,GAAGE,GACxC,UAAWd,EAAA,IAAI,CAACkB,GAAUC,MACzBJ,gBAAAA,EAAA;AAAA,MAACK;AAAAA,MAAA;AAAA,QACC,YAAAf;AAAA,QAEA,SACEa,EAAS,WAAWjB,GAAc,SAAS,GAAGiB,GAAU,KAAK,EAAE,KAAKP,GAAO,SAAS,GAAGO,GAAU,KAAK,EAAE;AAAA,QAE1G,MAAAR;AAAA,QACA,UAAAF;AAAA,QACA,UAAAD;AAAA,QACC,GAAIL,MAAc,SAAS,EAAE,WAAW,GAAM;AAAA,QAC9C,GAAGgB;AAAA,MAAA;AAAA,MARC,YAAYC,CAAK;AAAA,IAAA,CAUzB,EACH,CAAA;AAAA,EAAA;AACF;AAIJpB,EAAc,cAAc;AACtB,MAAAsB,IAAuBC,EAAgBvB,CAAa;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t=require("./jsx-runtime-BjDatQAs.js"),y=require("react"),C=require("./index-BQRnVsAg.js"),z=require("./card.component-BmBiYbMV.js"),$=require("./timestamp.component-BfmZPfy5.js"),H=require("./notificationCounter.component-CBwi5vXa.js"),R=require("./icon.component-B1hr5lLa.js"),B=require("./heading.component-DnoZOXdz.js"),E=require("./text.component-BDDz5KQP.js"),F=require("./avatar.component-BGgZoVJS.js"),k=require("./tooltip.component-DBw-hAPU.js"),g=require("./flex-BOU6tYUd.js"),j=require("./h-stack-D4MnHHRc.js"),W=require("./v-stack-Bz-79Toq.js"),h=require("./button.component-DjdgBXDC.js"),O=require("./menu.component-
|
|
2
|
-
//# sourceMappingURL=conversationCard.component-
|
|
1
|
+
"use strict";const t=require("./jsx-runtime-BjDatQAs.js"),y=require("react"),C=require("./index-BQRnVsAg.js"),z=require("./card.component-BmBiYbMV.js"),$=require("./timestamp.component-BfmZPfy5.js"),H=require("./notificationCounter.component-CBwi5vXa.js"),R=require("./icon.component-B1hr5lLa.js"),B=require("./heading.component-DnoZOXdz.js"),E=require("./text.component-BDDz5KQP.js"),F=require("./avatar.component-BGgZoVJS.js"),k=require("./tooltip.component-DBw-hAPU.js"),g=require("./flex-BOU6tYUd.js"),j=require("./h-stack-D4MnHHRc.js"),W=require("./v-stack-Bz-79Toq.js"),h=require("./button.component-DjdgBXDC.js"),O=require("./menu.component-B-8F68kW.js"),T=require("./tag.component-C98Wf07v.js"),N=require("./wrap-BzPamGsJ.js"),w=({avatars:e,max:n=1,onAvatarGroupClick:a,tooltipLabel:s,["data-testid"]:i="kibble-conversation-card-avatar-group"})=>t.jsxRuntimeExports.jsx(k.Tooltip,{label:s||"",disabled:!s?.length,children:t.jsxRuntimeExports.jsx(g.Flex,{className:"ConversationCard__AvatarGroup","data-testid":i,alignItems:"flex-start",justifyContent:"flex-start",children:n&&e.length>n?t.jsxRuntimeExports.jsx(F.Avatar,{onClick:r=>{r.stopPropagation(),a&&a(r)},cursor:"pointer",name:e.length.toString(),showTooltip:!1}):t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:e.map(r=>r)})})}),D=({avatarGroupProps:e,timestampProps:n,isHoveringCard:a,isCardPinned:s,title:i,showNotificationIndicator:r,subtitle:d,["data-testid"]:o="kibble-conversation-card-header"})=>t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header","data-testid":o,justify:"space-between",align:"flex-start",children:[t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header--Left","data-testid":`${o}-left`,cursor:"pointer",children:[e&&t.jsxRuntimeExports.jsx(w,{...e,tooltipLabel:e?.tooltipLabel||i}),t.jsxRuntimeExports.jsxs(W.VStack,{className:"ConversationCard__HeaderText","data-testid":`${o}-text`,justify:"center",align:"left",gap:"0",children:[t.jsxRuntimeExports.jsx(B.WrappedHeading,{className:"ConversationCard__HeaderText--Title","data-testid":`${o}-title`,size:"sm",truncated:!0,children:i}),d&&t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__HeaderText--Subtitle","data-testid":`${o}-subtitle`,size:"sm",variant:"subtle",truncated:!0,children:d})]})]}),t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Header--Right","data-testid":`${o}-right`,visibility:a?"hidden":"visible",align:"center",gap:1,children:[t.jsxRuntimeExports.jsx($.Timestamp,{...n}),r&&t.jsxRuntimeExports.jsx(C.Box,{as:"span",className:"ConversationCard__HeaderNotificationCounter","data-testid":`${o}-unread-indicator`,children:t.jsxRuntimeExports.jsx(H.NotificationCounter,{size:"xs"})}),s&&t.jsxRuntimeExports.jsx(g.Flex,{"data-testid":`${o}-pinned-icon`,children:t.jsxRuntimeExports.jsx(R.Icon,{size:"md",variant:"info",name:"pin"})})]})]}),M=({overlayProps:e,pinProps:n,headerMenuProps:a,isHovering:s,setIsHovering:i,["data-testid"]:r="kibble-conversation-card-buttons"})=>{const{isOpenInOverlay:d,onOpenInOverlay:o,["data-testid"]:u}=e||{},{isPinned:c,onTogglePin:x,["data-testid"]:l}=n||{},{listProps:v,["data-testid"]:m}=a||{},p=c?"pinCancel":"pin";return t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__Menu","data-testid":r,gap:1,children:[e&&t.jsxRuntimeExports.jsx(h.Button,{className:"ConversationCard__OverlayButton","data-testid":u||`${r}-overlay-button`,variant:"secondarySubtle",borderRadius:"sm",...d&&{active:!0},onClick:()=>{o&&o(),s&&i(!1)},iconName:"popup",size:"sm"}),n&&t.jsxRuntimeExports.jsx(h.Button,{className:"ConversationCard__PinButton","data-testid":l||`${r}-pin-button`,variant:c?"secondarySubtleDestructive":"secondarySubtle",borderRadius:"sm",onClick:()=>{x&&x(!c),s&&i(!1)},iconName:p,size:"sm"}),a&&t.jsxRuntimeExports.jsx(O.Menu,{buttonProps:a.buttonProps||{variant:"secondarySubtle",size:"sm",borderRadius:"sm",iconName:"dotsVertical",hideCaret:!0,padding:0},closeOnSelect:!1,lazyMount:!0,"data-testid":m||`${r}-menu`,...a,listProps:{...v,menuItems:[...n?[{label:`${c?"Unpin":"Pin"} Conversation`,value:"PinConversation",variant:c?"danger":"default",leftElement:t.jsxRuntimeExports.jsx(R.Icon,{size:"md",variant:c?"danger":"default",name:p}),onSelect:()=>{x&&x(!c)}}]:[],...v?.menuItems||[]]}})]})},A=({tags:e,["data-testid"]:n="kibble-conversation-card-tags"})=>t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__Tags",mt:3,"data-testid":n,children:t.jsxRuntimeExports.jsx(N.Wrap,{gap:2,children:e.map(a=>{const{tooltipContent:s,...i}=a;let r=t.jsxRuntimeExports.jsx(T.Tag,{...i,size:"sm",textTransform:"capitalize"});return s&&(r=t.jsxRuntimeExports.jsx(k.Tooltip,{label:s,placement:"top",children:t.jsxRuntimeExports.jsx(C.Box,{children:r})})),t.jsxRuntimeExports.jsx(N.WrapItem,{children:r},a.label)})})}),L=({iconProps:e,content:n,contentProps:a,["data-testid"]:s="kibble-conversation-card-footer"})=>{const i=typeof n=="string"?t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__FooterMessage","data-testid":`${s}-message`,size:"sm",variant:"subtle",...a,...e&&{ml:1},children:n}):n;return t.jsxRuntimeExports.jsxs(g.Flex,{className:"ConversationCard__Footer","data-testid":s,mt:3,alignItems:"center",children:[e&&t.jsxRuntimeExports.jsx(R.Icon,{size:"sm",variant:"subtle",...e}),i]})},V=({contentMenu:e,content:n,contentProps:a,["data-testid"]:s="kibble-conversation-card-content"})=>{const i=typeof n=="string"?t.jsxRuntimeExports.jsx(E.WrappedText,{className:"ConversationCard__Content","data-testid":`${s}-content`,truncated:!0,size:"sm",...a,children:n}):n;return t.jsxRuntimeExports.jsxs(j.HStack,{className:"ConversationCard__ContentContainer","data-testid":`${s}-container`,mt:3,justifyContent:"space-between",alignItems:"center",children:[i,e&&t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__ContentMenu","data-testid":`${s}-menu`,ml:"auto",children:e})]})},I=({allowHoverActions:e=!0,avatarGroupProps:n,content:a,contentProps:s,contentMenu:i,footerProps:r,headerMenuProps:d,headerProps:o,active:u,onClick:c,overlayProps:x,pinProps:l,shouldPreservePosition:v=!1,showNotificationIndicator:m,tags:p,["data-testid"]:f="kibble-conversation-card"})=>{const{isPinned:q}=l||{},[b,_]=y.useState(!1);return t.jsxRuntimeExports.jsxs(z.Card,{className:"ConversationCard",id:"conversation-card-item","data-testid":f,interactive:!0,active:u,size:"sm",fullWidth:!0,onClick:()=>{c&&c()},bg:m||u||b?"background.default":"background.subtle",onMouseEnter:()=>{e&&_(!0)},onMouseLeave:()=>_(!1),pos:"relative",css:{overflowAnchor:v?"auto":"none"},children:[b&&t.jsxRuntimeExports.jsx(C.Box,{className:"ConversationCard__Button--Container","data-testid":`${f}-button-container`,pos:"absolute",top:2,zIndex:"banner",right:2,bg:"background",borderRadius:"md",onClick:S=>S.stopPropagation(),children:t.jsxRuntimeExports.jsx(M,{overlayProps:x,pinProps:l,headerMenuProps:d,isHovering:b,setIsHovering:_})}),t.jsxRuntimeExports.jsx(D,{avatarGroupProps:n,isHoveringCard:b,isCardPinned:q,showNotificationIndicator:m,...o}),t.jsxRuntimeExports.jsx(V,{content:a,contentProps:s,contentMenu:i}),!!p?.length&&t.jsxRuntimeExports.jsx(A,{tags:p}),r&&t.jsxRuntimeExports.jsx(L,{...r})]})};exports.ConversationCard=I;
|
|
2
|
+
//# sourceMappingURL=conversationCard.component-9rv6mttl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationCard.component-CscMIq51.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n /** Avatars to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid={`${dataTestId}-right`}\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-pinned-icon`}>\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-button`}\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-button`}\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n /** Content of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-content`}\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card',\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Button--Container\"\n data-testid={`${dataTestId}-button-container`}\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversationCard.component-9rv6mttl.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n /** Avatars to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid={`${dataTestId}-right`}\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-pinned-icon`}>\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-button`}\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-button`}\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n /** Content of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-content`}\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card',\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Button--Container\"\n data-testid={`${dataTestId}-button-container`}\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { F as h } from "./flex-CX-8gE9T.js";
|
|
|
13
13
|
import { H as v } from "./h-stack-8q5nAOg0.js";
|
|
14
14
|
import { V as R } from "./v-stack-BKftVfdJ.js";
|
|
15
15
|
import { B as y } from "./button.component-BO6oee_V.js";
|
|
16
|
-
import { M } from "./menu.component-
|
|
16
|
+
import { M } from "./menu.component-C6x9T6yo.js";
|
|
17
17
|
import { T } from "./tag.component-CMsZIhN-.js";
|
|
18
18
|
import { W as A, a as D } from "./wrap-Cu5ZEseD.js";
|
|
19
19
|
const E = ({
|
|
@@ -328,4 +328,4 @@ const E = ({
|
|
|
328
328
|
export {
|
|
329
329
|
lt as C
|
|
330
330
|
};
|
|
331
|
-
//# sourceMappingURL=conversationCard.component-
|
|
331
|
+
//# sourceMappingURL=conversationCard.component-DCLDx0JX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationCard.component-DByFo4jj.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n /** Avatars to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid={`${dataTestId}-right`}\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-pinned-icon`}>\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-button`}\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-button`}\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n /** Content of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-content`}\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card',\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Button--Container\"\n data-testid={`${dataTestId}-button-container`}\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversationCard.component-DCLDx0JX.js","sources":["../../src/components/ConversationCard/components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component.tsx","../../src/components/ConversationCard/components/ConversationCardHeader/conversationCardHeader.component.tsx","../../src/components/ConversationCard/components/ConversationCardButtons/conversationCardButtons.component.tsx","../../src/components/ConversationCard/components/ConversationCardTags/conversationCardTags.component.tsx","../../src/components/ConversationCard/components/ConversationCardFooter/conversationCardFooter.component.tsx","../../src/components/ConversationCard/components/ConversationCardContent/conversationCardContent.component.tsx","../../src/components/ConversationCard/conversationCard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Avatar } from 'components/Avatar/avatar.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport interface ConversationCardAvatarGroupProps {\n /** Avatars to display in the group. */\n avatars: React.ReactNode[];\n /** Maximum number of avatars to display.\n * @default 1\n */\n max?: number;\n /** Callback function to be called when the avatar group is clicked. */\n onAvatarGroupClick?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;\n /** Label for the tooltip. */\n tooltipLabel?: string;\n /** Data test id for the avatar group.\n * @default kibble-conversation-card-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardAvatarGroup = ({\n avatars,\n max = 1,\n onAvatarGroupClick,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-conversation-card-avatar-group',\n}: ConversationCardAvatarGroupProps): React.JSX.Element => {\n return (\n <Tooltip label={tooltipLabel || ''} disabled={!tooltipLabel?.length}>\n <Flex\n className=\"ConversationCard__AvatarGroup\"\n data-testid={dataTestId}\n alignItems=\"flex-start\"\n justifyContent=\"flex-start\"\n >\n {max && avatars.length > max ? (\n <Avatar\n onClick={(e): void => {\n e.stopPropagation();\n if (onAvatarGroupClick) {\n onAvatarGroupClick(e);\n }\n }}\n cursor=\"pointer\"\n name={avatars.length.toString()}\n showTooltip={false}\n />\n ) : (\n <>{avatars.map((avatar) => avatar)}</>\n )}\n </Flex>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { HStack, VStack } from '@chakra-ui/react/stack';\nimport { Timestamp, TimestampProps } from 'components/Timestamp/timestamp.component';\nimport { NotificationCounter } from 'components/NotificationCounter/notificationCounter.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Heading } from 'components/Heading/heading.component';\nimport { Text } from 'components/Text/text.component';\nimport {\n ConversationCardAvatarGroup,\n ConversationCardAvatarGroupProps,\n} from '../ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardHeaderProps {\n /** Props for the avatar group. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** If true, the notification indicator will be displayed. */\n showNotificationIndicator?: boolean;\n /** Determines if the card is pinned. */\n isCardPinned?: boolean;\n /** Determines if the card is being hovered. */\n isHoveringCard?: boolean;\n /** Subtitle of the card. */\n subtitle?: string;\n /** Props for the timestamp. */\n timestampProps: TimestampProps;\n /** Title of the card. */\n title: string;\n /** Data test id for the header.\n * @default kibble-conversation-card-header\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardHeader = ({\n avatarGroupProps,\n timestampProps,\n isHoveringCard,\n isCardPinned,\n title,\n showNotificationIndicator,\n subtitle,\n ['data-testid']: dataTestId = 'kibble-conversation-card-header',\n}: ConversationCardHeaderProps): React.JSX.Element => {\n return (\n <HStack className=\"ConversationCard__Header\" data-testid={dataTestId} justify=\"space-between\" align=\"flex-start\">\n <HStack className=\"ConversationCard__Header--Left\" data-testid={`${dataTestId}-left`} cursor=\"pointer\">\n {avatarGroupProps && (\n <ConversationCardAvatarGroup {...avatarGroupProps} tooltipLabel={avatarGroupProps?.tooltipLabel || title} />\n )}\n <VStack\n className=\"ConversationCard__HeaderText\"\n data-testid={`${dataTestId}-text`}\n justify=\"center\"\n align=\"left\"\n gap=\"0\"\n >\n <Heading\n className=\"ConversationCard__HeaderText--Title\"\n data-testid={`${dataTestId}-title`}\n size=\"sm\"\n truncated\n >\n {title}\n </Heading>\n {subtitle && (\n <Text\n className=\"ConversationCard__HeaderText--Subtitle\"\n data-testid={`${dataTestId}-subtitle`}\n size=\"sm\"\n variant=\"subtle\"\n truncated\n >\n {subtitle}\n </Text>\n )}\n </VStack>\n </HStack>\n <HStack\n className=\"ConversationCard__Header--Right\"\n data-testid={`${dataTestId}-right`}\n visibility={isHoveringCard ? 'hidden' : 'visible'}\n align=\"center\"\n gap={1}\n >\n <Timestamp {...timestampProps} />\n {showNotificationIndicator && (\n <Box\n as=\"span\"\n className=\"ConversationCard__HeaderNotificationCounter\"\n data-testid={`${dataTestId}-unread-indicator`}\n >\n <NotificationCounter size=\"xs\" />\n </Box>\n )}\n {isCardPinned && (\n <Flex data-testid={`${dataTestId}-pinned-icon`}>\n <Icon size=\"md\" variant=\"info\" name=\"pin\" />\n </Flex>\n )}\n </HStack>\n </HStack>\n );\n};\n","import React from 'react';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Button } from 'components/Button/button.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Menu, MenuProps, MenuItemProps } from 'components/Menu';\n\nexport interface ConversationCardOverlayProps {\n /** Determines if the conversation is open in an overlay. */\n isOpenInOverlay?: boolean;\n /** Callback function to be called when the conversation is opened in an overlay. */\n onOpenInOverlay: () => void;\n /** Data test id for the overlay button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardPinProps {\n /** Determines if the conversation is pinned. */\n isPinned?: boolean;\n /** Callback function to called when the conversation is pinned. */\n onTogglePin: (isPinned: boolean) => void;\n /** Data test id for the pin button. */\n 'data-testid'?: string;\n}\n\nexport interface ConversationCardButtonsProps {\n /** Props for the overlay button. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin button. */\n pinProps?: ConversationCardPinProps;\n /** Props for the header Menu. */\n headerMenuProps?: MenuProps;\n /** Data test id for the buttons.\n * @default kibble-conversation-card-buttons\n */\n 'data-testid'?: string;\n}\n\ninterface ConversationCardButtonsComponentProps extends ConversationCardButtonsProps {\n /** Determines if the conversation is being hovered.\n * @internal\n */\n isHovering: boolean;\n /** Callback function to set the hover state.\n * @internal\n */\n setIsHovering: (isHovering: boolean) => void;\n}\n\nexport const ConversationCardButtons = ({\n overlayProps,\n pinProps,\n headerMenuProps,\n isHovering,\n setIsHovering,\n ['data-testid']: dataTestId = 'kibble-conversation-card-buttons',\n}: ConversationCardButtonsComponentProps): React.JSX.Element => {\n const { isOpenInOverlay, onOpenInOverlay, ['data-testid']: overlayDataTestId } = overlayProps || {};\n const { isPinned, onTogglePin, ['data-testid']: pinDataTestId } = pinProps || {};\n const { listProps, ['data-testid']: headerMenuDataTestId } = headerMenuProps || {};\n const pinIconName = isPinned ? 'pinCancel' : 'pin';\n\n return (\n <HStack className=\"ConversationCard__Menu\" data-testid={dataTestId} gap={1}>\n {overlayProps && (\n <Button\n className=\"ConversationCard__OverlayButton\"\n data-testid={overlayDataTestId ? overlayDataTestId : `${dataTestId}-overlay-button`}\n variant=\"secondarySubtle\"\n borderRadius=\"sm\"\n {...(isOpenInOverlay && { active: true })}\n onClick={(): void => {\n if (onOpenInOverlay) {\n onOpenInOverlay();\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName=\"popup\"\n size=\"sm\"\n />\n )}\n {pinProps && (\n <Button\n className=\"ConversationCard__PinButton\"\n data-testid={pinDataTestId ? pinDataTestId : `${dataTestId}-pin-button`}\n variant={isPinned ? 'secondarySubtleDestructive' : 'secondarySubtle'}\n borderRadius=\"sm\"\n onClick={(): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n\n if (isHovering) {\n setIsHovering(false);\n }\n }}\n iconName={pinIconName}\n size=\"sm\"\n />\n )}\n {headerMenuProps && (\n <Menu\n buttonProps={\n headerMenuProps.buttonProps || {\n variant: 'secondarySubtle',\n size: 'sm',\n borderRadius: 'sm',\n iconName: 'dotsVertical',\n hideCaret: true,\n padding: 0,\n }\n }\n closeOnSelect={false}\n lazyMount\n data-testid={headerMenuDataTestId ? headerMenuDataTestId : `${dataTestId}-menu`}\n {...headerMenuProps}\n listProps={{\n ...listProps,\n menuItems: [\n ...(pinProps\n ? [\n {\n label: `${isPinned ? 'Unpin' : 'Pin'} Conversation`,\n value: 'PinConversation',\n variant: isPinned ? 'danger' : 'default',\n leftElement: <Icon size=\"md\" variant={isPinned ? 'danger' : 'default'} name={pinIconName} />,\n onSelect: (): void => {\n if (onTogglePin) {\n onTogglePin(!isPinned);\n }\n },\n } as MenuItemProps,\n ]\n : []),\n ...(listProps?.menuItems || []),\n ],\n }}\n />\n )}\n </HStack>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Wrap, WrapItem } from '@chakra-ui/react/wrap';\nimport { Tag, TagProps } from 'components/Tag/tag.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\n\nexport type ConversationCardTag = TagProps & {\n /** Content to display in the tooltip. */\n tooltipContent?: string;\n};\n\nexport interface ConversationCardTagsProps {\n /** Tags to display in the ConversationCard. */\n tags: ConversationCardTag[];\n /** Data test id for the tags.\n * @default kibble-conversation-card-tags\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardTags = ({\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card-tags',\n}: ConversationCardTagsProps): React.JSX.Element => {\n return (\n <Box className=\"ConversationCard__Tags\" mt={3} data-testid={dataTestId}>\n <Wrap gap={2}>\n {tags.map((tag) => {\n const { tooltipContent, ...rest } = tag;\n let tagElement = <Tag {...rest} size=\"sm\" textTransform=\"capitalize\" />;\n\n if (tooltipContent) {\n tagElement = (\n <Tooltip label={tooltipContent} placement=\"top\">\n <Box>{tagElement}</Box>\n </Tooltip>\n );\n }\n\n return <WrapItem key={tag.label}>{tagElement}</WrapItem>;\n })}\n </Wrap>\n </Box>\n );\n};\n","import React from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon, IconProps } from 'components/Icon/icon.component';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardFooterProps {\n /** Props for the Icon component. */\n iconProps?: IconProps;\n /** Content of the footer. */\n content: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Data test id for the footer.\n * @default kibble-conversation-card-footer\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardFooter = ({\n iconProps,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-footer',\n}: ConversationCardFooterProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__FooterMessage\"\n data-testid={`${dataTestId}-message`}\n size=\"sm\"\n variant=\"subtle\"\n {...contentProps}\n {...(iconProps && { ml: 1 })}\n >\n {content}\n </Text>\n ) : (\n content\n );\n return (\n <Flex className=\"ConversationCard__Footer\" data-testid={dataTestId} mt={3} alignItems=\"center\">\n {iconProps && <Icon size=\"sm\" variant=\"subtle\" {...iconProps} />}\n {_content}\n </Flex>\n );\n};\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { HStack } from '@chakra-ui/react/stack';\nimport { Text, TextProps } from 'components/Text/text.component';\n\nexport interface ConversationCardContentProps {\n /** Content of the card. */\n content?: React.ReactNode;\n /** Props to customize the content styling. */\n contentProps?: Omit<TextProps, 'children'>;\n /** Optional Menu for the card. */\n contentMenu?: React.ReactNode;\n /** Data test id for the content.\n * @default kibble-conversation-card-content\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCardContent = ({\n contentMenu,\n content,\n contentProps,\n ['data-testid']: dataTestId = 'kibble-conversation-card-content',\n}: ConversationCardContentProps): React.JSX.Element => {\n const _content =\n typeof content === 'string' ? (\n <Text\n className=\"ConversationCard__Content\"\n data-testid={`${dataTestId}-content`}\n truncated\n size=\"sm\"\n {...contentProps}\n >\n {content}\n </Text>\n ) : (\n content\n );\n\n return (\n <HStack\n className=\"ConversationCard__ContentContainer\"\n data-testid={`${dataTestId}-container`}\n mt={3}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n {_content}\n {contentMenu && (\n <Box className=\"ConversationCard__ContentMenu\" data-testid={`${dataTestId}-menu`} ml=\"auto\">\n {contentMenu}\n </Box>\n )}\n </HStack>\n );\n};\n","import React, { useState } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Card } from 'components/Card/card.component';\nimport { MenuProps } from 'components/Menu/menu.component';\nimport {\n ConversationCardHeader,\n ConversationCardHeaderProps,\n} from './components/ConversationCardHeader/conversationCardHeader.component';\nimport {\n ConversationCardButtons,\n ConversationCardOverlayProps,\n ConversationCardPinProps,\n} from './components/ConversationCardButtons/conversationCardButtons.component';\nimport {\n ConversationCardTag,\n ConversationCardTags,\n} from './components/ConversationCardTags/conversationCardTags.component';\nimport {\n ConversationCardFooter,\n ConversationCardFooterProps,\n} from './components/ConversationCardFooter/conversationCardFooter.component';\nimport {\n ConversationCardContent,\n ConversationCardContentProps,\n} from './components/ConversationCardContent/conversationCardContent.component';\nimport { ConversationCardAvatarGroupProps } from './components/ConversationCardAvatarGroup/conversationCardAvatarGroup.component';\n\nexport interface ConversationCardProps extends ConversationCardContentProps {\n /**\n * Used to enable hover actions on the ConversationCard.\n * @default true\n */\n allowHoverActions?: boolean;\n /** Props for the `AvatarGroup` component. */\n avatarGroupProps?: ConversationCardAvatarGroupProps;\n /** Props for the ConversationCard footer. */\n footerProps?: ConversationCardFooterProps;\n /** Props for the Menu component. See the `Menu` for more details. This component provides a default menu button if none is provided. If menuProps and pinProps are passed together, the component automatically adds a menuItem to control the pinned state. */\n headerMenuProps?: MenuProps;\n /** Props for the ConversationCard header. */\n headerProps: ConversationCardHeaderProps;\n /**\n * Used to set the active state of the ConversationCard.\n * @default false\n */\n active?: boolean;\n /** Callback function for clicking the ConversationCard. */\n onClick?: () => void;\n /** Props to show and configure the conversation overlay button. If not passed, the overlay button won't be shown. */\n overlayProps?: ConversationCardOverlayProps;\n /** Props for the pin functionality. If not passed, pin functionality won't be shown. */\n pinProps?: ConversationCardPinProps;\n /**\n * Used to preserve the position of the ConversationCard in a list with infinite scrolling.\n * @default false\n */\n shouldPreservePosition?: boolean;\n /**\n * Used to show the unread messages indicator.\n * @default false\n */\n showNotificationIndicator?: boolean;\n /** The tags to be displayed in the ConversationCard. See the `Tag` for more information. Additionally, you can pass in a tooltipContent to customize what is shown in the tooltip. */\n tags?: ConversationCardTag[];\n /** Data test id for the conversation card.\n * @default kibble-conversation-card\n */\n 'data-testid'?: string;\n}\n\nexport const ConversationCard = ({\n allowHoverActions = true,\n avatarGroupProps,\n content,\n contentProps,\n contentMenu,\n footerProps,\n headerMenuProps,\n headerProps,\n active,\n onClick,\n overlayProps,\n pinProps,\n shouldPreservePosition = false,\n showNotificationIndicator,\n tags,\n ['data-testid']: dataTestId = 'kibble-conversation-card',\n}: ConversationCardProps): React.JSX.Element => {\n const { isPinned } = pinProps || {};\n const [isHovering, setIsHovering] = useState(false);\n\n return (\n <Card\n className=\"ConversationCard\"\n id=\"conversation-card-item\"\n data-testid={dataTestId}\n interactive\n active={active}\n size=\"sm\"\n fullWidth\n onClick={(): void => {\n if (onClick) {\n onClick();\n }\n }}\n bg={showNotificationIndicator || active || isHovering ? 'background.default' : 'background.subtle'}\n onMouseEnter={(): void => {\n if (allowHoverActions) {\n setIsHovering(true);\n }\n }}\n onMouseLeave={(): void => setIsHovering(false)}\n pos=\"relative\"\n css={{ overflowAnchor: shouldPreservePosition ? 'auto' : 'none' }}\n >\n {isHovering && (\n <Box\n className=\"ConversationCard__Button--Container\"\n data-testid={`${dataTestId}-button-container`}\n pos=\"absolute\"\n top={2}\n zIndex=\"banner\"\n right={2}\n bg=\"background\"\n borderRadius=\"md\"\n onClick={(e): void => e.stopPropagation()}\n >\n <ConversationCardButtons\n overlayProps={overlayProps}\n pinProps={pinProps}\n headerMenuProps={headerMenuProps}\n isHovering={isHovering}\n setIsHovering={setIsHovering}\n />\n </Box>\n )}\n <ConversationCardHeader\n avatarGroupProps={avatarGroupProps}\n isHoveringCard={isHovering}\n isCardPinned={isPinned}\n showNotificationIndicator={showNotificationIndicator}\n {...headerProps}\n />\n <ConversationCardContent content={content} contentProps={contentProps} contentMenu={contentMenu} />\n {!!tags?.length && <ConversationCardTags tags={tags} />}\n {footerProps && <ConversationCardFooter {...footerProps} />}\n </Card>\n );\n};\n"],"names":["ConversationCardAvatarGroup","avatars","max","onAvatarGroupClick","tooltipLabel","dataTestId","jsx","Tooltip","Flex","Avatar","e","Fragment","avatar","ConversationCardHeader","avatarGroupProps","timestampProps","isHoveringCard","isCardPinned","title","showNotificationIndicator","subtitle","jsxs","HStack","VStack","Heading","Text","Timestamp","Box","NotificationCounter","Icon","ConversationCardButtons","overlayProps","pinProps","headerMenuProps","isHovering","setIsHovering","isOpenInOverlay","onOpenInOverlay","overlayDataTestId","isPinned","onTogglePin","pinDataTestId","listProps","headerMenuDataTestId","pinIconName","Button","Menu","ConversationCardTags","tags","Wrap","tag","tooltipContent","rest","tagElement","Tag","WrapItem","ConversationCardFooter","iconProps","content","contentProps","_content","ConversationCardContent","contentMenu","ConversationCard","allowHoverActions","footerProps","headerProps","active","onClick","shouldPreservePosition","useState","Card"],"mappings":"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"}
|