@iabbb/bds-react 0.44.0 → 0.45.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.
- package/ErrorSummary/ErrorSummary.d.ts +2 -1
- package/ErrorSummary/index.cjs +4 -10
- package/ErrorSummary/index.cjs.map +1 -1
- package/ErrorSummary/index.mjs +4 -10
- package/ErrorSummary/index.mjs.map +1 -1
- package/index.cjs +4 -10
- package/index.cjs.map +1 -1
- package/index.mjs +4 -10
- package/index.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -11,4 +11,5 @@ export type ErrorSummaryProps = {
|
|
|
11
11
|
errors: Record<string, Array<string> | string> | null;
|
|
12
12
|
mapNameToId?: (name: string) => string;
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
declare const ErrorSummary: React.ForwardRefExoticComponent<ErrorSummaryProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
export default ErrorSummary;
|
package/ErrorSummary/index.cjs
CHANGED
|
@@ -107,7 +107,7 @@ function getAssociatedLegendOrLabel(input) {
|
|
|
107
107
|
var _excluded = ["errors", "mapNameToId"];
|
|
108
108
|
var FormErrorKey = '_form';
|
|
109
109
|
var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
|
|
110
|
-
function
|
|
110
|
+
var ErrorSummary = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
111
111
|
var errors = _ref.errors,
|
|
112
112
|
_ref$mapNameToId = _ref.mapNameToId,
|
|
113
113
|
mapNameToId = _ref$mapNameToId === void 0 ? function (name) {
|
|
@@ -115,12 +115,6 @@ function BdsErrorSummary(_ref) {
|
|
|
115
115
|
} : _ref$mapNameToId,
|
|
116
116
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
117
117
|
var headingId = React__namespace.useId();
|
|
118
|
-
var groupRef = React__namespace.useRef(null);
|
|
119
|
-
React__namespace.useEffect(function () {
|
|
120
|
-
if (!errors || Object.keys(errors).length === 0) return;
|
|
121
|
-
if (!groupRef.current) return;
|
|
122
|
-
groupRef.current.focus();
|
|
123
|
-
}, [errors]);
|
|
124
118
|
if (!errors || Object.keys(errors).length === 0) return null;
|
|
125
119
|
var handleLinkClick = function handleLinkClick(e) {
|
|
126
120
|
var inputId = getFragmentFromUrl(e.currentTarget.href);
|
|
@@ -144,7 +138,7 @@ function BdsErrorSummary(_ref) {
|
|
|
144
138
|
return /*#__PURE__*/React__namespace.createElement("bds-error-summary", _extends({
|
|
145
139
|
role: "group",
|
|
146
140
|
"aria-labelledby": headingId,
|
|
147
|
-
ref:
|
|
141
|
+
ref: ref,
|
|
148
142
|
tabIndex: -1
|
|
149
143
|
}, props), /*#__PURE__*/React__namespace.createElement("h2", {
|
|
150
144
|
className: "bds-h5",
|
|
@@ -183,8 +177,8 @@ function BdsErrorSummary(_ref) {
|
|
|
183
177
|
}, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
|
|
184
178
|
}));
|
|
185
179
|
})));
|
|
186
|
-
}
|
|
180
|
+
});
|
|
187
181
|
|
|
188
182
|
exports.FormErrorKey = FormErrorKey;
|
|
189
|
-
exports.default =
|
|
183
|
+
exports.default = ErrorSummary;
|
|
190
184
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -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 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 role=\"group\" aria-labelledby={headingId} ref={groupRef} tabIndex={-1} {...props}>\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","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","role","ref","tabIndex","className","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":["../../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\nconst ErrorSummary = React.forwardRef<HTMLDivElement, ErrorSummaryProps>(\n ({ errors, mapNameToId = (name) => name, ...props }, ref) => {\n const headingId = React.useId();\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 role=\"group\" aria-labelledby={headingId} ref={ref} tabIndex={-1} {...props}>\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);\n\nexport default ErrorSummary;\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","ErrorSummary","React","forwardRef","_ref","ref","errors","_ref$mapNameToId","mapNameToId","name","props","_objectWithoutProperties","_excluded","headingId","useId","Object","keys","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","preventDefault","scrollIntoView","focus","preventScroll","createElement","_extends","role","tabIndex","className","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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"}
|
package/ErrorSummary/index.mjs
CHANGED
|
@@ -84,7 +84,7 @@ function getAssociatedLegendOrLabel(input) {
|
|
|
84
84
|
var _excluded = ["errors", "mapNameToId"];
|
|
85
85
|
var FormErrorKey = '_form';
|
|
86
86
|
var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
|
|
87
|
-
function
|
|
87
|
+
var ErrorSummary = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
88
88
|
var errors = _ref.errors,
|
|
89
89
|
_ref$mapNameToId = _ref.mapNameToId,
|
|
90
90
|
mapNameToId = _ref$mapNameToId === void 0 ? function (name) {
|
|
@@ -92,12 +92,6 @@ function BdsErrorSummary(_ref) {
|
|
|
92
92
|
} : _ref$mapNameToId,
|
|
93
93
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
94
94
|
var headingId = React.useId();
|
|
95
|
-
var groupRef = React.useRef(null);
|
|
96
|
-
React.useEffect(function () {
|
|
97
|
-
if (!errors || Object.keys(errors).length === 0) return;
|
|
98
|
-
if (!groupRef.current) return;
|
|
99
|
-
groupRef.current.focus();
|
|
100
|
-
}, [errors]);
|
|
101
95
|
if (!errors || Object.keys(errors).length === 0) return null;
|
|
102
96
|
var handleLinkClick = function handleLinkClick(e) {
|
|
103
97
|
var inputId = getFragmentFromUrl(e.currentTarget.href);
|
|
@@ -121,7 +115,7 @@ function BdsErrorSummary(_ref) {
|
|
|
121
115
|
return /*#__PURE__*/React.createElement("bds-error-summary", _extends({
|
|
122
116
|
role: "group",
|
|
123
117
|
"aria-labelledby": headingId,
|
|
124
|
-
ref:
|
|
118
|
+
ref: ref,
|
|
125
119
|
tabIndex: -1
|
|
126
120
|
}, props), /*#__PURE__*/React.createElement("h2", {
|
|
127
121
|
className: "bds-h5",
|
|
@@ -160,7 +154,7 @@ function BdsErrorSummary(_ref) {
|
|
|
160
154
|
}, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
|
|
161
155
|
}));
|
|
162
156
|
})));
|
|
163
|
-
}
|
|
157
|
+
});
|
|
164
158
|
|
|
165
|
-
export { FormErrorKey,
|
|
159
|
+
export { FormErrorKey, ErrorSummary as default };
|
|
166
160
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -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 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 role=\"group\" aria-labelledby={headingId} ref={groupRef} tabIndex={-1} {...props}>\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","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","role","ref","tabIndex","className","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":["../../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\nconst ErrorSummary = React.forwardRef<HTMLDivElement, ErrorSummaryProps>(\n ({ errors, mapNameToId = (name) => name, ...props }, ref) => {\n const headingId = React.useId();\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 role=\"group\" aria-labelledby={headingId} ref={ref} tabIndex={-1} {...props}>\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);\n\nexport default ErrorSummary;\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","ErrorSummary","React","forwardRef","_ref","ref","errors","_ref$mapNameToId","mapNameToId","name","props","_objectWithoutProperties","_excluded","headingId","useId","Object","keys","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","preventDefault","scrollIntoView","focus","preventScroll","createElement","_extends","role","tabIndex","className","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,SAASA,kBAAkBA,CAACC,GAAW,EAAE;AAC9C,EAAA,OAAOA,GAAG,CAACC,QAAQ,CAAC,GAAG,CAAC,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,GAAGC,SAAS,CAAA;AAC7D,CAAA;AAEO,SAASC,0BAA0BA,CAACC,KAAkB,EAAE;AAAA,EAAA,IAAAC,qBAAA,CAAA;AAC7D,EAAA,IAAMC,QAAQ,GAAGF,KAAK,CAACG,OAAO,CAAC,UAAU,CAAC,CAAA;AAE1C,EAAA,IAAID,QAAQ,EAAE;AACZ,IAAA,IAAME,OAAO,GAAGF,QAAQ,CAACG,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,IAAIJ,KAAK,YAAYQ,gBAAgB,KAAKR,KAAK,CAACS,IAAI,KAAK,UAAU,IAAIT,KAAK,CAACS,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,GAAGb,KAAK,CAACW,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,OAAAN,CAAAA,qBAAA,GAAOiB,QAAQ,CAACC,aAAa,CAAAC,aAAAA,CAAAA,MAAA,CAAepB,KAAK,CAACqB,YAAY,CAAC,IAAI,CAAC,EAAI,IAAA,CAAA,CAAC,MAAApB,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAID,KAAK,CAACG,OAAO,CAAC,OAAO,CAAC,CAAA;AACrG;;;AC7BO,IAAMmB,YAAY,GAAG,QAAO;AAEnC,IAAMC,gBAAgB,GAAG,uBAAuB,CAAA;AAO1CC,IAAAA,YAAY,gBAAGC,KAAK,CAACC,UAAU,CACnC,UAAAC,IAAA,EAAqDC,GAAG,EAAK;AAAA,EAAA,IAA1DC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAAC,gBAAA,GAAAH,IAAA,CAAEI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,UAACE,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAAA;AAAA,KAAA,GAAAF,gBAAA;AAAKG,IAAAA,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AAC/C,EAAA,IAAMC,SAAS,GAAGX,KAAK,CAACY,KAAK,EAAE,CAAA;AAE/B,EAAA,IAAI,CAACR,MAAM,IAAIS,MAAM,CAACC,IAAI,CAACV,MAAM,CAAC,CAACvB,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI,CAAA;AAE5D,EAAA,IAAMkC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAC,EAAK;IAC7B,IAAMC,OAAO,GAAGjD,kBAAkB,CAACgD,CAAC,CAACE,aAAa,CAACC,IAAI,CAAC,CAAA;IAExD,IAAI,CAACF,OAAO,EAAE;AACZ,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAM1C,KAAK,GAAGkB,QAAQ,CAAC2B,cAAc,CAACH,OAAO,CAAC,CAAA;IAE9C,IAAI,CAAC1C,KAAK,EAAE;AACV,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAM8C,aAAa,GAAG/C,0BAA0B,CAACC,KAAK,CAAC,CAAA;IAEvD,IAAI,CAAC8C,aAAa,EAAE;AAClB,MAAA,OAAA;AACF,KAAA;IAEAL,CAAC,CAACM,cAAc,EAAE,CAAA;IAElBD,aAAa,CAACE,cAAc,EAAE,CAAA;IAC9BhD,KAAK,CAACiD,KAAK,CAAC;AAAEC,MAAAA,aAAa,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;GACrC,CAAA;AAED,EAAA,oBACEzB,KAAA,CAAA0B,aAAA,CAAA,mBAAA,EAAAC,QAAA,CAAA;AAAmBC,IAAAA,IAAI,EAAC,OAAO;AAAC,IAAA,iBAAA,EAAiBjB,SAAU;AAACR,IAAAA,GAAG,EAAEA,GAAI;AAAC0B,IAAAA,QAAQ,EAAE,CAAC,CAAA;AAAE,GAAA,EAAKrB,KAAK,CAAA,eAC3FR,KAAA,CAAA0B,aAAA,CAAA,IAAA,EAAA;AAAII,IAAAA,SAAS,EAAC,QAAQ;AAACC,IAAAA,EAAE,EAAEpB,SAAAA;GACzBX,eAAAA,KAAA,CAAA0B,aAAA,CAAA,KAAA,EAAA;AACEM,IAAAA,KAAK,EAAC,4BAA4B;AAClCC,IAAAA,OAAO,EAAC,aAAa;AACrB,IAAA,aAAA,EAAY,MAAM;AAClB5C,IAAAA,MAAM,EAAC,KAAK;AACZ6C,IAAAA,KAAK,EAAC,KAAK;AACXC,IAAAA,IAAI,EAAC,cAAA;GAELnC,eAAAA,KAAA,CAAA0B,aAAA,CAAA,MAAA,EAAA;AAAMU,IAAAA,CAAC,EAAC,4UAAA;GAA8U,CACnV,CAAC,EAEJ,OAAA,CAAC,eACLpC,KAAA,CAAA0B,aAAA,CACGb,IAAAA,EAAAA,IAAAA,EAAAA,MAAM,CAACC,IAAI,CAACV,MAAM,CAAC,CAACiC,GAAG,CAAC,UAACC,QAAQ,EAAK;AACrC,IAAA,IAAMC,OAAO,GAAGnC,MAAM,CAACkC,QAAQ,CAAC,CAAA;IAChC,IAAME,WAAW,GAAG,CAAC1C,gBAAgB,EAAED,YAAY,CAAC,CAAC3B,QAAQ,CAACoE,QAAQ,CAAC,CAAA;AAEvE,IAAA,IAAIE,WAAW,EAAE;MACf,oBAAOxC,KAAA,CAAA0B,aAAA,CAAA,IAAA,EAAA;AAAIe,QAAAA,GAAG,EAAEH,QAAS;AAACI,QAAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAEJ,OAAAA;AAAQ,SAAA;AAAE,OAAE,CAAC,CAAA;AAC5E,KAAA;AAEA,IAAA,IAAMK,YAAY,GAAGC,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC,CAAA;IAE3C,IAAMQ,QAAQ,GAAGH,YAAY,GAAGL,OAAO,GAAG,CAACA,OAAO,CAAC,CAAA;AAEnD,IAAA,oBACEvC,KAAA,CAAA0B,aAAA,CAAC1B,KAAK,CAACgD,QAAQ,EAAA;AAACP,MAAAA,GAAG,EAAEH,QAAAA;KAClBS,EAAAA,QAAQ,CAACV,GAAG,CAAC,UAACY,YAAY,EAAEC,KAAK,EAAK;AACrC,MAAA,IAAMjC,OAAO,GAAAtB,EAAAA,CAAAA,MAAA,CAAMW,WAAW,CAACgC,QAAQ,CAAC,CAAA,CAAA3C,MAAA,CAAGiD,YAAY,GAAAjD,GAAAA,CAAAA,MAAA,CAAOuD,KAAK,EAAA,GAAA,CAAA,GAAM,EAAE,CAAE,CAAA;MAE7E,oBACElD,KAAA,CAAA0B,aAAA,CAAA,IAAA,EAAA;AAAIe,QAAAA,GAAG,EAAExB,OAAAA;OACPjB,eAAAA,KAAA,CAAA0B,aAAA,CAAA,GAAA,EAAA;AAAGP,QAAAA,IAAI,EAAAxB,GAAAA,CAAAA,MAAA,CAAMsB,OAAO,CAAG;AAACkC,QAAAA,OAAO,EAAEpC,eAAAA;OAC9BkC,EAAAA,YAAY,EACZF,QAAQ,CAAClE,MAAM,GAAG,CAAC,GAAAc,IAAAA,CAAAA,MAAA,CAAQuD,KAAK,GAAG,CAAC,EAAA,MAAA,CAAA,CAAAvD,MAAA,CAAOoD,QAAQ,CAAClE,MAAM,EAAA,GAAA,CAAA,GAAMR,SAChE,CACD,CAAC,CAAA;AAET,KAAC,CACa,CAAC,CAAA;GAEpB,CACC,CACa,CAAC,CAAA;AAExB,CACF;;;;"}
|
package/index.cjs
CHANGED
|
@@ -194,7 +194,7 @@ function getAssociatedLegendOrLabel(input) {
|
|
|
194
194
|
var _excluded$3 = ["errors", "mapNameToId"];
|
|
195
195
|
var FormErrorKey = '_form';
|
|
196
196
|
var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
|
|
197
|
-
function
|
|
197
|
+
var ErrorSummary = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
198
198
|
var errors = _ref.errors,
|
|
199
199
|
_ref$mapNameToId = _ref.mapNameToId,
|
|
200
200
|
mapNameToId = _ref$mapNameToId === void 0 ? function (name) {
|
|
@@ -202,12 +202,6 @@ function BdsErrorSummary(_ref) {
|
|
|
202
202
|
} : _ref$mapNameToId,
|
|
203
203
|
props = _objectWithoutProperties(_ref, _excluded$3);
|
|
204
204
|
var headingId = React__namespace.useId();
|
|
205
|
-
var groupRef = React__namespace.useRef(null);
|
|
206
|
-
React__namespace.useEffect(function () {
|
|
207
|
-
if (!errors || Object.keys(errors).length === 0) return;
|
|
208
|
-
if (!groupRef.current) return;
|
|
209
|
-
groupRef.current.focus();
|
|
210
|
-
}, [errors]);
|
|
211
205
|
if (!errors || Object.keys(errors).length === 0) return null;
|
|
212
206
|
var handleLinkClick = function handleLinkClick(e) {
|
|
213
207
|
var inputId = getFragmentFromUrl(e.currentTarget.href);
|
|
@@ -231,7 +225,7 @@ function BdsErrorSummary(_ref) {
|
|
|
231
225
|
return /*#__PURE__*/React__namespace.createElement("bds-error-summary", _extends({
|
|
232
226
|
role: "group",
|
|
233
227
|
"aria-labelledby": headingId,
|
|
234
|
-
ref:
|
|
228
|
+
ref: ref,
|
|
235
229
|
tabIndex: -1
|
|
236
230
|
}, props), /*#__PURE__*/React__namespace.createElement("h2", {
|
|
237
231
|
className: "bds-h5",
|
|
@@ -270,7 +264,7 @@ function BdsErrorSummary(_ref) {
|
|
|
270
264
|
}, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
|
|
271
265
|
}));
|
|
272
266
|
})));
|
|
273
|
-
}
|
|
267
|
+
});
|
|
274
268
|
|
|
275
269
|
var _excluded$2 = ["as", "error", "hint", "id", "isOptional", "label"];
|
|
276
270
|
function FieldTextInput(_ref) {
|
|
@@ -435,7 +429,7 @@ var Typography = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
|
435
429
|
|
|
436
430
|
exports.Button = Button;
|
|
437
431
|
exports.CallToAction = CallToAction;
|
|
438
|
-
exports.ErrorSummary =
|
|
432
|
+
exports.ErrorSummary = ErrorSummary;
|
|
439
433
|
exports.FieldTextInput = FieldTextInput;
|
|
440
434
|
exports.Pagination = Pagination;
|
|
441
435
|
exports.Typography = Typography;
|
package/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/Button/Button.tsx","../src/CallToAction/CallToAction.tsx","../src/ErrorSummary/utils.ts","../src/ErrorSummary/ErrorSummary.tsx","../src/FieldTextInput/FieldTextInput.tsx","../src/Pagination/Pagination.tsx","../src/Typography/Typography.tsx"],"sourcesContent":["import * as React from 'react';\n\nconst DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\n\nexport interface ButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n preventDoubleClick?: boolean;\n variant?: 'cancel' | 'featured' | 'quote' | 'reverse' | 'search' | 'standard' | 'unstyled';\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, className, onClick, preventDoubleClick = false, variant = 'standard', ...props }, ref) => {\n const debounceClicks = React.useRef(false);\n\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n // 👇 button is not configured to ignore double clicks\n if (!preventDoubleClick) {\n if (onClick) {\n onClick(event);\n }\n\n return;\n }\n\n // 👇 button has been clicked recently, and subsequent clicks are prevented\n if (debounceClicks.current) {\n event.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n\n // 👇 block from double clicks\n debounceClicks.current = true;\n\n // 👇 and remove the block after a given amount of seconds\n setTimeout(() => {\n debounceClicks.current = false;\n }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);\n };\n\n return (\n <button\n className={[variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className]\n .filter((x) => x)\n .join(' ')}\n data-type={variant !== 'standard' && variant !== 'unstyled' ? variant : null}\n onClick={handleClick}\n ref={ref}\n {...props}\n >\n {children}\n </button>\n );\n },\n);\n\nexport default Button;\n","import * as React from 'react';\n\nexport interface CallToActionProps extends React.ComponentPropsWithoutRef<'a'> {\n variant?: 'featured' | 'quote' | 'standard';\n}\n\nconst CallToAction = React.forwardRef<HTMLAnchorElement, CallToActionProps>(\n ({ children, className, variant = 'standard', ...props }, ref) => {\n return (\n <a\n className={['bds-cta', className].filter((x) => x).join(' ')}\n data-type={variant !== 'standard' ? variant : null}\n ref={ref}\n {...props}\n >\n {children}\n </a>\n );\n },\n);\n\nexport default CallToAction;\n","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 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 role=\"group\" aria-labelledby={headingId} ref={groupRef} tabIndex={-1} {...props}>\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","import * as React from 'react';\n\nexport type FieldTextInputProps<C> = {\n as?: C;\n error?: string;\n hint?: string;\n id?: string;\n isOptional?: boolean;\n label: string;\n};\n\nexport default function FieldTextInput<C extends React.ElementType>({\n as,\n error,\n hint,\n id,\n isOptional = false,\n label,\n ...props\n}: FieldTextInputProps<C> & React.ComponentPropsWithoutRef<C>) {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n const InputComponent = as ?? 'input';\n\n return (\n <div className=\"bds-text-input stack\">\n <label htmlFor={id}>\n {label}\n {isOptional && ' (optional)'}\n </label>\n {hint && (\n <span className=\"bds-hint\" id={hintId}>\n {hint}\n </span>\n )}\n {error && (\n <span className=\"bds-error\" id={errorId}>\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 {error}\n </span>\n )}\n <InputComponent\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n {...props}\n />\n </div>\n );\n}\n","import * as React from 'react';\n\nexport type PaginationProps = {\n buildPageUrl: (page: number) => string;\n currentPage: number;\n onPageClick?: (page: number) => void;\n totalPages: number;\n};\n\nfunction usePages(currentPage: number, totalPages: number) {\n const pages = [1, currentPage - 1, currentPage, currentPage + 1, totalPages].filter(\n (x) => x >= 1 && x <= totalPages,\n );\n return [...new Set(pages)];\n}\n\nexport default function Pagination({\n buildPageUrl,\n className,\n currentPage,\n onPageClick,\n totalPages,\n ...props\n}: PaginationProps & React.ComponentPropsWithoutRef<'nav'>) {\n const pages = usePages(currentPage, totalPages);\n\n return (\n <nav aria-label=\"pagination\" className={['bds-pagination', className].filter((x) => x).join(' ')} {...props}>\n {currentPage !== 1 && (\n <>\n <a href={buildPageUrl(1)} className=\"bds-first-page\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n height=\"1em\"\n width=\"100%\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n First\n </a>\n <a aria-label=\"previous\" href={buildPageUrl(currentPage - 1)} rel=\"prev\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0.02 95.9 192.08 320.17\"\n >\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\" />\n </svg>\n Prev.\n </a>\n </>\n )}\n <ul>\n {pages.map((page, index) => {\n const handlePageClick = () => {\n if (!onPageClick) return;\n\n onPageClick(page);\n };\n\n return (\n <React.Fragment key={page}>\n <li>\n <a\n aria-current={page === currentPage ? 'page' : undefined}\n href={buildPageUrl(page)}\n onClick={handlePageClick}\n >\n <span className=\"visually-hidden\">Page</span> {page}\n </a>\n </li>\n {pages[index + 1] > page + 1 ? <li data-overflow=\"\">...</li> : null}\n </React.Fragment>\n );\n })}\n </ul>\n {currentPage !== totalPages && (\n <>\n <a href={buildPageUrl(currentPage + 1)} rel=\"next\">\n Next\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"63.9 95.9 192.1 320.17\"\n width=\"100%\"\n height=\"1em\"\n >\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\" />\n </svg>\n </a>\n <a href={buildPageUrl(totalPages)} className=\"bds-last-page\">\n Last\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n </a>\n </>\n )}\n </nav>\n );\n}\n","import * as React from 'react';\n\nconst componentMap = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n body: 'p',\n};\n\nconst classMap = {\n h1: 'bds-h1',\n h2: 'bds-h2',\n h3: 'bds-h3',\n h4: 'bds-h4',\n h5: 'bds-h5',\n body: 'bds-body',\n};\n\nexport type TypographyProps = {\n component?: React.ElementType;\n variant?: 'body' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n};\n\nconst Typography = React.forwardRef<HTMLOrSVGElement, React.HTMLAttributes<HTMLOrSVGElement> & TypographyProps>(\n ({ className, component, variant = 'body', ...props }, ref) => {\n const Component = component ?? (componentMap[variant] as React.ElementType);\n\n return (\n <Component className={[classMap[variant], className].filter((x) => x).join(' ')} ref={ref} {...props} />\n );\n },\n);\n\nexport default Typography;\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","CallToAction","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","errors","_ref$mapNameToId","mapNameToId","name","headingId","useId","groupRef","useEffect","Object","keys","focus","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","scrollIntoView","preventScroll","role","tabIndex","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","FieldTextInput","_id","as","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","InputComponent","htmlFor","usePages","currentPage","totalPages","pages","_toConsumableArray","Set","Pagination","buildPageUrl","onPageClick","focusable","rel","page","handlePageClick","componentMap","h1","h2","h3","h4","h5","body","classMap","Typography","component","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/Button/Button.tsx","../src/CallToAction/CallToAction.tsx","../src/ErrorSummary/utils.ts","../src/ErrorSummary/ErrorSummary.tsx","../src/FieldTextInput/FieldTextInput.tsx","../src/Pagination/Pagination.tsx","../src/Typography/Typography.tsx"],"sourcesContent":["import * as React from 'react';\n\nconst DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\n\nexport interface ButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n preventDoubleClick?: boolean;\n variant?: 'cancel' | 'featured' | 'quote' | 'reverse' | 'search' | 'standard' | 'unstyled';\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, className, onClick, preventDoubleClick = false, variant = 'standard', ...props }, ref) => {\n const debounceClicks = React.useRef(false);\n\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n // 👇 button is not configured to ignore double clicks\n if (!preventDoubleClick) {\n if (onClick) {\n onClick(event);\n }\n\n return;\n }\n\n // 👇 button has been clicked recently, and subsequent clicks are prevented\n if (debounceClicks.current) {\n event.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n\n // 👇 block from double clicks\n debounceClicks.current = true;\n\n // 👇 and remove the block after a given amount of seconds\n setTimeout(() => {\n debounceClicks.current = false;\n }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);\n };\n\n return (\n <button\n className={[variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className]\n .filter((x) => x)\n .join(' ')}\n data-type={variant !== 'standard' && variant !== 'unstyled' ? variant : null}\n onClick={handleClick}\n ref={ref}\n {...props}\n >\n {children}\n </button>\n );\n },\n);\n\nexport default Button;\n","import * as React from 'react';\n\nexport interface CallToActionProps extends React.ComponentPropsWithoutRef<'a'> {\n variant?: 'featured' | 'quote' | 'standard';\n}\n\nconst CallToAction = React.forwardRef<HTMLAnchorElement, CallToActionProps>(\n ({ children, className, variant = 'standard', ...props }, ref) => {\n return (\n <a\n className={['bds-cta', className].filter((x) => x).join(' ')}\n data-type={variant !== 'standard' ? variant : null}\n ref={ref}\n {...props}\n >\n {children}\n </a>\n );\n },\n);\n\nexport default CallToAction;\n","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\nconst ErrorSummary = React.forwardRef<HTMLDivElement, ErrorSummaryProps>(\n ({ errors, mapNameToId = (name) => name, ...props }, ref) => {\n const headingId = React.useId();\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 role=\"group\" aria-labelledby={headingId} ref={ref} tabIndex={-1} {...props}>\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);\n\nexport default ErrorSummary;\n","import * as React from 'react';\n\nexport type FieldTextInputProps<C> = {\n as?: C;\n error?: string;\n hint?: string;\n id?: string;\n isOptional?: boolean;\n label: string;\n};\n\nexport default function FieldTextInput<C extends React.ElementType>({\n as,\n error,\n hint,\n id,\n isOptional = false,\n label,\n ...props\n}: FieldTextInputProps<C> & React.ComponentPropsWithoutRef<C>) {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n const InputComponent = as ?? 'input';\n\n return (\n <div className=\"bds-text-input stack\">\n <label htmlFor={id}>\n {label}\n {isOptional && ' (optional)'}\n </label>\n {hint && (\n <span className=\"bds-hint\" id={hintId}>\n {hint}\n </span>\n )}\n {error && (\n <span className=\"bds-error\" id={errorId}>\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 {error}\n </span>\n )}\n <InputComponent\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n {...props}\n />\n </div>\n );\n}\n","import * as React from 'react';\n\nexport type PaginationProps = {\n buildPageUrl: (page: number) => string;\n currentPage: number;\n onPageClick?: (page: number) => void;\n totalPages: number;\n};\n\nfunction usePages(currentPage: number, totalPages: number) {\n const pages = [1, currentPage - 1, currentPage, currentPage + 1, totalPages].filter(\n (x) => x >= 1 && x <= totalPages,\n );\n return [...new Set(pages)];\n}\n\nexport default function Pagination({\n buildPageUrl,\n className,\n currentPage,\n onPageClick,\n totalPages,\n ...props\n}: PaginationProps & React.ComponentPropsWithoutRef<'nav'>) {\n const pages = usePages(currentPage, totalPages);\n\n return (\n <nav aria-label=\"pagination\" className={['bds-pagination', className].filter((x) => x).join(' ')} {...props}>\n {currentPage !== 1 && (\n <>\n <a href={buildPageUrl(1)} className=\"bds-first-page\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n height=\"1em\"\n width=\"100%\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n First\n </a>\n <a aria-label=\"previous\" href={buildPageUrl(currentPage - 1)} rel=\"prev\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0.02 95.9 192.08 320.17\"\n >\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\" />\n </svg>\n Prev.\n </a>\n </>\n )}\n <ul>\n {pages.map((page, index) => {\n const handlePageClick = () => {\n if (!onPageClick) return;\n\n onPageClick(page);\n };\n\n return (\n <React.Fragment key={page}>\n <li>\n <a\n aria-current={page === currentPage ? 'page' : undefined}\n href={buildPageUrl(page)}\n onClick={handlePageClick}\n >\n <span className=\"visually-hidden\">Page</span> {page}\n </a>\n </li>\n {pages[index + 1] > page + 1 ? <li data-overflow=\"\">...</li> : null}\n </React.Fragment>\n );\n })}\n </ul>\n {currentPage !== totalPages && (\n <>\n <a href={buildPageUrl(currentPage + 1)} rel=\"next\">\n Next\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"63.9 95.9 192.1 320.17\"\n width=\"100%\"\n height=\"1em\"\n >\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\" />\n </svg>\n </a>\n <a href={buildPageUrl(totalPages)} className=\"bds-last-page\">\n Last\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n </a>\n </>\n )}\n </nav>\n );\n}\n","import * as React from 'react';\n\nconst componentMap = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n body: 'p',\n};\n\nconst classMap = {\n h1: 'bds-h1',\n h2: 'bds-h2',\n h3: 'bds-h3',\n h4: 'bds-h4',\n h5: 'bds-h5',\n body: 'bds-body',\n};\n\nexport type TypographyProps = {\n component?: React.ElementType;\n variant?: 'body' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n};\n\nconst Typography = React.forwardRef<HTMLOrSVGElement, React.HTMLAttributes<HTMLOrSVGElement> & TypographyProps>(\n ({ className, component, variant = 'body', ...props }, ref) => {\n const Component = component ?? (componentMap[variant] as React.ElementType);\n\n return (\n <Component className={[classMap[variant], className].filter((x) => x).join(' ')} ref={ref} {...props} />\n );\n },\n);\n\nexport default Typography;\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","CallToAction","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","ErrorSummary","errors","_ref$mapNameToId","mapNameToId","name","headingId","useId","Object","keys","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","scrollIntoView","focus","preventScroll","role","tabIndex","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","FieldTextInput","_id","as","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","InputComponent","htmlFor","usePages","currentPage","totalPages","pages","_toConsumableArray","Set","Pagination","buildPageUrl","onPageClick","focusable","rel","page","handlePageClick","componentMap","h1","h2","h3","h4","h5","body","classMap","Typography","component","Component"],"mappings":"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"}
|
package/index.mjs
CHANGED
|
@@ -173,7 +173,7 @@ function getAssociatedLegendOrLabel(input) {
|
|
|
173
173
|
var _excluded$3 = ["errors", "mapNameToId"];
|
|
174
174
|
var FormErrorKey = '_form';
|
|
175
175
|
var FINAL_FORM_ERROR = 'FINAL_FORM/form-error';
|
|
176
|
-
function
|
|
176
|
+
var ErrorSummary = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
177
177
|
var errors = _ref.errors,
|
|
178
178
|
_ref$mapNameToId = _ref.mapNameToId,
|
|
179
179
|
mapNameToId = _ref$mapNameToId === void 0 ? function (name) {
|
|
@@ -181,12 +181,6 @@ function BdsErrorSummary(_ref) {
|
|
|
181
181
|
} : _ref$mapNameToId,
|
|
182
182
|
props = _objectWithoutProperties(_ref, _excluded$3);
|
|
183
183
|
var headingId = React.useId();
|
|
184
|
-
var groupRef = React.useRef(null);
|
|
185
|
-
React.useEffect(function () {
|
|
186
|
-
if (!errors || Object.keys(errors).length === 0) return;
|
|
187
|
-
if (!groupRef.current) return;
|
|
188
|
-
groupRef.current.focus();
|
|
189
|
-
}, [errors]);
|
|
190
184
|
if (!errors || Object.keys(errors).length === 0) return null;
|
|
191
185
|
var handleLinkClick = function handleLinkClick(e) {
|
|
192
186
|
var inputId = getFragmentFromUrl(e.currentTarget.href);
|
|
@@ -210,7 +204,7 @@ function BdsErrorSummary(_ref) {
|
|
|
210
204
|
return /*#__PURE__*/React.createElement("bds-error-summary", _extends({
|
|
211
205
|
role: "group",
|
|
212
206
|
"aria-labelledby": headingId,
|
|
213
|
-
ref:
|
|
207
|
+
ref: ref,
|
|
214
208
|
tabIndex: -1
|
|
215
209
|
}, props), /*#__PURE__*/React.createElement("h2", {
|
|
216
210
|
className: "bds-h5",
|
|
@@ -249,7 +243,7 @@ function BdsErrorSummary(_ref) {
|
|
|
249
243
|
}, fieldMessage, messages.length > 1 ? " (".concat(index + 1, " of ").concat(messages.length, ")") : undefined));
|
|
250
244
|
}));
|
|
251
245
|
})));
|
|
252
|
-
}
|
|
246
|
+
});
|
|
253
247
|
|
|
254
248
|
var _excluded$2 = ["as", "error", "hint", "id", "isOptional", "label"];
|
|
255
249
|
function FieldTextInput(_ref) {
|
|
@@ -412,5 +406,5 @@ var Typography = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
412
406
|
}, props));
|
|
413
407
|
});
|
|
414
408
|
|
|
415
|
-
export { Button, CallToAction,
|
|
409
|
+
export { Button, CallToAction, ErrorSummary, FieldTextInput, Pagination, Typography };
|
|
416
410
|
//# sourceMappingURL=index.mjs.map
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/Button/Button.tsx","../src/CallToAction/CallToAction.tsx","../src/ErrorSummary/utils.ts","../src/ErrorSummary/ErrorSummary.tsx","../src/FieldTextInput/FieldTextInput.tsx","../src/Pagination/Pagination.tsx","../src/Typography/Typography.tsx"],"sourcesContent":["import * as React from 'react';\n\nconst DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\n\nexport interface ButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n preventDoubleClick?: boolean;\n variant?: 'cancel' | 'featured' | 'quote' | 'reverse' | 'search' | 'standard' | 'unstyled';\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, className, onClick, preventDoubleClick = false, variant = 'standard', ...props }, ref) => {\n const debounceClicks = React.useRef(false);\n\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n // 👇 button is not configured to ignore double clicks\n if (!preventDoubleClick) {\n if (onClick) {\n onClick(event);\n }\n\n return;\n }\n\n // 👇 button has been clicked recently, and subsequent clicks are prevented\n if (debounceClicks.current) {\n event.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n\n // 👇 block from double clicks\n debounceClicks.current = true;\n\n // 👇 and remove the block after a given amount of seconds\n setTimeout(() => {\n debounceClicks.current = false;\n }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);\n };\n\n return (\n <button\n className={[variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className]\n .filter((x) => x)\n .join(' ')}\n data-type={variant !== 'standard' && variant !== 'unstyled' ? variant : null}\n onClick={handleClick}\n ref={ref}\n {...props}\n >\n {children}\n </button>\n );\n },\n);\n\nexport default Button;\n","import * as React from 'react';\n\nexport interface CallToActionProps extends React.ComponentPropsWithoutRef<'a'> {\n variant?: 'featured' | 'quote' | 'standard';\n}\n\nconst CallToAction = React.forwardRef<HTMLAnchorElement, CallToActionProps>(\n ({ children, className, variant = 'standard', ...props }, ref) => {\n return (\n <a\n className={['bds-cta', className].filter((x) => x).join(' ')}\n data-type={variant !== 'standard' ? variant : null}\n ref={ref}\n {...props}\n >\n {children}\n </a>\n );\n },\n);\n\nexport default CallToAction;\n","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 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 role=\"group\" aria-labelledby={headingId} ref={groupRef} tabIndex={-1} {...props}>\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","import * as React from 'react';\n\nexport type FieldTextInputProps<C> = {\n as?: C;\n error?: string;\n hint?: string;\n id?: string;\n isOptional?: boolean;\n label: string;\n};\n\nexport default function FieldTextInput<C extends React.ElementType>({\n as,\n error,\n hint,\n id,\n isOptional = false,\n label,\n ...props\n}: FieldTextInputProps<C> & React.ComponentPropsWithoutRef<C>) {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n const InputComponent = as ?? 'input';\n\n return (\n <div className=\"bds-text-input stack\">\n <label htmlFor={id}>\n {label}\n {isOptional && ' (optional)'}\n </label>\n {hint && (\n <span className=\"bds-hint\" id={hintId}>\n {hint}\n </span>\n )}\n {error && (\n <span className=\"bds-error\" id={errorId}>\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 {error}\n </span>\n )}\n <InputComponent\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n {...props}\n />\n </div>\n );\n}\n","import * as React from 'react';\n\nexport type PaginationProps = {\n buildPageUrl: (page: number) => string;\n currentPage: number;\n onPageClick?: (page: number) => void;\n totalPages: number;\n};\n\nfunction usePages(currentPage: number, totalPages: number) {\n const pages = [1, currentPage - 1, currentPage, currentPage + 1, totalPages].filter(\n (x) => x >= 1 && x <= totalPages,\n );\n return [...new Set(pages)];\n}\n\nexport default function Pagination({\n buildPageUrl,\n className,\n currentPage,\n onPageClick,\n totalPages,\n ...props\n}: PaginationProps & React.ComponentPropsWithoutRef<'nav'>) {\n const pages = usePages(currentPage, totalPages);\n\n return (\n <nav aria-label=\"pagination\" className={['bds-pagination', className].filter((x) => x).join(' ')} {...props}>\n {currentPage !== 1 && (\n <>\n <a href={buildPageUrl(1)} className=\"bds-first-page\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n height=\"1em\"\n width=\"100%\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n First\n </a>\n <a aria-label=\"previous\" href={buildPageUrl(currentPage - 1)} rel=\"prev\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0.02 95.9 192.08 320.17\"\n >\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\" />\n </svg>\n Prev.\n </a>\n </>\n )}\n <ul>\n {pages.map((page, index) => {\n const handlePageClick = () => {\n if (!onPageClick) return;\n\n onPageClick(page);\n };\n\n return (\n <React.Fragment key={page}>\n <li>\n <a\n aria-current={page === currentPage ? 'page' : undefined}\n href={buildPageUrl(page)}\n onClick={handlePageClick}\n >\n <span className=\"visually-hidden\">Page</span> {page}\n </a>\n </li>\n {pages[index + 1] > page + 1 ? <li data-overflow=\"\">...</li> : null}\n </React.Fragment>\n );\n })}\n </ul>\n {currentPage !== totalPages && (\n <>\n <a href={buildPageUrl(currentPage + 1)} rel=\"next\">\n Next\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"63.9 95.9 192.1 320.17\"\n width=\"100%\"\n height=\"1em\"\n >\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\" />\n </svg>\n </a>\n <a href={buildPageUrl(totalPages)} className=\"bds-last-page\">\n Last\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n </a>\n </>\n )}\n </nav>\n );\n}\n","import * as React from 'react';\n\nconst componentMap = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n body: 'p',\n};\n\nconst classMap = {\n h1: 'bds-h1',\n h2: 'bds-h2',\n h3: 'bds-h3',\n h4: 'bds-h4',\n h5: 'bds-h5',\n body: 'bds-body',\n};\n\nexport type TypographyProps = {\n component?: React.ElementType;\n variant?: 'body' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n};\n\nconst Typography = React.forwardRef<HTMLOrSVGElement, React.HTMLAttributes<HTMLOrSVGElement> & TypographyProps>(\n ({ className, component, variant = 'body', ...props }, ref) => {\n const Component = component ?? (componentMap[variant] as React.ElementType);\n\n return (\n <Component className={[classMap[variant], className].filter((x) => x).join(' ')} ref={ref} {...props} />\n );\n },\n);\n\nexport default Typography;\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","CallToAction","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","errors","_ref$mapNameToId","mapNameToId","name","headingId","useId","groupRef","useEffect","Object","keys","focus","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","scrollIntoView","preventScroll","role","tabIndex","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","FieldTextInput","_id","as","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","InputComponent","htmlFor","usePages","currentPage","totalPages","pages","_toConsumableArray","Set","Pagination","buildPageUrl","onPageClick","focusable","rel","page","handlePageClick","componentMap","h1","h2","h3","h4","h5","body","classMap","Typography","component","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/Button/Button.tsx","../src/CallToAction/CallToAction.tsx","../src/ErrorSummary/utils.ts","../src/ErrorSummary/ErrorSummary.tsx","../src/FieldTextInput/FieldTextInput.tsx","../src/Pagination/Pagination.tsx","../src/Typography/Typography.tsx"],"sourcesContent":["import * as React from 'react';\n\nconst DEBOUNCE_TIMEOUT_IN_SECONDS = 1;\n\nexport interface ButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n preventDoubleClick?: boolean;\n variant?: 'cancel' | 'featured' | 'quote' | 'reverse' | 'search' | 'standard' | 'unstyled';\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, className, onClick, preventDoubleClick = false, variant = 'standard', ...props }, ref) => {\n const debounceClicks = React.useRef(false);\n\n const handleClick: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n // 👇 button is not configured to ignore double clicks\n if (!preventDoubleClick) {\n if (onClick) {\n onClick(event);\n }\n\n return;\n }\n\n // 👇 button has been clicked recently, and subsequent clicks are prevented\n if (debounceClicks.current) {\n event.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n\n // 👇 block from double clicks\n debounceClicks.current = true;\n\n // 👇 and remove the block after a given amount of seconds\n setTimeout(() => {\n debounceClicks.current = false;\n }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);\n };\n\n return (\n <button\n className={[variant === 'unstyled' ? 'bds-button-unstyled' : 'bds-button', className]\n .filter((x) => x)\n .join(' ')}\n data-type={variant !== 'standard' && variant !== 'unstyled' ? variant : null}\n onClick={handleClick}\n ref={ref}\n {...props}\n >\n {children}\n </button>\n );\n },\n);\n\nexport default Button;\n","import * as React from 'react';\n\nexport interface CallToActionProps extends React.ComponentPropsWithoutRef<'a'> {\n variant?: 'featured' | 'quote' | 'standard';\n}\n\nconst CallToAction = React.forwardRef<HTMLAnchorElement, CallToActionProps>(\n ({ children, className, variant = 'standard', ...props }, ref) => {\n return (\n <a\n className={['bds-cta', className].filter((x) => x).join(' ')}\n data-type={variant !== 'standard' ? variant : null}\n ref={ref}\n {...props}\n >\n {children}\n </a>\n );\n },\n);\n\nexport default CallToAction;\n","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\nconst ErrorSummary = React.forwardRef<HTMLDivElement, ErrorSummaryProps>(\n ({ errors, mapNameToId = (name) => name, ...props }, ref) => {\n const headingId = React.useId();\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 role=\"group\" aria-labelledby={headingId} ref={ref} tabIndex={-1} {...props}>\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);\n\nexport default ErrorSummary;\n","import * as React from 'react';\n\nexport type FieldTextInputProps<C> = {\n as?: C;\n error?: string;\n hint?: string;\n id?: string;\n isOptional?: boolean;\n label: string;\n};\n\nexport default function FieldTextInput<C extends React.ElementType>({\n as,\n error,\n hint,\n id,\n isOptional = false,\n label,\n ...props\n}: FieldTextInputProps<C> & React.ComponentPropsWithoutRef<C>) {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n const InputComponent = as ?? 'input';\n\n return (\n <div className=\"bds-text-input stack\">\n <label htmlFor={id}>\n {label}\n {isOptional && ' (optional)'}\n </label>\n {hint && (\n <span className=\"bds-hint\" id={hintId}>\n {hint}\n </span>\n )}\n {error && (\n <span className=\"bds-error\" id={errorId}>\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 {error}\n </span>\n )}\n <InputComponent\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n {...props}\n />\n </div>\n );\n}\n","import * as React from 'react';\n\nexport type PaginationProps = {\n buildPageUrl: (page: number) => string;\n currentPage: number;\n onPageClick?: (page: number) => void;\n totalPages: number;\n};\n\nfunction usePages(currentPage: number, totalPages: number) {\n const pages = [1, currentPage - 1, currentPage, currentPage + 1, totalPages].filter(\n (x) => x >= 1 && x <= totalPages,\n );\n return [...new Set(pages)];\n}\n\nexport default function Pagination({\n buildPageUrl,\n className,\n currentPage,\n onPageClick,\n totalPages,\n ...props\n}: PaginationProps & React.ComponentPropsWithoutRef<'nav'>) {\n const pages = usePages(currentPage, totalPages);\n\n return (\n <nav aria-label=\"pagination\" className={['bds-pagination', className].filter((x) => x).join(' ')} {...props}>\n {currentPage !== 1 && (\n <>\n <a href={buildPageUrl(1)} className=\"bds-first-page\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n height=\"1em\"\n width=\"100%\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n First\n </a>\n <a aria-label=\"previous\" href={buildPageUrl(currentPage - 1)} rel=\"prev\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0.02 95.9 192.08 320.17\"\n >\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\" />\n </svg>\n Prev.\n </a>\n </>\n )}\n <ul>\n {pages.map((page, index) => {\n const handlePageClick = () => {\n if (!onPageClick) return;\n\n onPageClick(page);\n };\n\n return (\n <React.Fragment key={page}>\n <li>\n <a\n aria-current={page === currentPage ? 'page' : undefined}\n href={buildPageUrl(page)}\n onClick={handlePageClick}\n >\n <span className=\"visually-hidden\">Page</span> {page}\n </a>\n </li>\n {pages[index + 1] > page + 1 ? <li data-overflow=\"\">...</li> : null}\n </React.Fragment>\n );\n })}\n </ul>\n {currentPage !== totalPages && (\n <>\n <a href={buildPageUrl(currentPage + 1)} rel=\"next\">\n Next\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"63.9 95.9 192.1 320.17\"\n width=\"100%\"\n height=\"1em\"\n >\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\" />\n </svg>\n </a>\n <a href={buildPageUrl(totalPages)} className=\"bds-last-page\">\n Last\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"100%\"\n height=\"1em\"\n viewBox=\"0 63.95 512 384.1\"\n >\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\" />\n </svg>\n </a>\n </>\n )}\n </nav>\n );\n}\n","import * as React from 'react';\n\nconst componentMap = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n body: 'p',\n};\n\nconst classMap = {\n h1: 'bds-h1',\n h2: 'bds-h2',\n h3: 'bds-h3',\n h4: 'bds-h4',\n h5: 'bds-h5',\n body: 'bds-body',\n};\n\nexport type TypographyProps = {\n component?: React.ElementType;\n variant?: 'body' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n};\n\nconst Typography = React.forwardRef<HTMLOrSVGElement, React.HTMLAttributes<HTMLOrSVGElement> & TypographyProps>(\n ({ className, component, variant = 'body', ...props }, ref) => {\n const Component = component ?? (componentMap[variant] as React.ElementType);\n\n return (\n <Component className={[classMap[variant], className].filter((x) => x).join(' ')} ref={ref} {...props} />\n );\n },\n);\n\nexport default Typography;\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","CallToAction","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","ErrorSummary","errors","_ref$mapNameToId","mapNameToId","name","headingId","useId","Object","keys","handleLinkClick","e","inputId","currentTarget","href","getElementById","legendOrLabel","scrollIntoView","focus","preventScroll","role","tabIndex","id","xmlns","viewBox","width","fill","d","map","errorKey","message","isFormError","key","dangerouslySetInnerHTML","__html","isArrayField","Array","isArray","messages","Fragment","fieldMessage","index","FieldTextInput","_id","as","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","InputComponent","htmlFor","usePages","currentPage","totalPages","pages","_toConsumableArray","Set","Pagination","buildPageUrl","onPageClick","focusable","rel","page","handlePageClick","componentMap","h1","h2","h3","h4","h5","body","classMap","Typography","component","Component"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iabbb/bds-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "cross-env NODE_ENV=production rollup -c",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"typescript": "5.2.2"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@iabbb/bds": "0.
|
|
31
|
+
"@iabbb/bds": "0.45.0",
|
|
32
32
|
"react": "^18.0.0"
|
|
33
33
|
}
|
|
34
34
|
}
|