@citygross/components 0.18.3 → 0.19.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 (25) hide show
  1. package/build/@types/components/FormElements/Select/Select.d.ts +2 -1
  2. package/build/@types/components/PartnerOffer/PartnerOffer.d.ts +23 -0
  3. package/build/@types/components/PartnerOffer/PartnerOffer.styles.d.ts +6 -0
  4. package/build/@types/index.d.ts +1 -0
  5. package/build/cjs/components/src/components/AddressBlock/AddressBlock.js +1 -0
  6. package/build/cjs/components/src/components/AddressBlock/AddressBlock.js.map +1 -1
  7. package/build/cjs/components/src/components/FormElements/Select/Select.js +5 -3
  8. package/build/cjs/components/src/components/FormElements/Select/Select.js.map +1 -1
  9. package/build/cjs/components/src/components/PartnerOffer/PartnerOffer.js +36 -0
  10. package/build/cjs/components/src/components/PartnerOffer/PartnerOffer.js.map +1 -0
  11. package/build/cjs/components/src/components/PartnerOffer/PartnerOffer.styles.js +46 -0
  12. package/build/cjs/components/src/components/PartnerOffer/PartnerOffer.styles.js.map +1 -0
  13. package/build/cjs/components/src/index.js +2 -0
  14. package/build/cjs/components/src/index.js.map +1 -1
  15. package/build/es/components/src/components/AddressBlock/AddressBlock.js +1 -0
  16. package/build/es/components/src/components/AddressBlock/AddressBlock.js.map +1 -1
  17. package/build/es/components/src/components/FormElements/Select/Select.js +5 -3
  18. package/build/es/components/src/components/FormElements/Select/Select.js.map +1 -1
  19. package/build/es/components/src/components/PartnerOffer/PartnerOffer.js +28 -0
  20. package/build/es/components/src/components/PartnerOffer/PartnerOffer.js.map +1 -0
  21. package/build/es/components/src/components/PartnerOffer/PartnerOffer.styles.js +33 -0
  22. package/build/es/components/src/components/PartnerOffer/PartnerOffer.styles.js.map +1 -0
  23. package/build/es/components/src/index.js +1 -0
  24. package/build/es/components/src/index.js.map +1 -1
  25. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { TFormElement } from '../FormElement.types';
3
3
  export declare type TSelect = {
4
+ iconColor?: string;
4
5
  isOpen?: boolean;
5
6
  } & TFormElement & Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'>;
6
- export declare const Select: ({ children, error, errorLabel, hideLabel, id, isOpen, label, required, size, ...props }: TSelect) => React.JSX.Element;
7
+ export declare const Select: ({ children, error, errorLabel, hideLabel, iconColor, id, isOpen, label, required, size, ...props }: TSelect) => React.JSX.Element;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ export declare type TPartnerOfferImage = {
3
+ altText?: string;
4
+ desktopImage: string;
5
+ mobileImage?: string;
6
+ };
7
+ export declare type TPartnerOfferBody = {
8
+ enabled?: boolean;
9
+ text?: React.ReactNode;
10
+ };
11
+ export declare type TPartnerOfferLink = {
12
+ internal?: boolean;
13
+ target?: '_self' | '_blank';
14
+ url: string;
15
+ };
16
+ export declare type TPartnerOffer = {
17
+ body?: TPartnerOfferBody;
18
+ headline?: string;
19
+ image?: TPartnerOfferImage;
20
+ link?: TPartnerOfferLink;
21
+ linkText?: string;
22
+ } & React.HTMLAttributes<HTMLElement>;
23
+ export declare const PartnerOffer: ({ body, headline, image, link, linkText, ...props }: TPartnerOffer) => React.JSX.Element;
@@ -0,0 +1,6 @@
1
+ export declare const PartnerOffer: import("styled-components").StyledComponent<"article", import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const ImageWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const Picture: import("styled-components").StyledComponent<"picture", import("styled-components").DefaultTheme, {}, never>;
4
+ export declare const Image: import("styled-components").StyledComponent<"img", import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const Content: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const Link: import("styled-components").StyledComponent<"a", import("styled-components").DefaultTheme, {}, never>;
@@ -61,6 +61,7 @@ export * from './components/MobileTable';
61
61
  export * from './components/Modal/Modal';
62
62
  export * from './components/NavMainLink/NavMainLink';
63
63
  export * from './components/Pagination/Pagination';
64
+ export * from './components/PartnerOffer/PartnerOffer';
64
65
  export * from './components/Pill/Pill';
65
66
  export * from './components/PersonalCouponCard/PersonalCouponCard';
66
67
  export * from './components/PriceStripe/PriceStripe';
@@ -80,6 +80,7 @@ require('../MobileTable/MobileTable.styles.js');
80
80
  require('../Modal/Modal.js');
81
81
  require('../NavMainLink/NavMainLink.styled.js');
82
82
  require('../Pagination/Pagination.styles.js');
83
+ require('../PartnerOffer/PartnerOffer.js');
83
84
  require('../Pill/Pill.styles.js');
84
85
  require('styled-components');
85
86
  require('../PersonalCouponCard/PersonalCouponCard.styles.js');
@@ -1 +1 @@
1
- {"version":3,"file":"AddressBlock.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"AddressBlock.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _tslib = require('../../../../../_virtual/_tslib.js');
6
6
  var React = require('react');
7
+ var designTokens = require('@citygross/design-tokens');
7
8
  var icons = require('@citygross/icons');
8
9
  var formElement = require('../../../helpers/form-element.js');
9
10
  var FormElement_styles = require('../FormElement.styles.js');
@@ -15,8 +16,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
16
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
17
 
17
18
  var Select = function (_a) {
18
- var children = _a.children, error = _a.error, errorLabel = _a.errorLabel, hideLabel = _a.hideLabel, id = _a.id, isOpen = _a.isOpen, label = _a.label, required = _a.required, _b = _a.size, size = _b === void 0 ? FormElement_types.EFormElementSize.large : _b, props = _tslib.__rest(_a, ["children", "error", "errorLabel", "hideLabel", "id", "isOpen", "label", "required", "size"]);
19
- var _c = formElement.getSizeAttributes(size), iconSize = _c.iconSize, restSizeAttributes = _tslib.__rest(_c, ["iconSize"]);
19
+ var _b;
20
+ var children = _a.children, error = _a.error, errorLabel = _a.errorLabel, hideLabel = _a.hideLabel, _c = _a.iconColor, iconColor = _c === void 0 ? (_b = designTokens.theme.palette) === null || _b === void 0 ? void 0 : _b.darkest : _c, id = _a.id, isOpen = _a.isOpen, label = _a.label, required = _a.required, _d = _a.size, size = _d === void 0 ? FormElement_types.EFormElementSize.large : _d, props = _tslib.__rest(_a, ["children", "error", "errorLabel", "hideLabel", "iconColor", "id", "isOpen", "label", "required", "size"]);
21
+ var _e = formElement.getSizeAttributes(size), iconSize = _e.iconSize, restSizeAttributes = _tslib.__rest(_e, ["iconSize"]);
20
22
  var errorId = "".concat(id, "-error");
21
23
  return (React__default["default"].createElement(FormElement_styles.Wrapper, null,
22
24
  hideLabel ? (React__default["default"].createElement(FormElement_styles.HiddenLabel, { htmlFor: id }, label)) : (React__default["default"].createElement(FormElement_styles.Label, { htmlFor: id },
@@ -24,7 +26,7 @@ var Select = function (_a) {
24
26
  required ? ' *' : '')),
25
27
  React__default["default"].createElement(Select_styles.SelectContainer, null,
26
28
  React__default["default"].createElement(Select_styles.SelectElement, _tslib.__assign({ "aria-describedby": error && errorLabel ? errorId : undefined, "aria-invalid": !!error, error: error, sizeAttributes: restSizeAttributes, id: id, required: required }, props), children),
27
- React__default["default"].createElement(Select_styles.SelectIcon, { "aria-hidden": "true" }, isOpen ? (React__default["default"].createElement(icons.Icons.ChevronUp, { height: iconSize, width: iconSize })) : (React__default["default"].createElement(icons.Icons.ChevronDown, { height: iconSize, width: iconSize })))),
29
+ React__default["default"].createElement(Select_styles.SelectIcon, { "aria-hidden": "true" }, isOpen ? (React__default["default"].createElement(icons.Icons.ChevronUp, { color: iconColor, height: iconSize, width: iconSize })) : (React__default["default"].createElement(icons.Icons.ChevronDown, { color: iconColor, height: iconSize, width: iconSize })))),
28
30
  error && errorLabel && (React__default["default"].createElement(FormElement_styles.ErrorLabel, { id: errorId }, errorLabel))));
29
31
  };
30
32
 
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Select.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../_virtual/_tslib.js');
6
+ var React = require('react');
7
+ var designTokens = require('@citygross/design-tokens');
8
+ var typography = require('@citygross/typography');
9
+ var DivAsButton = require('../CgButton/DivAsButton/DivAsButton.js');
10
+ var PartnerOffer_styles = require('./PartnerOffer.styles.js');
11
+ var CgButton_types = require('../CgButton/CgButton.types.js');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+
17
+ var _a;
18
+ var mobileImageMediaQuery = "(max-width: ".concat((_a = designTokens.theme.breakpoints) === null || _a === void 0 ? void 0 : _a.md, "px)");
19
+ var PartnerOffer = function (_a) {
20
+ var _b, _c;
21
+ var body = _a.body, headline = _a.headline, image = _a.image, link = _a.link, _d = _a.linkText, linkText = _d === void 0 ? 'Till erbjudandet' : _d, props = _tslib.__rest(_a, ["body", "headline", "image", "link", "linkText"]);
22
+ var hasText = (body === null || body === void 0 ? void 0 : body.enabled) !== false && Boolean(body === null || body === void 0 ? void 0 : body.text);
23
+ return (React__default["default"].createElement(PartnerOffer_styles.PartnerOffer, _tslib.__assign({}, props),
24
+ (image === null || image === void 0 ? void 0 : image.desktopImage) && (React__default["default"].createElement(PartnerOffer_styles.ImageWrapper, null,
25
+ React__default["default"].createElement(PartnerOffer_styles.Picture, null,
26
+ image.mobileImage && (React__default["default"].createElement("source", { media: mobileImageMediaQuery, srcSet: image.mobileImage })),
27
+ React__default["default"].createElement(PartnerOffer_styles.Image, { alt: (_b = image.altText) !== null && _b !== void 0 ? _b : '', src: image.desktopImage })))),
28
+ React__default["default"].createElement(PartnerOffer_styles.Content, null,
29
+ headline && React__default["default"].createElement(typography.H2, null, headline),
30
+ hasText && React__default["default"].createElement(typography.BodyText, null, body === null || body === void 0 ? void 0 : body.text),
31
+ (link === null || link === void 0 ? void 0 : link.url) && (React__default["default"].createElement(PartnerOffer_styles.Link, { href: link.url, target: (_c = link.target) !== null && _c !== void 0 ? _c : (link.internal === false ? '_blank' : '_self') },
32
+ React__default["default"].createElement(DivAsButton.DivAsButton, { size: CgButton_types.EButtonSize.large, variant: CgButton_types.EButtonVariant.primary }, linkText))))));
33
+ };
34
+
35
+ exports.PartnerOffer = PartnerOffer;
36
+ //# sourceMappingURL=PartnerOffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartnerOffer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../_virtual/_tslib.js');
6
+ var styled = require('styled-components');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
+
12
+ var PartnerOffer = styled__default["default"].article(templateObject_1 || (templateObject_1 = _tslib.__makeTemplateObject(["\n background-color: ", ";\n border-radius: ", "px;\n overflow: hidden;\n"], ["\n background-color: ", ";\n border-radius: ", "px;\n overflow: hidden;\n"])), function (_a) {
13
+ var _b;
14
+ var theme = _a.theme;
15
+ return (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.white;
16
+ }, function (_a) {
17
+ var _b;
18
+ var theme = _a.theme;
19
+ return (_b = theme.attributes) === null || _b === void 0 ? void 0 : _b.borderRadius.small;
20
+ });
21
+ var ImageWrapper = styled__default["default"].div(templateObject_2 || (templateObject_2 = _tslib.__makeTemplateObject(["\n aspect-ratio: 27 / 9;\n border-radius: ", ";\n overflow: hidden;\n position: relative;\n width: 100%;\n"], ["\n aspect-ratio: 27 / 9;\n border-radius: ", ";\n overflow: hidden;\n position: relative;\n width: 100%;\n"])), function (_a) {
22
+ var _b, _c;
23
+ var theme = _a.theme;
24
+ return "".concat((_b = theme.attributes) === null || _b === void 0 ? void 0 : _b.borderRadius.small, "px ").concat((_c = theme.attributes) === null || _c === void 0 ? void 0 : _c.borderRadius.small, "px 0 0");
25
+ });
26
+ var Picture = styled__default["default"].picture(templateObject_3 || (templateObject_3 = _tslib.__makeTemplateObject(["\n display: block;\n height: 100%;\n width: 100%;\n"], ["\n display: block;\n height: 100%;\n width: 100%;\n"])));
27
+ var Image = styled__default["default"].img(templateObject_4 || (templateObject_4 = _tslib.__makeTemplateObject(["\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n"], ["\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n"])));
28
+ var Content = styled__default["default"].div(templateObject_5 || (templateObject_5 = _tslib.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", "px;\n padding: ", ";\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", "px;\n padding: ", ";\n"])), function (_a) {
29
+ var _b;
30
+ var theme = _a.theme;
31
+ return (_b = theme.spacings) === null || _b === void 0 ? void 0 : _b.sm;
32
+ }, function (_a) {
33
+ var _b, _c;
34
+ var theme = _a.theme;
35
+ return "".concat((_b = theme.spacings) === null || _b === void 0 ? void 0 : _b.sm, "px ").concat((_c = theme.spacings) === null || _c === void 0 ? void 0 : _c.xs, "px");
36
+ });
37
+ var Link = styled__default["default"].a(templateObject_6 || (templateObject_6 = _tslib.__makeTemplateObject(["\n display: inline-flex;\n text-decoration: none;\n"], ["\n display: inline-flex;\n text-decoration: none;\n"])));
38
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
39
+
40
+ exports.Content = Content;
41
+ exports.Image = Image;
42
+ exports.ImageWrapper = ImageWrapper;
43
+ exports.Link = Link;
44
+ exports.PartnerOffer = PartnerOffer;
45
+ exports.Picture = Picture;
46
+ //# sourceMappingURL=PartnerOffer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartnerOffer.styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -68,6 +68,7 @@ var MobileTable_styles = require('./components/MobileTable/MobileTable.styles.js
68
68
  var Modal = require('./components/Modal/Modal.js');
69
69
  var NavMainLink = require('./components/NavMainLink/NavMainLink.js');
70
70
  var Pagination = require('./components/Pagination/Pagination.js');
71
+ var PartnerOffer = require('./components/PartnerOffer/PartnerOffer.js');
71
72
  var Pill = require('./components/Pill/Pill.js');
72
73
  var PersonalCouponCard = require('./components/PersonalCouponCard/PersonalCouponCard.js');
73
74
  var PriceStripe = require('./components/PriceStripe/PriceStripe.js');
@@ -236,6 +237,7 @@ Object.defineProperty(exports, 'EModalVariant', {
236
237
  exports.Modal = Modal.Modal;
237
238
  exports.NavMainLink = NavMainLink.NavMainLink;
238
239
  exports.Pagination = Pagination.Pagination;
240
+ exports.PartnerOffer = PartnerOffer.PartnerOffer;
239
241
  exports.Pill = Pill.Pill;
240
242
  exports.PersonalCouponCard = PersonalCouponCard.PersonalCouponCard;
241
243
  exports.PriceStripe = PriceStripe.PriceStripe;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -76,6 +76,7 @@ import '../MobileTable/MobileTable.styles.js';
76
76
  import '../Modal/Modal.js';
77
77
  import '../NavMainLink/NavMainLink.styled.js';
78
78
  import '../Pagination/Pagination.styles.js';
79
+ import '../PartnerOffer/PartnerOffer.js';
79
80
  import '../Pill/Pill.styles.js';
80
81
  import 'styled-components';
81
82
  import '../PersonalCouponCard/PersonalCouponCard.styles.js';
@@ -1 +1 @@
1
- {"version":3,"file":"AddressBlock.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"AddressBlock.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { __rest, __assign } from '../../../../../_virtual/_tslib.js';
2
2
  import React from 'react';
3
+ import { theme } from '@citygross/design-tokens';
3
4
  import { Icons } from '@citygross/icons';
4
5
  import { getSizeAttributes } from '../../../helpers/form-element.js';
5
6
  import { Wrapper, HiddenLabel, Label, ErrorLabel } from '../FormElement.styles.js';
@@ -7,8 +8,9 @@ import { SelectContainer, SelectElement, SelectIcon } from './Select.styles.js';
7
8
  import { EFormElementSize } from '../FormElement.types.js';
8
9
 
9
10
  var Select = function (_a) {
10
- var children = _a.children, error = _a.error, errorLabel = _a.errorLabel, hideLabel = _a.hideLabel, id = _a.id, isOpen = _a.isOpen, label = _a.label, required = _a.required, _b = _a.size, size = _b === void 0 ? EFormElementSize.large : _b, props = __rest(_a, ["children", "error", "errorLabel", "hideLabel", "id", "isOpen", "label", "required", "size"]);
11
- var _c = getSizeAttributes(size), iconSize = _c.iconSize, restSizeAttributes = __rest(_c, ["iconSize"]);
11
+ var _b;
12
+ var children = _a.children, error = _a.error, errorLabel = _a.errorLabel, hideLabel = _a.hideLabel, _c = _a.iconColor, iconColor = _c === void 0 ? (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.darkest : _c, id = _a.id, isOpen = _a.isOpen, label = _a.label, required = _a.required, _d = _a.size, size = _d === void 0 ? EFormElementSize.large : _d, props = __rest(_a, ["children", "error", "errorLabel", "hideLabel", "iconColor", "id", "isOpen", "label", "required", "size"]);
13
+ var _e = getSizeAttributes(size), iconSize = _e.iconSize, restSizeAttributes = __rest(_e, ["iconSize"]);
12
14
  var errorId = "".concat(id, "-error");
13
15
  return (React.createElement(Wrapper, null,
14
16
  hideLabel ? (React.createElement(HiddenLabel, { htmlFor: id }, label)) : (React.createElement(Label, { htmlFor: id },
@@ -16,7 +18,7 @@ var Select = function (_a) {
16
18
  required ? ' *' : '')),
17
19
  React.createElement(SelectContainer, null,
18
20
  React.createElement(SelectElement, __assign({ "aria-describedby": error && errorLabel ? errorId : undefined, "aria-invalid": !!error, error: error, sizeAttributes: restSizeAttributes, id: id, required: required }, props), children),
19
- React.createElement(SelectIcon, { "aria-hidden": "true" }, isOpen ? (React.createElement(Icons.ChevronUp, { height: iconSize, width: iconSize })) : (React.createElement(Icons.ChevronDown, { height: iconSize, width: iconSize })))),
21
+ React.createElement(SelectIcon, { "aria-hidden": "true" }, isOpen ? (React.createElement(Icons.ChevronUp, { color: iconColor, height: iconSize, width: iconSize })) : (React.createElement(Icons.ChevronDown, { color: iconColor, height: iconSize, width: iconSize })))),
20
22
  error && errorLabel && (React.createElement(ErrorLabel, { id: errorId }, errorLabel))));
21
23
  };
22
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Select.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ import { __rest, __assign } from '../../../../_virtual/_tslib.js';
2
+ import React from 'react';
3
+ import { theme } from '@citygross/design-tokens';
4
+ import { H2, BodyText } from '@citygross/typography';
5
+ import { DivAsButton } from '../CgButton/DivAsButton/DivAsButton.js';
6
+ import { PartnerOffer as PartnerOffer$1, ImageWrapper, Picture, Image, Content, Link } from './PartnerOffer.styles.js';
7
+ import { EButtonSize, EButtonVariant } from '../CgButton/CgButton.types.js';
8
+
9
+ var _a;
10
+ var mobileImageMediaQuery = "(max-width: ".concat((_a = theme.breakpoints) === null || _a === void 0 ? void 0 : _a.md, "px)");
11
+ var PartnerOffer = function (_a) {
12
+ var _b, _c;
13
+ var body = _a.body, headline = _a.headline, image = _a.image, link = _a.link, _d = _a.linkText, linkText = _d === void 0 ? 'Till erbjudandet' : _d, props = __rest(_a, ["body", "headline", "image", "link", "linkText"]);
14
+ var hasText = (body === null || body === void 0 ? void 0 : body.enabled) !== false && Boolean(body === null || body === void 0 ? void 0 : body.text);
15
+ return (React.createElement(PartnerOffer$1, __assign({}, props),
16
+ (image === null || image === void 0 ? void 0 : image.desktopImage) && (React.createElement(ImageWrapper, null,
17
+ React.createElement(Picture, null,
18
+ image.mobileImage && (React.createElement("source", { media: mobileImageMediaQuery, srcSet: image.mobileImage })),
19
+ React.createElement(Image, { alt: (_b = image.altText) !== null && _b !== void 0 ? _b : '', src: image.desktopImage })))),
20
+ React.createElement(Content, null,
21
+ headline && React.createElement(H2, null, headline),
22
+ hasText && React.createElement(BodyText, null, body === null || body === void 0 ? void 0 : body.text),
23
+ (link === null || link === void 0 ? void 0 : link.url) && (React.createElement(Link, { href: link.url, target: (_c = link.target) !== null && _c !== void 0 ? _c : (link.internal === false ? '_blank' : '_self') },
24
+ React.createElement(DivAsButton, { size: EButtonSize.large, variant: EButtonVariant.primary }, linkText))))));
25
+ };
26
+
27
+ export { PartnerOffer };
28
+ //# sourceMappingURL=PartnerOffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartnerOffer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,33 @@
1
+ import { __makeTemplateObject } from '../../../../_virtual/_tslib.js';
2
+ import styled from 'styled-components';
3
+
4
+ var PartnerOffer = styled.article(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n border-radius: ", "px;\n overflow: hidden;\n"], ["\n background-color: ", ";\n border-radius: ", "px;\n overflow: hidden;\n"])), function (_a) {
5
+ var _b;
6
+ var theme = _a.theme;
7
+ return (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.white;
8
+ }, function (_a) {
9
+ var _b;
10
+ var theme = _a.theme;
11
+ return (_b = theme.attributes) === null || _b === void 0 ? void 0 : _b.borderRadius.small;
12
+ });
13
+ var ImageWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n aspect-ratio: 27 / 9;\n border-radius: ", ";\n overflow: hidden;\n position: relative;\n width: 100%;\n"], ["\n aspect-ratio: 27 / 9;\n border-radius: ", ";\n overflow: hidden;\n position: relative;\n width: 100%;\n"])), function (_a) {
14
+ var _b, _c;
15
+ var theme = _a.theme;
16
+ return "".concat((_b = theme.attributes) === null || _b === void 0 ? void 0 : _b.borderRadius.small, "px ").concat((_c = theme.attributes) === null || _c === void 0 ? void 0 : _c.borderRadius.small, "px 0 0");
17
+ });
18
+ var Picture = styled.picture(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: block;\n height: 100%;\n width: 100%;\n"], ["\n display: block;\n height: 100%;\n width: 100%;\n"])));
19
+ var Image = styled.img(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n"], ["\n display: block;\n height: 100%;\n object-fit: cover;\n width: 100%;\n"])));
20
+ var Content = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: ", "px;\n padding: ", ";\n"], ["\n display: flex;\n flex-direction: column;\n gap: ", "px;\n padding: ", ";\n"])), function (_a) {
21
+ var _b;
22
+ var theme = _a.theme;
23
+ return (_b = theme.spacings) === null || _b === void 0 ? void 0 : _b.sm;
24
+ }, function (_a) {
25
+ var _b, _c;
26
+ var theme = _a.theme;
27
+ return "".concat((_b = theme.spacings) === null || _b === void 0 ? void 0 : _b.sm, "px ").concat((_c = theme.spacings) === null || _c === void 0 ? void 0 : _c.xs, "px");
28
+ });
29
+ var Link = styled.a(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: inline-flex;\n text-decoration: none;\n"], ["\n display: inline-flex;\n text-decoration: none;\n"])));
30
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
31
+
32
+ export { Content, Image, ImageWrapper, Link, PartnerOffer, Picture };
33
+ //# sourceMappingURL=PartnerOffer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PartnerOffer.styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -64,6 +64,7 @@ export { MobileLabel, MobileTable, MobileTd } from './components/MobileTable/Mob
64
64
  export { EModalSize, EModalVariant, Modal } from './components/Modal/Modal.js';
65
65
  export { NavMainLink } from './components/NavMainLink/NavMainLink.js';
66
66
  export { Pagination } from './components/Pagination/Pagination.js';
67
+ export { PartnerOffer } from './components/PartnerOffer/PartnerOffer.js';
67
68
  export { Pill } from './components/Pill/Pill.js';
68
69
  export { PersonalCouponCard } from './components/PersonalCouponCard/PersonalCouponCard.js';
69
70
  export { PriceStripe } from './components/PriceStripe/PriceStripe.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@citygross/components",
3
- "version": "0.18.3",
3
+ "version": "0.19.0",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "./build/cjs/components/src/index.js",
@@ -76,5 +76,5 @@
76
76
  "react-slick": "^0.30.1",
77
77
  "slick-carousel": "^1.8.1"
78
78
  },
79
- "gitHead": "d975dbe9fb37b36aa91332c1bd4dc2efa01fb1f3"
79
+ "gitHead": "6c7fef55bdf5172c3c787a0fea9fb4edc751233b"
80
80
  }