@amsterdam/design-system-react 0.1.2 → 0.1.4

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 (43) hide show
  1. package/README.md +3 -6
  2. package/dist/Accordion/Accordion.d.ts +17 -0
  3. package/dist/Accordion/Accordion.test.d.ts +1 -0
  4. package/dist/Accordion/AccordionContext.d.ts +8 -0
  5. package/dist/Accordion/AccordionSection.d.ts +12 -0
  6. package/dist/Accordion/AccordionSection.test.d.ts +1 -0
  7. package/dist/Accordion/index.d.ts +3 -0
  8. package/dist/Accordion/useFocusWithArrow.test.d.ts +1 -0
  9. package/dist/Accordion/useFocusWithArrows.d.ts +24 -0
  10. package/dist/Button/Button.d.ts +12 -0
  11. package/dist/Button/Button.test.d.ts +1 -0
  12. package/dist/Button/index.d.ts +2 -0
  13. package/dist/FormLabel/FormLabel.d.ts +9 -0
  14. package/dist/FormLabel/FormLabel.test.d.ts +1 -0
  15. package/dist/FormLabel/index.d.ts +1 -0
  16. package/dist/Heading/Heading.d.ts +24 -0
  17. package/dist/Heading/Heading.test.d.ts +1 -0
  18. package/dist/Heading/index.d.ts +2 -0
  19. package/dist/Icon/Icon.d.ts +12 -0
  20. package/dist/Icon/Icon.test.d.ts +1 -0
  21. package/dist/Icon/index.d.ts +2 -0
  22. package/dist/Link/Link.d.ts +15 -0
  23. package/dist/Link/Link.test.d.ts +1 -0
  24. package/dist/Link/index.d.ts +2 -0
  25. package/dist/List.d.ts +8 -5
  26. package/dist/{Paragraph.d.ts → Paragraph/Paragraph.d.ts} +12 -10
  27. package/dist/Paragraph/Paragraph.test.d.ts +1 -0
  28. package/dist/Paragraph/index.d.ts +2 -0
  29. package/dist/UnorderedList/UnorderedList.d.ts +14 -0
  30. package/dist/UnorderedList/UnorderedList.test.d.ts +1 -0
  31. package/dist/UnorderedList/index.d.ts +1 -0
  32. package/dist/index.cjs.js +313 -93
  33. package/dist/index.cjs.js.map +1 -1
  34. package/dist/index.d.ts +13 -10
  35. package/dist/index.esm.js +312 -94
  36. package/dist/index.esm.js.map +1 -1
  37. package/package.json +30 -30
  38. package/dist/Grid.d.ts +0 -5
  39. package/dist/GridItem.d.ts +0 -11
  40. package/dist/Heading.d.ts +0 -13
  41. package/dist/Icon.d.ts +0 -5
  42. package/dist/Link.d.ts +0 -9
  43. package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/index.esm.js CHANGED
@@ -2,51 +2,15 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import clsx from 'clsx';
5
- import { forwardRef } from 'react';
6
- import { ChevronRight } from '@amsterdam/design-system-react-icons';
5
+ import { forwardRef, createContext, useContext, useState, useId, useRef, useImperativeHandle } from 'react';
6
+ import { ChevronRight, ChevronDown } from '@amsterdam/design-system-react-icons';
7
+ import { Button as Button$1 } from '@utrecht/component-library-react';
8
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
7
9
 
8
- var _excluded$6 = ["children", "className"];
9
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- var Grid = function Grid(_ref) {
12
- var children = _ref.children,
13
- className = _ref.className,
14
- restProps = _objectWithoutProperties(_ref, _excluded$6);
15
- return jsx("div", _objectSpread$6(_objectSpread$6({
16
- className: clsx('amsterdam-grid', className)
17
- }, restProps), {}, {
18
- children: children
19
- }));
20
- };
21
-
22
- var _excluded$5 = ["spanSmall", "startSmall", "spanLarge", "startLarge", "children", "className"];
23
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
- var GridItem = function GridItem(_ref) {
26
- var _ref$spanSmall = _ref.spanSmall,
27
- spanSmall = _ref$spanSmall === void 0 ? 4 : _ref$spanSmall,
28
- startSmall = _ref.startSmall,
29
- _ref$spanLarge = _ref.spanLarge,
30
- spanLarge = _ref$spanLarge === void 0 ? 12 : _ref$spanLarge,
31
- startLarge = _ref.startLarge,
32
- children = _ref.children,
33
- className = _ref.className,
34
- restProps = _objectWithoutProperties(_ref, _excluded$5);
35
- var maxSpanSmall = startSmall && 5 - startSmall;
36
- var actualSpanSmall = maxSpanSmall && spanSmall > maxSpanSmall ? maxSpanSmall : spanSmall;
37
- var maxSpanLarge = startLarge && 13 - startLarge;
38
- var actualSpanLarge = maxSpanLarge && spanLarge > maxSpanLarge ? maxSpanLarge : spanLarge;
39
- return jsx("div", _objectSpread$5(_objectSpread$5({
40
- className: clsx("amsterdam-col-span-".concat(actualSpanSmall), "amsterdam-col-span-".concat(actualSpanLarge, "--large"), startSmall && "amsterdam-col-start-".concat(startSmall), startLarge && "amsterdam-col-start-".concat(startLarge, "--large"), className)
41
- }, restProps), {}, {
42
- children: children
43
- }));
44
- };
45
-
46
- var _excluded$4 = ["level", "styleLevel", "children", "className"];
47
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
48
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
- function getElement(level) {
10
+ var _excluded$8 = ["children", "className", "level", "size"];
11
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
+ function getHeadingElement(level) {
50
14
  switch (level) {
51
15
  case 2:
52
16
  return 'h2';
@@ -54,98 +18,352 @@ function getElement(level) {
54
18
  return 'h3';
55
19
  case 4:
56
20
  return 'h4';
57
- case 5:
58
- return 'h5';
59
- case 6:
60
- return 'h6';
61
21
  default:
62
22
  return 'h1';
63
23
  }
64
24
  }
65
25
  var Heading = /*#__PURE__*/forwardRef(function (_ref, ref) {
66
- var _ref$level = _ref.level,
67
- level = _ref$level === void 0 ? 1 : _ref$level,
68
- styleLevel = _ref.styleLevel,
69
- children = _ref.children,
26
+ var children = _ref.children,
70
27
  className = _ref.className,
71
- restProps = _objectWithoutProperties(_ref, _excluded$4);
72
- var HeadingX = getElement(level);
73
- return jsx(HeadingX, _objectSpread$4(_objectSpread$4({
28
+ _ref$level = _ref.level,
29
+ level = _ref$level === void 0 ? 1 : _ref$level,
30
+ size = _ref.size,
31
+ restProps = _objectWithoutProperties(_ref, _excluded$8);
32
+ var HeadingX = getHeadingElement(level);
33
+ var sizeOrLevel = size ? size.split('-')[1] : level;
34
+ return jsx(HeadingX, _objectSpread$8(_objectSpread$8({
74
35
  ref: ref,
75
- className: clsx('amsterdam-heading', "amsterdam-heading-".concat(styleLevel || level), className)
36
+ className: clsx('amsterdam-heading', "amsterdam-heading-".concat(sizeOrLevel), className)
76
37
  }, restProps), {}, {
77
38
  children: children
78
39
  }));
79
40
  });
80
41
  Heading.displayName = 'Heading';
81
42
 
82
- var _excluded$3 = ["children", "className", "size"];
43
+ var _excluded$7 = ["className", "size", "svg"];
44
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
46
+ var Icon = /*#__PURE__*/forwardRef(function (_ref, ref) {
47
+ var className = _ref.className,
48
+ _ref$size = _ref.size,
49
+ size = _ref$size === void 0 ? 'level-3' : _ref$size,
50
+ svg = _ref.svg,
51
+ otherProps = _objectWithoutProperties(_ref, _excluded$7);
52
+ return jsx("span", _objectSpread$7(_objectSpread$7({
53
+ ref: ref,
54
+ className: clsx('amsterdam-icon', size === 'level-3' && 'amsterdam-icon-size-3', size === 'level-4' && 'amsterdam-icon-size-4', size === 'level-5' && 'amsterdam-icon-size-5', size === 'level-6' && 'amsterdam-icon-size-6', size === 'level-7' && 'amsterdam-icon-size-7', className)
55
+ }, otherProps), {}, {
56
+ children: svg()
57
+ }));
58
+ });
59
+ Icon.displayName = 'Icon';
60
+
61
+ var _excluded$6 = ["children", "variant", "onBackground", "className"];
62
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
63
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
64
+ var Link = /*#__PURE__*/forwardRef(function (_ref, ref) {
65
+ var children = _ref.children,
66
+ variant = _ref.variant,
67
+ onBackground = _ref.onBackground,
68
+ className = _ref.className,
69
+ otherProps = _objectWithoutProperties(_ref, _excluded$6);
70
+ return jsxs("a", _objectSpread$6(_objectSpread$6({}, otherProps), {}, {
71
+ ref: ref,
72
+ className: clsx('amsterdam-link', {
73
+ 'amsterdam-link--inline': variant === 'inline',
74
+ 'amsterdam-link--standalone-bold': variant === 'standaloneBold',
75
+ 'amsterdam-link--in-list': variant === 'inList',
76
+ 'amsterdam-link--on-background-light': onBackground === 'light',
77
+ 'amsterdam-link--on-background-dark': onBackground === 'dark'
78
+ }, className),
79
+ children: [variant === 'inList' && jsx(Icon, {
80
+ svg: ChevronRight,
81
+ size: "level-7"
82
+ }), children]
83
+ }));
84
+ });
85
+ Link.displayName = 'Link';
86
+
87
+ var _excluded$5 = ["children", "disabled", "variant"];
88
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
89
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
90
+ function getAppearance(variant) {
91
+ switch (variant) {
92
+ case 'secondary':
93
+ return 'secondary-action-button';
94
+ case 'tertiary':
95
+ return 'subtle-button';
96
+ default:
97
+ return 'primary-action-button';
98
+ }
99
+ }
100
+ var Button = /*#__PURE__*/forwardRef(function (_ref, ref) {
101
+ var children = _ref.children,
102
+ disabled = _ref.disabled,
103
+ _ref$variant = _ref.variant,
104
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
105
+ restProps = _objectWithoutProperties(_ref, _excluded$5);
106
+ return jsx(Button$1, _objectSpread$5(_objectSpread$5({}, restProps), {}, {
107
+ appearance: getAppearance(variant),
108
+ ref: ref,
109
+ disabled: disabled,
110
+ className: clsx('amsterdam-button', variant === 'secondary' && 'amsterdam-button--secondary'),
111
+ children: children
112
+ }));
113
+ });
114
+ Button.displayName = 'Button';
115
+
116
+ var _excluded$4 = ["children", "size", "className"];
117
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
118
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
119
+ var Paragraph = /*#__PURE__*/forwardRef(function (_ref, ref) {
120
+ var children = _ref.children,
121
+ size = _ref.size,
122
+ className = _ref.className,
123
+ otherProps = _objectWithoutProperties(_ref, _excluded$4);
124
+ return jsx("p", _objectSpread$4(_objectSpread$4({
125
+ ref: ref,
126
+ className: clsx('amsterdam-paragraph', size && "amsterdam-paragraph-".concat(size), className)
127
+ }, otherProps), {}, {
128
+ children: children
129
+ }));
130
+ });
131
+ Paragraph.displayName = 'Paragraph';
132
+
133
+ var _excluded$3 = ["children", "className"];
83
134
  function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
84
135
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
85
- var Icon = function Icon(_ref) {
136
+ var FormLabel = /*#__PURE__*/forwardRef(function (_ref, ref) {
86
137
  var children = _ref.children,
87
138
  className = _ref.className,
88
- _ref$size = _ref.size,
89
- size = _ref$size === void 0 ? 'small' : _ref$size,
90
- otherProps = _objectWithoutProperties(_ref, _excluded$3);
91
- return jsx("span", _objectSpread$3(_objectSpread$3({
92
- className: clsx('amsterdam-icon', size === 'small' && 'amsterdam-icon-small', size === 'medium' && 'amsterdam-icon-medium', size === 'large' && 'amsterdam-icon-large', className)
93
- }, otherProps), {}, {
139
+ restProps = _objectWithoutProperties(_ref, _excluded$3);
140
+ return jsx("label", _objectSpread$3(_objectSpread$3({}, restProps), {}, {
141
+ ref: ref,
142
+ className: clsx('amsterdam-form-label', className),
94
143
  children: children
95
144
  }));
96
- };
145
+ });
146
+ FormLabel.displayName = 'FormLabel';
97
147
 
98
- var _excluded$2 = ["children", "className", "icon", "variant"];
148
+ var _excluded$2 = ["children", "className"],
149
+ _excluded2 = ["children", "className"];
99
150
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
100
151
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
101
- var Link = function Link(_ref) {
152
+ var UnorderedList = /*#__PURE__*/forwardRef(function (_ref, ref) {
102
153
  var children = _ref.children,
103
154
  className = _ref.className,
104
- icon = _ref.icon,
105
- variant = _ref.variant,
106
155
  restProps = _objectWithoutProperties(_ref, _excluded$2);
107
- return jsxs("a", _objectSpread$2(_objectSpread$2({
108
- className: clsx('amsterdam-link', variant === 'standalone' && 'amsterdam-link-standalone', variant === 'inList' && 'amsterdam-link-inlist', variant === 'inline' && 'amsterdam-link-inline', className)
156
+ return jsx("ul", _objectSpread$2(_objectSpread$2({
157
+ ref: ref,
158
+ className: clsx('amsterdam-unordered-list', className)
109
159
  }, restProps), {}, {
110
- children: [variant === 'inList' && jsx(Icon, {
111
- size: icon ? 'medium' : 'small',
112
- children: icon ? icon : jsx(ChevronRight, {})
113
- }), children, variant === 'inline' && icon && jsx(Icon, {
114
- children: icon
115
- })]
160
+ children: children
116
161
  }));
162
+ });
163
+ UnorderedList.displayName = 'UnorderedList';
164
+ var UnorderedListItem = /*#__PURE__*/forwardRef(function (_ref2, ref) {
165
+ var children = _ref2.children,
166
+ className = _ref2.className,
167
+ restProps = _objectWithoutProperties(_ref2, _excluded2);
168
+ return jsx("li", _objectSpread$2(_objectSpread$2({
169
+ ref: ref,
170
+ className: clsx('amsterdam-unordered-list__item', className)
171
+ }, restProps), {}, {
172
+ children: children
173
+ }));
174
+ });
175
+ UnorderedListItem.displayName = 'UnorderedListItem';
176
+ UnorderedList.Item = UnorderedListItem;
177
+
178
+ var defaultValues = {
179
+ headingLevel: 1,
180
+ section: true
117
181
  };
182
+ var AccordionContext = /*#__PURE__*/createContext(defaultValues);
118
183
 
119
- var _excluded$1 = ["children", "className"];
184
+ var _excluded$1 = ["label", "expanded", "children", "className"];
120
185
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
121
186
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
122
- var List = function List(_ref) {
123
- var children = _ref.children,
187
+ var AccordionSection = /*#__PURE__*/forwardRef(function (_ref, ref) {
188
+ var label = _ref.label,
189
+ _ref$expanded = _ref.expanded,
190
+ expanded = _ref$expanded === void 0 ? false : _ref$expanded,
191
+ children = _ref.children,
124
192
  className = _ref.className,
125
- restProps = _objectWithoutProperties(_ref, _excluded$1);
126
- return jsx("ul", _objectSpread$1(_objectSpread$1({
127
- className: clsx('amsterdam-list', className)
128
- }, restProps), {}, {
129
- children: children
193
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
194
+ var _useContext = useContext(AccordionContext),
195
+ headingLevel = _useContext.headingLevel,
196
+ section = _useContext.section;
197
+ var _useState = useState(expanded),
198
+ _useState2 = _slicedToArray(_useState, 2),
199
+ isExpanded = _useState2[0],
200
+ setIsExpanded = _useState2[1];
201
+ var HeadingX = getHeadingElement(headingLevel);
202
+ var id = useId();
203
+ var buttonId = "button-".concat(id);
204
+ var panelId = "panel-".concat(id);
205
+ return jsxs("div", _objectSpread$1(_objectSpread$1({
206
+ className: clsx('amsterdam-accordion__section', className),
207
+ ref: ref
208
+ }, otherProps), {}, {
209
+ children: [jsx(HeadingX, {
210
+ className: 'amsterdam-accordion__header',
211
+ children: jsxs("button", {
212
+ "aria-controls": panelId,
213
+ "aria-expanded": isExpanded,
214
+ className: "amsterdam-accordion__button",
215
+ id: buttonId,
216
+ onClick: function onClick() {
217
+ return setIsExpanded(!isExpanded);
218
+ },
219
+ type: "button",
220
+ children: [label, jsx(Icon, {
221
+ svg: ChevronDown,
222
+ size: "level-5"
223
+ })]
224
+ })
225
+ }), section ? jsx("section", {
226
+ id: panelId,
227
+ "aria-labelledby": buttonId,
228
+ className: clsx('amsterdam-accordion__panel', {
229
+ 'amsterdam-accordion__panel--expanded': isExpanded
230
+ }),
231
+ children: children
232
+ }) : jsx("div", {
233
+ id: panelId,
234
+ "aria-labelledby": buttonId,
235
+ className: clsx('amsterdam-accordion__panel', {
236
+ 'amsterdam-accordion__panel--expanded': isExpanded
237
+ }),
238
+ children: children
239
+ })]
130
240
  }));
241
+ });
242
+ AccordionSection.displayName = 'AccordionSection';
243
+
244
+ /**
245
+ * @license EUPL-1.2+
246
+ * Copyright (c) 2023 Gemeente Amsterdam
247
+ */
248
+ var KeyboardKeys = {
249
+ ArrowUp: 'ArrowUp',
250
+ ArrowDown: 'ArrowDown',
251
+ ArrowRight: 'ArrowRight',
252
+ ArrowLeft: 'ArrowLeft',
253
+ Home: 'Home',
254
+ End: 'End'
255
+ };
256
+ /**
257
+ * Focus on children with arrow keys and home / end buttons.
258
+ *
259
+ * @param ref Component ref
260
+ * @param rotating Jump to first item from last or vice versa
261
+ * @param horizontally In case you need to navigate horizontally, using left / right arrow buttons
262
+ */
263
+ var useFocusWithArrows = function useFocusWithArrows(ref) {
264
+ var rotating = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
265
+ var horizontally = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
266
+ var next = horizontally ? KeyboardKeys.ArrowRight : KeyboardKeys.ArrowDown;
267
+ var previous = horizontally ? KeyboardKeys.ArrowLeft : KeyboardKeys.ArrowUp;
268
+ var keyDown = function keyDown(e) {
269
+ if (ref.current) {
270
+ var element = ref.current;
271
+ var activeElement = window.document.activeElement;
272
+ var focusableEls = Array.from(element.querySelectorAll('.amsterdam-accordion__button'));
273
+ var getIndex = function getIndex(el) {
274
+ return el && focusableEls.includes(el) ? focusableEls.indexOf(el) : 0;
275
+ };
276
+ var el;
277
+ switch (e.key) {
278
+ case next:
279
+ {
280
+ if (getIndex(activeElement) !== focusableEls.length - 1) {
281
+ el = focusableEls[getIndex(activeElement) + 1];
282
+ // If there is nothing focussed yet, set the focus on the first element
283
+ if (activeElement && !focusableEls.includes(activeElement)) {
284
+ el = focusableEls[0];
285
+ }
286
+ } else if (rotating) {
287
+ el = focusableEls[0];
288
+ }
289
+ break;
290
+ }
291
+ case previous:
292
+ {
293
+ if (getIndex(activeElement) !== 0) {
294
+ el = focusableEls[getIndex(activeElement) - 1];
295
+ } else if (rotating) {
296
+ el = focusableEls[focusableEls.length - 1];
297
+ }
298
+ break;
299
+ }
300
+ case KeyboardKeys.Home:
301
+ {
302
+ el = focusableEls[0];
303
+ break;
304
+ }
305
+ case KeyboardKeys.End:
306
+ {
307
+ el = focusableEls[focusableEls.length - 1];
308
+ break;
309
+ }
310
+ }
311
+ if ((e.key === KeyboardKeys.ArrowDown || e.key === KeyboardKeys.ArrowUp || e.key === KeyboardKeys.ArrowLeft || e.key === KeyboardKeys.ArrowRight || e.key === KeyboardKeys.Home || e.key === KeyboardKeys.End) && el instanceof HTMLElement) {
312
+ el.focus();
313
+ e.preventDefault();
314
+ }
315
+ }
316
+ };
317
+ return {
318
+ keyDown: keyDown
319
+ };
131
320
  };
132
321
 
133
- var _excluded = ["children", "variant", "className"];
322
+ var Accordion = /*#__PURE__*/forwardRef(function (_ref, ref) {
323
+ var children = _ref.children,
324
+ className = _ref.className,
325
+ headingLevel = _ref.headingLevel,
326
+ _ref$section = _ref.section,
327
+ section = _ref$section === void 0 ? true : _ref$section;
328
+ var innerRef = useRef(null);
329
+ // use a passed ref if it's there, otherwise use innerRef
330
+ useImperativeHandle(ref, function () {
331
+ return innerRef.current;
332
+ });
333
+ var _useFocusWithArrows = useFocusWithArrows(innerRef, true),
334
+ keyDown = _useFocusWithArrows.keyDown;
335
+ return jsx(AccordionContext.Provider, {
336
+ value: {
337
+ headingLevel: headingLevel,
338
+ section: section
339
+ },
340
+ children: jsx("div", {
341
+ className: clsx('amsterdam-accordion', className),
342
+ onKeyDown: keyDown,
343
+ ref: innerRef,
344
+ children: children
345
+ })
346
+ });
347
+ });
348
+ Accordion.displayName = 'Accordion';
349
+ Accordion.Section = AccordionSection;
350
+ Accordion.Section.displayName = 'Accordion.Section';
351
+
352
+ var _excluded = ["children", "className"];
134
353
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
135
354
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
136
- var Paragraph = /*#__PURE__*/forwardRef(function (_ref, ref) {
355
+ var List = /*#__PURE__*/forwardRef(function (_ref, ref) {
137
356
  var children = _ref.children,
138
- variant = _ref.variant,
139
357
  className = _ref.className,
140
- otherProps = _objectWithoutProperties(_ref, _excluded);
141
- return jsx("p", _objectSpread(_objectSpread({
358
+ restProps = _objectWithoutProperties(_ref, _excluded);
359
+ return jsx("ul", _objectSpread(_objectSpread({
142
360
  ref: ref,
143
- className: clsx('amsterdam-paragraph', variant === 'intro' && 'amsterdam-paragraph-intro', variant === 'small' && 'amsterdam-paragraph-small', className)
144
- }, otherProps), {}, {
361
+ className: clsx('amsterdam-list', className)
362
+ }, restProps), {}, {
145
363
  children: children
146
364
  }));
147
365
  });
148
- Paragraph.displayName = 'Paragraph';
366
+ List.displayName = 'List';
149
367
 
150
- export { Grid, GridItem, Heading, Icon, Link, List, Paragraph };
368
+ export { Accordion, Button, FormLabel, Heading, Icon, Link, List, Paragraph, UnorderedList };
151
369
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.2",
2
+ "version": "0.1.4",
3
3
  "author": "Community for NL Design System",
4
4
  "description": "React component library bundle for the City of Amsterdam based on the NL Design System architecture",
5
5
  "license": "EUPL-1.2",
@@ -21,9 +21,9 @@
21
21
  "build": "rollup -c",
22
22
  "build:watch": "rollup -c --watch",
23
23
  "clean": "rimraf dist/",
24
- "lint": "tsc --project ./tsconfig.json --noEmit && tsc --noEmit",
24
+ "lint": "tsc --project ./tsconfig.json --noEmit && tsc --noEmit --project ./tsconfig.test.json",
25
25
  "test": "jest --verbose",
26
- "watch:test": "NODE_OPTIONS=--experimental-vm-modules jest --verbose --watch"
26
+ "watch:test": "jest --verbose --watch"
27
27
  },
28
28
  "main": "./dist/index.cjs.js",
29
29
  "module": "./dist/index.esm.js",
@@ -32,52 +32,52 @@
32
32
  "dist/"
33
33
  ],
34
34
  "dependencies": {
35
- "@amsterdam/design-system-react-icons": "0.1.2",
35
+ "@amsterdam/design-system-react-icons": "0.1.4",
36
+ "@utrecht/component-library-react": "1.0.0-alpha.340",
36
37
  "clsx": "1.2.1",
37
- "date-fns": "2.29.3"
38
+ "date-fns": "2.30.0"
38
39
  },
39
40
  "devDependencies": {
40
- "@babel/core": "7.20.12",
41
- "@babel/plugin-transform-runtime": "7.19.6",
42
- "@babel/preset-env": "7.20.2",
43
- "@babel/preset-react": "7.18.6",
44
- "@babel/runtime": "7.20.13",
41
+ "@babel/core": "7.22.5",
42
+ "@babel/plugin-transform-runtime": "7.22.5",
43
+ "@babel/preset-env": "7.22.5",
44
+ "@babel/preset-react": "7.22.5",
45
+ "@babel/runtime": "7.22.5",
45
46
  "@rollup/plugin-babel": "6.0.3",
46
- "@rollup/plugin-commonjs": "24.0.1",
47
- "@rollup/plugin-node-resolve": "15.0.1",
48
- "@testing-library/dom": "8.20.0",
47
+ "@rollup/plugin-commonjs": "25.0.2",
48
+ "@rollup/plugin-node-resolve": "15.1.0",
49
+ "@testing-library/dom": "9.3.1",
49
50
  "@testing-library/jest-dom": "5.16.5",
50
- "@testing-library/react": "13.4.0",
51
+ "@testing-library/react": "14.0.0",
51
52
  "@testing-library/user-event": "14.4.3",
52
53
  "@types/date-fns": "2.6.0",
53
- "@types/jest": "29.4.0",
54
- "@types/lodash": "4.14.191",
55
- "@types/react": "18.0.27",
56
- "@types/testing-library__jest-dom": "5.14.5",
57
- "jest": "29.4.1",
58
- "jest-environment-jsdom": "29.4.1",
54
+ "@types/jest": "29.5.2",
55
+ "@types/lodash": "4.14.195",
56
+ "@types/react": "18.2.14",
57
+ "@types/testing-library__jest-dom": "5.14.6",
58
+ "jest": "29.5.0",
59
+ "jest-environment-jsdom": "29.5.0",
59
60
  "lodash": "4.17.21",
60
- "next": "13.1.6",
61
+ "next": "13.4.7",
61
62
  "npm-run-all": "4.1.5",
62
- "postcss": "8.4.21",
63
+ "postcss": "8.4.24",
63
64
  "react": "18.2.0",
64
65
  "react-dom": "18.2.0",
65
- "rollup": "3.14.0",
66
+ "rollup": "3.25.3",
66
67
  "rollup-plugin-delete": "2.0.0",
67
- "rollup-plugin-filesize": "9.1.2",
68
- "rollup-plugin-node-externals": "5.1.2",
68
+ "rollup-plugin-filesize": "10.0.0",
69
+ "rollup-plugin-node-externals": "6.1.1",
69
70
  "rollup-plugin-node-polyfills": "0.2.1",
70
71
  "rollup-plugin-peer-deps-external": "2.2.4",
71
72
  "rollup-plugin-postcss": "4.0.2",
72
73
  "rollup-plugin-scss": "4.0.0",
73
- "rollup-plugin-typescript2": "0.34.1",
74
- "sass": "1.58.0",
75
- "tslib": "2.5.0",
76
- "typescript": "4.9.5"
74
+ "rollup-plugin-typescript2": "0.35.0",
75
+ "sass": "1.63.6",
76
+ "tslib": "2.6.0"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "react": "16 - 18",
80
80
  "react-dom": "16 - 18"
81
81
  },
82
- "gitHead": "89f67a928d30a512e8fa7f31b8dae925846fc411"
82
+ "gitHead": "43a949072edf58e9f8d198a2eca9b5457f01ccc8"
83
83
  }
package/dist/Grid.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- */
4
- import { HTMLAttributes, PropsWithChildren } from 'react';
5
- export declare const Grid: ({ children, className, ...restProps }: PropsWithChildren<HTMLAttributes<HTMLElement>>) => JSX.Element;
@@ -1,11 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- */
4
- import { HTMLAttributes, PropsWithChildren } from 'react';
5
- export interface GridItemProps extends HTMLAttributes<HTMLElement> {
6
- spanSmall: 1 | 2 | 3 | 4;
7
- startSmall?: 1 | 2 | 3 | 4;
8
- spanLarge: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
9
- startLarge?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
10
- }
11
- export declare const GridItem: ({ spanSmall, startSmall, spanLarge, startLarge, children, className, ...restProps }: PropsWithChildren<GridItemProps>) => JSX.Element;
package/dist/Heading.d.ts DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- */
4
- import { HTMLAttributes } from 'react';
5
- type Levels = 1 | 2 | 3 | 4 | 5 | 6;
6
- export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
7
- level: Levels;
8
- styleLevel: Levels;
9
- }
10
- export declare const Heading: import("react").ForwardRefExoticComponent<HeadingProps & {
11
- children?: import("react").ReactNode;
12
- } & import("react").RefAttributes<HTMLHeadingElement>>;
13
- export {};
package/dist/Icon.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { HTMLAttributes, PropsWithChildren } from 'react';
2
- export interface IconProps extends HTMLAttributes<HTMLSpanElement> {
3
- size?: 'small' | 'medium' | 'large';
4
- }
5
- export declare const Icon: ({ children, className, size, ...otherProps }: PropsWithChildren<IconProps>) => JSX.Element;
package/dist/Link.d.ts DELETED
@@ -1,9 +0,0 @@
1
- /**
2
- * @license EUPL-1.2
3
- */
4
- import { AnchorHTMLAttributes, PropsWithChildren, ReactElement } from 'react';
5
- export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
6
- variant?: 'standalone' | 'inList' | 'inline';
7
- icon?: ReactElement;
8
- }
9
- export declare const Link: ({ children, className, icon, variant, ...restProps }: PropsWithChildren<LinkProps>) => JSX.Element;