@popsure/dirty-swan 0.66.29 → 0.66.31

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.
Files changed (49) hide show
  1. package/dist/cjs/index.js +13 -13
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/lib/components/dateSelector/index.d.ts +0 -1
  4. package/dist/cjs/lib/components/table/components/TableCell/BaseCell/BaseCell.d.ts +0 -1
  5. package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.d.ts +1 -2
  6. package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.d.ts +1 -1
  7. package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.test.d.ts +1 -0
  8. package/dist/cjs/lib/components/table/components/TableCell/CTACell/CTACell.d.ts +1 -2
  9. package/dist/cjs/lib/components/table/components/TableCell/CTACell/CTACell.stories.d.ts +1 -1
  10. package/dist/esm/components/autocompleteAddress/index.js +2 -2
  11. package/dist/esm/components/autocompleteAddress/index.js.map +1 -1
  12. package/dist/esm/components/dateSelector/index.js +1 -1
  13. package/dist/esm/components/dateSelector/index.js.map +1 -1
  14. package/dist/esm/components/downloadButton/index.js +1 -1
  15. package/dist/esm/components/downloadButton/index.js.map +1 -1
  16. package/dist/esm/components/input/autoSuggestInput/index.js +1 -1
  17. package/dist/esm/components/input/autoSuggestInput/index.js.map +1 -1
  18. package/dist/esm/components/input/checkbox/index.js +1 -1
  19. package/dist/esm/components/input/checkbox/index.js.map +1 -1
  20. package/dist/esm/components/input/radio/index.js +1 -1
  21. package/dist/esm/components/input/radio/index.js.map +1 -1
  22. package/dist/esm/components/input/toggle/index.js +1 -1
  23. package/dist/esm/components/input/toggle/index.js.map +1 -1
  24. package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.js.map +1 -1
  25. package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js +3 -3
  26. package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js.map +1 -1
  27. package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.test.js +35 -0
  28. package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.test.js.map +1 -0
  29. package/dist/esm/components/table/components/TableCell/CTACell/CTACell.js +2 -2
  30. package/dist/esm/components/table/components/TableCell/CTACell/CTACell.js.map +1 -1
  31. package/dist/esm/lib/components/dateSelector/index.d.ts +0 -1
  32. package/dist/esm/lib/components/table/components/TableCell/BaseCell/BaseCell.d.ts +0 -1
  33. package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.d.ts +1 -2
  34. package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.d.ts +1 -1
  35. package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.test.d.ts +1 -0
  36. package/dist/esm/lib/components/table/components/TableCell/CTACell/CTACell.d.ts +1 -2
  37. package/dist/esm/lib/components/table/components/TableCell/CTACell/CTACell.stories.d.ts +1 -1
  38. package/package.json +1 -1
  39. package/src/lib/components/autocompleteAddress/index.tsx +0 -7
  40. package/src/lib/components/dateSelector/index.tsx +0 -2
  41. package/src/lib/components/downloadButton/index.tsx +0 -1
  42. package/src/lib/components/input/autoSuggestInput/index.tsx +0 -1
  43. package/src/lib/components/input/checkbox/index.tsx +0 -1
  44. package/src/lib/components/input/radio/index.tsx +0 -1
  45. package/src/lib/components/input/toggle/index.tsx +0 -1
  46. package/src/lib/components/table/components/TableCell/BaseCell/BaseCell.tsx +0 -1
  47. package/src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.test.tsx +22 -0
  48. package/src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx +1 -4
  49. package/src/lib/components/table/components/TableCell/CTACell/CTACell.tsx +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/radio/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\nimport generateId from '../../../util/generateId';\nexport interface RadioWithDescription {\n title: ReactNode;\n description?: string;\n icon?: (selected: boolean) => ReactNode;\n hideBox?: boolean;\n}\n\nexport interface RadioProps<ValueType extends string> {\n options: Record<ValueType, ReactNode | RadioWithDescription>;\n value?: ValueType;\n onChange: (value: ValueType) => void;\n wide?: boolean;\n inlineLayout?: boolean;\n inlineIcon?: boolean;\n classNames?: {\n container?: string;\n label?: string;\n option?: string;\n };\n bordered?: boolean;\n disabled?: boolean;\n fieldLegend?: string;\n groupName?: string;\n}\n\nexport const Radio = <ValueType extends string>({\n options,\n value,\n onChange,\n wide = false,\n inlineLayout = false,\n inlineIcon = false,\n classNames: classNamesObj,\n bordered = true,\n disabled = false,\n fieldLegend = 'Select an option',\n groupName,\n}: RadioProps<ValueType>) => {\n const entries = Object.entries(options) as [\n ValueType,\n ReactNode | RadioWithDescription\n ][];\n\n const name = groupName ?? generateId();\n\n return (\n <fieldset\n className={classNames(\n classNamesObj?.container,\n styles.container,\n 'd-flex gap8',\n {\n [styles.wide]: wide,\n [styles.narrow]: !wide,\n 'fd-row': inlineLayout,\n 'f-wrap': inlineLayout,\n 'fd-column': !inlineLayout,\n }\n )}\n >\n <legend className=\"sr-only\">{fieldLegend}</legend>\n {entries.map(([currentValue, label]) => {\n const checked = value === currentValue;\n const customIcon = (label as RadioWithDescription)?.icon;\n const hideIcon = (label as RadioWithDescription)?.hideBox;\n\n const isRadioLabelObject = (\n label: ReactNode | RadioWithDescription\n ): label is RadioWithDescription => {\n return (label as RadioWithDescription).title !== undefined;\n };\n\n return (\n <div className={classNamesObj?.option} key={currentValue}>\n <input\n className={classNames('p-radio', {\n 'p-radio--no-icon': customIcon || hideIcon,\n 'p-radio--centered': !label,\n })}\n id={currentValue}\n type=\"radio\"\n value={currentValue}\n onChange={() => onChange(currentValue)}\n checked={checked}\n data-testid={`radio-input-${currentValue}`}\n disabled={disabled}\n name={name}\n />\n\n <label\n htmlFor={currentValue}\n className={classNames(classNamesObj?.label, 'p-label', {\n 'jc-center': customIcon && !inlineIcon,\n 'fd-column': customIcon && !inlineIcon,\n 'p-label--bordered': bordered,\n })}\n data-cy={`radio-${currentValue}`}\n data-testid={`radio-${currentValue}`}\n >\n {customIcon && (\n <div\n className={classNames(\n 'd-inline-flex ai-center jc-center',\n inlineIcon ? 'mr8' : 'mt8'\n )}\n >\n {customIcon?.(checked)}\n </div>\n )}\n\n {isRadioLabelObject(label) ? (\n <div>\n <p className=\"p-p\">{label.title}</p>\n <span className=\"d-block p-p p-p--small tc-neutral-700\">\n {label.description}\n </span>\n </div>\n ) : (\n label\n )}\n </label>\n </div>\n );\n })}\n </fieldset>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/radio/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\nimport generateId from '../../../util/generateId';\nexport interface RadioWithDescription {\n title: ReactNode;\n description?: string;\n icon?: (selected: boolean) => ReactNode;\n hideBox?: boolean;\n}\n\nexport interface RadioProps<ValueType extends string> {\n options: Record<ValueType, ReactNode | RadioWithDescription>;\n value?: ValueType;\n onChange: (value: ValueType) => void;\n wide?: boolean;\n inlineLayout?: boolean;\n inlineIcon?: boolean;\n classNames?: {\n container?: string;\n label?: string;\n option?: string;\n };\n bordered?: boolean;\n disabled?: boolean;\n fieldLegend?: string;\n groupName?: string;\n}\n\nexport const Radio = <ValueType extends string>({\n options,\n value,\n onChange,\n wide = false,\n inlineLayout = false,\n inlineIcon = false,\n classNames: classNamesObj,\n bordered = true,\n disabled = false,\n fieldLegend = 'Select an option',\n groupName,\n}: RadioProps<ValueType>) => {\n const entries = Object.entries(options) as [\n ValueType,\n ReactNode | RadioWithDescription\n ][];\n\n const name = groupName ?? generateId();\n\n return (\n <fieldset\n className={classNames(\n classNamesObj?.container,\n styles.container,\n 'd-flex gap8',\n {\n [styles.wide]: wide,\n [styles.narrow]: !wide,\n 'fd-row': inlineLayout,\n 'f-wrap': inlineLayout,\n 'fd-column': !inlineLayout,\n }\n )}\n >\n <legend className=\"sr-only\">{fieldLegend}</legend>\n {entries.map(([currentValue, label]) => {\n const checked = value === currentValue;\n const customIcon = (label as RadioWithDescription)?.icon;\n const hideIcon = (label as RadioWithDescription)?.hideBox;\n\n const isRadioLabelObject = (\n label: ReactNode | RadioWithDescription\n ): label is RadioWithDescription => {\n return (label as RadioWithDescription).title !== undefined;\n };\n\n return (\n <div className={classNamesObj?.option} key={currentValue}>\n <input\n className={classNames('p-radio', {\n 'p-radio--no-icon': customIcon || hideIcon,\n 'p-radio--centered': !label,\n })}\n id={currentValue}\n type=\"radio\"\n value={currentValue}\n onChange={() => onChange(currentValue)}\n checked={checked}\n data-testid={`radio-input-${currentValue}`}\n disabled={disabled}\n name={name}\n />\n\n <label\n htmlFor={currentValue}\n className={classNames(classNamesObj?.label, 'p-label', {\n 'jc-center': customIcon && !inlineIcon,\n 'fd-column': customIcon && !inlineIcon,\n 'p-label--bordered': bordered,\n })}\n data-testid={`radio-${currentValue}`}\n >\n {customIcon && (\n <div\n className={classNames(\n 'd-inline-flex ai-center jc-center',\n inlineIcon ? 'mr8' : 'mt8'\n )}\n >\n {customIcon?.(checked)}\n </div>\n )}\n\n {isRadioLabelObject(label) ? (\n <div>\n <p className=\"p-p\">{label.title}</p>\n <span className=\"d-block p-p p-p--small tc-neutral-700\">\n {label.description}\n </span>\n </div>\n ) : (\n label\n )}\n </label>\n </div>\n );\n })}\n </fieldset>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -44,7 +44,7 @@ var Toggle = function (_a) {
44
44
  var checked = value === null || value === void 0 ? void 0 : value.includes(currentValue);
45
45
  return (jsx("div", { className: classNamesObj === null || classNamesObj === void 0 ? void 0 : classNamesObj.option, children: jsxs("label", { className: classNames(styles.label, classNamesObj === null || classNamesObj === void 0 ? void 0 : classNamesObj.label, 'p-label pr16 gap16', {
46
46
  'p-label--bordered': bordered,
47
- }), "data-cy": "toggle-".concat(currentValue), "data-testid": "toggle-".concat(currentValue), children: [jsxs("span", { className: classNames(styles.toggleContainer, 'd-inline-block'), children: [jsx("input", { checked: checked, className: styles.input, "data-testid": "toggle-input-".concat(currentValue), onChange: function () { return handleOnChange(currentValue); }, type: "checkbox", value: currentValue, disabled: disabled }), jsx("span", { className: styles.toggle })] }), isToggleLabelObject(label) ? (jsxs("div", { children: [jsx("p", { className: "p-p", children: label.title }), jsx("span", { className: "d-block p-p p-p--small tc-neutral-700", children: label.description })] })) : label] }) }, currentValue));
47
+ }), "data-testid": "toggle-".concat(currentValue), children: [jsxs("span", { className: classNames(styles.toggleContainer, 'd-inline-block'), children: [jsx("input", { checked: checked, className: styles.input, "data-testid": "toggle-input-".concat(currentValue), onChange: function () { return handleOnChange(currentValue); }, type: "checkbox", value: currentValue, disabled: disabled }), jsx("span", { className: styles.toggle })] }), isToggleLabelObject(label) ? (jsxs("div", { children: [jsx("p", { className: "p-p", children: label.title }), jsx("span", { className: "d-block p-p p-p--small tc-neutral-700", children: label.description })] })) : label] }) }, currentValue));
48
48
  }) }));
49
49
  };
50
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/toggle/index.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport classNames from \"classnames\";\n\nimport styles from './styles.module.scss';\nexport interface ToggleWithDescription {\n title: ReactNode;\n description?: string;\n}\n\nexport interface ToggleProps<ValueType extends string> {\n options: Record<ValueType, ReactNode | ToggleWithDescription>;\n value?: ValueType[];\n onChange: (value: ValueType[]) => void;\n inlineLayout?: boolean;\n disabled?: boolean;\n bordered?: boolean,\n classNames?: {\n container?: string;\n label?: string;\n option?: string;\n }\n}\n\nexport const Toggle = <ValueType extends string>({\n options,\n value = [],\n onChange,\n inlineLayout = false,\n bordered = true,\n classNames: classNamesObj,\n disabled,\n}: ToggleProps<ValueType> & { }) => {\n const hasNoneValue = Object.keys(options).includes('NONE');\n\n const isToggleLabelObject = (\n label: ReactNode | ToggleWithDescription\n ): label is ToggleWithDescription => {\n return (label as ToggleWithDescription).title !== undefined;\n };\n\n const handleOnChange = (newValue: ValueType) => {\n if (value?.includes(newValue)) {\n const filteredToggleValues = value.filter(\n (selectedValue) => selectedValue !== newValue\n );\n\n onChange(filteredToggleValues);\n return;\n }\n\n if (hasNoneValue && newValue === 'NONE') {\n onChange([newValue]);\n return;\n }\n\n if (hasNoneValue && newValue !== 'NONE') {\n const newValues = value\n ? [...value.filter((v) => v !== 'NONE'), newValue]\n : [newValue];\n onChange(newValues);\n return;\n }\n\n const newValues = value\n ? [...value, newValue]\n : [newValue];\n onChange(newValues);\n };\n\n\n const entries = Object.entries(options) as [\n ValueType,\n string | ToggleWithDescription\n ][];\n\n return (\n <div\n className={classNames(classNamesObj?.container, styles.container, 'd-flex gap8', {\n 'fd-row': inlineLayout,\n 'f-wrap': inlineLayout,\n 'fd-column': !inlineLayout,\n })}\n >\n {entries.map(([currentValue, label]) => {\n const checked = value?.includes(currentValue);\n\n return (\n <div className={classNamesObj?.option} key={currentValue}>\n <label\n className={classNames(\n styles.label,\n classNamesObj?.label,\n 'p-label pr16 gap16',\n {\n 'p-label--bordered': bordered,\n }\n )}\n data-cy={`toggle-${currentValue}`}\n data-testid={`toggle-${currentValue}`}\n >\n <span className={classNames(styles.toggleContainer, 'd-inline-block')}>\n <input \n checked={checked}\n className={styles.input}\n data-testid={`toggle-input-${currentValue}`}\n onChange={() => handleOnChange(currentValue)}\n type=\"checkbox\" \n value={currentValue}\n disabled={disabled}\n />\n <span className={styles.toggle} />\n </span>\n \n {isToggleLabelObject(label) ? (\n <div>\n <p className=\"p-p\">{label.title}</p>\n <span className=\"d-block p-p p-p--small tc-neutral-700\">\n {label.description}\n </span>\n </div>\n ) : label}\n </label>\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/toggle/index.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport classNames from \"classnames\";\n\nimport styles from './styles.module.scss';\nexport interface ToggleWithDescription {\n title: ReactNode;\n description?: string;\n}\n\nexport interface ToggleProps<ValueType extends string> {\n options: Record<ValueType, ReactNode | ToggleWithDescription>;\n value?: ValueType[];\n onChange: (value: ValueType[]) => void;\n inlineLayout?: boolean;\n disabled?: boolean;\n bordered?: boolean,\n classNames?: {\n container?: string;\n label?: string;\n option?: string;\n }\n}\n\nexport const Toggle = <ValueType extends string>({\n options,\n value = [],\n onChange,\n inlineLayout = false,\n bordered = true,\n classNames: classNamesObj,\n disabled,\n}: ToggleProps<ValueType> & { }) => {\n const hasNoneValue = Object.keys(options).includes('NONE');\n\n const isToggleLabelObject = (\n label: ReactNode | ToggleWithDescription\n ): label is ToggleWithDescription => {\n return (label as ToggleWithDescription).title !== undefined;\n };\n\n const handleOnChange = (newValue: ValueType) => {\n if (value?.includes(newValue)) {\n const filteredToggleValues = value.filter(\n (selectedValue) => selectedValue !== newValue\n );\n\n onChange(filteredToggleValues);\n return;\n }\n\n if (hasNoneValue && newValue === 'NONE') {\n onChange([newValue]);\n return;\n }\n\n if (hasNoneValue && newValue !== 'NONE') {\n const newValues = value\n ? [...value.filter((v) => v !== 'NONE'), newValue]\n : [newValue];\n onChange(newValues);\n return;\n }\n\n const newValues = value\n ? [...value, newValue]\n : [newValue];\n onChange(newValues);\n };\n\n\n const entries = Object.entries(options) as [\n ValueType,\n string | ToggleWithDescription\n ][];\n\n return (\n <div\n className={classNames(classNamesObj?.container, styles.container, 'd-flex gap8', {\n 'fd-row': inlineLayout,\n 'f-wrap': inlineLayout,\n 'fd-column': !inlineLayout,\n })}\n >\n {entries.map(([currentValue, label]) => {\n const checked = value?.includes(currentValue);\n\n return (\n <div className={classNamesObj?.option} key={currentValue}>\n <label\n className={classNames(\n styles.label,\n classNamesObj?.label,\n 'p-label pr16 gap16',\n {\n 'p-label--bordered': bordered,\n }\n )}\n data-testid={`toggle-${currentValue}`}\n >\n <span className={classNames(styles.toggleContainer, 'd-inline-block')}>\n <input \n checked={checked}\n className={styles.input}\n data-testid={`toggle-input-${currentValue}`}\n onChange={() => handleOnChange(currentValue)}\n type=\"checkbox\" \n value={currentValue}\n disabled={disabled}\n />\n <span className={styles.toggle} />\n </span>\n \n {isToggleLabelObject(label) ? (\n <div>\n <p className=\"p-p\">{label.title}</p>\n <span className=\"d-block p-p p-p--small tc-neutral-700\">\n {label.description}\n </span>\n </div>\n ) : label}\n </label>\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;AAuBO,IAAM,MAAM,GAAG,UAA2B,EAQjB,EAAA;AAP9B,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,EAAA,GAAA,EAAA,CAAA,KAAU,EAAV,KAAK,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,oBAAoB,EAApB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,QAAe,EAAf,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACH,aAAa,GAAA,EAAA,CAAA,UAAA,EACzB,QAAQ,GAAA,EAAA,CAAA,QAAA;AAER,IAAA,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE1D,IAAM,mBAAmB,GAAG,UAC1B,KAAwC,EAAA;AAExC,QAAA,OAAQ,KAA+B,CAAC,KAAK,KAAK,SAAS;AAC7D,IAAA,CAAC;IAED,IAAM,cAAc,GAAG,UAAC,QAAmB,EAAA;QACzC,IAAI,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC7B,YAAA,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CACvC,UAAC,aAAa,EAAA,EAAK,OAAA,aAAa,KAAK,QAAQ,CAAA,CAA1B,CAA0B,CAC9C;YAED,QAAQ,CAAC,oBAAoB,CAAC;YAC9B;QACF;AAEA,QAAA,IAAI,YAAY,IAAI,QAAQ,KAAK,MAAM,EAAE;AACvC,YAAA,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;YACpB;QACF;AAEA,QAAA,IAAI,YAAY,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvC,IAAM,WAAS,GAAG;kBACf,aAAA,CAAA,aAAA,CAAA,EAAA,EAAK,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,KAAK,MAAM,CAAA,CAAZ,CAAY,CAAC,EAAA,IAAA,CAAA,EAAA,CAAE,QAAQ,CAAA,EAAA,KAAA,CAAA,GAC/C,CAAC,QAAQ,CAAC;YACd,QAAQ,CAAC,WAAS,CAAC;YACnB;QACF;QAEA,IAAM,SAAS,GAAG;cACf,aAAA,CAAA,aAAA,CAAA,EAAA,EAAK,KAAK,EAAA,IAAA,CAAA,EAAA,CAAE,QAAQ,CAAA,EAAA,KAAA,CAAA,GACnB,CAAC,QAAQ,CAAC;QACd,QAAQ,CAAC,SAAS,CAAC;AACrB,IAAA,CAAC;IAGD,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAGnC;AAEH,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,UAAU,CAAC,aAAa,KAAA,IAAA,IAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE;AAC/E,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,CAAC,YAAY;AAC3B,SAAA,CAAC,YAED,OAAO,CAAC,GAAG,CAAC,UAAC,EAAqB,EAAA;gBAApB,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA;AAChC,YAAA,IAAM,OAAO,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,QAAQ,CAAC,YAAY,CAAC;AAE7C,YAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,MAAM,EAAA,QAAA,EACnCC,gBACE,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,KAAK,EACZ,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,KAAK,EACpB,oBAAoB,EACpB;AACE,wBAAA,mBAAmB,EAAE,QAAQ;qBAC9B,CACF,EAAA,aAAA,EACY,iBAAU,YAAY,CAAE,aAErCA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,CACnED,GAAA,CAAA,OAAA,EAAA,EACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,CAAC,KAAK,EAAA,aAAA,EACV,uBAAgB,YAAY,CAAE,EAC3C,QAAQ,EAAE,YAAA,EAAM,OAAA,cAAc,CAAC,YAAY,CAAC,CAAA,CAA5B,CAA4B,EAC5C,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAAA,CAClB,EACFA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAA,CAAI,CAAA,EAAA,CAC7B,EAEN,mBAAmB,CAAC,KAAK,CAAC,IACzBC,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACED,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,KAAK,EAAA,QAAA,EAAE,KAAK,CAAC,KAAK,GAAK,EACpCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uCAAuC,EAAA,QAAA,EACpD,KAAK,CAAC,WAAW,GACb,CAAA,EAAA,CACH,IACJ,KAAK,IACH,EAAA,EAjCkC,YAAY,CAkClD;QAEV,CAAC,CAAC,EAAA,CACE;AAEV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/BaseCell/BaseCell.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport {\n CheckThickIcon,\n StarFilledIcon,\n XIcon,\n ZapFilledIcon,\n} from '../../../../icon';\nimport { ReactNode } from 'react';\nimport styles from './BaseCell.module.scss';\nimport { MiniProgressBar } from './MiniProgressBar/MiniProgressBar';\nimport { TableInfoButton } from '../../../../comparisonTable';\nimport { ModalFunction } from '../../../types';\n\nexport type FontVariant = 'NORMAL' | 'TITLE' | 'SUBTITLE' | 'PRICE';\n\nconst progressLookup: Record<string, number> = {\n '30%': 1,\n '50%': 2,\n '70%': 3,\n '75%': 4,\n '80%': 4,\n '90%': 4,\n '75%-90%': 4,\n '75%-100%': 4,\n '80%-100%': 4,\n '100%': 5,\n};\n\nexport type Alignment = 'center' | 'left' | 'right';\n\nexport type BaseCellProps = {\n align?: Alignment;\n checkmarkValue?: boolean;\n description?: ReactNode;\n fontVariant?: FontVariant;\n hideProgressBar?: boolean;\n modalTitle?: ReactNode;\n modalContent?: ReactNode;\n openModal?: ModalFunction;\n text?: ReactNode;\n rating?: {\n value: number;\n type: 'zap' | 'star';\n };\n className?: string;\n dataTestId?: string;\n dataCy?: string;\n};\n\nexport const BaseCell = ({\n align = 'center',\n checkmarkValue,\n description = '',\n fontVariant = 'NORMAL',\n hideProgressBar = false,\n modalTitle = '',\n modalContent = '',\n openModal,\n rating,\n text = '',\n className,\n}: BaseCellProps) => {\n const alignClassName = {\n center: 'ta-center jc-center ai-center',\n left: 'ta-left jc-start',\n right: 'ta-right jc-end ai-end',\n }[align];\n\n const validRatingValues: number[] = [1, 2, 3];\n const SelectedIcon = rating?.type === 'zap' ? ZapFilledIcon : StarFilledIcon;\n\n const progressBarValue =\n !hideProgressBar && typeof text === 'string'\n ? progressLookup[text]\n : undefined;\n\n return (\n <div\n className={classNames(\n className,\n 'd-flex gap8 ai-center', {\n 'jc-center': align === 'center',\n })}\n >\n <div\n className={classNames('d-flex fd-column', alignClassName, {\n [styles.maxWidth]: modalContent && align === 'center',\n })}\n >\n <div className=\"d-flex ai-center\">\n {rating?.value && (\n <span\n data-testid=\"table-cell-rating\"\n title={`${rating?.value} out of 3`}\n >\n {validRatingValues.map((value) => (\n <SelectedIcon\n aria-hidden=\"true\"\n key={value}\n color={value <= rating?.value ? 'neutral-900' : 'neutral-400'}\n className={styles.icon}\n size={rating?.type === 'zap' ? 16 : 14}\n />\n ))}\n </span>\n )}\n\n {checkmarkValue !== undefined && (\n <span className='d-inline-block mx8' title={checkmarkValue ? 'Yes' : 'No'}>\n {checkmarkValue ? (\n <CheckThickIcon\n noMargin\n data-testid=\"table-cell-boolean-yes\"\n size={24}\n aria-hidden\n color=\"neutral-900\"\n />\n ) : (\n <XIcon\n noMargin\n data-testid=\"table-cell-boolean-no\"\n size={24}\n aria-hidden\n color=\"neutral-500\"\n />\n )}\n </span>\n )}\n\n <div className=\"d-flex ai-center\">\n {text && fontVariant === 'NORMAL' && (\n <div className={classNames(\n \"p-p d-inline\",\n { 'ml8': align !== 'left' }\n )}\n data-testid=\"table-cell-text\"\n >\n {text}\n </div>\n )}\n\n {text && fontVariant === 'PRICE' && (\n <div\n className=\"p-h2 tc-neutral-900\"\n data-testid=\"table-cell-content\"\n >\n {text}\n </div>\n )}\n\n {text && fontVariant === 'TITLE' && (\n <h2\n aria-hidden\n className=\"tc-grey-800 p-h2 p--serif\"\n >\n {text}\n </h2>\n )}\n\n {text && fontVariant === 'SUBTITLE' && (\n <h2\n aria-hidden\n className=\"tc-grey-800 p-h4\"\n >\n {text}\n </h2>\n )}\n\n {modalContent && openModal && (\n <span className=\"ml8\">\n <TableInfoButton\n onClick={() =>\n openModal({\n title: modalTitle,\n body: modalContent,\n })\n }\n />\n </span>\n )}\n </div>\n </div>\n\n {progressBarValue !== undefined && (\n <MiniProgressBar nFilledBars={progressBarValue} />\n )}\n\n {description && (\n <div\n className={classNames(\n styles.description,\n 'd-flex p-p--small tc-neutral-600',\n alignClassName\n )}\n >\n {description}\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"BaseCell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/BaseCell/BaseCell.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport {\n CheckThickIcon,\n StarFilledIcon,\n XIcon,\n ZapFilledIcon,\n} from '../../../../icon';\nimport { ReactNode } from 'react';\nimport styles from './BaseCell.module.scss';\nimport { MiniProgressBar } from './MiniProgressBar/MiniProgressBar';\nimport { TableInfoButton } from '../../../../comparisonTable';\nimport { ModalFunction } from '../../../types';\n\nexport type FontVariant = 'NORMAL' | 'TITLE' | 'SUBTITLE' | 'PRICE';\n\nconst progressLookup: Record<string, number> = {\n '30%': 1,\n '50%': 2,\n '70%': 3,\n '75%': 4,\n '80%': 4,\n '90%': 4,\n '75%-90%': 4,\n '75%-100%': 4,\n '80%-100%': 4,\n '100%': 5,\n};\n\nexport type Alignment = 'center' | 'left' | 'right';\n\nexport type BaseCellProps = {\n align?: Alignment;\n checkmarkValue?: boolean;\n description?: ReactNode;\n fontVariant?: FontVariant;\n hideProgressBar?: boolean;\n modalTitle?: ReactNode;\n modalContent?: ReactNode;\n openModal?: ModalFunction;\n text?: ReactNode;\n rating?: {\n value: number;\n type: 'zap' | 'star';\n };\n className?: string;\n dataTestId?: string;\n};\n\nexport const BaseCell = ({\n align = 'center',\n checkmarkValue,\n description = '',\n fontVariant = 'NORMAL',\n hideProgressBar = false,\n modalTitle = '',\n modalContent = '',\n openModal,\n rating,\n text = '',\n className,\n}: BaseCellProps) => {\n const alignClassName = {\n center: 'ta-center jc-center ai-center',\n left: 'ta-left jc-start',\n right: 'ta-right jc-end ai-end',\n }[align];\n\n const validRatingValues: number[] = [1, 2, 3];\n const SelectedIcon = rating?.type === 'zap' ? ZapFilledIcon : StarFilledIcon;\n\n const progressBarValue =\n !hideProgressBar && typeof text === 'string'\n ? progressLookup[text]\n : undefined;\n\n return (\n <div\n className={classNames(\n className,\n 'd-flex gap8 ai-center', {\n 'jc-center': align === 'center',\n })}\n >\n <div\n className={classNames('d-flex fd-column', alignClassName, {\n [styles.maxWidth]: modalContent && align === 'center',\n })}\n >\n <div className=\"d-flex ai-center\">\n {rating?.value && (\n <span\n data-testid=\"table-cell-rating\"\n title={`${rating?.value} out of 3`}\n >\n {validRatingValues.map((value) => (\n <SelectedIcon\n aria-hidden=\"true\"\n key={value}\n color={value <= rating?.value ? 'neutral-900' : 'neutral-400'}\n className={styles.icon}\n size={rating?.type === 'zap' ? 16 : 14}\n />\n ))}\n </span>\n )}\n\n {checkmarkValue !== undefined && (\n <span className='d-inline-block mx8' title={checkmarkValue ? 'Yes' : 'No'}>\n {checkmarkValue ? (\n <CheckThickIcon\n noMargin\n data-testid=\"table-cell-boolean-yes\"\n size={24}\n aria-hidden\n color=\"neutral-900\"\n />\n ) : (\n <XIcon\n noMargin\n data-testid=\"table-cell-boolean-no\"\n size={24}\n aria-hidden\n color=\"neutral-500\"\n />\n )}\n </span>\n )}\n\n <div className=\"d-flex ai-center\">\n {text && fontVariant === 'NORMAL' && (\n <div className={classNames(\n \"p-p d-inline\",\n { 'ml8': align !== 'left' }\n )}\n data-testid=\"table-cell-text\"\n >\n {text}\n </div>\n )}\n\n {text && fontVariant === 'PRICE' && (\n <div\n className=\"p-h2 tc-neutral-900\"\n data-testid=\"table-cell-content\"\n >\n {text}\n </div>\n )}\n\n {text && fontVariant === 'TITLE' && (\n <h2\n aria-hidden\n className=\"tc-grey-800 p-h2 p--serif\"\n >\n {text}\n </h2>\n )}\n\n {text && fontVariant === 'SUBTITLE' && (\n <h2\n aria-hidden\n className=\"tc-grey-800 p-h4\"\n >\n {text}\n </h2>\n )}\n\n {modalContent && openModal && (\n <span className=\"ml8\">\n <TableInfoButton\n onClick={() =>\n openModal({\n title: modalTitle,\n body: modalContent,\n })\n }\n />\n </span>\n )}\n </div>\n </div>\n\n {progressBarValue !== undefined && (\n <MiniProgressBar nFilledBars={progressBarValue} />\n )}\n\n {description && (\n <div\n className={classNames(\n styles.description,\n 'd-flex p-p--small tc-neutral-600',\n alignClassName\n )}\n >\n {description}\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAM,cAAc,GAA2B;AAC7C,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,MAAM,EAAE,CAAC;CACV;AAsBM,IAAM,QAAQ,GAAG,UAAC,EAYT,EAAA;;QAXd,EAAA,GAAA,EAAA,CAAA,KAAgB,EAAhB,KAAK,GAAA,EAAA,KAAA,MAAA,GAAG,QAAQ,GAAA,EAAA,EAChB,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,EAAA,GAAA,EAAA,CAAA,WAAgB,EAAhB,WAAW,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EAChB,EAAA,GAAA,EAAA,CAAA,WAAsB,EAAtB,WAAW,GAAA,EAAA,KAAA,MAAA,GAAG,QAAQ,GAAA,EAAA,EACtB,EAAA,GAAA,EAAA,CAAA,eAAuB,EAAvB,eAAe,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,EACvB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,EAAA,GAAA,EAAA,CAAA,YAAiB,EAAjB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACjB,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACT,SAAS,GAAA,EAAA,CAAA,SAAA;AAET,IAAA,IAAM,cAAc,GAAG;AACrB,QAAA,MAAM,EAAE,+BAA+B;AACvC,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,wBAAwB;KAChC,CAAC,KAAK,CAAC;IAER,IAAM,iBAAiB,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAM,YAAY,GAAG,CAAA,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,IAAI,MAAK,KAAK,GAAG,aAAa,GAAG,cAAc;IAE5E,IAAM,gBAAgB,GACpB,CAAC,eAAe,IAAI,OAAO,IAAI,KAAK;AAClC,UAAE,cAAc,CAAC,IAAI;UACnB,SAAS;IAEf,QACEA,aACE,SAAS,EAAE,UAAU,CACnB,SAAS,EACT,uBAAuB,EAAE;YACzB,WAAW,EAAE,KAAK,KAAK,QAAQ;SAChC,CAAC,EAAA,QAAA,EAEFC,cACE,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAA,EAAA,GAAA,EAAA;gBACtD,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,YAAY,IAAI,KAAK,KAAK,QAAQ;AACrD,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAEFA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC9B,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,KAAK,MACZD,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EACc,mBAAmB,EAC/B,KAAK,EAAE,EAAA,CAAA,MAAA,CAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,KAAK,cAAW,EAAA,QAAA,EAEjC,iBAAiB,CAAC,GAAG,CAAC,UAAC,KAAK,EAAA,EAAK,QAChCA,GAAA,CAAC,YAAY,EAAA,EAAA,aAAA,EACC,MAAM,EAElB,KAAK,EAAE,KAAK,KAAI,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,KAAK,CAAA,GAAG,aAAa,GAAG,aAAa,EAC7D,SAAS,EAAE,MAAM,CAAC,IAAI,EACtB,IAAI,EAAE,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,IAAI,MAAK,KAAK,GAAG,EAAE,GAAG,EAAE,EAAA,EAHjC,KAAK,CAIV,GAP8B,CAQjC,CAAC,EAAA,CACG,CACR,EAEA,cAAc,KAAK,SAAS,KAC3BA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,cAAc,GAAG,KAAK,GAAG,IAAI,EAAA,QAAA,EACtE,cAAc,IACbA,GAAA,CAAC,cAAc,EAAA,EACb,QAAQ,EAAA,IAAA,EAAA,aAAA,EACI,wBAAwB,EACpC,IAAI,EAAE,EAAE,EAAA,aAAA,EAAA,IAAA,EAER,KAAK,EAAC,aAAa,EAAA,CACnB,KAEFA,GAAA,CAAC,KAAK,EAAA,EACJ,QAAQ,EAAA,IAAA,EAAA,aAAA,EACI,uBAAuB,EACnC,IAAI,EAAE,EAAE,EAAA,aAAA,EAAA,IAAA,EAER,KAAK,EAAC,aAAa,GACnB,CACH,EAAA,CACI,CACR,EAEDC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC9B,IAAI,IAAI,WAAW,KAAK,QAAQ,KAC/BD,aAAK,SAAS,EAAE,UAAU,CACxB,cAAc,EACd,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,EAAE,CAC5B,EAAA,aAAA,EACW,iBAAiB,YAE1B,IAAI,EAAA,CACD,CACP,EAEA,IAAI,IAAI,WAAW,KAAK,OAAO,KAC9BA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,qBAAqB,EAAA,aAAA,EACnB,oBAAoB,EAAA,QAAA,EAE/B,IAAI,EAAA,CACD,CACP,EAEA,IAAI,IAAI,WAAW,KAAK,OAAO,KAC9BA,GAAA,CAAA,IAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAEE,SAAS,EAAC,2BAA2B,YAEpC,IAAI,EAAA,CACF,CACN,EAEA,IAAI,IAAI,WAAW,KAAK,UAAU,KACjCA,GAAA,CAAA,IAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAEE,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAE3B,IAAI,EAAA,CACF,CACN,EAEA,YAAY,IAAI,SAAS,KACxBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,KAAK,EAAA,QAAA,EACnBA,GAAA,CAAC,eAAe,EAAA,EACd,OAAO,EAAE,YAAA;AACP,4CAAA,OAAA,SAAS,CAAC;AACR,gDAAA,KAAK,EAAE,UAAU;AACjB,gDAAA,IAAI,EAAE,YAAY;6CACnB,CAAC;AAHF,wCAAA,CAGE,GAEJ,EAAA,CACG,CACR,IACG,CAAA,EAAA,CACF,EAEL,gBAAgB,KAAK,SAAS,KAC7BA,GAAA,CAAC,eAAe,EAAA,EAAC,WAAW,EAAE,gBAAgB,EAAA,CAAI,CACnD,EAEA,WAAW,KACVA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,WAAW,EAClB,kCAAkC,EAClC,cAAc,CACf,YAEA,WAAW,EAAA,CACR,CACP,CAAA,EAAA,CACG,EAAA,CACF;AAEV;;;;"}
@@ -14,11 +14,11 @@ styleInject(css_248z);
14
14
 
15
15
  var ButtonCell = function (_a) {
16
16
  var _b;
17
- var isSelected = _a.isSelected, onClick = _a.onClick, buttonCaption = _a.buttonCaption, price = _a.price, disabled = _a.disabled, className = _a.className, dataCy = _a.dataCy, dataTestId = _a.dataTestId;
18
- return (jsx("div", { className: classNames("w100 d-flex fd-column ai-start jc-center gap8", styles.wrapper, className), "data-cy": dataCy, "data-testid": dataTestId, children: jsxs("button", { className: classNames('w100 wmx5', styles.buttonCell, (_b = {},
17
+ var isSelected = _a.isSelected, onClick = _a.onClick, buttonCaption = _a.buttonCaption, price = _a.price, disabled = _a.disabled, className = _a.className, dataTestId = _a.dataTestId;
18
+ return (jsx("div", { className: classNames("w100 d-flex fd-column ai-start jc-center gap8", styles.wrapper, className), children: jsxs("button", { className: classNames('w100 wmx5', styles.buttonCell, (_b = {},
19
19
  _b[styles.selected] = isSelected,
20
20
  _b[styles.disabled] = disabled,
21
- _b)), type: "button", onClick: onClick, disabled: disabled, children: [jsxs("div", { className: "d-flex fd-column ai-start", children: [jsx("span", { className: "p-p fw-bold", children: buttonCaption }), price && jsx("span", { className: "p-p", children: price })] }), !disabled && (isSelected ? (jsx(CircleSelectedIcon, { size: 16 })) : (jsx(CircleUnselectedIcon, { size: 16 })))] }) }));
21
+ _b)), type: "button", onClick: onClick, disabled: disabled, "data-testid": dataTestId, children: [jsxs("div", { className: "d-flex fd-column ai-start", children: [jsx("span", { className: "p-p fw-bold", children: buttonCaption }), price && jsx("span", { className: "p-p", children: price })] }), !disabled && (isSelected ? (jsx(CircleSelectedIcon, { size: 16 })) : (jsx(CircleUnselectedIcon, { size: 16 })))] }) }));
22
22
  };
23
23
 
24
24
  export { ButtonCell };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonCell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport styles from './ButtonCell.module.scss';\nimport { CircleSelectedIcon, CircleUnselectedIcon } from '../../../../icon';\nimport { ReactNode } from 'react';\n\nexport type ButtonCellProps = {\n buttonCaption: ReactNode;\n disabled?: boolean;\n isSelected?: boolean;\n onClick: () => void;\n price?: ReactNode;\n className?: string;\n dataTestId?: string;\n dataCy?: string;\n};\n\nexport const ButtonCell = ({\n isSelected,\n onClick,\n buttonCaption,\n price,\n disabled,\n className,\n dataCy,\n dataTestId,\n}: ButtonCellProps) => {\n return (\n <div\n className={classNames(\n \"w100 d-flex fd-column ai-start jc-center gap8\",\n styles.wrapper,\n className,\n )}\n data-cy={dataCy}\n data-testid={dataTestId}\n >\n <button\n className={classNames('w100 wmx5', styles.buttonCell, {\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n })}\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n >\n <div className=\"d-flex fd-column ai-start\">\n <span className=\"p-p fw-bold\">{buttonCaption}</span>\n {price && <span className=\"p-p\">{price}</span>}\n </div>\n {!disabled && (isSelected ? (\n <CircleSelectedIcon size={16} />\n ) : (\n <CircleUnselectedIcon size={16} />\n ))}\n </button>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;AAiBO,IAAM,UAAU,GAAG,UAAC,EAST,EAAA;;QARhB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,UAAU,GAAA,EAAA,CAAA,UAAA;AAEV,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,+CAA+C,EAC/C,MAAM,CAAC,OAAO,EACd,SAAS,CACV,EAAA,SAAA,EACQ,MAAM,EAAA,aAAA,EACF,UAAU,EAAA,QAAA,EAEvBC,IAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAA,EAAA,GAAA,EAAA;AAClD,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,UAAU;AAC7B,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,QAAQ;AAC3B,gBAAA,EAAA,EAAA,EACF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAAA,QAAA,EAAA,CAElBA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACxCD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,aAAa,EAAA,QAAA,EAAE,aAAa,EAAA,CAAQ,EACnD,KAAK,IAAIA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,KAAK,YAAE,KAAK,EAAA,CAAQ,CAAA,EAAA,CAC1C,EACL,CAAC,QAAQ,KAAK,UAAU,IACvBA,GAAA,CAAC,kBAAkB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,KAEhCA,GAAA,CAAC,oBAAoB,EAAA,EAAC,IAAI,EAAE,EAAE,GAAI,CACnC,CAAC,CAAA,EAAA,CACK,EAAA,CACL;AAEV;;;;"}
1
+ {"version":3,"file":"ButtonCell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport styles from './ButtonCell.module.scss';\nimport { CircleSelectedIcon, CircleUnselectedIcon } from '../../../../icon';\nimport { ReactNode } from 'react';\n\nexport type ButtonCellProps = {\n buttonCaption: ReactNode;\n disabled?: boolean;\n isSelected?: boolean;\n onClick: () => void;\n price?: ReactNode;\n className?: string;\n dataTestId?: string;\n};\n\nexport const ButtonCell = ({\n isSelected,\n onClick,\n buttonCaption,\n price,\n disabled,\n className,\n dataTestId,\n}: ButtonCellProps) => {\n return (\n <div\n className={classNames(\n \"w100 d-flex fd-column ai-start jc-center gap8\",\n styles.wrapper,\n className,\n )}\n >\n <button\n className={classNames('w100 wmx5', styles.buttonCell, {\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n })}\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n data-testid={dataTestId}\n >\n <div className=\"d-flex fd-column ai-start\">\n <span className=\"p-p fw-bold\">{buttonCaption}</span>\n {price && <span className=\"p-p\">{price}</span>}\n </div>\n {!disabled && (isSelected ? (\n <CircleSelectedIcon size={16} />\n ) : (\n <CircleUnselectedIcon size={16} />\n ))}\n </button>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;AAgBO,IAAM,UAAU,GAAG,UAAC,EAQT,EAAA;;AAPhB,IAAA,IAAA,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,aAAa,mBAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA;IAEV,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,+CAA+C,EAC/C,MAAM,CAAC,OAAO,EACd,SAAS,CACV,EAAA,QAAA,EAEDC,IAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAA,EAAA,GAAA,EAAA;AAClD,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,UAAU;AAC7B,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,QAAQ;AAC3B,gBAAA,EAAA,EAAA,EACF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAAA,aAAA,EACL,UAAU,aAEvBA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACxCD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,aAAa,EAAA,QAAA,EAAE,aAAa,EAAA,CAAQ,EACnD,KAAK,IAAIA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,KAAK,EAAA,QAAA,EAAE,KAAK,EAAA,CAAQ,CAAA,EAAA,CAC1C,EACL,CAAC,QAAQ,KAAK,UAAU,IACvBA,GAAA,CAAC,kBAAkB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,KAEhCA,GAAA,CAAC,oBAAoB,EAAA,EAAC,IAAI,EAAE,EAAE,GAAI,CACnC,CAAC,CAAA,EAAA,CACK,EAAA,CACL;AAEV;;;;"}
@@ -0,0 +1,35 @@
1
+ import { _ as __awaiter, a as __generator } from '../../../../../tslib.es6-CVlKGIvp.js';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { c as customRender, s as screen } from '../../../../../customRender-DzdqZxUd.js';
4
+ import { ButtonCell } from './ButtonCell.js';
5
+ import '../../../../../_commonjsHelpers-BFTU3MAI.js';
6
+ import 'react';
7
+ import 'react-dom';
8
+ import 'util';
9
+ import 'react-dom/test-utils';
10
+ import '../../../../../index-DLQEsiym.js';
11
+ import '../../../../../style-inject.es-tgCJW-Cu.js';
12
+ import '../../../../icon/icons/CircleSelected.js';
13
+ import '../../../../icon/IconWrapper/IconWrapper.js';
14
+ import '../../../../icon/icons/CircleUnselected.js';
15
+
16
+ describe('ButtonCell', function () {
17
+ it('exposes its test id on the button so clicking it selects the cell', function () { return __awaiter(void 0, void 0, void 0, function () {
18
+ var onClick, user, button;
19
+ return __generator(this, function (_a) {
20
+ switch (_a.label) {
21
+ case 0:
22
+ onClick = jest.fn();
23
+ user = customRender(jsx(ButtonCell, { buttonCaption: "Extended", price: "\u20AC9.34/mo", onClick: onClick, dataTestId: "plan-table-EXTENDED" })).user;
24
+ button = screen.getByTestId('plan-table-EXTENDED');
25
+ return [4 /*yield*/, user.click(button)];
26
+ case 1:
27
+ _a.sent();
28
+ expect(button.tagName).toBe('BUTTON');
29
+ expect(onClick).toHaveBeenCalledTimes(1);
30
+ return [2 /*return*/];
31
+ }
32
+ });
33
+ }); });
34
+ });
35
+ //# sourceMappingURL=ButtonCell.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonCell.test.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.test.tsx"],"sourcesContent":["import { render, screen } from '../../../../../util/testUtils';\nimport { ButtonCell } from './ButtonCell';\n\ndescribe('ButtonCell', () => {\n it('exposes its test id on the button so clicking it selects the cell', async () => {\n const onClick = jest.fn();\n const { user } = render(\n <ButtonCell\n buttonCaption=\"Extended\"\n price=\"€9.34/mo\"\n onClick={onClick}\n dataTestId=\"plan-table-EXTENDED\"\n />\n );\n\n const button = screen.getByTestId('plan-table-EXTENDED');\n await user.click(button);\n\n expect(button.tagName).toBe('BUTTON');\n expect(onClick).toHaveBeenCalledTimes(1);\n });\n});\n"],"names":["render","_jsx"],"mappings":";;;;;;;;;;;;;;;AAGA,QAAQ,CAAC,YAAY,EAAE,YAAA;IACrB,EAAE,CAAC,mEAAmE,EAAE,YAAA,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAChE,oBAAA,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE;oBACjB,IAAI,GAAKA,YAAM,CACrBC,GAAA,CAAC,UAAU,IACT,aAAa,EAAC,UAAU,EACxB,KAAK,EAAC,eAAU,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAC,qBAAqB,EAAA,CAChC,CACH,CAAA,IAPW;AASN,oBAAA,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC;AACxD,oBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;;AAAxB,oBAAA,EAAA,CAAA,IAAA,EAAwB;oBAExB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;;;;AACzC,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC;AACJ,CAAC,CAAC"}
@@ -13,11 +13,11 @@ styleInject(css_248z);
13
13
 
14
14
  var CTACell = function (_a) {
15
15
  var _b;
16
- var title = _a.title, price = _a.price, icon = _a.icon, grey = _a.grey, narrow = _a.narrow, centered = _a.centered, href = _a.href, buttonCaption = _a.buttonCaption, imageComponent = _a.imageComponent, className = _a.className, dataCy = _a.dataCy, dataTestId = _a.dataTestId, onClick = _a.onClick;
16
+ var title = _a.title, price = _a.price, icon = _a.icon, grey = _a.grey, narrow = _a.narrow, centered = _a.centered, href = _a.href, buttonCaption = _a.buttonCaption, imageComponent = _a.imageComponent, className = _a.className, dataTestId = _a.dataTestId, onClick = _a.onClick;
17
17
  var renderedIcon = (jsx(IconRenderer, { icon: icon, imageComponent: imageComponent }));
18
18
  return (jsxs("div", { className: classNames(className, 'ta-left', {
19
19
  'd-flex fd-column ai-center': centered,
20
- }), "data-cy": dataCy, "data-testid": dataTestId, children: [jsxs("div", { className: "d-flex ai-center gap8", children: [renderedIcon, jsxs("p", { className: "p-h3", children: [title, price && jsxs("span", { className: "tc-purple-600", children: [" ", price] })] })] }), jsx(Button, __assign({}, onClick ? { onClick: onClick } : {
20
+ }), "data-testid": dataTestId, children: [jsxs("div", { className: "d-flex ai-center gap8", children: [renderedIcon, jsxs("p", { className: "p-h3", children: [title, price && jsxs("span", { className: "tc-purple-600", children: [" ", price] })] })] }), jsx(Button, __assign({}, onClick ? { onClick: onClick } : {
21
21
  as: 'a',
22
22
  href: href,
23
23
  target: '_blank',
@@ -1 +1 @@
1
- {"version":3,"file":"CTACell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/CTACell/CTACell.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport styles from './CTACell.module.scss';\nimport { IconRenderer } from '../../IconRenderer/IconRenderer';\nimport { Button } from '../../../../button';\n\nexport type CTACellProps = {\n title: ReactNode;\n price?: ReactNode;\n icon?: ReactNode;\n imageComponent?: (args: any) => JSX.Element;\n buttonCaption?: ReactNode;\n grey?: boolean;\n narrow?: boolean;\n centered?: boolean;\n href: string;\n className?: string;\n dataTestId?: string;\n dataCy?: string;\n onClick?: () => void;\n};\n\nexport const CTACell = ({\n title,\n price,\n icon,\n grey,\n narrow,\n centered,\n href,\n buttonCaption,\n imageComponent,\n className,\n dataCy,\n dataTestId,\n onClick,\n}: CTACellProps) => {\n const renderedIcon = (\n <IconRenderer icon={icon} imageComponent={imageComponent} />\n );\n\n return (\n <div\n className={classNames(className, 'ta-left', {\n 'd-flex fd-column ai-center': centered,\n })}\n data-cy={dataCy}\n data-testid={dataTestId}\n >\n <div className=\"d-flex ai-center gap8\">\n {renderedIcon}\n <p className=\"p-h3\">\n {title}\n {price && <span className=\"tc-purple-600\"> {price}</span>}\n </p>\n </div>\n\n <Button\n {...onClick ? { onClick } : {\n as: 'a',\n href: href,\n target: '_blank',\n rel: 'noopener noreferrer',\n }}\n className={classNames('mt16 w100', styles.button, {\n 'p-btn--primary': !grey,\n 'p-btn--secondary-grey': grey,\n [styles.narrow]: narrow,\n })}\n >\n {buttonCaption}\n </Button>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;AAuBO,IAAM,OAAO,GAAG,UAAC,EAcT,EAAA;;AAbb,IAAA,IAAA,KAAK,WAAA,EACL,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,QAAQ,cAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,YAAA,EACN,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,OAAO,GAAA,EAAA,CAAA,OAAA;AAEP,IAAA,IAAM,YAAY,IAChBA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAA,CAAI,CAC7D;IAED,QACEC,cACE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE;AAC1C,YAAA,4BAA4B,EAAE,QAAQ;SACvC,CAAC,EAAA,SAAA,EACO,MAAM,EAAA,aAAA,EACF,UAAU,aAEvBA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CACnC,YAAY,EACbA,IAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,MAAM,aAChB,KAAK,EACL,KAAK,IAAIA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,eAAe,kBAAG,KAAK,CAAA,EAAA,CAAQ,IACvD,CAAA,EAAA,CACA,EAEND,IAAC,MAAM,EAAA,QAAA,CAAA,EAAA,EACD,OAAO,GAAG,EAAE,OAAO,SAAA,EAAE,GAAG;AAC1B,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,qBAAqB;aAC3B,EAAA,EACD,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,GAAA,EAAA,GAAA;wBAC9C,gBAAgB,EAAE,CAAC,IAAI;AACvB,wBAAA,uBAAuB,EAAE;;AACzB,oBAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACvB,oBAAA,EAAA,EAAA,EAAA,QAAA,EAED,aAAa,EAAA,CAAA,CACP,CAAA,EAAA,CACL;AAEV;;;;"}
1
+ {"version":3,"file":"CTACell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/CTACell/CTACell.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport styles from './CTACell.module.scss';\nimport { IconRenderer } from '../../IconRenderer/IconRenderer';\nimport { Button } from '../../../../button';\n\nexport type CTACellProps = {\n title: ReactNode;\n price?: ReactNode;\n icon?: ReactNode;\n imageComponent?: (args: any) => JSX.Element;\n buttonCaption?: ReactNode;\n grey?: boolean;\n narrow?: boolean;\n centered?: boolean;\n href: string;\n className?: string;\n dataTestId?: string;\n onClick?: () => void;\n};\n\nexport const CTACell = ({\n title,\n price,\n icon,\n grey,\n narrow,\n centered,\n href,\n buttonCaption,\n imageComponent,\n className,\n dataTestId,\n onClick,\n}: CTACellProps) => {\n const renderedIcon = (\n <IconRenderer icon={icon} imageComponent={imageComponent} />\n );\n\n return (\n <div\n className={classNames(className, 'ta-left', {\n 'd-flex fd-column ai-center': centered,\n })}\n data-testid={dataTestId}\n >\n <div className=\"d-flex ai-center gap8\">\n {renderedIcon}\n <p className=\"p-h3\">\n {title}\n {price && <span className=\"tc-purple-600\"> {price}</span>}\n </p>\n </div>\n\n <Button\n {...onClick ? { onClick } : {\n as: 'a',\n href: href,\n target: '_blank',\n rel: 'noopener noreferrer',\n }}\n className={classNames('mt16 w100', styles.button, {\n 'p-btn--primary': !grey,\n 'p-btn--secondary-grey': grey,\n [styles.narrow]: narrow,\n })}\n >\n {buttonCaption}\n </Button>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;AAsBO,IAAM,OAAO,GAAG,UAAC,EAaT,EAAA;;AAZb,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,SAAS,eAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,OAAO,GAAA,EAAA,CAAA,OAAA;AAEP,IAAA,IAAM,YAAY,IAChBA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAA,CAAI,CAC7D;IAED,QACEC,cACE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE;AAC1C,YAAA,4BAA4B,EAAE,QAAQ;AACvC,SAAA,CAAC,iBACW,UAAU,EAAA,QAAA,EAAA,CAEvBA,cAAK,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CACnC,YAAY,EACbA,IAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,MAAM,EAAA,QAAA,EAAA,CAChB,KAAK,EACL,KAAK,IAAIA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,eAAe,kBAAG,KAAK,CAAA,EAAA,CAAQ,IACvD,CAAA,EAAA,CACA,EAEND,IAAC,MAAM,EAAA,QAAA,CAAA,EAAA,EACD,OAAO,GAAG,EAAE,OAAO,SAAA,EAAE,GAAG;AAC1B,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,GAAG,EAAE,qBAAqB;aAC3B,EAAA,EACD,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,GAAA,EAAA,GAAA;wBAC9C,gBAAgB,EAAE,CAAC,IAAI;AACvB,wBAAA,uBAAuB,EAAE;;AACzB,oBAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACvB,oBAAA,EAAA,EAAA,EAAA,QAAA,EAED,aAAa,EAAA,CAAA,CACP,CAAA,EAAA,CACL;AAEV;;;;"}
@@ -1,7 +1,6 @@
1
1
  import { CalendarDate } from '@popsure/public-models';
2
2
  import { InputProps } from '../input';
3
3
  interface DateSelectorInputProps extends InputProps {
4
- 'data-cy': string;
5
4
  'data-testid': string;
6
5
  ref: (el: HTMLInputElement) => void;
7
6
  }
@@ -18,6 +18,5 @@ export type BaseCellProps = {
18
18
  };
19
19
  className?: string;
20
20
  dataTestId?: string;
21
- dataCy?: string;
22
21
  };
23
22
  export declare const BaseCell: ({ align, checkmarkValue, description, fontVariant, hideProgressBar, modalTitle, modalContent, openModal, rating, text, className, }: BaseCellProps) => JSX.Element;
@@ -7,6 +7,5 @@ export type ButtonCellProps = {
7
7
  price?: ReactNode;
8
8
  className?: string;
9
9
  dataTestId?: string;
10
- dataCy?: string;
11
10
  };
12
- export declare const ButtonCell: ({ isSelected, onClick, buttonCaption, price, disabled, className, dataCy, dataTestId, }: ButtonCellProps) => JSX.Element;
11
+ export declare const ButtonCell: ({ isSelected, onClick, buttonCaption, price, disabled, className, dataTestId, }: ButtonCellProps) => JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { ButtonCell } from './ButtonCell';
2
2
  declare const story: {
3
3
  title: string;
4
- component: ({ isSelected, onClick, buttonCaption, price, disabled, className, dataCy, dataTestId, }: import("./ButtonCell").ButtonCellProps) => JSX.Element;
4
+ component: ({ isSelected, onClick, buttonCaption, price, disabled, className, dataTestId, }: import("./ButtonCell").ButtonCellProps) => JSX.Element;
5
5
  argTypes: {};
6
6
  args: {
7
7
  buttonCaption: string;
@@ -11,7 +11,6 @@ export type CTACellProps = {
11
11
  href: string;
12
12
  className?: string;
13
13
  dataTestId?: string;
14
- dataCy?: string;
15
14
  onClick?: () => void;
16
15
  };
17
- export declare const CTACell: ({ title, price, icon, grey, narrow, centered, href, buttonCaption, imageComponent, className, dataCy, dataTestId, onClick, }: CTACellProps) => JSX.Element;
16
+ export declare const CTACell: ({ title, price, icon, grey, narrow, centered, href, buttonCaption, imageComponent, className, dataTestId, onClick, }: CTACellProps) => JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { CTACell } from './CTACell';
2
2
  declare const story: {
3
3
  title: string;
4
- component: ({ title, price, icon, grey, narrow, centered, href, buttonCaption, imageComponent, className, dataCy, dataTestId, onClick, }: import("./CTACell").CTACellProps) => JSX.Element;
4
+ component: ({ title, price, icon, grey, narrow, centered, href, buttonCaption, imageComponent, className, dataTestId, onClick, }: import("./CTACell").CTACellProps) => JSX.Element;
5
5
  argTypes: {};
6
6
  args: {
7
7
  title: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popsure/dirty-swan",
3
- "version": "0.66.29",
3
+ "version": "0.66.31",
4
4
  "author": "Vincent Audoire <vincent@getpopsure.com>",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -264,7 +264,6 @@ const AutocompleteAddress = ({
264
264
  className="w100"
265
265
  id="autocomplete"
266
266
  key="autocomplete-search"
267
- data-cy="autocomplete"
268
267
  data-testid="autocomplete"
269
268
  type="text"
270
269
  placeholder={
@@ -275,7 +274,6 @@ const AutocompleteAddress = ({
275
274
  />
276
275
  {hasLoadedGoogleAPI === false && (
277
276
  <div
278
- data-cy="google-api-loader"
279
277
  data-testid="google-api-loader"
280
278
  className={styles['loading-spinner']}
281
279
  >
@@ -288,7 +286,6 @@ const AutocompleteAddress = ({
288
286
  <div className={`d-flex c-gap16 ${styles['input-line']}`}>
289
287
  <Input
290
288
  className="w100"
291
- data-cy="autocomplete"
292
289
  data-testid="autocomplete"
293
290
  key="autocomplete-street"
294
291
  type="text"
@@ -300,7 +297,6 @@ const AutocompleteAddress = ({
300
297
  />
301
298
  <Input
302
299
  className={`wmx2 ${styles['house-number-input']}`}
303
- data-cy="autocomplete-house-number"
304
300
  data-testid="autocomplete-house-number"
305
301
  key="autocomplete-house-number"
306
302
  placeholder={placeholders?.houseNumber || 'House number'}
@@ -312,7 +308,6 @@ const AutocompleteAddress = ({
312
308
  </div>
313
309
  <Input
314
310
  className="mt16"
315
- data-cy="autocomplete-additional-info"
316
311
  data-testid="autocomplete-additional-info"
317
312
  key="autocomplete-additional-info"
318
313
  placeholder={
@@ -327,7 +322,6 @@ const AutocompleteAddress = ({
327
322
  <div className={`d-flex mt16 c-gap16 ${styles['input-line']}`}>
328
323
  <Input
329
324
  className="w100"
330
- data-cy="autocomplete-postcode"
331
325
  data-testid="autocomplete-postcode"
332
326
  key="autocomplete-postcode"
333
327
  placeholder={placeholders?.postcode || 'Postcode'}
@@ -338,7 +332,6 @@ const AutocompleteAddress = ({
338
332
  />
339
333
  <Input
340
334
  className="w100"
341
- data-cy="autocomplete-city"
342
335
  data-testid="autocomplete-city"
343
336
  key="autocomplete-city"
344
337
  placeholder={placeholders?.city || 'City'}
@@ -18,7 +18,6 @@ const COLLECTABLE_DATE_FORMAT = 'YYYY-MM-DD';
18
18
  type FormatPlaceholder = 'dayFormat' | 'monthFormat' | 'yearFormat';
19
19
 
20
20
  interface DateSelectorInputProps extends InputProps {
21
- 'data-cy': string;
22
21
  'data-testid': string;
23
22
  ref: (el: HTMLInputElement) => void;
24
23
  }
@@ -212,7 +211,6 @@ export const DateSelector = ({
212
211
  }
213
212
 
214
213
  const getInputProps = (key: keyof CalendarDate, index: number): DateSelectorInputProps => ({
215
- 'data-cy': `date-selector-${key}`,
216
214
  'data-testid': `date-selector-${key}`,
217
215
  className: styles[`${key}Input`],
218
216
  id: key,
@@ -15,7 +15,6 @@ const InitialButton = ({ onDownload }: { onDownload: () => void }) => (
15
15
  className={`w100 ${styles.button}`}
16
16
  leftIcon={<DownloadIcon />}
17
17
  onClick={onDownload}
18
- data-cy="download-documents-button"
19
18
  data-testid="download-documents-button"
20
19
  >
21
20
  Download
@@ -55,7 +55,6 @@ export const AutoSuggestInput = ({
55
55
  <Input
56
56
  {...autoSuggestInputProps}
57
57
  placeholder={placeholder}
58
- data-cy="suggest-multi-select-input"
59
58
  data-testid="suggest-multi-select-input"
60
59
  />
61
60
  );
@@ -119,7 +119,6 @@ export const Checkbox = <ValueType extends string>({
119
119
  'jc-center': customIcon,
120
120
  'fd-column': customIcon,
121
121
  })}
122
- data-cy={`checkbox-${currentValue}`}
123
122
  data-testid={`checkbox-${currentValue}`}
124
123
  >
125
124
  {customIcon && <div className="mt8">{customIcon?.(checked)}</div>}
@@ -99,7 +99,6 @@ export const Radio = <ValueType extends string>({
99
99
  'fd-column': customIcon && !inlineIcon,
100
100
  'p-label--bordered': bordered,
101
101
  })}
102
- data-cy={`radio-${currentValue}`}
103
102
  data-testid={`radio-${currentValue}`}
104
103
  >
105
104
  {customIcon && (
@@ -95,7 +95,6 @@ export const Toggle = <ValueType extends string>({
95
95
  'p-label--bordered': bordered,
96
96
  }
97
97
  )}
98
- data-cy={`toggle-${currentValue}`}
99
98
  data-testid={`toggle-${currentValue}`}
100
99
  >
101
100
  <span className={classNames(styles.toggleContainer, 'd-inline-block')}>
@@ -44,7 +44,6 @@ export type BaseCellProps = {
44
44
  };
45
45
  className?: string;
46
46
  dataTestId?: string;
47
- dataCy?: string;
48
47
  };
49
48
 
50
49
  export const BaseCell = ({
@@ -0,0 +1,22 @@
1
+ import { render, screen } from '../../../../../util/testUtils';
2
+ import { ButtonCell } from './ButtonCell';
3
+
4
+ describe('ButtonCell', () => {
5
+ it('exposes its test id on the button so clicking it selects the cell', async () => {
6
+ const onClick = jest.fn();
7
+ const { user } = render(
8
+ <ButtonCell
9
+ buttonCaption="Extended"
10
+ price="€9.34/mo"
11
+ onClick={onClick}
12
+ dataTestId="plan-table-EXTENDED"
13
+ />
14
+ );
15
+
16
+ const button = screen.getByTestId('plan-table-EXTENDED');
17
+ await user.click(button);
18
+
19
+ expect(button.tagName).toBe('BUTTON');
20
+ expect(onClick).toHaveBeenCalledTimes(1);
21
+ });
22
+ });
@@ -12,7 +12,6 @@ export type ButtonCellProps = {
12
12
  price?: ReactNode;
13
13
  className?: string;
14
14
  dataTestId?: string;
15
- dataCy?: string;
16
15
  };
17
16
 
18
17
  export const ButtonCell = ({
@@ -22,7 +21,6 @@ export const ButtonCell = ({
22
21
  price,
23
22
  disabled,
24
23
  className,
25
- dataCy,
26
24
  dataTestId,
27
25
  }: ButtonCellProps) => {
28
26
  return (
@@ -32,8 +30,6 @@ export const ButtonCell = ({
32
30
  styles.wrapper,
33
31
  className,
34
32
  )}
35
- data-cy={dataCy}
36
- data-testid={dataTestId}
37
33
  >
38
34
  <button
39
35
  className={classNames('w100 wmx5', styles.buttonCell, {
@@ -43,6 +39,7 @@ export const ButtonCell = ({
43
39
  type="button"
44
40
  onClick={onClick}
45
41
  disabled={disabled}
42
+ data-testid={dataTestId}
46
43
  >
47
44
  <div className="d-flex fd-column ai-start">
48
45
  <span className="p-p fw-bold">{buttonCaption}</span>
@@ -17,7 +17,6 @@ export type CTACellProps = {
17
17
  href: string;
18
18
  className?: string;
19
19
  dataTestId?: string;
20
- dataCy?: string;
21
20
  onClick?: () => void;
22
21
  };
23
22
 
@@ -32,7 +31,6 @@ export const CTACell = ({
32
31
  buttonCaption,
33
32
  imageComponent,
34
33
  className,
35
- dataCy,
36
34
  dataTestId,
37
35
  onClick,
38
36
  }: CTACellProps) => {
@@ -45,7 +43,6 @@ export const CTACell = ({
45
43
  className={classNames(className, 'ta-left', {
46
44
  'd-flex fd-column ai-center': centered,
47
45
  })}
48
- data-cy={dataCy}
49
46
  data-testid={dataTestId}
50
47
  >
51
48
  <div className="d-flex ai-center gap8">