@dnb/eufemia 10.63.1 → 10.63.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/cjs/components/avatar/Avatar.d.ts +1 -1
  3. package/cjs/components/avatar/Avatar.js.map +1 -1
  4. package/cjs/components/avatar/AvatarGroup.d.ts +1 -1
  5. package/cjs/components/avatar/AvatarGroup.js.map +1 -1
  6. package/cjs/components/badge/Badge.d.ts +1 -1
  7. package/cjs/components/badge/Badge.js.map +1 -1
  8. package/cjs/components/lib.d.ts +2 -2
  9. package/cjs/components/modal/Modal.d.ts +2 -1
  10. package/cjs/components/modal/Modal.js +10 -4
  11. package/cjs/components/modal/Modal.js.map +1 -1
  12. package/cjs/components/modal/ModalContent.d.ts +10 -8
  13. package/cjs/components/modal/ModalContent.js +48 -23
  14. package/cjs/components/modal/ModalContent.js.map +1 -1
  15. package/cjs/components/modal/ModalRoot.d.ts +2 -0
  16. package/cjs/components/modal/ModalRoot.js.map +1 -1
  17. package/cjs/components/modal/types.d.ts +11 -3
  18. package/cjs/components/modal/types.js.map +1 -1
  19. package/cjs/components/section/Section.js +1 -1
  20. package/cjs/components/section/Section.js.map +1 -1
  21. package/cjs/components/tag/Tag.d.ts +2 -2
  22. package/cjs/components/tag/Tag.js.map +1 -1
  23. package/cjs/components/tag/TagGroup.d.ts +1 -1
  24. package/cjs/components/tag/TagGroup.js.map +1 -1
  25. package/cjs/elements/code/style/code-mixins.scss +4 -0
  26. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  27. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  28. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -0
  29. package/cjs/extensions/forms/DataContext/Provider/Provider.js +33 -30
  30. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  31. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +6 -6
  32. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  33. package/cjs/extensions/forms/Form/data-context/useData.js +14 -10
  34. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  35. package/cjs/extensions/forms/Form/data-context/useValidation.js +1 -1
  36. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  37. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  38. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  39. package/cjs/extensions/forms/hooks/useExternalValue.js +2 -2
  40. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  41. package/cjs/extensions/forms/hooks/useFieldProps.js +23 -16
  42. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  43. package/cjs/shared/Eufemia.d.ts +1 -1
  44. package/cjs/shared/Eufemia.js +2 -2
  45. package/cjs/shared/Eufemia.js.map +1 -1
  46. package/cjs/shared/error-helper.d.ts +0 -6
  47. package/cjs/shared/error-helper.js +6 -3
  48. package/cjs/shared/error-helper.js.map +1 -1
  49. package/cjs/style/core/scopes.scss +1 -1
  50. package/cjs/style/dnb-ui-basis.css +1 -1
  51. package/cjs/style/dnb-ui-basis.min.css +1 -1
  52. package/cjs/style/dnb-ui-body.css +1 -1
  53. package/cjs/style/dnb-ui-body.min.css +1 -1
  54. package/cjs/style/dnb-ui-core.css +1 -1
  55. package/cjs/style/dnb-ui-core.min.css +1 -1
  56. package/cjs/style/dnb-ui-elements.css +3 -0
  57. package/cjs/style/dnb-ui-elements.min.css +1 -1
  58. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  59. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  60. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  61. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  62. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  63. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  64. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  65. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  66. package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -0
  67. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  68. package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -0
  69. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  70. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
  71. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  72. package/components/avatar/Avatar.d.ts +1 -1
  73. package/components/avatar/Avatar.js.map +1 -1
  74. package/components/avatar/AvatarGroup.d.ts +1 -1
  75. package/components/avatar/AvatarGroup.js.map +1 -1
  76. package/components/badge/Badge.d.ts +1 -1
  77. package/components/badge/Badge.js.map +1 -1
  78. package/components/lib.d.ts +2 -2
  79. package/components/modal/Modal.d.ts +2 -1
  80. package/components/modal/Modal.js +10 -4
  81. package/components/modal/Modal.js.map +1 -1
  82. package/components/modal/ModalContent.d.ts +10 -8
  83. package/components/modal/ModalContent.js +48 -23
  84. package/components/modal/ModalContent.js.map +1 -1
  85. package/components/modal/ModalRoot.d.ts +2 -0
  86. package/components/modal/ModalRoot.js.map +1 -1
  87. package/components/modal/types.d.ts +11 -3
  88. package/components/modal/types.js.map +1 -1
  89. package/components/section/Section.js +1 -1
  90. package/components/section/Section.js.map +1 -1
  91. package/components/tag/Tag.d.ts +2 -2
  92. package/components/tag/Tag.js.map +1 -1
  93. package/components/tag/TagGroup.d.ts +1 -1
  94. package/components/tag/TagGroup.js.map +1 -1
  95. package/elements/code/style/code-mixins.scss +4 -0
  96. package/es/components/avatar/Avatar.d.ts +1 -1
  97. package/es/components/avatar/Avatar.js.map +1 -1
  98. package/es/components/avatar/AvatarGroup.d.ts +1 -1
  99. package/es/components/avatar/AvatarGroup.js.map +1 -1
  100. package/es/components/badge/Badge.d.ts +1 -1
  101. package/es/components/badge/Badge.js.map +1 -1
  102. package/es/components/lib.d.ts +2 -2
  103. package/es/components/modal/Modal.d.ts +2 -1
  104. package/es/components/modal/Modal.js +10 -4
  105. package/es/components/modal/Modal.js.map +1 -1
  106. package/es/components/modal/ModalContent.d.ts +10 -8
  107. package/es/components/modal/ModalContent.js +44 -20
  108. package/es/components/modal/ModalContent.js.map +1 -1
  109. package/es/components/modal/ModalRoot.d.ts +2 -0
  110. package/es/components/modal/ModalRoot.js.map +1 -1
  111. package/es/components/modal/types.d.ts +11 -3
  112. package/es/components/modal/types.js.map +1 -1
  113. package/es/components/section/Section.js +1 -1
  114. package/es/components/section/Section.js.map +1 -1
  115. package/es/components/tag/Tag.d.ts +2 -2
  116. package/es/components/tag/Tag.js.map +1 -1
  117. package/es/components/tag/TagGroup.d.ts +1 -1
  118. package/es/components/tag/TagGroup.js.map +1 -1
  119. package/es/elements/code/style/code-mixins.scss +4 -0
  120. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  121. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  122. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -0
  123. package/es/extensions/forms/DataContext/Provider/Provider.js +33 -30
  124. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  125. package/es/extensions/forms/Form/Visibility/useVisibility.js +6 -6
  126. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  127. package/es/extensions/forms/Form/data-context/useData.js +14 -10
  128. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  129. package/es/extensions/forms/Form/data-context/useValidation.js +1 -1
  130. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  131. package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  132. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  133. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  134. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  135. package/es/extensions/forms/hooks/useFieldProps.js +23 -16
  136. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  137. package/es/shared/Eufemia.d.ts +1 -1
  138. package/es/shared/Eufemia.js +2 -2
  139. package/es/shared/Eufemia.js.map +1 -1
  140. package/es/shared/error-helper.d.ts +0 -6
  141. package/es/shared/error-helper.js +6 -3
  142. package/es/shared/error-helper.js.map +1 -1
  143. package/es/style/core/scopes.scss +1 -1
  144. package/es/style/dnb-ui-basis.css +1 -1
  145. package/es/style/dnb-ui-basis.min.css +1 -1
  146. package/es/style/dnb-ui-body.css +1 -1
  147. package/es/style/dnb-ui-body.min.css +1 -1
  148. package/es/style/dnb-ui-core.css +1 -1
  149. package/es/style/dnb-ui-core.min.css +1 -1
  150. package/es/style/dnb-ui-elements.css +3 -0
  151. package/es/style/dnb-ui-elements.min.css +1 -1
  152. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  153. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  154. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  155. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  156. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  157. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  158. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  159. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  160. package/es/style/themes/theme-ui/ui-theme-basis.css +3 -0
  161. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  162. package/es/style/themes/theme-ui/ui-theme-elements.css +3 -0
  163. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  164. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
  165. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  166. package/esm/dnb-ui-basis.min.mjs +1 -1
  167. package/esm/dnb-ui-components.min.mjs +1 -1
  168. package/esm/dnb-ui-elements.min.mjs +1 -1
  169. package/esm/dnb-ui-extensions.min.mjs +2 -2
  170. package/esm/dnb-ui-lib.min.mjs +1 -1
  171. package/extensions/forms/DataContext/Context.d.ts +1 -1
  172. package/extensions/forms/DataContext/Context.js.map +1 -1
  173. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -0
  174. package/extensions/forms/DataContext/Provider/Provider.js +33 -30
  175. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  176. package/extensions/forms/Form/Visibility/useVisibility.js +6 -6
  177. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  178. package/extensions/forms/Form/data-context/useData.js +14 -10
  179. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  180. package/extensions/forms/Form/data-context/useValidation.js +1 -1
  181. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  182. package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  183. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  184. package/extensions/forms/hooks/useExternalValue.js +2 -2
  185. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  186. package/extensions/forms/hooks/useFieldProps.js +23 -16
  187. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  188. package/package.json +1 -1
  189. package/shared/Eufemia.d.ts +1 -1
  190. package/shared/Eufemia.js +2 -2
  191. package/shared/Eufemia.js.map +1 -1
  192. package/shared/error-helper.d.ts +0 -6
  193. package/shared/error-helper.js +6 -3
  194. package/shared/error-helper.js.map +1 -1
  195. package/style/core/scopes.scss +1 -1
  196. package/style/dnb-ui-basis.css +1 -1
  197. package/style/dnb-ui-basis.min.css +1 -1
  198. package/style/dnb-ui-body.css +1 -1
  199. package/style/dnb-ui-body.min.css +1 -1
  200. package/style/dnb-ui-core.css +1 -1
  201. package/style/dnb-ui-core.min.css +1 -1
  202. package/style/dnb-ui-elements.css +3 -0
  203. package/style/dnb-ui-elements.min.css +1 -1
  204. package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  205. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  206. package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  207. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  208. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  209. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  210. package/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  211. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  212. package/style/themes/theme-ui/ui-theme-basis.css +3 -0
  213. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  214. package/style/themes/theme-ui/ui-theme-elements.css +3 -0
  215. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  216. package/style/themes/theme-ui/ui-theme-tags.css +3 -0
  217. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  218. package/umd/dnb-ui-basis.min.js +1 -1
  219. package/umd/dnb-ui-components.min.js +1 -1
  220. package/umd/dnb-ui-elements.min.js +1 -1
  221. package/umd/dnb-ui-extensions.min.js +1 -1
  222. package/umd/dnb-ui-lib.min.js +1 -1
@@ -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 & SpacingProps) => {\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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,gBAAA,GAAAH,OAAA;AAIA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AAA8C,MAAAM,SAAA;EAAAC,UAAA;AAAA,SAAAR,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AA6BvC,MAAMmB,YAAY,GAAG;EAC1BC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE;AACZ,CAAC;AAAAC,OAAA,CAAAL,YAAA,GAAAA,YAAA;AAED,MAAMM,QAAQ,GAAIC,UAAwC,IAAK;EAE7D,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,gBAAO,CAAC;EAEzC,MAAAC,qBAAA,GAKI,IAAAC,uCAAsB,EAACN,UAAU,EAAEP,YAAY,EAAEQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF,QAAQ,EAAE;MACtEF,QAAQ,EAAEI,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ;IACrB,CAAC,CAAC;IAPI;MACJH,KAAK;MACLC,SAAS;MACTC,QAAQ,EAAEW;IAEZ,CAAC,GAAAF,qBAAA;IADIG,KAAK,GAAAxB,wBAAA,CAAAqB,qBAAA,EAAAxC,SAAA;EAKV,IAAI+B,QAAQ,GAAGW,YAAY;EAE3B,IAAIE,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;IAC/BX,QAAQ,GAAG,CAAC,GAAGW,YAAY,CAAC,CAACI,GAAG,CAAEC,KAAK,IAAK;MAC1C,OAAOA,KAAK;IACd,CAAC,CAAC;EACJ;EAEA,MAAMC,cAAc,GAAG,IAAAC,mCAAoB,EAACN,KAAK,CAAC;EAClD,MAAAO,qBAAA,GAGI,IAAAC,sCAAqB,EAAC,CAAC,CAAC,EAAER,KAAK,CAAC;IAH9B;MACJX;IAEF,CAAC,GAAAkB,qBAAA;IADIE,UAAU,GAAAjC,wBAAA,CAAA+B,qBAAA,EAAAjD,UAAA;EAGf,OACET,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAACtD,WAAA,CAAAuD,eAAe,CAACC,QAAQ;IAACC,KAAK,EAAEb;EAAM,GACrCnD,MAAA,CAAAY,OAAA,CAAAiD,aAAA,SAAAhD,QAAA;IACEyB,SAAS,EAAE,IAAA2B,mBAAU,EAAC,gBAAgB,EAAET,cAAc,EAAElB,SAAS;EAAE,GAC/DsB,UAAU,GAEd5D,MAAA,CAAAY,OAAA,CAAAiD,aAAA;IAAMvB,SAAS,EAAC;EAAa,GAAED,KAAY,CAAC,EAC3CE,QACG,CACkB,CAAC;AAE/B,CAAC;AAEDG,QAAQ,CAACwB,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAEtBzB,QAAQ;AAAAD,OAAA,CAAA7B,OAAA,GAAAuD,QAAA"}
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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,gBAAA,GAAAH,OAAA;AAIA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AAA8C,MAAAM,SAAA;EAAAC,UAAA;AAAA,SAAAR,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AA6BvC,MAAMmB,YAAY,GAAG;EAC1BC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE;AACZ,CAAC;AAAAC,OAAA,CAAAL,YAAA,GAAAA,YAAA;AAED,MAAMM,QAAQ,GACZC,UAE6C,IAC1C;EAEH,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,gBAAO,CAAC;EAEzC,MAAAC,qBAAA,GAKI,IAAAC,uCAAsB,EAACN,UAAU,EAAEP,YAAY,EAAEQ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF,QAAQ,EAAE;MACtEF,QAAQ,EAAEI,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ;IACrB,CAAC,CAAC;IAPI;MACJH,KAAK;MACLC,SAAS;MACTC,QAAQ,EAAEW;IAEZ,CAAC,GAAAF,qBAAA;IADIG,KAAK,GAAAxB,wBAAA,CAAAqB,qBAAA,EAAAxC,SAAA;EAKV,IAAI+B,QAAQ,GAAGW,YAAY;EAE3B,IAAIE,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;IAC/BX,QAAQ,GAAG,CAAC,GAAGW,YAAY,CAAC,CAACI,GAAG,CAAEC,KAAK,IAAK;MAC1C,OAAOA,KAAK;IACd,CAAC,CAAC;EACJ;EAEA,MAAMC,cAAc,GAAG,IAAAC,mCAAoB,EAACN,KAAK,CAAC;EAClD,MAAAO,qBAAA,GAGI,IAAAC,sCAAqB,EAAC,CAAC,CAAC,EAAER,KAAK,CAAC;IAH9B;MACJX;IAEF,CAAC,GAAAkB,qBAAA;IADIE,UAAU,GAAAjC,wBAAA,CAAA+B,qBAAA,EAAAjD,UAAA;EAGf,OACET,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAACtD,WAAA,CAAAuD,eAAe,CAACC,QAAQ;IAACC,KAAK,EAAEb;EAAM,GACrCnD,MAAA,CAAAY,OAAA,CAAAiD,aAAA,SAAAhD,QAAA;IACEyB,SAAS,EAAE,IAAA2B,mBAAU,EAAC,gBAAgB,EAAET,cAAc,EAAElB,SAAS;EAAE,GAC/DsB,UAAU,GAEd5D,MAAA,CAAAY,OAAA,CAAAiD,aAAA;IAAMvB,SAAS,EAAC;EAAa,GAAED,KAAY,CAAC,EAC3CE,QACG,CACkB,CAAC;AAE/B,CAAC;AAEDG,QAAQ,CAACwB,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAEtBzB,QAAQ;AAAAD,OAAA,CAAA7B,OAAA,GAAAuD,QAAA"}
@@ -22,6 +22,10 @@
22
22
  color: inherit;
23
23
 
24
24
  border-radius: 0.1875em;
25
+
26
+ & .dnb-anchor {
27
+ font-size: inherit;
28
+ }
25
29
  }
26
30
 
27
31
  @mixin preStyle() {
@@ -122,7 +122,7 @@ export interface ContextState {
122
122
  existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>;
123
123
  formElementRef?: React.MutableRefObject<HTMLFormElement>;
124
124
  fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>;
125
- showAllErrors: boolean;
125
+ showAllErrors: boolean | number;
126
126
  hasVisibleError: boolean;
127
127
  formState: SubmitState;
128
128
  ajvInstance: Ajv;
@@ -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\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, 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
  /**
@@ -87,7 +87,7 @@ function Provider(props) {
87
87
  const addSetShowAllErrorsRef = (0, _react.useRef)([]);
88
88
  const showAllErrorsRef = (0, _react.useRef)(false);
89
89
  const setShowAllErrors = (0, _react.useCallback)(showAllErrors => {
90
- showAllErrorsRef.current = showAllErrors;
90
+ showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors;
91
91
  forceUpdate();
92
92
  addSetShowAllErrorsRef.current.forEach(fn => fn === null || fn === void 0 ? void 0 : fn(showAllErrors));
93
93
  }, []);
@@ -407,34 +407,6 @@ function Provider(props) {
407
407
  isEmptyDataRef.current = false;
408
408
  });
409
409
  }, [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
410
  (0, _react.useMemo)(() => {
439
411
  executeAjvValidator();
440
412
  }, [internalDataRef.current]);
@@ -789,6 +761,37 @@ function Provider(props) {
789
761
  customStatus: undefined
790
762
  });
791
763
  }, [setFormState, setSubmitState]);
764
+ useLayoutEffect(() => {
765
+ if (id) {
766
+ if (initialData && !sharedData.data) {
767
+ extendSharedData(initialData, {
768
+ preventSyncOfSameInstance: true
769
+ });
770
+ }
771
+ }
772
+ }, [id, initialData, extendSharedData, sharedData.data]);
773
+ useLayoutEffect(() => {
774
+ if (id) {
775
+ extendAttachment({
776
+ visibleDataHandler,
777
+ filterDataHandler,
778
+ hasErrors,
779
+ hasFieldError,
780
+ setShowAllErrors,
781
+ setSubmitState,
782
+ clearData,
783
+ setData,
784
+ updateDataValue,
785
+ fieldConnectionsRef,
786
+ internalDataRef
787
+ }, {
788
+ preventSyncOfSameInstance: true
789
+ });
790
+ if (filterSubmitData) {
791
+ rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
792
+ }
793
+ }
794
+ }, [clearData, extendAttachment, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setData, setShowAllErrors, setSubmitState, updateDataValue, visibleDataHandler]);
792
795
  const {
793
796
  bufferedFormState: formState
794
797
  } = useFormStatusBuffer({
@@ -868,7 +871,7 @@ function Provider(props) {
868
871
  globalStatus: {
869
872
  id: globalStatusId,
870
873
  title: translation.errorSummaryTitle,
871
- show: showAllErrorsRef.current
874
+ show: Boolean(showAllErrorsRef.current)
872
875
  }
873
876
  } : undefined,
874
877
  formElement: disabled ? {