@popsure/dirty-swan 0.66.28 → 0.66.30

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 (57) hide show
  1. package/dist/cjs/index.js +12 -12
  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/downloadButton/index.test.d.ts +1 -0
  5. package/dist/cjs/lib/components/input/autoSuggestInput/index.test.d.ts +1 -0
  6. package/dist/cjs/lib/components/table/components/TableCell/BaseCell/BaseCell.d.ts +0 -1
  7. package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.d.ts +1 -2
  8. package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.d.ts +1 -1
  9. package/dist/cjs/lib/components/table/components/TableCell/CTACell/CTACell.d.ts +1 -2
  10. package/dist/cjs/lib/components/table/components/TableCell/CTACell/CTACell.stories.d.ts +1 -1
  11. package/dist/esm/components/autocompleteAddress/index.js +2 -2
  12. package/dist/esm/components/autocompleteAddress/index.js.map +1 -1
  13. package/dist/esm/components/autocompleteAddress/index.test.js +21 -12
  14. package/dist/esm/components/autocompleteAddress/index.test.js.map +1 -1
  15. package/dist/esm/components/dateSelector/index.js +1 -1
  16. package/dist/esm/components/dateSelector/index.js.map +1 -1
  17. package/dist/esm/components/downloadButton/index.js +1 -1
  18. package/dist/esm/components/downloadButton/index.js.map +1 -1
  19. package/dist/esm/components/downloadButton/index.test.js +25 -0
  20. package/dist/esm/components/downloadButton/index.test.js.map +1 -0
  21. package/dist/esm/components/input/autoSuggestInput/index.js +1 -1
  22. package/dist/esm/components/input/autoSuggestInput/index.js.map +1 -1
  23. package/dist/esm/components/input/autoSuggestInput/index.test.js +24 -0
  24. package/dist/esm/components/input/autoSuggestInput/index.test.js.map +1 -0
  25. package/dist/esm/components/input/checkbox/index.js +1 -1
  26. package/dist/esm/components/input/checkbox/index.js.map +1 -1
  27. package/dist/esm/components/input/radio/index.js +1 -1
  28. package/dist/esm/components/input/radio/index.js.map +1 -1
  29. package/dist/esm/components/input/toggle/index.js +1 -1
  30. package/dist/esm/components/input/toggle/index.js.map +1 -1
  31. package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.js.map +1 -1
  32. package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js +2 -2
  33. package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js.map +1 -1
  34. package/dist/esm/components/table/components/TableCell/CTACell/CTACell.js +2 -2
  35. package/dist/esm/components/table/components/TableCell/CTACell/CTACell.js.map +1 -1
  36. package/dist/esm/lib/components/dateSelector/index.d.ts +0 -1
  37. package/dist/esm/lib/components/downloadButton/index.test.d.ts +1 -0
  38. package/dist/esm/lib/components/input/autoSuggestInput/index.test.d.ts +1 -0
  39. package/dist/esm/lib/components/table/components/TableCell/BaseCell/BaseCell.d.ts +0 -1
  40. package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.d.ts +1 -2
  41. package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.d.ts +1 -1
  42. package/dist/esm/lib/components/table/components/TableCell/CTACell/CTACell.d.ts +1 -2
  43. package/dist/esm/lib/components/table/components/TableCell/CTACell/CTACell.stories.d.ts +1 -1
  44. package/package.json +1 -1
  45. package/src/lib/components/autocompleteAddress/index.test.tsx +17 -11
  46. package/src/lib/components/autocompleteAddress/index.tsx +7 -7
  47. package/src/lib/components/dateSelector/index.tsx +0 -2
  48. package/src/lib/components/downloadButton/index.test.tsx +22 -0
  49. package/src/lib/components/downloadButton/index.tsx +1 -1
  50. package/src/lib/components/input/autoSuggestInput/index.test.tsx +22 -0
  51. package/src/lib/components/input/autoSuggestInput/index.tsx +1 -1
  52. package/src/lib/components/input/checkbox/index.tsx +0 -1
  53. package/src/lib/components/input/radio/index.tsx +0 -1
  54. package/src/lib/components/input/toggle/index.tsx +0 -1
  55. package/src/lib/components/table/components/TableCell/BaseCell/BaseCell.tsx +0 -1
  56. package/src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx +0 -3
  57. package/src/lib/components/table/components/TableCell/CTACell/CTACell.tsx +0 -3
@@ -23,7 +23,7 @@ var AutoSuggestInput = function (_a) {
23
23
  _a)), children: suggestion.value })] }));
24
24
  };
25
25
  var getSuggestionValue = function (suggestion) { return suggestion.value; };
26
- var renderInputComponent = function (autoSuggestInputProps) { return (jsx(Input, __assign({}, autoSuggestInputProps, { placeholder: placeholder, "data-cy": "suggest-multi-select-input" }))); };
26
+ var renderInputComponent = function (autoSuggestInputProps) { return (jsx(Input, __assign({}, autoSuggestInputProps, { placeholder: placeholder, "data-testid": "suggest-multi-select-input" }))); };
27
27
  return (jsx("div", { className: className, children: jsx(Autosuggest, { theme: styles, suggestions: suggestions, onSuggestionsFetchRequested: handleSuggestionFetchRequest, onSuggestionsClearRequested: handleSuggestionClearRequest, getSuggestionValue: getSuggestionValue, renderSuggestion: renderSuggestion, highlightFirstSuggestion: true, inputProps: __assign(__assign({}, inputProps), { value: currentOption, onChange: function (_, _a) {
28
28
  var newValue = _a.newValue;
29
29
  onChange(newValue);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/autoSuggestInput/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport Autosuggest, { RenderInputComponentProps } from 'react-autosuggest';\n\nimport styles from './style.module.scss';\nimport { Option } from '../../../models/autoSuggestInput';\nimport { Input, InputProps } from '../index';\n\nexport interface AutoSuggestInputProps {\n currentOption: string;\n suggestions: Option[];\n handleSuggestionSelected: (value: Option) => void;\n onChange: (value: string) => void;\n handleSuggestionFetchRequest: (value: Option) => void;\n handleSuggestionClearRequest: () => void;\n placeholder: string;\n className?: string;\n wrapText?: boolean;\n inputProps?: Omit<RenderInputComponentProps, 'value' | 'onChange'>;\n}\n\nexport const AutoSuggestInput = ({\n currentOption,\n suggestions,\n handleSuggestionSelected,\n onChange,\n handleSuggestionFetchRequest,\n handleSuggestionClearRequest,\n placeholder,\n className,\n wrapText,\n inputProps\n}: AutoSuggestInputProps) => {\n const renderSuggestion = (suggestion: Option) => (\n <div className={`${styles['suggestion-option']}`}>\n {suggestion.leftIcon && (\n <img\n className={`mr16 ${styles['suggestion-img']}`}\n src={suggestion.leftIcon}\n alt={suggestion.value}\n />\n )}\n <div\n className={classNames(styles['suggestion-text'], {\n [styles.nowrap]: !wrapText,\n })}\n >\n {suggestion.value}\n </div>\n </div>\n );\n\n const getSuggestionValue = (suggestion: Option) => suggestion.value;\n\n const renderInputComponent = (autoSuggestInputProps: Omit<InputProps, 'ref'>) => (\n <Input\n {...autoSuggestInputProps}\n placeholder={placeholder}\n data-cy=\"suggest-multi-select-input\"\n />\n );\n\n return (\n <div className={className}>\n <Autosuggest\n theme={styles}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionFetchRequest}\n onSuggestionsClearRequested={handleSuggestionClearRequest}\n getSuggestionValue={getSuggestionValue}\n renderSuggestion={renderSuggestion}\n highlightFirstSuggestion={true}\n inputProps={{\n ...inputProps,\n value: currentOption,\n onChange: (_, { newValue }) => {\n onChange(newValue);\n },\n }}\n onSuggestionSelected={(_, { suggestion }) => {\n handleSuggestionSelected(suggestion);\n }}\n renderInputComponent={renderInputComponent}\n />\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;AAoBO,IAAM,gBAAgB,GAAG,UAAC,EAWT,EAAA;QAVtB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,wBAAwB,GAAA,EAAA,CAAA,wBAAA,EACxB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,4BAA4B,GAAA,EAAA,CAAA,4BAAA,EAC5B,4BAA4B,GAAA,EAAA,CAAA,4BAAA,EAC5B,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,GAAA,EAAA,CAAA,UAAA;IAEV,IAAM,gBAAgB,GAAG,UAAC,UAAkB,EAAA;;QAAK,QAC/CA,cAAK,SAAS,EAAE,UAAG,MAAM,CAAC,mBAAmB,CAAC,CAAE,EAAA,QAAA,EAAA,CAC7C,UAAU,CAAC,QAAQ,KAClBC,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,OAAA,CAAA,MAAA,CAAQ,MAAM,CAAC,gBAAgB,CAAC,CAAE,EAC7C,GAAG,EAAE,UAAU,CAAC,QAAQ,EACxB,GAAG,EAAE,UAAU,CAAC,KAAK,GACrB,CACH,EACDA,aACE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAA,EAAA,GAAA,EAAA;AAC7C,wBAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,CAAC,QAAQ;AAC1B,wBAAA,EAAA,EAAA,EAAA,QAAA,EAED,UAAU,CAAC,KAAK,EAAA,CACb,IACF;AAhByC,IAAA,CAiBhD;IAED,IAAM,kBAAkB,GAAG,UAAC,UAAkB,EAAA,EAAK,OAAA,UAAU,CAAC,KAAK,CAAA,CAAhB,CAAgB;IAEnE,IAAM,oBAAoB,GAAG,UAAC,qBAA8C,IAAK,QAC/EA,IAAC,KAAK,EAAA,QAAA,CAAA,EAAA,EACA,qBAAqB,EAAA,EACzB,WAAW,EAAE,WAAW,EAAA,SAAA,EAChB,4BAA4B,EAAA,CAAA,CACpC,EACH,CANgF,CAMhF;IAED,QACEA,aAAK,SAAS,EAAE,SAAS,EAAA,QAAA,EACvBA,GAAA,CAAC,WAAW,EAAA,EACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,2BAA2B,EAAE,4BAA4B,EACzD,2BAA2B,EAAE,4BAA4B,EACzD,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,IAAI,EAC9B,UAAU,wBACL,UAAU,CAAA,EAAA,EACb,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,UAAC,CAAC,EAAE,EAAY,EAAA;AAAV,oBAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA;oBACtB,QAAQ,CAAC,QAAQ,CAAC;AACpB,gBAAA,CAAC,KAEH,oBAAoB,EAAE,UAAC,CAAC,EAAE,EAAc,EAAA;AAAZ,gBAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA;gBACpC,wBAAwB,CAAC,UAAU,CAAC;AACtC,YAAA,CAAC,EACD,oBAAoB,EAAE,oBAAoB,EAAA,CAC1C,EAAA,CACE;AAEV;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/autoSuggestInput/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport Autosuggest, { RenderInputComponentProps } from 'react-autosuggest';\n\nimport styles from './style.module.scss';\nimport { Option } from '../../../models/autoSuggestInput';\nimport { Input, InputProps } from '../index';\n\nexport interface AutoSuggestInputProps {\n currentOption: string;\n suggestions: Option[];\n handleSuggestionSelected: (value: Option) => void;\n onChange: (value: string) => void;\n handleSuggestionFetchRequest: (value: Option) => void;\n handleSuggestionClearRequest: () => void;\n placeholder: string;\n className?: string;\n wrapText?: boolean;\n inputProps?: Omit<RenderInputComponentProps, 'value' | 'onChange'>;\n}\n\nexport const AutoSuggestInput = ({\n currentOption,\n suggestions,\n handleSuggestionSelected,\n onChange,\n handleSuggestionFetchRequest,\n handleSuggestionClearRequest,\n placeholder,\n className,\n wrapText,\n inputProps\n}: AutoSuggestInputProps) => {\n const renderSuggestion = (suggestion: Option) => (\n <div className={`${styles['suggestion-option']}`}>\n {suggestion.leftIcon && (\n <img\n className={`mr16 ${styles['suggestion-img']}`}\n src={suggestion.leftIcon}\n alt={suggestion.value}\n />\n )}\n <div\n className={classNames(styles['suggestion-text'], {\n [styles.nowrap]: !wrapText,\n })}\n >\n {suggestion.value}\n </div>\n </div>\n );\n\n const getSuggestionValue = (suggestion: Option) => suggestion.value;\n\n const renderInputComponent = (autoSuggestInputProps: Omit<InputProps, 'ref'>) => (\n <Input\n {...autoSuggestInputProps}\n placeholder={placeholder}\n data-testid=\"suggest-multi-select-input\"\n />\n );\n\n return (\n <div className={className}>\n <Autosuggest\n theme={styles}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionFetchRequest}\n onSuggestionsClearRequested={handleSuggestionClearRequest}\n getSuggestionValue={getSuggestionValue}\n renderSuggestion={renderSuggestion}\n highlightFirstSuggestion={true}\n inputProps={{\n ...inputProps,\n value: currentOption,\n onChange: (_, { newValue }) => {\n onChange(newValue);\n },\n }}\n onSuggestionSelected={(_, { suggestion }) => {\n handleSuggestionSelected(suggestion);\n }}\n renderInputComponent={renderInputComponent}\n />\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;AAoBO,IAAM,gBAAgB,GAAG,UAAC,EAWT,EAAA;QAVtB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,wBAAwB,GAAA,EAAA,CAAA,wBAAA,EACxB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,4BAA4B,GAAA,EAAA,CAAA,4BAAA,EAC5B,4BAA4B,GAAA,EAAA,CAAA,4BAAA,EAC5B,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,GAAA,EAAA,CAAA,UAAA;IAEV,IAAM,gBAAgB,GAAG,UAAC,UAAkB,EAAA;;QAAK,QAC/CA,cAAK,SAAS,EAAE,UAAG,MAAM,CAAC,mBAAmB,CAAC,CAAE,EAAA,QAAA,EAAA,CAC7C,UAAU,CAAC,QAAQ,KAClBC,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,OAAA,CAAA,MAAA,CAAQ,MAAM,CAAC,gBAAgB,CAAC,CAAE,EAC7C,GAAG,EAAE,UAAU,CAAC,QAAQ,EACxB,GAAG,EAAE,UAAU,CAAC,KAAK,GACrB,CACH,EACDA,aACE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAA,EAAA,GAAA,EAAA;AAC7C,wBAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,CAAC,QAAQ;AAC1B,wBAAA,EAAA,EAAA,EAAA,QAAA,EAED,UAAU,CAAC,KAAK,EAAA,CACb,IACF;AAhByC,IAAA,CAiBhD;IAED,IAAM,kBAAkB,GAAG,UAAC,UAAkB,EAAA,EAAK,OAAA,UAAU,CAAC,KAAK,CAAA,CAAhB,CAAgB;IAEnE,IAAM,oBAAoB,GAAG,UAAC,qBAA8C,IAAK,QAC/EA,IAAC,KAAK,EAAA,QAAA,CAAA,EAAA,EACA,qBAAqB,EAAA,EACzB,WAAW,EAAE,WAAW,EAAA,aAAA,EACZ,4BAA4B,EAAA,CAAA,CACxC,EACH,CANgF,CAMhF;IAED,QACEA,aAAK,SAAS,EAAE,SAAS,EAAA,QAAA,EACvBA,GAAA,CAAC,WAAW,EAAA,EACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,EACxB,2BAA2B,EAAE,4BAA4B,EACzD,2BAA2B,EAAE,4BAA4B,EACzD,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,IAAI,EAC9B,UAAU,wBACL,UAAU,CAAA,EAAA,EACb,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,UAAC,CAAC,EAAE,EAAY,EAAA;AAAV,oBAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA;oBACtB,QAAQ,CAAC,QAAQ,CAAC;AACpB,gBAAA,CAAC,KAEH,oBAAoB,EAAE,UAAC,CAAC,EAAE,EAAc,EAAA;AAAZ,gBAAA,IAAA,UAAU,GAAA,EAAA,CAAA,UAAA;gBACpC,wBAAwB,CAAC,UAAU,CAAC;AACtC,YAAA,CAAC,EACD,oBAAoB,EAAE,oBAAoB,EAAA,CAC1C,EAAA,CACE;AAEV;;;;"}
@@ -0,0 +1,24 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { c as customRender, s as screen } from '../../../customRender-DzdqZxUd.js';
3
+ import { AutoSuggestInput } from './index.js';
4
+ import '../../../tslib.es6-CVlKGIvp.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 '../../../index-BraF21Ae.js';
12
+ import '../../../index-DuaJiEiT.js';
13
+ import '../../../index-hWqCLhoS.js';
14
+ import '../../../style-inject.es-tgCJW-Cu.js';
15
+ import '../index.js';
16
+ import '../../../index-CNcEE5dn.js';
17
+
18
+ describe('AutoSuggestInput', function () {
19
+ it('exposes its input as suggest-multi-select-input', function () {
20
+ customRender(jsx(AutoSuggestInput, { currentOption: "", suggestions: [], handleSuggestionSelected: jest.fn(), onChange: jest.fn(), handleSuggestionFetchRequest: jest.fn(), handleSuggestionClearRequest: jest.fn(), placeholder: "Search countries" }));
21
+ expect(screen.getByTestId('suggest-multi-select-input').tagName).toBe('INPUT');
22
+ });
23
+ });
24
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sources":["../../../../../../src/lib/components/input/autoSuggestInput/index.test.tsx"],"sourcesContent":["import { render, screen } from '../../../util/testUtils';\nimport { AutoSuggestInput } from '.';\n\ndescribe('AutoSuggestInput', () => {\n it('exposes its input as suggest-multi-select-input', () => {\n render(\n <AutoSuggestInput\n currentOption=\"\"\n suggestions={[]}\n handleSuggestionSelected={jest.fn()}\n onChange={jest.fn()}\n handleSuggestionFetchRequest={jest.fn()}\n handleSuggestionClearRequest={jest.fn()}\n placeholder=\"Search countries\"\n />\n );\n\n expect(screen.getByTestId('suggest-multi-select-input').tagName).toBe(\n 'INPUT'\n );\n });\n});\n"],"names":["render","_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAGA,QAAQ,CAAC,kBAAkB,EAAE,YAAA;IAC3B,EAAE,CAAC,iDAAiD,EAAE,YAAA;QACpDA,YAAM,CACJC,IAAC,gBAAgB,EAAA,EACf,aAAa,EAAC,EAAE,EAChB,WAAW,EAAE,EAAE,EACf,wBAAwB,EAAE,IAAI,CAAC,EAAE,EAAE,EACnC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EACnB,4BAA4B,EAAE,IAAI,CAAC,EAAE,EAAE,EACvC,4BAA4B,EAAE,IAAI,CAAC,EAAE,EAAE,EACvC,WAAW,EAAC,kBAAkB,EAAA,CAC9B,CACH;AAED,QAAA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CACnE,OAAO,CACR;AACH,IAAA,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -53,7 +53,7 @@ var Checkbox = function (_a) {
53
53
  'p-label--bordered': bordered,
54
54
  'jc-center': customIcon,
55
55
  'fd-column': customIcon,
56
- }), "data-cy": "checkbox-".concat(currentValue), "data-testid": "checkbox-".concat(currentValue), children: [customIcon && jsx("div", { className: "mt8", children: customIcon === null || customIcon === void 0 ? void 0 : customIcon(checked) }), isCheckboxLabelObject(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));
56
+ }), "data-testid": "checkbox-".concat(currentValue), children: [customIcon && jsx("div", { className: "mt8", children: customIcon === null || customIcon === void 0 ? void 0 : customIcon(checked) }), isCheckboxLabelObject(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));
57
57
  })] }));
58
58
  };
59
59
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/lib/components/input/checkbox/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\nexport interface CheckboxWithDescription {\n title: ReactNode;\n description?: string;\n icon?: (selected: boolean) => ReactNode;\n}\n\nexport interface CheckboxProps<ValueType extends string> {\n options: Record<ValueType, ReactNode | CheckboxWithDescription>;\n value?: ValueType[];\n onChange: (value: ValueType[]) => void;\n wide?: boolean;\n inlineLayout?: boolean;\n bordered?: Boolean;\n classNames?: {\n container?: string;\n label?: string;\n option?: string;\n };\n fieldLegend?: string;\n}\n\nexport const Checkbox = <ValueType extends string>({\n options,\n value = [],\n onChange,\n wide = false,\n inlineLayout = false,\n bordered = true,\n classNames: classNamesObj,\n fieldLegend,\n}: CheckboxProps<ValueType> & {}) => {\n const hasNoneValue = Object.keys(options).includes('NONE');\n\n const handleOnChange = (newValue: ValueType) => {\n if (value?.includes(newValue)) {\n const filteredCheckboxValues = value.filter(\n (selectedValue) => selectedValue !== newValue\n );\n\n onChange(filteredCheckboxValues);\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 ? [...value, newValue] : [newValue];\n onChange(newValues);\n };\n\n const entries = Object.entries(options) as [\n ValueType,\n ReactNode | CheckboxWithDescription\n ][];\n\n const isCheckboxLabelObject = (\n label: ReactNode | CheckboxWithDescription\n ): label is CheckboxWithDescription => {\n return (label as CheckboxWithDescription).title !== undefined;\n };\n\n const legend =\n fieldLegend ??\n (Object.keys(options).length > 1\n ? 'Select one or more options'\n : 'You may select this option');\n\n return (\n <fieldset\n className={classNames(\n classNamesObj?.container,\n styles.container,\n 'd-flex gap8',\n {\n [styles.narrow]: !wide,\n 'fd-row': inlineLayout,\n 'f-wrap': inlineLayout,\n 'fd-column': !inlineLayout,\n }\n )}\n >\n <legend className=\"sr-only\">{legend}</legend>\n {entries.map(([currentValue, label]) => {\n const checked = value?.includes(currentValue);\n const customIcon = (label as CheckboxWithDescription)?.icon;\n\n return (\n <div className={classNamesObj?.option} key={currentValue}>\n <input\n className={classNames('p-checkbox', {\n 'p-checkbox--no-icon': customIcon,\n })}\n id={currentValue}\n type=\"checkbox\"\n value={currentValue}\n onChange={() => handleOnChange(currentValue)}\n checked={checked}\n data-testid={`checkbox-input-${currentValue}`}\n />\n\n <label\n htmlFor={currentValue}\n className={classNames(classNamesObj?.label, 'p-label pr16', {\n 'p-label--bordered': bordered,\n 'jc-center': customIcon,\n 'fd-column': customIcon,\n })}\n data-cy={`checkbox-${currentValue}`}\n data-testid={`checkbox-${currentValue}`}\n >\n {customIcon && <div className=\"mt8\">{customIcon?.(checked)}</div>}\n\n {isCheckboxLabelObject(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/checkbox/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\nexport interface CheckboxWithDescription {\n title: ReactNode;\n description?: string;\n icon?: (selected: boolean) => ReactNode;\n}\n\nexport interface CheckboxProps<ValueType extends string> {\n options: Record<ValueType, ReactNode | CheckboxWithDescription>;\n value?: ValueType[];\n onChange: (value: ValueType[]) => void;\n wide?: boolean;\n inlineLayout?: boolean;\n bordered?: Boolean;\n classNames?: {\n container?: string;\n label?: string;\n option?: string;\n };\n fieldLegend?: string;\n}\n\nexport const Checkbox = <ValueType extends string>({\n options,\n value = [],\n onChange,\n wide = false,\n inlineLayout = false,\n bordered = true,\n classNames: classNamesObj,\n fieldLegend,\n}: CheckboxProps<ValueType> & {}) => {\n const hasNoneValue = Object.keys(options).includes('NONE');\n\n const handleOnChange = (newValue: ValueType) => {\n if (value?.includes(newValue)) {\n const filteredCheckboxValues = value.filter(\n (selectedValue) => selectedValue !== newValue\n );\n\n onChange(filteredCheckboxValues);\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 ? [...value, newValue] : [newValue];\n onChange(newValues);\n };\n\n const entries = Object.entries(options) as [\n ValueType,\n ReactNode | CheckboxWithDescription\n ][];\n\n const isCheckboxLabelObject = (\n label: ReactNode | CheckboxWithDescription\n ): label is CheckboxWithDescription => {\n return (label as CheckboxWithDescription).title !== undefined;\n };\n\n const legend =\n fieldLegend ??\n (Object.keys(options).length > 1\n ? 'Select one or more options'\n : 'You may select this option');\n\n return (\n <fieldset\n className={classNames(\n classNamesObj?.container,\n styles.container,\n 'd-flex gap8',\n {\n [styles.narrow]: !wide,\n 'fd-row': inlineLayout,\n 'f-wrap': inlineLayout,\n 'fd-column': !inlineLayout,\n }\n )}\n >\n <legend className=\"sr-only\">{legend}</legend>\n {entries.map(([currentValue, label]) => {\n const checked = value?.includes(currentValue);\n const customIcon = (label as CheckboxWithDescription)?.icon;\n\n return (\n <div className={classNamesObj?.option} key={currentValue}>\n <input\n className={classNames('p-checkbox', {\n 'p-checkbox--no-icon': customIcon,\n })}\n id={currentValue}\n type=\"checkbox\"\n value={currentValue}\n onChange={() => handleOnChange(currentValue)}\n checked={checked}\n data-testid={`checkbox-input-${currentValue}`}\n />\n\n <label\n htmlFor={currentValue}\n className={classNames(classNamesObj?.label, 'p-label pr16', {\n 'p-label--bordered': bordered,\n 'jc-center': customIcon,\n 'fd-column': customIcon,\n })}\n data-testid={`checkbox-${currentValue}`}\n >\n {customIcon && <div className=\"mt8\">{customIcon?.(checked)}</div>}\n\n {isCheckboxLabelObject(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":";;;;;;;;;;AAyBO,IAAM,QAAQ,GAAG,UAA2B,EASnB,EAAA;;AAR9B,IAAA,IAAA,OAAO,aAAA,EACP,EAAA,GAAA,EAAA,CAAA,KAAU,EAAV,KAAK,mBAAG,EAAE,GAAA,EAAA,EACV,QAAQ,cAAA,EACR,EAAA,GAAA,EAAA,CAAA,IAAY,EAAZ,IAAI,mBAAG,KAAK,GAAA,EAAA,EACZ,EAAA,GAAA,EAAA,CAAA,YAAoB,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,WAAW,GAAA,EAAA,CAAA,WAAA;AAEX,IAAA,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAE1D,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,sBAAsB,GAAG,KAAK,CAAC,MAAM,CACzC,UAAC,aAAa,EAAA,EAAK,OAAA,aAAa,KAAK,QAAQ,CAAA,CAA1B,CAA0B,CAC9C;YAED,QAAQ,CAAC,sBAAsB,CAAC;YAChC;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;AAEA,QAAA,IAAM,SAAS,GAAG,KAAK,GAAE,aAAA,CAAA,aAAA,CAAA,EAAA,EAAK,KAAK,EAAA,IAAA,CAAA,EAAA,CAAE,QAAQ,YAAI,CAAC,QAAQ,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC;AACrB,IAAA,CAAC;IAED,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAGnC;IAEH,IAAM,qBAAqB,GAAG,UAC5B,KAA0C,EAAA;AAE1C,QAAA,OAAQ,KAAiC,CAAC,KAAK,KAAK,SAAS;AAC/D,IAAA,CAAC;AAED,IAAA,IAAM,MAAM,GACV,WAAW,aAAX,WAAW,KAAA,MAAA,GAAX,WAAW,IACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG;AAC7B,UAAE;UACA,4BAA4B,CAAC;AAEnC,IAAA,QACEA,IAAA,CAAA,UAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,SAAS,EACxB,MAAM,CAAC,SAAS,EAChB,aAAa,GAAA,EAAA,GAAA,EAAA;AAEX,YAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,CAAC,IAAI;AACtB,YAAA,EAAA,CAAA,QAAA,CAAQ,GAAE,YAAY;AACtB,YAAA,EAAA,CAAA,QAAA,CAAQ,GAAE,YAAY;YACtB,EAAA,CAAA,WAAA,CAAW,GAAE,CAAC,YAAY;AAE7B,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,SAAS,EAAA,QAAA,EAAE,MAAM,EAAA,CAAU,EAC5C,OAAO,CAAC,GAAG,CAAC,UAAC,EAAqB,EAAA;oBAApB,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA;AAChC,gBAAA,IAAM,OAAO,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,QAAQ,CAAC,YAAY,CAAC;gBAC7C,IAAM,UAAU,GAAI,KAAiC,KAAA,IAAA,IAAjC,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAA8B,IAAI;AAE3D,gBAAA,QACED,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,MAAM,aACnCC,GAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE;AAClC,gCAAA,qBAAqB,EAAE,UAAU;6BAClC,CAAC,EACF,EAAE,EAAE,YAAY,EAChB,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,YAAA,EAAM,OAAA,cAAc,CAAC,YAAY,CAAC,CAAA,CAA5B,CAA4B,EAC5C,OAAO,EAAE,OAAO,EAAA,aAAA,EACH,iBAAA,CAAA,MAAA,CAAkB,YAAY,CAAE,EAAA,CAC7C,EAEFD,IAAA,CAAA,OAAA,EAAA,EACE,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,UAAU,CAAC,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE;AAC1D,gCAAA,mBAAmB,EAAE,QAAQ;AAC7B,gCAAA,WAAW,EAAE,UAAU;AACvB,gCAAA,WAAW,EAAE,UAAU;AACxB,6BAAA,CAAC,EAAA,aAAA,EACW,WAAA,CAAA,MAAA,CAAY,YAAY,CAAE,EAAA,QAAA,EAAA,CAEtC,UAAU,IAAIC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,KAAK,EAAA,QAAA,EAAE,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,MAAA,GAAA,MAAA,GAAV,UAAU,CAAG,OAAO,CAAC,EAAA,CAAO,EAEhE,qBAAqB,CAAC,KAAK,CAAC,IAC3BD,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,KAAK,EAAA,QAAA,EAAE,KAAK,CAAC,KAAK,EAAA,CAAK,EACpCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uCAAuC,YACpD,KAAK,CAAC,WAAW,EAAA,CACb,CAAA,EAAA,CACH,KAEN,KAAK,CACN,CAAA,EAAA,CACK,CAAA,EAAA,EAlCkC,YAAY,CAmClD;YAEV,CAAC,CAAC,CAAA,EAAA,CACO;AAEf;;;;"}
@@ -34,7 +34,7 @@ var Radio = function (_a) {
34
34
  'jc-center': customIcon && !inlineIcon,
35
35
  'fd-column': customIcon && !inlineIcon,
36
36
  'p-label--bordered': bordered,
37
- }), "data-cy": "radio-".concat(currentValue), "data-testid": "radio-".concat(currentValue), children: [customIcon && (jsx("div", { className: classNames('d-inline-flex ai-center jc-center', inlineIcon ? 'mr8' : 'mt8'), children: customIcon === null || customIcon === void 0 ? void 0 : customIcon(checked) })), isRadioLabelObject(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));
37
+ }), "data-testid": "radio-".concat(currentValue), children: [customIcon && (jsx("div", { className: classNames('d-inline-flex ai-center jc-center', inlineIcon ? 'mr8' : 'mt8'), children: customIcon === null || customIcon === void 0 ? void 0 : customIcon(checked) })), isRadioLabelObject(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));
38
38
  })] }));
39
39
  };
40
40
 
@@ -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":";;;;;;;;;;AA8BO,IAAM,KAAK,GAAG,UAA2B,EAYxB,EAAA;;QAXtB,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAA,GAAA,EAAA,CAAA,IAAY,EAAZ,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,EACZ,EAAA,GAAA,EAAA,CAAA,YAAoB,EAApB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,UAAkB,EAAlB,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,KAAA,EACN,aAAa,GAAA,EAAA,CAAA,UAAA,EACzB,EAAA,GAAA,EAAA,CAAA,QAAe,EAAf,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACf,EAAA,GAAA,EAAA,CAAA,QAAgB,EAAhB,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,EAChB,EAAA,GAAA,EAAA,CAAA,WAAgC,EAAhC,WAAW,GAAA,EAAA,KAAA,MAAA,GAAG,kBAAkB,GAAA,EAAA,EAChC,SAAS,GAAA,EAAA,CAAA,SAAA;IAET,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAGnC;IAEH,IAAM,IAAI,GAAG,SAAS,KAAA,IAAA,IAAT,SAAS,cAAT,SAAS,GAAI,UAAU,EAAE;AAEtC,IAAA,QACEA,IAAA,CAAA,UAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,SAAS,EACxB,MAAM,CAAC,SAAS,EAChB,aAAa,GAAA,EAAA,GAAA,EAAA;AAEX,YAAA,EAAA,CAAC,MAAM,CAAC,IAAI,CAAA,GAAG,IAAI;AACnB,YAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,CAAC,IAAI;AACtB,YAAA,EAAA,CAAA,QAAA,CAAQ,GAAE,YAAY;AACtB,YAAA,EAAA,CAAA,QAAA,CAAQ,GAAE,YAAY;YACtB,EAAA,CAAA,WAAA,CAAW,GAAE,CAAC,YAAY;AAE7B,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,SAAS,EAAA,QAAA,EAAE,WAAW,EAAA,CAAU,EACjD,OAAO,CAAC,GAAG,CAAC,UAAC,EAAqB,EAAA;oBAApB,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA;AAChC,gBAAA,IAAM,OAAO,GAAG,KAAK,KAAK,YAAY;gBACtC,IAAM,UAAU,GAAI,KAA8B,KAAA,IAAA,IAA9B,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAA2B,IAAI;gBACxD,IAAM,QAAQ,GAAI,KAA8B,KAAA,IAAA,IAA9B,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAA2B,OAAO;gBAEzD,IAAM,kBAAkB,GAAG,UACzB,KAAuC,EAAA;AAEvC,oBAAA,OAAQ,KAA8B,CAAC,KAAK,KAAK,SAAS;AAC5D,gBAAA,CAAC;AAED,gBAAA,QACED,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,MAAM,aACnCC,GAAA,CAAA,OAAA,EAAA,EACE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;gCAC/B,kBAAkB,EAAE,UAAU,IAAI,QAAQ;gCAC1C,mBAAmB,EAAE,CAAC,KAAK;6BAC5B,CAAC,EACF,EAAE,EAAE,YAAY,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,YAAA,EAAM,OAAA,QAAQ,CAAC,YAAY,CAAC,CAAA,CAAtB,CAAsB,EACtC,OAAO,EAAE,OAAO,EAAA,aAAA,EACH,cAAA,CAAA,MAAA,CAAe,YAAY,CAAE,EAC1C,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EAAA,CACV,EAEFD,IAAA,CAAA,OAAA,EAAA,EACE,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,UAAU,CAAC,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,MAAA,GAAA,MAAA,GAAb,aAAa,CAAE,KAAK,EAAE,SAAS,EAAE;AACrD,gCAAA,WAAW,EAAE,UAAU,IAAI,CAAC,UAAU;AACtC,gCAAA,WAAW,EAAE,UAAU,IAAI,CAAC,UAAU;AACtC,gCAAA,mBAAmB,EAAE,QAAQ;AAC9B,6BAAA,CAAC,aACO,QAAA,CAAA,MAAA,CAAS,YAAY,CAAE,EAAA,aAAA,EACnB,gBAAS,YAAY,CAAE,EAAA,QAAA,EAAA,CAEnC,UAAU,KACTC,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,mCAAmC,EACnC,UAAU,GAAG,KAAK,GAAG,KAAK,CAC3B,EAAA,QAAA,EAEA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,MAAA,GAAA,MAAA,GAAV,UAAU,CAAG,OAAO,CAAC,GAClB,CACP,EAEA,kBAAkB,CAAC,KAAK,CAAC,IACxBD,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACEC,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,KAAK,EAAA,QAAA,EAAE,KAAK,CAAC,KAAK,EAAA,CAAK,EACpCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uCAAuC,YACpD,KAAK,CAAC,WAAW,EAAA,CACb,CAAA,EAAA,CACH,KAEN,KAAK,CACN,CAAA,EAAA,CACK,KA/CkC,YAAY,CAgDlD;YAEV,CAAC,CAAC,CAAA,EAAA,CACO;AAEf;;;;"}
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":"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"}
@@ -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":"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"}
@@ -14,8 +14,8 @@ 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), "data-testid": dataTestId, children: jsxs("button", { className: classNames('w100 wmx5', styles.buttonCell, (_b = {},
19
19
  _b[styles.selected] = isSelected,
20
20
  _b[styles.disabled] = disabled,
21
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 })))] }) }));
@@ -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 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":";;;;;;;;;;;;;;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,aAAA,EACY,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;;;;"}
@@ -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.28",
3
+ "version": "0.66.30",
4
4
  "author": "Vincent Audoire <vincent@getpopsure.com>",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -24,7 +24,13 @@ const setup = (
24
24
  );
25
25
  };
26
26
 
27
- const inputTestId = 'ds-input-input';
27
+ const addressFieldTestIds = [
28
+ 'autocomplete',
29
+ 'autocomplete-house-number',
30
+ 'autocomplete-additional-info',
31
+ 'autocomplete-postcode',
32
+ 'autocomplete-city',
33
+ ];
28
34
 
29
35
  describe('AutocompleteAddress component', () => {
30
36
  it('Should show all address fields once a search is completed', async () => {
@@ -55,30 +61,30 @@ describe('AutocompleteAddress component', () => {
55
61
  }
56
62
  };
57
63
 
58
- const { getAllByTestId, getByDisplayValue, getByTestId } = setup();
64
+ const { getByDisplayValue, getByTestId } = setup();
59
65
 
60
- fireEvent.change(getByTestId(inputTestId), {
66
+ fireEvent.change(getByTestId('autocomplete'), {
61
67
  target: { value: 'Köpeniker' },
62
68
  });
63
69
 
64
- expect(getAllByTestId(inputTestId).length).toEqual(5);
70
+ addressFieldTestIds.forEach((testId) =>
71
+ expect(getByTestId(testId)).toBeInTheDocument()
72
+ );
65
73
  expect(getByDisplayValue('Köpeniker Strasse')).toBeVisible();
66
74
  });
67
75
 
68
76
  it('Should enable to enter the address manually', async () => {
69
77
  const callback = jest.fn();
70
- const { findByText, getAllByTestId, user } = setup(undefined, callback);
78
+ const { findByText, getByTestId, user } = setup(undefined, callback);
71
79
  const btn = await findByText('enter address manually');
72
80
 
73
81
  await user.click(btn);
74
82
 
75
83
  // fill out all fields
76
- const inputs = getAllByTestId(inputTestId);
77
-
78
- await user.type(inputs[0], 'Köpeniker Strasse');
79
- await user.type(inputs[1], '4000');
80
- await user.type(inputs[3], '10179');
81
- await user.type(inputs[4], 'Berlin');
84
+ await user.type(getByTestId('autocomplete'), 'Köpeniker Strasse');
85
+ await user.type(getByTestId('autocomplete-house-number'), '4000');
86
+ await user.type(getByTestId('autocomplete-postcode'), '10179');
87
+ await user.type(getByTestId('autocomplete-city'), 'Berlin');
82
88
 
83
89
  // callback should be called with a complete address
84
90
  expect(callback).toHaveBeenCalledWith(address);
@@ -264,7 +264,7 @@ const AutocompleteAddress = ({
264
264
  className="w100"
265
265
  id="autocomplete"
266
266
  key="autocomplete-search"
267
- data-cy="autocomplete"
267
+ data-testid="autocomplete"
268
268
  type="text"
269
269
  placeholder={
270
270
  placeholders?.manualAddressEntry || 'Search for address'
@@ -274,7 +274,7 @@ const AutocompleteAddress = ({
274
274
  />
275
275
  {hasLoadedGoogleAPI === false && (
276
276
  <div
277
- data-cy="google-api-loader"
277
+ data-testid="google-api-loader"
278
278
  className={styles['loading-spinner']}
279
279
  >
280
280
  <div className="ds-spinner ds-spinner__m" />
@@ -286,7 +286,7 @@ const AutocompleteAddress = ({
286
286
  <div className={`d-flex c-gap16 ${styles['input-line']}`}>
287
287
  <Input
288
288
  className="w100"
289
- data-cy="autocomplete"
289
+ data-testid="autocomplete"
290
290
  key="autocomplete-street"
291
291
  type="text"
292
292
  placeholder={placeholders?.street || 'Street'}
@@ -297,7 +297,7 @@ const AutocompleteAddress = ({
297
297
  />
298
298
  <Input
299
299
  className={`wmx2 ${styles['house-number-input']}`}
300
- data-cy="autocomplete-house-number"
300
+ data-testid="autocomplete-house-number"
301
301
  key="autocomplete-house-number"
302
302
  placeholder={placeholders?.houseNumber || 'House number'}
303
303
  value={address?.houseNumber || ''}
@@ -308,7 +308,7 @@ const AutocompleteAddress = ({
308
308
  </div>
309
309
  <Input
310
310
  className="mt16"
311
- data-cy="autocomplete-additional-info"
311
+ data-testid="autocomplete-additional-info"
312
312
  key="autocomplete-additional-info"
313
313
  placeholder={
314
314
  placeholders?.additionalInformation ||
@@ -322,7 +322,7 @@ const AutocompleteAddress = ({
322
322
  <div className={`d-flex mt16 c-gap16 ${styles['input-line']}`}>
323
323
  <Input
324
324
  className="w100"
325
- data-cy="autocomplete-postcode"
325
+ data-testid="autocomplete-postcode"
326
326
  key="autocomplete-postcode"
327
327
  placeholder={placeholders?.postcode || 'Postcode'}
328
328
  value={address?.postcode || ''}
@@ -332,7 +332,7 @@ const AutocompleteAddress = ({
332
332
  />
333
333
  <Input
334
334
  className="w100"
335
- data-cy="autocomplete-city"
335
+ data-testid="autocomplete-city"
336
336
  key="autocomplete-city"
337
337
  placeholder={placeholders?.city || 'City'}
338
338
  value={address?.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,
@@ -0,0 +1,22 @@
1
+ import { fireEvent, render, screen } from '../../util/testUtils';
2
+ import { DownloadButton } from '.';
3
+
4
+ describe('DownloadButton', () => {
5
+ it.each(['INITIAL', 'FAILED'] as const)(
6
+ 'exposes the %s download button as download-documents-button',
7
+ (downloadStatus) => {
8
+ const onDownload = jest.fn();
9
+
10
+ render(
11
+ <DownloadButton
12
+ downloadStatus={downloadStatus}
13
+ onDownload={onDownload}
14
+ />
15
+ );
16
+
17
+ fireEvent.click(screen.getByTestId('download-documents-button'));
18
+
19
+ expect(onDownload).toHaveBeenCalledTimes(1);
20
+ }
21
+ );
22
+ });
@@ -15,7 +15,7 @@ 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"
18
+ data-testid="download-documents-button"
19
19
  >
20
20
  Download
21
21
  </Button>