@iabbb/bds-react 0.62.0 โ 0.62.2
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/FieldCharacterCountdown/FieldCharacterCountdown.d.ts +2 -1
- package/FieldCharacterCountdown/index.cjs +2 -2
- package/FieldCharacterCountdown/index.cjs.map +1 -1
- package/FieldCharacterCountdown/index.mjs +2 -2
- package/FieldCharacterCountdown/index.mjs.map +1 -1
- package/FieldSelect/index.d.ts +1 -0
- package/FieldTextInput/index.d.ts +1 -0
- package/FieldTextarea/FieldTextarea.d.ts +2 -2
- package/FieldTextarea/index.cjs.map +1 -1
- package/FieldTextarea/index.d.ts +1 -0
- package/FieldTextarea/index.mjs.map +1 -1
- package/Pagination/Pagination.d.ts +2 -2
- package/Pagination/index.cjs.map +1 -1
- package/Pagination/index.d.ts +1 -0
- package/Pagination/index.mjs.map +1 -1
- package/Typography/index.d.ts +1 -0
- package/index.cjs.map +1 -1
- package/index.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -7,4 +7,5 @@ export type FieldCharacterCountdownProps = {
|
|
|
7
7
|
label: string;
|
|
8
8
|
maxCharacters: number;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
declare const FieldCharacterCountdown: React.ForwardRefExoticComponent<FieldCharacterCountdownProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
11
|
+
export default FieldCharacterCountdown;
|
|
@@ -202,7 +202,7 @@ function useDebounce(callback, delay) {
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
var _excluded = ["error", "hint", "id", "isOptional", "label", "maxCharacters", "onChange"];
|
|
205
|
-
|
|
205
|
+
var FieldCharacterCountdown = /*#__PURE__*/React__namespace.forwardRef(function (_ref) {
|
|
206
206
|
var error = _ref.error,
|
|
207
207
|
hint = _ref.hint,
|
|
208
208
|
id = _ref.id,
|
|
@@ -249,7 +249,7 @@ function FieldCharacterCountdown(_ref) {
|
|
|
249
249
|
"aria-live": "polite",
|
|
250
250
|
className: "visually-hidden"
|
|
251
251
|
}, characterCountdown.visuallyHiddenAnnouncement));
|
|
252
|
-
}
|
|
252
|
+
});
|
|
253
253
|
|
|
254
254
|
exports.default = FieldCharacterCountdown;
|
|
255
255
|
exports.useCharacterCountdown = useCharacterCountdown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCharacterCountdown/useCharacterCountdown.ts","../../src/FieldCharacterCountdown/FieldCharacterCountdown.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nconst visuallyHiddenAnnouncementUpdateTimeInSeconds = 1;\n\nexport default function useCharacterCountdown(maxCharacters: number, currentCharacters = 0) {\n const [remainingCharacters, setRemainingCharacters] = React.useState(maxCharacters - currentCharacters);\n\n // When JS fails to load, the default label ๐ will still let the user know about the limit.\n const [label, setLabel] = React.useState(`You can use up to ${maxCharacters} characters`);\n const [visuallyHiddenAnnouncement, setVisuallyHiddenAnnouncement] = React.useState(label);\n\n // This should lag behind the visual update -- otherwise, screen reader users will be interrupted with a lot of chatter while typing\n const updateVisuallyHiddenAnnouncement = useDebounce((charactersToAnnounce: number) => {\n if (charactersToAnnounce >= 0) {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce} characters remaining`);\n } else {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce * -1} characters too many`);\n }\n }, visuallyHiddenAnnouncementUpdateTimeInSeconds * 1000);\n\n React.useEffect(() => {\n if (remainingCharacters >= 0) {\n setLabel(`<strong>${remainingCharacters}</strong> characters remaining`);\n } else {\n setLabel(`You have <strong>${remainingCharacters * -1}</strong> characters too many`);\n }\n\n updateVisuallyHiddenAnnouncement(remainingCharacters);\n }, [remainingCharacters, updateVisuallyHiddenAnnouncement]);\n\n return {\n hasExceededLimit: remainingCharacters < 0,\n handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setRemainingCharacters(maxCharacters - e.target.value.length);\n },\n label,\n visuallyHiddenAnnouncement,\n };\n}\n\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * Lifted from downshift/utils (not exposed in lib).\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction debounce(fn: (...rest: any[]) => any, time: number) {\n let timeoutId: number | null = 0;\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n }\n\n function wrapper(...args) {\n cancel();\n timeoutId = setTimeout(() => {\n timeoutId = null;\n fn(...args);\n }, time);\n }\n\n wrapper.cancel = cancel;\n\n return wrapper;\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction useDebounce<T extends (...rest: any[]) => any>(callback: T, delay: number) {\n return React.useRef(debounce((...params) => callback(...params), delay)).current;\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\nimport useCharacterCountdown from './useCharacterCountdown';\n\nexport type FieldCharacterCountdownProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n maxCharacters: number;\n};\n\nexport default function FieldCharacterCountdown({\n error,\n hint,\n id,\n isOptional = false,\n label,\n maxCharacters,\n onChange,\n ...props\n}: FieldCharacterCountdownProps & React.ComponentPropsWithoutRef<'textarea'>) {\n const characterCountdown = useCharacterCountdown(\n maxCharacters,\n ((props.value as string) || (props.defaultValue as string) || '').length,\n );\n\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <textarea\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className=\"bds-textarea\"\n id={id}\n onChange={(e) => {\n if (onChange) {\n onChange(e);\n }\n\n characterCountdown.handleTextareaChange(e);\n }}\n {...props}\n />\n <div\n aria-hidden=\"true\"\n className=\"bds-character-count\"\n data-exceeds-limit={characterCountdown.hasExceededLimit ? true : undefined}\n // biome-ignore lint/security/noDangerouslySetInnerHtml: HTML is expected and used for highlighting the number itself\n dangerouslySetInnerHTML={{\n __html: characterCountdown.label,\n }}\n />\n <div aria-live=\"polite\" className=\"visually-hidden\">\n {characterCountdown.visuallyHiddenAnnouncement}\n </div>\n </div>\n );\n}\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","visuallyHiddenAnnouncementUpdateTimeInSeconds","useCharacterCountdown","maxCharacters","currentCharacters","arguments","length","undefined","_React$useState","useState","_React$useState2","_slicedToArray","remainingCharacters","setRemainingCharacters","_React$useState3","concat","_React$useState4","label","setLabel","_React$useState5","_React$useState6","visuallyHiddenAnnouncement","setVisuallyHiddenAnnouncement","updateVisuallyHiddenAnnouncement","useDebounce","charactersToAnnounce","useEffect","hasExceededLimit","handleTextareaChange","e","target","value","debounce","fn","time","timeoutId","cancel","clearTimeout","wrapper","_len","args","Array","_key","setTimeout","apply","callback","delay","useRef","current","FieldCharacterCountdown","error","hint","id","_ref$isOptional","isOptional","onChange","characterCountdown","defaultValue","name","errorId","useId","hintId","htmlFor","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCharacterCountdown/useCharacterCountdown.ts","../../src/FieldCharacterCountdown/FieldCharacterCountdown.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nconst visuallyHiddenAnnouncementUpdateTimeInSeconds = 1;\n\nexport default function useCharacterCountdown(maxCharacters: number, currentCharacters = 0) {\n const [remainingCharacters, setRemainingCharacters] = React.useState(maxCharacters - currentCharacters);\n\n // When JS fails to load, the default label ๐ will still let the user know about the limit.\n const [label, setLabel] = React.useState(`You can use up to ${maxCharacters} characters`);\n const [visuallyHiddenAnnouncement, setVisuallyHiddenAnnouncement] = React.useState(label);\n\n // This should lag behind the visual update -- otherwise, screen reader users will be interrupted with a lot of chatter while typing\n const updateVisuallyHiddenAnnouncement = useDebounce((charactersToAnnounce: number) => {\n if (charactersToAnnounce >= 0) {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce} characters remaining`);\n } else {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce * -1} characters too many`);\n }\n }, visuallyHiddenAnnouncementUpdateTimeInSeconds * 1000);\n\n React.useEffect(() => {\n if (remainingCharacters >= 0) {\n setLabel(`<strong>${remainingCharacters}</strong> characters remaining`);\n } else {\n setLabel(`You have <strong>${remainingCharacters * -1}</strong> characters too many`);\n }\n\n updateVisuallyHiddenAnnouncement(remainingCharacters);\n }, [remainingCharacters, updateVisuallyHiddenAnnouncement]);\n\n return {\n hasExceededLimit: remainingCharacters < 0,\n handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setRemainingCharacters(maxCharacters - e.target.value.length);\n },\n label,\n visuallyHiddenAnnouncement,\n };\n}\n\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * Lifted from downshift/utils (not exposed in lib).\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction debounce(fn: (...rest: any[]) => any, time: number) {\n let timeoutId: number | null = 0;\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n }\n\n function wrapper(...args) {\n cancel();\n timeoutId = setTimeout(() => {\n timeoutId = null;\n fn(...args);\n }, time);\n }\n\n wrapper.cancel = cancel;\n\n return wrapper;\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction useDebounce<T extends (...rest: any[]) => any>(callback: T, delay: number) {\n return React.useRef(debounce((...params) => callback(...params), delay)).current;\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\nimport useCharacterCountdown from './useCharacterCountdown';\n\nexport type FieldCharacterCountdownProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n maxCharacters: number;\n};\n\nconst FieldCharacterCountdown = React.forwardRef<HTMLTextAreaElement, FieldCharacterCountdownProps>(\n ({\n error,\n hint,\n id,\n isOptional = false,\n label,\n maxCharacters,\n onChange,\n ...props\n }: FieldCharacterCountdownProps & React.ComponentPropsWithoutRef<'textarea'>) => {\n const characterCountdown = useCharacterCountdown(\n maxCharacters,\n ((props.value as string) || (props.defaultValue as string) || '').length,\n );\n\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <textarea\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className=\"bds-textarea\"\n id={id}\n onChange={(e) => {\n if (onChange) {\n onChange(e);\n }\n\n characterCountdown.handleTextareaChange(e);\n }}\n {...props}\n />\n <div\n aria-hidden=\"true\"\n className=\"bds-character-count\"\n data-exceeds-limit={characterCountdown.hasExceededLimit ? true : undefined}\n // biome-ignore lint/security/noDangerouslySetInnerHtml: HTML is expected and used for highlighting the number itself\n dangerouslySetInnerHTML={{\n __html: characterCountdown.label,\n }}\n />\n <div aria-live=\"polite\" className=\"visually-hidden\">\n {characterCountdown.visuallyHiddenAnnouncement}\n </div>\n </div>\n );\n },\n);\n\nexport default FieldCharacterCountdown;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","visuallyHiddenAnnouncementUpdateTimeInSeconds","useCharacterCountdown","maxCharacters","currentCharacters","arguments","length","undefined","_React$useState","useState","_React$useState2","_slicedToArray","remainingCharacters","setRemainingCharacters","_React$useState3","concat","_React$useState4","label","setLabel","_React$useState5","_React$useState6","visuallyHiddenAnnouncement","setVisuallyHiddenAnnouncement","updateVisuallyHiddenAnnouncement","useDebounce","charactersToAnnounce","useEffect","hasExceededLimit","handleTextareaChange","e","target","value","debounce","fn","time","timeoutId","cancel","clearTimeout","wrapper","_len","args","Array","_key","setTimeout","apply","callback","delay","useRef","current","FieldCharacterCountdown","forwardRef","error","hint","id","_ref$isOptional","isOptional","onChange","characterCountdown","defaultValue","name","errorId","useId","hintId","htmlFor","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|
|
@@ -179,7 +179,7 @@ function useDebounce(callback, delay) {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
var _excluded = ["error", "hint", "id", "isOptional", "label", "maxCharacters", "onChange"];
|
|
182
|
-
|
|
182
|
+
var FieldCharacterCountdown = /*#__PURE__*/React.forwardRef(function (_ref) {
|
|
183
183
|
var error = _ref.error,
|
|
184
184
|
hint = _ref.hint,
|
|
185
185
|
id = _ref.id,
|
|
@@ -226,7 +226,7 @@ function FieldCharacterCountdown(_ref) {
|
|
|
226
226
|
"aria-live": "polite",
|
|
227
227
|
className: "visually-hidden"
|
|
228
228
|
}, characterCountdown.visuallyHiddenAnnouncement));
|
|
229
|
-
}
|
|
229
|
+
});
|
|
230
230
|
|
|
231
231
|
export { FieldCharacterCountdown as default, useCharacterCountdown };
|
|
232
232
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCharacterCountdown/useCharacterCountdown.ts","../../src/FieldCharacterCountdown/FieldCharacterCountdown.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nconst visuallyHiddenAnnouncementUpdateTimeInSeconds = 1;\n\nexport default function useCharacterCountdown(maxCharacters: number, currentCharacters = 0) {\n const [remainingCharacters, setRemainingCharacters] = React.useState(maxCharacters - currentCharacters);\n\n // When JS fails to load, the default label ๐ will still let the user know about the limit.\n const [label, setLabel] = React.useState(`You can use up to ${maxCharacters} characters`);\n const [visuallyHiddenAnnouncement, setVisuallyHiddenAnnouncement] = React.useState(label);\n\n // This should lag behind the visual update -- otherwise, screen reader users will be interrupted with a lot of chatter while typing\n const updateVisuallyHiddenAnnouncement = useDebounce((charactersToAnnounce: number) => {\n if (charactersToAnnounce >= 0) {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce} characters remaining`);\n } else {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce * -1} characters too many`);\n }\n }, visuallyHiddenAnnouncementUpdateTimeInSeconds * 1000);\n\n React.useEffect(() => {\n if (remainingCharacters >= 0) {\n setLabel(`<strong>${remainingCharacters}</strong> characters remaining`);\n } else {\n setLabel(`You have <strong>${remainingCharacters * -1}</strong> characters too many`);\n }\n\n updateVisuallyHiddenAnnouncement(remainingCharacters);\n }, [remainingCharacters, updateVisuallyHiddenAnnouncement]);\n\n return {\n hasExceededLimit: remainingCharacters < 0,\n handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setRemainingCharacters(maxCharacters - e.target.value.length);\n },\n label,\n visuallyHiddenAnnouncement,\n };\n}\n\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * Lifted from downshift/utils (not exposed in lib).\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction debounce(fn: (...rest: any[]) => any, time: number) {\n let timeoutId: number | null = 0;\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n }\n\n function wrapper(...args) {\n cancel();\n timeoutId = setTimeout(() => {\n timeoutId = null;\n fn(...args);\n }, time);\n }\n\n wrapper.cancel = cancel;\n\n return wrapper;\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction useDebounce<T extends (...rest: any[]) => any>(callback: T, delay: number) {\n return React.useRef(debounce((...params) => callback(...params), delay)).current;\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\nimport useCharacterCountdown from './useCharacterCountdown';\n\nexport type FieldCharacterCountdownProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n maxCharacters: number;\n};\n\nexport default function FieldCharacterCountdown({\n error,\n hint,\n id,\n isOptional = false,\n label,\n maxCharacters,\n onChange,\n ...props\n}: FieldCharacterCountdownProps & React.ComponentPropsWithoutRef<'textarea'>) {\n const characterCountdown = useCharacterCountdown(\n maxCharacters,\n ((props.value as string) || (props.defaultValue as string) || '').length,\n );\n\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <textarea\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className=\"bds-textarea\"\n id={id}\n onChange={(e) => {\n if (onChange) {\n onChange(e);\n }\n\n characterCountdown.handleTextareaChange(e);\n }}\n {...props}\n />\n <div\n aria-hidden=\"true\"\n className=\"bds-character-count\"\n data-exceeds-limit={characterCountdown.hasExceededLimit ? true : undefined}\n // biome-ignore lint/security/noDangerouslySetInnerHtml: HTML is expected and used for highlighting the number itself\n dangerouslySetInnerHTML={{\n __html: characterCountdown.label,\n }}\n />\n <div aria-live=\"polite\" className=\"visually-hidden\">\n {characterCountdown.visuallyHiddenAnnouncement}\n </div>\n </div>\n );\n}\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","visuallyHiddenAnnouncementUpdateTimeInSeconds","useCharacterCountdown","maxCharacters","currentCharacters","arguments","length","undefined","_React$useState","useState","_React$useState2","_slicedToArray","remainingCharacters","setRemainingCharacters","_React$useState3","concat","_React$useState4","label","setLabel","_React$useState5","_React$useState6","visuallyHiddenAnnouncement","setVisuallyHiddenAnnouncement","updateVisuallyHiddenAnnouncement","useDebounce","charactersToAnnounce","useEffect","hasExceededLimit","handleTextareaChange","e","target","value","debounce","fn","time","timeoutId","cancel","clearTimeout","wrapper","_len","args","Array","_key","setTimeout","apply","callback","delay","useRef","current","FieldCharacterCountdown","error","hint","id","_ref$isOptional","isOptional","onChange","characterCountdown","defaultValue","name","errorId","useId","hintId","htmlFor","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCharacterCountdown/useCharacterCountdown.ts","../../src/FieldCharacterCountdown/FieldCharacterCountdown.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nconst visuallyHiddenAnnouncementUpdateTimeInSeconds = 1;\n\nexport default function useCharacterCountdown(maxCharacters: number, currentCharacters = 0) {\n const [remainingCharacters, setRemainingCharacters] = React.useState(maxCharacters - currentCharacters);\n\n // When JS fails to load, the default label ๐ will still let the user know about the limit.\n const [label, setLabel] = React.useState(`You can use up to ${maxCharacters} characters`);\n const [visuallyHiddenAnnouncement, setVisuallyHiddenAnnouncement] = React.useState(label);\n\n // This should lag behind the visual update -- otherwise, screen reader users will be interrupted with a lot of chatter while typing\n const updateVisuallyHiddenAnnouncement = useDebounce((charactersToAnnounce: number) => {\n if (charactersToAnnounce >= 0) {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce} characters remaining`);\n } else {\n setVisuallyHiddenAnnouncement(`You have ${charactersToAnnounce * -1} characters too many`);\n }\n }, visuallyHiddenAnnouncementUpdateTimeInSeconds * 1000);\n\n React.useEffect(() => {\n if (remainingCharacters >= 0) {\n setLabel(`<strong>${remainingCharacters}</strong> characters remaining`);\n } else {\n setLabel(`You have <strong>${remainingCharacters * -1}</strong> characters too many`);\n }\n\n updateVisuallyHiddenAnnouncement(remainingCharacters);\n }, [remainingCharacters, updateVisuallyHiddenAnnouncement]);\n\n return {\n hasExceededLimit: remainingCharacters < 0,\n handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setRemainingCharacters(maxCharacters - e.target.value.length);\n },\n label,\n visuallyHiddenAnnouncement,\n };\n}\n\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * Lifted from downshift/utils (not exposed in lib).\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction debounce(fn: (...rest: any[]) => any, time: number) {\n let timeoutId: number | null = 0;\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n }\n\n function wrapper(...args) {\n cancel();\n timeoutId = setTimeout(() => {\n timeoutId = null;\n fn(...args);\n }, time);\n }\n\n wrapper.cancel = cancel;\n\n return wrapper;\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: We don't know or care what parameters the function accepts\nfunction useDebounce<T extends (...rest: any[]) => any>(callback: T, delay: number) {\n return React.useRef(debounce((...params) => callback(...params), delay)).current;\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\nimport useCharacterCountdown from './useCharacterCountdown';\n\nexport type FieldCharacterCountdownProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n maxCharacters: number;\n};\n\nconst FieldCharacterCountdown = React.forwardRef<HTMLTextAreaElement, FieldCharacterCountdownProps>(\n ({\n error,\n hint,\n id,\n isOptional = false,\n label,\n maxCharacters,\n onChange,\n ...props\n }: FieldCharacterCountdownProps & React.ComponentPropsWithoutRef<'textarea'>) => {\n const characterCountdown = useCharacterCountdown(\n maxCharacters,\n ((props.value as string) || (props.defaultValue as string) || '').length,\n );\n\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <textarea\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className=\"bds-textarea\"\n id={id}\n onChange={(e) => {\n if (onChange) {\n onChange(e);\n }\n\n characterCountdown.handleTextareaChange(e);\n }}\n {...props}\n />\n <div\n aria-hidden=\"true\"\n className=\"bds-character-count\"\n data-exceeds-limit={characterCountdown.hasExceededLimit ? true : undefined}\n // biome-ignore lint/security/noDangerouslySetInnerHtml: HTML is expected and used for highlighting the number itself\n dangerouslySetInnerHTML={{\n __html: characterCountdown.label,\n }}\n />\n <div aria-live=\"polite\" className=\"visually-hidden\">\n {characterCountdown.visuallyHiddenAnnouncement}\n </div>\n </div>\n );\n },\n);\n\nexport default FieldCharacterCountdown;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","visuallyHiddenAnnouncementUpdateTimeInSeconds","useCharacterCountdown","maxCharacters","currentCharacters","arguments","length","undefined","_React$useState","useState","_React$useState2","_slicedToArray","remainingCharacters","setRemainingCharacters","_React$useState3","concat","_React$useState4","label","setLabel","_React$useState5","_React$useState6","visuallyHiddenAnnouncement","setVisuallyHiddenAnnouncement","updateVisuallyHiddenAnnouncement","useDebounce","charactersToAnnounce","useEffect","hasExceededLimit","handleTextareaChange","e","target","value","debounce","fn","time","timeoutId","cancel","clearTimeout","wrapper","_len","args","Array","_key","setTimeout","apply","callback","delay","useRef","current","FieldCharacterCountdown","forwardRef","error","hint","id","_ref$isOptional","isOptional","onChange","characterCountdown","defaultValue","name","errorId","useId","hintId","htmlFor","dangerouslySetInnerHTML","__html"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGe,SAASA,YAAYA,CAAAC,IAAA,EAA4E;AAAA,EAAA,IAAzEC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,WAAA,CAAA;AAClE,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAAC,QAAA,CAAA;IAAMP,SAAS,EAAE,CAAC,WAAW,EAAEA,SAAS,CAAC,CAACQ,MAAM,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC;IAAA,CAAA,CAAC,CAACC,IAAI,CAAC,GAAG;AAAE,GAAA,EAAKR,KAAK,CAAA,eAC7EG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,KAAK,EAAC,4BAA4B;AAClCC,IAAAA,OAAO,EAAC,aAAa;AACrB,IAAA,aAAA,EAAY,MAAM;AAClBC,IAAAA,MAAM,EAAC,KAAK;AACZC,IAAAA,KAAK,EAAC,KAAK;AACXC,IAAAA,IAAI,EAAC;GAAc,eAEnBV,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMU,IAAAA,CAAC,EAAC;AAA4U,GAAE,CACnV,CAAC,EACLf,QACG,CAAC;AAEX;;ACjBA,IAAMgB,6CAA6C,GAAG,CAAC;AAExC,SAASC,qBAAqBA,CAACC,aAAqB,EAAyB;AAAA,EAAA,IAAvBC,iBAAiB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;EACxF,IAAAG,eAAA,GAAsDnB,KAAK,CAACoB,QAAQ,CAACN,aAAa,GAAGC,iBAAiB,CAAC;IAAAM,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAhGI,IAAAA,mBAAmB,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,sBAAsB,GAAAH,gBAAA,CAAA,CAAA,CAAA;;AAElD;EACA,IAAAI,gBAAA,GAA0BzB,KAAK,CAACoB,QAAQ,sBAAAM,MAAA,CAAsBZ,aAAa,EAAA,aAAA,CAAa,CAAC;IAAAa,gBAAA,GAAAL,cAAA,CAAAG,gBAAA,EAAA,CAAA,CAAA;AAAlFG,IAAAA,KAAK,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,QAAQ,GAAAF,gBAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAAG,gBAAA,GAAoE9B,KAAK,CAACoB,QAAQ,CAACQ,KAAK,CAAC;IAAAG,gBAAA,GAAAT,cAAA,CAAAQ,gBAAA,EAAA,CAAA,CAAA;AAAlFE,IAAAA,0BAA0B,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,6BAA6B,GAAAF,gBAAA,CAAA,CAAA,CAAA;;AAEhE;AACA,EAAA,IAAMG,gCAAgC,GAAGC,WAAW,CAAC,UAACC,oBAA4B,EAAK;IACrF,IAAIA,oBAAoB,IAAI,CAAC,EAAE;AAC7BH,MAAAA,6BAA6B,CAAA,WAAA,CAAAP,MAAA,CAAaU,oBAAoB,0BAAuB,CAAC;AACxF,IAAA,CAAC,MAAM;MACLH,6BAA6B,CAAA,WAAA,CAAAP,MAAA,CAAaU,oBAAoB,GAAG,EAAE,yBAAsB,CAAC;AAC5F,IAAA;AACF,EAAA,CAAC,EAAExB,6CAA6C,GAAG,IAAI,CAAC;EAExDZ,KAAK,CAACqC,SAAS,CAAC,YAAM;IACpB,IAAId,mBAAmB,IAAI,CAAC,EAAE;AAC5BM,MAAAA,QAAQ,CAAA,UAAA,CAAAH,MAAA,CAAYH,mBAAmB,mCAAgC,CAAC;AAC1E,IAAA,CAAC,MAAM;MACLM,QAAQ,CAAA,mBAAA,CAAAH,MAAA,CAAqBH,mBAAmB,GAAG,EAAE,kCAA+B,CAAC;AACvF,IAAA;IAEAW,gCAAgC,CAACX,mBAAmB,CAAC;AACvD,EAAA,CAAC,EAAE,CAACA,mBAAmB,EAAEW,gCAAgC,CAAC,CAAC;EAE3D,OAAO;IACLI,gBAAgB,EAAEf,mBAAmB,GAAG,CAAC;AACzCgB,IAAAA,oBAAoB,EAAE,SAAtBA,oBAAoBA,CAAGC,CAAyC,EAAK;MACnEhB,sBAAsB,CAACV,aAAa,GAAG0B,CAAC,CAACC,MAAM,CAACC,KAAK,CAACzB,MAAM,CAAC;IAC/D,CAAC;AACDW,IAAAA,KAAK,EAALA,KAAK;AACLI,IAAAA,0BAA0B,EAA1BA;GACD;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASW,QAAQA,CAACC,EAA2B,EAAEC,IAAY,EAAE;EAC3D,IAAIC,SAAwB,GAAG,CAAC;EAEhC,SAASC,MAAMA,GAAG;AAChB,IAAA,IAAID,SAAS,EAAE;MACbE,YAAY,CAACF,SAAS,CAAC;AACzB,IAAA;AACF,EAAA;EAEA,SAASG,OAAOA,GAAU;AAAA,IAAA,KAAA,IAAAC,IAAA,GAAAlC,SAAA,CAAAC,MAAA,EAANkC,IAAI,GAAA,IAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;AAAJF,MAAAA,IAAI,CAAAE,IAAA,CAAA,GAAArC,SAAA,CAAAqC,IAAA,CAAA;AAAA,IAAA;AACtBN,IAAAA,MAAM,EAAE;IACRD,SAAS,GAAGQ,UAAU,CAAC,YAAM;AAC3BR,MAAAA,SAAS,GAAG,IAAI;AAChBF,MAAAA,EAAE,CAAAW,KAAA,CAAA,MAAA,EAAIJ,IAAI,CAAC;IACb,CAAC,EAAEN,IAAI,CAAC;AACV,EAAA;EAEAI,OAAO,CAACF,MAAM,GAAGA,MAAM;AAEvB,EAAA,OAAOE,OAAO;AAChB;;AAEA;AACA,SAASd,WAAWA,CAAoCqB,QAAW,EAAEC,KAAa,EAAE;AAClF,EAAA,OAAOzD,KAAK,CAAC0D,MAAM,CAACf,QAAQ,CAAC,YAAA;AAAA,IAAA,OAAea,QAAQ,CAAAD,KAAA,CAAA,MAAA,EAAAvC,SAAU,CAAC;AAAA,EAAA,CAAA,EAAEyC,KAAK,CAAC,CAAC,CAACE,OAAO;AAClF;;;AC7DA,IAAMC,uBAAuB,gBAAG5D,KAAK,CAAC6D,UAAU,CAC9C,UAAAnE,IAAA,EASiF;AAAA,EAAA,IAR/EoE,KAAK,GAAApE,IAAA,CAALoE,KAAK;IACLC,IAAI,GAAArE,IAAA,CAAJqE,IAAI;IACJC,EAAE,GAAAtE,IAAA,CAAFsE,EAAE;IAAAC,eAAA,GAAAvE,IAAA,CACFwE,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAClBrC,KAAK,GAAAlC,IAAA,CAALkC,KAAK;IACLd,aAAa,GAAApB,IAAA,CAAboB,aAAa;IACbqD,SAAQ,GAAAzE,IAAA,CAARyE,QAAQ;AACLtE,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA;AAER,EAAA,IAAMqE,kBAAkB,GAAGvD,qBAAqB,CAC9CC,aAAa,EACb,CAAEjB,KAAK,CAAC6C,KAAK,IAAgB7C,KAAK,CAACwE,YAAuB,IAAI,EAAE,EAAEpD,MACpE,CAAC;EAED+C,EAAE,GAAGA,EAAE,KAAA,IAAA,IAAFA,EAAE,cAAFA,EAAE,GAAInE,KAAK,CAACyE,IAAI;AAErB,EAAA,IAAMC,OAAO,GAAGvE,KAAK,CAACwE,KAAK,EAAE;AAC7B,EAAA,IAAMC,MAAM,GAAGzE,KAAK,CAACwE,KAAK,EAAE;EAE5B,oBACExE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC;GAAgB,eAC7BK,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOyE,IAAAA,OAAO,EAAEV;GAAG,EAChBpC,KAAK,EACLsC,UAAU,IAAI,aACV,CAAC,EACPH,IAAI,iBACH/D,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMN,IAAAA,SAAS,EAAC,UAAU;AAACqE,IAAAA,EAAE,EAAES;GAAO,EACnCV,IACG,CACP,EACAD,KAAK,iBAAI9D,KAAA,CAAAC,aAAA,CAACR,YAAY,EAAA;AAACuE,IAAAA,EAAE,EAAEO;AAAQ,GAAA,EAAET,KAAoB,CAAC,eAC3D9D,KAAA,CAAAC,aAAA,aAAAC,QAAA,CAAA;AACE,IAAA,cAAA,EAAc4D,KAAK,GAAG,IAAI,GAAG5C,SAAU;IACvC,kBAAA,EAAkB4C,KAAK,IAAIC,IAAI,GAAA,EAAA,CAAArC,MAAA,CAAM+C,MAAM,OAAA/C,MAAA,CAAI6C,OAAO,CAAA,GAAKT,KAAK,GAAGS,OAAO,GAAGR,IAAI,GAAGU,MAAM,GAAGvD,SAAU;AACvGvB,IAAAA,SAAS,EAAC,cAAc;AACxBqE,IAAAA,EAAE,EAAEA,EAAG;AACPG,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAG3B,CAAC,EAAK;AACf,MAAA,IAAI2B,SAAQ,EAAE;QACZA,SAAQ,CAAC3B,CAAC,CAAC;AACb,MAAA;AAEA4B,MAAAA,kBAAkB,CAAC7B,oBAAoB,CAACC,CAAC,CAAC;AAC5C,IAAA;AAAE,GAAA,EACE3C,KAAK,CACV,CAAC,eACFG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,MAAM;AAClBN,IAAAA,SAAS,EAAC,qBAAqB;AAC/B,IAAA,oBAAA,EAAoByE,kBAAkB,CAAC9B,gBAAgB,GAAG,IAAI,GAAGpB;AACjE;AAAA;AACAyD,IAAAA,uBAAuB,EAAE;MACvBC,MAAM,EAAER,kBAAkB,CAACxC;AAC7B;AAAE,GACH,CAAC,eACF5B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,WAAA,EAAU,QAAQ;AAACN,IAAAA,SAAS,EAAC;AAAiB,GAAA,EAChDyE,kBAAkB,CAACpC,0BACjB,CACF,CAAC;AAEV,CACF;;;;"}
|
package/FieldSelect/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export type FieldTextareaProps = {
|
|
|
5
5
|
id?: string;
|
|
6
6
|
isOptional?: boolean;
|
|
7
7
|
label: string;
|
|
8
|
-
}
|
|
9
|
-
export default function FieldTextarea({ error, hint, id, isOptional, label, ...props }: FieldTextareaProps
|
|
8
|
+
} & React.ComponentPropsWithoutRef<'textarea'>;
|
|
9
|
+
export default function FieldTextarea({ error, hint, id, isOptional, label, ...props }: FieldTextareaProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldTextarea/FieldTextarea.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextareaProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldTextarea/FieldTextarea.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextareaProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n} & React.ComponentPropsWithoutRef<'textarea'>;\n\nexport default function FieldTextarea({\n error,\n hint,\n id,\n isOptional = false,\n label,\n ...props\n}: FieldTextareaProps) {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <textarea\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className=\"bds-textarea\"\n id={id}\n {...props}\n />\n </div>\n );\n}\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldTextarea","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat"],"mappings":"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"}
|
package/FieldTextarea/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldTextarea/FieldTextarea.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextareaProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldTextarea/FieldTextarea.tsx"],"sourcesContent":["// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextareaProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n} & React.ComponentPropsWithoutRef<'textarea'>;\n\nexport default function FieldTextarea({\n error,\n hint,\n id,\n isOptional = false,\n label,\n ...props\n}: FieldTextareaProps) {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <textarea\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className=\"bds-textarea\"\n id={id}\n {...props}\n />\n </div>\n );\n}\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldTextarea","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGe,SAASA,YAAYA,CAAAC,IAAA,EAA4E;AAAA,EAAA,IAAzEC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,WAAA,CAAA;AAClE,EAAA,oBACEC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAAC,QAAA,CAAA;IAAMP,SAAS,EAAE,CAAC,WAAW,EAAEA,SAAS,CAAC,CAACQ,MAAM,CAAC,UAACC,CAAC,EAAA;AAAA,MAAA,OAAKA,CAAC;IAAA,CAAA,CAAC,CAACC,IAAI,CAAC,GAAG;AAAE,GAAA,EAAKR,KAAK,CAAA,eAC7EG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,KAAK,EAAC,4BAA4B;AAClCC,IAAAA,OAAO,EAAC,aAAa;AACrB,IAAA,aAAA,EAAY,MAAM;AAClBC,IAAAA,MAAM,EAAC,KAAK;AACZC,IAAAA,KAAK,EAAC,KAAK;AACXC,IAAAA,IAAI,EAAC;GAAc,eAEnBV,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMU,IAAAA,CAAC,EAAC;AAA4U,GAAE,CACnV,CAAC,EACLf,QACG,CAAC;AAEX;;;ACPe,SAASgB,aAAaA,CAAAlB,IAAA,EAOd;AAAA,EAAA,IANrBmB,KAAK,GAAAnB,IAAA,CAALmB,KAAK;IACLC,IAAI,GAAApB,IAAA,CAAJoB,IAAI;IACJC,EAAE,GAAArB,IAAA,CAAFqB,EAAE;IAAAC,eAAA,GAAAtB,IAAA,CACFuB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAClBE,KAAK,GAAAxB,IAAA,CAALwB,KAAK;AACFrB,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA;EAERgB,EAAE,GAAGA,EAAE,KAAA,IAAA,IAAFA,EAAE,cAAFA,EAAE,GAAIlB,KAAK,CAACsB,IAAI;AAErB,EAAA,IAAMC,OAAO,GAAGpB,KAAK,CAACqB,KAAK,EAAE;AAC7B,EAAA,IAAMC,MAAM,GAAGtB,KAAK,CAACqB,KAAK,EAAE;EAE5B,oBACErB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC;GAAgB,eAC7BK,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOsB,IAAAA,OAAO,EAAER;GAAG,EAChBG,KAAK,EACLD,UAAU,IAAI,aACV,CAAC,EACPH,IAAI,iBACHd,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMN,IAAAA,SAAS,EAAC,UAAU;AAACoB,IAAAA,EAAE,EAAEO;GAAO,EACnCR,IACG,CACP,EACAD,KAAK,iBAAIb,KAAA,CAAAC,aAAA,CAACR,YAAY,EAAA;AAACsB,IAAAA,EAAE,EAAEK;AAAQ,GAAA,EAAEP,KAAoB,CAAC,eAC3Db,KAAA,CAAAC,aAAA,aAAAC,QAAA,CAAA;AACE,IAAA,cAAA,EAAcW,KAAK,GAAG,IAAI,GAAGW,SAAU;IACvC,kBAAA,EAAkBX,KAAK,IAAIC,IAAI,GAAA,EAAA,CAAAW,MAAA,CAAMH,MAAM,OAAAG,MAAA,CAAIL,OAAO,CAAA,GAAKP,KAAK,GAAGO,OAAO,GAAGN,IAAI,GAAGQ,MAAM,GAAGE,SAAU;AACvG7B,IAAAA,SAAS,EAAC,cAAc;AACxBoB,IAAAA,EAAE,EAAEA;GAAG,EACHlB,KAAK,CACV,CACE,CAAC;AAEV;;;;"}
|
|
@@ -4,5 +4,5 @@ export type PaginationProps = {
|
|
|
4
4
|
currentPage: number;
|
|
5
5
|
onPageClick?: (page: number) => void;
|
|
6
6
|
totalPages: number;
|
|
7
|
-
}
|
|
8
|
-
export default function Pagination({ buildPageUrl, className, currentPage, onPageClick, totalPages, ...props }: PaginationProps
|
|
7
|
+
} & React.ComponentPropsWithoutRef<'nav'>;
|
|
8
|
+
export default function Pagination({ buildPageUrl, className, currentPage, onPageClick, totalPages, ...props }: PaginationProps): React.JSX.Element;
|
package/Pagination/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["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}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["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} & React.ComponentPropsWithoutRef<'nav'>;\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) {\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"],"names":["usePages","currentPage","totalPages","pages","filter","x","_toConsumableArray","Set","Pagination","_ref","buildPageUrl","className","onPageClick","props","_objectWithoutProperties","_excluded","React","createElement","_extends","join","Fragment","href","xmlns","focusable","height","width","viewBox","d","rel","map","page","index","handlePageClick","key","undefined","onClick"],"mappings":"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"}
|
package/Pagination/index.d.ts
CHANGED
package/Pagination/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["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}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["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} & React.ComponentPropsWithoutRef<'nav'>;\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) {\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"],"names":["usePages","currentPage","totalPages","pages","filter","x","_toConsumableArray","Set","Pagination","_ref","buildPageUrl","className","onPageClick","props","_objectWithoutProperties","_excluded","React","createElement","_extends","join","Fragment","href","xmlns","focusable","height","width","viewBox","d","rel","map","page","index","handlePageClick","key","undefined","onClick"],"mappings":"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"}
|
package/Typography/index.d.ts
CHANGED
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/ErrorMessage/ErrorMessage.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\nButton.displayName = 'Button';\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\nCallToAction.displayName = 'CallToAction';\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 // biome-ignore lint/a11y/useSemanticElements: <fieldset> is not what we want here\n // biome-ignore lint/a11y/noInteractiveElementToNoninteractiveRole: group is not an interactive role\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 // biome-ignore lint/security/noDangerouslySetInnerHtml: some generic form errors may include links\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","// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextInputProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldTextInput = React.forwardRef<HTMLInputElement, FieldTextInputProps>(\n ({ className, error, hint, id, isOptional = false, label, ...props }, ref) => {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <input\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className={['bds-text-input', className].filter((x) => x).join(' ')}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n );\n },\n);\n\nFieldTextInput.displayName = 'FieldTextInput';\n\nexport default FieldTextInput;\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\nTypography.displayName = 'Typography';\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","displayName","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","ErrorMessage","FieldTextInput","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","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/ErrorMessage/ErrorMessage.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\nButton.displayName = 'Button';\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\nCallToAction.displayName = 'CallToAction';\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 // biome-ignore lint/a11y/useSemanticElements: <fieldset> is not what we want here\n // biome-ignore lint/a11y/noInteractiveElementToNoninteractiveRole: group is not an interactive role\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 // biome-ignore lint/security/noDangerouslySetInnerHtml: some generic form errors may include links\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","// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextInputProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldTextInput = React.forwardRef<HTMLInputElement, FieldTextInputProps>(\n ({ className, error, hint, id, isOptional = false, label, ...props }, ref) => {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <input\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className={['bds-text-input', className].filter((x) => x).join(' ')}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n );\n },\n);\n\nFieldTextInput.displayName = 'FieldTextInput';\n\nexport default FieldTextInput;\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} & React.ComponentPropsWithoutRef<'nav'>;\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) {\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\nTypography.displayName = 'Typography';\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","displayName","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","ErrorMessage","FieldTextInput","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","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.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/ErrorMessage/ErrorMessage.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\nButton.displayName = 'Button';\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\nCallToAction.displayName = 'CallToAction';\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 // biome-ignore lint/a11y/useSemanticElements: <fieldset> is not what we want here\n // biome-ignore lint/a11y/noInteractiveElementToNoninteractiveRole: group is not an interactive role\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 // biome-ignore lint/security/noDangerouslySetInnerHtml: some generic form errors may include links\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","// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextInputProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldTextInput = React.forwardRef<HTMLInputElement, FieldTextInputProps>(\n ({ className, error, hint, id, isOptional = false, label, ...props }, ref) => {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <input\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className={['bds-text-input', className].filter((x) => x).join(' ')}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n );\n },\n);\n\nFieldTextInput.displayName = 'FieldTextInput';\n\nexport default FieldTextInput;\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\nTypography.displayName = 'Typography';\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","displayName","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","ErrorMessage","FieldTextInput","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","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/ErrorMessage/ErrorMessage.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\nButton.displayName = 'Button';\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\nCallToAction.displayName = 'CallToAction';\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 // biome-ignore lint/a11y/useSemanticElements: <fieldset> is not what we want here\n // biome-ignore lint/a11y/noInteractiveElementToNoninteractiveRole: group is not an interactive role\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 // biome-ignore lint/security/noDangerouslySetInnerHtml: some generic form errors may include links\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","// biome-ignore lint/style/useImportType: following this rule does not work for some reason\nimport * as React from 'react';\n\nexport default function ErrorMessage({ className, children, ...props }: React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span className={['bds-error', className].filter((x) => x).join(' ')} {...props}>\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 {children}\n </span>\n );\n}\n","import * as React from 'react';\n\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldTextInputProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldTextInput = React.forwardRef<HTMLInputElement, FieldTextInputProps>(\n ({ className, error, hint, id, isOptional = false, label, ...props }, ref) => {\n id = id ?? props.name;\n\n const errorId = React.useId();\n const hintId = React.useId();\n\n return (\n <div className=\"bds-form-group\">\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 && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <input\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n className={['bds-text-input', className].filter((x) => x).join(' ')}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n );\n },\n);\n\nFieldTextInput.displayName = 'FieldTextInput';\n\nexport default FieldTextInput;\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} & React.ComponentPropsWithoutRef<'nav'>;\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) {\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\nTypography.displayName = 'Typography';\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","displayName","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","ErrorMessage","FieldTextInput","error","hint","_ref$isOptional","isOptional","label","errorId","hintId","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,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iabbb/bds-react",
|
|
3
|
-
"version": "0.62.
|
|
3
|
+
"version": "0.62.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "cross-env NODE_ENV=production rollup -c",
|
|
7
7
|
"dev": "rollup -c -w"
|
|
8
8
|
},
|
|
9
9
|
"devDependencies": {
|
|
10
|
-
"@babel/core": "7.28.
|
|
10
|
+
"@babel/core": "7.28.4",
|
|
11
11
|
"@babel/preset-env": "7.28.3",
|
|
12
12
|
"@babel/preset-react": "7.27.1",
|
|
13
13
|
"@babel/preset-typescript": "7.27.1",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"cross-env": "10.0.0",
|
|
21
21
|
"glob": "11.0.3",
|
|
22
22
|
"react": "18.3.1",
|
|
23
|
-
"rollup": "4.
|
|
23
|
+
"rollup": "4.52.2",
|
|
24
24
|
"rollup-plugin-delete": "3.0.1",
|
|
25
25
|
"rollup-plugin-generate-package-json": "3.2.0",
|
|
26
26
|
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"typescript": "5.7.2"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@iabbb/bds": "0.62.
|
|
31
|
+
"@iabbb/bds": "0.62.2",
|
|
32
32
|
"react": "^18.0.0 || ^19.0.0"
|
|
33
33
|
}
|
|
34
34
|
}
|