@moduk/frontend 1.6.0 → 1.7.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 (86) hide show
  1. package/dist/nunjucks/moduk/components/character-count/__examples__/with-custom-messages.njk +25 -0
  2. package/dist/nunjucks/moduk/components/character-count/__examples__/with-word-count-custom-messages.njk +25 -0
  3. package/dist/nunjucks/moduk/components/fieldset/__examples__/not-as-page-heading.njk +44 -0
  4. package/dist/nunjucks/moduk/components/notification-banner/__examples__/with-custom-title.njk +6 -0
  5. package/dist/nunjucks/moduk/components/notification-banner/__examples__/with-disable-auto-focus.njk +6 -0
  6. package/nunjucks/moduk/components/character-count/__examples__/with-custom-messages.njk +25 -0
  7. package/nunjucks/moduk/components/character-count/__examples__/with-word-count-custom-messages.njk +25 -0
  8. package/nunjucks/moduk/components/fieldset/__examples__/not-as-page-heading.njk +44 -0
  9. package/nunjucks/moduk/components/notification-banner/__examples__/with-custom-title.njk +6 -0
  10. package/nunjucks/moduk/components/notification-banner/__examples__/with-disable-auto-focus.njk +6 -0
  11. package/package.json +7 -7
  12. package/react/MODUKBody/MODUKBody.d.ts +7 -0
  13. package/react/MODUKBody/MODUKBody.d.ts.map +1 -1
  14. package/react/accordion/Accordion.d.ts +65 -0
  15. package/react/accordion/Accordion.d.ts.map +1 -1
  16. package/react/accordion/AccordionItem.d.ts +14 -0
  17. package/react/accordion/AccordionItem.d.ts.map +1 -1
  18. package/react/back-link/BackLink.d.ts +8 -0
  19. package/react/back-link/BackLink.d.ts.map +1 -1
  20. package/react/character-count/CharacterCount.d.ts +115 -0
  21. package/react/character-count/CharacterCount.d.ts.map +1 -0
  22. package/react/character-count/index.d.ts +3 -0
  23. package/react/character-count/index.d.ts.map +1 -0
  24. package/react/character-count/useThrottledValue.d.ts +6 -0
  25. package/react/character-count/useThrottledValue.d.ts.map +1 -0
  26. package/react/details/Details.d.ts +23 -0
  27. package/react/details/Details.d.ts.map +1 -0
  28. package/react/details/index.d.ts +2 -0
  29. package/react/details/index.d.ts.map +1 -0
  30. package/react/esm/accordion/Accordion.js +4 -3
  31. package/react/esm/character-count/CharacterCount.js +158 -0
  32. package/react/esm/character-count/index.js +2 -0
  33. package/react/esm/character-count/useThrottledValue.js +28 -0
  34. package/react/esm/details/Details.js +35 -0
  35. package/react/esm/details/index.js +1 -0
  36. package/react/esm/fieldset/Fieldset.js +24 -0
  37. package/react/esm/fieldset/FieldsetLegend.js +29 -0
  38. package/react/esm/fieldset/index.js +2 -0
  39. package/react/esm/index.js +3 -0
  40. package/react/esm/notification-banner/NotificationBanner.js +87 -0
  41. package/react/esm/notification-banner/index.js +1 -0
  42. package/react/esm/textarea/Textarea.js +3 -2
  43. package/react/fieldset/Fieldset.d.ts +46 -0
  44. package/react/fieldset/Fieldset.d.ts.map +1 -0
  45. package/react/fieldset/FieldsetLegend.d.ts +18 -0
  46. package/react/fieldset/FieldsetLegend.d.ts.map +1 -0
  47. package/react/fieldset/index.d.ts +3 -0
  48. package/react/fieldset/index.d.ts.map +1 -0
  49. package/react/header/Header.d.ts +53 -0
  50. package/react/header/Header.d.ts.map +1 -1
  51. package/react/header/HeaderNavigationItem.d.ts +8 -0
  52. package/react/header/HeaderNavigationItem.d.ts.map +1 -1
  53. package/react/header/HeaderNavigationLink.d.ts +2 -0
  54. package/react/header/HeaderNavigationLink.d.ts.map +1 -1
  55. package/react/index.d.ts +3 -0
  56. package/react/index.d.ts.map +1 -1
  57. package/react/index.js +1 -1
  58. package/react/index.js.map +1 -1
  59. package/react/internal/Link/Link.d.ts +6 -0
  60. package/react/internal/Link/Link.d.ts.map +1 -1
  61. package/react/notification-banner/NotificationBanner.d.ts +71 -0
  62. package/react/notification-banner/NotificationBanner.d.ts.map +1 -0
  63. package/react/notification-banner/index.d.ts +2 -0
  64. package/react/notification-banner/index.d.ts.map +1 -0
  65. package/react/textarea/Textarea.d.ts +6 -1
  66. package/react/textarea/Textarea.d.ts.map +1 -1
  67. package/src/react/character-count/__examples__/default.tsx +14 -0
  68. package/src/react/character-count/__examples__/not-as-page-heading.tsx +13 -0
  69. package/src/react/character-count/__examples__/with-custom-messages.tsx +24 -0
  70. package/src/react/character-count/__examples__/with-error-message.tsx +16 -0
  71. package/src/react/character-count/__examples__/with-threshold.tsx +15 -0
  72. package/src/react/character-count/__examples__/with-word-count-custom-messages.tsx +18 -0
  73. package/src/react/character-count/__examples__/word-count.tsx +13 -0
  74. package/src/react/details/__examples__/default.tsx +7 -0
  75. package/src/react/details/__examples__/open.tsx +7 -0
  76. package/src/react/fieldset/__examples__/default.tsx +31 -0
  77. package/src/react/fieldset/__examples__/not-as-page-heading.tsx +31 -0
  78. package/src/react/notification-banner/__examples__/default.tsx +7 -0
  79. package/src/react/notification-banner/__examples__/success.tsx +13 -0
  80. package/src/react/notification-banner/__examples__/with-custom-title.tsx +7 -0
  81. package/src/react/notification-banner/__examples__/with-disable-auto-focus.tsx +7 -0
  82. package/src/react/notification-banner/__examples__/with-html.tsx +10 -0
  83. package/client/index.d.ts +0 -2
  84. package/client/index.d.ts.map +0 -1
  85. package/dist/client/index.d.ts +0 -2
  86. package/dist/client/index.d.ts.map +0 -1
@@ -0,0 +1,158 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["charactersAtLimitText", "charactersOverLimitText", "charactersUnderLimitText", "className", "countMessageClassname", "maxLength", "maxWords", "onChange", "textareaDescriptionText", "threshold", "wordsAtLimitText", "wordsOverLimitText", "wordsUnderLimitText"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
+ import clsx from 'clsx';
17
+ import { isNil } from 'lodash';
18
+ import { forwardRef, useCallback, useEffect, useId, useState } from 'react';
19
+ import { mergeRefs } from 'react-merge-refs';
20
+ import { Textarea } from '../textarea';
21
+ import { useThrottledValue } from './useThrottledValue';
22
+ import { jsx as _jsx } from "react/jsx-runtime";
23
+ import { Fragment as _Fragment } from "react/jsx-runtime";
24
+ import { jsxs as _jsxs } from "react/jsx-runtime";
25
+ var DEFAULT_MESSAGES = {
26
+ charactersUnderLimit: {
27
+ one: 'You have %{count} character remaining',
28
+ other: 'You have %{count} characters remaining'
29
+ },
30
+ charactersAtLimit: 'You have 0 characters remaining',
31
+ charactersOverLimit: {
32
+ one: 'You have %{count} character too many',
33
+ other: 'You have %{count} characters too many'
34
+ },
35
+ textareaDescriptionCharacters: 'You can enter up to %{count} characters',
36
+ textareaDescriptionWords: 'You can enter up to %{count} words',
37
+ wordsUnderLimit: {
38
+ one: 'You have %{count} word remaining',
39
+ other: 'You have %{count} words remaining'
40
+ },
41
+ wordsAtLimit: 'You have 0 words remaining',
42
+ wordsOverLimitText: {
43
+ one: 'You have %{count} word too many',
44
+ other: 'You have %{count} words too many'
45
+ }
46
+ };
47
+ function getStatusMessageTemplate(countInUnits, maxUnits, isWords, messageOverrides) {
48
+ var _messageOverrides$wor4, _messageOverrides$wor5, _messageOverrides$cha4, _messageOverrides$cha5;
49
+ if (countInUnits > maxUnits) {
50
+ var _messageOverrides$wor, _messageOverrides$wor2, _messageOverrides$cha, _messageOverrides$cha2;
51
+ return isWords ? (_messageOverrides$wor = (_messageOverrides$wor2 = messageOverrides.wordsOverLimitText) === null || _messageOverrides$wor2 === void 0 ? void 0 : _messageOverrides$wor2.other) !== null && _messageOverrides$wor !== void 0 ? _messageOverrides$wor : DEFAULT_MESSAGES.wordsOverLimitText.other : (_messageOverrides$cha = (_messageOverrides$cha2 = messageOverrides.charactersOverLimitText) === null || _messageOverrides$cha2 === void 0 ? void 0 : _messageOverrides$cha2.other) !== null && _messageOverrides$cha !== void 0 ? _messageOverrides$cha : DEFAULT_MESSAGES.charactersOverLimit.other;
52
+ }
53
+ if (countInUnits === maxUnits) {
54
+ var _messageOverrides$wor3, _messageOverrides$cha3;
55
+ return isWords ? (_messageOverrides$wor3 = messageOverrides.wordsAtLimitText) !== null && _messageOverrides$wor3 !== void 0 ? _messageOverrides$wor3 : DEFAULT_MESSAGES.wordsAtLimit : (_messageOverrides$cha3 = messageOverrides.charactersAtLimitText) !== null && _messageOverrides$cha3 !== void 0 ? _messageOverrides$cha3 : DEFAULT_MESSAGES.charactersAtLimit;
56
+ }
57
+ return isWords ? (_messageOverrides$wor4 = (_messageOverrides$wor5 = messageOverrides.wordsUnderLimitText) === null || _messageOverrides$wor5 === void 0 ? void 0 : _messageOverrides$wor5.other) !== null && _messageOverrides$wor4 !== void 0 ? _messageOverrides$wor4 : DEFAULT_MESSAGES.wordsUnderLimit.other : (_messageOverrides$cha4 = (_messageOverrides$cha5 = messageOverrides.charactersUnderLimitText) === null || _messageOverrides$cha5 === void 0 ? void 0 : _messageOverrides$cha5.other) !== null && _messageOverrides$cha4 !== void 0 ? _messageOverrides$cha4 : DEFAULT_MESSAGES.charactersUnderLimit.other;
58
+ }
59
+ function formatMessage(message, count) {
60
+ return message.replace('%{count}', count.toString());
61
+ }
62
+ function formatStatusMessage(countInUnits, maxUnits, isWords, messageOverrides) {
63
+ var messageTemplate = getStatusMessageTemplate(countInUnits, maxUnits, isWords, messageOverrides);
64
+ return formatMessage(messageTemplate, Math.abs(maxUnits - countInUnits));
65
+ }
66
+ function formatDescriptionMessage(maxUnits, isWords, textareaDescriptionText) {
67
+ var descriptionMessageTemplate = textareaDescriptionText !== null && textareaDescriptionText !== void 0 ? textareaDescriptionText : isWords ? DEFAULT_MESSAGES.textareaDescriptionWords : DEFAULT_MESSAGES.textareaDescriptionCharacters;
68
+ return formatMessage(descriptionMessageTemplate, maxUnits);
69
+ }
70
+ function getTextUnitCount(text, isWords) {
71
+ return isWords ? (text.match(/\S+/g) || []).length : text.length;
72
+ }
73
+ export var CharacterCount = forwardRef(function (_ref, forwardedRef) {
74
+ var _ref2;
75
+ var charactersAtLimitText = _ref.charactersAtLimitText,
76
+ charactersOverLimitText = _ref.charactersOverLimitText,
77
+ charactersUnderLimitText = _ref.charactersUnderLimitText,
78
+ className = _ref.className,
79
+ countMessageClassname = _ref.countMessageClassname,
80
+ maxLength = _ref.maxLength,
81
+ maxWords = _ref.maxWords,
82
+ onChange = _ref.onChange,
83
+ textareaDescriptionText = _ref.textareaDescriptionText,
84
+ threshold = _ref.threshold,
85
+ wordsAtLimitText = _ref.wordsAtLimitText,
86
+ wordsOverLimitText = _ref.wordsOverLimitText,
87
+ wordsUnderLimitText = _ref.wordsUnderLimitText,
88
+ rest = _objectWithoutProperties(_ref, _excluded);
89
+ var messageOverrides = {
90
+ charactersAtLimitText: charactersAtLimitText,
91
+ charactersOverLimitText: charactersOverLimitText,
92
+ charactersUnderLimitText: charactersUnderLimitText,
93
+ textareaDescriptionText: textareaDescriptionText,
94
+ wordsAtLimitText: wordsAtLimitText,
95
+ wordsOverLimitText: wordsOverLimitText,
96
+ wordsUnderLimitText: wordsUnderLimitText
97
+ };
98
+ var _useState = useState(false),
99
+ _useState2 = _slicedToArray(_useState, 2),
100
+ isClient = _useState2[0],
101
+ setClient = _useState2[1];
102
+ var _useThrottledValue = useThrottledValue(),
103
+ rawValue = _useThrottledValue.rawValue,
104
+ setValue = _useThrottledValue.setValue,
105
+ throttledValue = _useThrottledValue.throttledValue;
106
+ var id = useId();
107
+ useEffect(function () {
108
+ setClient(true);
109
+ }, []);
110
+ var handleChange = useCallback(function (event) {
111
+ setValue(event.currentTarget.value);
112
+ onChange === null || onChange === void 0 || onChange(event);
113
+ }, [onChange, setValue]);
114
+ var isWords = !isNil(maxWords);
115
+ var maxUnits = (_ref2 = isWords ? maxWords : maxLength) !== null && _ref2 !== void 0 ? _ref2 : 0;
116
+ var rawValueUnitCount = getTextUnitCount(rawValue, isWords);
117
+ var throttledValueUnitCount = getTextUnitCount(throttledValue, isWords);
118
+ var isOverLimit = rawValueUnitCount > maxUnits;
119
+ var isOverThreshold = isNil(threshold) || isOverLimit || rawValueUnitCount / maxUnits >= threshold;
120
+ var visibleMessage = formatStatusMessage(rawValueUnitCount, maxUnits, isWords, messageOverrides);
121
+ var screenReaderMessage = formatStatusMessage(throttledValueUnitCount, maxUnits, isWords, messageOverrides);
122
+ var descriptionMessage = formatDescriptionMessage(maxUnits, isWords, textareaDescriptionText);
123
+ var callbackRef = useCallback(function (element) {
124
+ var _element$value;
125
+ setValue((_element$value = element === null || element === void 0 ? void 0 : element.value) !== null && _element$value !== void 0 ? _element$value : '');
126
+ }, [setValue]);
127
+ return _jsxs("div", {
128
+ className: "govuk-character-count",
129
+ children: [_jsx(Textarea, _objectSpread(_objectSpread({
130
+ ref: mergeRefs([callbackRef, forwardedRef]),
131
+ className: clsx(className, isOverLimit && 'govuk-textarea--error'),
132
+ id: id,
133
+ onChange: handleChange
134
+ }, rest), {}, {
135
+ children: isClient && _jsxs(_Fragment, {
136
+ children: [_jsx("div", {
137
+ id: "".concat(id, "-info"),
138
+ className: clsx('govuk-hint', 'govuk-character-count__message', 'govuk-visually-hidden', countMessageClassname),
139
+ children: descriptionMessage
140
+ }), _jsx("div", {
141
+ className: clsx('govuk-character-count__message', 'govuk-character-count__status', !isOverLimit && 'govuk-hint', isOverLimit && 'govuk-error-message', !isOverThreshold && 'govuk-character-count__message--disabled', countMessageClassname),
142
+ "aria-hidden": "true",
143
+ children: visibleMessage
144
+ }), _jsx("div", {
145
+ className: "govuk-character-count__sr-status govuk-visually-hidden",
146
+ "aria-hidden": !isOverThreshold,
147
+ "aria-live": "polite",
148
+ children: screenReaderMessage
149
+ })]
150
+ })
151
+ })), !isClient && _jsx("div", {
152
+ id: "".concat(id, "-info"),
153
+ className: clsx('govuk-hint', 'govuk-character-count__message', countMessageClassname),
154
+ children: descriptionMessage
155
+ })]
156
+ });
157
+ });
158
+ CharacterCount.displayName = 'CharacterCount';
@@ -0,0 +1,2 @@
1
+ export * from './CharacterCount';
2
+ export { useThrottledValue } from './useThrottledValue';
@@ -0,0 +1,28 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { throttle } from 'lodash';
8
+ import { useCallback, useRef, useState } from 'react';
9
+ export function useThrottledValue() {
10
+ var _useState = useState(''),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ rawValue = _useState2[0],
13
+ setRawValue = _useState2[1];
14
+ var _useState3 = useState(''),
15
+ _useState4 = _slicedToArray(_useState3, 2),
16
+ throttledValue = _useState4[0],
17
+ setThrottledValue = _useState4[1];
18
+ var throttledSetterRef = useRef(throttle(setThrottledValue, 1000));
19
+ var setValue = useCallback(function (value) {
20
+ setRawValue(value);
21
+ throttledSetterRef.current(value);
22
+ }, []);
23
+ return {
24
+ rawValue: rawValue,
25
+ setValue: setValue,
26
+ throttledValue: throttledValue
27
+ };
28
+ }
@@ -0,0 +1,35 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "className", "summary"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import clsx from 'clsx';
11
+ import { forwardRef } from 'react';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ export var Details = forwardRef(function (_ref, ref) {
15
+ var children = _ref.children,
16
+ className = _ref.className,
17
+ summary = _ref.summary,
18
+ rest = _objectWithoutProperties(_ref, _excluded);
19
+ return _jsxs("details", _objectSpread(_objectSpread({
20
+ ref: ref,
21
+ className: clsx('govuk-details', className)
22
+ }, rest), {}, {
23
+ children: [_jsx("summary", {
24
+ className: "govuk-details__summary",
25
+ children: _jsx("span", {
26
+ className: "govuk-details__summary-text",
27
+ children: summary
28
+ })
29
+ }), _jsx("div", {
30
+ className: "govuk-details__text",
31
+ children: children
32
+ })]
33
+ }));
34
+ });
35
+ Details.displayName = 'Details';
@@ -0,0 +1 @@
1
+ export * from './Details';
@@ -0,0 +1,24 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "className"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import clsx from 'clsx';
11
+ import { forwardRef } from 'react';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export var Fieldset = forwardRef(function (_ref, ref) {
14
+ var children = _ref.children,
15
+ className = _ref.className,
16
+ rest = _objectWithoutProperties(_ref, _excluded);
17
+ return _jsx("fieldset", _objectSpread(_objectSpread({
18
+ ref: ref,
19
+ className: clsx('govuk-fieldset', className)
20
+ }, rest), {}, {
21
+ children: children
22
+ }));
23
+ });
24
+ Fieldset.displayName = 'Fieldset';
@@ -0,0 +1,29 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "className", "isPageHeading"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import clsx from 'clsx';
11
+ import { forwardRef } from 'react';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export var FieldsetLegend = forwardRef(function (_ref, ref) {
14
+ var children = _ref.children,
15
+ className = _ref.className,
16
+ isPageHeading = _ref.isPageHeading,
17
+ rest = _objectWithoutProperties(_ref, _excluded);
18
+ var contents = isPageHeading ? _jsx("h1", {
19
+ className: "govuk-fieldset__heading",
20
+ children: children
21
+ }) : children;
22
+ return _jsx("legend", _objectSpread(_objectSpread({
23
+ ref: ref,
24
+ className: clsx('govuk-fieldset__legend', className)
25
+ }, rest), {}, {
26
+ children: contents
27
+ }));
28
+ });
29
+ FieldsetLegend.displayName = 'FieldsetLegend';
@@ -0,0 +1,2 @@
1
+ export * from './Fieldset';
2
+ export * from './FieldsetLegend';
@@ -2,7 +2,10 @@
2
2
 
3
3
  export * from './accordion';
4
4
  export * from './back-link/BackLink';
5
+ export * from './character-count';
6
+ export * from './details';
5
7
  export * from './error-message';
8
+ export * from './fieldset';
6
9
  export * from './footer';
7
10
  export * from './header';
8
11
  export * from './hint';
@@ -0,0 +1,87 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["children", "disableAutoFocus", "onBlur", "role", "title", "titleHeadingTag", "titleId", "type"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import clsx from 'clsx';
11
+ import { Children, forwardRef, isValidElement, useCallback, useEffect, useId, useRef } from 'react';
12
+ import { mergeRefs } from 'react-merge-refs';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ var NotificationBannerTitle = function NotificationBannerTitle(_ref) {
16
+ var children = _ref.children,
17
+ Heading = _ref.headingTag,
18
+ id = _ref.id;
19
+ return _jsx(Heading, {
20
+ className: clsx('govuk-notification-banner__title'),
21
+ id: id,
22
+ children: children
23
+ });
24
+ };
25
+ export var NotificationBanner = forwardRef(function (_ref2, forwardedRef) {
26
+ var children = _ref2.children,
27
+ disableAutoFocus = _ref2.disableAutoFocus,
28
+ onBlur = _ref2.onBlur,
29
+ role = _ref2.role,
30
+ title = _ref2.title,
31
+ _ref2$titleHeadingTag = _ref2.titleHeadingTag,
32
+ titleHeadingTag = _ref2$titleHeadingTag === void 0 ? 'h2' : _ref2$titleHeadingTag,
33
+ titleId = _ref2.titleId,
34
+ type = _ref2.type,
35
+ rest = _objectWithoutProperties(_ref2, _excluded);
36
+ var autoTitleId = useId();
37
+ var ref = useRef(null);
38
+ var isFirstRender = useRef(true);
39
+ var resolvedTitleId = titleId || autoTitleId;
40
+ var isSuccess = type === 'success';
41
+ var computedRole = role !== null && role !== void 0 ? role : isSuccess ? 'alert' : 'region';
42
+ var computedTitle = title !== null && title !== void 0 ? title : isSuccess ? 'Success' : 'Important';
43
+ var hasSimpleChildren = !Children.toArray(children).every(isValidElement);
44
+ var content = hasSimpleChildren ? _jsx("p", {
45
+ className: "govuk-notification-banner__heading",
46
+ children: children
47
+ }) : children;
48
+ var handleBlur = useCallback(function (event) {
49
+ var _ref$current;
50
+ (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.removeAttribute('tabindex');
51
+ onBlur === null || onBlur === void 0 || onBlur(event);
52
+ }, [onBlur]);
53
+ useEffect(function () {
54
+ if (!ref.current) {
55
+ return;
56
+ }
57
+ var previousIsFirstRender = isFirstRender.current;
58
+ isFirstRender.current = false;
59
+ if (!previousIsFirstRender || disableAutoFocus || computedRole !== 'alert') {
60
+ return;
61
+ }
62
+ if (!ref.current.getAttribute('tabindex')) {
63
+ ref.current.setAttribute('tabindex', '-1');
64
+ }
65
+ ref.current.focus();
66
+ }, [computedRole, disableAutoFocus]);
67
+ return _jsxs("div", _objectSpread(_objectSpread({
68
+ ref: mergeRefs([ref, forwardedRef]),
69
+ "aria-labelledby": resolvedTitleId,
70
+ className: clsx('govuk-notification-banner', isSuccess && 'govuk-notification-banner--success'),
71
+ onBlur: handleBlur,
72
+ role: computedRole
73
+ }, rest), {}, {
74
+ children: [_jsx("div", {
75
+ className: "govuk-notification-banner__header",
76
+ children: _jsx(NotificationBannerTitle, {
77
+ id: resolvedTitleId,
78
+ headingTag: titleHeadingTag,
79
+ children: computedTitle
80
+ })
81
+ }), _jsx("div", {
82
+ className: "govuk-notification-banner__content",
83
+ children: content
84
+ })]
85
+ }));
86
+ });
87
+ NotificationBanner.displayName = 'NotificationBanner';
@@ -0,0 +1 @@
1
+ export * from './NotificationBanner';
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["aria-describedby", "className", "errorMessage", "formGroupClassName", "hint", "id", "label", "rows"];
2
+ var _excluded = ["aria-describedby", "children", "className", "errorMessage", "formGroupClassName", "hint", "id", "label", "rows"];
3
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
5
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -14,6 +14,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
14
14
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
15
  export var Textarea = forwardRef(function (_ref, ref) {
16
16
  var ariaDescribedBy = _ref['aria-describedby'],
17
+ children = _ref.children,
17
18
  className = _ref.className,
18
19
  errorMessage = _ref.errorMessage,
19
20
  formGroupClassName = _ref.formGroupClassName,
@@ -35,7 +36,7 @@ export var Textarea = forwardRef(function (_ref, ref) {
35
36
  className: clsx('govuk-textarea', errorMessage && 'govuk-textarea--error', className),
36
37
  id: resolvedId,
37
38
  rows: rows
38
- }, rest))]
39
+ }, rest)), children]
39
40
  });
40
41
  });
41
42
  Textarea.displayName = 'Textarea';
@@ -0,0 +1,46 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
+ export interface FieldsetProps extends ComponentPropsWithoutRef<'fieldset'> {
3
+ /**
4
+ * Content for the fieldset.
5
+ *
6
+ * This would normally include a FieldsetLegend and
7
+ * multiple form elements.
8
+ */
9
+ children: ReactNode;
10
+ }
11
+ /**
12
+ * Fieldset component.
13
+ *
14
+ * @experimental React components are in alpha and subject to change.
15
+ *
16
+ * @example
17
+ * <Fieldset>
18
+ * <FieldsetLegend className='govuk-fieldset__legend--l' isPageHeading>
19
+ * What is your address?
20
+ * </FieldsetLegend>
21
+ * <Input
22
+ * autoComplete='address-line1'
23
+ * label={<Label>Address line 1</Label>}
24
+ * name='address-line-1'
25
+ * />
26
+ * <Input
27
+ * autoComplete='address-line2'
28
+ * label={<Label>Address line 2 (optional)</Label>}
29
+ * name='address-line-2'
30
+ * />
31
+ * <Input
32
+ * autoComplete='address-level2'
33
+ * className='govuk-!-width-two-thirds'
34
+ * label={<Label>Town or city</Label>}
35
+ * name='address-town'
36
+ * />
37
+ * <Input
38
+ * autoComplete='postal-code'
39
+ * className='govuk-input--width-10'
40
+ * label={<Label>Postcode</Label>}
41
+ * name='address-postcode'
42
+ * />
43
+ * </Fieldset>
44
+ */
45
+ export declare const Fieldset: import("react").ForwardRefExoticComponent<FieldsetProps & import("react").RefAttributes<HTMLFieldSetElement>>;
46
+ //# sourceMappingURL=Fieldset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fieldset.d.ts","sourceRoot":"","sources":["../../../src/react/fieldset/Fieldset.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjF,MAAM,WAAW,aAAc,SAAQ,wBAAwB,CAAC,UAAU,CAAC;IACzE;;;;;OAKG;IACH,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,QAAQ,+GAEnB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
+ export interface FieldsetLegendProps extends ComponentPropsWithoutRef<'legend'> {
3
+ /**
4
+ * Content for the legend (normally text).
5
+ */
6
+ children: ReactNode;
7
+ /**
8
+ * Whether the legend also acts as the heading for the page.
9
+ */
10
+ isPageHeading?: boolean;
11
+ }
12
+ /**
13
+ * Legend for the Fieldset component.
14
+ *
15
+ * @experimental React components are in alpha and subject to change.
16
+ */
17
+ export declare const FieldsetLegend: import("react").ForwardRefExoticComponent<FieldsetLegendProps & import("react").RefAttributes<HTMLLegendElement>>;
18
+ //# sourceMappingURL=FieldsetLegend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldsetLegend.d.ts","sourceRoot":"","sources":["../../../src/react/fieldset/FieldsetLegend.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjF,MAAM,WAAW,mBAAoB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC7E;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,mHAU1B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Fieldset';
2
+ export * from './FieldsetLegend';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/fieldset/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
@@ -1,11 +1,39 @@
1
1
  import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
2
  interface HeaderContentProps {
3
+ /**
4
+ * The name of your service, included in the header.
5
+ */
3
6
  serviceName?: string;
7
+ /**
8
+ * URL for the service name anchor.
9
+ */
4
10
  serviceUrl?: string;
11
+ /**
12
+ * Text for the aria-label attribute of the button that
13
+ * opens the mobile navigation, if there is a mobile
14
+ * navigation menu. Defaults to 'Show or hide menu'.
15
+ */
5
16
  menuButtonLabel?: string;
17
+ /**
18
+ * Text of the button that opens the mobile navigation
19
+ * menu, if there is a mobile navigation menu. There is
20
+ * no enforced character limit, but there is a limited
21
+ * display space so keep text as short as possible. By
22
+ * default, this is set to 'Menu'.
23
+ */
6
24
  menuButtonText?: string;
25
+ /**
26
+ * Optional instances of HeaderNavigationItem.
27
+ */
7
28
  children?: ReactNode;
29
+ /**
30
+ * CSS classes for the navigation section of the header.
31
+ */
8
32
  navigationClassName?: string;
33
+ /**
34
+ * Text for the aria-label attribute of the navigation.
35
+ * Defaults to the same value as menuButtonText.
36
+ */
9
37
  navigationLabel?: string;
10
38
  }
11
39
  export interface HeaderProps extends HeaderContentProps, ComponentPropsWithoutRef<'header'> {
@@ -13,7 +41,32 @@ export interface HeaderProps extends HeaderContentProps, ComponentPropsWithoutRe
13
41
  containerClassName?: string;
14
42
  }
15
43
  /**
44
+ * Header.
45
+ *
16
46
  * @experimental React components are in alpha and subject to change.
47
+ *
48
+ * @example
49
+ * <Header homepageUrl='#' serviceName='Service name' serviceUrl='#' />
50
+ *
51
+ * @example
52
+ * <Header
53
+ * homepageUrl='#'
54
+ * serviceName='Service name'
55
+ * serviceUrl='#'
56
+ * >
57
+ * <HeaderNavigationItem active>
58
+ * <HeaderNavigationLink href='#1'>Navigation item 1</HeaderNavigationLink>
59
+ * </HeaderNavigationItem>
60
+ * <HeaderNavigationItem>
61
+ * <HeaderNavigationLink href='#2'>Navigation item 2</HeaderNavigationLink>
62
+ * </HeaderNavigationItem>
63
+ * <HeaderNavigationItem>
64
+ * <HeaderNavigationLink href='#3'>Navigation item 3</HeaderNavigationLink>
65
+ * </HeaderNavigationItem>
66
+ * <HeaderNavigationItem>
67
+ * <HeaderNavigationLink href='#4'>Navigation item 4</HeaderNavigationLink>
68
+ * </HeaderNavigationItem>
69
+ * </Header>
17
70
  */
18
71
  export declare const Header: import("react").ForwardRefExoticComponent<HeaderProps & import("react").RefAttributes<HTMLElement>>;
19
72
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/react/header/Header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM3F,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,wBAAwB,CAAC,QAAQ,CAAC;IACzF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAuDD;;GAEG;AACH,eAAO,MAAM,MAAM,qGA8CjB,CAAA"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/react/header/Header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM3F,UAAU,kBAAkB;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,wBAAwB,CAAC,QAAQ,CAAC;IACzF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAuDD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,MAAM,qGA8CjB,CAAA"}
@@ -1,10 +1,18 @@
1
1
  import { type ReactNode } from 'react';
2
2
  export interface HeaderNavigationItemProps {
3
+ /**
4
+ * An instance of HeaderNavigationLink.
5
+ */
3
6
  children: ReactNode;
4
7
  className?: string;
8
+ /**
9
+ * Whether this navigation item is active.
10
+ */
5
11
  active?: boolean;
6
12
  }
7
13
  /**
14
+ * A header navigation item.
15
+ *
8
16
  * @experimental React components are in alpha and subject to change.
9
17
  */
10
18
  export declare const HeaderNavigationItem: import("react").ForwardRefExoticComponent<HeaderNavigationItemProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderNavigationItem.d.ts","sourceRoot":"","sources":["../../../src/react/header/HeaderNavigationItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAElD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,qHAqB/B,CAAA"}
1
+ {"version":3,"file":"HeaderNavigationItem.d.ts","sourceRoot":"","sources":["../../../src/react/header/HeaderNavigationItem.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAElD,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qHAqB/B,CAAA"}
@@ -5,6 +5,8 @@ export interface HeaderNavigationLinkProps {
5
5
  className?: string;
6
6
  }
7
7
  /**
8
+ * A link within a header navigation item.
9
+ *
8
10
  * @experimental React components are in alpha and subject to change.
9
11
  */
10
12
  export declare const HeaderNavigationLink: LinkComponent<HeaderNavigationLinkProps>;