@iabbb/bds-react 0.39.0 → 0.40.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/Button/Button.d.ts +7 -7
  2. package/Button/index.cjs.map +1 -1
  3. package/Button/index.d.ts +2 -2
  4. package/Button/index.mjs.map +1 -1
  5. package/Button/index.node.cjs +115 -0
  6. package/Button/index.node.cjs.map +1 -0
  7. package/Button/package.json +3 -0
  8. package/CallToAction/CallToAction.d.ts +6 -6
  9. package/CallToAction/index.cjs.map +1 -1
  10. package/CallToAction/index.d.ts +2 -2
  11. package/CallToAction/index.mjs.map +1 -1
  12. package/CallToAction/index.node.cjs +83 -0
  13. package/CallToAction/index.node.cjs.map +1 -0
  14. package/CallToAction/package.json +3 -0
  15. package/ErrorSummary/ErrorSummary.d.ts +14 -14
  16. package/ErrorSummary/index.cjs +157 -59
  17. package/ErrorSummary/index.cjs.map +1 -1
  18. package/ErrorSummary/index.d.ts +2 -2
  19. package/ErrorSummary/index.mjs +156 -58
  20. package/ErrorSummary/index.mjs.map +1 -1
  21. package/ErrorSummary/index.node.cjs +293 -0
  22. package/ErrorSummary/index.node.cjs.map +1 -0
  23. package/ErrorSummary/package.json +3 -0
  24. package/ErrorSummary/utils.d.ts +2 -2
  25. package/FieldTextInput/FieldTextInput.d.ts +10 -10
  26. package/FieldTextInput/index.cjs.map +1 -1
  27. package/FieldTextInput/index.d.ts +1 -1
  28. package/FieldTextInput/index.mjs.map +1 -1
  29. package/FieldTextInput/index.node.cjs +109 -0
  30. package/FieldTextInput/index.node.cjs.map +1 -0
  31. package/FieldTextInput/package.json +3 -0
  32. package/Pagination/Pagination.d.ts +8 -8
  33. package/Pagination/index.cjs.map +1 -1
  34. package/Pagination/index.d.ts +1 -1
  35. package/Pagination/index.mjs.map +1 -1
  36. package/Pagination/index.node.cjs +180 -0
  37. package/Pagination/index.node.cjs.map +1 -0
  38. package/Pagination/package.json +3 -0
  39. package/README.md +17 -17
  40. package/Typography/Typography.d.ts +7 -7
  41. package/Typography/index.cjs.map +1 -1
  42. package/Typography/index.d.ts +1 -1
  43. package/Typography/index.mjs.map +1 -1
  44. package/Typography/index.node.cjs +99 -0
  45. package/Typography/index.node.cjs.map +1 -0
  46. package/Typography/package.json +3 -0
  47. package/index.cjs +144 -59
  48. package/index.cjs.map +1 -1
  49. package/index.d.ts +6 -6
  50. package/index.mjs +144 -59
  51. package/index.mjs.map +1 -1
  52. package/package.json +41 -35
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/ErrorSummary/utils.ts","../../src/ErrorSummary/ErrorSummary.tsx"],"sourcesContent":["export function getFragmentFromUrl(url: string) {\n return url.includes('#') ? url.split('#').pop() : undefined;\n}\n\nexport function getAssociatedLegendOrLabel(input: HTMLElement) {\n const fieldset = input.closest('fieldset');\n\n if (fieldset) {\n const legends = fieldset.getElementsByTagName('legend');\n\n if (legends.length) {\n const candidateLegend = legends[0];\n\n // If the input type is radio or checkbox, always use the legend if there\n // is one.\n if (input instanceof HTMLInputElement && (input.type === 'checkbox' || input.type === 'radio')) {\n return candidateLegend;\n }\n\n // For other input types, only scroll to the fieldset’s legend (instead of\n // the label associated with the input) if the input would end up in the\n // top half of the screen.\n //\n // This should avoid situations where the input either ends up off the\n // screen, or obscured by a software keyboard.\n const legendTop = candidateLegend.getBoundingClientRect().top;\n const inputRect = input.getBoundingClientRect();\n\n // If the browser doesn't support Element.getBoundingClientRect().height\n // or window.innerHeight (like IE8), bail and just link to the label.\n if (inputRect.height && window.innerHeight) {\n const inputBottom = inputRect.top + inputRect.height;\n\n if (inputBottom - legendTop < window.innerHeight / 2) {\n return candidateLegend;\n }\n }\n }\n }\n\n return document.querySelector(`label[for='${input.getAttribute('id')}']`) ?? input.closest('label');\n}\n","import * as React from 'react';\n\nimport { getAssociatedLegendOrLabel, getFragmentFromUrl } from './utils';\n\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n 'bds-error-summary': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;\n }\n }\n}\n\nexport const FormErrorKey = '_form';\n\nconst FINAL_FORM_ERROR = 'FINAL_FORM/form-error';\n\nexport type ErrorSummaryProps = {\n errors: Record<string, Array<string> | string> | null;\n mapNameToId?: (name: string) => string;\n};\n\nexport default function BdsErrorSummary({\n className,\n errors,\n mapNameToId = (name) => name,\n ...props\n}: ErrorSummaryProps & React.ComponentPropsWithoutRef<'div'>) {\n const headingId = React.useId();\n const groupRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n if (!errors || Object.keys(errors).length === 0) return;\n if (!groupRef.current) return;\n\n groupRef.current.focus();\n }, [errors]);\n\n if (!errors || Object.keys(errors).length === 0) return null;\n\n const handleLinkClick = (e) => {\n const inputId = getFragmentFromUrl(e.currentTarget.href);\n\n if (!inputId) {\n return;\n }\n\n const input = document.getElementById(inputId);\n\n if (!input) {\n return;\n }\n\n const legendOrLabel = getAssociatedLegendOrLabel(input);\n\n if (!legendOrLabel) {\n return;\n }\n\n e.preventDefault();\n\n legendOrLabel.scrollIntoView();\n input.focus({ preventScroll: true });\n };\n\n return (\n <bds-error-summary\n className={['stack', className].filter((x) => x).join(' ')}\n role=\"group\"\n aria-labelledby={headingId}\n ref={groupRef}\n tabIndex={-1}\n {...props}\n >\n <h2 className=\"bds-h5\" id={headingId}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-hidden=\"true\"\n height=\"1em\"\n width=\"1em\"\n fill=\"currentColor\"\n >\n <path d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32z\" />\n </svg>\n Issue\n </h2>\n <ul>\n {Object.keys(errors).map((errorKey) => {\n const message = errors[errorKey];\n const isFormError = [FINAL_FORM_ERROR, FormErrorKey].includes(errorKey);\n\n if (isFormError) {\n return <li key={errorKey} dangerouslySetInnerHTML={{ __html: message }} />;\n }\n\n const isArrayField = Array.isArray(message);\n\n const messages = isArrayField ? message : [message];\n\n return (\n <React.Fragment key={errorKey}>\n {messages.map((fieldMessage, index) => {\n const inputId = `${mapNameToId(errorKey)}${isArrayField ? `[${index}]` : ''}`;\n\n return (\n <li key={inputId}>\n <a href={`#${inputId}`} onClick={handleLinkClick}>\n {fieldMessage}\n {messages.length > 1 ? ` (${index + 1} of ${messages.length})` : undefined}\n </a>\n </li>\n );\n })}\n </React.Fragment>\n );\n })}\n </ul>\n </bds-error-summary>\n );\n}\n"],"names":["getFragmentFromUrl","url","includes","split","pop","undefined","getAssociatedLegendOrLabel","input","_document$querySelect","fieldset","closest","legends","getElementsByTagName","length","candidateLegend","HTMLInputElement","type","legendTop","getBoundingClientRect","top","inputRect","height","window","innerHeight","inputBottom","document","querySelector","concat","getAttribute","FormErrorKey","FINAL_FORM_ERROR","BdsErrorSummary","_ref","className","errors","_ref$mapNameToId","mapNameToId","name","props","_objectWithoutProperties","_excluded","headingId","React","useId","groupRef","useRef","useEffect","Object","keys","current","focus","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","preventDefault","scrollIntoView","preventScroll","createElement","_extends","filter","x","join","role","ref","tabIndex","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../.yarn/__virtual__/@lit-labs-react-virtual-4509891a2a/0/cache/@lit-labs-react-npm-2.0.0-0a425990f1-28737941de.zip/node_modules/@lit-labs/react/create-component.js","../../src/ErrorSummary/ErrorSummary.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=new Set([\"children\",\"localName\",\"ref\",\"style\",\"className\"]),n=new WeakMap,l=(e,l,t,o,a)=>{const i=null==a?void 0:a[l];void 0===i||t===o?(e[l]=t,null==t&&l in HTMLElement.prototype&&e.removeAttribute(l)):((e,l,t)=>{let o=n.get(e);void 0===o&&n.set(e,o=new Map);let a=o.get(l);void 0!==t?void 0===a?(o.set(l,a={handleEvent:t}),e.addEventListener(l,a)):a.handleEvent=t:void 0!==a&&(o.delete(l),e.removeEventListener(l,a))})(e,i,t)},t=({react:n,tagName:t,elementClass:o,events:a,displayName:i})=>{const s=new Set(Object.keys(null!=a?a:{})),c=n.forwardRef(((i,c)=>{const r=n.useRef(null),d=n.useRef(null),u={},v={};for(const[n,l]of Object.entries(i))e.has(n)?u[\"className\"===n?\"class\":n]=l:s.has(n)||n in o.prototype?v[n]=l:u[n]=l;return n.useLayoutEffect((()=>{if(null!==d.current){for(const e in v)l(d.current,e,i[e],r.current?r.current[e]:void 0,a);r.current=i}})),n.useLayoutEffect((()=>{var e;null===(e=d.current)||void 0===e||e.removeAttribute(\"defer-hydration\")}),[]),u.suppressHydrationWarning=!0,n.createElement(t,{...u,ref:e=>{d.current=e,\"function\"==typeof c?c(e):null!==c&&(c.current=e)}})}));return c.displayName=null!=i?i:o.name,c};export{t as createComponent};\n//# sourceMappingURL=create-component.js.map\n","// https://github.com/IABBB/bds/blob/19862b9c179f6cc650d2973a83cce5ab3516fc99/packages/react/src/ErrorSummary/ErrorSummary.js\r\n// todo - exports?\r\nimport ErrorSummary from '@iabbb/bds/ErrorSummary';\r\nimport { createComponent } from '@lit-labs/react';\r\nimport * as React from 'react';\r\n\r\nconst ReactErrorSummary = createComponent({\r\n tagName: 'bds-error-summary',\r\n elementClass: ErrorSummary,\r\n react: React,\r\n});\r\n\r\ndeclare global {\r\n namespace JSX {\r\n interface IntrinsicElements {\r\n 'bds-error-summary': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;\r\n }\r\n }\r\n}\r\n\r\nexport const FormErrorKey = '_form';\r\n\r\nconst FINAL_FORM_ERROR = 'FINAL_FORM/form-error';\r\n\r\nexport type ErrorSummaryProps = {\r\n errors: Record<string, Array<string> | string> | null;\r\n mapNameToId?: (name: string) => string;\r\n};\r\n\r\nexport default function BdsErrorSummary({\r\n className,\r\n errors,\r\n mapNameToId = (name) => name,\r\n ...props\r\n}: ErrorSummaryProps & React.ComponentPropsWithoutRef<'div'>) {\r\n const headingId = React.useId();\r\n const groupRef = React.useRef<HTMLElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (!errors || Object.keys(errors).length === 0) return;\r\n if (!groupRef.current) return;\r\n\r\n groupRef.current.focus();\r\n }, [errors]);\r\n\r\n if (!errors || Object.keys(errors).length === 0) return null;\r\n\r\n return (\r\n <ReactErrorSummary\r\n className={['stack', className].filter((x) => x).join(' ')}\r\n role=\"group\"\r\n aria-labelledby={headingId}\r\n ref={groupRef}\r\n tabIndex={-1}\r\n {...props}\r\n >\r\n <h2 className=\"bds-h5\" id={headingId}>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n aria-hidden=\"true\"\r\n height=\"1em\"\r\n width=\"1em\"\r\n fill=\"currentColor\"\r\n >\r\n <path d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32z\" />\r\n </svg>\r\n Issue\r\n </h2>\r\n <ul>\r\n {Object.keys(errors).map((errorKey) => {\r\n const message = errors[errorKey];\r\n const isFormError = [FINAL_FORM_ERROR, FormErrorKey].includes(errorKey);\r\n\r\n if (isFormError) {\r\n return <li key={errorKey} dangerouslySetInnerHTML={{ __html: message }} />;\r\n }\r\n\r\n const isArrayField = Array.isArray(message);\r\n\r\n const messages = isArrayField ? message : [message];\r\n\r\n return (\r\n <React.Fragment key={errorKey}>\r\n {messages.map((fieldMessage, index) => {\r\n const inputId = `${mapNameToId(errorKey)}${isArrayField ? `[${index}]` : ''}`;\r\n\r\n return (\r\n <li key={inputId}>\r\n <a href={`#${inputId}`}>\r\n {fieldMessage}\r\n {messages.length > 1 ? ` (${index + 1} of ${messages.length})` : undefined}\r\n </a>\r\n </li>\r\n );\r\n })}\r\n </React.Fragment>\r\n );\r\n })}\r\n </ul>\r\n </ReactErrorSummary>\r\n );\r\n}\r\n"],"names":["e","Set","n","WeakMap","l","t","o","a","i","HTMLElement","prototype","removeAttribute","get","set","Map","handleEvent","addEventListener","removeEventListener","_ref","react","tagName","elementClass","events","displayName","s","Object","keys","c","forwardRef","r","useRef","d","u","v","_i","_Object$entries","entries","length","_Object$entries$_i","_slicedToArray","has","useLayoutEffect","current","suppressHydrationWarning","createElement","_objectSpread","ref","name","ReactErrorSummary","createComponent","ErrorSummary","React","FormErrorKey","FINAL_FORM_ERROR","BdsErrorSummary","className","errors","_ref$mapNameToId","mapNameToId","props","_objectWithoutProperties","_excluded","headingId","useId","groupRef","useEffect","focus","_extends","filter","x","join","role","tabIndex","id","xmlns","viewBox","height","width","fill","map","errorKey","message","isFormError","includes","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","inputId","concat","href","undefined"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- export { default } from './ErrorSummary';
2
- export * from './ErrorSummary';
1
+ export { default } from './ErrorSummary';
2
+ export * from './ErrorSummary';
@@ -1,5 +1,68 @@
1
+ import ErrorSummary from '@iabbb/bds/ErrorSummary';
1
2
  import * as React from 'react';
2
3
 
4
+ function _iterableToArrayLimit(r, l) {
5
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
6
+ if (null != t) {
7
+ var e,
8
+ n,
9
+ i,
10
+ u,
11
+ a = [],
12
+ f = !0,
13
+ o = !1;
14
+ try {
15
+ if (i = (t = t.call(r)).next, 0 === l) {
16
+ if (Object(t) !== t) return;
17
+ f = !1;
18
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
19
+ } catch (r) {
20
+ o = !0, n = r;
21
+ } finally {
22
+ try {
23
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
24
+ } finally {
25
+ if (o) throw n;
26
+ }
27
+ }
28
+ return a;
29
+ }
30
+ }
31
+ function ownKeys(e, r) {
32
+ var t = Object.keys(e);
33
+ if (Object.getOwnPropertySymbols) {
34
+ var o = Object.getOwnPropertySymbols(e);
35
+ r && (o = o.filter(function (r) {
36
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
37
+ })), t.push.apply(t, o);
38
+ }
39
+ return t;
40
+ }
41
+ function _objectSpread2(e) {
42
+ for (var r = 1; r < arguments.length; r++) {
43
+ var t = null != arguments[r] ? arguments[r] : {};
44
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
45
+ _defineProperty(e, r, t[r]);
46
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
47
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
48
+ });
49
+ }
50
+ return e;
51
+ }
52
+ function _defineProperty(obj, key, value) {
53
+ key = _toPropertyKey(key);
54
+ if (key in obj) {
55
+ Object.defineProperty(obj, key, {
56
+ value: value,
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true
60
+ });
61
+ } else {
62
+ obj[key] = value;
63
+ }
64
+ return obj;
65
+ }
3
66
  function _extends() {
4
67
  _extends = Object.assign ? Object.assign.bind() : function (target) {
5
68
  for (var i = 1; i < arguments.length; i++) {
@@ -41,47 +104,102 @@ function _objectWithoutProperties(source, excluded) {
41
104
  }
42
105
  return target;
43
106
  }
44
-
45
- function getFragmentFromUrl(url) {
46
- return url.includes('#') ? url.split('#').pop() : undefined;
107
+ function _slicedToArray(arr, i) {
108
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
47
109
  }
48
- function getAssociatedLegendOrLabel(input) {
49
- var _document$querySelect;
50
- var fieldset = input.closest('fieldset');
51
- if (fieldset) {
52
- var legends = fieldset.getElementsByTagName('legend');
53
- if (legends.length) {
54
- var candidateLegend = legends[0];
55
-
56
- // If the input type is radio or checkbox, always use the legend if there
57
- // is one.
58
- if (input instanceof HTMLInputElement && (input.type === 'checkbox' || input.type === 'radio')) {
59
- return candidateLegend;
60
- }
61
-
62
- // For other input types, only scroll to the fieldset’s legend (instead of
63
- // the label associated with the input) if the input would end up in the
64
- // top half of the screen.
65
- //
66
- // This should avoid situations where the input either ends up off the
67
- // screen, or obscured by a software keyboard.
68
- var legendTop = candidateLegend.getBoundingClientRect().top;
69
- var inputRect = input.getBoundingClientRect();
70
-
71
- // If the browser doesn't support Element.getBoundingClientRect().height
72
- // or window.innerHeight (like IE8), bail and just link to the label.
73
- if (inputRect.height && window.innerHeight) {
74
- var inputBottom = inputRect.top + inputRect.height;
75
- if (inputBottom - legendTop < window.innerHeight / 2) {
76
- return candidateLegend;
77
- }
78
- }
79
- }
110
+ function _arrayWithHoles(arr) {
111
+ if (Array.isArray(arr)) return arr;
112
+ }
113
+ function _unsupportedIterableToArray(o, minLen) {
114
+ if (!o) return;
115
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
116
+ var n = Object.prototype.toString.call(o).slice(8, -1);
117
+ if (n === "Object" && o.constructor) n = o.constructor.name;
118
+ if (n === "Map" || n === "Set") return Array.from(o);
119
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
120
+ }
121
+ function _arrayLikeToArray(arr, len) {
122
+ if (len == null || len > arr.length) len = arr.length;
123
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
124
+ return arr2;
125
+ }
126
+ function _nonIterableRest() {
127
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
128
+ }
129
+ function _toPrimitive(input, hint) {
130
+ if (typeof input !== "object" || input === null) return input;
131
+ var prim = input[Symbol.toPrimitive];
132
+ if (prim !== undefined) {
133
+ var res = prim.call(input, hint || "default");
134
+ if (typeof res !== "object") return res;
135
+ throw new TypeError("@@toPrimitive must return a primitive value.");
80
136
  }
81
- return (_document$querySelect = document.querySelector("label[for='".concat(input.getAttribute('id'), "']"))) !== null && _document$querySelect !== void 0 ? _document$querySelect : input.closest('label');
137
+ return (hint === "string" ? String : Number)(input);
138
+ }
139
+ function _toPropertyKey(arg) {
140
+ var key = _toPrimitive(arg, "string");
141
+ return typeof key === "symbol" ? key : String(key);
82
142
  }
83
143
 
144
+ /**
145
+ * @license
146
+ * Copyright 2018 Google LLC
147
+ * SPDX-License-Identifier: BSD-3-Clause
148
+ */
149
+ var e = new Set(["children", "localName", "ref", "style", "className"]),
150
+ n = new WeakMap(),
151
+ l = function l(e, _l, t, o, a) {
152
+ var i = null == a ? void 0 : a[_l];
153
+ void 0 === i || t === o ? (e[_l] = t, null == t && _l in HTMLElement.prototype && e.removeAttribute(_l)) : function (e, l, t) {
154
+ var o = n.get(e);
155
+ void 0 === o && n.set(e, o = new Map());
156
+ var a = o.get(l);
157
+ void 0 !== t ? void 0 === a ? (o.set(l, a = {
158
+ handleEvent: t
159
+ }), e.addEventListener(l, a)) : a.handleEvent = t : void 0 !== a && (o["delete"](l), e.removeEventListener(l, a));
160
+ }(e, i, t);
161
+ },
162
+ t = function t(_ref) {
163
+ var n = _ref.react,
164
+ t = _ref.tagName,
165
+ o = _ref.elementClass,
166
+ a = _ref.events,
167
+ i = _ref.displayName;
168
+ var s = new Set(Object.keys(null != a ? a : {})),
169
+ c = n.forwardRef(function (i, c) {
170
+ var r = n.useRef(null),
171
+ d = n.useRef(null),
172
+ u = {},
173
+ v = {};
174
+ for (var _i = 0, _Object$entries = Object.entries(i); _i < _Object$entries.length; _i++) {
175
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
176
+ _n = _Object$entries$_i[0],
177
+ _l2 = _Object$entries$_i[1];
178
+ e.has(_n) ? u["className" === _n ? "class" : _n] = _l2 : s.has(_n) || _n in o.prototype ? v[_n] = _l2 : u[_n] = _l2;
179
+ }
180
+ return n.useLayoutEffect(function () {
181
+ if (null !== d.current) {
182
+ for (var _e in v) l(d.current, _e, i[_e], r.current ? r.current[_e] : void 0, a);
183
+ r.current = i;
184
+ }
185
+ }), n.useLayoutEffect(function () {
186
+ var e;
187
+ null === (e = d.current) || void 0 === e || e.removeAttribute("defer-hydration");
188
+ }, []), u.suppressHydrationWarning = !0, n.createElement(t, _objectSpread2(_objectSpread2({}, u), {}, {
189
+ ref: function ref(e) {
190
+ d.current = e, "function" == typeof c ? c(e) : null !== c && (c.current = e);
191
+ }
192
+ }));
193
+ });
194
+ return c.displayName = null != i ? i : o.name, c;
195
+ };
196
+
84
197
  var _excluded = ["className", "errors", "mapNameToId"];
198
+ var ReactErrorSummary = t({
199
+ tagName: 'bds-error-summary',
200
+ elementClass: ErrorSummary,
201
+ react: React
202
+ });
85
203
  var FormErrorKey = '_form';
86
204
  var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
87
205
  function BdsErrorSummary(_ref) {
@@ -100,26 +218,7 @@ function BdsErrorSummary(_ref) {
100
218
  groupRef.current.focus();
101
219
  }, [errors]);
102
220
  if (!errors || Object.keys(errors).length === 0) return null;
103
- var handleLinkClick = function handleLinkClick(e) {
104
- var inputId = getFragmentFromUrl(e.currentTarget.href);
105
- if (!inputId) {
106
- return;
107
- }
108
- var input = document.getElementById(inputId);
109
- if (!input) {
110
- return;
111
- }
112
- var legendOrLabel = getAssociatedLegendOrLabel(input);
113
- if (!legendOrLabel) {
114
- return;
115
- }
116
- e.preventDefault();
117
- legendOrLabel.scrollIntoView();
118
- input.focus({
119
- preventScroll: true
120
- });
121
- };
122
- return /*#__PURE__*/React.createElement("bds-error-summary", _extends({
221
+ return /*#__PURE__*/React.createElement(ReactErrorSummary, _extends({
123
222
  className: ['stack', className].filter(function (x) {
124
223
  return x;
125
224
  }).join(' '),
@@ -159,8 +258,7 @@ function BdsErrorSummary(_ref) {
159
258
  return /*#__PURE__*/React.createElement("li", {
160
259
  key: inputId
161
260
  }, /*#__PURE__*/React.createElement("a", {
162
- href: "#".concat(inputId),
163
- onClick: handleLinkClick
261
+ href: "#".concat(inputId)
164
262
  }, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
165
263
  }));
166
264
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/ErrorSummary/utils.ts","../../src/ErrorSummary/ErrorSummary.tsx"],"sourcesContent":["export function getFragmentFromUrl(url: string) {\n return url.includes('#') ? url.split('#').pop() : undefined;\n}\n\nexport function getAssociatedLegendOrLabel(input: HTMLElement) {\n const fieldset = input.closest('fieldset');\n\n if (fieldset) {\n const legends = fieldset.getElementsByTagName('legend');\n\n if (legends.length) {\n const candidateLegend = legends[0];\n\n // If the input type is radio or checkbox, always use the legend if there\n // is one.\n if (input instanceof HTMLInputElement && (input.type === 'checkbox' || input.type === 'radio')) {\n return candidateLegend;\n }\n\n // For other input types, only scroll to the fieldset’s legend (instead of\n // the label associated with the input) if the input would end up in the\n // top half of the screen.\n //\n // This should avoid situations where the input either ends up off the\n // screen, or obscured by a software keyboard.\n const legendTop = candidateLegend.getBoundingClientRect().top;\n const inputRect = input.getBoundingClientRect();\n\n // If the browser doesn't support Element.getBoundingClientRect().height\n // or window.innerHeight (like IE8), bail and just link to the label.\n if (inputRect.height && window.innerHeight) {\n const inputBottom = inputRect.top + inputRect.height;\n\n if (inputBottom - legendTop < window.innerHeight / 2) {\n return candidateLegend;\n }\n }\n }\n }\n\n return document.querySelector(`label[for='${input.getAttribute('id')}']`) ?? input.closest('label');\n}\n","import * as React from 'react';\n\nimport { getAssociatedLegendOrLabel, getFragmentFromUrl } from './utils';\n\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n 'bds-error-summary': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;\n }\n }\n}\n\nexport const FormErrorKey = '_form';\n\nconst FINAL_FORM_ERROR = 'FINAL_FORM/form-error';\n\nexport type ErrorSummaryProps = {\n errors: Record<string, Array<string> | string> | null;\n mapNameToId?: (name: string) => string;\n};\n\nexport default function BdsErrorSummary({\n className,\n errors,\n mapNameToId = (name) => name,\n ...props\n}: ErrorSummaryProps & React.ComponentPropsWithoutRef<'div'>) {\n const headingId = React.useId();\n const groupRef = React.useRef<HTMLElement>(null);\n\n React.useEffect(() => {\n if (!errors || Object.keys(errors).length === 0) return;\n if (!groupRef.current) return;\n\n groupRef.current.focus();\n }, [errors]);\n\n if (!errors || Object.keys(errors).length === 0) return null;\n\n const handleLinkClick = (e) => {\n const inputId = getFragmentFromUrl(e.currentTarget.href);\n\n if (!inputId) {\n return;\n }\n\n const input = document.getElementById(inputId);\n\n if (!input) {\n return;\n }\n\n const legendOrLabel = getAssociatedLegendOrLabel(input);\n\n if (!legendOrLabel) {\n return;\n }\n\n e.preventDefault();\n\n legendOrLabel.scrollIntoView();\n input.focus({ preventScroll: true });\n };\n\n return (\n <bds-error-summary\n className={['stack', className].filter((x) => x).join(' ')}\n role=\"group\"\n aria-labelledby={headingId}\n ref={groupRef}\n tabIndex={-1}\n {...props}\n >\n <h2 className=\"bds-h5\" id={headingId}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n aria-hidden=\"true\"\n height=\"1em\"\n width=\"1em\"\n fill=\"currentColor\"\n >\n <path d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32z\" />\n </svg>\n Issue\n </h2>\n <ul>\n {Object.keys(errors).map((errorKey) => {\n const message = errors[errorKey];\n const isFormError = [FINAL_FORM_ERROR, FormErrorKey].includes(errorKey);\n\n if (isFormError) {\n return <li key={errorKey} dangerouslySetInnerHTML={{ __html: message }} />;\n }\n\n const isArrayField = Array.isArray(message);\n\n const messages = isArrayField ? message : [message];\n\n return (\n <React.Fragment key={errorKey}>\n {messages.map((fieldMessage, index) => {\n const inputId = `${mapNameToId(errorKey)}${isArrayField ? `[${index}]` : ''}`;\n\n return (\n <li key={inputId}>\n <a href={`#${inputId}`} onClick={handleLinkClick}>\n {fieldMessage}\n {messages.length > 1 ? ` (${index + 1} of ${messages.length})` : undefined}\n </a>\n </li>\n );\n })}\n </React.Fragment>\n );\n })}\n </ul>\n </bds-error-summary>\n );\n}\n"],"names":["getFragmentFromUrl","url","includes","split","pop","undefined","getAssociatedLegendOrLabel","input","_document$querySelect","fieldset","closest","legends","getElementsByTagName","length","candidateLegend","HTMLInputElement","type","legendTop","getBoundingClientRect","top","inputRect","height","window","innerHeight","inputBottom","document","querySelector","concat","getAttribute","FormErrorKey","FINAL_FORM_ERROR","BdsErrorSummary","_ref","className","errors","_ref$mapNameToId","mapNameToId","name","props","_objectWithoutProperties","_excluded","headingId","React","useId","groupRef","useRef","useEffect","Object","keys","current","focus","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","preventDefault","scrollIntoView","preventScroll","createElement","_extends","filter","x","join","role","ref","tabIndex","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../.yarn/__virtual__/@lit-labs-react-virtual-4509891a2a/0/cache/@lit-labs-react-npm-2.0.0-0a425990f1-28737941de.zip/node_modules/@lit-labs/react/create-component.js","../../src/ErrorSummary/ErrorSummary.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=new Set([\"children\",\"localName\",\"ref\",\"style\",\"className\"]),n=new WeakMap,l=(e,l,t,o,a)=>{const i=null==a?void 0:a[l];void 0===i||t===o?(e[l]=t,null==t&&l in HTMLElement.prototype&&e.removeAttribute(l)):((e,l,t)=>{let o=n.get(e);void 0===o&&n.set(e,o=new Map);let a=o.get(l);void 0!==t?void 0===a?(o.set(l,a={handleEvent:t}),e.addEventListener(l,a)):a.handleEvent=t:void 0!==a&&(o.delete(l),e.removeEventListener(l,a))})(e,i,t)},t=({react:n,tagName:t,elementClass:o,events:a,displayName:i})=>{const s=new Set(Object.keys(null!=a?a:{})),c=n.forwardRef(((i,c)=>{const r=n.useRef(null),d=n.useRef(null),u={},v={};for(const[n,l]of Object.entries(i))e.has(n)?u[\"className\"===n?\"class\":n]=l:s.has(n)||n in o.prototype?v[n]=l:u[n]=l;return n.useLayoutEffect((()=>{if(null!==d.current){for(const e in v)l(d.current,e,i[e],r.current?r.current[e]:void 0,a);r.current=i}})),n.useLayoutEffect((()=>{var e;null===(e=d.current)||void 0===e||e.removeAttribute(\"defer-hydration\")}),[]),u.suppressHydrationWarning=!0,n.createElement(t,{...u,ref:e=>{d.current=e,\"function\"==typeof c?c(e):null!==c&&(c.current=e)}})}));return c.displayName=null!=i?i:o.name,c};export{t as createComponent};\n//# sourceMappingURL=create-component.js.map\n","// https://github.com/IABBB/bds/blob/19862b9c179f6cc650d2973a83cce5ab3516fc99/packages/react/src/ErrorSummary/ErrorSummary.js\r\n// todo - exports?\r\nimport ErrorSummary from '@iabbb/bds/ErrorSummary';\r\nimport { createComponent } from '@lit-labs/react';\r\nimport * as React from 'react';\r\n\r\nconst ReactErrorSummary = createComponent({\r\n tagName: 'bds-error-summary',\r\n elementClass: ErrorSummary,\r\n react: React,\r\n});\r\n\r\ndeclare global {\r\n namespace JSX {\r\n interface IntrinsicElements {\r\n 'bds-error-summary': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;\r\n }\r\n }\r\n}\r\n\r\nexport const FormErrorKey = '_form';\r\n\r\nconst FINAL_FORM_ERROR = 'FINAL_FORM/form-error';\r\n\r\nexport type ErrorSummaryProps = {\r\n errors: Record<string, Array<string> | string> | null;\r\n mapNameToId?: (name: string) => string;\r\n};\r\n\r\nexport default function BdsErrorSummary({\r\n className,\r\n errors,\r\n mapNameToId = (name) => name,\r\n ...props\r\n}: ErrorSummaryProps & React.ComponentPropsWithoutRef<'div'>) {\r\n const headingId = React.useId();\r\n const groupRef = React.useRef<HTMLElement>(null);\r\n\r\n React.useEffect(() => {\r\n if (!errors || Object.keys(errors).length === 0) return;\r\n if (!groupRef.current) return;\r\n\r\n groupRef.current.focus();\r\n }, [errors]);\r\n\r\n if (!errors || Object.keys(errors).length === 0) return null;\r\n\r\n return (\r\n <ReactErrorSummary\r\n className={['stack', className].filter((x) => x).join(' ')}\r\n role=\"group\"\r\n aria-labelledby={headingId}\r\n ref={groupRef}\r\n tabIndex={-1}\r\n {...props}\r\n >\r\n <h2 className=\"bds-h5\" id={headingId}>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 512 512\"\r\n aria-hidden=\"true\"\r\n height=\"1em\"\r\n width=\"1em\"\r\n fill=\"currentColor\"\r\n >\r\n <path d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32z\" />\r\n </svg>\r\n Issue\r\n </h2>\r\n <ul>\r\n {Object.keys(errors).map((errorKey) => {\r\n const message = errors[errorKey];\r\n const isFormError = [FINAL_FORM_ERROR, FormErrorKey].includes(errorKey);\r\n\r\n if (isFormError) {\r\n return <li key={errorKey} dangerouslySetInnerHTML={{ __html: message }} />;\r\n }\r\n\r\n const isArrayField = Array.isArray(message);\r\n\r\n const messages = isArrayField ? message : [message];\r\n\r\n return (\r\n <React.Fragment key={errorKey}>\r\n {messages.map((fieldMessage, index) => {\r\n const inputId = `${mapNameToId(errorKey)}${isArrayField ? `[${index}]` : ''}`;\r\n\r\n return (\r\n <li key={inputId}>\r\n <a href={`#${inputId}`}>\r\n {fieldMessage}\r\n {messages.length > 1 ? ` (${index + 1} of ${messages.length})` : undefined}\r\n </a>\r\n </li>\r\n );\r\n })}\r\n </React.Fragment>\r\n );\r\n })}\r\n </ul>\r\n </ReactErrorSummary>\r\n );\r\n}\r\n"],"names":["e","Set","n","WeakMap","l","t","o","a","i","HTMLElement","prototype","removeAttribute","get","set","Map","handleEvent","addEventListener","removeEventListener","_ref","react","tagName","elementClass","events","displayName","s","Object","keys","c","forwardRef","r","useRef","d","u","v","_i","_Object$entries","entries","length","_Object$entries$_i","_slicedToArray","has","useLayoutEffect","current","suppressHydrationWarning","createElement","_objectSpread","ref","name","ReactErrorSummary","createComponent","ErrorSummary","React","FormErrorKey","FINAL_FORM_ERROR","BdsErrorSummary","className","errors","_ref$mapNameToId","mapNameToId","props","_objectWithoutProperties","_excluded","headingId","useId","groupRef","useEffect","focus","_extends","filter","x","join","role","tabIndex","id","xmlns","viewBox","height","width","fill","map","errorKey","message","isFormError","includes","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","inputId","concat","href","undefined"],"mappings":"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","x_google_ignoreList":[0]}