@dnb/eufemia 10.62.0 → 10.62.1
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 +8 -0
- package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
- package/cjs/components/upload/UploadFileListLink.js +3 -1
- package/cjs/components/upload/UploadFileListLink.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -0
- package/cjs/extensions/forms/Field/Upload/Upload.js +32 -15
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Value/Upload/Upload.js +12 -4
- package/cjs/extensions/forms/Value/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +8 -6
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/components/date-picker/hooks/useDates.js.map +1 -1
- package/components/upload/UploadFileListLink.js +3 -1
- package/components/upload/UploadFileListLink.js.map +1 -1
- package/es/components/date-picker/hooks/useDates.js.map +1 -1
- package/es/components/upload/UploadFileListLink.js +3 -1
- package/es/components/upload/UploadFileListLink.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -0
- package/es/extensions/forms/Field/Upload/Upload.js +27 -8
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Value/Upload/Upload.js +10 -4
- package/es/extensions/forms/Value/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.d.ts +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +8 -6
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +1 -0
- package/extensions/forms/Field/Upload/Upload.js +31 -15
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Value/Upload/Upload.js +10 -4
- package/extensions/forms/Value/Upload/Upload.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.d.ts +1 -1
- package/extensions/forms/hooks/useExternalValue.js +8 -6
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.62.1](https://github.com/dnbexperience/eufemia/compare/v10.62.0...v10.62.1) (2024-12-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **Forms:** add support for `sessionStorageId` in Field.Upload ([#4424](https://github.com/dnbexperience/eufemia/issues/4424)) ([a8dfc52](https://github.com/dnbexperience/eufemia/commit/a8dfc5299b9b0446704c93af8b7e2d67e5dafaba)), closes [#4339](https://github.com/dnbexperience/eufemia/issues/4339)
|
|
12
|
+
* **Forms:** correct font-size of non-clickable Field.Upload item ([#4425](https://github.com/dnbexperience/eufemia/issues/4425)) ([74423d6](https://github.com/dnbexperience/eufemia/commit/74423d64c2ed0bc15d2326f6bb096830253cc920))
|
|
13
|
+
|
|
6
14
|
## [10.62.0](https://github.com/dnbexperience/eufemia/compare/v10.61.0...v10.62.0) (2024-12-20)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDates.js","names":["_react","require","_DatePickerCalc","_isValid","_interopRequireDefault","_format","_dateFns","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useDates","dateProps","_ref","dateFormat","isRange","shouldCorrectDate","previousDateProps","setPreviousDateProps","useState","dates","setDates","mapDates","hasDatePropChanges","useMemo","some","date","dateProp","previousDate","convertedDateProp","convertStringToDate","convertedPreviousDate","Date","isSameDay","derivedDates","deriveDatesFromProps","currentDates","hasHadValidDate","useRef","updateDates","useCallback","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","useEffect","startDates","updateInputDates","endDates","current","isValid","type","updatedDates","pad","format","_ref2","_ref3","_convertStringToDate","_convertStringToDate2","getDate","startMonth","endMonth","addMonths","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref4","getStartDate","_ref5","isDisabled","_ref6","_ref7","_newDates$startMonth","_ref8","_newDates$endMonth","size","dateWithPadding","substring"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths, isSameDay } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDateProps, setPreviousDateProps] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n const dateProp = dateProps[date]\n const previousDate = previousDateProps[date]\n\n const convertedDateProp = convertStringToDate(dateProp, {\n dateFormat,\n })\n const convertedPreviousDate = convertStringToDate(previousDate, {\n dateFormat,\n })\n // Make sure that same dates does not trigger a change\n // i.e. 2021-01-01 and new Date('2021-01-01')\n if (\n convertedDateProp instanceof Date &&\n convertedPreviousDate instanceof Date\n ) {\n return !isSameDay(convertedDateProp, convertedPreviousDate)\n }\n\n return dateProp !== previousDate\n }),\n [dateProps, previousDateProps, dateFormat]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n const derivedDates = deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n })\n\n setDates((currentDates) => ({ ...currentDates, ...derivedDates }))\n setPreviousDateProps(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates.startDate)\n const endDates = updateInputDates('end', dates.endDate)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDateProps,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', date: Date | undefined) {\n const updatedDates = {}\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date = dateProps.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n const hasValidStartDate = isValid(dates.startDate)\n const hasValidEndDate = isValid(dates.endDate)\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n}: {\n dates: DatePickerDates\n dateProps: DatePickerDateProps\n previousDateProps: DatePickerDateProps\n dateFormat: UseDatesOptions['dateFormat']\n isRange: UseDatesOptions['isRange']\n}) {\n const derivedDates: DatePickerDates = {}\n\n const startDate = getStartDate(dateProps, previousDateProps)\n\n // Handle updates related to date and startDate changes when not in range mode\n if (typeof startDate !== 'undefined' && startDate !== dates.startDate) {\n derivedDates.startDate =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n // Set endDate and startMonth to startDate if not in range mode\n if (!isRange) {\n derivedDates.startMonth =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n derivedDates.endDate = derivedDates.startDate\n }\n }\n\n // update endDate based on endDate prop if in range mode\n if (\n isRange &&\n typeof dateProps.endDate !== 'undefined' &&\n dateProps.endDate !== dates.endDate\n ) {\n derivedDates.endDate =\n convertStringToDate(dateProps.endDate, {\n dateFormat,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof dateProps.startMonth !== 'undefined' &&\n dateProps.startMonth !== previousDateProps.startMonth\n ) {\n derivedDates.startMonth = convertStringToDate(dateProps.startMonth, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.endMonth !== 'undefined' &&\n dateProps.endMonth !== previousDateProps.endMonth\n ) {\n derivedDates.endMonth = convertStringToDate(dateProps.endMonth, {\n dateFormat,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof dateProps.minDate !== 'undefined' &&\n dateProps.minDate !== previousDateProps.minDate\n ) {\n derivedDates.minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.maxDate !== 'undefined' &&\n dateProps.maxDate !== previousDateProps.maxDate\n ) {\n derivedDates.maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n }\n\n return derivedDates\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nfunction getStartDate(\n dateProps: DatePickerDateProps,\n previousDateProps: DatePickerDateProps\n) {\n // priortize startDate over date if provided\n if (\n typeof dateProps.startDate !== 'undefined' &&\n dateProps.startDate !== previousDateProps.startDate\n ) {\n return dateProps.startDate\n }\n\n if (\n typeof dateProps.date !== 'undefined' &&\n dateProps.date !== previousDateProps.date\n ) {\n return dateProps.date\n }\n\n return undefined\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDates.js","names":["_react","require","_DatePickerCalc","_isValid","_interopRequireDefault","_format","_dateFns","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useDates","dateProps","_ref","dateFormat","isRange","shouldCorrectDate","previousDateProps","setPreviousDateProps","useState","dates","setDates","mapDates","hasDatePropChanges","useMemo","some","date","dateProp","previousDate","convertedDateProp","convertStringToDate","convertedPreviousDate","Date","isSameDay","derivedDates","deriveDatesFromProps","currentDates","hasHadValidDate","useRef","updateDates","useCallback","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","useEffect","startDates","updateInputDates","endDates","current","isValid","type","updatedDates","pad","format","_ref2","_ref3","_convertStringToDate","_convertStringToDate2","getDate","startMonth","endMonth","addMonths","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref4","getStartDate","_ref5","isDisabled","_ref6","_ref7","_newDates$startMonth","_ref8","_newDates$endMonth","size","dateWithPadding","substring"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths, isSameDay } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDateProps, setPreviousDateProps] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n const dateProp = dateProps[date]\n const previousDate = previousDateProps[date]\n\n const convertedDateProp = convertStringToDate(dateProp, {\n dateFormat,\n })\n const convertedPreviousDate = convertStringToDate(previousDate, {\n dateFormat,\n })\n // Make sure that same dates does not trigger a change\n // i.e. 2021-01-01 and new Date('2021-01-01')\n if (\n convertedDateProp instanceof Date &&\n convertedPreviousDate instanceof Date\n ) {\n return !isSameDay(convertedDateProp, convertedPreviousDate)\n }\n\n return dateProp !== previousDate\n }),\n [dateProps, previousDateProps, dateFormat]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n const derivedDates = deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n })\n\n setDates((currentDates) => ({ ...currentDates, ...derivedDates }))\n setPreviousDateProps(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates.startDate)\n const endDates = updateInputDates('end', dates.endDate)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDateProps,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', date: Date | undefined) {\n const updatedDates = {}\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date = dateProps.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n const hasValidStartDate = isValid(dates.startDate)\n const hasValidEndDate = isValid(dates.endDate)\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n}: {\n dates: DatePickerDates\n dateProps: DatePickerDateProps\n previousDateProps: DatePickerDateProps\n dateFormat: UseDatesOptions['dateFormat']\n isRange: UseDatesOptions['isRange']\n}) {\n const derivedDates: DatePickerDates = {}\n\n const startDate = getStartDate(dateProps, previousDateProps)\n\n // Handle updates related to date and startDate changes when not in range mode\n if (typeof startDate !== 'undefined' && startDate !== dates.startDate) {\n derivedDates.startDate =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n // Set endDate and startMonth to startDate if not in range mode\n if (!isRange) {\n derivedDates.startMonth =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n derivedDates.endDate = derivedDates.startDate\n }\n }\n\n // update endDate based on endDate prop if in range mode\n if (\n isRange &&\n typeof dateProps.endDate !== 'undefined' &&\n dateProps.endDate !== dates.endDate\n ) {\n derivedDates.endDate =\n convertStringToDate(dateProps.endDate, {\n dateFormat,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof dateProps.startMonth !== 'undefined' &&\n dateProps.startMonth !== previousDateProps.startMonth\n ) {\n derivedDates.startMonth = convertStringToDate(dateProps.startMonth, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.endMonth !== 'undefined' &&\n dateProps.endMonth !== previousDateProps.endMonth\n ) {\n derivedDates.endMonth = convertStringToDate(dateProps.endMonth, {\n dateFormat,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof dateProps.minDate !== 'undefined' &&\n dateProps.minDate !== previousDateProps.minDate\n ) {\n derivedDates.minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.maxDate !== 'undefined' &&\n dateProps.maxDate !== previousDateProps.maxDate\n ) {\n derivedDates.maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n }\n\n return derivedDates\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nfunction getStartDate(\n dateProps: DatePickerDateProps,\n previousDateProps: DatePickerDateProps\n) {\n // prioritize startDate over date if provided\n if (\n typeof dateProps.startDate !== 'undefined' &&\n dateProps.startDate !== previousDateProps.startDate\n ) {\n return dateProps.startDate\n }\n\n if (\n typeof dateProps.date !== 'undefined' &&\n dateProps.date !== previousDateProps.date\n ) {\n return dateProps.date\n }\n\n return undefined\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
|
|
@@ -24,7 +24,9 @@ const UploadFileLink = props => {
|
|
|
24
24
|
} = props,
|
|
25
25
|
rest = _objectWithoutProperties(props, _excluded);
|
|
26
26
|
if (!onClick && !href) {
|
|
27
|
-
return _react.default.createElement(_Span.default,
|
|
27
|
+
return _react.default.createElement(_Span.default, _extends({
|
|
28
|
+
className: "dnb-p"
|
|
29
|
+
}, rest), text);
|
|
28
30
|
}
|
|
29
31
|
if (onClick) {
|
|
30
32
|
return _react.default.createElement(UploadFileButton, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFileListLink.js","names":["_react","_interopRequireDefault","require","_classnames","_Anchor","_Button","_Span","_SpacingUtils","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","UploadFileLink","props","onClick","text","href","download","rest","createElement","UploadFileButton","UploadFileAnchor","exports","_default","spacingClasses","createSpacingClasses","size","icon","variant","
|
|
1
|
+
{"version":3,"file":"UploadFileListLink.js","names":["_react","_interopRequireDefault","require","_classnames","_Anchor","_Button","_Span","_SpacingUtils","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","UploadFileLink","props","onClick","text","href","download","rest","createElement","className","UploadFileButton","UploadFileAnchor","exports","_default","spacingClasses","createSpacingClasses","size","icon","variant","classNames","rel"],"sources":["../../../../src/components/upload/UploadFileListLink.tsx"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\nimport Anchor from '../../components/Anchor'\nimport Button from '../button/Button'\nimport Span from '../../elements/Span'\nimport { SpacingProps } from '../space/types'\nimport { createSpacingClasses } from '../space/SpacingUtils'\n\nexport type UploadFileLinkProps = UploadFileAnchorProps &\n UploadFileButtonProps\n\nexport const UploadFileLink = (props: UploadFileLinkProps) => {\n const { onClick, text, href, download, ...rest } = props\n\n if (!onClick && !href) {\n return (\n <Span className=\"dnb-p\" {...rest}>\n {text}\n </Span>\n )\n }\n\n if (onClick) {\n return <UploadFileButton text={text} onClick={onClick} {...rest} />\n }\n\n return (\n <UploadFileAnchor\n text={text}\n href={href}\n download={download}\n {...rest}\n />\n )\n}\n\nexport default UploadFileLink\n\ntype UploadFileButtonProps = {\n text: string\n onClick?: () => void\n} & SpacingProps\n\nconst UploadFileButton = (props: UploadFileButtonProps) => {\n const { text, onClick } = props\n\n const spacingClasses = createSpacingClasses(props)\n return (\n <Button\n size=\"small\"\n icon={false}\n variant=\"tertiary\"\n onClick={onClick}\n className={classNames(spacingClasses)}\n >\n {text}\n </Button>\n )\n}\n\ntype UploadFileAnchorProps = {\n text: string\n href: string\n download?: boolean\n} & SpacingProps\n\nconst UploadFileAnchor = (props: UploadFileAnchorProps) => {\n const { text, href, download } = props\n\n const spacingClasses = createSpacingClasses(props)\n\n return (\n <Anchor\n target=\"_blank\"\n href={href}\n download={download ? text : null}\n className={classNames('dnb-anchor--no-launch-icon', spacingClasses)}\n rel=\"noopener noreferrer\"\n >\n {text}\n </Anchor>\n )\n}\n"],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
exports.transformFiles = transformFiles;
|
|
8
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
11
|
var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
|
|
@@ -59,9 +60,19 @@ function UploadComponent(props) {
|
|
|
59
60
|
const errorMessages = (0, _react.useMemo)(() => ({
|
|
60
61
|
'Field.errorRequired': formsTr.errorRequired
|
|
61
62
|
}), [formsTr.errorRequired]);
|
|
63
|
+
const fromInput = (0, _react.useCallback)(value => {
|
|
64
|
+
value.forEach((item, index) => {
|
|
65
|
+
var _item$file;
|
|
66
|
+
value[index] = item;
|
|
67
|
+
value[index]['name'] = item['name'] || ((_item$file = item.file) === null || _item$file === void 0 ? void 0 : _item$file.name);
|
|
68
|
+
});
|
|
69
|
+
return value;
|
|
70
|
+
}, []);
|
|
62
71
|
const preparedProps = _objectSpread({
|
|
63
72
|
errorMessages,
|
|
64
|
-
validateRequired
|
|
73
|
+
validateRequired,
|
|
74
|
+
fromInput,
|
|
75
|
+
toInput: transformFiles
|
|
65
76
|
}, props);
|
|
66
77
|
const _useFieldProps = (0, _hooks.useFieldProps)(preparedProps, {
|
|
67
78
|
executeOnChangeRegardlessOfError: true
|
|
@@ -100,15 +111,7 @@ function UploadComponent(props) {
|
|
|
100
111
|
filesRef.current = files;
|
|
101
112
|
}, [files]);
|
|
102
113
|
(0, _react.useEffect)(() => {
|
|
103
|
-
|
|
104
|
-
let {
|
|
105
|
-
file
|
|
106
|
-
} = _ref2;
|
|
107
|
-
return !(file !== null && file !== void 0 && file.name);
|
|
108
|
-
});
|
|
109
|
-
if (!hasInvalidFiles) {
|
|
110
|
-
setFiles(value);
|
|
111
|
-
}
|
|
114
|
+
setFiles(value);
|
|
112
115
|
}, [setFiles, value]);
|
|
113
116
|
const handleChangeAsync = (0, _react.useCallback)(async existingFiles => {
|
|
114
117
|
var _filesRef$current;
|
|
@@ -122,10 +125,10 @@ function UploadComponent(props) {
|
|
|
122
125
|
const uploadedFiles = updateFileLoadingState(incomingFiles, {
|
|
123
126
|
isLoading: false
|
|
124
127
|
});
|
|
125
|
-
const indexOfFirstNewFile = filesRef.current.findIndex(
|
|
128
|
+
const indexOfFirstNewFile = filesRef.current.findIndex(_ref2 => {
|
|
126
129
|
let {
|
|
127
130
|
id
|
|
128
|
-
} =
|
|
131
|
+
} = _ref2;
|
|
129
132
|
return id === newFiles[0].id;
|
|
130
133
|
});
|
|
131
134
|
const updatedFiles = [...filesRef.current.slice(0, indexOfFirstNewFile), ...uploadedFiles, ...filesRef.current.slice(indexOfFirstNewFile + newFiles.length)];
|
|
@@ -133,11 +136,11 @@ function UploadComponent(props) {
|
|
|
133
136
|
} else {
|
|
134
137
|
handleChange(existingFiles);
|
|
135
138
|
}
|
|
136
|
-
}, [
|
|
137
|
-
const changeHandler = (0, _react.useCallback)(
|
|
139
|
+
}, [setFiles, fileHandler, handleChange]);
|
|
140
|
+
const changeHandler = (0, _react.useCallback)(_ref3 => {
|
|
138
141
|
let {
|
|
139
142
|
files
|
|
140
|
-
} =
|
|
143
|
+
} = _ref3;
|
|
141
144
|
handleBlur();
|
|
142
145
|
handleFocus();
|
|
143
146
|
if (fileHandler) {
|
|
@@ -178,4 +181,18 @@ function UploadComponent(props) {
|
|
|
178
181
|
var _default = UploadComponent;
|
|
179
182
|
exports.default = _default;
|
|
180
183
|
UploadComponent._supportsSpacingProps = true;
|
|
184
|
+
function transformFiles(value) {
|
|
185
|
+
if (Array.isArray(value)) {
|
|
186
|
+
if (value.length === 0) {
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
value.map(item => {
|
|
190
|
+
if (item !== null && item !== void 0 && item.file && !(item.file instanceof File)) {
|
|
191
|
+
item['file'] = new File([], item['name']);
|
|
192
|
+
}
|
|
193
|
+
return item;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return value;
|
|
197
|
+
}
|
|
181
198
|
//# sourceMappingURL=Upload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","updateFileLoadingState","files","isLoading","map","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","preparedProps","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","setFiles","useUpload","filesRef","useRef","useEffect","current","hasInvalidFiles","_ref2","name","handleChangeAsync","useCallback","existingFiles","_filesRef$current","existingFileIds","newFiles","includes","incomingFiles","uploadedFiles","indexOfFirstNewFile","findIndex","_ref3","updatedFiles","slice","changeHandler","_ref4","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nconst updateFileLoadingState = (\n files: UploadValue,\n { isLoading } = { isLoading: false }\n) => {\n return files.map((file) => ({ ...file, isLoading }))\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n // Files stored in session storage will not have a property (due to serialization).\n const hasInvalidFiles = value?.some(({ file }) => !file?.name)\n if (!hasInvalidFiles) {\n setFiles(value)\n }\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (existingFiles: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const newFiles = existingFiles.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n\n if (newFiles.length > 0) {\n // Set loading\n setFiles([\n ...filesRef.current,\n ...updateFileLoadingState(newFiles, { isLoading: true }),\n ])\n\n const incomingFiles = await fileHandler(newFiles)\n\n const uploadedFiles = updateFileLoadingState(incomingFiles, {\n isLoading: false,\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...uploadedFiles,\n ...filesRef.current.slice(indexOfFirstNewFile + newFiles.length),\n ]\n\n // Set error, if any\n handleChange(updatedFiles)\n } else {\n handleChange(existingFiles)\n }\n },\n [files, setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent contentId={`${id}-help`} help={help} />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","updateFileLoadingState","files","isLoading","map","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","existingFiles","_filesRef$current","existingFileIds","newFiles","includes","incomingFiles","uploadedFiles","indexOfFirstNewFile","findIndex","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","_default","exports","_supportsSpacingProps","Array","isArray","File"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nconst updateFileLoadingState = (\n files: UploadValue,\n { isLoading } = { isLoading: false }\n) => {\n return files.map((file) => ({ ...file, isLoading }))\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (existingFiles: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const newFiles = existingFiles.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n\n if (newFiles.length > 0) {\n // Set loading\n setFiles([\n ...filesRef.current,\n ...updateFileLoadingState(newFiles, { isLoading: true }),\n ])\n\n const incomingFiles = await fileHandler(newFiles)\n\n const uploadedFiles = updateFileLoadingState(incomingFiles, {\n isLoading: false,\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...uploadedFiles,\n ...filesRef.current.slice(indexOfFirstNewFile + newFiles.length),\n ]\n\n // Set error, if any\n handleChange(updatedFiles)\n } else {\n handleChange(existingFiles)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent contentId={`${id}-help`} help={help} />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'])\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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"}
|
|
@@ -12,20 +12,28 @@ var _ValueBlock = _interopRequireDefault(require("../../ValueBlock"));
|
|
|
12
12
|
var _listFormat = _interopRequireDefault(require("../../../../components/list-format"));
|
|
13
13
|
var _UploadFileListCell = require("../../../../components/upload/UploadFileListCell");
|
|
14
14
|
var _UploadVerify = require("../../../../components/upload/UploadVerify");
|
|
15
|
+
var _Upload = require("../../Field/Upload/Upload");
|
|
15
16
|
var _NumberUtils = require("../../../../components/number-format/NumberUtils");
|
|
16
17
|
var _UploadFileListLink = require("../../../../components/upload/UploadFileListLink");
|
|
17
18
|
var _isAsync = require("../../../../shared/helpers/isAsync");
|
|
18
|
-
const _excluded = ["
|
|
19
|
+
const _excluded = ["value", "format", "className", "variant", "listType", "download", "displaySize", "onFileClick"];
|
|
19
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
23
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
24
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
24
25
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
26
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
28
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
30
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
25
31
|
function Upload(props) {
|
|
26
|
-
const
|
|
32
|
+
const preparedProps = _objectSpread({
|
|
33
|
+
fromExternal: _Upload.transformFiles
|
|
34
|
+
}, props);
|
|
35
|
+
const _useValueProps = (0, _hooks.useValueProps)(preparedProps),
|
|
27
36
|
{
|
|
28
|
-
path,
|
|
29
37
|
value,
|
|
30
38
|
format,
|
|
31
39
|
className,
|
|
@@ -57,7 +65,7 @@ function Upload(props) {
|
|
|
57
65
|
listType: listType
|
|
58
66
|
});
|
|
59
67
|
}
|
|
60
|
-
}, [
|
|
68
|
+
}, [value, download, displaySize, onFileClick, format, variant, listType]);
|
|
61
69
|
return _react.default.createElement(_ValueBlock.default, _extends({
|
|
62
70
|
className: (0, _classnames.default)('dnb-forms-value-upload', className)
|
|
63
71
|
}, rest), list);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_hooks","_ValueBlock","_listFormat","_UploadFileListCell","_UploadVerify","_NumberUtils","_UploadFileListLink","_isAsync","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Upload","props","_useValueProps","useValueProps","path","value","format","className","variant","listType","download","displaySize","onFileClick","rest","list","useMemo","valueToUse","map","uploadFile","index","createElement","UploadFileItem","undefined","classnames","getSize","size","sizeInMb","BYTES_IN_A_MEGA_BYTE","decimals","_supportsSpacingProps","_default","exports","loading","setLoading","useState","file","isLoading","fileIsLoading","handleFileClickAsync","fileItem","onFileClickHandler","isAsync","imageUrl","URL","createObjectURL","text","name","getFileIcon","UploadFileLink","left","href","onClick"],"sources":["../../../../../../src/extensions/forms/Value/Upload/Upload.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react'\nimport classnames from 'classnames'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport ListFormat, {\n ListFormatProps,\n} from '../../../../components/list-format'\nimport type { UploadFile } from '../../../../components/upload/types'\nimport { getFileIcon } from '../../../../components/upload/UploadFileListCell'\nimport { BYTES_IN_A_MEGA_BYTE } from '../../../../components/upload/UploadVerify'\nimport { Props as FieldUploadProps } from '../../Field/Upload/Upload'\nimport { format } from '../../../../components/number-format/NumberUtils'\nimport { UploadFileLink } from '../../../../components/upload/UploadFileListLink'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\n\nexport type Props = ValueProps<Array<UploadFile>> &\n Omit<ListFormatProps, 'value'> &\n Pick<FieldUploadProps, 'download' | 'onFileClick'> & {\n displaySize?: boolean\n }\n\nfunction Upload(props: Props) {\n const {\n path,\n value,\n format,\n className,\n variant = 'text',\n listType,\n download = false,\n displaySize = false,\n onFileClick,\n ...rest\n } = useValueProps(props)\n\n const list = useMemo(() => {\n const valueToUse =\n value?.map((uploadFile, index) => {\n if (!uploadFile) {\n return\n }\n\n return (\n <UploadFileItem\n key={index}\n uploadFile={uploadFile}\n download={download}\n displaySize={displaySize}\n onFileClick={onFileClick}\n />\n )\n }) || undefined\n\n if (valueToUse) {\n return (\n <ListFormat\n value={valueToUse}\n format={format}\n variant={variant}\n listType={listType}\n />\n )\n }\n }, [path, value, variant, listType])\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-upload', className)}\n {...rest}\n >\n {list}\n </ValueBlock>\n )\n}\n\nfunction getSize(size: number) {\n if (!size) {\n return\n }\n // Converts from b (binary) to MB (decimal)\n const sizeInMb = size / BYTES_IN_A_MEGA_BYTE\n return ` (${format(sizeInMb, {\n decimals: 0,\n })} MB)`\n}\n\nUpload._supportsSpacingProps = true\nexport default Upload\n\nfunction UploadFileItem(\n props: { uploadFile: UploadFile } & Pick<\n Props,\n 'download' | 'onFileClick' | 'displaySize'\n >\n) {\n const {\n uploadFile,\n download = false,\n displaySize = false,\n onFileClick,\n } = props\n\n const [loading, setLoading] = useState(false)\n\n const { file, isLoading: fileIsLoading } = uploadFile || {}\n\n if (!file) {\n return null\n }\n\n const handleFileClickAsync = async (uploadFile: UploadFile) => {\n setLoading(true)\n await onFileClick({ fileItem: uploadFile })\n setLoading(false)\n }\n\n const onFileClickHandler = async () => {\n if (typeof onFileClick === 'function') {\n if (isAsync(onFileClick)) {\n handleFileClickAsync(uploadFile)\n } else {\n onFileClick({ fileItem: uploadFile })\n }\n }\n }\n\n const imageUrl = file?.size > 0 ? URL.createObjectURL(file) : null\n\n const text = file.name + (displaySize ? ' ' + getSize(file.size) : '')\n const isLoading = fileIsLoading || loading\n return (\n <span className=\"dnb-forms-value-upload__item\">\n {getFileIcon(file, { isLoading, size: 'medium' }, false)}\n <UploadFileLink\n left=\"x-small\"\n text={text}\n href={imageUrl}\n download={download}\n onClick={onFileClick && onFileClickHandler}\n />\n </span>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_hooks","_ValueBlock","_listFormat","_UploadFileListCell","_UploadVerify","_Upload","_NumberUtils","_UploadFileListLink","_isAsync","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Upload","props","preparedProps","fromExternal","transformFiles","_useValueProps","useValueProps","format","className","variant","listType","download","displaySize","onFileClick","rest","list","useMemo","valueToUse","map","uploadFile","index","createElement","UploadFileItem","classnames","getSize","size","sizeInMb","BYTES_IN_A_MEGA_BYTE","decimals","_supportsSpacingProps","_default","exports","loading","setLoading","useState","file","isLoading","fileIsLoading","handleFileClickAsync","fileItem","onFileClickHandler","isAsync","imageUrl","URL","createObjectURL","text","name","getFileIcon","UploadFileLink","left","href","onClick"],"sources":["../../../../../../src/extensions/forms/Value/Upload/Upload.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react'\nimport classnames from 'classnames'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport ListFormat, {\n ListFormatProps,\n} from '../../../../components/list-format'\nimport type { UploadFile } from '../../../../components/upload/types'\nimport { getFileIcon } from '../../../../components/upload/UploadFileListCell'\nimport { BYTES_IN_A_MEGA_BYTE } from '../../../../components/upload/UploadVerify'\nimport {\n Props as FieldUploadProps,\n transformFiles,\n} from '../../Field/Upload/Upload'\nimport { format } from '../../../../components/number-format/NumberUtils'\nimport { UploadFileLink } from '../../../../components/upload/UploadFileListLink'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\n\nexport type Props = ValueProps<Array<UploadFile>> &\n Omit<ListFormatProps, 'value'> &\n Pick<FieldUploadProps, 'download' | 'onFileClick'> & {\n displaySize?: boolean\n }\n\nfunction Upload(props: Props) {\n const preparedProps = {\n fromExternal: transformFiles,\n ...props,\n }\n\n const {\n value,\n format,\n className,\n variant = 'text',\n listType,\n download = false,\n displaySize = false,\n onFileClick,\n ...rest\n } = useValueProps(preparedProps)\n\n const list = useMemo(() => {\n const valueToUse =\n value?.map((uploadFile, index) => {\n if (!uploadFile) {\n return\n }\n\n return (\n <UploadFileItem\n key={index}\n uploadFile={uploadFile}\n download={download}\n displaySize={displaySize}\n onFileClick={onFileClick}\n />\n )\n }) || undefined\n\n if (valueToUse) {\n return (\n <ListFormat\n value={valueToUse}\n format={format}\n variant={variant}\n listType={listType}\n />\n )\n }\n }, [\n value,\n download,\n displaySize,\n onFileClick,\n format,\n variant,\n listType,\n ])\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-upload', className)}\n {...rest}\n >\n {list}\n </ValueBlock>\n )\n}\n\nfunction getSize(size: number) {\n if (!size) {\n return\n }\n // Converts from b (binary) to MB (decimal)\n const sizeInMb = size / BYTES_IN_A_MEGA_BYTE\n return ` (${format(sizeInMb, {\n decimals: 0,\n })} MB)`\n}\n\nUpload._supportsSpacingProps = true\nexport default Upload\n\nfunction UploadFileItem(\n props: { uploadFile: UploadFile } & Pick<\n Props,\n 'download' | 'onFileClick' | 'displaySize'\n >\n) {\n const {\n uploadFile,\n download = false,\n displaySize = false,\n onFileClick,\n } = props\n\n const [loading, setLoading] = useState(false)\n\n const { file, isLoading: fileIsLoading } = uploadFile || {}\n\n if (!file) {\n return null\n }\n\n const handleFileClickAsync = async (uploadFile: UploadFile) => {\n setLoading(true)\n await onFileClick({ fileItem: uploadFile })\n setLoading(false)\n }\n\n const onFileClickHandler = async () => {\n if (typeof onFileClick === 'function') {\n if (isAsync(onFileClick)) {\n handleFileClickAsync(uploadFile)\n } else {\n onFileClick({ fileItem: uploadFile })\n }\n }\n }\n\n const imageUrl = file?.size > 0 ? URL.createObjectURL(file) : null\n\n const text = file.name + (displaySize ? ' ' + getSize(file.size) : '')\n const isLoading = fileIsLoading || loading\n return (\n <span className=\"dnb-forms-value-upload__item\">\n {getFileIcon(file, { isLoading, size: 'medium' }, false)}\n <UploadFileLink\n left=\"x-small\"\n text={text}\n href={imageUrl}\n download={download}\n onClick={onFileClick && onFileClickHandler}\n />\n </span>\n )\n}\n"],"mappings":"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"}
|
|
@@ -33,20 +33,22 @@ function useExternalValue(props) {
|
|
|
33
33
|
}
|
|
34
34
|
if (inIterate && itemPath) {
|
|
35
35
|
if (itemPath === '/') {
|
|
36
|
-
|
|
36
|
+
var _transformers$current4, _transformers$current5, _transformers$current6;
|
|
37
|
+
return (_transformers$current4 = transformers === null || transformers === void 0 ? void 0 : (_transformers$current5 = transformers.current) === null || _transformers$current5 === void 0 ? void 0 : (_transformers$current6 = _transformers$current5.fromExternal) === null || _transformers$current6 === void 0 ? void 0 : _transformers$current6.call(_transformers$current5, iterateElementValue)) !== null && _transformers$current4 !== void 0 ? _transformers$current4 : emptyValue;
|
|
37
38
|
}
|
|
38
39
|
if (_jsonPointer.default.has(iterateElementValue, itemPath)) {
|
|
39
|
-
var
|
|
40
|
-
return (
|
|
40
|
+
var _transformers$current7, _transformers$current8, _transformers$current9;
|
|
41
|
+
return (_transformers$current7 = transformers === null || transformers === void 0 ? void 0 : (_transformers$current8 = transformers.current) === null || _transformers$current8 === void 0 ? void 0 : (_transformers$current9 = _transformers$current8.fromExternal) === null || _transformers$current9 === void 0 ? void 0 : _transformers$current9.call(_transformers$current8, _jsonPointer.default.get(iterateElementValue, itemPath))) !== null && _transformers$current7 !== void 0 ? _transformers$current7 : emptyValue;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
if (data && path) {
|
|
44
45
|
if (path === '/') {
|
|
45
|
-
|
|
46
|
+
var _transformers$current10, _transformers$current11, _transformers$current12;
|
|
47
|
+
return (_transformers$current10 = transformers === null || transformers === void 0 ? void 0 : (_transformers$current11 = transformers.current) === null || _transformers$current11 === void 0 ? void 0 : (_transformers$current12 = _transformers$current11.fromExternal) === null || _transformers$current12 === void 0 ? void 0 : _transformers$current12.call(_transformers$current11, data)) !== null && _transformers$current10 !== void 0 ? _transformers$current10 : emptyValue;
|
|
46
48
|
}
|
|
47
49
|
if (_jsonPointer.default.has(data, path)) {
|
|
48
|
-
var
|
|
49
|
-
return (
|
|
50
|
+
var _transformers$current13, _transformers$current14, _transformers$current15;
|
|
51
|
+
return (_transformers$current13 = transformers === null || transformers === void 0 ? void 0 : (_transformers$current14 = transformers.current) === null || _transformers$current14 === void 0 ? void 0 : (_transformers$current15 = _transformers$current14.fromExternal) === null || _transformers$current15 === void 0 ? void 0 : _transformers$current15.call(_transformers$current14, _jsonPointer.default.get(data, path))) !== null && _transformers$current13 !== void 0 ? _transformers$current13 : emptyValue;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
return emptyValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExternalValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_IterateItemContext","obj","__esModule","default","useExternalValue","props","path","itemPath","value","transformers","emptyValue","undefined","data","useContext","DataContext","iterateItemContext","IterateElementContext","inIterate","Boolean","iterateElementValue","useMemo","_transformers$current","_transformers$current2","_transformers$current3","current","fromExternal","call","pointer","has","
|
|
1
|
+
{"version":3,"file":"useExternalValue.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_IterateItemContext","obj","__esModule","default","useExternalValue","props","path","itemPath","value","transformers","emptyValue","undefined","data","useContext","DataContext","iterateItemContext","IterateElementContext","inIterate","Boolean","iterateElementValue","useMemo","_transformers$current","_transformers$current2","_transformers$current3","current","fromExternal","call","_transformers$current4","_transformers$current5","_transformers$current6","pointer","has","_transformers$current7","_transformers$current8","_transformers$current9","get","_transformers$current10","_transformers$current11","_transformers$current12","_transformers$current13","_transformers$current14","_transformers$current15"],"sources":["../../../../../src/extensions/forms/hooks/useExternalValue.ts"],"sourcesContent":["import { useContext, useMemo } from 'react'\nimport pointer from '../utils/json-pointer'\nimport { FieldProps, Path } from '../types'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\n\nexport type Props<Value> = {\n path?: Path | undefined\n itemPath?: Path\n value?: Value\n transformers?: React.MutableRefObject<{\n fromExternal: FieldProps<Value>['fromExternal']\n }>\n emptyValue?: FieldProps<Value>['emptyValue']\n}\n\nexport default function useExternalValue<Value>(props: Props<Value>) {\n const {\n path,\n itemPath,\n value,\n transformers,\n emptyValue = undefined,\n } = props\n const { data } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateElementContext)\n const inIterate = Boolean(iterateItemContext)\n const { value: iterateElementValue } = iterateItemContext || {}\n\n return useMemo(() => {\n if (value !== emptyValue) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers?.current?.fromExternal?.(value) ?? emptyValue\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return (\n transformers?.current?.fromExternal?.(\n iterateElementValue as Value\n ) ?? emptyValue\n )\n }\n\n if (pointer.has(iterateElementValue, itemPath)) {\n return (\n transformers?.current?.fromExternal?.(\n pointer.get(iterateElementValue, itemPath) as Value\n ) ?? emptyValue\n )\n }\n }\n\n if (data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return transformers?.current?.fromExternal?.(data) ?? emptyValue\n }\n\n if (pointer.has(data, path)) {\n return (\n transformers?.current?.fromExternal?.(pointer.get(data, path)) ??\n emptyValue\n )\n }\n }\n\n return emptyValue\n }, [\n data,\n emptyValue,\n inIterate,\n itemPath,\n iterateElementValue,\n path,\n transformers,\n value,\n ])\n}\n"],"mappings":"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"}
|
package/cjs/shared/Eufemia.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "10.62.
|
|
1
|
+
export declare const version = "10.62.1";
|
|
2
2
|
export declare function init(): void;
|
package/cjs/shared/Eufemia.js
CHANGED
|
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.init = init;
|
|
7
7
|
exports.version = void 0;
|
|
8
|
-
const version = '10.62.
|
|
8
|
+
const version = '10.62.1';
|
|
9
9
|
exports.version = version;
|
|
10
10
|
function init() {
|
|
11
11
|
if (typeof window !== 'undefined') {
|
|
12
12
|
class Eufemia {
|
|
13
13
|
get version() {
|
|
14
|
-
return '10.62.
|
|
14
|
+
return '10.62.1';
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
window.Eufemia = new Eufemia();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.62.
|
|
1
|
+
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.62.1'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.62.1'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
|