@roomstay/frontend 2.3.11 → 2.3.12

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.
@@ -55,7 +55,7 @@ const RadioButtonGroup = ({ options = [], value: valueProp, onChange, renderChil
55
55
  return;
56
56
  if (isGroup)
57
57
  setOpen(!open);
58
- else if (option === null || option === void 0 ? void 0 : option.value)
58
+ else if ((option === null || option === void 0 ? void 0 : option.value) && (option === null || option === void 0 ? void 0 : option.value) !== valueProp)
59
59
  onChange === null || onChange === void 0 ? void 0 : onChange(option.value);
60
60
  }, label: option === null || option === void 0 ? void 0 : option.label, disabled: option === null || option === void 0 ? void 0 : option.disabled, renderContent: option === null || option === void 0 ? void 0 : option.renderContent }));
61
61
  if ((option === null || option === void 0 ? void 0 : option.disabled) && (option === null || option === void 0 ? void 0 : option.disabledReason)) {
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonGroup.js","sourceRoot":"/","sources":["src/components/generic/RadioButtonGroup/RadioButtonGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { ReactElement, ReactNode, useState } from 'react';\n\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport { RadioButton } from '@/components/generic/RadioButtonGroup/RadioButton';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\n\nimport styles from './RadioButtonGroup.module.scss';\n\nexport interface IRadioButtonOption<TValue extends string = string> {\n value: TValue;\n\n label?: ReactNode;\n disabled?: boolean;\n /** Enabled a tooltip that gives more info on why the field is disabled */\n disabledReason?: string;\n renderContent?: () => ReactNode;\n options?: IRadioButtonOption<TValue>[];\n}\n\nexport interface IRadioButtonGroupProps<TValue extends string = string> {\n options?: IRadioButtonOption<TValue>[];\n value?: TValue;\n onChange?: (value: TValue) => void;\n renderChildrenContent?: boolean;\n}\n\nconst RadioButtonGroup = <TValue extends string = string>({\n options = [],\n value: valueProp,\n onChange,\n renderChildrenContent,\n}: IRadioButtonGroupProps<TValue>): ReactElement | null => {\n return (\n <div className={styles.root}>\n {options.map((rawOption) => {\n const options = rawOption.options;\n const isGroup = !!options?.length;\n const [ref, setRef] = useState<HTMLDivElement | null>(null);\n const [open, setOpen] = useState<boolean>(false);\n const option: IRadioButtonOption<TValue> | undefined = isGroup && valueProp ? options.find(({ value }) => value === valueProp) || rawOption : rawOption;\n const radioButton = (\n <RadioButton\n headerRef={setRef}\n className={styles.item}\n key={option?.value}\n checked={!option?.disabled && option?.value === valueProp}\n onChange={() => {\n if (option?.disabled) return;\n if (isGroup) setOpen(!open);\n else if (option?.value) onChange?.(option.value);\n }}\n label={option?.label}\n disabled={option?.disabled}\n renderContent={option?.renderContent}\n />\n );\n\n if (option?.disabled && option?.disabledReason) {\n return (\n <Tooltip key={option?.value} wrapperClasses={styles.wrapper} title={option?.disabledReason}>\n {radioButton}\n </Tooltip>\n );\n }\n\n return (\n <>\n <div key={option?.value} className={styles.wrapper}>\n {radioButton}\n {options && (\n <div className={styles.childrenIndicator}>\n <Icon size=\"24px\" icon={IconType.Dropdown} />\n </div>\n )}\n </div>\n {options && (\n <Overlay\n onClose={() => setOpen(false)}\n className={styles.overlay}\n hideStyles\n containerClassName=\"u-w-100\"\n open={open}\n followElement={ref || undefined}\n offset={[0, 0]}\n placement=\"top-start\"\n >\n <RadioButtonGroup\n options={options.map((option) => {\n const { renderContent, ...rest } = option;\n if (!renderChildrenContent) return rest;\n return option;\n })}\n onChange={(value) => {\n onChange?.(value);\n setOpen(false);\n }}\n value={valueProp}\n />\n </Overlay>\n )}\n </>\n );\n })}\n </div>\n );\n};\n\nexport default RadioButtonGroup;\n"]}
1
+ {"version":3,"file":"RadioButtonGroup.js","sourceRoot":"/","sources":["src/components/generic/RadioButtonGroup/RadioButtonGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { ReactElement, ReactNode, useState } from 'react';\n\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport { Overlay } from '@/components/generic/Overlay/Overlay';\nimport { RadioButton } from '@/components/generic/RadioButtonGroup/RadioButton';\nimport Tooltip from '@/components/generic/Tooltip/Tooltip';\n\nimport styles from './RadioButtonGroup.module.scss';\n\nexport interface IRadioButtonOption<TValue extends string = string> {\n value: TValue;\n\n label?: ReactNode;\n disabled?: boolean;\n /** Enabled a tooltip that gives more info on why the field is disabled */\n disabledReason?: string;\n renderContent?: () => ReactNode;\n options?: IRadioButtonOption<TValue>[];\n}\n\nexport interface IRadioButtonGroupProps<TValue extends string = string> {\n options?: IRadioButtonOption<TValue>[];\n value?: TValue;\n onChange?: (value: TValue) => void;\n renderChildrenContent?: boolean;\n}\n\nconst RadioButtonGroup = <TValue extends string = string>({\n options = [],\n value: valueProp,\n onChange,\n renderChildrenContent,\n}: IRadioButtonGroupProps<TValue>): ReactElement | null => {\n return (\n <div className={styles.root}>\n {options.map((rawOption) => {\n const options = rawOption.options;\n const isGroup = !!options?.length;\n const [ref, setRef] = useState<HTMLDivElement | null>(null);\n const [open, setOpen] = useState<boolean>(false);\n const option: IRadioButtonOption<TValue> | undefined = isGroup && valueProp ? options.find(({ value }) => value === valueProp) || rawOption : rawOption;\n const radioButton = (\n <RadioButton\n headerRef={setRef}\n className={styles.item}\n key={option?.value}\n checked={!option?.disabled && option?.value === valueProp}\n onChange={() => {\n if (option?.disabled) return;\n if (isGroup) setOpen(!open);\n else if (option?.value && option?.value !== valueProp) onChange?.(option.value);\n }}\n label={option?.label}\n disabled={option?.disabled}\n renderContent={option?.renderContent}\n />\n );\n\n if (option?.disabled && option?.disabledReason) {\n return (\n <Tooltip key={option?.value} wrapperClasses={styles.wrapper} title={option?.disabledReason}>\n {radioButton}\n </Tooltip>\n );\n }\n\n return (\n <>\n <div key={option?.value} className={styles.wrapper}>\n {radioButton}\n {options && (\n <div className={styles.childrenIndicator}>\n <Icon size=\"24px\" icon={IconType.Dropdown} />\n </div>\n )}\n </div>\n {options && (\n <Overlay\n onClose={() => setOpen(false)}\n className={styles.overlay}\n hideStyles\n containerClassName=\"u-w-100\"\n open={open}\n followElement={ref || undefined}\n offset={[0, 0]}\n placement=\"top-start\"\n >\n <RadioButtonGroup\n options={options.map((option) => {\n const { renderContent, ...rest } = option;\n if (!renderChildrenContent) return rest;\n return option;\n })}\n onChange={(value) => {\n onChange?.(value);\n setOpen(false);\n }}\n value={valueProp}\n />\n </Overlay>\n )}\n </>\n );\n })}\n </div>\n );\n};\n\nexport default RadioButtonGroup;\n"]}