@bbl-digital/snorre 2.2.47 → 2.2.51
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/dist/bundle.js +30 -15
- package/esm/core/Datepicker/index.js +8 -2
- package/esm/core/FileInput/index.js +4 -2
- package/esm/core/Modal/index.js +3 -1
- package/esm/core/NoticeCard/index.js +3 -2
- package/esm/core/Timepicker/index.js +6 -2
- package/esm/utils/format.js +6 -6
- package/lib/core/Datepicker/index.d.ts +4 -0
- package/lib/core/Datepicker/index.d.ts.map +1 -1
- package/lib/core/Datepicker/index.js +8 -2
- package/lib/core/FileInput/index.d.ts +6 -2
- package/lib/core/FileInput/index.d.ts.map +1 -1
- package/lib/core/FileInput/index.js +4 -2
- package/lib/core/Modal/index.d.ts +3 -0
- package/lib/core/Modal/index.d.ts.map +1 -1
- package/lib/core/Modal/index.js +3 -1
- package/lib/core/NoticeCard/index.d.ts +2 -0
- package/lib/core/NoticeCard/index.d.ts.map +1 -1
- package/lib/core/NoticeCard/index.js +3 -2
- package/lib/core/Timepicker/index.d.ts.map +1 -1
- package/lib/core/Timepicker/index.js +6 -2
- package/lib/utils/format.js +6 -6
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
@@ -821,8 +821,8 @@
|
|
821
821
|
year: 'numeric'
|
822
822
|
};
|
823
823
|
|
824
|
-
/**
|
825
|
-
* PRICES
|
824
|
+
/**
|
825
|
+
* PRICES
|
826
826
|
*/
|
827
827
|
|
828
828
|
const getFormattedPrice = (price, decimals, roundDown) => {
|
@@ -867,8 +867,8 @@
|
|
867
867
|
const formattedPrice = getFormattedPrice(price, decimals);
|
868
868
|
return formattedPrice + ' kr';
|
869
869
|
};
|
870
|
-
/**
|
871
|
-
* DATES
|
870
|
+
/**
|
871
|
+
* DATES
|
872
872
|
*/
|
873
873
|
|
874
874
|
|
@@ -893,8 +893,8 @@
|
|
893
893
|
if (!date) return '';
|
894
894
|
return `${getFormattedDate(date, opt)} kl ${getFormattedTime(date)}`;
|
895
895
|
};
|
896
|
-
/**
|
897
|
-
* OTHERS
|
896
|
+
/**
|
897
|
+
* OTHERS
|
898
898
|
*/
|
899
899
|
|
900
900
|
|
@@ -24173,7 +24173,8 @@
|
|
24173
24173
|
hideCloseButton,
|
24174
24174
|
disableScroll = true,
|
24175
24175
|
targetRefs,
|
24176
|
-
disableScrollableContent
|
24176
|
+
disableScrollableContent,
|
24177
|
+
contentCss
|
24177
24178
|
}) => {
|
24178
24179
|
const modalRef = /*#__PURE__*/React__default['default'].createRef();
|
24179
24180
|
const [isOpen, setOpen] = React.useState(open);
|
@@ -24235,6 +24236,7 @@
|
|
24235
24236
|
}), jsxRuntime$1.jsx(HeaderWrapper$2, {
|
24236
24237
|
children: header && header
|
24237
24238
|
}), jsxRuntime$1.jsx(ModalContent, {
|
24239
|
+
css: contentCss,
|
24238
24240
|
scrollable: !disableScrollableContent,
|
24239
24241
|
ref: disableScrollableContent ? modalRef : undefined,
|
24240
24242
|
children: disableScrollableContent ? children : jsxRuntime$1.jsx(ScrollableDiv, {
|
@@ -25470,6 +25472,8 @@
|
|
25470
25472
|
text = 'Last opp fil',
|
25471
25473
|
initialFiles = [],
|
25472
25474
|
width = '130px',
|
25475
|
+
hideFileList,
|
25476
|
+
icon = /*#__PURE__*/jsxRuntime.jsx(IconAttachment$1, {}),
|
25473
25477
|
onChange
|
25474
25478
|
}) => {
|
25475
25479
|
const [files, setFiles] = React.useState(initialFiles);
|
@@ -25519,7 +25523,7 @@
|
|
25519
25523
|
children: [label && /*#__PURE__*/jsxRuntime.jsx(Label$4, {
|
25520
25524
|
children: label
|
25521
25525
|
}), /*#__PURE__*/jsxRuntime.jsxs(FileWrapper, {
|
25522
|
-
children: [files.length > 0 && /*#__PURE__*/jsxRuntime.jsx(DocumentList, {
|
25526
|
+
children: [files.length > 0 && !hideFileList && /*#__PURE__*/jsxRuntime.jsx(DocumentList, {
|
25523
25527
|
children: files.map((item, index) => /*#__PURE__*/jsxRuntime.jsxs(DocumentWrapper, {
|
25524
25528
|
children: [/*#__PURE__*/jsxRuntime.jsx(Document, {
|
25525
25529
|
theme: theme,
|
@@ -25543,7 +25547,7 @@
|
|
25543
25547
|
width: width,
|
25544
25548
|
children: /*#__PURE__*/jsxRuntime.jsxs(ButtonContent, {
|
25545
25549
|
children: [text, /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
25546
|
-
children:
|
25550
|
+
children: icon
|
25547
25551
|
})]
|
25548
25552
|
})
|
25549
25553
|
}), /*#__PURE__*/jsxRuntime.jsx(HiddenInput, {
|
@@ -25674,7 +25678,9 @@
|
|
25674
25678
|
validation,
|
25675
25679
|
maxDate,
|
25676
25680
|
minDate,
|
25677
|
-
withYearMonthForm = true
|
25681
|
+
withYearMonthForm = true,
|
25682
|
+
disabled,
|
25683
|
+
disabledTitle
|
25678
25684
|
}) => {
|
25679
25685
|
const currentYear = new Date().getFullYear();
|
25680
25686
|
const toDate = maxDate ? new Date(maxDate) : new Date(currentYear, 11, 31);
|
@@ -25716,6 +25722,7 @@
|
|
25716
25722
|
|
25717
25723
|
return jsxRuntime$1.jsxs(Wrapper$t, {
|
25718
25724
|
css: theme => [styles$b.default(theme), validation && styles$b.validation, invalidMessage && styles$b.invalid(theme)],
|
25725
|
+
title: disabled ? disabledTitle : undefined,
|
25719
25726
|
children: [jsxRuntime$1.jsx(Label$3, {
|
25720
25727
|
children: label
|
25721
25728
|
}), jsxRuntime$1.jsx(DayPickerInput__default['default'], {
|
@@ -25728,7 +25735,10 @@
|
|
25728
25735
|
dayPickerProps: daypickerprops,
|
25729
25736
|
placeholder: 'dd.mm.åååå',
|
25730
25737
|
onDayPickerHide: onBlur,
|
25731
|
-
value: value
|
25738
|
+
value: value,
|
25739
|
+
inputProps: {
|
25740
|
+
disabled: disabled
|
25741
|
+
}
|
25732
25742
|
}), invalidMessage && jsxRuntime$1.jsx(IconErrorOutline$1, {
|
25733
25743
|
size: "16px"
|
25734
25744
|
}), invalidMessage && jsxRuntime$1.jsx(ErrorMessage$2, {
|
@@ -29675,7 +29685,10 @@
|
|
29675
29685
|
const callbackValue = _isDate ? handleStringToDateConvertion(validatedTime, value) : validatedTime;
|
29676
29686
|
callback(callbackValue);
|
29677
29687
|
event.persist();
|
29678
|
-
};
|
29688
|
+
}; // Select all on input focus
|
29689
|
+
|
29690
|
+
|
29691
|
+
const handleFocus = event => event.target.select();
|
29679
29692
|
|
29680
29693
|
return jsxRuntime$1.jsxs("label", {
|
29681
29694
|
css: theme => [styles$4.default(theme, height, _defaultWidth), validation && styles$4.validation, invalidMessage && styles$4.invalid(theme)],
|
@@ -29687,7 +29700,8 @@
|
|
29687
29700
|
disabled: disabled,
|
29688
29701
|
css: theme => [disabled && styles$4.disabled(theme), css && css],
|
29689
29702
|
onChange: event => onInputChange(event, v => onChange && onChange(v)),
|
29690
|
-
onBlur: onBlur
|
29703
|
+
onBlur: onBlur,
|
29704
|
+
onFocus: handleFocus
|
29691
29705
|
}), invalidMessage && jsxRuntime$1.jsx(IconErrorOutline$1, {
|
29692
29706
|
size: "16px"
|
29693
29707
|
}), invalidMessage && jsxRuntime$1.jsx(ErrorMessage, {
|
@@ -30645,11 +30659,12 @@
|
|
30645
30659
|
isModal,
|
30646
30660
|
attachmentsRef,
|
30647
30661
|
imageSrc,
|
30662
|
+
showAllContent,
|
30648
30663
|
onAttachmentDownload,
|
30649
30664
|
onEventDownload,
|
30650
30665
|
onModalClose
|
30651
30666
|
}) => {
|
30652
|
-
const [open, setOpen] = React.useState(
|
30667
|
+
const [open, setOpen] = React.useState(!!showAllContent);
|
30653
30668
|
const theme = react.useTheme();
|
30654
30669
|
|
30655
30670
|
const Content = /*#__PURE__*/jsxRuntime.jsxs(Wrapper$1, {
|
@@ -30681,7 +30696,7 @@
|
|
30681
30696
|
externalLinks: true,
|
30682
30697
|
text: open ? notice.bodyHtml : notice.bodyHtml.substring(0, 2000)
|
30683
30698
|
})
|
30684
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Div, {
|
30699
|
+
}), !showAllContent && /*#__PURE__*/jsxRuntime.jsx(Div, {
|
30685
30700
|
children: /*#__PURE__*/jsxRuntime.jsx(Link, {
|
30686
30701
|
onClick: () => setOpen(!open),
|
30687
30702
|
children: open ? 'Vis mindre' : 'Les mer'
|
@@ -19,7 +19,9 @@ const Datepicker = ({
|
|
19
19
|
validation,
|
20
20
|
maxDate,
|
21
21
|
minDate,
|
22
|
-
withYearMonthForm = true
|
22
|
+
withYearMonthForm = true,
|
23
|
+
disabled,
|
24
|
+
disabledTitle
|
23
25
|
}) => {
|
24
26
|
const currentYear = new Date().getFullYear();
|
25
27
|
const toDate = maxDate ? new Date(maxDate) : new Date(currentYear, 11, 31);
|
@@ -61,6 +63,7 @@ const Datepicker = ({
|
|
61
63
|
|
62
64
|
return _jsxs(Wrapper, {
|
63
65
|
css: theme => [styles.default(theme), validation && styles.validation, invalidMessage && styles.invalid(theme)],
|
66
|
+
title: disabled ? disabledTitle : undefined,
|
64
67
|
children: [_jsx(Label, {
|
65
68
|
children: label
|
66
69
|
}), _jsx(DayPickerInput, {
|
@@ -73,7 +76,10 @@ const Datepicker = ({
|
|
73
76
|
dayPickerProps: daypickerprops,
|
74
77
|
placeholder: 'dd.mm.åååå',
|
75
78
|
onDayPickerHide: onBlur,
|
76
|
-
value: value
|
79
|
+
value: value,
|
80
|
+
inputProps: {
|
81
|
+
disabled: disabled
|
82
|
+
}
|
77
83
|
}), invalidMessage && _jsx(IconErrorOutline, {
|
78
84
|
size: "16px"
|
79
85
|
}), invalidMessage && _jsx(ErrorMessage, {
|
@@ -14,6 +14,8 @@ const FileInput = ({
|
|
14
14
|
text = 'Last opp fil',
|
15
15
|
initialFiles = [],
|
16
16
|
width = '130px',
|
17
|
+
hideFileList,
|
18
|
+
icon = /*#__PURE__*/_jsx(IconAttachment, {}),
|
17
19
|
onChange
|
18
20
|
}) => {
|
19
21
|
const [files, setFiles] = useState(initialFiles);
|
@@ -63,7 +65,7 @@ const FileInput = ({
|
|
63
65
|
children: [label && /*#__PURE__*/_jsx(Label, {
|
64
66
|
children: label
|
65
67
|
}), /*#__PURE__*/_jsxs(FileWrapper, {
|
66
|
-
children: [files.length > 0 && /*#__PURE__*/_jsx(DocumentList, {
|
68
|
+
children: [files.length > 0 && !hideFileList && /*#__PURE__*/_jsx(DocumentList, {
|
67
69
|
children: files.map((item, index) => /*#__PURE__*/_jsxs(DocumentWrapper, {
|
68
70
|
children: [/*#__PURE__*/_jsx(Document, {
|
69
71
|
theme: theme,
|
@@ -87,7 +89,7 @@ const FileInput = ({
|
|
87
89
|
width: width,
|
88
90
|
children: /*#__PURE__*/_jsxs(ButtonContent, {
|
89
91
|
children: [text, /*#__PURE__*/_jsx(Icon, {
|
90
|
-
children:
|
92
|
+
children: icon
|
91
93
|
})]
|
92
94
|
})
|
93
95
|
}), /*#__PURE__*/_jsx(HiddenInput, {
|
package/esm/core/Modal/index.js
CHANGED
@@ -19,7 +19,8 @@ const Modal = ({
|
|
19
19
|
hideCloseButton,
|
20
20
|
disableScroll = true,
|
21
21
|
targetRefs,
|
22
|
-
disableScrollableContent
|
22
|
+
disableScrollableContent,
|
23
|
+
contentCss
|
23
24
|
}) => {
|
24
25
|
const modalRef = /*#__PURE__*/React.createRef();
|
25
26
|
const [isOpen, setOpen] = useState(open);
|
@@ -81,6 +82,7 @@ const Modal = ({
|
|
81
82
|
}), _jsx(HeaderWrapper, {
|
82
83
|
children: header && header
|
83
84
|
}), _jsx(ModalContent, {
|
85
|
+
css: contentCss,
|
84
86
|
scrollable: !disableScrollableContent,
|
85
87
|
ref: disableScrollableContent ? modalRef : undefined,
|
86
88
|
children: disableScrollableContent ? children : _jsx(ScrollableDiv, {
|
@@ -21,11 +21,12 @@ const NoticeCard = ({
|
|
21
21
|
isModal,
|
22
22
|
attachmentsRef,
|
23
23
|
imageSrc,
|
24
|
+
showAllContent,
|
24
25
|
onAttachmentDownload,
|
25
26
|
onEventDownload,
|
26
27
|
onModalClose
|
27
28
|
}) => {
|
28
|
-
const [open, setOpen] = useState(
|
29
|
+
const [open, setOpen] = useState(!!showAllContent);
|
29
30
|
const theme = useTheme();
|
30
31
|
|
31
32
|
const Content = /*#__PURE__*/_jsxs(Wrapper, {
|
@@ -57,7 +58,7 @@ const NoticeCard = ({
|
|
57
58
|
externalLinks: true,
|
58
59
|
text: open ? notice.bodyHtml : notice.bodyHtml.substring(0, 2000)
|
59
60
|
})
|
60
|
-
}), /*#__PURE__*/_jsx(Div, {
|
61
|
+
}), !showAllContent && /*#__PURE__*/_jsx(Div, {
|
61
62
|
children: /*#__PURE__*/_jsx(Link, {
|
62
63
|
onClick: () => setOpen(!open),
|
63
64
|
children: open ? 'Vis mindre' : 'Les mer'
|
@@ -102,7 +102,10 @@ const TimePicker = ({
|
|
102
102
|
const callbackValue = _isDate ? handleStringToDateConvertion(validatedTime, value) : validatedTime;
|
103
103
|
callback(callbackValue);
|
104
104
|
event.persist();
|
105
|
-
};
|
105
|
+
}; // Select all on input focus
|
106
|
+
|
107
|
+
|
108
|
+
const handleFocus = event => event.target.select();
|
106
109
|
|
107
110
|
return _jsxs("label", {
|
108
111
|
css: theme => [styles.default(theme, height, _defaultWidth), validation && styles.validation, invalidMessage && styles.invalid(theme)],
|
@@ -114,7 +117,8 @@ const TimePicker = ({
|
|
114
117
|
disabled: disabled,
|
115
118
|
css: theme => [disabled && styles.disabled(theme), css && css],
|
116
119
|
onChange: event => onInputChange(event, v => onChange && onChange(v)),
|
117
|
-
onBlur: onBlur
|
120
|
+
onBlur: onBlur,
|
121
|
+
onFocus: handleFocus
|
118
122
|
}), invalidMessage && _jsx(IconErrorOutline, {
|
119
123
|
size: "16px"
|
120
124
|
}), invalidMessage && _jsx(ErrorMessage, {
|
package/esm/utils/format.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ddmmyyyy } from './dates';
|
2
|
-
/**
|
3
|
-
* PRICES
|
2
|
+
/**
|
3
|
+
* PRICES
|
4
4
|
*/
|
5
5
|
|
6
6
|
const getFormattedPrice = (price, decimals, roundDown) => {
|
@@ -45,8 +45,8 @@ const getFormattedPriceWithEnding = (price, decimals) => {
|
|
45
45
|
const formattedPrice = getFormattedPrice(price, decimals);
|
46
46
|
return formattedPrice + ' kr';
|
47
47
|
};
|
48
|
-
/**
|
49
|
-
* DATES
|
48
|
+
/**
|
49
|
+
* DATES
|
50
50
|
*/
|
51
51
|
|
52
52
|
|
@@ -71,8 +71,8 @@ const getFormattedDateTimePretty = (date, opt = ddmmyyyy) => {
|
|
71
71
|
if (!date) return '';
|
72
72
|
return `${getFormattedDate(date, opt)} kl ${getFormattedTime(date)}`;
|
73
73
|
};
|
74
|
-
/**
|
75
|
-
* OTHERS
|
74
|
+
/**
|
75
|
+
* OTHERS
|
76
76
|
*/
|
77
77
|
|
78
78
|
|
@@ -19,6 +19,10 @@ interface IProps {
|
|
19
19
|
minDate?: Date;
|
20
20
|
/** With month and year selects, defaults to true */
|
21
21
|
withYearMonthForm?: boolean;
|
22
|
+
/** Disables input */
|
23
|
+
disabled?: boolean;
|
24
|
+
/** Adds title if disabled */
|
25
|
+
disabledTitle?: string;
|
22
26
|
}
|
23
27
|
declare const Datepicker: React.FC<IProps>;
|
24
28
|
export default Datepicker;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Datepicker/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAsC,MAAM,OAAO,CAAA;AAc1D,UAAU,MAAM;IACd,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Datepicker/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAsC,MAAM,OAAO,CAAA;AAc1D,UAAU,MAAM;IACd,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAID,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAmFhC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
@@ -19,7 +19,9 @@ const Datepicker = ({
|
|
19
19
|
validation,
|
20
20
|
maxDate,
|
21
21
|
minDate,
|
22
|
-
withYearMonthForm = true
|
22
|
+
withYearMonthForm = true,
|
23
|
+
disabled,
|
24
|
+
disabledTitle
|
23
25
|
}) => {
|
24
26
|
const currentYear = new Date().getFullYear();
|
25
27
|
const toDate = maxDate ? new Date(maxDate) : new Date(currentYear, 11, 31);
|
@@ -61,6 +63,7 @@ const Datepicker = ({
|
|
61
63
|
|
62
64
|
return _jsxs(Wrapper, {
|
63
65
|
css: theme => [styles.default(theme), validation && styles.validation, invalidMessage && styles.invalid(theme)],
|
66
|
+
title: disabled ? disabledTitle : undefined,
|
64
67
|
children: [_jsx(Label, {
|
65
68
|
children: label
|
66
69
|
}), _jsx(DayPickerInput, {
|
@@ -73,7 +76,10 @@ const Datepicker = ({
|
|
73
76
|
dayPickerProps: daypickerprops,
|
74
77
|
placeholder: 'dd.mm.åååå',
|
75
78
|
onDayPickerHide: onBlur,
|
76
|
-
value: value
|
79
|
+
value: value,
|
80
|
+
inputProps: {
|
81
|
+
disabled: disabled
|
82
|
+
}
|
77
83
|
}), invalidMessage && _jsx(IconErrorOutline, {
|
78
84
|
size: "16px"
|
79
85
|
}), invalidMessage && _jsx(ErrorMessage, {
|
@@ -11,10 +11,14 @@ interface IProps {
|
|
11
11
|
/** Custom button text */
|
12
12
|
text?: string;
|
13
13
|
/** Initial files */
|
14
|
-
initialFiles?:
|
14
|
+
initialFiles?: File[];
|
15
15
|
/** Button width */
|
16
16
|
width?: string;
|
17
|
-
/**
|
17
|
+
/** Hides file list */
|
18
|
+
hideFileList?: boolean;
|
19
|
+
/** Hides file list */
|
20
|
+
icon?: React.ReactNode;
|
21
|
+
/** Event CB on change, returns object if not multiple is set, if not return list of type File[] */
|
18
22
|
onChange: (files: any) => void;
|
19
23
|
}
|
20
24
|
declare const FileInput: React.FC<IProps>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/FileInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAmB/C,UAAU,MAAM;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB;IACpB,YAAY,CAAC,EAAE,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/FileInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAmB/C,UAAU,MAAM;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB;IACpB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,oGAAoG;IACpG,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;CAC/B;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAkG/B,CAAA;AAED,eAAe,SAAS,CAAA"}
|
@@ -14,6 +14,8 @@ const FileInput = ({
|
|
14
14
|
text = 'Last opp fil',
|
15
15
|
initialFiles = [],
|
16
16
|
width = '130px',
|
17
|
+
hideFileList,
|
18
|
+
icon = /*#__PURE__*/_jsx(IconAttachment, {}),
|
17
19
|
onChange
|
18
20
|
}) => {
|
19
21
|
const [files, setFiles] = useState(initialFiles);
|
@@ -63,7 +65,7 @@ const FileInput = ({
|
|
63
65
|
children: [label && /*#__PURE__*/_jsx(Label, {
|
64
66
|
children: label
|
65
67
|
}), /*#__PURE__*/_jsxs(FileWrapper, {
|
66
|
-
children: [files.length > 0 && /*#__PURE__*/_jsx(DocumentList, {
|
68
|
+
children: [files.length > 0 && !hideFileList && /*#__PURE__*/_jsx(DocumentList, {
|
67
69
|
children: files.map((item, index) => /*#__PURE__*/_jsxs(DocumentWrapper, {
|
68
70
|
children: [/*#__PURE__*/_jsx(Document, {
|
69
71
|
theme: theme,
|
@@ -87,7 +89,7 @@ const FileInput = ({
|
|
87
89
|
width: width,
|
88
90
|
children: /*#__PURE__*/_jsxs(ButtonContent, {
|
89
91
|
children: [text, /*#__PURE__*/_jsx(Icon, {
|
90
|
-
children:
|
92
|
+
children: icon
|
91
93
|
})]
|
92
94
|
})
|
93
95
|
}), /*#__PURE__*/_jsx(HiddenInput, {
|
@@ -1,5 +1,6 @@
|
|
1
1
|
/** @jsxImportSource @emotion/react */
|
2
2
|
import React from 'react';
|
3
|
+
import { SerializedStyles } from '@emotion/react';
|
3
4
|
interface IProps {
|
4
5
|
/** Property for open modal */
|
5
6
|
open?: boolean;
|
@@ -21,6 +22,8 @@ interface IProps {
|
|
21
22
|
disableScroll?: boolean;
|
22
23
|
/** Removes max-height and overflow: hidden from Modal-content, e.g: allow dropdown-content to appear outside Modal-content */
|
23
24
|
disableScrollableContent?: boolean;
|
25
|
+
/** Override content css */
|
26
|
+
contentCss?: SerializedStyles;
|
24
27
|
}
|
25
28
|
declare const Modal: React.FC<IProps>;
|
26
29
|
export default Modal;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Modal/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Modal/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAA8B,MAAM,OAAO,CAAA;AAmBlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,UAAU,MAAM;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,oCAAoC;IACpC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kCAAkC;IAClC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;IAClB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8HAA8H;IAC9H,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC9B;AAED,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CA4F3B,CAAA;AAED,eAAe,KAAK,CAAA"}
|
package/lib/core/Modal/index.js
CHANGED
@@ -19,7 +19,8 @@ const Modal = ({
|
|
19
19
|
hideCloseButton,
|
20
20
|
disableScroll = true,
|
21
21
|
targetRefs,
|
22
|
-
disableScrollableContent
|
22
|
+
disableScrollableContent,
|
23
|
+
contentCss
|
23
24
|
}) => {
|
24
25
|
const modalRef = /*#__PURE__*/React.createRef();
|
25
26
|
const [isOpen, setOpen] = useState(open);
|
@@ -81,6 +82,7 @@ const Modal = ({
|
|
81
82
|
}), _jsx(HeaderWrapper, {
|
82
83
|
children: header && header
|
83
84
|
}), _jsx(ModalContent, {
|
85
|
+
css: contentCss,
|
84
86
|
scrollable: !disableScrollableContent,
|
85
87
|
ref: disableScrollableContent ? modalRef : undefined,
|
86
88
|
children: disableScrollableContent ? children : _jsx(ScrollableDiv, {
|
@@ -9,6 +9,8 @@ interface IProps {
|
|
9
9
|
imageSrc?: string;
|
10
10
|
/** Shows the notice in a Modal */
|
11
11
|
isModal?: boolean;
|
12
|
+
/** Show all html content (removes show more / show less) */
|
13
|
+
showAllContent?: boolean;
|
12
14
|
/** CB on close if Modal */
|
13
15
|
onModalClose?: () => void;
|
14
16
|
/** CB on event download */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/NoticeCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AAQ3C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOrD,UAAU,MAAM;IACd,iBAAiB;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,8BAA8B;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC7C,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,0BAA0B;IAC1B,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC/D;AAED,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/NoticeCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AAQ3C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAOrD,UAAU,MAAM;IACd,iBAAiB;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,8BAA8B;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC7C,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,0BAA0B;IAC1B,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC/D;AAED,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,MAAM,CA6F1B,CAAA;AAED,eAAe,UAAU,CAAA"}
|
@@ -21,11 +21,12 @@ const NoticeCard = ({
|
|
21
21
|
isModal,
|
22
22
|
attachmentsRef,
|
23
23
|
imageSrc,
|
24
|
+
showAllContent,
|
24
25
|
onAttachmentDownload,
|
25
26
|
onEventDownload,
|
26
27
|
onModalClose
|
27
28
|
}) => {
|
28
|
-
const [open, setOpen] = useState(
|
29
|
+
const [open, setOpen] = useState(!!showAllContent);
|
29
30
|
const theme = useTheme();
|
30
31
|
|
31
32
|
const Content = /*#__PURE__*/_jsxs(Wrapper, {
|
@@ -57,7 +58,7 @@ const NoticeCard = ({
|
|
57
58
|
externalLinks: true,
|
58
59
|
text: open ? notice.bodyHtml : notice.bodyHtml.substring(0, 2000)
|
59
60
|
})
|
60
|
-
}), /*#__PURE__*/_jsx(Div, {
|
61
|
+
}), !showAllContent && /*#__PURE__*/_jsx(Div, {
|
61
62
|
children: /*#__PURE__*/_jsx(Link, {
|
62
63
|
onClick: () => setOpen(!open),
|
63
64
|
children: open ? 'Vis mindre' : 'Les mer'
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Timepicker/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAapD,aAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;AAElD,UAAU,MAAM;IACd,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAA;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAA;IACtB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Timepicker/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAapD,aAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;AAElD,UAAU,MAAM;IACd,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAA;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAA;IACtB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAwLhC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
@@ -102,7 +102,10 @@ const TimePicker = ({
|
|
102
102
|
const callbackValue = _isDate ? handleStringToDateConvertion(validatedTime, value) : validatedTime;
|
103
103
|
callback(callbackValue);
|
104
104
|
event.persist();
|
105
|
-
};
|
105
|
+
}; // Select all on input focus
|
106
|
+
|
107
|
+
|
108
|
+
const handleFocus = event => event.target.select();
|
106
109
|
|
107
110
|
return _jsxs("label", {
|
108
111
|
css: theme => [styles.default(theme, height, _defaultWidth), validation && styles.validation, invalidMessage && styles.invalid(theme)],
|
@@ -114,7 +117,8 @@ const TimePicker = ({
|
|
114
117
|
disabled: disabled,
|
115
118
|
css: theme => [disabled && styles.disabled(theme), css && css],
|
116
119
|
onChange: event => onInputChange(event, v => onChange && onChange(v)),
|
117
|
-
onBlur: onBlur
|
120
|
+
onBlur: onBlur,
|
121
|
+
onFocus: handleFocus
|
118
122
|
}), invalidMessage && _jsx(IconErrorOutline, {
|
119
123
|
size: "16px"
|
120
124
|
}), invalidMessage && _jsx(ErrorMessage, {
|
package/lib/utils/format.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ddmmyyyy } from './dates';
|
2
|
-
/**
|
3
|
-
* PRICES
|
2
|
+
/**
|
3
|
+
* PRICES
|
4
4
|
*/
|
5
5
|
|
6
6
|
const getFormattedPrice = (price, decimals, roundDown) => {
|
@@ -45,8 +45,8 @@ const getFormattedPriceWithEnding = (price, decimals) => {
|
|
45
45
|
const formattedPrice = getFormattedPrice(price, decimals);
|
46
46
|
return formattedPrice + ' kr';
|
47
47
|
};
|
48
|
-
/**
|
49
|
-
* DATES
|
48
|
+
/**
|
49
|
+
* DATES
|
50
50
|
*/
|
51
51
|
|
52
52
|
|
@@ -71,8 +71,8 @@ const getFormattedDateTimePretty = (date, opt = ddmmyyyy) => {
|
|
71
71
|
if (!date) return '';
|
72
72
|
return `${getFormattedDate(date, opt)} kl ${getFormattedTime(date)}`;
|
73
73
|
};
|
74
|
-
/**
|
75
|
-
* OTHERS
|
74
|
+
/**
|
75
|
+
* OTHERS
|
76
76
|
*/
|
77
77
|
|
78
78
|
|