@iabbb/bds-react 0.39.0-alpha-2 โ†’ 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.
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
23
+
24
+ function _extends() {
25
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
26
+ for (var i = 1; i < arguments.length; i++) {
27
+ var source = arguments[i];
28
+ for (var key in source) {
29
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
30
+ target[key] = source[key];
31
+ }
32
+ }
33
+ }
34
+ return target;
35
+ };
36
+ return _extends.apply(this, arguments);
37
+ }
38
+ function _objectWithoutPropertiesLoose(source, excluded) {
39
+ if (source == null) return {};
40
+ var target = {};
41
+ var sourceKeys = Object.keys(source);
42
+ var key, i;
43
+ for (i = 0; i < sourceKeys.length; i++) {
44
+ key = sourceKeys[i];
45
+ if (excluded.indexOf(key) >= 0) continue;
46
+ target[key] = source[key];
47
+ }
48
+ return target;
49
+ }
50
+ function _objectWithoutProperties(source, excluded) {
51
+ if (source == null) return {};
52
+ var target = _objectWithoutPropertiesLoose(source, excluded);
53
+ var key, i;
54
+ if (Object.getOwnPropertySymbols) {
55
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
56
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
57
+ key = sourceSymbolKeys[i];
58
+ if (excluded.indexOf(key) >= 0) continue;
59
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
60
+ target[key] = source[key];
61
+ }
62
+ }
63
+ return target;
64
+ }
65
+
66
+ var _excluded = ["children", "className", "onClick", "preventDoubleClick", "variant"];
67
+ var DEBOUNCE_TIMEOUT_IN_SECONDS = 1;
68
+ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
69
+ var children = _ref.children,
70
+ className = _ref.className,
71
+ onClick = _ref.onClick,
72
+ _ref$preventDoubleCli = _ref.preventDoubleClick,
73
+ preventDoubleClick = _ref$preventDoubleCli === void 0 ? false : _ref$preventDoubleCli,
74
+ _ref$variant = _ref.variant,
75
+ variant = _ref$variant === void 0 ? 'standard' : _ref$variant,
76
+ props = _objectWithoutProperties(_ref, _excluded);
77
+ var debounceClicks = React__namespace.useRef(false);
78
+ var handleClick = function handleClick(event) {
79
+ // ๐Ÿ‘‡ button is not configured to ignore double clicks
80
+ if (!preventDoubleClick) {
81
+ if (onClick) {
82
+ onClick(event);
83
+ }
84
+ return;
85
+ }
86
+
87
+ // ๐Ÿ‘‡ button has been clicked recently, and subsequent clicks are prevented
88
+ if (debounceClicks.current) {
89
+ event.preventDefault();
90
+ return;
91
+ }
92
+ if (onClick) {
93
+ onClick(event);
94
+ }
95
+
96
+ // ๐Ÿ‘‡ block from double clicks
97
+ debounceClicks.current = true;
98
+
99
+ // ๐Ÿ‘‡ and remove the block after a given amount of seconds
100
+ setTimeout(function () {
101
+ debounceClicks.current = false;
102
+ }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);
103
+ };
104
+ return /*#__PURE__*/React__namespace.createElement("button", _extends({
105
+ className: [variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className].filter(function (x) {
106
+ return x;
107
+ }).join(' '),
108
+ "data-type": variant !== 'standard' && variant !== 'unstyled' ? variant : null,
109
+ onClick: handleClick,
110
+ ref: ref
111
+ }, props), children);
112
+ });
113
+
114
+ module.exports = Button;
115
+ //# sourceMappingURL=index.node.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.node.cjs","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\r\n\r\nconst DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\r\n\r\nexport interface ButtonProps extends React.ComponentPropsWithoutRef<'button'> {\r\n preventDoubleClick?: boolean;\r\n variant?: 'cancel' | 'featured' | 'quote' | 'search' | 'standard' | 'unstyled';\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ children, className, onClick, preventDoubleClick = false, variant = 'standard', ...props }, ref) => {\r\n const debounceClicks = React.useRef(false);\r\n\r\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {\r\n // ๐Ÿ‘‡ button is not configured to ignore double clicks\r\n if (!preventDoubleClick) {\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n\r\n return;\r\n }\r\n\r\n // ๐Ÿ‘‡ button has been clicked recently, and subsequent clicks are prevented\r\n if (debounceClicks.current) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n\r\n // ๐Ÿ‘‡ block from double clicks\r\n debounceClicks.current = true;\r\n\r\n // ๐Ÿ‘‡ and remove the block after a given amount of seconds\r\n setTimeout(() => {\r\n debounceClicks.current = false;\r\n }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);\r\n };\r\n\r\n return (\r\n <button\r\n className={[variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className]\r\n .filter((x) => x)\r\n .join(' ')}\r\n data-type={variant !== 'standard' && variant !== 'unstyled' ? variant : null}\r\n onClick={handleClick}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </button>\r\n );\r\n },\r\n);\r\n\r\nexport default Button;\r\n"],"names":["DEBOUNCE_TIMEOUT_IN_SECONDS","Button","React","forwardRef","_ref","ref","children","className","onClick","_ref$preventDoubleCli","preventDoubleClick","_ref$variant","variant","props","_objectWithoutProperties","_excluded","debounceClicks","useRef","handleClick","event","current","preventDefault","setTimeout","createElement","_extends","filter","x","join"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,2BAA2B,GAAG,CAAC,CAAA;AAO/BC,IAAAA,MAAM,gBAAGC,gBAAK,CAACC,UAAU,CAC7B,UAAAC,IAAA,EAA+FC,GAAG,EAAK;AAAA,EAAA,IAApGC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,qBAAA,GAAAL,IAAA,CAAEM,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,YAAA,GAAAP,IAAA,CAAEQ,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,YAAA;AAAKE,IAAAA,KAAK,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;AACzF,EAAA,IAAMC,cAAc,GAAGd,gBAAK,CAACe,MAAM,CAAC,KAAK,CAAC,CAAA;AAE1C,EAAA,IAAMC,WAAuD,GAAG,SAA1DA,WAAuDA,CAAIC,KAAK,EAAK;AACzE;IACA,IAAI,CAACT,kBAAkB,EAAE;AACvB,MAAA,IAAIF,OAAO,EAAE;QACXA,OAAO,CAACW,KAAK,CAAC,CAAA;AAChB,OAAA;AAEA,MAAA,OAAA;AACF,KAAA;;AAEA;IACA,IAAIH,cAAc,CAACI,OAAO,EAAE;MAC1BD,KAAK,CAACE,cAAc,EAAE,CAAA;AACtB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIb,OAAO,EAAE;MACXA,OAAO,CAACW,KAAK,CAAC,CAAA;AAChB,KAAA;;AAEA;IACAH,cAAc,CAACI,OAAO,GAAG,IAAI,CAAA;;AAE7B;AACAE,IAAAA,UAAU,CAAC,YAAM;MACfN,cAAc,CAACI,OAAO,GAAG,KAAK,CAAA;AAChC,KAAC,EAAEpB,2BAA2B,GAAG,IAAI,CAAC,CAAA;GACvC,CAAA;AAED,EAAA,oBACEE,gBAAA,CAAAqB,aAAA,CAAA,QAAA,EAAAC,QAAA,CAAA;AACEjB,IAAAA,SAAS,EAAE,CAACK,OAAO,KAAK,UAAU,GAAG,qBAAqB,GAAG,YAAY,EAAEL,SAAS,CAAC,CAClFkB,MAAM,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAC,CAChBC,IAAI,CAAC,GAAG,CAAE;IACb,WAAWf,EAAAA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,UAAU,GAAGA,OAAO,GAAG,IAAK;AAC7EJ,IAAAA,OAAO,EAAEU,WAAY;AACrBb,IAAAA,GAAG,EAAEA,GAAAA;GACDQ,EAAAA,KAAK,CAERP,EAAAA,QACK,CAAC,CAAA;AAEb,CACF;;;;"}
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@iabbb/bds-react/Button",
3
3
  "private": true,
4
+ "exports": {
5
+ "node": "./index.node.cjs"
6
+ },
4
7
  "main": "./index.cjs",
5
8
  "module": "./index.mjs",
6
9
  "types": "./index.d.ts"
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
+ if (e) {
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
+ Object.defineProperty(n, k, d.get ? d : {
12
+ enumerable: true,
13
+ get: function () { return e[k]; }
14
+ });
15
+ }
16
+ });
17
+ }
18
+ n.default = e;
19
+ return Object.freeze(n);
20
+ }
21
+
22
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
23
+
24
+ function _extends() {
25
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
26
+ for (var i = 1; i < arguments.length; i++) {
27
+ var source = arguments[i];
28
+ for (var key in source) {
29
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
30
+ target[key] = source[key];
31
+ }
32
+ }
33
+ }
34
+ return target;
35
+ };
36
+ return _extends.apply(this, arguments);
37
+ }
38
+ function _objectWithoutPropertiesLoose(source, excluded) {
39
+ if (source == null) return {};
40
+ var target = {};
41
+ var sourceKeys = Object.keys(source);
42
+ var key, i;
43
+ for (i = 0; i < sourceKeys.length; i++) {
44
+ key = sourceKeys[i];
45
+ if (excluded.indexOf(key) >= 0) continue;
46
+ target[key] = source[key];
47
+ }
48
+ return target;
49
+ }
50
+ function _objectWithoutProperties(source, excluded) {
51
+ if (source == null) return {};
52
+ var target = _objectWithoutPropertiesLoose(source, excluded);
53
+ var key, i;
54
+ if (Object.getOwnPropertySymbols) {
55
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
56
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
57
+ key = sourceSymbolKeys[i];
58
+ if (excluded.indexOf(key) >= 0) continue;
59
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
60
+ target[key] = source[key];
61
+ }
62
+ }
63
+ return target;
64
+ }
65
+
66
+ var _excluded = ["children", "className", "variant"];
67
+ var CallToAction = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
68
+ var children = _ref.children,
69
+ className = _ref.className,
70
+ _ref$variant = _ref.variant,
71
+ variant = _ref$variant === void 0 ? 'standard' : _ref$variant,
72
+ props = _objectWithoutProperties(_ref, _excluded);
73
+ return /*#__PURE__*/React__namespace.createElement("a", _extends({
74
+ className: ['bds-cta', className].filter(function (x) {
75
+ return x;
76
+ }).join(' '),
77
+ "data-type": variant !== 'standard' ? variant : null,
78
+ ref: ref
79
+ }, props), children);
80
+ });
81
+
82
+ module.exports = CallToAction;
83
+ //# sourceMappingURL=index.node.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.node.cjs","sources":["../../src/CallToAction/CallToAction.tsx"],"sourcesContent":["import * as React from 'react';\r\n\r\nexport interface CallToActionProps extends React.ComponentPropsWithoutRef<'a'> {\r\n variant?: 'featured' | 'quote' | 'standard';\r\n}\r\n\r\nconst CallToAction = React.forwardRef<HTMLAnchorElement, CallToActionProps>(\r\n ({ children, className, variant = 'standard', ...props }, ref) => {\r\n return (\r\n <a\r\n className={['bds-cta', className].filter((x) => x).join(' ')}\r\n data-type={variant !== 'standard' ? variant : null}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </a>\r\n );\r\n },\r\n);\r\n\r\nexport default CallToAction;\r\n"],"names":["CallToAction","React","forwardRef","_ref","ref","children","className","_ref$variant","variant","props","_objectWithoutProperties","_excluded","createElement","_extends","filter","x","join"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMMA,IAAAA,YAAY,gBAAGC,gBAAK,CAACC,UAAU,CACnC,UAAAC,IAAA,EAA0DC,GAAG,EAAK;AAAA,EAAA,IAA/DC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAAC,YAAA,GAAAJ,IAAA,CAAEK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,YAAA;AAAKE,IAAAA,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AACpD,EAAA,oBACEV,gBAAA,CAAAW,aAAA,CAAA,GAAA,EAAAC,QAAA,CAAA;IACEP,SAAS,EAAE,CAAC,SAAS,EAAEA,SAAS,CAAC,CAACQ,MAAM,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC,CAAA;AAAA,KAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE;AAC7D,IAAA,WAAA,EAAWR,OAAO,KAAK,UAAU,GAAGA,OAAO,GAAG,IAAK;AACnDJ,IAAAA,GAAG,EAAEA,GAAAA;GACDK,EAAAA,KAAK,CAERJ,EAAAA,QACA,CAAC,CAAA;AAER,CACF;;;;"}
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@iabbb/bds-react/CallToAction",
3
3
  "private": true,
4
+ "exports": {
5
+ "node": "./index.node.cjs"
6
+ },
4
7
  "main": "./index.cjs",
5
8
  "module": "./index.mjs",
6
9
  "types": "./index.d.ts"
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var ErrorSummary = require('@iabbb/bds/ErrorSummary');
5
6
  var React = require('react');
6
7
 
7
8
  function _interopNamespaceDefault(e) {
@@ -23,6 +24,68 @@ function _interopNamespaceDefault(e) {
23
24
 
24
25
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
25
26
 
27
+ function _iterableToArrayLimit(r, l) {
28
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
29
+ if (null != t) {
30
+ var e,
31
+ n,
32
+ i,
33
+ u,
34
+ a = [],
35
+ f = !0,
36
+ o = !1;
37
+ try {
38
+ if (i = (t = t.call(r)).next, 0 === l) {
39
+ if (Object(t) !== t) return;
40
+ f = !1;
41
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
42
+ } catch (r) {
43
+ o = !0, n = r;
44
+ } finally {
45
+ try {
46
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
47
+ } finally {
48
+ if (o) throw n;
49
+ }
50
+ }
51
+ return a;
52
+ }
53
+ }
54
+ function ownKeys(e, r) {
55
+ var t = Object.keys(e);
56
+ if (Object.getOwnPropertySymbols) {
57
+ var o = Object.getOwnPropertySymbols(e);
58
+ r && (o = o.filter(function (r) {
59
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
60
+ })), t.push.apply(t, o);
61
+ }
62
+ return t;
63
+ }
64
+ function _objectSpread2(e) {
65
+ for (var r = 1; r < arguments.length; r++) {
66
+ var t = null != arguments[r] ? arguments[r] : {};
67
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
68
+ _defineProperty(e, r, t[r]);
69
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
70
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
71
+ });
72
+ }
73
+ return e;
74
+ }
75
+ function _defineProperty(obj, key, value) {
76
+ key = _toPropertyKey(key);
77
+ if (key in obj) {
78
+ Object.defineProperty(obj, key, {
79
+ value: value,
80
+ enumerable: true,
81
+ configurable: true,
82
+ writable: true
83
+ });
84
+ } else {
85
+ obj[key] = value;
86
+ }
87
+ return obj;
88
+ }
26
89
  function _extends() {
27
90
  _extends = Object.assign ? Object.assign.bind() : function (target) {
28
91
  for (var i = 1; i < arguments.length; i++) {
@@ -64,47 +127,102 @@ function _objectWithoutProperties(source, excluded) {
64
127
  }
65
128
  return target;
66
129
  }
67
-
68
- function getFragmentFromUrl(url) {
69
- return url.includes('#') ? url.split('#').pop() : undefined;
70
- }
71
- function getAssociatedLegendOrLabel(input) {
72
- var _document$querySelect;
73
- var fieldset = input.closest('fieldset');
74
- if (fieldset) {
75
- var legends = fieldset.getElementsByTagName('legend');
76
- if (legends.length) {
77
- var candidateLegend = legends[0];
78
-
79
- // If the input type is radio or checkbox, always use the legend if there
80
- // is one.
81
- if (input instanceof HTMLInputElement && (input.type === 'checkbox' || input.type === 'radio')) {
82
- return candidateLegend;
83
- }
84
-
85
- // For other input types, only scroll to the fieldsetโ€™s legend (instead of
86
- // the label associated with the input) if the input would end up in the
87
- // top half of the screen.
88
- //
89
- // This should avoid situations where the input either ends up off the
90
- // screen, or obscured by a software keyboard.
91
- var legendTop = candidateLegend.getBoundingClientRect().top;
92
- var inputRect = input.getBoundingClientRect();
93
-
94
- // If the browser doesn't support Element.getBoundingClientRect().height
95
- // or window.innerHeight (like IE8), bail and just link to the label.
96
- if (inputRect.height && window.innerHeight) {
97
- var inputBottom = inputRect.top + inputRect.height;
98
- if (inputBottom - legendTop < window.innerHeight / 2) {
99
- return candidateLegend;
100
- }
101
- }
102
- }
130
+ function _slicedToArray(arr, i) {
131
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
132
+ }
133
+ function _arrayWithHoles(arr) {
134
+ if (Array.isArray(arr)) return arr;
135
+ }
136
+ function _unsupportedIterableToArray(o, minLen) {
137
+ if (!o) return;
138
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
139
+ var n = Object.prototype.toString.call(o).slice(8, -1);
140
+ if (n === "Object" && o.constructor) n = o.constructor.name;
141
+ if (n === "Map" || n === "Set") return Array.from(o);
142
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
143
+ }
144
+ function _arrayLikeToArray(arr, len) {
145
+ if (len == null || len > arr.length) len = arr.length;
146
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
147
+ return arr2;
148
+ }
149
+ function _nonIterableRest() {
150
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
151
+ }
152
+ function _toPrimitive(input, hint) {
153
+ if (typeof input !== "object" || input === null) return input;
154
+ var prim = input[Symbol.toPrimitive];
155
+ if (prim !== undefined) {
156
+ var res = prim.call(input, hint || "default");
157
+ if (typeof res !== "object") return res;
158
+ throw new TypeError("@@toPrimitive must return a primitive value.");
103
159
  }
104
- return (_document$querySelect = document.querySelector("label[for='".concat(input.getAttribute('id'), "']"))) !== null && _document$querySelect !== void 0 ? _document$querySelect : input.closest('label');
160
+ return (hint === "string" ? String : Number)(input);
161
+ }
162
+ function _toPropertyKey(arg) {
163
+ var key = _toPrimitive(arg, "string");
164
+ return typeof key === "symbol" ? key : String(key);
105
165
  }
106
166
 
167
+ /**
168
+ * @license
169
+ * Copyright 2018 Google LLC
170
+ * SPDX-License-Identifier: BSD-3-Clause
171
+ */
172
+ var e = new Set(["children", "localName", "ref", "style", "className"]),
173
+ n = new WeakMap(),
174
+ l = function l(e, _l, t, o, a) {
175
+ var i = null == a ? void 0 : a[_l];
176
+ void 0 === i || t === o ? (e[_l] = t, null == t && _l in HTMLElement.prototype && e.removeAttribute(_l)) : function (e, l, t) {
177
+ var o = n.get(e);
178
+ void 0 === o && n.set(e, o = new Map());
179
+ var a = o.get(l);
180
+ void 0 !== t ? void 0 === a ? (o.set(l, a = {
181
+ handleEvent: t
182
+ }), e.addEventListener(l, a)) : a.handleEvent = t : void 0 !== a && (o["delete"](l), e.removeEventListener(l, a));
183
+ }(e, i, t);
184
+ },
185
+ t = function t(_ref) {
186
+ var n = _ref.react,
187
+ t = _ref.tagName,
188
+ o = _ref.elementClass,
189
+ a = _ref.events,
190
+ i = _ref.displayName;
191
+ var s = new Set(Object.keys(null != a ? a : {})),
192
+ c = n.forwardRef(function (i, c) {
193
+ var r = n.useRef(null),
194
+ d = n.useRef(null),
195
+ u = {},
196
+ v = {};
197
+ for (var _i = 0, _Object$entries = Object.entries(i); _i < _Object$entries.length; _i++) {
198
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
199
+ _n = _Object$entries$_i[0],
200
+ _l2 = _Object$entries$_i[1];
201
+ e.has(_n) ? u["className" === _n ? "class" : _n] = _l2 : s.has(_n) || _n in o.prototype ? v[_n] = _l2 : u[_n] = _l2;
202
+ }
203
+ return n.useLayoutEffect(function () {
204
+ if (null !== d.current) {
205
+ for (var _e in v) l(d.current, _e, i[_e], r.current ? r.current[_e] : void 0, a);
206
+ r.current = i;
207
+ }
208
+ }), n.useLayoutEffect(function () {
209
+ var e;
210
+ null === (e = d.current) || void 0 === e || e.removeAttribute("defer-hydration");
211
+ }, []), u.suppressHydrationWarning = !0, n.createElement(t, _objectSpread2(_objectSpread2({}, u), {}, {
212
+ ref: function ref(e) {
213
+ d.current = e, "function" == typeof c ? c(e) : null !== c && (c.current = e);
214
+ }
215
+ }));
216
+ });
217
+ return c.displayName = null != i ? i : o.name, c;
218
+ };
219
+
107
220
  var _excluded = ["className", "errors", "mapNameToId"];
221
+ var ReactErrorSummary = t({
222
+ tagName: 'bds-error-summary',
223
+ elementClass: ErrorSummary,
224
+ react: React__namespace
225
+ });
108
226
  var FormErrorKey = '_form';
109
227
  var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
110
228
  function BdsErrorSummary(_ref) {
@@ -123,26 +241,7 @@ function BdsErrorSummary(_ref) {
123
241
  groupRef.current.focus();
124
242
  }, [errors]);
125
243
  if (!errors || Object.keys(errors).length === 0) return null;
126
- var handleLinkClick = function handleLinkClick(e) {
127
- var inputId = getFragmentFromUrl(e.currentTarget.href);
128
- if (!inputId) {
129
- return;
130
- }
131
- var input = document.getElementById(inputId);
132
- if (!input) {
133
- return;
134
- }
135
- var legendOrLabel = getAssociatedLegendOrLabel(input);
136
- if (!legendOrLabel) {
137
- return;
138
- }
139
- e.preventDefault();
140
- legendOrLabel.scrollIntoView();
141
- input.focus({
142
- preventScroll: true
143
- });
144
- };
145
- return /*#__PURE__*/React__namespace.createElement("bds-error-summary", _extends({
244
+ return /*#__PURE__*/React__namespace.createElement(ReactErrorSummary, _extends({
146
245
  className: ['stack', className].filter(function (x) {
147
246
  return x;
148
247
  }).join(' '),
@@ -182,8 +281,7 @@ function BdsErrorSummary(_ref) {
182
281
  return /*#__PURE__*/React__namespace.createElement("li", {
183
282
  key: inputId
184
283
  }, /*#__PURE__*/React__namespace.createElement("a", {
185
- href: "#".concat(inputId),
186
- onClick: handleLinkClick
284
+ href: "#".concat(inputId)
187
285
  }, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
188
286
  }));
189
287
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/ErrorSummary/utils.ts","../../src/ErrorSummary/ErrorSummary.tsx"],"sourcesContent":["export function getFragmentFromUrl(url: string) {\r\n return url.includes('#') ? url.split('#').pop() : undefined;\r\n}\r\n\r\nexport function getAssociatedLegendOrLabel(input: HTMLElement) {\r\n const fieldset = input.closest('fieldset');\r\n\r\n if (fieldset) {\r\n const legends = fieldset.getElementsByTagName('legend');\r\n\r\n if (legends.length) {\r\n const candidateLegend = legends[0];\r\n\r\n // If the input type is radio or checkbox, always use the legend if there\r\n // is one.\r\n if (input instanceof HTMLInputElement && (input.type === 'checkbox' || input.type === 'radio')) {\r\n return candidateLegend;\r\n }\r\n\r\n // For other input types, only scroll to the fieldsetโ€™s legend (instead of\r\n // the label associated with the input) if the input would end up in the\r\n // top half of the screen.\r\n //\r\n // This should avoid situations where the input either ends up off the\r\n // screen, or obscured by a software keyboard.\r\n const legendTop = candidateLegend.getBoundingClientRect().top;\r\n const inputRect = input.getBoundingClientRect();\r\n\r\n // If the browser doesn't support Element.getBoundingClientRect().height\r\n // or window.innerHeight (like IE8), bail and just link to the label.\r\n if (inputRect.height && window.innerHeight) {\r\n const inputBottom = inputRect.top + inputRect.height;\r\n\r\n if (inputBottom - legendTop < window.innerHeight / 2) {\r\n return candidateLegend;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return document.querySelector(`label[for='${input.getAttribute('id')}']`) ?? input.closest('label');\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { getAssociatedLegendOrLabel, getFragmentFromUrl } from './utils';\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 const handleLinkClick = (e) => {\r\n const inputId = getFragmentFromUrl(e.currentTarget.href);\r\n\r\n if (!inputId) {\r\n return;\r\n }\r\n\r\n const input = document.getElementById(inputId);\r\n\r\n if (!input) {\r\n return;\r\n }\r\n\r\n const legendOrLabel = getAssociatedLegendOrLabel(input);\r\n\r\n if (!legendOrLabel) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n legendOrLabel.scrollIntoView();\r\n input.focus({ preventScroll: true });\r\n };\r\n\r\n return (\r\n <bds-error-summary\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}`} onClick={handleLinkClick}>\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 </bds-error-summary>\r\n );\r\n}\r\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]}