@proprioo/salatim 19.9.2 → 20.2.0

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 (48) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/forms/index.d.ts +1 -1
  3. package/lib/forms/index.js.map +1 -1
  4. package/lib/forms/src/userForm/UserForm.schema.js +2 -2
  5. package/lib/forms/src/userForm/UserForm.schema.js.map +1 -1
  6. package/lib/index.js +255 -217
  7. package/lib/index.js.map +1 -1
  8. package/lib/ui/index.d.ts +1 -0
  9. package/lib/ui/index.js +4 -2
  10. package/lib/ui/index.js.map +1 -1
  11. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.d.ts +11 -0
  12. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.js +17 -0
  13. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.js.map +1 -0
  14. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.stories.d.ts +1 -0
  15. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.stories.js +43 -0
  16. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.stories.js.map +1 -0
  17. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.styles.d.ts +4 -0
  18. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.styles.js +79 -0
  19. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.styles.js.map +1 -0
  20. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.test.d.ts +1 -0
  21. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.test.js +79 -0
  22. package/lib/ui/src/blockCheckIcon/BlockCheckIcon.test.js.map +1 -0
  23. package/lib/ui/src/blockIcon/BlockIcon.d.ts +6 -4
  24. package/lib/ui/src/blockIcon/BlockIcon.js +7 -7
  25. package/lib/ui/src/blockIcon/BlockIcon.js.map +1 -1
  26. package/lib/ui/src/blockIcon/BlockIcon.stories.js +5 -3
  27. package/lib/ui/src/blockIcon/BlockIcon.stories.js.map +1 -1
  28. package/lib/ui/src/blockIcon/BlockIcon.styles.d.ts +4 -4
  29. package/lib/ui/src/blockIcon/BlockIcon.styles.js +27 -34
  30. package/lib/ui/src/blockIcon/BlockIcon.styles.js.map +1 -1
  31. package/lib/ui/src/blockIcon/BlockIcon.test.js +10 -7
  32. package/lib/ui/src/blockIcon/BlockIcon.test.js.map +1 -1
  33. package/lib/ui/src/card/Card.js +5 -10
  34. package/lib/ui/src/card/Card.js.map +1 -1
  35. package/lib/ui/src/card/Card.stories.js +2 -1
  36. package/lib/ui/src/card/Card.stories.js.map +1 -1
  37. package/lib/ui/src/card/Card.test.js +8 -2
  38. package/lib/ui/src/card/Card.test.js.map +1 -1
  39. package/lib/ui/src/radio/Radio.js +2 -2
  40. package/lib/ui/src/radio/Radio.js.map +1 -1
  41. package/lib/ui/src/radio/Radio.stories.js +8 -35
  42. package/lib/ui/src/radio/Radio.stories.js.map +1 -1
  43. package/lib/ui/src/radio/Radio.styles.d.ts +2 -2
  44. package/lib/ui/src/radio/Radio.styles.js +35 -34
  45. package/lib/ui/src/radio/Radio.styles.js.map +1 -1
  46. package/lib/ui/src/radio/Radio.test.js +8 -1
  47. package/lib/ui/src/radio/Radio.test.js.map +1 -1
  48. package/package.json +1 -3
package/lib/ui/index.d.ts CHANGED
@@ -13,6 +13,7 @@ export { default as Block, BlockProps } from './src/block/Block';
13
13
  export { default as Burger, BurgerProps } from './src/burger/Burger';
14
14
  export { default as Button } from './src/button/Button';
15
15
  export { default as ButtonRadioGroup, ButtonRadioGroupProps } from './src/buttonRadioGroup/ButtonRadioGroup';
16
+ export { default as BlockCheckIcon } from './src/blockCheckIcon/BlockCheckIcon';
16
17
  export { default as BlockIcon } from './src/blockIcon/BlockIcon';
17
18
  export { default as Card, CardProps } from './src/card/Card';
18
19
  export { ButtonAppearance, ButtonColors, ButtonProps, ButtonSizes, IconPosition } from './src/button/Button.interfaces';
package/lib/ui/index.js CHANGED
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TagAppearance = exports.Subtitle = exports.Option = exports.Toggle = exports.titles = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Radio = exports.NumberInput = exports.Loader = exports.InputLoading = exports.InputColors = exports.Input = exports.InputType = exports.Logo = exports.PanelOrientation = exports.PanelColorsTypes = exports.Panel = exports.useModal = exports.GmapsGeocode = exports.GmapsAutocomplete = exports.Fieldset = exports.EmailInput = exports.isValidDate = exports.DateInput = exports.Checkbox = exports.IconPosition = exports.ButtonSizes = exports.ButtonColors = exports.ButtonAppearance = exports.Card = exports.BlockIcon = exports.ButtonRadioGroup = exports.Button = exports.Burger = exports.Block = exports.Autocomplete = exports.AgentCard = exports.AgentBanner = exports.AccordionPanel = exports.AccordionHeader = exports.AccordionItem = exports.Accordion = exports.AccordionItemColors = exports.geocodeByAddress = exports.PlacesAutocomplete = void 0;
7
- exports.ShowMoreTextToggleButton = exports.fontStyleOptions = exports.ShowMoreTextToggle = exports.Select = exports.Tooltip = exports.Textarea = exports.TagBase = exports.Tag = exports.TagColorsTypes = void 0;
6
+ exports.Subtitle = exports.Option = exports.Toggle = exports.titles = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Radio = exports.NumberInput = exports.Loader = exports.InputLoading = exports.InputColors = exports.Input = exports.InputType = exports.Logo = exports.PanelOrientation = exports.PanelColorsTypes = exports.Panel = exports.useModal = exports.GmapsGeocode = exports.GmapsAutocomplete = exports.Fieldset = exports.EmailInput = exports.isValidDate = exports.DateInput = exports.Checkbox = exports.IconPosition = exports.ButtonSizes = exports.ButtonColors = exports.ButtonAppearance = exports.Card = exports.BlockIcon = exports.BlockCheckIcon = exports.ButtonRadioGroup = exports.Button = exports.Burger = exports.Block = exports.Autocomplete = exports.AgentCard = exports.AgentBanner = exports.AccordionPanel = exports.AccordionHeader = exports.AccordionItem = exports.Accordion = exports.AccordionItemColors = exports.geocodeByAddress = exports.PlacesAutocomplete = void 0;
7
+ exports.ShowMoreTextToggleButton = exports.fontStyleOptions = exports.ShowMoreTextToggle = exports.Select = exports.Tooltip = exports.Textarea = exports.TagBase = exports.Tag = exports.TagColorsTypes = exports.TagAppearance = void 0;
8
8
  var react_places_autocomplete_1 = require("react-places-autocomplete");
9
9
  Object.defineProperty(exports, "PlacesAutocomplete", { enumerable: true, get: function () { return __importDefault(react_places_autocomplete_1).default; } });
10
10
  Object.defineProperty(exports, "geocodeByAddress", { enumerable: true, get: function () { return react_places_autocomplete_1.geocodeByAddress; } });
@@ -32,6 +32,8 @@ var Button_1 = require("./src/button/Button");
32
32
  Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(Button_1).default; } });
33
33
  var ButtonRadioGroup_1 = require("./src/buttonRadioGroup/ButtonRadioGroup");
34
34
  Object.defineProperty(exports, "ButtonRadioGroup", { enumerable: true, get: function () { return __importDefault(ButtonRadioGroup_1).default; } });
35
+ var BlockCheckIcon_1 = require("./src/blockCheckIcon/BlockCheckIcon");
36
+ Object.defineProperty(exports, "BlockCheckIcon", { enumerable: true, get: function () { return __importDefault(BlockCheckIcon_1).default; } });
35
37
  var BlockIcon_1 = require("./src/blockIcon/BlockIcon");
36
38
  Object.defineProperty(exports, "BlockIcon", { enumerable: true, get: function () { return __importDefault(BlockIcon_1).default; } });
37
39
  var Card_1 = require("./src/card/Card");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/ui/index.ts"],"names":[],"mappings":";;;;;;;AACA,uEAImC;AAHjC,gJAAA,OAAO,OAAsB;AAE7B,6HAAA,gBAAgB,OAAA;AAGlB,6EAK8C;AAF5C,2HAAA,mBAAmB,OAAA;AAGrB,uDAAiE;AAAxD,uHAAA,OAAO,OAAa;AAC7B,+DAAyE;AAAhE,+HAAA,OAAO,OAAiB;AACjC,mEAA6E;AAApE,mIAAA,OAAO,OAAmB;AACnC,iEAA2E;AAAlE,iIAAA,OAAO,OAAkB;AAClC,6DAAuE;AAA9D,2HAAA,OAAO,OAAe;AAC/B,uDAAiE;AAAxD,uHAAA,OAAO,OAAa;AAC7B,gEAA0E;AAAjE,6HAAA,OAAO,OAAgB;AAChC,2CAAiE;AAAxD,+GAAA,OAAO,OAAS;AACzB,8CAAqE;AAA5D,iHAAA,OAAO,OAAU;AAC1B,8CAAwD;AAA/C,iHAAA,OAAO,OAAU;AAC1B,4EAGiD;AAF/C,qIAAA,OAAO,OAAoB;AAG7B,uDAAiE;AAAxD,uHAAA,OAAO,OAAa;AAC7B,wCAA6D;AAApD,6GAAA,OAAO,OAAQ;AACxB,oEAMwC;AALtC,qHAAA,gBAAgB,OAAA;AAChB,iHAAA,YAAY,OAAA;AAEZ,gHAAA,WAAW,OAAA;AACX,iHAAA,YAAY,OAAA;AAEd,oDAA8D;AAArD,qHAAA,OAAO,OAAY;AAC5B,uDAA8E;AAArE,uHAAA,OAAO,OAAa;AAAE,wGAAA,WAAW,OAAA;AAC1C,0DAAoE;AAA3D,yHAAA,OAAO,OAAc;AAK9B,oDAA6E;AAApE,qHAAA,OAAO,OAAY;AAC5B,+EAGmD;AAFjD,uIAAA,OAAO,OAAqB;AAG9B,gEAGyC;AAFvC,6HAAA,OAAO,OAAgB;AAGzB,2CAI2B;AAHzB,kHAAA,OAAO,OAAY;AAIrB,2CAAqD;AAA5C,+GAAA,OAAO,OAAS;AACzB,iEAIsC;AAFpC,oHAAA,gBAAgB,OAAA;AAChB,oHAAA,gBAAgB,OAAA;AAGlB,wCAAkD;AAAzC,6GAAA,OAAO,OAAQ;AACxB,2CAA8C;AAArC,kGAAA,SAAS,OAAA;AAClB,uDAImC;AAHjC,mHAAA,OAAO,OAAS;AAIlB,+DAA4D;AAAnD,4GAAA,WAAW,OAAA;AACpB,gEAA0E;AAAjE,6HAAA,OAAO,OAAgB;AAChC,8CAAqE;AAA5D,iHAAA,OAAO,OAAU;AAC1B,6DAAuE;AAA9D,2HAAA,OAAO,OAAe;AAC/B,2CAAqD;AAA5C,+GAAA,OAAO,OAAS;AACzB,qCAA+C;AAAtC,yGAAA,OAAO,OAAM;AACtB,qCAA+C;AAAtC,yGAAA,OAAO,OAAM;AACtB,qCAA+C;AAAtC,yGAAA,OAAO,OAAM;AACtB,qCAA+C;AAAtC,yGAAA,OAAO,OAAM;AACtB,qCAA+C;AAAtC,yGAAA,OAAO,OAAM;AACtB,qCAA+C;AAAtC,yGAAA,OAAO,OAAM;AACtB,2CAA2C;AAAlC,+FAAA,MAAM,OAAA;AACf,8CAAqE;AAA5D,iHAAA,OAAO,OAAU;AAC1B,8CAAqE;AAA5D,iHAAA,OAAO,OAAU;AAC1B,oDAA6E;AAApE,qHAAA,OAAO,OAAY;AAC5B,mDAA+E;AAAtE,2GAAA,aAAa,OAAA;AAAE,4GAAA,cAAc,OAAA;AACtC,qCAA+C;AAAtC,2GAAA,OAAO,OAAO;AACvB,mDAA+C;AAAtC,qGAAA,OAAO,OAAA;AAChB,oDAA8D;AAArD,qHAAA,OAAO,OAAY;AAC5B,iDAA2D;AAAlD,mHAAA,OAAO,OAAW;AAC3B,mEAG2C;AAFzC,wHAAA,OAAO,OAAU;AAGnB,kFAGqD;AAFnD,yIAAA,OAAO,OAAsB;AAC7B,sHAAA,gBAAgB,OAAA;AAElB,gGAAwG;AAA/F,qIAAA,MAAM,OAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/ui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { FC, ReactElement } from 'react';
2
+ export interface BlockCheckIconProps {
3
+ checked: boolean;
4
+ text: string;
5
+ name: string;
6
+ onClick(value: boolean): void;
7
+ dataTest?: string;
8
+ image?: ReactElement;
9
+ }
10
+ declare const BlockCheckIcon: FC<BlockCheckIconProps>;
11
+ export default BlockCheckIcon;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const BlockIcon_styles_1 = require("../blockIcon/BlockIcon.styles");
8
+ const BlockCheckIcon_styles_1 = require("./BlockCheckIcon.styles");
9
+ const BlockCheckIcon = ({ onClick, image, checked, name, text, dataTest }) => {
10
+ const labelId = `checkbox-input-label-${text}`;
11
+ return (react_1.default.createElement(BlockCheckIcon_styles_1.Layout, Object.assign({}, { checked }, { "data-test": dataTest || `checkbox-button-${text}` }),
12
+ react_1.default.createElement(BlockIcon_styles_1.InputLayout, Object.assign({}, name, { type: "checkbox", "aria-labelledby": labelId, checked: checked, onChange: event => onClick(event.target.checked) })),
13
+ react_1.default.createElement(BlockCheckIcon_styles_1.IconLayout, null, image),
14
+ react_1.default.createElement("span", { id: labelId }, text)));
15
+ };
16
+ exports.default = BlockCheckIcon;
17
+ //# sourceMappingURL=BlockCheckIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockCheckIcon.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockCheckIcon/BlockCheckIcon.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAgD;AAEhD,oEAA4D;AAC5D,mEAA6D;AAW7D,MAAM,cAAc,GAA4B,CAAC,EAC/C,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,wBAAwB,IAAI,EAAE,CAAC;IAE/C,OAAO,CACL,8BAAC,8BAAM,oBAAK,EAAE,OAAO,EAAE,iBAAa,QAAQ,IAAI,mBAAmB,IAAI,EAAE;QACvE,8BAAC,8BAAW,oBACN,IAAI,IACR,IAAI,EAAC,UAAU,qBACE,OAAO,EACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAChD;QACF,8BAAC,kCAAU,QAAE,KAAK,CAAc;QAChC,wCAAM,EAAE,EAAE,OAAO,IAAG,IAAI,CAAQ,CACzB,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const react_1 = __importStar(require("react"));
26
+ const storybook_state_1 = require("@sambego/storybook-state");
27
+ const react_2 = require("@storybook/react");
28
+ const utils_1 = require("../../../utils");
29
+ const icons_1 = __importDefault(require("../icons"));
30
+ const BlockCheckIcon_1 = __importDefault(require("./BlockCheckIcon"));
31
+ const propertyState = new storybook_state_1.Store({
32
+ isFlat: false,
33
+ isHouse: false
34
+ });
35
+ const { Arrow } = icons_1.default;
36
+ (0, react_2.storiesOf)('BlockCheckIcon', module).add('BlockCheckIcon', () => {
37
+ return (react_1.default.createElement(react_1.Fragment, null,
38
+ react_1.default.createElement(storybook_state_1.State, { store: propertyState }, state => (react_1.default.createElement(utils_1.Line, null,
39
+ react_1.default.createElement(utils_1.Row, null,
40
+ react_1.default.createElement(BlockCheckIcon_1.default, { dataTest: "data-test", key: "block-flat", image: react_1.default.createElement(Arrow, null), text: "Appartement", name: 'flat', checked: state.isFlat, onClick: isFlat => propertyState.set({ isFlat }) }),
41
+ react_1.default.createElement(BlockCheckIcon_1.default, { dataTest: "data-test", key: "block-house", image: react_1.default.createElement(Arrow, null), text: "Maison", name: 'house', checked: state.isHouse, onClick: isHouse => propertyState.set({ isHouse }) })))))));
42
+ });
43
+ //# sourceMappingURL=BlockCheckIcon.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockCheckIcon.stories.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockCheckIcon/BlockCheckIcon.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwC;AAExC,8DAAwD;AACxD,4CAA6C;AAE7C,0CAA2C;AAC3C,qDAA6B;AAC7B,sEAA8C;AAE9C,MAAM,aAAa,GAAG,IAAI,uBAAK,CAAC;IAC9B,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC,CAAC;AAEH,MAAM,EAAE,KAAK,EAAE,GAAG,eAAK,CAAC;AAExB,IAAA,iBAAS,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC7D,OAAO,CACL,8BAAC,gBAAQ;QACP,8BAAC,uBAAK,IAAC,KAAK,EAAE,aAAa,IACxB,KAAK,CAAC,EAAE,CAAC,CACR,8BAAC,YAAI;YACH,8BAAC,WAAG;gBACF,8BAAC,wBAAc,IACb,QAAQ,EAAC,WAAW,EACpB,GAAG,EAAC,YAAY,EAChB,KAAK,EAAE,8BAAC,KAAK,OAAG,EAChB,IAAI,EAAC,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,CAAC,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAChD;gBACF,8BAAC,wBAAc,IACb,QAAQ,EAAC,WAAW,EACpB,GAAG,EAAC,aAAa,EACjB,KAAK,EAAE,8BAAC,KAAK,OAAG,EAChB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAClD,CACE,CACD,CACR,CACK,CACC,CACZ,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const Layout: import("styled-components").StyledComponent<"label", any, {
2
+ checked: boolean;
3
+ }, never>;
4
+ export declare const IconLayout: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.IconLayout = exports.Layout = void 0;
26
+ const styled_components_1 = __importStar(require("styled-components"));
27
+ const breakpoints_1 = __importDefault(require("../../../utils/src/breakpoints"));
28
+ const colors_1 = __importDefault(require("../../../utils/src/colors"));
29
+ const paragraphs_1 = __importDefault(require("../../../utils/src/paragraphs"));
30
+ const radius_1 = __importDefault(require("../../../utils/src/radius"));
31
+ const spacing_1 = require("../../../utils/src/spacing");
32
+ exports.Layout = styled_components_1.default.label `
33
+ ${paragraphs_1.default.breadcrumb};
34
+ display: inline-flex;
35
+ flex-direction: column;
36
+ align-items: center;
37
+ cursor: pointer;
38
+ background-color: white;
39
+ padding: ${(0, spacing_1.convertPxToRem)(16)};
40
+ color: ${colors_1.default.dark.base80};
41
+
42
+ & + & {
43
+ margin-top: ${(0, spacing_1.convertPxToRem)(12)};
44
+ }
45
+
46
+ svg {
47
+ height: ${(0, spacing_1.convertPxToRem)(28)};
48
+ width: ${(0, spacing_1.convertPxToRem)(28)};
49
+ }
50
+
51
+ ${({ checked }) => checked &&
52
+ (0, styled_components_1.css) `
53
+ ${exports.IconLayout} {
54
+ color: ${colors_1.default.orange.base};
55
+ border-color: currentColor;
56
+ background-color: ${colors_1.default.orange.base5};
57
+ }
58
+ `};
59
+
60
+ @media (min-width: ${breakpoints_1.default.xsmall}px) {
61
+ & + & {
62
+ margin: 0 0 0 ${(0, spacing_1.convertPxToRem)(16)};
63
+ }
64
+ }
65
+ `;
66
+ exports.IconLayout = styled_components_1.default.span `
67
+ display: flex;
68
+ align-items: center;
69
+ border: ${(0, spacing_1.convertPxToRem)(1)} solid ${colors_1.default.grey.base80};
70
+ border-radius: ${radius_1.default.rounded};
71
+ margin-bottom: ${(0, spacing_1.convertPxToRem)(8)};
72
+ transition: border 0.1s ease-in, background 0.2s ease-in;
73
+
74
+ svg {
75
+ height: ${(0, spacing_1.convertPxToRem)(44)};
76
+ width: ${(0, spacing_1.convertPxToRem)(44)};
77
+ }
78
+ `;
79
+ //# sourceMappingURL=BlockCheckIcon.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockCheckIcon.styles.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockCheckIcon/BlockCheckIcon.styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAgD;AAEhD,iFAAyD;AACzD,uEAA+C;AAC/C,+EAAuD;AACvD,uEAA+C;AAC/C,wDAA4D;AAE/C,QAAA,MAAM,GAAG,2BAAM,CAAC,KAAK,CAEhC;IACE,oBAAU,CAAC,UAAU;;;;;;aAMZ,IAAA,wBAAc,EAAC,EAAE,CAAC;WACpB,gBAAM,CAAC,IAAI,CAAC,MAAM;;;kBAGX,IAAA,wBAAc,EAAC,EAAE,CAAC;;;;cAItB,IAAA,wBAAc,EAAC,EAAE,CAAC;aACnB,IAAA,wBAAc,EAAC,EAAE,CAAC;;;IAG3B,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAChB,OAAO;IACP,IAAA,uBAAG,EAAA;QACC,kBAAU;iBACD,gBAAM,CAAC,MAAM,CAAC,IAAI;;4BAEP,gBAAM,CAAC,MAAM,CAAC,KAAK;;KAE1C;;uBAEkB,qBAAW,CAAC,MAAM;;sBAEnB,IAAA,wBAAc,EAAC,EAAE,CAAC;;;CAGvC,CAAC;AAEW,QAAA,UAAU,GAAG,2BAAM,CAAC,IAAI,CAAA;;;YAGzB,IAAA,wBAAc,EAAC,CAAC,CAAC,UAAU,gBAAM,CAAC,IAAI,CAAC,MAAM;mBACtC,gBAAM,CAAC,OAAO;mBACd,IAAA,wBAAc,EAAC,CAAC,CAAC;;;;cAItB,IAAA,wBAAc,EAAC,EAAE,CAAC;aACnB,IAAA,wBAAc,EAAC,EAAE,CAAC;;CAE9B,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ const react_1 = __importStar(require("react"));
35
+ const react_test_renderer_1 = __importDefault(require("react-test-renderer"));
36
+ const react_2 = require("@testing-library/react");
37
+ const user_event_1 = __importDefault(require("@testing-library/user-event"));
38
+ const test_utils_1 = require("../../../utils/src/test-utils");
39
+ const BlockCheckIcon_1 = __importDefault(require("./BlockCheckIcon"));
40
+ const mockOnChange = jest.fn();
41
+ const defaultProps = {
42
+ image: react_1.default.createElement("div", { "data-test": "image" }),
43
+ text: 'text',
44
+ dataTest: 'test',
45
+ name: 'test',
46
+ checked: false,
47
+ onClick: mockOnChange
48
+ };
49
+ describe('BlockCheckIcon', () => {
50
+ it('should pass A11y test', () => (0, test_utils_1.testA11y)(react_1.default.createElement(react_1.Fragment, null,
51
+ react_1.default.createElement(BlockCheckIcon_1.default, Object.assign({}, defaultProps)))));
52
+ it('should equal snapshot rendering', () => {
53
+ const tree = react_test_renderer_1.default.create(react_1.default.createElement(BlockCheckIcon_1.default, Object.assign({}, defaultProps))).toJSON();
54
+ expect(tree).toMatchSnapshot();
55
+ });
56
+ it('should render', () => {
57
+ (0, react_2.render)(react_1.default.createElement(BlockCheckIcon_1.default, Object.assign({}, defaultProps)));
58
+ expect(react_2.screen.getByTestId('test')).toBeInTheDocument();
59
+ expect(react_2.screen.getByRole('checkbox', { name: 'text' })).toBeInTheDocument();
60
+ expect(react_2.screen.getByRole('checkbox', { name: 'text' })).not.toBeChecked();
61
+ expect(react_2.screen.getByTestId('image')).toBeInTheDocument();
62
+ });
63
+ it('should trigger true onChange', () => __awaiter(void 0, void 0, void 0, function* () {
64
+ (0, react_2.render)(react_1.default.createElement(BlockCheckIcon_1.default, Object.assign({}, defaultProps)));
65
+ user_event_1.default.click(react_2.screen.getByRole('checkbox', { name: 'text' }));
66
+ yield (0, react_2.waitFor)(() => expect(mockOnChange).toHaveBeenCalledWith(true));
67
+ }));
68
+ it('should trigger false onChange', () => __awaiter(void 0, void 0, void 0, function* () {
69
+ (0, react_2.render)(react_1.default.createElement(BlockCheckIcon_1.default, Object.assign({}, defaultProps, { checked: true })));
70
+ user_event_1.default.click(react_2.screen.getByRole('checkbox', { name: 'text' }));
71
+ yield (0, react_2.waitFor)(() => expect(mockOnChange).toHaveBeenCalledWith(false));
72
+ }));
73
+ it('should be checked', () => {
74
+ const props = Object.assign(Object.assign({}, defaultProps), { checked: true });
75
+ (0, react_2.render)(react_1.default.createElement(BlockCheckIcon_1.default, Object.assign({}, props)));
76
+ expect(react_2.screen.getByRole('checkbox', { name: 'text' })).toBeChecked();
77
+ });
78
+ });
79
+ //# sourceMappingURL=BlockCheckIcon.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockCheckIcon.test.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockCheckIcon/BlockCheckIcon.test.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { ReactElement } from 'react';
2
- export interface OwnProps<T> {
2
+ export interface BlockIconProps<T> {
3
3
  text: string;
4
- image: ReactElement;
4
+ name: string;
5
5
  value: T;
6
6
  selectedValue: T;
7
- dataTest: string;
8
7
  onClick(value: T): void;
8
+ dataTest?: string;
9
+ image?: ReactElement;
10
+ isContentCentered?: boolean;
9
11
  }
10
- declare function BlockIcon<T>({ onClick, image, text, selectedValue, dataTest, value }: OwnProps<T>): JSX.Element;
12
+ declare function BlockIcon<T>({ onClick, image, text, name, selectedValue, dataTest, value, isContentCentered }: BlockIconProps<T>): JSX.Element;
11
13
  export default BlockIcon;
@@ -5,13 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const BlockIcon_styles_1 = require("./BlockIcon.styles");
8
- function BlockIcon({ onClick, image, text, selectedValue, dataTest, value }) {
9
- const isDisabled = selectedValue !== value;
10
- return (react_1.default.createElement(BlockIcon_styles_1.Layout, { "data-test": dataTest, onClick: () => onClick(value), disabled: isDisabled, "aria-disabled": isDisabled },
11
- react_1.default.createElement(BlockIcon_styles_1.TextContainer, null,
12
- react_1.default.createElement("span", { "data-test": "text-block" }, text)),
13
- react_1.default.createElement(BlockIcon_styles_1.ImageContainer, null,
14
- react_1.default.createElement("span", { "data-test": "image-block" }, image))));
8
+ function BlockIcon({ onClick, image, text, name, selectedValue, dataTest, value, isContentCentered = false }) {
9
+ const isActive = selectedValue === value;
10
+ const labelId = `radio-input-label-${text}`;
11
+ return (react_1.default.createElement(BlockIcon_styles_1.Layout, Object.assign({}, { isActive, isContentCentered }, { "data-test": dataTest || `radio-button-${text}` }),
12
+ react_1.default.createElement(BlockIcon_styles_1.InputLayout, Object.assign({}, name, { type: "radio", "aria-labelledby": labelId, checked: isActive, onChange: () => onClick(value) })),
13
+ react_1.default.createElement("span", { id: labelId }, text),
14
+ image));
15
15
  }
16
16
  exports.default = BlockIcon;
17
17
  //# sourceMappingURL=BlockIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockIcon.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA4C;AAE5C,yDAA2E;AAW3E,SAAS,SAAS,CAAI,EACpB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,KAAK,EACO;IACZ,MAAM,UAAU,GAAG,aAAa,KAAK,KAAK,CAAC;IAE3C,OAAO,CACL,8BAAC,yBAAM,iBACM,QAAQ,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,QAAQ,EAAE,UAAU,mBACL,UAAU;QAEzB,8BAAC,gCAAa;YACZ,qDAAgB,YAAY,IAAE,IAAI,CAAQ,CAC5B;QAChB,8BAAC,iCAAc;YACb,qDAAgB,aAAa,IAAE,KAAK,CAAQ,CAC7B,CACV,CACV,CAAC;AACJ,CAAC;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"BlockIcon.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA4C;AAE5C,yDAAyD;AAazD,SAAS,SAAS,CAAI,EACpB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,iBAAiB,GAAG,KAAK,EACP;IAClB,MAAM,QAAQ,GAAG,aAAa,KAAK,KAAK,CAAC;IACzC,MAAM,OAAO,GAAG,qBAAqB,IAAI,EAAE,CAAC;IAE5C,OAAO,CACL,8BAAC,yBAAM,oBACD,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBACxB,QAAQ,IAAI,gBAAgB,IAAI,EAAE;QAE7C,8BAAC,8BAAW,oBACN,IAAI,IACR,IAAI,EAAC,OAAO,qBACK,OAAO,EACxB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAC9B;QACF,wCAAM,EAAE,EAAE,OAAO,IAAG,IAAI,CAAQ;QAC/B,KAAK,CACC,CACV,CAAC;AACJ,CAAC;AAED,kBAAe,SAAS,CAAC"}
@@ -13,14 +13,16 @@ const BlockIcon_1 = __importDefault(require("./BlockIcon"));
13
13
  const propertyState = new storybook_state_1.Store({
14
14
  property: hokkaido_1.PropertyEnum.FLAT
15
15
  });
16
+ const radioGroupName = 'property-type';
16
17
  const { Arrow } = icons_1.default;
17
18
  (0, react_2.storiesOf)('BlockIcon', module).add('BlockIcon', () => {
18
19
  const updateProperty = (property) => {
19
20
  propertyState.set({ property });
20
21
  };
21
22
  return (react_1.default.createElement(storybook_state_1.State, { store: propertyState }, state => (react_1.default.createElement(utils_1.Line, null,
22
- react_1.default.createElement(utils_1.Row, null,
23
- react_1.default.createElement(BlockIcon_1.default, { dataTest: `data-test`, key: `block-flat`, image: react_1.default.createElement(Arrow, null), text: 'Appartement', value: hokkaido_1.PropertyEnum.FLAT, selectedValue: state.property, onClick: updateProperty }),
24
- react_1.default.createElement(BlockIcon_1.default, { dataTest: `data-test`, key: `block-house`, image: react_1.default.createElement(Arrow, null), text: 'Maison', value: hokkaido_1.PropertyEnum.HOUSE, selectedValue: state.property, onClick: updateProperty }))))));
23
+ react_1.default.createElement("h2", { id: "property-type-label" }, "Type de logement :"),
24
+ react_1.default.createElement(utils_1.Row, { role: "radiogroup", "aria-labelledby": "property-type-label" },
25
+ react_1.default.createElement(BlockIcon_1.default, { dataTest: "data-test", key: "block-flat", image: react_1.default.createElement(Arrow, null), text: "Appartement", name: radioGroupName, value: hokkaido_1.PropertyEnum.FLAT, selectedValue: state.property, onClick: updateProperty }),
26
+ react_1.default.createElement(BlockIcon_1.default, { dataTest: "data-test", key: "block-house", image: react_1.default.createElement(Arrow, null), text: "Maison", name: radioGroupName, value: hokkaido_1.PropertyEnum.HOUSE, selectedValue: state.property, onClick: updateProperty }))))));
25
27
  });
26
28
  //# sourceMappingURL=BlockIcon.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockIcon.stories.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.stories.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,iDAAkD;AAClD,8DAAwD;AACxD,4CAA6C;AAE7C,0CAA2C;AAC3C,qDAA6B;AAC7B,4DAAoC;AAEpC,MAAM,aAAa,GAAG,IAAI,uBAAK,CAAC;IAC9B,QAAQ,EAAE,uBAAY,CAAC,IAAI;CAC5B,CAAC,CAAC;AAEH,MAAM,EAAE,KAAK,EAAE,GAAG,eAAK,CAAC;AAExB,IAAA,iBAAS,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE;IACnD,MAAM,cAAc,GAAG,CAAC,QAAsB,EAAE,EAAE;QAChD,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,uBAAK,IAAC,KAAK,EAAE,aAAa,IACxB,KAAK,CAAC,EAAE,CAAC,CACR,8BAAC,YAAI;QACH,8BAAC,WAAG;YACF,8BAAC,mBAAS,IACR,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,8BAAC,KAAK,OAAG,EAChB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,uBAAY,CAAC,IAAI,EACxB,aAAa,EAAE,KAAK,CAAC,QAAQ,EAC7B,OAAO,EAAE,cAAc,GACvB;YACF,8BAAC,mBAAS,IACR,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,8BAAC,KAAK,OAAG,EAChB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,uBAAY,CAAC,KAAK,EACzB,aAAa,EAAE,KAAK,CAAC,QAAQ,EAC7B,OAAO,EAAE,cAAc,GACvB,CACE,CACD,CACR,CACK,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"BlockIcon.stories.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.stories.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,iDAAkD;AAClD,8DAAwD;AACxD,4CAA6C;AAE7C,0CAA2C;AAC3C,qDAA6B;AAC7B,4DAAoC;AAEpC,MAAM,aAAa,GAAG,IAAI,uBAAK,CAAC;IAC9B,QAAQ,EAAE,uBAAY,CAAC,IAAI;CAC5B,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAK,CAAC;AAExB,IAAA,iBAAS,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE;IACnD,MAAM,cAAc,GAAG,CAAC,QAAsB,EAAE,EAAE;QAChD,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,uBAAK,IAAC,KAAK,EAAE,aAAa,IACxB,KAAK,CAAC,EAAE,CAAC,CACR,8BAAC,YAAI;QACH,sCAAI,EAAE,EAAC,qBAAqB,yBAAwB;QACpD,8BAAC,WAAG,IAAC,IAAI,EAAC,YAAY,qBAAiB,qBAAqB;YAC1D,8BAAC,mBAAS,IACR,QAAQ,EAAC,WAAW,EACpB,GAAG,EAAC,YAAY,EAChB,KAAK,EAAE,8BAAC,KAAK,OAAG,EAChB,IAAI,EAAC,aAAa,EAClB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,uBAAY,CAAC,IAAI,EACxB,aAAa,EAAE,KAAK,CAAC,QAAQ,EAC7B,OAAO,EAAE,cAAc,GACvB;YACF,8BAAC,mBAAS,IACR,QAAQ,EAAC,WAAW,EACpB,GAAG,EAAC,aAAa,EACjB,KAAK,EAAE,8BAAC,KAAK,OAAG,EAChB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,uBAAY,CAAC,KAAK,EACzB,aAAa,EAAE,KAAK,CAAC,QAAQ,EAC7B,OAAO,EAAE,cAAc,GACvB,CACE,CACD,CACR,CACK,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- export declare const ImageContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export declare const TextContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
- export declare const Layout: import("styled-components").StyledComponent<"div", any, {
4
- disabled: boolean;
1
+ export declare const Layout: import("styled-components").StyledComponent<"label", any, {
2
+ isActive: boolean;
3
+ isContentCentered: boolean;
5
4
  }, never>;
5
+ export declare const InputLayout: import("styled-components").StyledComponent<"input", any, {}, never>;
@@ -19,58 +19,51 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Layout = exports.TextContainer = exports.ImageContainer = void 0;
22
+ exports.InputLayout = exports.Layout = void 0;
23
+ const polished_1 = require("polished");
23
24
  const styled_components_1 = __importStar(require("styled-components"));
24
25
  const utils_1 = require("../../../utils");
25
- exports.ImageContainer = styled_components_1.default.div `
26
- margin-left: auto;
27
-
28
- span {
29
- display: block;
30
- height: ${(0, utils_1.convertPxToRem)(28)};
31
- width: ${(0, utils_1.convertPxToRem)(28)};
32
-
33
- svg {
34
- height: 100%;
35
- width: 100%;
36
- }
37
- }
38
- `;
39
- exports.TextContainer = styled_components_1.default.div `
26
+ exports.Layout = styled_components_1.default.label `
40
27
  ${utils_1.paragraphs.label};
41
- `;
42
- exports.Layout = styled_components_1.default.div `
43
28
  display: flex;
44
29
  align-items: center;
30
+ width: 100%;
31
+ justify-content: ${({ isContentCentered }) => isContentCentered ? 'center' : 'space-between'};
45
32
  cursor: pointer;
46
- width: 50%;
47
- border: ${(0, utils_1.convertPxToRem)(1)} solid ${utils_1.colors.red.base10};
33
+ background-color: white;
34
+ padding: ${(0, utils_1.convertPxToRem)(16)};
35
+ height: ${(0, utils_1.convertPxToRem)(48)};
36
+ border: ${(0, utils_1.convertPxToRem)(1)} solid ${utils_1.colors.grey.base80};
48
37
  border-radius: ${utils_1.radius.biggest};
38
+ color: ${utils_1.colors.dark.base80};
49
39
  transition: border 0.1s ease-in, background 0.2s ease-in;
50
- height: ${(0, utils_1.convertPxToRem)(48)};
51
- padding: ${(0, utils_1.convertPxToRem)(16)};
52
- color: ${utils_1.colors.orange.base};
53
- background-color: ${utils_1.colors.orange.base10};
54
- box-shadow: ${utils_1.shadows.level5};
55
40
 
56
41
  & + & {
57
- margin-left: ${(0, utils_1.convertPxToRem)(16)};
42
+ margin-top: ${(0, utils_1.convertPxToRem)(12)};
43
+ }
44
+
45
+ svg {
46
+ height: ${(0, utils_1.convertPxToRem)(28)};
47
+ width: ${(0, utils_1.convertPxToRem)(28)};
58
48
  }
59
49
 
60
- @media (max-width: ${utils_1.breakpoints.xsmall}px) {
61
- width: 100%;
50
+ @media (min-width: ${utils_1.breakpoints.xsmall}px) {
51
+ width: 50%;
62
52
 
63
53
  & + & {
64
- margin: ${(0, utils_1.convertPxToRem)(12)} 0 0;
54
+ margin: 0 0 0 ${(0, utils_1.convertPxToRem)(16)};
65
55
  }
66
56
  }
67
57
 
68
- ${({ disabled }) => disabled &&
58
+ ${({ isActive }) => isActive &&
69
59
  (0, styled_components_1.css) `
70
- background-color: white;
71
- border-color: ${utils_1.colors.grey.base80};
72
- color: ${utils_1.colors.dark.base80};
73
- box-shadow: none;
60
+ box-shadow: ${utils_1.shadows.level5};
61
+ border-color: ${utils_1.colors.red.base10};
62
+ background-color: ${utils_1.colors.orange.base10};
63
+ color: ${utils_1.colors.orange.base};
74
64
  `};
75
65
  `;
66
+ exports.InputLayout = styled_components_1.default.input `
67
+ ${(0, polished_1.hideVisually)()};
68
+ `;
76
69
  //# sourceMappingURL=BlockIcon.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockIcon.styles.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAgD;AAEhD,0CAOwB;AAEX,QAAA,cAAc,GAAG,2BAAM,CAAC,GAAG,CAAA;;;;;cAK1B,IAAA,sBAAc,EAAC,EAAE,CAAC;aACnB,IAAA,sBAAc,EAAC,EAAE,CAAC;;;;;;;CAO9B,CAAC;AAEW,QAAA,aAAa,GAAG,2BAAM,CAAC,GAAG,CAAA;IACnC,kBAAU,CAAC,KAAK;CACnB,CAAC;AAEW,QAAA,MAAM,GAAG,2BAAM,CAAC,GAAG,CAAuB;;;;;YAK3C,IAAA,sBAAc,EAAC,CAAC,CAAC,UAAU,cAAM,CAAC,GAAG,CAAC,MAAM;mBACrC,cAAM,CAAC,OAAO;;YAErB,IAAA,sBAAc,EAAC,EAAE,CAAC;aACjB,IAAA,sBAAc,EAAC,EAAE,CAAC;WACpB,cAAM,CAAC,MAAM,CAAC,IAAI;sBACP,cAAM,CAAC,MAAM,CAAC,MAAM;gBAC1B,eAAO,CAAC,MAAM;;;mBAGX,IAAA,sBAAc,EAAC,EAAE,CAAC;;;uBAGd,mBAAW,CAAC,MAAM;;;;gBAIzB,IAAA,sBAAc,EAAC,EAAE,CAAC;;;;IAI9B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,QAAQ;IACR,IAAA,uBAAG,EAAA;;sBAEe,cAAM,CAAC,IAAI,CAAC,MAAM;eACzB,cAAM,CAAC,IAAI,CAAC,MAAM;;KAE5B;CACJ,CAAC"}
1
+ {"version":3,"file":"BlockIcon.styles.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwC;AACxC,uEAAgD;AAEhD,0CAOwB;AAEX,QAAA,MAAM,GAAG,2BAAM,CAAC,KAAK,CAGhC;IACE,kBAAU,CAAC,KAAK;;;;qBAIC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAC3C,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe;;;aAGrC,IAAA,sBAAc,EAAC,EAAE,CAAC;YACnB,IAAA,sBAAc,EAAC,EAAE,CAAC;YAClB,IAAA,sBAAc,EAAC,CAAC,CAAC,UAAU,cAAM,CAAC,IAAI,CAAC,MAAM;mBACtC,cAAM,CAAC,OAAO;WACtB,cAAM,CAAC,IAAI,CAAC,MAAM;;;;kBAIX,IAAA,sBAAc,EAAC,EAAE,CAAC;;;;cAItB,IAAA,sBAAc,EAAC,EAAE,CAAC;aACnB,IAAA,sBAAc,EAAC,EAAE,CAAC;;;uBAGR,mBAAW,CAAC,MAAM;;;;sBAInB,IAAA,sBAAc,EAAC,EAAE,CAAC;;;;IAIpC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,QAAQ;IACR,IAAA,uBAAG,EAAA;oBACa,eAAO,CAAC,MAAM;sBACZ,cAAM,CAAC,GAAG,CAAC,MAAM;0BACb,cAAM,CAAC,MAAM,CAAC,MAAM;eAC/B,cAAM,CAAC,MAAM,CAAC,IAAI;KAC5B;CACJ,CAAC;AAEW,QAAA,WAAW,GAAG,2BAAM,CAAC,KAAK,CAAA;IACnC,IAAA,uBAAY,GAAE;CACjB,CAAC"}
@@ -17,17 +17,20 @@ const react_test_renderer_1 = __importDefault(require("react-test-renderer"));
17
17
  const hokkaido_1 = require("@proprioo/hokkaido");
18
18
  const react_2 = require("@testing-library/react");
19
19
  const user_event_1 = __importDefault(require("@testing-library/user-event"));
20
+ const test_utils_1 = require("../../../utils/src/test-utils");
20
21
  const BlockIcon_1 = __importDefault(require("./BlockIcon"));
21
22
  const mockOnChange = jest.fn();
22
23
  const defaultProps = {
23
- image: react_1.default.createElement("div", null),
24
+ image: react_1.default.createElement("div", { "data-test": "image" }),
24
25
  text: 'text',
25
26
  dataTest: 'test',
27
+ name: 'radio-group-name',
26
28
  value: hokkaido_1.PropertyEnum.FLAT,
27
29
  selectedValue: hokkaido_1.PropertyEnum.HOUSE,
28
30
  onClick: mockOnChange
29
31
  };
30
32
  describe('BlockIcon', () => {
33
+ it('should pass A11y test', () => (0, test_utils_1.testA11y)(react_1.default.createElement(BlockIcon_1.default, Object.assign({}, defaultProps))));
31
34
  it('should equal snapshot rendering', () => {
32
35
  const tree = react_test_renderer_1.default.create(react_1.default.createElement(BlockIcon_1.default, Object.assign({}, defaultProps))).toJSON();
33
36
  expect(tree).toMatchSnapshot();
@@ -35,19 +38,19 @@ describe('BlockIcon', () => {
35
38
  it('should render', () => {
36
39
  (0, react_2.render)(react_1.default.createElement(BlockIcon_1.default, Object.assign({}, defaultProps)));
37
40
  expect(react_2.screen.getByTestId('test')).toBeInTheDocument();
38
- expect(react_2.screen.getByTestId('image-block')).toBeInTheDocument();
39
- expect(react_2.screen.getByTestId('text-block')).toBeInTheDocument();
40
- expect(react_2.screen.getByTestId('test')).toHaveAttribute('aria-disabled', 'true');
41
+ expect(react_2.screen.getByRole('radio', { name: 'text' })).toBeInTheDocument();
42
+ expect(react_2.screen.getByRole('radio', { name: 'text' })).not.toBeChecked();
43
+ expect(react_2.screen.getByTestId('image')).toBeInTheDocument();
41
44
  });
42
45
  it('should trigger onChange', () => __awaiter(void 0, void 0, void 0, function* () {
43
46
  (0, react_2.render)(react_1.default.createElement(BlockIcon_1.default, Object.assign({}, defaultProps)));
44
- user_event_1.default.click(react_2.screen.getByTestId('test'));
47
+ user_event_1.default.click(react_2.screen.getByRole('radio', { name: 'text' }));
45
48
  yield (0, react_2.waitFor)(() => expect(mockOnChange).toHaveBeenCalled());
46
49
  }));
47
- it('should not be disabled', () => {
50
+ it('should be selected', () => {
48
51
  const props = Object.assign(Object.assign({}, defaultProps), { selectedValue: hokkaido_1.PropertyEnum.FLAT });
49
52
  (0, react_2.render)(react_1.default.createElement(BlockIcon_1.default, Object.assign({}, props)));
50
- expect(react_2.screen.getByTestId('test')).toHaveAttribute('aria-disabled', 'false');
53
+ expect(react_2.screen.getByRole('radio', { name: 'text' })).toBeChecked();
51
54
  });
52
55
  });
53
56
  //# sourceMappingURL=BlockIcon.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockIcon.test.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,8EAA2C;AAE3C,iDAAkD;AAClD,kDAAiE;AACjE,6EAAoD;AAEpD,4DAAkD;AAElD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAE/B,MAAM,YAAY,GAA2B;IAC3C,KAAK,EAAE,0CAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,uBAAY,CAAC,IAAI;IACxB,aAAa,EAAE,uBAAY,CAAC,KAAK;IACjC,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,6BAAQ,CAAC,MAAM,CAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAEvE,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,IAAA,cAAM,EAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC;QAExC,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC9D,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC7D,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAS,EAAE;QACvC,IAAA,cAAM,EAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC;QAExC,oBAAS,CAAC,KAAK,CAAC,cAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,KAAK,mCACN,YAAY,KACf,aAAa,EAAE,uBAAY,CAAC,IAAI,GACjC,CAAC;QAEF,IAAA,cAAM,EAAC,8BAAC,mBAAS,oBAAK,KAAK,EAAI,CAAC,CAAC;QAEjC,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAChD,eAAe,EACf,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"BlockIcon.test.js","sourceRoot":"","sources":["../../../../packages/ui/src/blockIcon/BlockIcon.test.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,8EAA2C;AAE3C,iDAAkD;AAClD,kDAAiE;AACjE,6EAAoD;AAEpD,8DAAyD;AACzD,4DAAwD;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAE/B,MAAM,YAAY,GAAiC;IACjD,KAAK,EAAE,oDAAe,OAAO,GAAG;IAChC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,uBAAY,CAAC,IAAI;IACxB,aAAa,EAAE,uBAAY,CAAC,KAAK;IACjC,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAQ,EAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC,CAAC;IAE7E,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,6BAAQ,CAAC,MAAM,CAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAEvE,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,IAAA,cAAM,EAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC;QAExC,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,CAAC,cAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACxE,MAAM,CAAC,cAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACtE,MAAM,CAAC,cAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAS,EAAE;QACvC,IAAA,cAAM,EAAC,8BAAC,mBAAS,oBAAK,YAAY,EAAI,CAAC,CAAC;QAExC,oBAAS,CAAC,KAAK,CAAC,cAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,KAAK,mCACN,YAAY,KACf,aAAa,EAAE,uBAAY,CAAC,IAAI,GACjC,CAAC;QAEF,IAAA,cAAM,EAAC,8BAAC,mBAAS,oBAAK,KAAK,EAAI,CAAC,CAAC;QAEjC,MAAM,CAAC,cAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -32,9 +32,11 @@ const Dropup_1 = __importDefault(require("./icons/Dropup"));
32
32
  const Card = ({ children, after, dataTest = 'card-layout', disabled = false, label, labelAfter, noPadding, hasToggle = false, isOpen: controlledIsOpen, toggleLabel, tooltip, onOpen, onClose }) => {
33
33
  const isControlled = controlledIsOpen !== undefined;
34
34
  const [isOpen, toggleIsOpen] = (0, react_1.useState)(controlledIsOpen || false);
35
+ const canCloseControlledCard = isControlled && hasToggle && !onClose;
36
+ const canOpenControlledCard = isControlled && hasToggle && !onOpen;
35
37
  const isSmartphone = (0, utils_1.useSmartphoneDevice)();
36
38
  const closeCard = () => {
37
- if (!isControlled) {
39
+ if (!isControlled || canCloseControlledCard) {
38
40
  toggleIsOpen(false);
39
41
  }
40
42
  if (onClose) {
@@ -42,21 +44,14 @@ const Card = ({ children, after, dataTest = 'card-layout', disabled = false, lab
42
44
  }
43
45
  };
44
46
  const openCard = () => {
45
- if (!isControlled) {
47
+ if (!isControlled || canOpenControlledCard) {
46
48
  toggleIsOpen(true);
47
49
  }
48
50
  if (onOpen) {
49
51
  onOpen();
50
52
  }
51
53
  };
52
- const toggleCard = () => {
53
- if (isOpen) {
54
- closeCard();
55
- }
56
- else {
57
- openCard();
58
- }
59
- };
54
+ const toggleCard = () => (isOpen ? closeCard() : openCard());
60
55
  (0, react_1.useEffect)(() => {
61
56
  if (isControlled) {
62
57
  toggleIsOpen(controlledIsOpen);