@iabbb/bds-react 0.38.0-alpha.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/README.md +17 -0
  2. package/dist/Button/Button.js +53 -0
  3. package/dist/Button/Button.js.map +1 -0
  4. package/dist/Button/index.js +4 -0
  5. package/dist/Button/index.js.map +1 -0
  6. package/dist/CallToAction/CallToAction.js +20 -0
  7. package/dist/CallToAction/CallToAction.js.map +1 -0
  8. package/dist/CallToAction/index.js +4 -0
  9. package/dist/CallToAction/index.js.map +1 -0
  10. package/dist/ErrorSummary/ErrorSummary.js +242 -0
  11. package/dist/ErrorSummary/ErrorSummary.js.map +1 -0
  12. package/dist/ErrorSummary/index.js +4 -0
  13. package/dist/ErrorSummary/index.js.map +1 -0
  14. package/dist/FieldTextInput/FieldTextInput.js +48 -0
  15. package/dist/FieldTextInput/FieldTextInput.js.map +1 -0
  16. package/dist/FieldTextInput/index.js +4 -0
  17. package/dist/FieldTextInput/index.js.map +1 -0
  18. package/dist/Pagination/Pagination.js +93 -0
  19. package/dist/Pagination/Pagination.js.map +1 -0
  20. package/dist/Pagination/index.js +4 -0
  21. package/dist/Pagination/index.js.map +1 -0
  22. package/dist/README.md +0 -0
  23. package/dist/Typography/Typography.js +37 -0
  24. package/dist/Typography/Typography.js.map +1 -0
  25. package/dist/Typography/index.js +4 -0
  26. package/dist/Typography/index.js.map +1 -0
  27. package/dist/_rollupPluginBabelHelpers-4a7b2c14.js +291 -0
  28. package/dist/_rollupPluginBabelHelpers-4a7b2c14.js.map +1 -0
  29. package/dist/_rollupPluginBabelHelpers-4a841245.js +291 -0
  30. package/dist/_rollupPluginBabelHelpers-4a841245.js.map +1 -0
  31. package/dist/_rollupPluginBabelHelpers-faf45dab.js +303 -0
  32. package/dist/_rollupPluginBabelHelpers-faf45dab.js.map +1 -0
  33. package/dist/bds-react.js +9 -0
  34. package/dist/bds-react.js.map +1 -0
  35. package/dist/index.js +9 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/package.json +33 -0
  38. package/package.json +35 -0
  39. package/rollup.config.mjs +36 -0
  40. package/src/Button/Button.js +54 -0
  41. package/src/Button/index.js +1 -0
  42. package/src/CallToAction/CallToAction.js +18 -0
  43. package/src/CallToAction/index.js +1 -0
  44. package/src/ErrorSummary/ErrorSummary.js +66 -0
  45. package/src/ErrorSummary/index.js +2 -0
  46. package/src/FieldTextInput/FieldTextInput.js +50 -0
  47. package/src/FieldTextInput/index.js +1 -0
  48. package/src/Pagination/Pagination.js +107 -0
  49. package/src/Pagination/index.js +1 -0
  50. package/src/Typography/Typography.js +34 -0
  51. package/src/Typography/index.js +1 -0
  52. package/src/index.js +6 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # `@iabbb/bds-react`
2
+
3
+ Better Design System enables consumers to build more visually consistent and accessible designs.
4
+
5
+ ## Installation
6
+
7
+ This project is distributed via npm and should be added to your project's dependencies.
8
+
9
+ ```
10
+ yarn add @iabbb/bds-react
11
+ ```
12
+
13
+ `@iabbb/bds` is a peer dependency, and should be installed at the same version as `@iabbb/bds-react`.
14
+
15
+ ## Documentation
16
+
17
+ [BDS Storybook](https://iabbb.github.io/bds/?path=/docs/bds-documentation--docs)
@@ -0,0 +1,53 @@
1
+ import { _ as _objectWithoutProperties, a as _extends } from '../_rollupPluginBabelHelpers-faf45dab.js';
2
+ import * as React from 'react';
3
+
4
+ var _excluded = ["children", "className", "onClick", "preventDoubleClick", "variant"];
5
+ var DEBOUNCE_TIMEOUT_IN_SECONDS = 1;
6
+ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7
+ var children = _ref.children;
8
+ _ref.className;
9
+ var onClick = _ref.onClick,
10
+ _ref$preventDoubleCli = _ref.preventDoubleClick,
11
+ preventDoubleClick = _ref$preventDoubleCli === void 0 ? false : _ref$preventDoubleCli,
12
+ _ref$variant = _ref.variant,
13
+ variant = _ref$variant === void 0 ? 'standard' : _ref$variant,
14
+ props = _objectWithoutProperties(_ref, _excluded);
15
+ var debounceClicks = React.useRef(false);
16
+ var handleClick = function handleClick(event) {
17
+ // 👇 button is not configured to ignore double clicks
18
+ if (!preventDoubleClick) {
19
+ if (onClick) {
20
+ onClick(event);
21
+ }
22
+ return;
23
+ }
24
+
25
+ // 👇 button has been clicked recently, and subsequent clicks are prevented
26
+ if (debounceClicks.current) {
27
+ event.preventDefault();
28
+ return false;
29
+ }
30
+ if (onClick) {
31
+ onClick(event);
32
+ }
33
+
34
+ // 👇 block from double clicks
35
+ debounceClicks.current = true;
36
+
37
+ // 👇 and remove the block after a given amount of seconds
38
+ setTimeout(function () {
39
+ debounceClicks.current = false;
40
+ }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);
41
+ };
42
+ return /*#__PURE__*/React.createElement("button", _extends({
43
+ className: variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button'
44
+ // className={clsx(variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className)}
45
+ ,
46
+ "data-type": variant !== 'standard' && variant !== 'unstyled' ? variant : null,
47
+ onClick: handleClick,
48
+ ref: ref
49
+ }, props), children);
50
+ });
51
+
52
+ export { Button as default };
53
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sources":["../../src/Button/Button.js"],"sourcesContent":["// import clsx from 'clsx';\r\nimport * as React from 'react';\r\n\r\nconst DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\r\n\r\nconst Button = React.forwardRef(\r\n ({ children, className, onClick, preventDoubleClick = false, variant = 'standard', ...props }, ref) => {\r\n const debounceClicks = React.useRef(false);\r\n\r\n const handleClick = (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 false;\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'}\r\n // className={clsx(variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className)}\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"],"mappings":";;;;AAGA,IAAMA,2BAA2B,GAAG,CAAC,CAAA;AAE/BC,IAAAA,MAAM,gBAAGC,KAAK,CAACC,UAAU,CAC7B,UAAAC,IAAA,EAA+FC,GAAG,EAAK;AAAA,EAAA,IAApGC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;IAAWF,IAAA,CAATG,SAAS,CAAA;QAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO,CAAA;IAAAC,qBAAA,GAAAL,IAAA,CAAEM,kBAAkB,CAAA;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;IAAAE,YAAA,GAAAP,IAAA,CAAEQ,OAAO,CAAA;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,YAAA,CAAA;AAAKE,IAAAA,KAAK,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,EAAA;AACzF,EAAA,IAAMC,cAAc,GAAGd,KAAK,CAACe,MAAM,CAAC,KAAK,CAAC,CAAA;AAE1C,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAK,EAAK;AAC7B;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,OAAO,KAAK,CAAA;AACd,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,KAAA,CAAAqB,aAAA,CAAA,QAAA,EAAAC,QAAA,CAAA;AACEjB,IAAAA,SAAS,EAAEK,OAAO,KAAK,UAAU,GAAG,qBAAqB,GAAG,YAAA;AAC5D;AAAA;IACA,WAAWA,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;;;;"}
@@ -0,0 +1,4 @@
1
+ export { default } from './Button.js';
2
+ import '../_rollupPluginBabelHelpers-faf45dab.js';
3
+ import 'react';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,20 @@
1
+ import { _ as _objectWithoutProperties, a as _extends } from '../_rollupPluginBabelHelpers-faf45dab.js';
2
+ import * as React from 'react';
3
+
4
+ var _excluded = ["children", "className", "variant"];
5
+ var CallToAction = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
6
+ var children = _ref.children;
7
+ _ref.className;
8
+ var _ref$variant = _ref.variant,
9
+ variant = _ref$variant === void 0 ? 'standard' : _ref$variant,
10
+ props = _objectWithoutProperties(_ref, _excluded);
11
+ return /*#__PURE__*/React.createElement("a", _extends({
12
+ // className={clsx('bds-cta', className)}
13
+ className: "bds-cta",
14
+ "data-type": variant !== 'standard' ? variant : null,
15
+ ref: ref
16
+ }, props), children);
17
+ });
18
+
19
+ export { CallToAction as default };
20
+ //# sourceMappingURL=CallToAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallToAction.js","sources":["../../src/CallToAction/CallToAction.js"],"sourcesContent":["// import clsx from 'clsx';\r\nimport * as React from 'react';\r\n\r\nconst CallToAction = React.forwardRef(({ children, className, variant = 'standard', ...props }, ref) => {\r\n return (\r\n <a\r\n // className={clsx('bds-cta', className)}\r\n className=\"bds-cta\"\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\nexport default CallToAction;\r\n"],"names":["CallToAction","React","forwardRef","_ref","ref","children","className","_ref$variant","variant","props","_objectWithoutProperties","_excluded","createElement","_extends"],"mappings":";;;;AAGMA,IAAAA,YAAY,gBAAGC,KAAK,CAACC,UAAU,CAAC,UAAAC,IAAA,EAA0DC,GAAG,EAAK;AAAA,EAAA,IAA/DC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;IAAWF,IAAA,CAATG,SAAS,CAAA;QAAAC,YAAA,GAAAJ,IAAA,CAAEK,OAAO,CAAA;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,YAAA,CAAA;AAAKE,IAAAA,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,EAAA;AAC1F,EAAA,oBACEV,KAAA,CAAAW,aAAA,CAAA,GAAA,EAAAC,QAAA,CAAA;AACE;AACAP,IAAAA,SAAS,EAAC,SAAS;AACnB,IAAA,WAAA,EAAWE,OAAO,KAAK,UAAU,GAAGA,OAAO,GAAG,IAAK;AACnDJ,IAAAA,GAAG,EAAEA,GAAAA;GACDK,EAAAA,KAAK,CAERJ,EAAAA,QACA,CAAC,CAAA;AAER,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ export { default } from './CallToAction.js';
2
+ import '../_rollupPluginBabelHelpers-faf45dab.js';
3
+ import 'react';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,242 @@
1
+ import { c as _inherits, d as _createSuper, e as _createClass, f as _classCallCheck, g as _classPrivateMethodInitSpec, h as _assertThisInitialized, i as _classPrivateMethodGet, j as _wrapNativeSuper, k as _objectSpread2, _ as _objectWithoutProperties, l as _slicedToArray, a as _extends } from '../_rollupPluginBabelHelpers-faf45dab.js';
2
+ import * as React from 'react';
3
+
4
+ var _getFragmentFromUrl = /*#__PURE__*/new WeakSet();
5
+ var _getAssociatedLegendOrLabel = /*#__PURE__*/new WeakSet();
6
+ /**
7
+ * @module bds-error-summary
8
+ * @description
9
+ * A custom element for displaying a list of errors.
10
+ */
11
+ var BdsErrorSummary = /*#__PURE__*/function (_HTMLElement) {
12
+ _inherits(BdsErrorSummary, _HTMLElement);
13
+ var _super = _createSuper(BdsErrorSummary);
14
+ function BdsErrorSummary() {
15
+ var _this;
16
+ _classCallCheck(this, BdsErrorSummary);
17
+ _this = _super.call(this);
18
+ _classPrivateMethodInitSpec(_assertThisInitialized(_this), _getAssociatedLegendOrLabel);
19
+ _classPrivateMethodInitSpec(_assertThisInitialized(_this), _getFragmentFromUrl);
20
+ _this.addEventListener('click', function (event) {
21
+ var link = event.target.closest('a');
22
+ if (!link) return;
23
+ var inputId = _classPrivateMethodGet(_assertThisInitialized(_this), _getFragmentFromUrl, _getFragmentFromUrl2).call(_assertThisInitialized(_this), link.href);
24
+ if (!inputId) {
25
+ return;
26
+ }
27
+ var input = document.getElementById(inputId);
28
+ if (!input) {
29
+ return;
30
+ }
31
+ var legendOrLabel = _classPrivateMethodGet(_assertThisInitialized(_this), _getAssociatedLegendOrLabel, _getAssociatedLegendOrLabel2).call(_assertThisInitialized(_this), input);
32
+ if (!legendOrLabel) {
33
+ return;
34
+ }
35
+ event.preventDefault();
36
+ legendOrLabel.scrollIntoView();
37
+ input.focus({
38
+ preventScroll: true
39
+ });
40
+ });
41
+ return _this;
42
+ }
43
+ return _createClass(BdsErrorSummary);
44
+ }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
45
+ function _getFragmentFromUrl2(url) {
46
+ return url.includes('#') ? url.split('#').pop() : undefined;
47
+ }
48
+ function _getAssociatedLegendOrLabel2(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
+ }
80
+ }
81
+ return (_document$querySelect = document.querySelector("label[for='".concat(input.getAttribute('id'), "']"))) !== null && _document$querySelect !== void 0 ? _document$querySelect : input.closest('label');
82
+ }
83
+ if ('customElements' in window) {
84
+ customElements.define('bds-error-summary', BdsErrorSummary);
85
+ }
86
+
87
+ var _excluded$1 = ["_$Gl"];
88
+ /**
89
+ * @license
90
+ * Copyright 2018 Google LLC
91
+ * SPDX-License-Identifier: BSD-3-Clause
92
+ */
93
+ var t = new Set(["children", "localName", "ref", "style", "className"]),
94
+ e = new WeakMap(),
95
+ n = function n(t, _n, s, i, o) {
96
+ var l = null == o ? void 0 : o[_n];
97
+ void 0 === l || s === i ? null == s && _n in HTMLElement.prototype ? t.removeAttribute(_n) : t[_n] = s : function (t, n, s) {
98
+ var i = e.get(t);
99
+ void 0 === i && e.set(t, i = new Map());
100
+ var o = i.get(n);
101
+ void 0 !== s ? void 0 === o ? (i.set(n, o = {
102
+ handleEvent: s
103
+ }), t.addEventListener(n, o)) : o.handleEvent = s : void 0 !== o && (i["delete"](n), t.removeEventListener(n, o));
104
+ }(t, l, s);
105
+ },
106
+ s = function s(t, e) {
107
+ "function" == typeof t ? t(e) : t.current = e;
108
+ };
109
+ function i() {
110
+ var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.React;
111
+ var i = arguments.length > 1 ? arguments[1] : undefined;
112
+ var o = arguments.length > 2 ? arguments[2] : undefined;
113
+ var l = arguments.length > 3 ? arguments[3] : undefined;
114
+ var d = arguments.length > 4 ? arguments[4] : undefined;
115
+ var a, c, r;
116
+ if (void 0 === i) {
117
+ var _t = e;
118
+ (c = _t.tagName, r = _t.elementClass, l = _t.events, d = _t.displayName), a = _t.react;
119
+ } else a = e, r = o, c = i;
120
+ var h = a.Component,
121
+ u = a.createElement,
122
+ f = new Set(Object.keys(null != l ? l : {}));
123
+ var v = /*#__PURE__*/function (_h) {
124
+ _inherits(v, _h);
125
+ var _super = _createSuper(v);
126
+ function v() {
127
+ var _this;
128
+ _classCallCheck(this, v);
129
+ _this = _super.apply(this, arguments), _this.o = null;
130
+ return _this;
131
+ }
132
+ _createClass(v, [{
133
+ key: "t",
134
+ value: function t(_t2) {
135
+ if (null !== this.o) for (var _e in this.i) n(this.o, _e, this.props[_e], _t2 ? _t2[_e] : void 0, l);
136
+ }
137
+ }, {
138
+ key: "componentDidMount",
139
+ value: function componentDidMount() {
140
+ var t;
141
+ this.t(), null === (t = this.o) || void 0 === t || t.removeAttribute("defer-hydration");
142
+ }
143
+ }, {
144
+ key: "componentDidUpdate",
145
+ value: function componentDidUpdate(t) {
146
+ this.t(t);
147
+ }
148
+ }, {
149
+ key: "render",
150
+ value: function render() {
151
+ var _this2 = this;
152
+ var _this$props = this.props,
153
+ e = _this$props._$Gl,
154
+ n = _objectWithoutProperties(_this$props, _excluded$1);
155
+ this.h !== e && (this.u = function (t) {
156
+ null !== e && s(e, t), _this2.o = t, _this2.h = e;
157
+ }), this.i = {};
158
+ var i = {
159
+ ref: this.u
160
+ };
161
+ for (var _i = 0, _Object$entries = Object.entries(n); _i < _Object$entries.length; _i++) {
162
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
163
+ _e2 = _Object$entries$_i[0],
164
+ _s = _Object$entries$_i[1];
165
+ t.has(_e2) ? i["className" === _e2 ? "class" : _e2] = _s : f.has(_e2) || _e2 in r.prototype ? this.i[_e2] = _s : i[_e2] = _s;
166
+ }
167
+ return i.suppressHydrationWarning = !0, u(c, i);
168
+ }
169
+ }]);
170
+ return v;
171
+ }(h);
172
+ v.displayName = null != d ? d : r.name;
173
+ var m = a.forwardRef(function (t, e) {
174
+ return u(v, _objectSpread2(_objectSpread2({}, t), {}, {
175
+ _$Gl: e
176
+ }), null == t ? void 0 : t.children);
177
+ });
178
+ return m.displayName = v.displayName, m;
179
+ }
180
+
181
+ var _excluded = ["errors", "mapNameToId"];
182
+ var ReactErrorSummary = i({
183
+ tagName: 'bds-error-summary',
184
+ elementClass: BdsErrorSummary,
185
+ react: React
186
+ });
187
+ var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
188
+ var FormErrorKey = '_form';
189
+ function ErrorSummary(_ref) {
190
+ var errors = _ref.errors,
191
+ _ref$mapNameToId = _ref.mapNameToId,
192
+ mapNameToId = _ref$mapNameToId === void 0 ? function (name) {
193
+ return name;
194
+ } : _ref$mapNameToId,
195
+ props = _objectWithoutProperties(_ref, _excluded);
196
+ var headingId = React.useId();
197
+ var groupRef = React.useRef(null);
198
+ return /*#__PURE__*/React.createElement(ReactErrorSummary, _extends({
199
+ role: "group",
200
+ "aria-labelledby": headingId,
201
+ ref: groupRef,
202
+ tabIndex: -1
203
+ }, props), /*#__PURE__*/React.createElement("h2", {
204
+ className: "bds-h5",
205
+ id: headingId
206
+ }, /*#__PURE__*/React.createElement("svg", {
207
+ xmlns: "http://www.w3.org/2000/svg",
208
+ viewBox: "0 0 512 512",
209
+ "aria-hidden": "true",
210
+ height: "1em",
211
+ width: "1em",
212
+ fill: "currentColor"
213
+ }, /*#__PURE__*/React.createElement("path", {
214
+ 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"
215
+ })), "Issue"), /*#__PURE__*/React.createElement("ul", null, Object.keys(errors).map(function (errorKey) {
216
+ var message = errors[errorKey];
217
+ var isFormError = [FINAL_FORM_ERROR, FormErrorKey].includes(errorKey);
218
+ if (isFormError) {
219
+ return /*#__PURE__*/React.createElement("li", {
220
+ key: errorKey,
221
+ dangerouslySetInnerHTML: {
222
+ __html: message
223
+ }
224
+ });
225
+ }
226
+ var isArrayField = Array.isArray(message);
227
+ var messages = isArrayField ? message : [message];
228
+ return /*#__PURE__*/React.createElement(React.Fragment, {
229
+ key: errorKey
230
+ }, messages.map(function (fieldMessage, index) {
231
+ var inputId = "".concat(mapNameToId(errorKey)).concat(isArrayField ? "[".concat(index, "]") : '');
232
+ return /*#__PURE__*/React.createElement("li", {
233
+ key: inputId
234
+ }, /*#__PURE__*/React.createElement("a", {
235
+ href: "#".concat(inputId)
236
+ }, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
237
+ }));
238
+ })));
239
+ }
240
+
241
+ export { FormErrorKey, ErrorSummary as default };
242
+ //# sourceMappingURL=ErrorSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorSummary.js","sources":["../../../frontend/src/blocks/ErrorSummary/ErrorSummary.mjs","../../../../.yarn/cache/@lit-labs-react-npm-1.2.0-36f442ed7b-a5dbcbb29d.zip/node_modules/@lit-labs/react/create-component.js","../../src/ErrorSummary/ErrorSummary.js"],"sourcesContent":["/**\r\n * @module bds-error-summary\r\n * @description\r\n * A custom element for displaying a list of errors.\r\n */\r\nexport default class BdsErrorSummary extends HTMLElement {\r\n constructor() {\r\n super();\r\n\r\n this.addEventListener('click', (event) => {\r\n const link = event.target.closest('a');\r\n\r\n if (!link) return;\r\n\r\n const inputId = this.#getFragmentFromUrl(link.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 = this.#getAssociatedLegendOrLabel(input);\r\n\r\n if (!legendOrLabel) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n\r\n legendOrLabel.scrollIntoView();\r\n input.focus({ preventScroll: true });\r\n });\r\n }\r\n\r\n #getFragmentFromUrl(url) {\r\n return url.includes('#') ? url.split('#').pop() : undefined;\r\n }\r\n\r\n #getAssociatedLegendOrLabel(input) {\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}\r\n\r\nif ('customElements' in window) {\r\n customElements.define('bds-error-summary', BdsErrorSummary);\r\n}\r\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=new Set([\"children\",\"localName\",\"ref\",\"style\",\"className\"]),e=new WeakMap,n=(t,n,s,i,o)=>{const l=null==o?void 0:o[n];void 0===l||s===i?null==s&&n in HTMLElement.prototype?t.removeAttribute(n):t[n]=s:((t,n,s)=>{let i=e.get(t);void 0===i&&e.set(t,i=new Map);let o=i.get(n);void 0!==s?void 0===o?(i.set(n,o={handleEvent:s}),t.addEventListener(n,o)):o.handleEvent=s:void 0!==o&&(i.delete(n),t.removeEventListener(n,o))})(t,l,s)},s=(t,e)=>{\"function\"==typeof t?t(e):t.current=e};function i(e=window.React,i,o,l,d){let a,c,r;if(void 0===i){const t=e;({tagName:c,elementClass:r,events:l,displayName:d}=t),a=t.react}else a=e,r=o,c=i;const h=a.Component,u=a.createElement,f=new Set(Object.keys(null!=l?l:{}));class v extends h{constructor(){super(...arguments),this.o=null}t(t){if(null!==this.o)for(const e in this.i)n(this.o,e,this.props[e],t?t[e]:void 0,l)}componentDidMount(){var t;this.t(),null===(t=this.o)||void 0===t||t.removeAttribute(\"defer-hydration\")}componentDidUpdate(t){this.t(t)}render(){const{_$Gl:e,...n}=this.props;this.h!==e&&(this.u=t=>{null!==e&&s(e,t),this.o=t,this.h=e}),this.i={};const i={ref:this.u};for(const[e,s]of Object.entries(n))t.has(e)?i[\"className\"===e?\"class\":e]=s:f.has(e)||e in r.prototype?this.i[e]=s:i[e]=s;return i.suppressHydrationWarning=!0,u(c,i)}}v.displayName=null!=d?d:r.name;const m=a.forwardRef(((t,e)=>u(v,{...t,_$Gl:e},null==t?void 0:t.children)));return m.displayName=v.displayName,m}export{i as createComponent};\n//# sourceMappingURL=create-component.js.map\n","import ErrorSummaryWebComponent from '@iabbb/bds/src/blocks/ErrorSummary/ErrorSummary.mjs';\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: ErrorSummaryWebComponent,\r\n react: React,\r\n});\r\n\r\nconst FINAL_FORM_ERROR = 'FINAL_FORM/form-error';\r\nexport const FormErrorKey = '_form';\r\n\r\nexport default function ErrorSummary({ errors, mapNameToId = (name) => name, ...props }) {\r\n const headingId = React.useId();\r\n const groupRef = React.useRef(null);\r\n\r\n return (\r\n <ReactErrorSummary role=\"group\" aria-labelledby={headingId} ref={groupRef} tabIndex={-1} {...props}>\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":["BdsErrorSummary","_HTMLElement","_inherits","_super","_createSuper","_this","_classCallCheck","call","_classPrivateMethodInitSpec","_assertThisInitialized","_getAssociatedLegendOrLabel","_getFragmentFromUrl","addEventListener","event","link","target","closest","inputId","_classPrivateMethodGet","_getFragmentFromUrl2","href","input","document","getElementById","legendOrLabel","_getAssociatedLegendOrLabel2","preventDefault","scrollIntoView","focus","preventScroll","_createClass","_wrapNativeSuper","HTMLElement","url","includes","split","pop","undefined","_document$querySelect","fieldset","legends","getElementsByTagName","length","candidateLegend","HTMLInputElement","type","legendTop","getBoundingClientRect","top","inputRect","height","window","innerHeight","inputBottom","querySelector","concat","getAttribute","customElements","define","t","Set","e","WeakMap","n","s","i","o","l","prototype","removeAttribute","get","set","Map","handleEvent","removeEventListener","current","arguments","React","d","a","c","r","tagName","elementClass","events","displayName","react","h","Component","u","createElement","f","Object","keys","v","_h","apply","key","value","props","componentDidMount","componentDidUpdate","render","_this2","_this$props","_$Gl","_objectWithoutProperties","_excluded","ref","_i","_Object$entries","entries","_Object$entries$_i","_slicedToArray","has","suppressHydrationWarning","name","m","forwardRef","_objectSpread","children","ReactErrorSummary","createComponent","ErrorSummaryWebComponent","FINAL_FORM_ERROR","FormErrorKey","ErrorSummary","_ref","errors","_ref$mapNameToId","mapNameToId","headingId","useId","groupRef","useRef","_extends","role","tabIndex","className","id","xmlns","viewBox","width","fill","map","errorKey","message","isFormError","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AAJA,IAKqBA,eAAe,0BAAAC,YAAA,EAAA;EAAAC,SAAA,CAAAF,eAAA,EAAAC,YAAA,CAAA,CAAA;AAAA,EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,eAAA,CAAA,CAAA;AAClC,EAAA,SAAAA,kBAAc;AAAA,IAAA,IAAAK,KAAA,CAAA;AAAAC,IAAAA,eAAA,OAAAN,eAAA,CAAA,CAAA;IACZK,KAAA,GAAAF,MAAA,CAAAI,IAAA,CAAA,IAAA,CAAA,CAAA;AAAQC,IAAAA,2BAAA,CAAAC,sBAAA,CAAAJ,KAAA,GAAAK,2BAAA,CAAA,CAAA;AAAAF,IAAAA,2BAAA,CAAAC,sBAAA,CAAAJ,KAAA,GAAAM,mBAAA,CAAA,CAAA;AAERN,IAAAA,KAAA,CAAKO,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;MACxC,IAAMC,IAAI,GAAGD,KAAK,CAACE,MAAM,CAACC,OAAO,CAAC,GAAG,CAAC,CAAA;MAEtC,IAAI,CAACF,IAAI,EAAE,OAAA;MAEX,IAAMG,OAAO,GAAAC,sBAAA,CAAAT,sBAAA,CAAAJ,KAAA,GAAAM,mBAAA,EAAAQ,oBAAA,CAAAZ,CAAAA,IAAA,CAAAE,sBAAA,CAAAJ,KAAA,CAA4BS,EAAAA,IAAI,CAACM,IAAI,CAAC,CAAA;MAEnD,IAAI,CAACH,OAAO,EAAE;AACZ,QAAA,OAAA;AACF,OAAA;AAEA,MAAA,IAAMI,KAAK,GAAGC,QAAQ,CAACC,cAAc,CAACN,OAAO,CAAC,CAAA;MAE9C,IAAI,CAACI,KAAK,EAAE;AACV,QAAA,OAAA;AACF,OAAA;AAEA,MAAA,IAAMG,aAAa,GAAAN,sBAAA,CAAAT,sBAAA,CAAAJ,KAAA,CAAAK,EAAAA,2BAAA,EAAAe,4BAAA,CAAA,CAAAlB,IAAA,CAAAE,sBAAA,CAAAJ,KAAA,CAAA,EAAoCgB,KAAK,CAAC,CAAA;MAE7D,IAAI,CAACG,aAAa,EAAE;AAClB,QAAA,OAAA;AACF,OAAA;MAEAX,KAAK,CAACa,cAAc,EAAE,CAAA;MAEtBF,aAAa,CAACG,cAAc,EAAE,CAAA;MAC9BN,KAAK,CAACO,KAAK,CAAC;AAAEC,QAAAA,aAAa,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AACtC,KAAC,CAAC,CAAA;AAAC,IAAA,OAAAxB,KAAA,CAAA;AACL,GAAA;EAAC,OAAAyB,YAAA,CAAA9B,eAAA,CAAA,CAAA;AAAA,CAAA+B,eAAAA,gBAAA,CAhC0CC,WAAW,CAAA,CAAA,CAAA;AAAA,SAAAb,oBAAAA,CAkClCc,GAAG,EAAE;AACvB,EAAA,OAAOA,GAAG,CAACC,QAAQ,CAAC,GAAG,CAAC,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,GAAGC,SAAS,CAAA;AAC7D,CAAA;AAAC,SAAAZ,4BAAAA,CAE2BJ,KAAK,EAAE;AAAA,EAAA,IAAAiB,qBAAA,CAAA;AACjC,EAAA,IAAMC,QAAQ,GAAGlB,KAAK,CAACL,OAAO,CAAC,UAAU,CAAC,CAAA;AAE1C,EAAA,IAAIuB,QAAQ,EAAE;AACZ,IAAA,IAAMC,OAAO,GAAGD,QAAQ,CAACE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAEvD,IAAID,OAAO,CAACE,MAAM,EAAE;AAClB,MAAA,IAAMC,eAAe,GAAGH,OAAO,CAAC,CAAC,CAAC,CAAA;;AAElC;AACA;AACA,MAAA,IAAInB,KAAK,YAAYuB,gBAAgB,KAAKvB,KAAK,CAACwB,IAAI,KAAK,UAAU,IAAIxB,KAAK,CAACwB,IAAI,KAAK,OAAO,CAAC,EAAE;AAC9F,QAAA,OAAOF,eAAe,CAAA;AACxB,OAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;MACA,IAAMG,SAAS,GAAGH,eAAe,CAACI,qBAAqB,EAAE,CAACC,GAAG,CAAA;AAC7D,MAAA,IAAMC,SAAS,GAAG5B,KAAK,CAAC0B,qBAAqB,EAAE,CAAA;;AAE/C;AACA;AACA,MAAA,IAAIE,SAAS,CAACC,MAAM,IAAIC,MAAM,CAACC,WAAW,EAAE;QAC1C,IAAMC,WAAW,GAAGJ,SAAS,CAACD,GAAG,GAAGC,SAAS,CAACC,MAAM,CAAA;QAEpD,IAAIG,WAAW,GAAGP,SAAS,GAAGK,MAAM,CAACC,WAAW,GAAG,CAAC,EAAE;AACpD,UAAA,OAAOT,eAAe,CAAA;AACxB,SAAA;AACF,OAAA;AACF,KAAA;AACF,GAAA;EAEA,OAAAL,CAAAA,qBAAA,GAAOhB,QAAQ,CAACgC,aAAa,CAAAC,aAAAA,CAAAA,MAAA,CAAelC,KAAK,CAACmC,YAAY,CAAC,IAAI,CAAC,EAAI,IAAA,CAAA,CAAC,MAAAlB,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAIjB,KAAK,CAACL,OAAO,CAAC,OAAO,CAAC,CAAA;AACrG,CAAA;AAGF,IAAI,gBAAgB,IAAImC,MAAM,EAAE;AAC9BM,EAAAA,cAAc,CAACC,MAAM,CAAC,mBAAmB,EAAE1D,eAAe,CAAC,CAAA;AAC7D;;;;;;;;ACdA,IAAM2D,CAAA,GAA0B,IAAIC,GAAA,CAAI,CACtC,UAAA,EACA,WACA,EAAA,KAAA,EACA,OACA,EAAA,WAAA,CAAA,CAAA;EAGIC,CAAA,GAGF,IAAIC,OAAA,EAAA;EAsCFC,CAAA,GAAc,SAAAA,CAAAA,CAClBJ,CAAA,EACAI,EAAA,EACAC,CAAA,EACAC,CAAA,EACAC,CAAA,EAAA;AAEA,IAAA,IAAMC,CAAA,GAAQ,IAAA,IAAAD,CAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAA,CAASH,EAAA,CAAA,CAAA;AAAA,IAAA,KACT,CAAVI,KAAAA,CAAA,IAAuBH,CAAA,KAAUC,CAAA,GAanC,IAACD,IAAAA,CAAA,IACDD,EAAA,IAAQ/B,WAAA,CAAYoC,SAAA,GAEpBT,CAAA,CAAKU,eAAA,CAAgBN,EAAA,CAAA,GAKvBJ,CAAA,CAAKI,EAAA,CAAmBC,GAAAA,CAAA,GA3DO,UAC/BL,CAAA,EACAI,CAAA,EACAC,CAAA,EAAA;AAEA,MAAA,IAAIC,CAAA,GAASJ,CAAA,CAAeS,GAAA,CAAIX,CAAA,CAAA,CAAA;AAAA,MAAA,KACjB,CAAXM,KAAAA,CAAA,IACFJ,CAAA,CAAeU,GAAA,CAAIZ,CAAA,EAAOM,CAAA,GAAS,IAAIO,GAAA,EAAA,CAAA,CAAA;AAEzC,MAAA,IAAIN,CAAA,GAAUD,CAAA,CAAOK,GAAA,CAAIP,CAAA,CAAA,CAAA;AAAA,MAAA,KACR,CAAbC,KAAAA,CAAA,GAEc,KAAA,CAAA,KAAZE,CAAA,IACFD,CAAA,CAAOM,GAAA,CAAIR,CAAA,EAAQG,CAAA,GAAU;AAACO,QAAAA,WAAA,EAAaT,CAAAA;AAAA,OAAA,CAAA,EAC3CL,CAAA,CAAK/C,gBAAA,CAAiBmD,CAAA,EAAOG,CAAA,CAAA,IAG7BA,CAAA,CAAQO,WAAA,GAAcT,CAAA,GAAA,KAGH,CAAZE,KAAAA,CAAA,KACTD,CAAA,CAAO,QAAA,CAAA,CAAOF,CAAA,CAAA,EACdJ,CAAA,CAAKe,mBAAA,CAAoBX,CAAA,EAAOG,CAAA,CACjC,CAAA,CAAA;AAAA,KAAA,CAiB0BP,CAAA,EAAMQ,CAAA,EAAOH,CAAA,CAmBG,CAAA;AAAA,GAAA;AAKvCA,EAAAA,CAAA,GAAS,SAATA,CAAUL,CAAAA,CAAA,EAAyBE,CAAA,EAAA;IACpB,UAARF,IAAAA,OAAAA,CAAA,GACTA,CAAA,CAAIE,CAAA,IAEHF,CAAA,CAAkCgB,OAAA,GAAUd,CAC9C,CAAA;AAAA,GAAA,CAAA;AAgEa,SAAAI,IAQd;AAAA,EAAA,IAJAJ,CAAA,GAAAe,SAAA,CAAAlC,MAAA,GAAAkC,CAAAA,IAAAA,SAAA,CAAAvC,CAAAA,CAAAA,KAAAA,SAAA,GAAAuC,SAAA,CAAsDzB,CAAAA,CAAAA,GAAAA,MAAA,CAAO0B,KAAA,CAAA;EAAA,IAC7DZ,CAAA,GAAAW,SAAA,CAAAlC,MAAA,GAAAkC,CAAAA,GAAAA,SAAA,MAAAvC,SAAA,CAAA;EAAA,IACA6B,CAAA,GAAAU,SAAA,CAAAlC,MAAA,GAAAkC,CAAAA,GAAAA,SAAA,MAAAvC,SAAA,CAAA;EAAA,IACA8B,CAAA,GAAAS,SAAA,CAAAlC,MAAA,GAAAkC,CAAAA,GAAAA,SAAA,MAAAvC,SAAA,CAAA;EAAA,IACAyC,CAAA,GAAAF,SAAA,CAAAlC,MAAA,GAAAkC,CAAAA,GAAAA,SAAA,MAAAvC,SAAA,CAAA;AAGA,EAAA,IAAI0C,CAAA,EACAC,CAAA,EACAC,CAAA,CAAA;EACJ,IAAgB,KAAA,CAAA,KAAZhB,CAAA,EAAuB;IACzB,IAAMN,EAAA,GAAUE,CAAA,CAAA;AAAA,IAAA,CACLmB,CAAA,GAAmDrB,EAAA,CAA5DuB,OAAA,EAA4BD,CAAA,GAAgCtB,EAAA,CAA9CwB,YAAA,EAAuBhB,CAAA,GAAuBR,EAAA,CAAvByB,MAAA,EAAQN,CAAA,GAAenB,EAAA,CAAf0B,WAAA,GAC/CN,CAAA,GAAQpB,EAAA,CAAQ2B,KACjB,CAAA;GACCP,MAAAA,CAAA,GAAQlB,CAAA,EACRoB,CAAA,GAAUf,CAAA,EACVc,CAAA,GAAMf,CAAA,CAAA;AAmBR,EAAA,IAAMsB,CAAA,GAAYR,CAAA,CAAMS,SAAA;IAClBC,CAAA,GAAgBV,CAAA,CAAMW,aAAA;AACtBC,IAAAA,CAAA,GAAa,IAAI/B,GAAA,CAAIgC,MAAA,CAAOC,IAAA,CAAK,IAAA1B,IAAAA,CAAA,GAAAA,CAAA,GAAU,EAAA,CAAA,CAAA,CAAA;EAIjD,IAAM2B,CAAA,0BAAAC,EAAA,EAAA;IAAA7F,SAAA,CAAA4F,CAAA,EAAAC,EAAA,CAAA,CAAA;AAAA,IAAA,IAAA5F,MAAA,GAAAC,YAAA,CAAA0F,CAAA,CAAA,CAAA;AAAN,IAAA,SAAAA,CAAA,GAAA;AAAA,MAAA,IAAAzF,KAAA,CAAA;AAAAC,MAAAA,eAAA,OAAAwF,CAAA,CAAA,CAAA;MAAAzF,KAAA,GAAAF,MAAA,CAAA6F,KAAA,CAAA,IAAA,EAAApB,SAAA,CAAA,EACUvE,KAAA,CAAQ6D,CAAA,GAAa,IA6G9B,CAAA;AAAA,MAAA,OAAA7D,KAAA,CAAA;AAAA,KAAA;AAtGSyB,IAAAA,YAAA,CAAAgE,CAAA,EAAA,CAAA;MAAAG,GAAA,EAAA,GAAA;MAAAC,KAAA,EAAA,SAAAvC,EAAeA,GAAA,EAAA;AACrB,QAAA,IAAsB,IAAlB,KAAA,IAAA,CAAKO,CAAA,EAIT,KAAK,IAAML,EAAA,IAAQ,IAAKI,CAAAA,CAAA,EACtBF,CAAA,CACE,IAAKG,CAAAA,CAAA,EACLL,EAAA,EACA,IAAA,CAAKsC,KAAA,CAAMtC,EAAA,CACXF,EAAAA,GAAA,GAAWA,GAAA,CAASE,EAAA,CAAQ,GAAA,KAAA,CAAA,EAC5BM,CAAA,CAML,CAAA;AAAA,OAAA;AAMQ,KAAA,EAAA;MAAA8B,GAAA,EAAA,mBAAA;AAAAC,MAAAA,KAAA,WAAAE,iBAAA,GAAA;AAAA,QAAA,IAAAzC,CAAA,CAAA;AACP,QAAA,IAAA,CAAKA,CAAA,EAAA,EACQ,IAAbA,MAAAA,CAAA,QAAKO,CAAA,CAAA,IAAA,KAAQ,CAAAP,KAAAA,CAAA,IAAAA,CAAA,CAAEU,eAAA,CAAgB,iBAChC,CAAA,CAAA;AAAA,OAAA;AAMQ,KAAA,EAAA;MAAA4B,GAAA,EAAA,oBAAA;MAAAC,KAAA,EAAA,SAAAG,mBAAmB1C,CAAA,EAAA;QAC1B,IAAKA,CAAAA,CAAA,CAAeA,CAAA,CACrB,CAAA;AAAA,OAAA;AAUQ,KAAA,EAAA;MAAAsC,GAAA,EAAA,QAAA;AAAAC,MAAAA,KAAA,WAAAI,MAAA,GAAA;AAAA,QAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;QAEP,IAAAC,WAAA,GAAuC,IAAA,CAAKL,KAAA;UAArCtC,CAAA,GAAA2C,WAAA,CAADC,IAAA;AAAoB1C,UAAAA,CAAA,GAAA2C,wBAAA,CAAAF,WAAA,EAAAG,WAAA,CAAA,CAAA;QAItB,IAAKpB,CAAAA,CAAA,KAAkB1B,CAAA,KACzB,KAAK4B,CAAA,GAAQ,UAAA9B,CAAA,EAAA;AACY,UAAA,IAAA,KAAnBE,CAAA,IACFG,CAAA,CAAOH,CAAA,EAAgBF,CAAA,CAGzB4C,EAAAA,MAAA,CAAKrC,CAAA,GAAWP,CAAA,EAChB4C,MAAA,CAAKhB,CAAA,GAAgB1B,CAAc,CAAA;SAKvC,CAAA,EAAA,IAAA,CAAKI,CAAA,GAAgB,EAAA,CAAA;AACrB,QAAA,IAAMA,CAAA,GAAiC;AAAC2C,UAAAA,GAAA,EAAK,IAAKnB,CAAAA,CAAAA;AAAA,SAAA,CAAA;AAIlD,QAAA,KAAA,IAAAoB,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAAqBlB,MAAA,CAAOmB,OAAA,CAAQhD,CAAA,CAAA,EAAA8C,EAAA,GAAAC,eAAA,CAAApE,MAAA,EAAAmE,EAAA,EAAA,EAAA;AAA/B,UAAA,IAAAG,kBAAA,GAAAC,cAAA,CAAAH,eAAA,CAAAD,EAAA,CAAA,EAAA,CAAA,CAAA;AAAOhD,YAAAA,GAAA,GAAAmD,kBAAA,CAAA,CAAA,CAAA;AAAGhD,YAAAA,EAAA,GAAAgD,kBAAA,CAAA,CAAA,CAAA,CAAA;AACTrD,UAAAA,CAAA,CAAwBuD,GAAA,CAAIrD,GAAA,CAAA,GAG9BI,CAAA,CAAY,WAAA,KAANJ,GAAA,GAAoB,UAAUA,GAAA,CAAA,GAAKG,EAAA,GAIvC2B,CAAA,CAAWuB,GAAA,CAAIrD,GAAA,CAAA,IAAMA,GAAA,IAAKoB,CAAA,CAAQb,SAAA,GACpC,IAAKH,CAAAA,CAAA,CAAcJ,GAAA,IAAKG,EAAA,GAI1BC,CAAA,CAAMJ,GAAA,IAAKG,EAAA,CAAA;AAoBb,SAAA;QAAA,OAFAC,CAAA,CAAgCkD,wBAAA,GAAI,CAAA,CAAA,EAE7B1B,CAAA,CAA0CT,CAAA,EAAKf,CAAA,CACvD,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA6B,CAAA,CAAA;AAAA,GAAA,CA7G0BP,CAAA,CAAA,CAAA;EAMpBO,CAAA,CAAWT,WAAA,GAAG,IAAAP,IAAAA,CAAA,GAAAA,CAAA,GAAeG,CAAA,CAAQmC,IAAA,CAAA;EA0G9C,IAAMC,CAAA,GAA8CtC,CAAA,CAAMuC,UAAA,CAGxD,UAAC3D,CAAA,EAAOE,CAAA,EAAA;IAAA,OACR4B,CAAA,CACEK,CAAA,EAAAyB,cAAA,CAAAA,cAAA,KACI5D,CAAA,CAAA,EAAA,EAAA,EAAA;AAAO8C,MAAAA,IAAA,EAAA5C,CAAAA;AAAA,KAAA,CAAA,EACX,IAAAF,IAAAA,CAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAA,CAAO6D,QAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;EAOX,OAFAH,CAAA,CAAmBhC,WAAA,GAAcS,CAAA,CAAeT,WAAA,EAEzCgC,CACT,CAAA;AAAA;;;ACxYA,IAAMI,iBAAiB,GAAGC,CAAe,CAAC;AACxCxC,EAAAA,OAAO,EAAE,mBAAmB;AAC5BC,EAAAA,YAAY,EAAEwC,eAAwB;AACtCrC,EAAAA,KAAK,EAAET,KAAAA;AACT,CAAC,CAAC,CAAA;AAEF,IAAM+C,gBAAgB,GAAG,uBAAuB,CAAA;AACzC,IAAMC,YAAY,GAAG,QAAO;AAEpB,SAASC,YAAYA,CAAAC,IAAA,EAAqD;AAAA,EAAA,IAAlDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAAC,gBAAA,GAAAF,IAAA,CAAEG,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,UAACb,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAAA;AAAA,KAAA,GAAAa,gBAAA;AAAK9B,IAAAA,KAAK,GAAAO,wBAAA,CAAAqB,IAAA,EAAApB,SAAA,CAAA,CAAA;AACnF,EAAA,IAAMwB,SAAS,GAAGtD,KAAK,CAACuD,KAAK,EAAE,CAAA;AAC/B,EAAA,IAAMC,QAAQ,GAAGxD,KAAK,CAACyD,MAAM,CAAC,IAAI,CAAC,CAAA;AAEnC,EAAA,oBACEzD,KAAA,CAAAa,aAAA,CAAC+B,iBAAiB,EAAAc,QAAA,CAAA;AAACC,IAAAA,IAAI,EAAC,OAAO;AAAC,IAAA,iBAAA,EAAiBL,SAAU;AAACvB,IAAAA,GAAG,EAAEyB,QAAS;AAACI,IAAAA,QAAQ,EAAE,CAAC,CAAA;AAAE,GAAA,EAAKtC,KAAK,CAAA,eAChGtB,KAAA,CAAAa,aAAA,CAAA,IAAA,EAAA;AAAIgD,IAAAA,SAAS,EAAC,QAAQ;AAACC,IAAAA,EAAE,EAAER,SAAAA;GACzBtD,eAAAA,KAAA,CAAAa,aAAA,CAAA,KAAA,EAAA;AACEkD,IAAAA,KAAK,EAAC,4BAA4B;AAClCC,IAAAA,OAAO,EAAC,aAAa;AACrB,IAAA,aAAA,EAAY,MAAM;AAClB3F,IAAAA,MAAM,EAAC,KAAK;AACZ4F,IAAAA,KAAK,EAAC,KAAK;AACXC,IAAAA,IAAI,EAAC,cAAA;GAELlE,eAAAA,KAAA,CAAAa,aAAA,CAAA,MAAA,EAAA;AAAMZ,IAAAA,CAAC,EAAC,4UAAA;GAA8U,CACnV,CAAC,EAEJ,OAAA,CAAC,eACLD,KAAA,CAAAa,aAAA,CACGE,IAAAA,EAAAA,IAAAA,EAAAA,MAAM,CAACC,IAAI,CAACmC,MAAM,CAAC,CAACgB,GAAG,CAAC,UAACC,QAAQ,EAAK;AACrC,IAAA,IAAMC,OAAO,GAAGlB,MAAM,CAACiB,QAAQ,CAAC,CAAA;IAChC,IAAME,WAAW,GAAG,CAACvB,gBAAgB,EAAEC,YAAY,CAAC,CAAC3F,QAAQ,CAAC+G,QAAQ,CAAC,CAAA;AAEvE,IAAA,IAAIE,WAAW,EAAE;MACf,oBAAOtE,KAAA,CAAAa,aAAA,CAAA,IAAA,EAAA;AAAIO,QAAAA,GAAG,EAAEgD,QAAS;AAACG,QAAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAEH,OAAAA;AAAQ,SAAA;AAAE,OAAE,CAAC,CAAA;AAC5E,KAAA;AAEA,IAAA,IAAMI,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,CAAA;IAE3C,IAAMO,QAAQ,GAAGH,YAAY,GAAGJ,OAAO,GAAG,CAACA,OAAO,CAAC,CAAA;AAEnD,IAAA,oBACErE,KAAA,CAAAa,aAAA,CAACb,KAAK,CAAC6E,QAAQ,EAAA;AAACzD,MAAAA,GAAG,EAAEgD,QAAAA;KAClBQ,EAAAA,QAAQ,CAACT,GAAG,CAAC,UAACW,YAAY,EAAEC,KAAK,EAAK;AACrC,MAAA,IAAM3I,OAAO,GAAAsC,EAAAA,CAAAA,MAAA,CAAM2E,WAAW,CAACe,QAAQ,CAAC,CAAA,CAAA1F,MAAA,CAAG+F,YAAY,GAAA/F,GAAAA,CAAAA,MAAA,CAAOqG,KAAK,EAAA,GAAA,CAAA,GAAM,EAAE,CAAE,CAAA;MAE7E,oBACE/E,KAAA,CAAAa,aAAA,CAAA,IAAA,EAAA;AAAIO,QAAAA,GAAG,EAAEhF,OAAAA;OACP4D,eAAAA,KAAA,CAAAa,aAAA,CAAA,GAAA,EAAA;QAAGtE,IAAI,EAAA,GAAA,CAAAmC,MAAA,CAAMtC,OAAO,CAAA;OACjB0I,EAAAA,YAAY,EACZF,QAAQ,CAAC/G,MAAM,GAAG,CAAC,GAAAa,IAAAA,CAAAA,MAAA,CAAQqG,KAAK,GAAG,CAAC,EAAA,MAAA,CAAA,CAAArG,MAAA,CAAOkG,QAAQ,CAAC/G,MAAM,EAAA,GAAA,CAAA,GAAML,SAChE,CACD,CAAC,CAAA;AAET,KAAC,CACa,CAAC,CAAA;GAEpB,CACC,CACa,CAAC,CAAA;AAExB;;;;","x_google_ignoreList":[1]}
@@ -0,0 +1,4 @@
1
+ export { FormErrorKey, default } from './ErrorSummary.js';
2
+ import '../_rollupPluginBabelHelpers-faf45dab.js';
3
+ import 'react';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,48 @@
1
+ import { _ as _objectWithoutProperties, a as _extends } from '../_rollupPluginBabelHelpers-faf45dab.js';
2
+ import * as React from 'react';
3
+
4
+ var _excluded = ["as", "error", "hint", "id", "isOptional", "label"];
5
+ function FieldTextInput(_ref) {
6
+ var _id;
7
+ var as = _ref.as,
8
+ error = _ref.error,
9
+ hint = _ref.hint,
10
+ id = _ref.id,
11
+ _ref$isOptional = _ref.isOptional,
12
+ isOptional = _ref$isOptional === void 0 ? false : _ref$isOptional,
13
+ label = _ref.label,
14
+ props = _objectWithoutProperties(_ref, _excluded);
15
+ id = (_id = id) !== null && _id !== void 0 ? _id : props.name;
16
+ var errorId = React.useId();
17
+ var hintId = React.useId();
18
+ var InputComponent = as !== null && as !== void 0 ? as : 'input';
19
+ return /*#__PURE__*/React.createElement("div", {
20
+ // className={clsx('bds-text-input', 'stack')}
21
+ className: "bds-text-input stack"
22
+ }, /*#__PURE__*/React.createElement("label", {
23
+ htmlFor: id
24
+ }, label, isOptional && ' (optional)'), hint && /*#__PURE__*/React.createElement("span", {
25
+ className: "bds-hint",
26
+ id: hintId
27
+ }, hint), error && /*#__PURE__*/React.createElement("span", {
28
+ className: "bds-error",
29
+ id: errorId
30
+ }, /*#__PURE__*/React.createElement("svg", {
31
+ xmlns: "http://www.w3.org/2000/svg",
32
+ viewBox: "0 0 512 512",
33
+ "aria-hidden": "true",
34
+ height: "1em",
35
+ width: "1em",
36
+ fill: "currentColor"
37
+ }, /*#__PURE__*/React.createElement("path", {
38
+ 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"
39
+ })), error), /*#__PURE__*/React.createElement(InputComponent, _extends({
40
+ "aria-invalid": error ? true : undefined,
41
+ "aria-describedby": error && hint ? "".concat(hintId, " ").concat(errorId) : error ? errorId : hint ? hintId : undefined,
42
+ "aria-required": isOptional ? undefined : true,
43
+ id: id
44
+ }, props)));
45
+ }
46
+
47
+ export { FieldTextInput as default };
48
+ //# sourceMappingURL=FieldTextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldTextInput.js","sources":["../../src/FieldTextInput/FieldTextInput.js"],"sourcesContent":["// import clsx from 'clsx';\r\nimport * as React from 'react';\r\n\r\nexport default function FieldTextInput({ as, error, hint, id, isOptional = false, label, ...props }) {\r\n id = id ?? props.name;\r\n\r\n const errorId = React.useId();\r\n const hintId = React.useId();\r\n\r\n const InputComponent = as ?? 'input';\r\n\r\n return (\r\n <div\r\n // className={clsx('bds-text-input', 'stack')}\r\n className=\"bds-text-input stack\"\r\n >\r\n <label htmlFor={id}>\r\n {label}\r\n {isOptional && ' (optional)'}\r\n </label>\r\n {hint && (\r\n <span className=\"bds-hint\" id={hintId}>\r\n {hint}\r\n </span>\r\n )}\r\n {error && (\r\n <span className=\"bds-error\" id={errorId}>\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 {error}\r\n </span>\r\n )}\r\n <InputComponent\r\n aria-invalid={error ? true : undefined}\r\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\r\n aria-required={isOptional ? undefined : true}\r\n id={id}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n"],"names":["FieldTextInput","_ref","_id","as","error","hint","id","_ref$isOptional","isOptional","label","props","_objectWithoutProperties","_excluded","name","errorId","React","useId","hintId","InputComponent","createElement","className","htmlFor","xmlns","viewBox","height","width","fill","d","_extends","undefined","concat"],"mappings":";;;;AAGe,SAASA,cAAcA,CAAAC,IAAA,EAA+D;AAAA,EAAA,IAAAC,GAAA,CAAA;AAAA,EAAA,IAA5DC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IAAEC,EAAE,GAAAL,IAAA,CAAFK,EAAE;IAAAC,eAAA,GAAAN,IAAA,CAAEO,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAEE,KAAK,GAAAR,IAAA,CAALQ,KAAK;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;EAC/FN,EAAE,GAAA,CAAAJ,GAAA,GAAGI,EAAE,MAAA,IAAA,IAAAJ,GAAA,KAAA,KAAA,CAAA,GAAAA,GAAA,GAAIQ,KAAK,CAACG,IAAI,CAAA;AAErB,EAAA,IAAMC,OAAO,GAAGC,KAAK,CAACC,KAAK,EAAE,CAAA;AAC7B,EAAA,IAAMC,MAAM,GAAGF,KAAK,CAACC,KAAK,EAAE,CAAA;EAE5B,IAAME,cAAc,GAAGf,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,KAAAA,CAAAA,GAAAA,EAAE,GAAI,OAAO,CAAA;EAEpC,oBACEY,KAAA,CAAAI,aAAA,CAAA,KAAA,EAAA;AACE;AACAC,IAAAA,SAAS,EAAC,sBAAA;GAEVL,eAAAA,KAAA,CAAAI,aAAA,CAAA,OAAA,EAAA;AAAOE,IAAAA,OAAO,EAAEf,EAAAA;GACbG,EAAAA,KAAK,EACLD,UAAU,IAAI,aACV,CAAC,EACPH,IAAI,iBACHU,KAAA,CAAAI,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC,UAAU;AAACd,IAAAA,EAAE,EAAEW,MAAAA;AAAO,GAAA,EACnCZ,IACG,CACP,EACAD,KAAK,iBACJW,KAAA,CAAAI,aAAA,CAAA,MAAA,EAAA;AAAMC,IAAAA,SAAS,EAAC,WAAW;AAACd,IAAAA,EAAE,EAAEQ,OAAAA;GAC9BC,eAAAA,KAAA,CAAAI,aAAA,CAAA,KAAA,EAAA;AACEG,IAAAA,KAAK,EAAC,4BAA4B;AAClCC,IAAAA,OAAO,EAAC,aAAa;AACrB,IAAA,aAAA,EAAY,MAAM;AAClBC,IAAAA,MAAM,EAAC,KAAK;AACZC,IAAAA,KAAK,EAAC,KAAK;AACXC,IAAAA,IAAI,EAAC,cAAA;GAELX,eAAAA,KAAA,CAAAI,aAAA,CAAA,MAAA,EAAA;AAAMQ,IAAAA,CAAC,EAAC,4UAAA;AAA4U,GAAE,CACnV,CAAC,EACLvB,KACG,CACP,eACDW,KAAA,CAAAI,aAAA,CAACD,cAAc,EAAAU,QAAA,CAAA;AACb,IAAA,cAAA,EAAcxB,KAAK,GAAG,IAAI,GAAGyB,SAAU;IACvC,kBAAkBzB,EAAAA,KAAK,IAAIC,IAAI,GAAA,EAAA,CAAAyB,MAAA,CAAMb,MAAM,OAAAa,MAAA,CAAIhB,OAAO,CAAKV,GAAAA,KAAK,GAAGU,OAAO,GAAGT,IAAI,GAAGY,MAAM,GAAGY,SAAU;AACvG,IAAA,eAAA,EAAerB,UAAU,GAAGqB,SAAS,GAAG,IAAK;AAC7CvB,IAAAA,EAAE,EAAEA,EAAAA;GACAI,EAAAA,KAAK,CACV,CACE,CAAC,CAAA;AAEV;;;;"}
@@ -0,0 +1,4 @@
1
+ export { default } from './FieldTextInput.js';
2
+ import '../_rollupPluginBabelHelpers-faf45dab.js';
3
+ import 'react';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,93 @@
1
+ import { _ as _objectWithoutProperties, a as _extends, b as _toConsumableArray } from '../_rollupPluginBabelHelpers-faf45dab.js';
2
+ import * as React from 'react';
3
+
4
+ var _excluded = ["buildPageUrl", "className", "currentPage", "onPageClick", "totalPages"];
5
+ function usePages(currentPage, totalPages) {
6
+ var pages = [1, currentPage - 1, currentPage, currentPage + 1, totalPages].filter(function (x) {
7
+ return x >= 1 && x <= totalPages;
8
+ });
9
+ return _toConsumableArray(new Set(pages));
10
+ }
11
+ function Pagination(_ref) {
12
+ var buildPageUrl = _ref.buildPageUrl;
13
+ _ref.className;
14
+ var currentPage = _ref.currentPage,
15
+ onPageClick = _ref.onPageClick,
16
+ totalPages = _ref.totalPages,
17
+ props = _objectWithoutProperties(_ref, _excluded);
18
+ var pages = usePages(currentPage, totalPages);
19
+ return /*#__PURE__*/React.createElement("nav", _extends({
20
+ "aria-label": "pagination"
21
+ // className={clsx('bds-pagination', className)}
22
+ ,
23
+ className: "bds-pagination"
24
+ }, props), currentPage !== 1 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
25
+ href: buildPageUrl(1),
26
+ className: "bds-first-page"
27
+ }, /*#__PURE__*/React.createElement("svg", {
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ "aria-hidden": "true",
30
+ focusable: "false",
31
+ height: "1em",
32
+ width: "auto",
33
+ viewBox: "0 63.95 512 384.1"
34
+ }, /*#__PURE__*/React.createElement("path", {
35
+ d: "M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3v83.4l171.5 142.9zM256 352V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29v-64z"
36
+ })), "First"), /*#__PURE__*/React.createElement("a", {
37
+ "aria-label": "previous",
38
+ href: buildPageUrl(currentPage - 1),
39
+ rel: "prev"
40
+ }, /*#__PURE__*/React.createElement("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ "aria-hidden": "true",
43
+ focusable: "false",
44
+ width: "auto",
45
+ height: "1em",
46
+ viewBox: "0.02 95.9 192.08 320.17"
47
+ }, /*#__PURE__*/React.createElement("path", {
48
+ d: "M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z"
49
+ })), "Prev.")), /*#__PURE__*/React.createElement("ul", null, pages.map(function (page, index) {
50
+ var handlePageClick = function handlePageClick() {
51
+ if (!onPageClick) return;
52
+ onPageClick(page);
53
+ };
54
+ return /*#__PURE__*/React.createElement(React.Fragment, {
55
+ key: page
56
+ }, /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("a", {
57
+ "aria-current": page === currentPage ? 'page' : undefined,
58
+ href: buildPageUrl(page),
59
+ onClick: handlePageClick
60
+ }, /*#__PURE__*/React.createElement("span", {
61
+ className: "visually-hidden"
62
+ }, "Page"), " ", page)), pages[index + 1] > page + 1 ? /*#__PURE__*/React.createElement("li", {
63
+ "data-overflow": ""
64
+ }, "...") : null);
65
+ })), currentPage !== totalPages && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("a", {
66
+ href: buildPageUrl(currentPage + 1),
67
+ rel: "next"
68
+ }, "Next", /*#__PURE__*/React.createElement("svg", {
69
+ xmlns: "http://www.w3.org/2000/svg",
70
+ "aria-hidden": "true",
71
+ focusable: "false",
72
+ viewBox: "63.9 95.9 192.1 320.17",
73
+ width: "auto",
74
+ height: "1em"
75
+ }, /*#__PURE__*/React.createElement("path", {
76
+ d: "M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9S63.9 115 63.9 128v256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z"
77
+ }))), /*#__PURE__*/React.createElement("a", {
78
+ href: buildPageUrl(totalPages),
79
+ className: "bds-last-page"
80
+ }, "Last", /*#__PURE__*/React.createElement("svg", {
81
+ xmlns: "http://www.w3.org/2000/svg",
82
+ "aria-hidden": "true",
83
+ focusable: "false",
84
+ width: "auto",
85
+ height: "1em",
86
+ viewBox: "0 63.95 512 384.1"
87
+ }, /*#__PURE__*/React.createElement("path", {
88
+ d: "M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4L224 214.3v83.4L52.5 440.6zM256 352V96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4S256 428.4 256 416v-64z"
89
+ })))));
90
+ }
91
+
92
+ export { Pagination as default };
93
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sources":["../../src/Pagination/Pagination.js"],"sourcesContent":["// import clsx from 'clsx';\r\nimport * as React from 'react';\r\n\r\nfunction usePages(currentPage, totalPages) {\r\n const pages = [1, currentPage - 1, currentPage, currentPage + 1, totalPages].filter(\r\n (x) => x >= 1 && x <= totalPages,\r\n );\r\n return [...new Set(pages)];\r\n}\r\n\r\nexport default function Pagination({ buildPageUrl, className, currentPage, onPageClick, totalPages, ...props }) {\r\n const pages = usePages(currentPage, totalPages);\r\n\r\n return (\r\n <nav\r\n aria-label=\"pagination\"\r\n // className={clsx('bds-pagination', className)}\r\n className=\"bds-pagination\"\r\n {...props}\r\n >\r\n {currentPage !== 1 && (\r\n <>\r\n <a href={buildPageUrl(1)} className=\"bds-first-page\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n height=\"1em\"\r\n width=\"auto\"\r\n viewBox=\"0 63.95 512 384.1\"\r\n >\r\n <path d=\"M459.5 440.6c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4L288 214.3v83.4l171.5 142.9zM256 352V96c0-12.4-7.2-23.7-18.4-29s-24.5-3.6-34.1 4.4l-192 160C4.2 237.5 0 246.5 0 256s4.2 18.5 11.5 24.6l192 160c9.5 7.9 22.8 9.7 34.1 4.4s18.4-16.6 18.4-29v-64z\" />\r\n </svg>\r\n First\r\n </a>\r\n <a aria-label=\"previous\" href={buildPageUrl(currentPage - 1)} rel=\"prev\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n width=\"auto\"\r\n height=\"1em\"\r\n viewBox=\"0.02 95.9 192.08 320.17\"\r\n >\r\n <path d=\"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6v256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\" />\r\n </svg>\r\n Prev.\r\n </a>\r\n </>\r\n )}\r\n <ul>\r\n {pages.map((page, index) => {\r\n const handlePageClick = () => {\r\n if (!onPageClick) return;\r\n\r\n onPageClick(page);\r\n };\r\n\r\n return (\r\n <React.Fragment key={page}>\r\n <li>\r\n <a\r\n aria-current={page === currentPage ? 'page' : undefined}\r\n href={buildPageUrl(page)}\r\n onClick={handlePageClick}\r\n >\r\n <span className=\"visually-hidden\">Page</span> {page}\r\n </a>\r\n </li>\r\n {pages[index + 1] > page + 1 ? <li data-overflow=\"\">...</li> : null}\r\n </React.Fragment>\r\n );\r\n })}\r\n </ul>\r\n {currentPage !== totalPages && (\r\n <>\r\n <a href={buildPageUrl(currentPage + 1)} rel=\"next\">\r\n Next\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n viewBox=\"63.9 95.9 192.1 320.17\"\r\n width=\"auto\"\r\n height=\"1em\"\r\n >\r\n <path d=\"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9S63.9 115 63.9 128v256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\" />\r\n </svg>\r\n </a>\r\n <a href={buildPageUrl(totalPages)} className=\"bds-last-page\">\r\n Last\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n width=\"auto\"\r\n height=\"1em\"\r\n viewBox=\"0 63.95 512 384.1\"\r\n >\r\n <path d=\"M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4L224 214.3v83.4L52.5 440.6zM256 352V96c0-12.4 7.2-23.7 18.4-29s24.5-3.6 34.1 4.4l192 160c7.3 6.1 11.5 15.1 11.5 24.6s-4.2 18.5-11.5 24.6l-192 160c-9.5 7.9-22.8 9.7-34.1 4.4S256 428.4 256 416v-64z\" />\r\n </svg>\r\n </a>\r\n </>\r\n )}\r\n </nav>\r\n );\r\n}\r\n"],"names":["usePages","currentPage","totalPages","pages","filter","x","_toConsumableArray","Set","Pagination","_ref","buildPageUrl","className","onPageClick","props","_objectWithoutProperties","_excluded","React","createElement","_extends","Fragment","href","xmlns","focusable","height","width","viewBox","d","rel","map","page","index","handlePageClick","key","undefined","onClick"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { default } from './Pagination.js';
2
+ import '../_rollupPluginBabelHelpers-faf45dab.js';
3
+ import 'react';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/dist/README.md ADDED
File without changes