@navikt/ds-react 1.2.2 → 1.3.0-alpha.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/_docs.json +1119 -319
- package/cjs/datepicker/DatePicker.js +122 -0
- package/cjs/datepicker/DatePickerInput.js +68 -0
- package/cjs/datepicker/DatePickerStandalone.js +80 -0
- package/cjs/datepicker/caption/Caption.js +23 -0
- package/cjs/datepicker/caption/DropdownCaption.js +36 -0
- package/cjs/datepicker/caption/index.js +10 -0
- package/cjs/datepicker/caption/package.json +6 -0
- package/cjs/datepicker/hooks/index.js +7 -0
- package/cjs/datepicker/hooks/package.json +6 -0
- package/cjs/datepicker/hooks/useDatepicker.js +101 -0
- package/cjs/datepicker/hooks/useRangeDatepicker.js +174 -0
- package/cjs/datepicker/index.js +11 -0
- package/cjs/datepicker/package.json +6 -0
- package/cjs/datepicker/utils/dates-disabled.js +29 -0
- package/cjs/datepicker/utils/format-date.js +7 -0
- package/cjs/datepicker/utils/get-dates.js +43 -0
- package/cjs/datepicker/utils/index.js +19 -0
- package/cjs/datepicker/utils/labels.js +59 -0
- package/cjs/datepicker/utils/locale.js +21 -0
- package/cjs/datepicker/utils/package.json +6 -0
- package/cjs/datepicker/utils/parse-date.js +29 -0
- package/cjs/datepicker/utils/valid-date.js +8 -0
- package/cjs/index.js +1 -0
- package/cjs/monthpicker/MonthPicker.js +112 -0
- package/cjs/monthpicker/index.js +8 -0
- package/cjs/monthpicker/package.json +6 -0
- package/cjs/monthpicker/utils/check-dates.js +12 -0
- package/cjs/monthpicker/utils/handle-selected.js +17 -0
- package/esm/chat/Chat.d.ts +1 -1
- package/esm/datepicker/DatePicker.d.ts +107 -0
- package/esm/datepicker/DatePicker.js +94 -0
- package/esm/datepicker/DatePicker.js.map +1 -0
- package/esm/datepicker/DatePickerInput.d.ts +25 -0
- package/esm/datepicker/DatePickerInput.js +40 -0
- package/esm/datepicker/DatePickerInput.js.map +1 -0
- package/esm/datepicker/DatePickerStandalone.d.ts +12 -0
- package/esm/datepicker/DatePickerStandalone.js +52 -0
- package/esm/datepicker/DatePickerStandalone.js.map +1 -0
- package/esm/datepicker/caption/Caption.d.ts +4 -0
- package/esm/datepicker/caption/Caption.js +17 -0
- package/esm/datepicker/caption/Caption.js.map +1 -0
- package/esm/datepicker/caption/DropdownCaption.d.ts +4 -0
- package/esm/datepicker/caption/DropdownCaption.js +30 -0
- package/esm/datepicker/caption/DropdownCaption.js.map +1 -0
- package/esm/datepicker/caption/index.d.ts +2 -0
- package/esm/datepicker/caption/index.js +3 -0
- package/esm/datepicker/caption/index.js.map +1 -0
- package/esm/datepicker/hooks/index.d.ts +2 -0
- package/esm/datepicker/hooks/index.js +3 -0
- package/esm/datepicker/hooks/index.js.map +1 -0
- package/esm/datepicker/hooks/useDatepicker.d.ts +37 -0
- package/esm/datepicker/hooks/useDatepicker.js +98 -0
- package/esm/datepicker/hooks/useDatepicker.js.map +1 -0
- package/esm/datepicker/hooks/useRangeDatepicker.d.ts +36 -0
- package/esm/datepicker/hooks/useRangeDatepicker.js +171 -0
- package/esm/datepicker/hooks/useRangeDatepicker.js.map +1 -0
- package/esm/datepicker/index.d.ts +5 -0
- package/esm/datepicker/index.js +3 -0
- package/esm/datepicker/index.js.map +1 -0
- package/esm/datepicker/utils/dates-disabled.d.ts +1 -0
- package/esm/datepicker/utils/dates-disabled.js +26 -0
- package/esm/datepicker/utils/dates-disabled.js.map +1 -0
- package/esm/datepicker/utils/format-date.d.ts +1 -0
- package/esm/datepicker/utils/format-date.js +4 -0
- package/esm/datepicker/utils/format-date.js.map +1 -0
- package/esm/datepicker/utils/get-dates.d.ts +2 -0
- package/esm/datepicker/utils/get-dates.js +39 -0
- package/esm/datepicker/utils/get-dates.js.map +1 -0
- package/esm/datepicker/utils/index.d.ts +6 -0
- package/esm/datepicker/utils/index.js +7 -0
- package/esm/datepicker/utils/index.js.map +1 -0
- package/esm/datepicker/utils/labels.d.ts +4 -0
- package/esm/datepicker/utils/labels.js +55 -0
- package/esm/datepicker/utils/labels.js.map +1 -0
- package/esm/datepicker/utils/locale.d.ts +2 -0
- package/esm/datepicker/utils/locale.js +15 -0
- package/esm/datepicker/utils/locale.js.map +1 -0
- package/esm/datepicker/utils/parse-date.d.ts +2 -0
- package/esm/datepicker/utils/parse-date.js +26 -0
- package/esm/datepicker/utils/parse-date.js.map +1 -0
- package/esm/datepicker/utils/valid-date.d.ts +2 -0
- package/esm/datepicker/utils/valid-date.js +5 -0
- package/esm/datepicker/utils/valid-date.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/monthpicker/MonthPicker.d.ts +27 -0
- package/esm/monthpicker/MonthPicker.js +84 -0
- package/esm/monthpicker/MonthPicker.js.map +1 -0
- package/esm/monthpicker/index.d.ts +2 -0
- package/esm/monthpicker/index.js +2 -0
- package/esm/monthpicker/index.js.map +1 -0
- package/esm/monthpicker/utils/check-dates.d.ts +2 -0
- package/esm/monthpicker/utils/check-dates.js +8 -0
- package/esm/monthpicker/utils/check-dates.js.map +1 -0
- package/esm/monthpicker/utils/handle-selected.d.ts +3 -0
- package/esm/monthpicker/utils/handle-selected.js +12 -0
- package/esm/monthpicker/utils/handle-selected.js.map +1 -0
- package/package.json +7 -3
- package/src/chat/Chat.tsx +1 -1
- package/src/chat/chat.stories.tsx +1 -5
- package/src/datepicker/DatePicker.tsx +281 -0
- package/src/datepicker/DatePickerInput.tsx +131 -0
- package/src/datepicker/DatePickerStandalone.tsx +121 -0
- package/src/datepicker/caption/Caption.tsx +51 -0
- package/src/datepicker/caption/DropdownCaption.tsx +94 -0
- package/src/datepicker/caption/index.ts +2 -0
- package/src/datepicker/datepicker.stories.mdx +467 -0
- package/src/datepicker/datepicker.stories.tsx +257 -0
- package/src/datepicker/hooks/index.ts +2 -0
- package/src/datepicker/hooks/useDatepicker.tsx +181 -0
- package/src/datepicker/hooks/useRangeDatepicker.tsx +285 -0
- package/src/datepicker/index.ts +5 -0
- package/src/datepicker/utils/__tests__/dates-disabled.test.ts +48 -0
- package/src/datepicker/utils/__tests__/format-dates.test.ts +14 -0
- package/src/datepicker/utils/__tests__/get-dates.test.ts +79 -0
- package/src/datepicker/utils/__tests__/parse-dates.test.ts +81 -0
- package/src/datepicker/utils/dates-disabled.ts +26 -0
- package/src/datepicker/utils/format-date.ts +5 -0
- package/src/datepicker/utils/get-dates.ts +44 -0
- package/src/datepicker/utils/index.ts +6 -0
- package/src/datepicker/utils/labels.ts +58 -0
- package/src/datepicker/utils/locale.ts +15 -0
- package/src/datepicker/utils/parse-date.ts +28 -0
- package/src/datepicker/utils/valid-date.ts +4 -0
- package/src/index.ts +1 -0
- package/src/monthpicker/MonthPicker.tsx +238 -0
- package/src/monthpicker/index.ts +2 -0
- package/src/monthpicker/monthpicker.stories.tsx +35 -0
- package/src/monthpicker/utils/__tests__/check-dates.test.ts +34 -0
- package/src/monthpicker/utils/__tests__/handle-selected.test.ts +87 -0
- package/src/monthpicker/utils/check-dates.ts +15 -0
- package/src/monthpicker/utils/handle-selected.ts +26 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as DatePicker } from "./DatePicker";
|
|
2
|
+
export { DatePickerProps } from "./DatePicker";
|
|
3
|
+
export { DatePickerStandaloneProps } from "./DatePickerStandalone";
|
|
4
|
+
export { DatePickerInputProps } from "./DatePickerInput";
|
|
5
|
+
export { useDatepicker, useRangeDatepicker } from "./hooks";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/datepicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const disableDate: (disabledSelection: Date | Array<any>, date: Date) => boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isSameDay } from "date-fns";
|
|
2
|
+
import { isDateRange } from "react-day-picker";
|
|
3
|
+
// TODO: ((date: Date) => boolean)
|
|
4
|
+
export const disableDate = (disabledSelection, date) => {
|
|
5
|
+
let result = false;
|
|
6
|
+
if (disabledSelection instanceof Date) {
|
|
7
|
+
return isSameDay(disabledSelection, date);
|
|
8
|
+
}
|
|
9
|
+
else if (disabledSelection instanceof Array) {
|
|
10
|
+
for (let i = 0; i < disabledSelection.length; i++) {
|
|
11
|
+
const selection = disabledSelection[i];
|
|
12
|
+
if (isDateRange(selection)) {
|
|
13
|
+
if (selection.from && selection.to) {
|
|
14
|
+
result = date >= selection.from && date <= selection.to;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else if (selection instanceof Date) {
|
|
18
|
+
result = isSameDay(selection, date);
|
|
19
|
+
}
|
|
20
|
+
if (result)
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=dates-disabled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates-disabled.js","sourceRoot":"","sources":["../../../src/datepicker/utils/dates-disabled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,iBAAoC,EACpC,IAAU,EACD,EAAE;IACX,IAAI,MAAM,GAAY,KAAK,CAAC;IAC5B,IAAI,iBAAiB,YAAY,IAAI,EAAE;QACrC,OAAO,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KAC3C;SAAM,IAAI,iBAAiB,YAAY,KAAK,EAAE;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE;gBAC1B,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,EAAE;oBAClC,MAAM,GAAG,IAAI,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;iBACzD;aACF;iBAAM,IAAI,SAAS,YAAY,IAAI,EAAE;gBACpC,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACrC;YACD,IAAI,MAAM;gBAAE,MAAM;SACnB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatDateForInput: (date: Date, locale: Locale) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-date.js","sourceRoot":"","sources":["../../../src/datepicker/utils/format-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAE,MAAc,EAAE,EAAE,CAC/D,MAAM,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { isSameYear, setMonth, setYear, startOfMonth, startOfYear, } from "date-fns";
|
|
2
|
+
export const getMonths = (start, end, current) => {
|
|
3
|
+
const dropdownMonths = [];
|
|
4
|
+
if (isSameYear(start, end)) {
|
|
5
|
+
const date = startOfMonth(start);
|
|
6
|
+
for (let month = start.getMonth(); month <= end.getMonth(); month++) {
|
|
7
|
+
dropdownMonths.push(setMonth(date, month));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
else if (isSameYear(current, end)) {
|
|
11
|
+
const date = startOfMonth(new Date());
|
|
12
|
+
for (let month = 0; month <= end.getMonth(); month++) {
|
|
13
|
+
dropdownMonths.push(setMonth(date, month));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
else if (isSameYear(current, start)) {
|
|
17
|
+
const date = startOfMonth(start);
|
|
18
|
+
for (let month = date.getMonth(); month <= 11; month++) {
|
|
19
|
+
dropdownMonths.push(setMonth(date, month));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const date = startOfMonth(new Date());
|
|
24
|
+
for (let month = 0; month <= 11; month++) {
|
|
25
|
+
dropdownMonths.push(setMonth(date, month));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return dropdownMonths;
|
|
29
|
+
};
|
|
30
|
+
export const getYears = (start, end) => {
|
|
31
|
+
const years = [];
|
|
32
|
+
const fromYear = start.getFullYear();
|
|
33
|
+
const toYear = end.getFullYear();
|
|
34
|
+
for (let year = fromYear; year <= toYear; year++) {
|
|
35
|
+
years.push(setYear(startOfYear(new Date()), year));
|
|
36
|
+
}
|
|
37
|
+
return years;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=get-dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-dates.js","sourceRoot":"","sources":["../../../src/datepicker/utils/get-dates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,GACZ,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAW,EAAE,GAAS,EAAE,OAAa,EAAU,EAAE;IACzE,MAAM,cAAc,GAAW,EAAE,CAAC;IAElC,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;YACnE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5C;KACF;SAAM,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACnC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;YACpD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5C;KACF;SAAM,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QACrC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE;YACtD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5C;KACF;SAAM;QACL,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACtC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE;YACxC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAC5C;KACF;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAW,EAAE,GAAS,EAAU,EAAE;IACzD,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,KAAK,IAAI,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE;QAChD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;KACpD;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { formatDateForInput } from "./format-date";
|
|
2
|
+
export { getMonths, getYears } from "./get-dates";
|
|
3
|
+
export { labelMonthDropdown, labelYearDropdown, labels } from "./labels";
|
|
4
|
+
export { INPUT_DATE_STRING_FORMAT, parseDate } from "./parse-date";
|
|
5
|
+
export { getLocaleFromString } from "./locale";
|
|
6
|
+
export { isValidDate } from "./valid-date";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { formatDateForInput } from "./format-date";
|
|
2
|
+
export { getMonths, getYears } from "./get-dates";
|
|
3
|
+
export { labelMonthDropdown, labelYearDropdown, labels } from "./labels";
|
|
4
|
+
export { INPUT_DATE_STRING_FORMAT, parseDate } from "./parse-date";
|
|
5
|
+
export { getLocaleFromString } from "./locale";
|
|
6
|
+
export { isValidDate } from "./valid-date";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/datepicker/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const labelNext = (date, options) => {
|
|
2
|
+
var _a;
|
|
3
|
+
switch ((_a = options === null || options === void 0 ? void 0 : options.locale) === null || _a === void 0 ? void 0 : _a.code) {
|
|
4
|
+
case "nb":
|
|
5
|
+
return "Gå til neste månede";
|
|
6
|
+
case "nn":
|
|
7
|
+
return "Gå til neste månede";
|
|
8
|
+
case "en":
|
|
9
|
+
return "Go to next month";
|
|
10
|
+
default:
|
|
11
|
+
return "Gå til neste månede";
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const labelPrevious = (date, options) => {
|
|
15
|
+
var _a;
|
|
16
|
+
switch ((_a = options === null || options === void 0 ? void 0 : options.locale) === null || _a === void 0 ? void 0 : _a.code) {
|
|
17
|
+
case "nb":
|
|
18
|
+
return "Gå til forrige månede";
|
|
19
|
+
case "nn":
|
|
20
|
+
return "Gå til forrige månede";
|
|
21
|
+
case "en":
|
|
22
|
+
return "Go to previous month";
|
|
23
|
+
default:
|
|
24
|
+
return "Gå til forrige månede";
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export const labelYearDropdown = (locale) => {
|
|
28
|
+
switch (locale === null || locale === void 0 ? void 0 : locale.code) {
|
|
29
|
+
case "nb":
|
|
30
|
+
return "År";
|
|
31
|
+
case "nn":
|
|
32
|
+
return "År";
|
|
33
|
+
case "en":
|
|
34
|
+
return "Year";
|
|
35
|
+
default:
|
|
36
|
+
return "År";
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export const labelMonthDropdown = (locale) => {
|
|
40
|
+
switch (locale === null || locale === void 0 ? void 0 : locale.code) {
|
|
41
|
+
case "nb":
|
|
42
|
+
return "Månede";
|
|
43
|
+
case "nn":
|
|
44
|
+
return "Månede";
|
|
45
|
+
case "en":
|
|
46
|
+
return "Month";
|
|
47
|
+
default:
|
|
48
|
+
return "Månede";
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export const labels = {
|
|
52
|
+
labelNext,
|
|
53
|
+
labelPrevious,
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../../src/datepicker/utils/labels.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;;IAClD,QAAQ,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,IAAI,EAAE;QAC7B,KAAK,IAAI;YACP,OAAO,qBAAqB,CAAC;QAC/B,KAAK,IAAI;YACP,OAAO,qBAAqB,CAAC;QAC/B,KAAK,IAAI;YACP,OAAO,kBAAkB,CAAC;QAC5B;YACE,OAAO,qBAAqB,CAAC;KAChC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;;IACtD,QAAQ,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,IAAI,EAAE;QAC7B,KAAK,IAAI;YACP,OAAO,uBAAuB,CAAC;QACjC,KAAK,IAAI;YACP,OAAO,uBAAuB,CAAC;QACjC,KAAK,IAAI;YACP,OAAO,sBAAsB,CAAC;QAChC;YACE,OAAO,uBAAuB,CAAC;KAClC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,EAAE;IAClD,QAAQ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;QACpB,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd,KAAK,IAAI;YACP,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACnD,QAAQ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;QACpB,KAAK,IAAI;YACP,OAAO,QAAQ,CAAC;QAClB,KAAK,IAAI;YACP,OAAO,QAAQ,CAAC;QAClB,KAAK,IAAI;YACP,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,QAAQ,CAAC;KACnB;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAoB;IACrC,SAAS;IACT,aAAa;CACd,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import enGB from "date-fns/locale/en-GB";
|
|
2
|
+
import nb from "date-fns/locale/nb";
|
|
3
|
+
import nn from "date-fns/locale/nn";
|
|
4
|
+
/** @private */
|
|
5
|
+
export const getLocaleFromString = (locale = "nb") => {
|
|
6
|
+
switch (locale) {
|
|
7
|
+
case "nn":
|
|
8
|
+
return nn;
|
|
9
|
+
case "en":
|
|
10
|
+
return enGB;
|
|
11
|
+
default:
|
|
12
|
+
return nb;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../src/datepicker/utils/locale.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpC,eAAe;AACf,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAA6B,IAAI,EAAE,EAAE;IACvE,QAAQ,MAAM,EAAE;QACd,KAAK,IAAI;YACP,OAAO,EAAE,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd;YACE,OAAO,EAAE,CAAC;KACb;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { parse } from "date-fns";
|
|
2
|
+
import { isValidDate } from "./valid-date";
|
|
3
|
+
export const INPUT_DATE_STRING_FORMAT = "dd.MM.yyyy";
|
|
4
|
+
const ALLOWED_INPUT_FORMATS = [
|
|
5
|
+
"ddMMyy",
|
|
6
|
+
"d.M.yy",
|
|
7
|
+
"dd.MM.yy",
|
|
8
|
+
"dd/MM/yy",
|
|
9
|
+
"dd-MM-yy",
|
|
10
|
+
INPUT_DATE_STRING_FORMAT,
|
|
11
|
+
"ddMMyyyy",
|
|
12
|
+
"dd/MM/yyyy",
|
|
13
|
+
"dd-MM-yyyy",
|
|
14
|
+
"d.M.yyyy",
|
|
15
|
+
];
|
|
16
|
+
export const parseDate = (date, today, locale) => {
|
|
17
|
+
let parsed;
|
|
18
|
+
for (const format of ALLOWED_INPUT_FORMATS) {
|
|
19
|
+
parsed = parse(date, format, today, { locale });
|
|
20
|
+
if (isValidDate(parsed)) {
|
|
21
|
+
return parsed;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return parsed;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=parse-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-date.js","sourceRoot":"","sources":["../../../src/datepicker/utils/parse-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,UAAU;IACV,UAAU;IACV,wBAAwB;IACxB,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAW,EAAE,MAAc,EAAE,EAAE;IACrE,IAAI,MAAM,CAAC;IACX,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE;QAC1C,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,MAAM,CAAC;SACf;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valid-date.js","sourceRoot":"","sources":["../../../src/datepicker/utils/valid-date.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,MAAM,UAAU,WAAW,CAAC,GAAS;IACnC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/B,CAAC"}
|
package/esm/index.d.ts
CHANGED
package/esm/index.js
CHANGED
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface MonthPickerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
mode?: "month";
|
|
5
|
+
/**
|
|
6
|
+
* The earliest day to start the month navigation.
|
|
7
|
+
*/
|
|
8
|
+
fromDate?: Date;
|
|
9
|
+
/**
|
|
10
|
+
* The latest day to end the month navigation.
|
|
11
|
+
*/
|
|
12
|
+
toDate?: Date;
|
|
13
|
+
/**
|
|
14
|
+
* Changes monthpicker locale
|
|
15
|
+
* @default "nb" (norsk bokmål)
|
|
16
|
+
*/
|
|
17
|
+
locale?: "nb" | "nn" | "en";
|
|
18
|
+
/**
|
|
19
|
+
* Adds a `Select` for picking Year
|
|
20
|
+
* Needs `fromDate` + `toDate` to be set!
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
yearSelector?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare const MonthPicker: React.ForwardRefExoticComponent<MonthPickerProps & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
export default MonthPicker;
|
|
27
|
+
export declare const F = "";
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Left, Right } from "@navikt/ds-icons";
|
|
2
|
+
import cl from "clsx";
|
|
3
|
+
import { compareAsc, format, isSameYear, setMonth, setYear, startOfMonth, startOfYear, } from "date-fns";
|
|
4
|
+
import NB from "date-fns/locale/nb";
|
|
5
|
+
import React, { forwardRef, useState } from "react";
|
|
6
|
+
import { RootProvider, useDayPicker, useNavigation } from "react-day-picker";
|
|
7
|
+
import { BodyShort, Select } from "..";
|
|
8
|
+
import { dateIsInCurrentMonth, dateIsSelected } from "./utils/check-dates";
|
|
9
|
+
const TestCaption = ({ selected, onSelect, isValidYearSelector, yearSelector, }) => {
|
|
10
|
+
const { nextMonth, previousMonth } = useNavigation();
|
|
11
|
+
const { fromDate, toDate, formatters: { formatYearCaption }, locale, } = useDayPicker();
|
|
12
|
+
const [yearState, setYearState] = useState(selected);
|
|
13
|
+
const years = [];
|
|
14
|
+
if (yearSelector && fromDate && toDate) {
|
|
15
|
+
const fromYear = fromDate.getFullYear();
|
|
16
|
+
const toYear = toDate.getFullYear();
|
|
17
|
+
for (let year = fromYear; year <= toYear; year++) {
|
|
18
|
+
years.push(setYear(startOfYear(new Date()), year));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const handleYearChange = (e) => {
|
|
22
|
+
const newMonth = setYear(startOfMonth(selected), Number(e.target.value));
|
|
23
|
+
setYearState(newMonth);
|
|
24
|
+
onSelect(newMonth);
|
|
25
|
+
};
|
|
26
|
+
const handleButtonClick = (val) => {
|
|
27
|
+
const newMonth = setYear(startOfMonth(selected), yearState.getFullYear() + val);
|
|
28
|
+
setYearState(newMonth);
|
|
29
|
+
onSelect(newMonth);
|
|
30
|
+
};
|
|
31
|
+
return (React.createElement("div", { className: "navds-monthpicker__caption" },
|
|
32
|
+
React.createElement("button", { className: "navds-monthpicker__caption-button", disabled: !previousMonth, onClick: () => years.some((x) => yearState.getFullYear() - 1 === x.getFullYear()) &&
|
|
33
|
+
handleButtonClick(-1) },
|
|
34
|
+
React.createElement(Left, { "aria-hidden": true })),
|
|
35
|
+
isValidYearSelector ? (React.createElement(Select, { label: "velg \u00E5r", hideLabel: true, value: selected === null || selected === void 0 ? void 0 : selected.getFullYear(), onChange: handleYearChange, style: { width: "79px" } }, years.map((year) => (React.createElement("option", { key: year.getFullYear(), value: year.getFullYear() }, formatYearCaption(year, { locale })))))) : (React.createElement("span", { className: "navds-monthpicker__year-label", "aria-live": "polite" }, yearState.getFullYear())),
|
|
36
|
+
React.createElement("button", { className: "navds-monthpicker__caption-button", disabled: !nextMonth, onClick: () => years.some((x) => yearState.getFullYear() + 1 === x.getFullYear()) &&
|
|
37
|
+
handleButtonClick(1) },
|
|
38
|
+
React.createElement(Right, { "aria-hidden": true }))));
|
|
39
|
+
};
|
|
40
|
+
const MonthSelector = ({ onSelect, selected, }) => {
|
|
41
|
+
const months = [];
|
|
42
|
+
const { fromDate, toDate, formatters: { formatYearCaption, formatMonthCaption }, locale, } = useDayPicker();
|
|
43
|
+
if (!fromDate)
|
|
44
|
+
return React.createElement(React.Fragment, null);
|
|
45
|
+
if (!toDate)
|
|
46
|
+
return React.createElement(React.Fragment, null);
|
|
47
|
+
if (isSameYear(fromDate, toDate)) {
|
|
48
|
+
const date = startOfMonth(fromDate);
|
|
49
|
+
for (let month = fromDate.getMonth(); month <= toDate.getMonth(); month++) {
|
|
50
|
+
months.push(setMonth(date, month));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const date = startOfMonth(new Date());
|
|
55
|
+
for (let month = 0; month <= 11; month++) {
|
|
56
|
+
months.push(setMonth(date, month));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const hideMonth = (month) => {
|
|
60
|
+
return compareAsc(month, fromDate) === -1;
|
|
61
|
+
};
|
|
62
|
+
return (React.createElement(BodyShort, { as: "div", className: "navds-monthpicker__months" }, months.map((x, y) => {
|
|
63
|
+
return (React.createElement("button", { key: x.toDateString(), onClick: () => onSelect(setYear(startOfMonth(x), Number(selected.getFullYear()))), className: cl("navds-monthpicker__month", {
|
|
64
|
+
"navds-monthpicker__month--hidden": hideMonth(x),
|
|
65
|
+
"navds-monthpicker__month--current": dateIsInCurrentMonth(x, selected),
|
|
66
|
+
"navds-monthpicker__month--selected": dateIsSelected(x, selected),
|
|
67
|
+
}) },
|
|
68
|
+
React.createElement("span", { "aria-hidden": "true" }, format(new Date(x), "LLL", { locale })
|
|
69
|
+
.replace(".", "")
|
|
70
|
+
.substring(0, 3)),
|
|
71
|
+
React.createElement("span", { className: "navds-sr-only" }, format(new Date(x), "LLLL", { locale }))));
|
|
72
|
+
})));
|
|
73
|
+
};
|
|
74
|
+
export const MonthPicker = forwardRef(({ children, yearSelector = false, fromDate = new Date(), toDate = new Date("Sep 27 2032"), }, ref) => {
|
|
75
|
+
const [selected, setSelected] = React.useState(new Date());
|
|
76
|
+
const isValidYearSelector = yearSelector && fromDate && toDate ? true : false;
|
|
77
|
+
return (React.createElement(RootProvider, { locale: NB, selected: selected, className: "navds-monthpicker-month", toDate: toDate, fromDate: fromDate },
|
|
78
|
+
React.createElement("div", { className: "navds-monthpicker__wrapper" },
|
|
79
|
+
React.createElement(TestCaption, { selected: selected, onSelect: setSelected, yearSelector: yearSelector, isValidYearSelector: isValidYearSelector }),
|
|
80
|
+
React.createElement(MonthSelector, { onSelect: setSelected, selected: selected }))));
|
|
81
|
+
});
|
|
82
|
+
export default MonthPicker;
|
|
83
|
+
export const F = "";
|
|
84
|
+
//# sourceMappingURL=MonthPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonthPicker.js","sourceRoot":"","sources":["../../src/monthpicker/MonthPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/monthpicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isThisMonth, setYear, isSameMonth } from "date-fns";
|
|
2
|
+
export const dateIsInCurrentMonth = (date, dateToCompare) => {
|
|
3
|
+
return isThisMonth(setYear(date, Number(dateToCompare.getFullYear())));
|
|
4
|
+
};
|
|
5
|
+
export const dateIsSelected = (date, selectedDate) => {
|
|
6
|
+
return isSameMonth(setYear(date, Number(selectedDate.getFullYear())), selectedDate);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=check-dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-dates.js","sourceRoot":"","sources":["../../../src/monthpicker/utils/check-dates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAU,EACV,aAAmB,EACV,EAAE;IACX,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,YAAkB,EAAW,EAAE;IACxE,OAAO,WAAW,CAChB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,EACjD,YAAY,CACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const updateWithoutYearSelector: (yearState: Date, val: number) => Date;
|
|
2
|
+
export declare const updateWithYearSelector: (yearState: Date, selected: Date, years: Date[], val: number) => Date;
|
|
3
|
+
export declare const hasNextYear: (yearState: Date, years: Date[], val: any) => boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { startOfMonth, setYear } from "date-fns";
|
|
2
|
+
export const updateWithoutYearSelector = (yearState, val) => {
|
|
3
|
+
const newYear = Number(yearState.getFullYear() + val);
|
|
4
|
+
return setYear(yearState, newYear);
|
|
5
|
+
};
|
|
6
|
+
export const updateWithYearSelector = (yearState, selected, years, val) => {
|
|
7
|
+
return setYear(startOfMonth(selected), yearState.getFullYear() + val);
|
|
8
|
+
};
|
|
9
|
+
export const hasNextYear = (yearState, years, val) => {
|
|
10
|
+
return years.some((x) => yearState.getFullYear() + val === x.getFullYear());
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=handle-selected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-selected.js","sourceRoot":"","sources":["../../../src/monthpicker/utils/handle-selected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,SAAe,EACf,GAAW,EACL,EAAE;IACR,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAAe,EACf,QAAc,EACd,KAAa,EACb,GAAW,EACL,EAAE;IACR,OAAO,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAe,EACf,KAAa,EACb,GAAQ,EACC,EAAE;IACX,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0-alpha.0",
|
|
4
4
|
"description": "NAV designsystem react components",
|
|
5
5
|
"author": "NAV Designsystem team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,10 +36,13 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@floating-ui/react-dom-interactions": "0.9.2",
|
|
39
|
-
"@navikt/ds-icons": "^1.
|
|
39
|
+
"@navikt/ds-icons": "^1.3.0-alpha.0",
|
|
40
40
|
"@radix-ui/react-tabs": "1.0.0",
|
|
41
41
|
"@radix-ui/react-toggle-group": "1.0.0",
|
|
42
42
|
"clsx": "^1.1.1",
|
|
43
|
+
"date-fns": "2.29.2",
|
|
44
|
+
"focus-trap-react": "^10.0.0",
|
|
45
|
+
"react-day-picker": "^8.1.4",
|
|
43
46
|
"react-modal": "3.15.1"
|
|
44
47
|
},
|
|
45
48
|
"devDependencies": {
|
|
@@ -53,6 +56,7 @@
|
|
|
53
56
|
"@types/react-modal": "^3.13.1",
|
|
54
57
|
"concurrently": "7.2.1",
|
|
55
58
|
"copyfiles": "^2.4.1",
|
|
59
|
+
"date-fns-tz": "1.3.6",
|
|
56
60
|
"faker": "5.5.3",
|
|
57
61
|
"fast-glob": "3.2.11",
|
|
58
62
|
"jest": "^27.5.0",
|
|
@@ -74,5 +78,5 @@
|
|
|
74
78
|
"optional": true
|
|
75
79
|
}
|
|
76
80
|
},
|
|
77
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "eb4721db0d4e4cc9b5610f20bcb3b0cad30de00a"
|
|
78
82
|
}
|
package/src/chat/Chat.tsx
CHANGED
|
@@ -118,11 +118,7 @@ export const Position = () => {
|
|
|
118
118
|
|
|
119
119
|
export const Avatar = () => {
|
|
120
120
|
return (
|
|
121
|
-
<Chat
|
|
122
|
-
avatar={<Illustration />}
|
|
123
|
-
name={"Ola Normann"}
|
|
124
|
-
timestamp={"01.01.21 14:00"}
|
|
125
|
-
>
|
|
121
|
+
<Chat avatar={<Illustration />} timestamp={"01.01.21 14:00"}>
|
|
126
122
|
<Chat.Bubble>
|
|
127
123
|
Aute minim nisi sunt mollit duis sunt nulla minim non proident.
|
|
128
124
|
</Chat.Bubble>
|