@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.
- package/CHANGELOG.md +20 -0
- package/lib/forms/index.d.ts +1 -1
- package/lib/forms/index.js.map +1 -1
- package/lib/forms/src/userForm/UserForm.schema.js +2 -2
- package/lib/forms/src/userForm/UserForm.schema.js.map +1 -1
- package/lib/index.js +255 -217
- package/lib/index.js.map +1 -1
- package/lib/ui/index.d.ts +1 -0
- package/lib/ui/index.js +4 -2
- package/lib/ui/index.js.map +1 -1
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.d.ts +11 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.js +17 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.js.map +1 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.stories.d.ts +1 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.stories.js +43 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.stories.js.map +1 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.styles.d.ts +4 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.styles.js +79 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.styles.js.map +1 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.test.d.ts +1 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.test.js +79 -0
- package/lib/ui/src/blockCheckIcon/BlockCheckIcon.test.js.map +1 -0
- package/lib/ui/src/blockIcon/BlockIcon.d.ts +6 -4
- package/lib/ui/src/blockIcon/BlockIcon.js +7 -7
- package/lib/ui/src/blockIcon/BlockIcon.js.map +1 -1
- package/lib/ui/src/blockIcon/BlockIcon.stories.js +5 -3
- package/lib/ui/src/blockIcon/BlockIcon.stories.js.map +1 -1
- package/lib/ui/src/blockIcon/BlockIcon.styles.d.ts +4 -4
- package/lib/ui/src/blockIcon/BlockIcon.styles.js +27 -34
- package/lib/ui/src/blockIcon/BlockIcon.styles.js.map +1 -1
- package/lib/ui/src/blockIcon/BlockIcon.test.js +10 -7
- package/lib/ui/src/blockIcon/BlockIcon.test.js.map +1 -1
- package/lib/ui/src/card/Card.js +5 -10
- package/lib/ui/src/card/Card.js.map +1 -1
- package/lib/ui/src/card/Card.stories.js +2 -1
- package/lib/ui/src/card/Card.stories.js.map +1 -1
- package/lib/ui/src/card/Card.test.js +8 -2
- package/lib/ui/src/card/Card.test.js.map +1 -1
- package/lib/ui/src/radio/Radio.js +2 -2
- package/lib/ui/src/radio/Radio.js.map +1 -1
- package/lib/ui/src/radio/Radio.stories.js +8 -35
- package/lib/ui/src/radio/Radio.stories.js.map +1 -1
- package/lib/ui/src/radio/Radio.styles.d.ts +2 -2
- package/lib/ui/src/radio/Radio.styles.js +35 -34
- package/lib/ui/src/radio/Radio.styles.js.map +1 -1
- package/lib/ui/src/radio/Radio.test.js +8 -1
- package/lib/ui/src/radio/Radio.test.js.map +1 -1
- 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.
|
|
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");
|
package/lib/ui/index.js.map
CHANGED
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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
|
|
2
|
+
export interface BlockIconProps<T> {
|
|
3
3
|
text: string;
|
|
4
|
-
|
|
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 }:
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
react_1.default.createElement(
|
|
14
|
-
|
|
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,
|
|
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(
|
|
23
|
-
|
|
24
|
-
react_1.default.createElement(BlockIcon_1.default, { dataTest:
|
|
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;
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
47
|
-
|
|
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-
|
|
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 (
|
|
61
|
-
width:
|
|
50
|
+
@media (min-width: ${utils_1.breakpoints.xsmall}px) {
|
|
51
|
+
width: 50%;
|
|
62
52
|
|
|
63
53
|
& + & {
|
|
64
|
-
margin: ${(0, utils_1.convertPxToRem)(
|
|
54
|
+
margin: 0 0 0 ${(0, utils_1.convertPxToRem)(16)};
|
|
65
55
|
}
|
|
66
56
|
}
|
|
67
57
|
|
|
68
|
-
${({
|
|
58
|
+
${({ isActive }) => isActive &&
|
|
69
59
|
(0, styled_components_1.css) `
|
|
70
|
-
|
|
71
|
-
border-color: ${utils_1.colors.
|
|
72
|
-
color: ${utils_1.colors.
|
|
73
|
-
|
|
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,
|
|
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",
|
|
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.
|
|
39
|
-
expect(react_2.screen.
|
|
40
|
-
expect(react_2.screen.getByTestId('
|
|
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.
|
|
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
|
|
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.
|
|
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,
|
|
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"}
|
package/lib/ui/src/card/Card.js
CHANGED
|
@@ -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);
|