@sebgroup/green-react 3.24.1 → 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -322,6 +322,7 @@ import 'classnames';
322
322
  import './src/lib/form/formContext.js';
323
323
  import './src/lib/form/validateInput.js';
324
324
  import './src/lib/form/useInput.js';
325
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
325
326
  import './src/lib/list/listItem.js';
326
327
  import '@sebgroup/green-core/components/grouped-list/index.js';
327
328
  import 'body-scroll-lock';
package/package.json CHANGED
@@ -2,14 +2,14 @@
2
2
  "name": "@sebgroup/green-react",
3
3
  "main": "./src/index.js",
4
4
  "module": "./src/index.js",
5
- "version": "3.24.1",
5
+ "version": "3.25.0",
6
6
  "peerDependencies": {
7
7
  "react": "^17 || ^18 || ^19",
8
8
  "react-dom": "^17 || ^18 || ^19"
9
9
  },
10
10
  "dependencies": {
11
- "@sebgroup/green-core": "^1.68.4",
12
- "@sebgroup/chlorophyll": "^3.6.10",
11
+ "@sebgroup/green-core": "^1.69.4",
12
+ "@sebgroup/chlorophyll": "^3.6.16",
13
13
  "@sebgroup/extract": "^3.0.1",
14
14
  "@lit/react": "^1.0.2",
15
15
  "classnames": "^2.3.2",
@@ -23,7 +23,7 @@ export { default as GdsMask } from './mask';
23
23
  export { default as GdsMenuButton } from './menu-button';
24
24
  export { default as GdsBackdrop } from './backdrop';
25
25
  export { default as GdsPopover } from './popover';
26
- export { default as GdsRadioGroup } from './radio-group';
26
+ export { default as GdsRadio } from './radio';
27
27
  export { default as GdsRichText } from './rich-text';
28
28
  export { default as GdsSegmentedControl } from './segmented-control';
29
29
  export { default as GdsSelect } from './select';
@@ -39,4 +39,5 @@ export { default as GdsFormControlHeader } from './form-control-header';
39
39
  export { default as GdsOption } from './option';
40
40
  export { default as GdsMenuItem } from './menu-item';
41
41
  export { default as GdsFilterChip } from './filter-chip';
42
+ export { default as GdsRadioGroup } from './radio-group';
42
43
  export { default as GdsSegment } from './segment';
package/src/core/index.js CHANGED
@@ -23,7 +23,7 @@ export { default as GdsMask } from './mask/index.js';
23
23
  export { default as GdsMenuButton } from './menu-button/index.js';
24
24
  export { default as GdsBackdrop } from './backdrop/index.js';
25
25
  export { default as GdsPopover } from './popover/index.js';
26
- export { default as GdsRadioGroup } from './radio-group/index.js';
26
+ export { default as GdsRadio } from './radio/index.js';
27
27
  export { default as GdsRichText } from './rich-text/index.js';
28
28
  export { default as GdsSegmentedControl } from './segmented-control/index.js';
29
29
  export { default as GdsSelect } from './select/index.js';
@@ -39,6 +39,7 @@ export { default as GdsFormControlHeader } from './form-control-header/index.js'
39
39
  export { default as GdsOption } from './option/index.js';
40
40
  export { default as GdsMenuItem } from './menu-item/index.js';
41
41
  export { default as GdsFilterChip } from './filter-chip/index.js';
42
+ export { default as GdsRadioGroup } from './radio-group/index.js';
42
43
  export { default as GdsSegment } from './segment/index.js';
43
44
  import 'react';
44
45
  import '@lit/react';
@@ -68,7 +69,7 @@ import '@sebgroup/green-core/components/mask/mask.js';
68
69
  import '@sebgroup/green-core/components/menu-button/menu-button.js';
69
70
  import '@sebgroup/green-core/components/popover/backdrop.js';
70
71
  import '@sebgroup/green-core/components/popover/popover.js';
71
- import '@sebgroup/green-core/components/radio/radio-group.js';
72
+ import '@sebgroup/green-core/components/radio/radio.js';
72
73
  import '@sebgroup/green-core/components/rich-text/rich-text.js';
73
74
  import '@sebgroup/green-core/components/segmented-control/segmented-control.js';
74
75
  import '@sebgroup/green-core/components/select/select.js';
@@ -84,4 +85,5 @@ import '@sebgroup/green-core/primitives/form-control-header/form-control-header.
84
85
  import '@sebgroup/green-core/primitives/listbox/option.js';
85
86
  import '@sebgroup/green-core/primitives/menu/menu-item.js';
86
87
  import '@sebgroup/green-core/components/filter-chips/filter-chip/filter-chip.js';
88
+ import '@sebgroup/green-core/components/radio/radio-group/radio-group.js';
87
89
  import '@sebgroup/green-core/components/segmented-control/segment/segment.js';
@@ -0,0 +1,6 @@
1
+ import { GdsRadio } from "@sebgroup/green-core/components/radio/radio.js";
2
+ declare const reactWrapper: import("@lit/react").ReactWebComponent<GdsRadio, {
3
+ onGdsRadioChange: string;
4
+ onGdsElementDisconnected: string;
5
+ }>;
6
+ export default reactWrapper;
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { createComponent } from '@lit/react';
3
+ import { getScopedTagName } from '@sebgroup/green-core/scoping';
4
+ import { GdsRadio } from '@sebgroup/green-core/components/radio/radio.js';
5
+
6
+ var tagName = getScopedTagName("gds-radio");
7
+ //GdsRadio.define('gds-radio')
8
+ var reactWrapper = createComponent({
9
+ tagName: tagName,
10
+ elementClass: GdsRadio,
11
+ react: React,
12
+ events: {
13
+ onGdsRadioChange: "gds-radio-change",
14
+ onGdsElementDisconnected: "gds-element-disconnected"
15
+ },
16
+ displayName: "GdsRadio"
17
+ });
18
+
19
+ export { reactWrapper as default };
@@ -1,3 +1,7 @@
1
- import { GdsRadioGroup } from "@sebgroup/green-core/components/radio/radio-group.js";
2
- declare const reactWrapper: import("@lit/react").ReactWebComponent<GdsRadioGroup, {}>;
1
+ import { GdsRadioGroup } from "@sebgroup/green-core/components/radio/radio-group/radio-group.js";
2
+ declare const reactWrapper: import("@lit/react").ReactWebComponent<GdsRadioGroup, {
3
+ onChange: string;
4
+ onInput: string;
5
+ onGdsElementDisconnected: string;
6
+ }>;
3
7
  export default reactWrapper;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { createComponent } from '@lit/react';
3
3
  import { getScopedTagName } from '@sebgroup/green-core/scoping';
4
- import { GdsRadioGroup } from '@sebgroup/green-core/components/radio/radio-group.js';
4
+ import { GdsRadioGroup } from '@sebgroup/green-core/components/radio/radio-group/radio-group.js';
5
5
 
6
6
  var tagName = getScopedTagName("gds-radio-group");
7
7
  //GdsRadioGroup.define('gds-radio-group')
@@ -9,7 +9,11 @@ var reactWrapper = createComponent({
9
9
  tagName: tagName,
10
10
  elementClass: GdsRadioGroup,
11
11
  react: React,
12
- events: {},
12
+ events: {
13
+ onChange: "change",
14
+ onInput: "input",
15
+ onGdsElementDisconnected: "gds-element-disconnected"
16
+ },
13
17
  displayName: "GdsRadioGroup"
14
18
  });
15
19
 
package/src/index.js CHANGED
@@ -320,6 +320,7 @@ import '@sebgroup/green-core/transitional-styles';
320
320
  import '@sebgroup/green-core/components/dropdown/index.js';
321
321
  import '@sebgroup/green-core/components/context-menu/index.js';
322
322
  import 'classnames';
323
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
323
324
  import './lib/form/formContext.js';
324
325
  import './lib/form/validateInput.js';
325
326
  import './lib/form/useInput.js';
@@ -6,6 +6,13 @@ import classNames from 'classnames';
6
6
  import { Button } from '../button/button.js';
7
7
  import '@sebgroup/extract';
8
8
  import { Group } from '../group/group.js';
9
+ import '../../formItem/formItem.js';
10
+ import '@lit/react';
11
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
12
+ import '@sebgroup/green-core/scoping';
13
+ import '../iconButton/iconButton.js';
14
+ import '../../icons/times.js';
15
+ import '../../icons/infoCircle.js';
9
16
 
10
17
  var ButtonGroup = function ButtonGroup(_ref) {
11
18
  var children = _ref.children,
@@ -7,3 +7,10 @@ import 'classnames';
7
7
  import '../button/button.js';
8
8
  import '@sebgroup/extract';
9
9
  import '../group/group.js';
10
+ import '../../formItem/formItem.js';
11
+ import '@lit/react';
12
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
13
+ import '@sebgroup/green-core/scoping';
14
+ import '../iconButton/iconButton.js';
15
+ import '../../icons/times.js';
16
+ import '../../icons/infoCircle.js';
@@ -16,9 +16,12 @@ import 'react';
16
16
  import 'classnames';
17
17
  import '../../../_rollupPluginBabelHelpers.js';
18
18
  import '@sebgroup/extract';
19
- import './formContext.js';
20
- import './validateInput.js';
21
19
  import '../formItem/formItem.js';
20
+ import '@lit/react';
21
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
22
+ import '@sebgroup/green-core/scoping';
22
23
  import '../icons/times.js';
23
24
  import '../icons/infoCircle.js';
25
+ import './formContext.js';
26
+ import './validateInput.js';
24
27
  import './useInput.js';
@@ -8,6 +8,9 @@ import 'react';
8
8
  import 'classnames';
9
9
  import '@sebgroup/extract';
10
10
  import '../../formItem/formItem.js';
11
+ import '@lit/react';
12
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
13
+ import '@sebgroup/green-core/scoping';
11
14
  import '../iconButton/iconButton.js';
12
15
  import '../button/button.js';
13
16
  import '../../icons/times.js';
@@ -8,6 +8,9 @@ import { FormItem } from '../../formItem/formItem.js';
8
8
  import { Group } from '../group/group.js';
9
9
  export { RadioButton } from '../radioButton/radioButton.js';
10
10
  export { Checkbox } from '../checkbox/checkbox.js';
11
+ import '@lit/react';
12
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
13
+ import '@sebgroup/green-core/scoping';
11
14
  import '../iconButton/iconButton.js';
12
15
  import '../button/button.js';
13
16
  import '../../icons/times.js';
@@ -92,12 +95,12 @@ var Input = /*#__PURE__*/forwardRef(function (_a, ref) {
92
95
  label: label,
93
96
  labelInformation: info,
94
97
  role: role,
98
+ validator: validator,
95
99
  children: jsx("div", {
96
100
  className: "gds-input-wrapper",
97
101
  children: jsxs(Group, {
98
102
  groupBorder: true,
99
103
  groupFocus: true,
100
- error: validator === null || validator === void 0 ? void 0 : validator.message,
101
104
  id: "".concat(uuid, "_group"),
102
105
  children: [input, unit && jsx("span", {
103
106
  className: spanClassName,
@@ -8,6 +8,9 @@ import '@sebgroup/extract';
8
8
  import '../useInput.js';
9
9
  import '../../../../_rollupPluginBabelHelpers.js';
10
10
  import '../../formItem/formItem.js';
11
+ import '@lit/react';
12
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
13
+ import '@sebgroup/green-core/scoping';
11
14
  import '../iconButton/iconButton.js';
12
15
  import '../button/button.js';
13
16
  import '../../icons/times.js';
@@ -4,6 +4,9 @@ import React__default, { useState, useRef } from 'react';
4
4
  import classNames from 'classnames';
5
5
  import { randomId } from '@sebgroup/extract';
6
6
  import { FormItem } from '../../formItem/formItem.js';
7
+ import '@lit/react';
8
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
9
+ import '@sebgroup/green-core/scoping';
7
10
  import '../../../../_tslib.js';
8
11
  import '../iconButton/iconButton.js';
9
12
  import '../button/button.js';
@@ -6,6 +6,9 @@ import 'react';
6
6
  import 'classnames';
7
7
  import '@sebgroup/extract';
8
8
  import '../../formItem/formItem.js';
9
+ import '@lit/react';
10
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
11
+ import '@sebgroup/green-core/scoping';
9
12
  import '../iconButton/iconButton.js';
10
13
  import '../button/button.js';
11
14
  import '../../icons/times.js';
@@ -5,6 +5,9 @@ import { forwardRef, useState, useEffect, useCallback } from 'react';
5
5
  import classNames from 'classnames';
6
6
  import { randomId, validateClassName } from '@sebgroup/extract';
7
7
  import { FormItem } from '../../formItem/formItem.js';
8
+ import '@lit/react';
9
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
10
+ import '@sebgroup/green-core/scoping';
8
11
  import '../iconButton/iconButton.js';
9
12
  import '../button/button.js';
10
13
  import '../../icons/times.js';
@@ -1,4 +1,4 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import React, { AriaAttributes, PropsWithChildren } from 'react';
2
2
  import { IExpandableInformation, ILabelAndLabelInformation, IValidator } from '@sebgroup/extract';
3
3
  interface FormItemProps extends IExpandableInformation, ILabelAndLabelInformation, PropsWithChildren {
4
4
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
@@ -6,8 +6,9 @@ interface FormItemProps extends IExpandableInformation, ILabelAndLabelInformatio
6
6
  validator?: IValidator;
7
7
  inputId?: string;
8
8
  role?: string;
9
+ 'aria-live'?: AriaAttributes['aria-live'];
9
10
  /** Intended to use together with TextArea to show character counter. */
10
11
  rightAlignedFooterInfo?: string;
11
12
  }
12
- export declare const FormItem: ({ expandableInfo, label, labelInformation, validator, inputId, children, expandableInfoButtonLabel, role, rightAlignedFooterInfo, }: FormItemProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const FormItem: ({ expandableInfo, label, labelInformation, validator, inputId, children, expandableInfoButtonLabel, role, rightAlignedFooterInfo, "aria-live": ariaLive, }: FormItemProps) => import("react/jsx-runtime").JSX.Element;
13
14
  export {};
@@ -1,14 +1,22 @@
1
1
  import { _ as _slicedToArray, b as _asyncToGenerator, c as _regeneratorRuntime } from '../../../_rollupPluginBabelHelpers.js';
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { useRef, useState, useLayoutEffect, useEffect } from 'react';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import React__default, { useRef, useState, useLayoutEffect, useEffect } from 'react';
4
+ import { createComponent } from '@lit/react';
4
5
  import classNames from 'classnames';
5
6
  import { debounce, randomId, validateClassName, delay } from '@sebgroup/extract';
7
+ import { IconTriangleExclamation } from '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
8
+ import { getScopedTagName } from '@sebgroup/green-core/scoping';
6
9
  import '../../../_tslib.js';
7
10
  import { IconButton } from '../form/iconButton/iconButton.js';
8
11
  import { Times } from '../icons/times.js';
9
12
  import { InfoCircle } from '../icons/infoCircle.js';
10
13
  import '../form/button/button.js';
11
14
 
15
+ var TriangleExclamationIcon = createComponent({
16
+ tagName: getScopedTagName('gds-icon-triangle-exclamation'),
17
+ elementClass: IconTriangleExclamation,
18
+ react: React__default
19
+ });
12
20
  var FormItem = function FormItem(_ref) {
13
21
  var expandableInfo = _ref.expandableInfo,
14
22
  label = _ref.label,
@@ -18,7 +26,9 @@ var FormItem = function FormItem(_ref) {
18
26
  children = _ref.children,
19
27
  expandableInfoButtonLabel = _ref.expandableInfoButtonLabel,
20
28
  role = _ref.role,
21
- rightAlignedFooterInfo = _ref.rightAlignedFooterInfo;
29
+ rightAlignedFooterInfo = _ref.rightAlignedFooterInfo,
30
+ _ref$ariaLive = _ref['aria-live'],
31
+ ariaLive = _ref$ariaLive === void 0 ? 'assertive' : _ref$ariaLive;
22
32
  var expandableInnerRef = useRef(null);
23
33
  var expandableRef = useRef(null);
24
34
  var _useState = useState(0),
@@ -122,22 +132,35 @@ var FormItem = function FormItem(_ref) {
122
132
  style: {
123
133
  height: isExpanded ? expandableHeight : 0
124
134
  },
135
+ inert: isHidden ? '' : undefined,
125
136
  children: jsxs("div", {
126
137
  ref: expandableInnerRef,
127
138
  children: [" ", expandableInfo, " "]
128
139
  })
129
140
  }), children, jsxs("div", {
130
141
  className: "gds-form-item__footer",
131
- children: [validator && jsx("span", {
132
- className: "form-info",
133
- id: "".concat(inputId, "_message"),
134
- children: validator.message
142
+ "aria-live": ariaLive,
143
+ children: [validator && jsxs(Fragment, {
144
+ children: [jsx(TriangleExclamationIcon, {
145
+ solid: true,
146
+ width: 16,
147
+ height: 16,
148
+ style: {
149
+ color: 'var(--gds-sys-color-text-error)'
150
+ },
151
+ "aria-hidden": "true"
152
+ }), jsx("span", {
153
+ className: "form-info",
154
+ id: "".concat(inputId, "_message"),
155
+ children: validator.message
156
+ })]
135
157
  }), rightAlignedFooterInfo && jsx("span", {
136
158
  className: "form-info",
137
159
  style: {
138
160
  textAlign: 'right',
139
161
  width: validator ? 'auto' : '100%'
140
162
  },
163
+ "aria-hidden": "true",
141
164
  children: rightAlignedFooterInfo
142
165
  })]
143
166
  })]
@@ -2,8 +2,11 @@ export { FormItem } from './formItem.js';
2
2
  import '../../../_rollupPluginBabelHelpers.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
+ import '@lit/react';
5
6
  import 'classnames';
6
7
  import '@sebgroup/extract';
8
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
9
+ import '@sebgroup/green-core/scoping';
7
10
  import '../../../_tslib.js';
8
11
  import '../form/iconButton/iconButton.js';
9
12
  import '../form/button/button.js';
@@ -6,6 +6,9 @@ import 'react';
6
6
  import 'classnames';
7
7
  import '@sebgroup/extract';
8
8
  import '../formItem/formItem.js';
9
+ import '@lit/react';
10
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
11
+ import '@sebgroup/green-core/scoping';
9
12
  import '../form/iconButton/iconButton.js';
10
13
  import '../form/button/button.js';
11
14
  import '../icons/times.js';
@@ -6,6 +6,9 @@ import classNames from 'classnames';
6
6
  import { randomId, validateClassName } from '@sebgroup/extract';
7
7
  import { FormItem } from '../formItem/formItem.js';
8
8
  import { ChevronDown } from '../icons/chevronDown.js';
9
+ import '@lit/react';
10
+ import '@sebgroup/green-core/components/icon/icons/triangle-exclamation';
11
+ import '@sebgroup/green-core/scoping';
9
12
  import '../form/iconButton/iconButton.js';
10
13
  import '../form/button/button.js';
11
14
  import '../icons/times.js';