@dnb/eufemia 10.63.2 → 10.63.4
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 +28 -0
- package/cjs/components/avatar/Avatar.d.ts +1 -1
- package/cjs/components/avatar/Avatar.js.map +1 -1
- package/cjs/components/avatar/AvatarGroup.d.ts +1 -1
- package/cjs/components/avatar/AvatarGroup.js.map +1 -1
- package/cjs/components/badge/Badge.d.ts +1 -1
- package/cjs/components/badge/Badge.js.map +1 -1
- package/cjs/components/form-status/FormStatus.js +3 -2
- package/cjs/components/form-status/FormStatus.js.map +1 -1
- package/cjs/components/lib.d.ts +2 -2
- package/cjs/components/section/Section.js +1 -1
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/tag/Tag.d.ts +2 -2
- package/cjs/components/tag/Tag.js.map +1 -1
- package/cjs/components/tag/TagGroup.d.ts +1 -1
- package/cjs/components/tag/TagGroup.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +4 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -0
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +60 -43
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +6 -6
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +14 -10
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +11 -3
- package/cjs/extensions/forms/hooks/useFieldProps.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/shared/error-helper.d.ts +0 -6
- package/cjs/shared/error-helper.js +6 -3
- package/cjs/shared/error-helper.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/avatar/Avatar.d.ts +1 -1
- package/components/avatar/Avatar.js.map +1 -1
- package/components/avatar/AvatarGroup.d.ts +1 -1
- package/components/avatar/AvatarGroup.js.map +1 -1
- package/components/badge/Badge.d.ts +1 -1
- package/components/badge/Badge.js.map +1 -1
- package/components/form-status/FormStatus.js +3 -2
- package/components/form-status/FormStatus.js.map +1 -1
- package/components/lib.d.ts +2 -2
- package/components/section/Section.js +1 -1
- package/components/section/Section.js.map +1 -1
- package/components/tag/Tag.d.ts +2 -2
- package/components/tag/Tag.js.map +1 -1
- package/components/tag/TagGroup.d.ts +1 -1
- package/components/tag/TagGroup.js.map +1 -1
- package/es/components/avatar/Avatar.d.ts +1 -1
- package/es/components/avatar/Avatar.js.map +1 -1
- package/es/components/avatar/AvatarGroup.d.ts +1 -1
- package/es/components/avatar/AvatarGroup.js.map +1 -1
- package/es/components/badge/Badge.d.ts +1 -1
- package/es/components/badge/Badge.js.map +1 -1
- package/es/components/form-status/FormStatus.js +3 -2
- package/es/components/form-status/FormStatus.js.map +1 -1
- package/es/components/lib.d.ts +2 -2
- package/es/components/section/Section.js +1 -1
- package/es/components/section/Section.js.map +1 -1
- package/es/components/tag/Tag.d.ts +2 -2
- package/es/components/tag/Tag.js.map +1 -1
- package/es/components/tag/TagGroup.d.ts +1 -1
- package/es/components/tag/TagGroup.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +4 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -0
- package/es/extensions/forms/DataContext/Provider/Provider.js +55 -41
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +6 -6
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +14 -10
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -1
- package/es/extensions/forms/hooks/useFieldProps.js +11 -2
- package/es/extensions/forms/hooks/useFieldProps.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/shared/error-helper.d.ts +0 -6
- package/es/shared/error-helper.js +6 -3
- package/es/shared/error-helper.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/DataContext/Context.d.ts +4 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -0
- package/extensions/forms/DataContext/Provider/Provider.js +60 -43
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +6 -6
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js +14 -10
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +4 -1
- package/extensions/forms/hooks/useFieldProps.js +11 -3
- package/extensions/forms/hooks/useFieldProps.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/shared/error-helper.d.ts +0 -6
- package/shared/error-helper.js +6 -3
- package/shared/error-helper.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 +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","names":["_react","_interopRequireDefault","require","_classnames","_Context","_componentHelper","_Space","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","defaultProps","element","Section","localProps","createElement","SectionParams","context","React","useContext","Context","props","extendPropsWithContext","variant","breakout","outset","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","internalRef","useRef","elementRef","freeze","classnames","isTrue","style","computeStyle","getColor","includes","test","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the Card should break out negatively on larger screens. You can not use `breakout` and `outset` together.\n * Defaults to `false`\n */\n outset?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead\n */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead\n */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead\n */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = !props.outset,\n outset,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(outset, 'outset', (value) => (value ? '1' : '0')),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n if (value.includes('--')) {\n return value\n }\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Section.js","names":["_react","_interopRequireDefault","require","_classnames","_Context","_componentHelper","_Space","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","sourceKeys","defaultProps","element","Section","localProps","createElement","SectionParams","context","React","useContext","Context","props","extendPropsWithContext","variant","breakout","outset","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","internalRef","useRef","elementRef","freeze","classnames","isTrue","style","computeStyle","getColor","includes","test","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the Card should break out negatively on larger screens. You can not use `breakout` and `outset` together.\n * Defaults to `false`\n */\n outset?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead\n */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead\n */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead\n */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = !props.outset,\n outset,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(outset, 'outset', (value) => (value ? '1' : '0')),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n if (String(value).includes('--')) {\n return value\n }\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":";;;;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AASA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAkC,MAAAK,SAAA;AAAA,SAAAN,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAxB,GAAA,EAAAuB,GAAA,EAAAK,KAAA,IAAAL,GAAA,GAAAM,cAAA,CAAAN,GAAA,OAAAA,GAAA,IAAAvB,GAAA,IAAAO,MAAA,CAAAoB,cAAA,CAAA3B,GAAA,EAAAuB,GAAA,IAAAK,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA/B,GAAA,CAAAuB,GAAA,IAAAK,KAAA,WAAA5B,GAAA;AAAA,SAAA6B,eAAAG,GAAA,QAAAT,GAAA,GAAAU,YAAA,CAAAD,GAAA,2BAAAT,GAAA,gBAAAA,GAAA,GAAAW,MAAA,CAAAX,GAAA;AAAA,SAAAU,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAAA,SAAAU,yBAAAxB,MAAA,EAAAyB,QAAA,QAAAzB,MAAA,yBAAAJ,MAAA,GAAA8B,6BAAA,CAAA1B,MAAA,EAAAyB,QAAA,OAAAvB,GAAA,EAAAL,CAAA,MAAAX,MAAA,CAAAC,qBAAA,QAAAwC,gBAAA,GAAAzC,MAAA,CAAAC,qBAAA,CAAAa,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA8B,gBAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAK,GAAA,GAAAyB,gBAAA,CAAA9B,CAAA,OAAA4B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,uBAAAhB,MAAA,CAAA2C,SAAA,CAAAC,oBAAA,CAAAT,IAAA,CAAArB,MAAA,EAAAE,GAAA,aAAAN,MAAA,CAAAM,GAAA,IAAAF,MAAA,CAAAE,GAAA,cAAAN,MAAA;AAAA,SAAA8B,8BAAA1B,MAAA,EAAAyB,QAAA,QAAAzB,MAAA,yBAAAJ,MAAA,WAAAmC,UAAA,GAAA7C,MAAA,CAAAD,IAAA,CAAAe,MAAA,OAAAE,GAAA,EAAAL,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAkC,UAAA,CAAAhC,MAAA,EAAAF,CAAA,MAAAK,GAAA,GAAA6B,UAAA,CAAAlC,CAAA,OAAA4B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,kBAAAN,MAAA,CAAAM,GAAA,IAAAF,MAAA,CAAAE,GAAA,YAAAN,MAAA;AAyHlC,MAAMoC,YAAY,GAAG;EACnBC,OAAO,EAAE;AACX,CAAC;AAEc,SAASC,OAAOA,CAACC,UAA2B,EAAE;EAC3D,OAAOhE,MAAA,CAAAU,OAAA,CAAAuD,aAAA,CAAC3D,MAAA,CAAAI,OAAK,EAAKwD,aAAa,CAACF,UAAU,CAAI,CAAC;AACjD;AAEO,SAASE,aAAaA,CAC3BF,UAA2B,EACN;EACrB,MAAMG,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,gBAAO,CAAC;EAGzC,MAAMC,KAAK,GAAG,IAAAC,uCAAsB,EAClCR,UAAU,EACVH,YAAY,EACZM,OAAO,CAACJ,OACV,CAAC;EAED,MAAM;MACJU,OAAO;MACPC,QAAQ,GAAG,CAACH,KAAK,CAACI,MAAM;MACxBA,MAAM;MACNC,aAAa;MACbC,SAAS;MACTC,eAAe;MACfC,UAAU;MACVC,OAAO;MACPC,QAAQ;MAERC,SAAS;MACTC,QAAQ;MAERC,OAAO;MACPC,UAAU;MACVC;IAGF,CAAC,GAAGf,KAAK;IADJgB,UAAU,GAAAlC,wBAAA,CACXkB,KAAK,EAAAhE,SAAA;EAET,MAAMiF,WAAW,GAAGpB,cAAK,CAACqB,MAAM,CAAc,CAAC;EAC/C,MAAMC,UAAU,GAAGT,QAAQ,IAAIK,SAAS,IAAIE,WAAW;EAEvD,OAAOzE,MAAM,CAAC4E,MAAM,CAAAnE,aAAA,CAAAA,aAAA,KACf+D,UAAU;IACbL,SAAS,EAAE,IAAAU,mBAAU,8BAEHnB,OAAO,GAAGA,OAAO,GAAGY,UAAU,IAAI,SAAU,IAG5DH,SAAS,EAFTE,OAAO,IACJ,wBAAuB,IAAAS,uBAAM,EAACT,OAAO,CAAC,GAAG,OAAO,GAAGA,OAAQ,EAEhE,CAAC;IACDU,KAAK,EAAAtE,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACAuE,YAAY,CACbrB,QAAQ,EACR,UAAU,EACTtC,KAAK,IAAM,mBAAkBA,KAAK,GAAG,IAAI,GAAG,KAAM,GACrD,CAAC,GACE2D,YAAY,CAACpB,MAAM,EAAE,QAAQ,EAAGvC,KAAK,IAAMA,KAAK,GAAG,GAAG,GAAG,GAAI,CAAC,GAC9D2D,YAAY,CACbnB,aAAa,EACb,gBAAgB,EACfxC,KAAK,IAAKA,KAAK,IAAI,8BACtB,CAAC,GACE2D,YAAY,CAAClB,SAAS,EAAE,YAAY,EAAGzC,KAAK,IAAK4D,QAAQ,CAAC5D,KAAK,CAAC,CAAC,GACjE2D,YAAY,CAACjB,eAAe,EAAE,kBAAkB,EAAG1C,KAAK,IACzD4D,QAAQ,CAAC5D,KAAK,CAChB,CAAC,GACE2D,YAAY,CACbhB,UAAU,EACV,aAAa,EACZ3C,KAAK,IAAKA,KAAK,IAAI,uBACtB,CAAC,GACE2D,YAAY,CAACf,OAAO,EAAE,eAAe,EAAG5C,KAAK,IAC9CM,MAAM,CAACN,KAAK,CAAC,KAAK,MAAM,GACpB,6BAA6B,GAC7B4D,QAAQ,CAAC5D,KAAK,CACpB,CAAC,GACEmD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,KAAK,CACE;IACxBb,QAAQ,EAAES,UAAU;IACpBP;EAAQ,EACT,CAAC;AACJ;AAEA,SAASa,QAAQA,CAAC5D,KAAa,EAAE;EAC/B,IAAIM,MAAM,CAACN,KAAK,CAAC,CAAC6D,QAAQ,CAAC,IAAI,CAAC,EAAE;IAChC,OAAO7D,KAAK;EACd;EACA,OAAOA,KAAK,GACR,CAAC,OAAO,CAAC8D,IAAI,CAAC9D,KAAK,CAAC,GACjB,eAAcA,KAAM,GAAE,GACvBA,KAAK,GACPY,SAAS;AACf;AAEA,SAAS+C,YAAYA,CACnBI,QAAoD,EACpDC,IAAY,EACZC,aAAoD,EACpD;EACA,IAAIC,KAAK,GAAGH,QAAmC;EAE/C,IAAIG,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC/CA,KAAK,GAAG;MACNC,KAAK,EAAEJ,QAAQ;MACfK,MAAM,EAAEL,QAAQ;MAChBM,KAAK,EAAEN;IACT,CAA4B;EAC9B;EAEA,MAAMO,MAAM,GAAG,CAAC,CAAC;EAEjB,KAAK,MAAMC,IAAI,IAAIL,KAAK,EAA6B;IAAA,IAAAM,MAAA;IACnD,IAAI,SAAAA,MAAA,GAAON,KAAK,cAAAM,MAAA,uBAALA,MAAA,CAAQD,IAAI,CAAC,MAAK,WAAW,EAAE;MAAA,IAAAE,OAAA;MACxC,MAAMzE,KAAK,GAAGiE,aAAa,EAAAQ,OAAA,GAACP,KAAK,cAAAO,OAAA,uBAALA,OAAA,CAAQF,IAAI,CAAC,CAAC;MAC1C,IAAI,OAAOvE,KAAK,KAAK,QAAQ,EAAE;QAC7BsE,MAAM,CAAE,KAAIN,IAAK,KAAIO,IAAK,EAAC,CAAC,GAAGvE,KAAK;MACtC;IACF;EACF;EAEA,OAAOsE,MAAM;AACf;AAEA3C,OAAO,CAAC+C,KAAK,GAAG,SAAS;AACzB/C,OAAO,CAACgD,qBAAqB,GAAG,IAAI"}
|
|
@@ -70,12 +70,12 @@ export declare const defaultProps: {
|
|
|
70
70
|
omitOnKeyUpDeleteEvent: boolean;
|
|
71
71
|
};
|
|
72
72
|
declare const Tag: {
|
|
73
|
-
(localProps: TagProps & SpacingProps): import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
(localProps: TagProps & SpacingProps & React.HTMLProps<HTMLElement>): import("react/jsx-runtime").JSX.Element;
|
|
74
74
|
Group: {
|
|
75
75
|
(localProps: import("./TagGroup").TagGroupProps & import("../space/types").SpacingElementProps & {
|
|
76
76
|
space?: import("../space/types").SpaceTypeAll;
|
|
77
77
|
innerSpace?: import("../space/types").SpaceTypeAll | import("../space/types").SpaceTypeMedia;
|
|
78
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
78
|
+
} & Omit<React.HTMLProps<HTMLElement>, "label">): import("react/jsx-runtime").JSX.Element;
|
|
79
79
|
_supportsSpacingProps: boolean;
|
|
80
80
|
};
|
|
81
81
|
_formElement: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.js","names":["_react","_interopRequireDefault","require","_classnames","_IconPrimary","_Button","_Context","_componentHelper","_TagGroup","_TagContext","_SpacingHelper","_svg","_excluded","_excluded2","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","defaultProps","skeleton","omitOnKeyUpDeleteEvent","exports","Tag","localProps","_context$translation","context","React","useContext","Context","tagGroupContext","TagGroupContext","allProps","extendPropsWithContext","translation","_handleDeprecatedBeha","handleDeprecatedBehavior","className","children","text","hasLabel","variant","onClick","removeIconTitle","addIconTitle","props","content","addIcon","isInteractive","spacingClasses","createSpacingClasses","tagClassNames","classnames","buttonAttr","isDeleteKeyboardEvent","keyboardEvent","handleDeleteKeyUp","event","element","type","icon","getIcon","warn","createElement","size","icon_position","on_click","onKeyUp","e","undefined","_ref","onDelete","title","inherit_color","width","height","fill","xmlns","d","strokeWidth","strokeLinecap","strokeLinejoin","Group","TagGroup","_formElement","_supportsSpacingProps","_default"],"sources":["../../../../src/components/tag/Tag.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport Button, { ButtonProps } from '../button/Button'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n warn,\n extendPropsWithContext,\n} from '../../shared/component-helper'\n\n// Internal\nimport TagGroup from './TagGroup'\nimport { TagGroupContext } from './TagContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nexport interface TagProps {\n /**\n * The content of the tag element, can be a string or a React Element.\n * Default: null\n */\n text?: string | React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: null\n */\n icon?: IconIcon\n\n /**\n * If a label is given, typical inside a table or dl (definition list), then you can disable Tag.Group as a dependent of Tag. Use `true` to omit the `Tag group required:` warning.\n * Default: null\n */\n hasLabel?: boolean\n\n /**\n * Defines the variant\n * Default: 'default'\n */\n variant?: 'default' | 'clickable' | 'addable' | 'removable'\n\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * The content of the tag element, can be a string or a React Element. Will be overwritten by text prop\n * Default: null\n */\n children?: string | React.ReactNode // ReactNode allows multiple elements, strings, numbers, fragments, portals...\n\n /**\n * Handle the click event on 'tag' element\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * Handle the delete event on 'tag' element\n * Default: null\n * @deprecated Use `onClick` instead. With `variant='removable'`\n */\n onDelete?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * Handle the delete event on 'tag' element\n * Default: null\n */\n omitOnKeyUpDeleteEvent?: boolean\n\n /**\n * Internal property\n * Has translation in context\n */\n removeIconTitle?: string\n\n /**\n * Internal property\n * Has translation in context\n */\n addIconTitle?: string\n}\n\nexport const defaultProps = {\n skeleton: null,\n omitOnKeyUpDeleteEvent: false,\n}\n\nconst Tag = (localProps: TagProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const tagGroupContext = React.useContext(TagGroupContext)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Tag,\n context?.Tag,\n tagGroupContext\n )\n\n const {\n className,\n skeleton,\n children,\n text,\n hasLabel,\n variant = 'default',\n onClick,\n omitOnKeyUpDeleteEvent,\n removeIconTitle, // has a translation in context\n addIconTitle, // has a translation in context\n ...props\n } = handleDeprecatedBehavior(allProps)\n\n const content = text || children\n\n const addIcon = variant === 'removable' || variant === 'addable'\n const isInteractive = variant !== 'default'\n const spacingClasses = createSpacingClasses(props)\n const tagClassNames = classnames(\n 'dnb-tag',\n className,\n spacingClasses,\n isInteractive && 'dnb-tag--interactive',\n `dnb-tag--${variant}`\n )\n const buttonAttr: typeof props & Pick<ButtonProps, 'element' | 'type'> =\n props\n\n const isDeleteKeyboardEvent = (keyboardEvent) => {\n return (\n keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete'\n )\n }\n\n const handleDeleteKeyUp = (event) => {\n if (isDeleteKeyboardEvent(event) && onClick) {\n onClick(event)\n }\n }\n\n if (!isInteractive) {\n buttonAttr.element = 'span'\n buttonAttr.type = ''\n }\n\n if (addIcon) {\n buttonAttr.icon = getIcon(\n variant === 'addable' ? addIconTitle : removeIconTitle\n )\n }\n\n if (!tagGroupContext && !hasLabel) {\n warn(\n `Tag group required: A Tag requires a Tag.Group with label description as a parent component. This is to ensure correct semantic and accessibility.`\n )\n }\n\n return (\n <Button\n variant=\"unstyled\"\n size=\"small\"\n icon_position={addIcon ? 'right' : 'left'}\n className={tagClassNames}\n on_click={onClick}\n text={content}\n skeleton={skeleton}\n onKeyUp={\n variant === 'removable' && !omitOnKeyUpDeleteEvent\n ? (e) => handleDeleteKeyUp(e)\n : undefined\n }\n {...buttonAttr}\n />\n )\n}\n\n/**\n * Support deprecated behavior by mutating the props.\n * Deprecated behavior: variant 'clickable' and 'removable' is defined by the 'onClick' and 'onDelete' props\n */\nconst handleDeprecatedBehavior: (allProps: TagProps) => TagProps = ({\n onDelete,\n ...allProps\n}) => {\n if (!allProps.variant) {\n if (allProps.onClick) {\n allProps.variant = 'clickable'\n } else if (onDelete) {\n allProps.onClick = onDelete\n allProps.variant = 'removable'\n }\n }\n return allProps\n}\nconst getIcon = (title: string) => (\n <IconPrimary\n title={title}\n inherit_color={false}\n icon={\n <svg\n width=\"16\"\n height=\"16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z\"\n className=\"dnb-icon-close-circle-path\"\n />\n <path\n d=\"m5.5 10.5 5-5m0 5-5-5\"\n className=\"dnb-icon-close-cross-path\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n }\n />\n)\n\nTag.Group = TagGroup\n\nTag._formElement = true\nTag._supportsSpacingProps = true\n\nexport default Tag\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tag.js","names":["_react","_interopRequireDefault","require","_classnames","_IconPrimary","_Button","_Context","_componentHelper","_TagGroup","_TagContext","_SpacingHelper","_svg","_excluded","_excluded2","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","defaultProps","skeleton","omitOnKeyUpDeleteEvent","exports","Tag","localProps","_context$translation","context","React","useContext","Context","tagGroupContext","TagGroupContext","allProps","extendPropsWithContext","translation","_handleDeprecatedBeha","handleDeprecatedBehavior","className","children","text","hasLabel","variant","onClick","removeIconTitle","addIconTitle","props","content","addIcon","isInteractive","spacingClasses","createSpacingClasses","tagClassNames","classnames","buttonAttr","isDeleteKeyboardEvent","keyboardEvent","handleDeleteKeyUp","event","element","type","icon","getIcon","warn","createElement","size","icon_position","on_click","onKeyUp","e","undefined","_ref","onDelete","title","inherit_color","width","height","fill","xmlns","d","strokeWidth","strokeLinecap","strokeLinejoin","Group","TagGroup","_formElement","_supportsSpacingProps","_default"],"sources":["../../../../src/components/tag/Tag.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport Button, { ButtonProps } from '../button/Button'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n warn,\n extendPropsWithContext,\n} from '../../shared/component-helper'\n\n// Internal\nimport TagGroup from './TagGroup'\nimport { TagGroupContext } from './TagContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nexport interface TagProps {\n /**\n * The content of the tag element, can be a string or a React Element.\n * Default: null\n */\n text?: string | React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: null\n */\n icon?: IconIcon\n\n /**\n * If a label is given, typical inside a table or dl (definition list), then you can disable Tag.Group as a dependent of Tag. Use `true` to omit the `Tag group required:` warning.\n * Default: null\n */\n hasLabel?: boolean\n\n /**\n * Defines the variant\n * Default: 'default'\n */\n variant?: 'default' | 'clickable' | 'addable' | 'removable'\n\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * The content of the tag element, can be a string or a React Element. Will be overwritten by text prop\n * Default: null\n */\n children?: string | React.ReactNode // ReactNode allows multiple elements, strings, numbers, fragments, portals...\n\n /**\n * Handle the click event on 'tag' element\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * Handle the delete event on 'tag' element\n * Default: null\n * @deprecated Use `onClick` instead. With `variant='removable'`\n */\n onDelete?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * Handle the delete event on 'tag' element\n * Default: null\n */\n omitOnKeyUpDeleteEvent?: boolean\n\n /**\n * Internal property\n * Has translation in context\n */\n removeIconTitle?: string\n\n /**\n * Internal property\n * Has translation in context\n */\n addIconTitle?: string\n}\n\nexport const defaultProps = {\n skeleton: null,\n omitOnKeyUpDeleteEvent: false,\n}\n\nconst Tag = (\n localProps: TagProps & SpacingProps & React.HTMLProps<HTMLElement>\n) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const tagGroupContext = React.useContext(TagGroupContext)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Tag,\n context?.Tag,\n tagGroupContext\n )\n\n const {\n className,\n skeleton,\n children,\n text,\n hasLabel,\n variant = 'default',\n onClick,\n omitOnKeyUpDeleteEvent,\n removeIconTitle, // has a translation in context\n addIconTitle, // has a translation in context\n ...props\n } = handleDeprecatedBehavior(allProps)\n\n const content = text || children\n\n const addIcon = variant === 'removable' || variant === 'addable'\n const isInteractive = variant !== 'default'\n const spacingClasses = createSpacingClasses(props)\n const tagClassNames = classnames(\n 'dnb-tag',\n className,\n spacingClasses,\n isInteractive && 'dnb-tag--interactive',\n `dnb-tag--${variant}`\n )\n const buttonAttr: typeof props & Pick<ButtonProps, 'element' | 'type'> =\n props\n\n const isDeleteKeyboardEvent = (keyboardEvent) => {\n return (\n keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete'\n )\n }\n\n const handleDeleteKeyUp = (event) => {\n if (isDeleteKeyboardEvent(event) && onClick) {\n onClick(event)\n }\n }\n\n if (!isInteractive) {\n buttonAttr.element = 'span'\n buttonAttr.type = ''\n }\n\n if (addIcon) {\n buttonAttr.icon = getIcon(\n variant === 'addable' ? addIconTitle : removeIconTitle\n )\n }\n\n if (!tagGroupContext && !hasLabel) {\n warn(\n `Tag group required: A Tag requires a Tag.Group with label description as a parent component. This is to ensure correct semantic and accessibility.`\n )\n }\n\n return (\n <Button\n variant=\"unstyled\"\n size=\"small\"\n icon_position={addIcon ? 'right' : 'left'}\n className={tagClassNames}\n on_click={onClick}\n text={content}\n skeleton={skeleton}\n onKeyUp={\n variant === 'removable' && !omitOnKeyUpDeleteEvent\n ? (e) => handleDeleteKeyUp(e)\n : undefined\n }\n {...buttonAttr}\n />\n )\n}\n\n/**\n * Support deprecated behavior by mutating the props.\n * Deprecated behavior: variant 'clickable' and 'removable' is defined by the 'onClick' and 'onDelete' props\n */\nconst handleDeprecatedBehavior: (allProps: TagProps) => TagProps = ({\n onDelete,\n ...allProps\n}) => {\n if (!allProps.variant) {\n if (allProps.onClick) {\n allProps.variant = 'clickable'\n } else if (onDelete) {\n allProps.onClick = onDelete\n allProps.variant = 'removable'\n }\n }\n return allProps\n}\nconst getIcon = (title: string) => (\n <IconPrimary\n title={title}\n inherit_color={false}\n icon={\n <svg\n width=\"16\"\n height=\"16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z\"\n className=\"dnb-icon-close-circle-path\"\n />\n <path\n d=\"m5.5 10.5 5-5m0 5-5-5\"\n className=\"dnb-icon-close-cross-path\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n }\n />\n)\n\nTag.Group = TagGroup\n\nTag._formElement = true\nTag._supportsSpacingProps = true\n\nexport default Tag\n"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export declare const defaultProps: {
|
|
|
30
30
|
skeleton: boolean;
|
|
31
31
|
};
|
|
32
32
|
declare const TagGroup: {
|
|
33
|
-
(localProps: TagGroupProps & SpacingProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
(localProps: TagGroupProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, 'label'>): import("react/jsx-runtime").JSX.Element;
|
|
34
34
|
_supportsSpacingProps: boolean;
|
|
35
35
|
};
|
|
36
36
|
export default TagGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagGroup.js","names":["_react","_interopRequireDefault","require","_classnames","_SpacingHelper","_componentHelper","_Context","_TagContext","_excluded","_excluded2","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","defaultProps","label","className","children","skeleton","exports","TagGroup","localProps","context","React","useContext","Context","_extendPropsWithConte","extendPropsWithContext","childrenProp","props","Array","isArray","map","child","spacingClasses","createSpacingClasses","_validateDOMAttribute","validateDOMAttributes","attributes","createElement","TagGroupContext","Provider","value","classnames","_supportsSpacingProps","_default"],"sources":["../../../../src/components/tag/TagGroup.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\n// Shared\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport { TagGroupContext } from './TagContext'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\nexport interface TagGroupProps {\n /**\n * Aria label to describe the tag group\n * Default: null\n */\n label: React.ReactNode\n\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * The tags to group.\n * Default: null\n */\n children?: React.ReactNode\n\n /**\n * Skeleton should be applied when loading content\n * Default: false\n */\n skeleton?: SkeletonShow\n}\n\nexport const defaultProps = {\n label: null,\n className: null,\n children: null,\n skeleton: false,\n}\n\nconst TagGroup = (localProps: TagGroupProps
|
|
1
|
+
{"version":3,"file":"TagGroup.js","names":["_react","_interopRequireDefault","require","_classnames","_SpacingHelper","_componentHelper","_Context","_TagContext","_excluded","_excluded2","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","defaultProps","label","className","children","skeleton","exports","TagGroup","localProps","context","React","useContext","Context","_extendPropsWithConte","extendPropsWithContext","childrenProp","props","Array","isArray","map","child","spacingClasses","createSpacingClasses","_validateDOMAttribute","validateDOMAttributes","attributes","createElement","TagGroupContext","Provider","value","classnames","_supportsSpacingProps","_default"],"sources":["../../../../src/components/tag/TagGroup.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\n// Shared\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport { TagGroupContext } from './TagContext'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\nexport interface TagGroupProps {\n /**\n * Aria label to describe the tag group\n * Default: null\n */\n label: React.ReactNode\n\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * The tags to group.\n * Default: null\n */\n children?: React.ReactNode\n\n /**\n * Skeleton should be applied when loading content\n * Default: false\n */\n skeleton?: SkeletonShow\n}\n\nexport const defaultProps = {\n label: null,\n className: null,\n children: null,\n skeleton: false,\n}\n\nconst TagGroup = (\n localProps: TagGroupProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'label'>\n) => {\n // Every component should have a context\n const context = React.useContext(Context)\n // Extract additional props from global context\n const {\n label,\n className,\n children: childrenProp,\n ...props\n } = extendPropsWithContext(localProps, defaultProps, context?.TagGroup, {\n skeleton: context?.skeleton,\n })\n\n let children = childrenProp\n\n if (Array.isArray(childrenProp)) {\n children = [...childrenProp].map((child) => {\n return child\n })\n }\n\n const spacingClasses = createSpacingClasses(props)\n const {\n skeleton, // eslint-disable-line\n ...attributes\n } = validateDOMAttributes({}, props)\n\n return (\n <TagGroupContext.Provider value={props}>\n <span\n className={classnames('dnb-tag__group', spacingClasses, className)}\n {...attributes}\n >\n <span className=\"dnb-sr-only\">{label}</span>\n {children}\n </span>\n </TagGroupContext.Provider>\n )\n}\n\nTagGroup._supportsSpacingProps = true\n\nexport default TagGroup\n"],"mappings":"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"}
|
|
@@ -113,7 +113,10 @@ export interface ContextState {
|
|
|
113
113
|
setFieldConnection?: (path: Path, connections: FieldConnections) => void;
|
|
114
114
|
isEmptyDataRef?: React.MutableRefObject<boolean>;
|
|
115
115
|
addSetShowAllErrorsRef?: React.MutableRefObject<Array<(showAllErrors: boolean) => void>>;
|
|
116
|
-
fieldDisplayValueRef?: React.MutableRefObject<Record<Path,
|
|
116
|
+
fieldDisplayValueRef?: React.MutableRefObject<Record<Path, {
|
|
117
|
+
type: 'field';
|
|
118
|
+
value?: React.ReactNode;
|
|
119
|
+
}>>;
|
|
117
120
|
fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>;
|
|
118
121
|
valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>;
|
|
119
122
|
fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_utils","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, React.ReactNode>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAsE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA8M/D,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAE,IAAAC,sBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAEvB,SAAS;EAC/BwB,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAA5B,mBAAA,GAAAA,mBAAA;AAED,MAAM6B,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAe/B,mBAAmB,CAAC;AAAA,IAAAgC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAA7B,OAAA,GAAAiC,QAAA"}
|
|
1
|
+
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_utils","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","props","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAsE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA8M/D,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAE,IAAAC,sBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAEvB,SAAS;EAC/BwB,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAA5B,mBAAA,GAAAA,mBAAA;AAED,MAAM6B,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAe/B,mBAAmB,CAAC;AAAA,IAAAgC,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAA7B,OAAA,GAAAiC,QAAA"}
|
|
@@ -14,8 +14,11 @@ export type SharedAttachments<Data = unknown> = {
|
|
|
14
14
|
setShowAllErrors?: ContextState['setShowAllErrors'];
|
|
15
15
|
setSubmitState?: ContextState['setSubmitState'];
|
|
16
16
|
rerenderUseDataHook?: () => void;
|
|
17
|
+
updateDataValue?: ContextState['updateDataValue'];
|
|
17
18
|
clearData?: () => void;
|
|
19
|
+
setData?: ContextState['setData'];
|
|
18
20
|
fieldConnectionsRef?: ContextState['fieldConnectionsRef'];
|
|
21
|
+
internalDataRef?: ContextState['internalDataRef'];
|
|
19
22
|
};
|
|
20
23
|
export type Props<Data extends JsonObject> = IsolationProviderProps<Data> & {
|
|
21
24
|
/**
|
|
@@ -184,7 +184,8 @@ function Provider(props) {
|
|
|
184
184
|
const mutateDataHandler = (0, _react.useCallback)(function (data, handler) {
|
|
185
185
|
let {
|
|
186
186
|
remove = false,
|
|
187
|
-
mutate = true
|
|
187
|
+
mutate = true,
|
|
188
|
+
fireHandlerWhen = null
|
|
188
189
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
189
190
|
const freshData = {};
|
|
190
191
|
const mutateEntry = (path, result) => {
|
|
@@ -213,20 +214,27 @@ function Provider(props) {
|
|
|
213
214
|
if (exists) {
|
|
214
215
|
var _fieldErrorRef$curren;
|
|
215
216
|
const value = _jsonPointer.default.get(data, path);
|
|
216
|
-
const
|
|
217
|
+
const {
|
|
218
|
+
value: displayValue,
|
|
219
|
+
type
|
|
220
|
+
} = fieldDisplayValueRef.current[path] || {};
|
|
217
221
|
const internal = {
|
|
218
222
|
error: (_fieldErrorRef$curren = fieldErrorRef.current) === null || _fieldErrorRef$curren === void 0 ? void 0 : _fieldErrorRef$curren[path]
|
|
219
223
|
};
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
224
|
+
if ((fireHandlerWhen === null || fireHandlerWhen === void 0 ? void 0 : fireHandlerWhen({
|
|
225
|
+
type
|
|
226
|
+
})) !== false) {
|
|
227
|
+
const result = handler({
|
|
228
|
+
path,
|
|
229
|
+
value,
|
|
230
|
+
displayValue,
|
|
231
|
+
label: props.label,
|
|
232
|
+
data: internalDataRef.current,
|
|
233
|
+
props,
|
|
234
|
+
internal
|
|
235
|
+
});
|
|
236
|
+
mutateEntry(path, result);
|
|
237
|
+
}
|
|
230
238
|
}
|
|
231
239
|
});
|
|
232
240
|
if (!mutate) {
|
|
@@ -407,34 +415,6 @@ function Provider(props) {
|
|
|
407
415
|
isEmptyDataRef.current = false;
|
|
408
416
|
});
|
|
409
417
|
}, [emptyData, id, onClear, setSharedData]);
|
|
410
|
-
useLayoutEffect(() => {
|
|
411
|
-
if (id) {
|
|
412
|
-
if (initialData && !sharedData.data) {
|
|
413
|
-
extendSharedData(initialData, {
|
|
414
|
-
preventSyncOfSameInstance: true
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
}, [id, initialData, extendSharedData, sharedData.data]);
|
|
419
|
-
useLayoutEffect(() => {
|
|
420
|
-
if (id) {
|
|
421
|
-
extendAttachment({
|
|
422
|
-
visibleDataHandler,
|
|
423
|
-
filterDataHandler,
|
|
424
|
-
hasErrors,
|
|
425
|
-
hasFieldError,
|
|
426
|
-
setShowAllErrors,
|
|
427
|
-
setSubmitState,
|
|
428
|
-
clearData,
|
|
429
|
-
fieldConnectionsRef
|
|
430
|
-
}, {
|
|
431
|
-
preventSyncOfSameInstance: true
|
|
432
|
-
});
|
|
433
|
-
if (filterSubmitData) {
|
|
434
|
-
rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}, [extendAttachment, visibleDataHandler, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setShowAllErrors, setSubmitState, clearData, extendSharedData]);
|
|
438
418
|
(0, _react.useMemo)(() => {
|
|
439
419
|
executeAjvValidator();
|
|
440
420
|
}, [internalDataRef.current]);
|
|
@@ -694,7 +674,13 @@ function Provider(props) {
|
|
|
694
674
|
};
|
|
695
675
|
const transformData = (data, handler) => {
|
|
696
676
|
return mutateDataHandler(data, handler, {
|
|
697
|
-
mutate: false
|
|
677
|
+
mutate: false,
|
|
678
|
+
fireHandlerWhen: _ref5 => {
|
|
679
|
+
let {
|
|
680
|
+
type
|
|
681
|
+
} = _ref5;
|
|
682
|
+
return type === 'field';
|
|
683
|
+
}
|
|
698
684
|
});
|
|
699
685
|
};
|
|
700
686
|
const formElement = formElementRef.current;
|
|
@@ -744,12 +730,12 @@ function Provider(props) {
|
|
|
744
730
|
}, [getSubmitData, getSubmitParams, handleSubmitCall, handleSubmitListeners, onSubmit, onSubmitComplete, scrollToTop, scrollTopOnSubmit]);
|
|
745
731
|
const fieldEventListenersRef = (0, _react.useRef)([]);
|
|
746
732
|
const setFieldEventListener = (0, _react.useCallback)((path, type, callback) => {
|
|
747
|
-
fieldEventListenersRef.current = fieldEventListenersRef.current.filter(
|
|
733
|
+
fieldEventListenersRef.current = fieldEventListenersRef.current.filter(_ref6 => {
|
|
748
734
|
let {
|
|
749
735
|
path: p,
|
|
750
736
|
type: t,
|
|
751
737
|
callback: c
|
|
752
|
-
} =
|
|
738
|
+
} = _ref6;
|
|
753
739
|
return !(p === path && t === type && c === callback);
|
|
754
740
|
});
|
|
755
741
|
fieldEventListenersRef.current.push({
|
|
@@ -789,6 +775,37 @@ function Provider(props) {
|
|
|
789
775
|
customStatus: undefined
|
|
790
776
|
});
|
|
791
777
|
}, [setFormState, setSubmitState]);
|
|
778
|
+
useLayoutEffect(() => {
|
|
779
|
+
if (id) {
|
|
780
|
+
if (initialData && !sharedData.data) {
|
|
781
|
+
extendSharedData(initialData, {
|
|
782
|
+
preventSyncOfSameInstance: true
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
}, [id, initialData, extendSharedData, sharedData.data]);
|
|
787
|
+
useLayoutEffect(() => {
|
|
788
|
+
if (id) {
|
|
789
|
+
extendAttachment({
|
|
790
|
+
visibleDataHandler,
|
|
791
|
+
filterDataHandler,
|
|
792
|
+
hasErrors,
|
|
793
|
+
hasFieldError,
|
|
794
|
+
setShowAllErrors,
|
|
795
|
+
setSubmitState,
|
|
796
|
+
clearData,
|
|
797
|
+
setData,
|
|
798
|
+
updateDataValue,
|
|
799
|
+
fieldConnectionsRef,
|
|
800
|
+
internalDataRef
|
|
801
|
+
}, {
|
|
802
|
+
preventSyncOfSameInstance: true
|
|
803
|
+
});
|
|
804
|
+
if (filterSubmitData) {
|
|
805
|
+
rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
}, [clearData, extendAttachment, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setData, setShowAllErrors, setSubmitState, updateDataValue, visibleDataHandler]);
|
|
792
809
|
const {
|
|
793
810
|
bufferedFormState: formState
|
|
794
811
|
} = useFormStatusBuffer({
|