@iabbb/bds-react 0.55.0 → 0.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/Button/index.cjs +5 -4
  2. package/Button/index.cjs.map +1 -1
  3. package/Button/index.mjs +5 -4
  4. package/Button/index.mjs.map +1 -1
  5. package/CallToAction/index.cjs +4 -3
  6. package/CallToAction/index.cjs.map +1 -1
  7. package/CallToAction/index.mjs +4 -3
  8. package/CallToAction/index.mjs.map +1 -1
  9. package/ErrorMessage/index.cjs +3 -3
  10. package/ErrorMessage/index.mjs +3 -3
  11. package/ErrorSummary/index.cjs +3 -3
  12. package/ErrorSummary/index.cjs.map +1 -1
  13. package/ErrorSummary/index.mjs +3 -3
  14. package/ErrorSummary/index.mjs.map +1 -1
  15. package/FieldCharacterCountdown/FieldCharacterCountdown.d.ts +1 -1
  16. package/FieldCharacterCountdown/index.cjs +7 -8
  17. package/FieldCharacterCountdown/index.cjs.map +1 -1
  18. package/FieldCharacterCountdown/index.mjs +7 -8
  19. package/FieldCharacterCountdown/index.mjs.map +1 -1
  20. package/FieldCheckbox/index.cjs +7 -6
  21. package/FieldCheckbox/index.cjs.map +1 -1
  22. package/FieldCheckbox/index.mjs +7 -6
  23. package/FieldCheckbox/index.mjs.map +1 -1
  24. package/FieldRadio/index.cjs +7 -6
  25. package/FieldRadio/index.cjs.map +1 -1
  26. package/FieldRadio/index.mjs +7 -6
  27. package/FieldRadio/index.mjs.map +1 -1
  28. package/FieldSelect/index.cjs +5 -5
  29. package/FieldSelect/index.cjs.map +1 -1
  30. package/FieldSelect/index.mjs +5 -5
  31. package/FieldSelect/index.mjs.map +1 -1
  32. package/FieldTextInput/FieldTextInput.d.ts +2 -2
  33. package/FieldTextInput/index.cjs +5 -5
  34. package/FieldTextInput/index.cjs.map +1 -1
  35. package/FieldTextInput/index.mjs +5 -5
  36. package/FieldTextInput/index.mjs.map +1 -1
  37. package/FieldTextarea/FieldTextarea.d.ts +1 -1
  38. package/FieldTextarea/index.cjs +4 -5
  39. package/FieldTextarea/index.cjs.map +1 -1
  40. package/FieldTextarea/index.mjs +4 -5
  41. package/FieldTextarea/index.mjs.map +1 -1
  42. package/Fieldset/index.cjs +3 -3
  43. package/Fieldset/index.mjs +3 -3
  44. package/Pagination/index.cjs +3 -3
  45. package/Pagination/index.mjs +3 -3
  46. package/Typography/index.cjs +3 -3
  47. package/Typography/index.cjs.map +1 -1
  48. package/Typography/index.mjs +3 -3
  49. package/Typography/index.mjs.map +1 -1
  50. package/index.cjs +8 -6
  51. package/index.cjs.map +1 -1
  52. package/index.mjs +8 -6
  53. package/index.mjs.map +1 -1
  54. package/package.json +10 -10
@@ -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?: 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(maxCharacters, ((props.value as string) || '').length);\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","_id","error","hint","id","_ref$isOptional","isOptional","onChange","characterCountdown","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\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(maxCharacters, ((props.value as string) || '').length);\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","name","errorId","useId","hintId","htmlFor","dangerouslySetInnerHTML","__html"],"mappings":"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"}
@@ -48,12 +48,12 @@ function _iterableToArrayLimit(r, l) {
48
48
  i,
49
49
  u,
50
50
  a = [],
51
- f = !0,
52
- o = !1;
51
+ f = true,
52
+ o = false;
53
53
  try {
54
54
  if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
55
55
  } catch (r) {
56
- o = !0, n = r;
56
+ o = true, n = r;
57
57
  } finally {
58
58
  try {
59
59
  if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
@@ -73,8 +73,8 @@ function _objectWithoutProperties(e, t) {
73
73
  r,
74
74
  i = _objectWithoutPropertiesLoose(e, t);
75
75
  if (Object.getOwnPropertySymbols) {
76
- var s = Object.getOwnPropertySymbols(e);
77
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
76
+ var n = Object.getOwnPropertySymbols(e);
77
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
78
78
  }
79
79
  return i;
80
80
  }
@@ -82,7 +82,7 @@ function _objectWithoutPropertiesLoose(r, e) {
82
82
  if (null == r) return {};
83
83
  var t = {};
84
84
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
85
- if (e.includes(n)) continue;
85
+ if (-1 !== e.indexOf(n)) continue;
86
86
  t[n] = r[n];
87
87
  }
88
88
  return t;
@@ -174,6 +174,7 @@ var FieldCheckbox = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref
174
174
  htmlFor: inputId
175
175
  }, label)));
176
176
  });
177
+ FieldCheckbox.displayName = 'FieldCheckbox';
177
178
 
178
179
  exports.default = FieldCheckbox;
179
180
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCheckbox/FieldCheckbox.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 FieldCheckboxProps = {\n error?: string;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldCheckbox = React.forwardRef<HTMLInputElement, FieldCheckboxProps>(\n ({ error, id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n const errorId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n {error && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <div className=\"bds-checkbox\" data-enhanced={isEnhanced ? '' : undefined}>\n <input\n {...props}\n aria-describedby={error ? errorId : undefined}\n aria-invalid={error ? true : undefined}\n id={inputId}\n ref={ref}\n type=\"checkbox\"\n />\n {isEnhanced && (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\n <rect\n className=\"background\"\n width=\"31\"\n height=\"31\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n x=\"0.5\"\n y=\"0.5\"\n vectorEffect=\"non-scaling-stroke\"\n />\n <path\n className=\"checkmark\"\n d=\"M 6 14 L 13 23 L 26 7\"\n stroke=\"#fff\"\n strokeDasharray=\"140\"\n strokeDashoffset=\"140\"\n />\n </svg>\n )}\n {/* biome-ignore lint/a11y/noLabelWithoutControl: false positive; label is provided dynamically */}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n },\n);\n\nexport default FieldCheckbox;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldCheckbox","forwardRef","ref","error","id","label","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","errorId","inputId","useEffect","undefined","type","focusable","stroke","strokeWidth","y","vectorEffect","strokeDasharray","strokeDashoffset","htmlFor"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCheckbox/FieldCheckbox.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 FieldCheckboxProps = {\n error?: string;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldCheckbox = React.forwardRef<HTMLInputElement, FieldCheckboxProps>(\n ({ error, id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n const errorId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n {error && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <div className=\"bds-checkbox\" data-enhanced={isEnhanced ? '' : undefined}>\n <input\n {...props}\n aria-describedby={error ? errorId : undefined}\n aria-invalid={error ? true : undefined}\n id={inputId}\n ref={ref}\n type=\"checkbox\"\n />\n {isEnhanced && (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\n <rect\n className=\"background\"\n width=\"31\"\n height=\"31\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n x=\"0.5\"\n y=\"0.5\"\n vectorEffect=\"non-scaling-stroke\"\n />\n <path\n className=\"checkmark\"\n d=\"M 6 14 L 13 23 L 26 7\"\n stroke=\"#fff\"\n strokeDasharray=\"140\"\n strokeDashoffset=\"140\"\n />\n </svg>\n )}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n },\n);\n\nFieldCheckbox.displayName = 'FieldCheckbox';\n\nexport default FieldCheckbox;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldCheckbox","forwardRef","ref","error","id","label","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","errorId","inputId","useEffect","undefined","type","focusable","stroke","strokeWidth","y","vectorEffect","strokeDasharray","strokeDashoffset","htmlFor","displayName"],"mappings":"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"}
@@ -25,12 +25,12 @@ function _iterableToArrayLimit(r, l) {
25
25
  i,
26
26
  u,
27
27
  a = [],
28
- f = !0,
29
- o = !1;
28
+ f = true,
29
+ o = false;
30
30
  try {
31
31
  if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
32
32
  } catch (r) {
33
- o = !0, n = r;
33
+ o = true, n = r;
34
34
  } finally {
35
35
  try {
36
36
  if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
@@ -50,8 +50,8 @@ function _objectWithoutProperties(e, t) {
50
50
  r,
51
51
  i = _objectWithoutPropertiesLoose(e, t);
52
52
  if (Object.getOwnPropertySymbols) {
53
- var s = Object.getOwnPropertySymbols(e);
54
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
53
+ var n = Object.getOwnPropertySymbols(e);
54
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
55
55
  }
56
56
  return i;
57
57
  }
@@ -59,7 +59,7 @@ function _objectWithoutPropertiesLoose(r, e) {
59
59
  if (null == r) return {};
60
60
  var t = {};
61
61
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
62
- if (e.includes(n)) continue;
62
+ if (-1 !== e.indexOf(n)) continue;
63
63
  t[n] = r[n];
64
64
  }
65
65
  return t;
@@ -151,6 +151,7 @@ var FieldCheckbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
151
151
  htmlFor: inputId
152
152
  }, label)));
153
153
  });
154
+ FieldCheckbox.displayName = 'FieldCheckbox';
154
155
 
155
156
  export { FieldCheckbox as default };
156
157
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCheckbox/FieldCheckbox.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 FieldCheckboxProps = {\n error?: string;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldCheckbox = React.forwardRef<HTMLInputElement, FieldCheckboxProps>(\n ({ error, id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n const errorId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n {error && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <div className=\"bds-checkbox\" data-enhanced={isEnhanced ? '' : undefined}>\n <input\n {...props}\n aria-describedby={error ? errorId : undefined}\n aria-invalid={error ? true : undefined}\n id={inputId}\n ref={ref}\n type=\"checkbox\"\n />\n {isEnhanced && (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\n <rect\n className=\"background\"\n width=\"31\"\n height=\"31\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n x=\"0.5\"\n y=\"0.5\"\n vectorEffect=\"non-scaling-stroke\"\n />\n <path\n className=\"checkmark\"\n d=\"M 6 14 L 13 23 L 26 7\"\n stroke=\"#fff\"\n strokeDasharray=\"140\"\n strokeDashoffset=\"140\"\n />\n </svg>\n )}\n {/* biome-ignore lint/a11y/noLabelWithoutControl: false positive; label is provided dynamically */}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n },\n);\n\nexport default FieldCheckbox;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldCheckbox","forwardRef","ref","error","id","label","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","errorId","inputId","useEffect","undefined","type","focusable","stroke","strokeWidth","y","vectorEffect","strokeDasharray","strokeDashoffset","htmlFor"],"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;KAAC,CAAA,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;GAELV,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMU,IAAAA,CAAC,EAAC;AAA4U,GAAE,CACnV,CAAC,EACLf,QACG,CAAC;AAEX;;;ACVMgB,IAAAA,aAAa,gBAAGZ,KAAK,CAACa,UAAU,CACpC,UAAAnB,IAAA,EAAiCoB,GAAG,EAAK;AAAA,EAAA,IAAtCC,KAAK,GAAArB,IAAA,CAALqB,KAAK;IAAEC,EAAE,GAAAtB,IAAA,CAAFsB,EAAE;IAAEC,KAAK,GAAAvB,IAAA,CAALuB,KAAK;AAAKpB,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA;AAC3B,EAAA,IAAAmB,eAAA,GAAoClB,KAAK,CAACmB,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,UAAU,GAAGxB,KAAK,CAACyB,KAAK,EAAE;AAChC,EAAA,IAAMC,OAAO,GAAG1B,KAAK,CAACyB,KAAK,EAAE;EAE7B,IAAME,OAAO,GAAGX,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,KAAAA,CAAAA,GAAAA,EAAE,GAAIQ,UAAU;EAEhCxB,KAAK,CAAC4B,SAAS,CAAC,YAAM;IACpBL,aAAa,CAAC,IAAI,CAAC;GACpB,EAAE,EAAE,CAAC;EAEN,oBACEvB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC;AAAgB,GAAA,EAC5BoB,KAAK,iBAAIf,KAAA,CAAAC,aAAA,CAACR,YAAY,EAAA;AAACuB,IAAAA,EAAE,EAAEU;AAAQ,GAAA,EAAEX,KAAoB,CAAC,eAC3Df,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC,cAAc;IAAC,eAAe2B,EAAAA,UAAU,GAAG,EAAE,GAAGO;AAAU,GAAA,eACvE7B,KAAA,CAAAC,aAAA,CAAAC,OAAAA,EAAAA,QAAA,KACML,KAAK,EAAA;AACT,IAAA,kBAAA,EAAkBkB,KAAK,GAAGW,OAAO,GAAGG,SAAU;AAC9C,IAAA,cAAA,EAAcd,KAAK,GAAG,IAAI,GAAGc,SAAU;AACvCb,IAAAA,EAAE,EAAEW,OAAQ;AACZb,IAAAA,GAAG,EAAEA,GAAI;AACTgB,IAAAA,IAAI,EAAC;AAAU,GAAA,CAChB,CAAC,EACDR,UAAU,iBACTtB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,KAAK,EAAC,IAAI;AAACD,IAAAA,MAAM,EAAC,IAAI;AAACD,IAAAA,OAAO,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,MAAM;AAACwB,IAAAA,SAAS,EAAC;GAC3E/B,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEN,IAAAA,SAAS,EAAC,YAAY;AACtBc,IAAAA,KAAK,EAAC,IAAI;AACVD,IAAAA,MAAM,EAAC,IAAI;AACXwB,IAAAA,MAAM,EAAC,cAAc;AACrBtB,IAAAA,IAAI,EAAC,MAAM;AACXuB,IAAAA,WAAW,EAAC,GAAG;AACf7B,IAAAA,CAAC,EAAC,KAAK;AACP8B,IAAAA,CAAC,EAAC,KAAK;AACPC,IAAAA,YAAY,EAAC;AAAoB,GAClC,CAAC,eACFnC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEN,IAAAA,SAAS,EAAC,WAAW;AACrBgB,IAAAA,CAAC,EAAC,uBAAuB;AACzBqB,IAAAA,MAAM,EAAC,MAAM;AACbI,IAAAA,eAAe,EAAC,KAAK;AACrBC,IAAAA,gBAAgB,EAAC;AAAK,GACvB,CACE,CACN,eAEDrC,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOqC,IAAAA,OAAO,EAAEX;GAAUV,EAAAA,KAAa,CACpC,CACF,CAAC;AAEV,CACF;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldCheckbox/FieldCheckbox.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 FieldCheckboxProps = {\n error?: string;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldCheckbox = React.forwardRef<HTMLInputElement, FieldCheckboxProps>(\n ({ error, id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n const errorId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n {error && <ErrorMessage id={errorId}>{error}</ErrorMessage>}\n <div className=\"bds-checkbox\" data-enhanced={isEnhanced ? '' : undefined}>\n <input\n {...props}\n aria-describedby={error ? errorId : undefined}\n aria-invalid={error ? true : undefined}\n id={inputId}\n ref={ref}\n type=\"checkbox\"\n />\n {isEnhanced && (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\n <rect\n className=\"background\"\n width=\"31\"\n height=\"31\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n x=\"0.5\"\n y=\"0.5\"\n vectorEffect=\"non-scaling-stroke\"\n />\n <path\n className=\"checkmark\"\n d=\"M 6 14 L 13 23 L 26 7\"\n stroke=\"#fff\"\n strokeDasharray=\"140\"\n strokeDashoffset=\"140\"\n />\n </svg>\n )}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n },\n);\n\nFieldCheckbox.displayName = 'FieldCheckbox';\n\nexport default FieldCheckbox;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldCheckbox","forwardRef","ref","error","id","label","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","errorId","inputId","useEffect","undefined","type","focusable","stroke","strokeWidth","y","vectorEffect","strokeDasharray","strokeDashoffset","htmlFor","displayName"],"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;KAAC,CAAA,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;GAELV,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMU,IAAAA,CAAC,EAAC;AAA4U,GAAE,CACnV,CAAC,EACLf,QACG,CAAC;AAEX;;;ACVMgB,IAAAA,aAAa,gBAAGZ,KAAK,CAACa,UAAU,CACpC,UAAAnB,IAAA,EAAiCoB,GAAG,EAAK;AAAA,EAAA,IAAtCC,KAAK,GAAArB,IAAA,CAALqB,KAAK;IAAEC,EAAE,GAAAtB,IAAA,CAAFsB,EAAE;IAAEC,KAAK,GAAAvB,IAAA,CAALuB,KAAK;AAAKpB,IAAAA,KAAK,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA;AAC3B,EAAA,IAAAmB,eAAA,GAAoClB,KAAK,CAACmB,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,UAAU,GAAGxB,KAAK,CAACyB,KAAK,EAAE;AAChC,EAAA,IAAMC,OAAO,GAAG1B,KAAK,CAACyB,KAAK,EAAE;EAE7B,IAAME,OAAO,GAAGX,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,MAAAA,GAAAA,EAAE,GAAIQ,UAAU;EAEhCxB,KAAK,CAAC4B,SAAS,CAAC,YAAM;IACpBL,aAAa,CAAC,IAAI,CAAC;GACpB,EAAE,EAAE,CAAC;EAEN,oBACEvB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC;AAAgB,GAAA,EAC5BoB,KAAK,iBAAIf,KAAA,CAAAC,aAAA,CAACR,YAAY,EAAA;AAACuB,IAAAA,EAAE,EAAEU;AAAQ,GAAA,EAAEX,KAAoB,CAAC,eAC3Df,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKN,IAAAA,SAAS,EAAC,cAAc;IAAC,eAAe2B,EAAAA,UAAU,GAAG,EAAE,GAAGO;AAAU,GAAA,eACvE7B,KAAA,CAAAC,aAAA,CAAAC,OAAAA,EAAAA,QAAA,KACML,KAAK,EAAA;AACT,IAAA,kBAAA,EAAkBkB,KAAK,GAAGW,OAAO,GAAGG,SAAU;AAC9C,IAAA,cAAA,EAAcd,KAAK,GAAG,IAAI,GAAGc,SAAU;AACvCb,IAAAA,EAAE,EAAEW,OAAQ;AACZb,IAAAA,GAAG,EAAEA,GAAI;AACTgB,IAAAA,IAAI,EAAC;AAAU,GAAA,CAChB,CAAC,EACDR,UAAU,iBACTtB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKQ,IAAAA,KAAK,EAAC,IAAI;AAACD,IAAAA,MAAM,EAAC,IAAI;AAACD,IAAAA,OAAO,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,MAAM;AAACwB,IAAAA,SAAS,EAAC;GAC3E/B,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEN,IAAAA,SAAS,EAAC,YAAY;AACtBc,IAAAA,KAAK,EAAC,IAAI;AACVD,IAAAA,MAAM,EAAC,IAAI;AACXwB,IAAAA,MAAM,EAAC,cAAc;AACrBtB,IAAAA,IAAI,EAAC,MAAM;AACXuB,IAAAA,WAAW,EAAC,GAAG;AACf7B,IAAAA,CAAC,EAAC,KAAK;AACP8B,IAAAA,CAAC,EAAC,KAAK;AACPC,IAAAA,YAAY,EAAC;AAAoB,GAClC,CAAC,eACFnC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEN,IAAAA,SAAS,EAAC,WAAW;AACrBgB,IAAAA,CAAC,EAAC,uBAAuB;AACzBqB,IAAAA,MAAM,EAAC,MAAM;AACbI,IAAAA,eAAe,EAAC,KAAK;AACrBC,IAAAA,gBAAgB,EAAC;AAAK,GACvB,CACE,CACN,eACDrC,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAOqC,IAAAA,OAAO,EAAEX;GAAUV,EAAAA,KAAa,CACpC,CACF,CAAC;AAEV,CACF;AAEAL,aAAa,CAAC2B,WAAW,GAAG,eAAe;;;;"}
@@ -48,12 +48,12 @@ function _iterableToArrayLimit(r, l) {
48
48
  i,
49
49
  u,
50
50
  a = [],
51
- f = !0,
52
- o = !1;
51
+ f = true,
52
+ o = false;
53
53
  try {
54
54
  if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
55
55
  } catch (r) {
56
- o = !0, n = r;
56
+ o = true, n = r;
57
57
  } finally {
58
58
  try {
59
59
  if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
@@ -73,8 +73,8 @@ function _objectWithoutProperties(e, t) {
73
73
  r,
74
74
  i = _objectWithoutPropertiesLoose(e, t);
75
75
  if (Object.getOwnPropertySymbols) {
76
- var s = Object.getOwnPropertySymbols(e);
77
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
76
+ var n = Object.getOwnPropertySymbols(e);
77
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
78
78
  }
79
79
  return i;
80
80
  }
@@ -82,7 +82,7 @@ function _objectWithoutPropertiesLoose(r, e) {
82
82
  if (null == r) return {};
83
83
  var t = {};
84
84
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
85
- if (e.includes(n)) continue;
85
+ if (-1 !== e.indexOf(n)) continue;
86
86
  t[n] = r[n];
87
87
  }
88
88
  return t;
@@ -146,6 +146,7 @@ var FieldRadio = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
146
146
  htmlFor: inputId
147
147
  }, label)));
148
148
  });
149
+ FieldRadio.displayName = 'FieldRadio';
149
150
 
150
151
  exports.default = FieldRadio;
151
152
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/FieldRadio/FieldRadio.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport type FieldRadioProps = {\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldRadio = React.forwardRef<HTMLInputElement, FieldRadioProps>(({ id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n <div className=\"bds-radio\" data-enhanced={isEnhanced ? '' : undefined}>\n <input {...props} id={inputId} ref={ref} type=\"radio\" />\n {isEnhanced && (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <circle\n className=\"background\"\n cx=\"12\"\n cy=\"12\"\n /* subtract half of the strokeWidth to get radius. credit: https://stackoverflow.com/questions/64149284/svg-stroke-width-changes-dimensions-of-the-object */\n r=\"11.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n vectorEffect=\"non-scaling-stroke\"\n />\n {/* radius set through CSS when selected */}\n <circle className=\"radio\" cx=\"12\" cy=\"12\" fill=\"currentColor\" />\n </svg>\n )}\n {/* biome-ignore lint/a11y/noLabelWithoutControl: false positive; label is provided dynamically */}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n});\n\nexport default FieldRadio;\n"],"names":["FieldRadio","React","forwardRef","_ref","ref","id","label","props","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","inputId","useEffect","createElement","className","undefined","_extends","type","width","height","viewBox","focusable","cx","cy","r","stroke","fill","strokeWidth","vectorEffect","htmlFor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMMA,IAAAA,UAAU,gBAAGC,gBAAK,CAACC,UAAU,CAAoC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA;AAC3F,EAAA,IAAAC,eAAA,GAAoCT,gBAAK,CAACU,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,UAAU,GAAGf,gBAAK,CAACgB,KAAK,EAAE;EAEhC,IAAMC,OAAO,GAAGb,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,KAAAA,CAAAA,GAAAA,EAAE,GAAIW,UAAU;EAEhCf,gBAAK,CAACkB,SAAS,CAAC,YAAM;IACpBJ,aAAa,CAAC,IAAI,CAAC;GACpB,EAAE,EAAE,CAAC;EAEN,oBACEd,gBAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GACbpB,eAAAA,gBAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;IAAC,eAAeP,EAAAA,UAAU,GAAG,EAAE,GAAGQ;AAAU,GAAA,eACpErB,gBAAA,CAAAmB,aAAA,CAAAG,OAAAA,EAAAA,QAAA,KAAWhB,KAAK,EAAA;AAAEF,IAAAA,EAAE,EAAEa,OAAQ;AAACd,IAAAA,GAAG,EAAEA,GAAI;AAACoB,IAAAA,IAAI,EAAC;AAAO,GAAA,CAAE,CAAC,EACvDV,UAAU,iBACTb,gBAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,MAAM;AAACC,IAAAA,SAAS,EAAC;GAC3E3B,eAAAA,gBAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,YAAY;AACtBQ,IAAAA,EAAE,EAAC,IAAI;AACPC,IAAAA,EAAE,EAAC;AACH;AACAC,IAAAA,CAAC,EAAC,MAAM;AACRC,IAAAA,MAAM,EAAC,cAAc;AACrBC,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,WAAW,EAAC,GAAG;AACfC,IAAAA,YAAY,EAAC;AAAoB,GAClC,CAAC,eAEFlC,gBAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AAAQC,IAAAA,SAAS,EAAC,OAAO;AAACQ,IAAAA,EAAE,EAAC,IAAI;AAACC,IAAAA,EAAE,EAAC,IAAI;AAACG,IAAAA,IAAI,EAAC;AAAc,GAAE,CAC5D,CACN,eAEDhC,gBAAA,CAAAmB,aAAA,CAAA,OAAA,EAAA;AAAOgB,IAAAA,OAAO,EAAElB;GAAUZ,EAAAA,KAAa,CACpC,CACF,CAAC;AAEV,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/FieldRadio/FieldRadio.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport type FieldRadioProps = {\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldRadio = React.forwardRef<HTMLInputElement, FieldRadioProps>(({ id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n <div className=\"bds-radio\" data-enhanced={isEnhanced ? '' : undefined}>\n <input {...props} id={inputId} ref={ref} type=\"radio\" />\n {isEnhanced && (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <circle\n className=\"background\"\n cx=\"12\"\n cy=\"12\"\n /* subtract half of the strokeWidth to get radius. credit: https://stackoverflow.com/questions/64149284/svg-stroke-width-changes-dimensions-of-the-object */\n r=\"11.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n vectorEffect=\"non-scaling-stroke\"\n />\n {/* radius set through CSS when selected */}\n <circle className=\"radio\" cx=\"12\" cy=\"12\" fill=\"currentColor\" />\n </svg>\n )}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n});\n\nFieldRadio.displayName = 'FieldRadio';\n\nexport default FieldRadio;\n"],"names":["FieldRadio","React","forwardRef","_ref","ref","id","label","props","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","inputId","useEffect","createElement","className","undefined","_extends","type","width","height","viewBox","focusable","cx","cy","r","stroke","fill","strokeWidth","vectorEffect","htmlFor","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMMA,IAAAA,UAAU,gBAAGC,gBAAK,CAACC,UAAU,CAAoC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA;AAC3F,EAAA,IAAAC,eAAA,GAAoCT,gBAAK,CAACU,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,UAAU,GAAGf,gBAAK,CAACgB,KAAK,EAAE;EAEhC,IAAMC,OAAO,GAAGb,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,MAAAA,GAAAA,EAAE,GAAIW,UAAU;EAEhCf,gBAAK,CAACkB,SAAS,CAAC,YAAM;IACpBJ,aAAa,CAAC,IAAI,CAAC;GACpB,EAAE,EAAE,CAAC;EAEN,oBACEd,gBAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GACbpB,eAAAA,gBAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;IAAC,eAAeP,EAAAA,UAAU,GAAG,EAAE,GAAGQ;AAAU,GAAA,eACpErB,gBAAA,CAAAmB,aAAA,CAAAG,OAAAA,EAAAA,QAAA,KAAWhB,KAAK,EAAA;AAAEF,IAAAA,EAAE,EAAEa,OAAQ;AAACd,IAAAA,GAAG,EAAEA,GAAI;AAACoB,IAAAA,IAAI,EAAC;AAAO,GAAA,CAAE,CAAC,EACvDV,UAAU,iBACTb,gBAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,MAAM;AAACC,IAAAA,SAAS,EAAC;GAC3E3B,eAAAA,gBAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,YAAY;AACtBQ,IAAAA,EAAE,EAAC,IAAI;AACPC,IAAAA,EAAE,EAAC;AACH;AACAC,IAAAA,CAAC,EAAC,MAAM;AACRC,IAAAA,MAAM,EAAC,cAAc;AACrBC,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,WAAW,EAAC,GAAG;AACfC,IAAAA,YAAY,EAAC;AAAoB,GAClC,CAAC,eAEFlC,gBAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AAAQC,IAAAA,SAAS,EAAC,OAAO;AAACQ,IAAAA,EAAE,EAAC,IAAI;AAACC,IAAAA,EAAE,EAAC,IAAI;AAACG,IAAAA,IAAI,EAAC;AAAc,GAAE,CAC5D,CACN,eACDhC,gBAAA,CAAAmB,aAAA,CAAA,OAAA,EAAA;AAAOgB,IAAAA,OAAO,EAAElB;GAAUZ,EAAAA,KAAa,CACpC,CACF,CAAC;AAEV,CAAC;AAEDN,UAAU,CAACqC,WAAW,GAAG,YAAY;;;;"}
@@ -25,12 +25,12 @@ function _iterableToArrayLimit(r, l) {
25
25
  i,
26
26
  u,
27
27
  a = [],
28
- f = !0,
29
- o = !1;
28
+ f = true,
29
+ o = false;
30
30
  try {
31
31
  if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
32
32
  } catch (r) {
33
- o = !0, n = r;
33
+ o = true, n = r;
34
34
  } finally {
35
35
  try {
36
36
  if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
@@ -50,8 +50,8 @@ function _objectWithoutProperties(e, t) {
50
50
  r,
51
51
  i = _objectWithoutPropertiesLoose(e, t);
52
52
  if (Object.getOwnPropertySymbols) {
53
- var s = Object.getOwnPropertySymbols(e);
54
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
53
+ var n = Object.getOwnPropertySymbols(e);
54
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
55
55
  }
56
56
  return i;
57
57
  }
@@ -59,7 +59,7 @@ function _objectWithoutPropertiesLoose(r, e) {
59
59
  if (null == r) return {};
60
60
  var t = {};
61
61
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
62
- if (e.includes(n)) continue;
62
+ if (-1 !== e.indexOf(n)) continue;
63
63
  t[n] = r[n];
64
64
  }
65
65
  return t;
@@ -123,6 +123,7 @@ var FieldRadio = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
123
123
  htmlFor: inputId
124
124
  }, label)));
125
125
  });
126
+ FieldRadio.displayName = 'FieldRadio';
126
127
 
127
128
  export { FieldRadio as default };
128
129
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/FieldRadio/FieldRadio.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport type FieldRadioProps = {\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldRadio = React.forwardRef<HTMLInputElement, FieldRadioProps>(({ id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n <div className=\"bds-radio\" data-enhanced={isEnhanced ? '' : undefined}>\n <input {...props} id={inputId} ref={ref} type=\"radio\" />\n {isEnhanced && (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <circle\n className=\"background\"\n cx=\"12\"\n cy=\"12\"\n /* subtract half of the strokeWidth to get radius. credit: https://stackoverflow.com/questions/64149284/svg-stroke-width-changes-dimensions-of-the-object */\n r=\"11.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n vectorEffect=\"non-scaling-stroke\"\n />\n {/* radius set through CSS when selected */}\n <circle className=\"radio\" cx=\"12\" cy=\"12\" fill=\"currentColor\" />\n </svg>\n )}\n {/* biome-ignore lint/a11y/noLabelWithoutControl: false positive; label is provided dynamically */}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n});\n\nexport default FieldRadio;\n"],"names":["FieldRadio","React","forwardRef","_ref","ref","id","label","props","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","inputId","useEffect","createElement","className","undefined","_extends","type","width","height","viewBox","focusable","cx","cy","r","stroke","fill","strokeWidth","vectorEffect","htmlFor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMMA,IAAAA,UAAU,gBAAGC,KAAK,CAACC,UAAU,CAAoC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA;AAC3F,EAAA,IAAAC,eAAA,GAAoCT,KAAK,CAACU,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,UAAU,GAAGf,KAAK,CAACgB,KAAK,EAAE;EAEhC,IAAMC,OAAO,GAAGb,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,KAAAA,CAAAA,GAAAA,EAAE,GAAIW,UAAU;EAEhCf,KAAK,CAACkB,SAAS,CAAC,YAAM;IACpBJ,aAAa,CAAC,IAAI,CAAC;GACpB,EAAE,EAAE,CAAC;EAEN,oBACEd,KAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GACbpB,eAAAA,KAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;IAAC,eAAeP,EAAAA,UAAU,GAAG,EAAE,GAAGQ;AAAU,GAAA,eACpErB,KAAA,CAAAmB,aAAA,CAAAG,OAAAA,EAAAA,QAAA,KAAWhB,KAAK,EAAA;AAAEF,IAAAA,EAAE,EAAEa,OAAQ;AAACd,IAAAA,GAAG,EAAEA,GAAI;AAACoB,IAAAA,IAAI,EAAC;AAAO,GAAA,CAAE,CAAC,EACvDV,UAAU,iBACTb,KAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,MAAM;AAACC,IAAAA,SAAS,EAAC;GAC3E3B,eAAAA,KAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,YAAY;AACtBQ,IAAAA,EAAE,EAAC,IAAI;AACPC,IAAAA,EAAE,EAAC;AACH;AACAC,IAAAA,CAAC,EAAC,MAAM;AACRC,IAAAA,MAAM,EAAC,cAAc;AACrBC,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,WAAW,EAAC,GAAG;AACfC,IAAAA,YAAY,EAAC;AAAoB,GAClC,CAAC,eAEFlC,KAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AAAQC,IAAAA,SAAS,EAAC,OAAO;AAACQ,IAAAA,EAAE,EAAC,IAAI;AAACC,IAAAA,EAAE,EAAC,IAAI;AAACG,IAAAA,IAAI,EAAC;AAAc,GAAE,CAC5D,CACN,eAEDhC,KAAA,CAAAmB,aAAA,CAAA,OAAA,EAAA;AAAOgB,IAAAA,OAAO,EAAElB;GAAUZ,EAAAA,KAAa,CACpC,CACF,CAAC;AAEV,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/FieldRadio/FieldRadio.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport type FieldRadioProps = {\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'input'>;\n\nconst FieldRadio = React.forwardRef<HTMLInputElement, FieldRadioProps>(({ id, label, ...props }, ref) => {\n const [isEnhanced, setIsEnhanced] = React.useState(false);\n\n const fallbackId = React.useId();\n\n const inputId = id ?? fallbackId;\n\n React.useEffect(() => {\n setIsEnhanced(true);\n }, []);\n\n return (\n <div className=\"bds-form-group\">\n <div className=\"bds-radio\" data-enhanced={isEnhanced ? '' : undefined}>\n <input {...props} id={inputId} ref={ref} type=\"radio\" />\n {isEnhanced && (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <circle\n className=\"background\"\n cx=\"12\"\n cy=\"12\"\n /* subtract half of the strokeWidth to get radius. credit: https://stackoverflow.com/questions/64149284/svg-stroke-width-changes-dimensions-of-the-object */\n r=\"11.5\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"1\"\n vectorEffect=\"non-scaling-stroke\"\n />\n {/* radius set through CSS when selected */}\n <circle className=\"radio\" cx=\"12\" cy=\"12\" fill=\"currentColor\" />\n </svg>\n )}\n <label htmlFor={inputId}>{label}</label>\n </div>\n </div>\n );\n});\n\nFieldRadio.displayName = 'FieldRadio';\n\nexport default FieldRadio;\n"],"names":["FieldRadio","React","forwardRef","_ref","ref","id","label","props","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","isEnhanced","setIsEnhanced","fallbackId","useId","inputId","useEffect","createElement","className","undefined","_extends","type","width","height","viewBox","focusable","cx","cy","r","stroke","fill","strokeWidth","vectorEffect","htmlFor","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMMA,IAAAA,UAAU,gBAAGC,KAAK,CAACC,UAAU,CAAoC,UAAAC,IAAA,EAA0BC,GAAG,EAAK;AAAA,EAAA,IAA/BC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA;AAC3F,EAAA,IAAAC,eAAA,GAAoCT,KAAK,CAACU,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,UAAU,GAAGf,KAAK,CAACgB,KAAK,EAAE;EAEhC,IAAMC,OAAO,GAAGb,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,MAAAA,GAAAA,EAAE,GAAIW,UAAU;EAEhCf,KAAK,CAACkB,SAAS,CAAC,YAAM;IACpBJ,aAAa,CAAC,IAAI,CAAC;GACpB,EAAE,EAAE,CAAC;EAEN,oBACEd,KAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC;GACbpB,eAAAA,KAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,WAAW;IAAC,eAAeP,EAAAA,UAAU,GAAG,EAAE,GAAGQ;AAAU,GAAA,eACpErB,KAAA,CAAAmB,aAAA,CAAAG,OAAAA,EAAAA,QAAA,KAAWhB,KAAK,EAAA;AAAEF,IAAAA,EAAE,EAAEa,OAAQ;AAACd,IAAAA,GAAG,EAAEA,GAAI;AAACoB,IAAAA,IAAI,EAAC;AAAO,GAAA,CAAE,CAAC,EACvDV,UAAU,iBACTb,KAAA,CAAAmB,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAC,WAAW;AAAC,IAAA,aAAA,EAAY,MAAM;AAACC,IAAAA,SAAS,EAAC;GAC3E3B,eAAAA,KAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,YAAY;AACtBQ,IAAAA,EAAE,EAAC,IAAI;AACPC,IAAAA,EAAE,EAAC;AACH;AACAC,IAAAA,CAAC,EAAC,MAAM;AACRC,IAAAA,MAAM,EAAC,cAAc;AACrBC,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,WAAW,EAAC,GAAG;AACfC,IAAAA,YAAY,EAAC;AAAoB,GAClC,CAAC,eAEFlC,KAAA,CAAAmB,aAAA,CAAA,QAAA,EAAA;AAAQC,IAAAA,SAAS,EAAC,OAAO;AAACQ,IAAAA,EAAE,EAAC,IAAI;AAACC,IAAAA,EAAE,EAAC,IAAI;AAACG,IAAAA,IAAI,EAAC;AAAc,GAAE,CAC5D,CACN,eACDhC,KAAA,CAAAmB,aAAA,CAAA,OAAA,EAAA;AAAOgB,IAAAA,OAAO,EAAElB;GAAUZ,EAAAA,KAAa,CACpC,CACF,CAAC;AAEV,CAAC;AAEDN,UAAU,CAACqC,WAAW,GAAG,YAAY;;;;"}
@@ -38,8 +38,8 @@ function _objectWithoutProperties(e, t) {
38
38
  r,
39
39
  i = _objectWithoutPropertiesLoose(e, t);
40
40
  if (Object.getOwnPropertySymbols) {
41
- var s = Object.getOwnPropertySymbols(e);
42
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
41
+ var n = Object.getOwnPropertySymbols(e);
42
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
43
43
  }
44
44
  return i;
45
45
  }
@@ -47,7 +47,7 @@ function _objectWithoutPropertiesLoose(r, e) {
47
47
  if (null == r) return {};
48
48
  var t = {};
49
49
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
50
- if (e.includes(n)) continue;
50
+ if (-1 !== e.indexOf(n)) continue;
51
51
  t[n] = r[n];
52
52
  }
53
53
  return t;
@@ -76,7 +76,6 @@ function ErrorMessage(_ref) {
76
76
 
77
77
  var _excluded = ["error", "hint", "id", "isOptional", "label"];
78
78
  var FieldSelect = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
79
- var _id;
80
79
  var error = _ref.error,
81
80
  hint = _ref.hint,
82
81
  id = _ref.id,
@@ -84,7 +83,7 @@ var FieldSelect = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref)
84
83
  isOptional = _ref$isOptional === void 0 ? false : _ref$isOptional,
85
84
  label = _ref.label,
86
85
  props = _objectWithoutProperties(_ref, _excluded);
87
- id = (_id = id) !== null && _id !== void 0 ? _id : props.name;
86
+ id = id !== null && id !== void 0 ? id : props.name;
88
87
  var errorId = React__namespace.useId();
89
88
  var hintId = React__namespace.useId();
90
89
  return /*#__PURE__*/React__namespace.createElement("div", {
@@ -105,6 +104,7 @@ var FieldSelect = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref)
105
104
  ref: ref
106
105
  }, props))));
107
106
  });
107
+ FieldSelect.displayName = 'FieldSelect';
108
108
 
109
109
  exports.default = FieldSelect;
110
110
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldSelect/FieldSelect.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';\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldSelectProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'select'>;\n\nconst FieldSelect = React.forwardRef<HTMLSelectElement, FieldSelectProps>(\n ({ 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 <div className=\"bds-select\">\n <select\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n </div>\n );\n },\n);\n\nexport default FieldSelect;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldSelect","forwardRef","ref","_id","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldSelect/FieldSelect.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';\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldSelectProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'select'>;\n\nconst FieldSelect = React.forwardRef<HTMLSelectElement, FieldSelectProps>(\n ({ 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 <div className=\"bds-select\">\n <select\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n </div>\n );\n },\n);\n\nFieldSelect.displayName = 'FieldSelect';\n\nexport default FieldSelect;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldSelect","forwardRef","ref","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat","displayName"],"mappings":"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"}
@@ -15,8 +15,8 @@ function _objectWithoutProperties(e, t) {
15
15
  r,
16
16
  i = _objectWithoutPropertiesLoose(e, t);
17
17
  if (Object.getOwnPropertySymbols) {
18
- var s = Object.getOwnPropertySymbols(e);
19
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
18
+ var n = Object.getOwnPropertySymbols(e);
19
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
20
20
  }
21
21
  return i;
22
22
  }
@@ -24,7 +24,7 @@ function _objectWithoutPropertiesLoose(r, e) {
24
24
  if (null == r) return {};
25
25
  var t = {};
26
26
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
27
- if (e.includes(n)) continue;
27
+ if (-1 !== e.indexOf(n)) continue;
28
28
  t[n] = r[n];
29
29
  }
30
30
  return t;
@@ -53,7 +53,6 @@ function ErrorMessage(_ref) {
53
53
 
54
54
  var _excluded = ["error", "hint", "id", "isOptional", "label"];
55
55
  var FieldSelect = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
56
- var _id;
57
56
  var error = _ref.error,
58
57
  hint = _ref.hint,
59
58
  id = _ref.id,
@@ -61,7 +60,7 @@ var FieldSelect = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
61
60
  isOptional = _ref$isOptional === void 0 ? false : _ref$isOptional,
62
61
  label = _ref.label,
63
62
  props = _objectWithoutProperties(_ref, _excluded);
64
- id = (_id = id) !== null && _id !== void 0 ? _id : props.name;
63
+ id = id !== null && id !== void 0 ? id : props.name;
65
64
  var errorId = React.useId();
66
65
  var hintId = React.useId();
67
66
  return /*#__PURE__*/React.createElement("div", {
@@ -82,6 +81,7 @@ var FieldSelect = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
82
81
  ref: ref
83
82
  }, props))));
84
83
  });
84
+ FieldSelect.displayName = 'FieldSelect';
85
85
 
86
86
  export { FieldSelect as default };
87
87
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldSelect/FieldSelect.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';\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldSelectProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'select'>;\n\nconst FieldSelect = React.forwardRef<HTMLSelectElement, FieldSelectProps>(\n ({ 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 <div className=\"bds-select\">\n <select\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n </div>\n );\n },\n);\n\nexport default FieldSelect;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldSelect","forwardRef","ref","_id","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldSelect/FieldSelect.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';\nimport ErrorMessage from '../ErrorMessage';\n\nexport type FieldSelectProps = {\n error?: string;\n hint?: React.ReactNode | string;\n id?: string;\n isOptional?: boolean;\n label: React.ReactNode | string;\n} & React.ComponentPropsWithoutRef<'select'>;\n\nconst FieldSelect = React.forwardRef<HTMLSelectElement, FieldSelectProps>(\n ({ 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 <div className=\"bds-select\">\n <select\n aria-invalid={error ? true : undefined}\n aria-describedby={error && hint ? `${hintId} ${errorId}` : error ? errorId : hint ? hintId : undefined}\n id={id}\n ref={ref}\n {...props}\n />\n </div>\n </div>\n );\n },\n);\n\nFieldSelect.displayName = 'FieldSelect';\n\nexport default FieldSelect;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldSelect","forwardRef","ref","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat","displayName"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react';
2
2
  export type FieldTextInputProps = {
3
3
  error?: string;
4
- hint?: string;
4
+ hint?: React.ReactNode | string;
5
5
  id?: string;
6
6
  isOptional?: boolean;
7
7
  label: string;
8
8
  } & React.ComponentPropsWithoutRef<'input'>;
9
9
  declare const FieldTextInput: React.ForwardRefExoticComponent<{
10
10
  error?: string;
11
- hint?: string;
11
+ hint?: React.ReactNode | string;
12
12
  id?: string;
13
13
  isOptional?: boolean;
14
14
  label: string;
@@ -38,8 +38,8 @@ function _objectWithoutProperties(e, t) {
38
38
  r,
39
39
  i = _objectWithoutPropertiesLoose(e, t);
40
40
  if (Object.getOwnPropertySymbols) {
41
- var s = Object.getOwnPropertySymbols(e);
42
- for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
41
+ var n = Object.getOwnPropertySymbols(e);
42
+ for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
43
43
  }
44
44
  return i;
45
45
  }
@@ -47,7 +47,7 @@ function _objectWithoutPropertiesLoose(r, e) {
47
47
  if (null == r) return {};
48
48
  var t = {};
49
49
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
50
- if (e.includes(n)) continue;
50
+ if (-1 !== e.indexOf(n)) continue;
51
51
  t[n] = r[n];
52
52
  }
53
53
  return t;
@@ -76,7 +76,6 @@ function ErrorMessage(_ref) {
76
76
 
77
77
  var _excluded = ["className", "error", "hint", "id", "isOptional", "label"];
78
78
  var FieldTextInput = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
79
- var _id;
80
79
  var className = _ref.className,
81
80
  error = _ref.error,
82
81
  hint = _ref.hint,
@@ -85,7 +84,7 @@ var FieldTextInput = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
85
84
  isOptional = _ref$isOptional === void 0 ? false : _ref$isOptional,
86
85
  label = _ref.label,
87
86
  props = _objectWithoutProperties(_ref, _excluded);
88
- id = (_id = id) !== null && _id !== void 0 ? _id : props.name;
87
+ id = id !== null && id !== void 0 ? id : props.name;
89
88
  var errorId = React__namespace.useId();
90
89
  var hintId = React__namespace.useId();
91
90
  return /*#__PURE__*/React__namespace.createElement("div", {
@@ -107,6 +106,7 @@ var FieldTextInput = /*#__PURE__*/React__namespace.forwardRef(function (_ref, re
107
106
  ref: ref
108
107
  }, props)));
109
108
  });
109
+ FieldTextInput.displayName = 'FieldTextInput';
110
110
 
111
111
  exports.default = FieldTextInput;
112
112
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldTextInput/FieldTextInput.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 FieldTextInputProps = {\n error?: string;\n hint?: 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\nexport default FieldTextInput;\n"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldTextInput","forwardRef","ref","_id","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/ErrorMessage/ErrorMessage.tsx","../../src/FieldTextInput/FieldTextInput.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 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"],"names":["ErrorMessage","_ref","className","children","props","_objectWithoutProperties","_excluded","React","createElement","_extends","filter","x","join","xmlns","viewBox","height","width","fill","d","FieldTextInput","forwardRef","ref","error","hint","id","_ref$isOptional","isOptional","label","name","errorId","useId","hintId","htmlFor","undefined","concat","displayName"],"mappings":"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"}