@sats-group/ui-lib 81.0.1 → 81.2.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/package.json +1 -1
- package/react/badge/badge.scss +13 -13
- package/react/banner/banner.js +1 -1
- package/react/banner/banner.js.map +2 -2
- package/react/banner/banner.scss +17 -17
- package/react/bomb/bomb.scss +4 -4
- package/react/checkbox/checkbox.js +1 -1
- package/react/checkbox/checkbox.js.map +2 -2
- package/react/checkbox/checkbox.scss +36 -36
- package/react/chip/chip.scss +10 -10
- package/react/chip-selected/chip-selected.js +1 -1
- package/react/chip-selected/chip-selected.js.map +2 -2
- package/react/chip-selected/chip-selected.scss +3 -3
- package/react/collapse/collapse.js +1 -1
- package/react/collapse/collapse.js.map +2 -2
- package/react/confirmation/confirmation.js +1 -1
- package/react/confirmation/confirmation.js.map +2 -2
- package/react/confirmation/confirmation.scss +4 -4
- package/react/context-menu/context-menu.js +1 -1
- package/react/context-menu/context-menu.js.map +2 -2
- package/react/context-menu/context-menu.scss +14 -14
- package/react/dropdown-list/dropdown-list.js +1 -1
- package/react/dropdown-list/dropdown-list.js.map +2 -2
- package/react/dropdown-list/dropdown-list.scss +33 -33
- package/react/expander/expander.js +1 -1
- package/react/expander/expander.js.map +2 -2
- package/react/expander/expander.scss +9 -9
- package/react/filter/filter.js +1 -1
- package/react/filter/filter.js.map +2 -2
- package/react/filter/filter.scss +11 -11
- package/react/flag/flag.scss +4 -4
- package/react/form-content/checkbox-category.js +1 -1
- package/react/form-content/checkbox-category.js.map +2 -2
- package/react/form-content/form-content.checkbox-list.js +1 -1
- package/react/form-content/form-content.checkbox-list.js.map +2 -2
- package/react/form-content/form-content.radio-list.js +1 -1
- package/react/form-content/form-content.radio-list.js.map +2 -2
- package/react/form-content/form-content.scss +11 -11
- package/react/form-content/form-content.search.js +1 -1
- package/react/form-content/form-content.search.js.map +2 -2
- package/react/link/link.scss +9 -9
- package/react/link-card/link-card.scss +5 -5
- package/react/message/message.scss +10 -10
- package/react/message-field/message-field.js +1 -1
- package/react/message-field/message-field.js.map +2 -2
- package/react/message-field/message-field.scss +2 -2
- package/react/modal/modal.js +1 -1
- package/react/modal/modal.js.map +2 -2
- package/react/modal/modal.scss +9 -9
- package/react/modal/tab-trapper.js +1 -1
- package/react/modal/tab-trapper.js.map +2 -2
- package/react/progress-bar/progress-bar.scss +7 -7
- package/react/radio/radio.js +1 -1
- package/react/radio/radio.js.map +2 -2
- package/react/radio/radio.scss +19 -19
- package/react/scale-bar/scale-bar.scss +3 -3
- package/react/search/search.js +1 -1
- package/react/search/search.js.map +2 -2
- package/react/search/search.scss +17 -17
- package/react/select/select.js +1 -1
- package/react/select/select.js.map +2 -2
- package/react/select/select.scss +17 -17
- package/react/tag/tag.scss +39 -39
- package/react/text-area/text-area.js +1 -1
- package/react/text-area/text-area.js.map +2 -2
- package/react/text-area/text-area.scss +32 -32
- package/react/text-input/text-input.js +1 -1
- package/react/text-input/text-input.js.map +2 -2
- package/react/text-input/text-input.scss +37 -37
- package/react/toggle/toggle.js +1 -1
- package/react/toggle/toggle.js.map +2 -2
- package/react/toggle/toggle.scss +4 -4
- package/react/toolbox/toolbox.scss +6 -6
- package/react/visually-button/visually-button.scss +79 -79
- package/tokens/colours.scss +3 -0
- package/tokens/default-colours.css +414 -0
- /package/tokens/{dark-variables.css → darkmode.css} +0 -0
- /package/tokens/{light-variables.css → lightmode.css} +0 -0
package/package.json
CHANGED
package/react/badge/badge.scss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use '../../tokens/
|
|
1
|
+
@use '../../tokens/colours';
|
|
2
2
|
@use '../../tokens/spacing';
|
|
3
3
|
@use '../../tokens/corner-radius';
|
|
4
4
|
|
|
@@ -19,35 +19,35 @@
|
|
|
19
19
|
|
|
20
20
|
&--theme-light {
|
|
21
21
|
&-primary {
|
|
22
|
-
color:
|
|
23
|
-
background:
|
|
22
|
+
color: var(--on-ge-on-badge-primary);
|
|
23
|
+
background: var(--ge-badge-primary);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
&-secondary {
|
|
27
|
-
color:
|
|
28
|
-
background:
|
|
27
|
+
color: var(--on-ge-on-badge-secondary);
|
|
28
|
+
background: var(--ge-badge-secondary);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
&-tertiary {
|
|
32
|
-
color:
|
|
33
|
-
background:
|
|
32
|
+
color: var(--on-ge-on-badge-tertiary);
|
|
33
|
+
background: var(--ge-badge-tertiary);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
&--theme-fixed {
|
|
38
38
|
&-primary {
|
|
39
|
-
color:
|
|
40
|
-
background:
|
|
39
|
+
color: var(--on-ge-on-badge-primary);
|
|
40
|
+
background: var(--ge-badge-primary);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
&-secondary {
|
|
44
|
-
color:
|
|
45
|
-
background:
|
|
44
|
+
color: var(--on-ge-on-fixed-badge-secondary);
|
|
45
|
+
background: var(--ge-fixed-badge-secondary);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
&-tertiary {
|
|
49
|
-
color:
|
|
50
|
-
background:
|
|
49
|
+
color: var(--on-ge-on-fixed-badge-tertiary);
|
|
50
|
+
background: var(--ge-fixed-badge-tertiary);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|
package/react/banner/banner.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import d from"classnames";import n,{useState as y}from"react";import r from"../text";import N from"../visually-hidden";import v from"../icons/18/error";import t from"../icons/18/info";import h from"../icons/18/confirm";import x from"../icons/18/warning-sign";import g from"../icons/18/close";const
|
|
1
|
+
"use client";import d from"classnames";import n,{useState as y}from"react";import r from"../text";import N from"../visually-hidden";import v from"../icons/18/error";import t from"../icons/18/info";import h from"../icons/18/confirm";import x from"../icons/18/warning-sign";import g from"../icons/18/close";const c={error:n.createElement(v,null),information:n.createElement(t,null),neutral:n.createElement(t,null),success:n.createElement(h,null),warning:n.createElement(x,null)},C=({dismiss:e,icon:s,link:l,list:o,nested:u,text:b,title:i,type:a})=>{const[p,f]=y(!1);if(p)return null;const _=()=>f(!0);return n.createElement("div",{className:d("banner",{"banner--layout-dismissable":!s&&e,"banner--layout-icon":s&&!e,"banner--layout-single":!s&&!e,"banner--layout-triple":s&&e,"banner--nested":u,[`banner--type-${a}`]:a})},s?n.createElement("div",{className:"banner__icon"},c[a]):null,n.createElement("div",{className:"banner__primary"},i?n.createElement("div",{className:"banner__title"},n.createElement(r,{theme:r.themes.emphasis,tight:!0},i)):null,n.createElement(r,{className:"banner__text",size:r.sizes.small},b),o.length?n.createElement(r,{elementName:"ol",className:"banner__list",size:r.sizes.small},o.map(m=>n.createElement("li",{key:m},m))):null,l?n.createElement(r,{className:"banner__link"},n.createElement("a",{className:"banner__anchor",href:l.href},l.text)):null),e?n.createElement("div",{className:"banner__secondary"},n.createElement("button",{className:"banner__dismisser",onClick:_},n.createElement(N,null,e),n.createElement(g,null))):null)};var V=C;export{V as default};
|
|
2
2
|
//# sourceMappingURL=banner.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../react/banner/banner.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport cn from 'classnames';\nimport React, { useState } from 'react';\n\nimport Text from '../text';\nimport VisuallyHidden from '../visually-hidden';\nimport Error from '../icons/18/error';\nimport Info from '../icons/18/info';\nimport Confirm from '../icons/18/confirm';\nimport WarningSign from '../icons/18/warning-sign';\nimport Close from '../icons/18/close';\n\nimport type { Banner as Props } from './banner.types';\n\nconst typeIcon = {\n error: <Error />,\n information: <Info />,\n neutral: <Info />,\n success: <Confirm />,\n warning: <WarningSign />,\n};\n\nconst Banner: React.FunctionComponent<Props> = ({\n dismiss,\n icon,\n link,\n list,\n nested,\n text,\n title,\n type,\n}) => {\n const [isDismissed, setDismissed] = useState(false);\n if (isDismissed) {\n return null;\n }\n\n const handleClick = () => setDismissed(true);\n\n return (\n <div\n className={cn('banner', {\n 'banner--layout-dismissable': !icon && dismiss,\n 'banner--layout-icon': icon && !dismiss,\n 'banner--layout-single': !icon && !dismiss,\n 'banner--layout-triple': icon && dismiss,\n 'banner--nested': nested,\n [`banner--type-${type}`]: type,\n })}\n >\n {icon ? <div className=\"banner__icon\">{typeIcon[type]}</div> : null}\n <div className=\"banner__primary\">\n {title ? (\n <div className=\"banner__title\">\n <Text theme={Text.themes.emphasis} tight>\n {title}\n </Text>\n </div>\n ) : null}\n <Text className=\"banner__text\" size={Text.sizes.small}>\n {text}\n </Text>\n {list.length ? (\n <Text\n elementName=\"ol\"\n className=\"banner__list\"\n size={Text.sizes.small}\n >\n {list.map(item => (\n <li key={item}>{item}</li>\n ))}\n </Text>\n ) : null}\n {link ? (\n <Text className=\"banner__link\">\n <a className=\"banner__anchor\" href={link.href}>\n {link.text}\n </a>\n </Text>\n ) : null}\n </div>\n {dismiss ? (\n <div className=\"banner__secondary\">\n <button className=\"banner__dismisser\" onClick={handleClick}>\n <VisuallyHidden>{dismiss}</VisuallyHidden>\n <Close />\n </button>\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Banner;\n"],
|
|
5
|
+
"mappings": "aAEA,OAAOA,MAAQ,aACf,OAAOC,GAAS,YAAAC,MAAgB,QAEhC,OAAOC,MAAU,UACjB,OAAOC,MAAoB,qBAC3B,OAAOC,MAAW,oBAClB,OAAOC,MAAU,mBACjB,OAAOC,MAAa,sBACpB,OAAOC,MAAiB,2BACxB,OAAOC,MAAW,oBAIlB,MAAMC,EAAW,CACf,MAAOT,EAAA,cAACI,EAAA,IAAM,EACd,YAAaJ,EAAA,cAACK,EAAA,IAAK,EACnB,QAASL,EAAA,cAACK,EAAA,IAAK,EACf,QAASL,EAAA,cAACM,EAAA,IAAQ,EAClB,QAASN,EAAA,cAACO,EAAA,IAAY,CACxB,EAEMG,EAAyC,CAAC,CAC9C,QAAAC,EACA,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,OAAAC,EACA,KAAAC,EACA,MAAAC,EACA,KAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAaC,CAAY,EAAInB,EAAS,EAAK,EAClD,GAAIkB,EACF,OAAO,KAGT,MAAME,EAAc,IAAMD,EAAa,EAAI,EAE3C,OACEpB,EAAA,cAAC,OACC,UAAWD,EAAG,SAAU,CACtB,6BAA8B,CAACa,GAAQD,EACvC,sBAAuBC,GAAQ,CAACD,EAChC,wBAAyB,CAACC,GAAQ,CAACD,EACnC,wBAAyBC,GAAQD,EACjC,iBAAkBI,EAClB,CAAC,gBAAgBG,CAAI,EAAE,EAAGA,CAC5B,CAAC,GAEAN,EAAOZ,EAAA,cAAC,OAAI,UAAU,gBAAgBS,EAASS,CAAI,CAAE,EAAS,KAC/DlB,EAAA,cAAC,OAAI,UAAU,mBACZiB,EACCjB,EAAA,cAAC,OAAI,UAAU,iBACbA,EAAA,cAACE,EAAA,CAAK,MAAOA,EAAK,OAAO,SAAU,MAAK,IACrCe,CACH,CACF,EACE,KACJjB,EAAA,cAACE,EAAA,CAAK,UAAU,eAAe,KAAMA,EAAK,MAAM,OAC7Cc,CACH,EACCF,EAAK,OACJd,EAAA,cAACE,EAAA,CACC,YAAY,KACZ,UAAU,eACV,KAAMA,EAAK,MAAM,OAEhBY,EAAK,IAAIQ,GACRtB,EAAA,cAAC,MAAG,IAAKsB,GAAOA,CAAK,CACtB,CACH,EACE,KACHT,EACCb,EAAA,cAACE,EAAA,CAAK,UAAU,gBACdF,EAAA,cAAC,KAAE,UAAU,iBAAiB,KAAMa,EAAK,MACtCA,EAAK,IACR,CACF,EACE,IACN,EACCF,EACCX,EAAA,cAAC,OAAI,UAAU,qBACbA,EAAA,cAAC,UAAO,UAAU,oBAAoB,QAASqB,GAC7CrB,EAAA,cAACG,EAAA,KAAgBQ,CAAQ,EACzBX,EAAA,cAACQ,EAAA,IAAM,CACT,CACF,EACE,IACN,CAEJ,EAEA,IAAOe,EAAQb",
|
|
6
6
|
"names": ["cn", "React", "useState", "Text", "VisuallyHidden", "Error", "Info", "Confirm", "WarningSign", "Close", "typeIcon", "Banner", "dismiss", "icon", "link", "list", "nested", "text", "title", "type", "isDismissed", "setDismissed", "handleClick", "item", "banner_default"]
|
|
7
7
|
}
|
package/react/banner/banner.scss
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@use '../../tokens/corner-radius';
|
|
2
|
-
@use '../../tokens/
|
|
2
|
+
@use '../../tokens/colours';
|
|
3
3
|
@use '../../tokens/spacing';
|
|
4
4
|
|
|
5
5
|
.banner {
|
|
@@ -33,60 +33,60 @@
|
|
|
33
33
|
|
|
34
34
|
&--type {
|
|
35
35
|
&-error {
|
|
36
|
-
background-color:
|
|
37
|
-
border-color:
|
|
36
|
+
background-color: var(--signal-surface-error);
|
|
37
|
+
border-color: var(--on-signal-surface-error-alternate);
|
|
38
38
|
|
|
39
39
|
.banner__anchor,
|
|
40
40
|
.banner__dismisser,
|
|
41
41
|
.banner__icon {
|
|
42
|
-
color:
|
|
42
|
+
color: var(--on-signal-surface-error-alternate);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
&-information {
|
|
47
|
-
background-color:
|
|
48
|
-
border-color:
|
|
47
|
+
background-color: var(--signal-surface-information);
|
|
48
|
+
border-color: var(--on-signal-surface-information-alternate);
|
|
49
49
|
|
|
50
50
|
.banner__anchor,
|
|
51
51
|
.banner__dismisser,
|
|
52
52
|
.banner__icon {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--on-signal-surface-information-alternate);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
&-neutral {
|
|
58
|
-
background-color:
|
|
59
|
-
border-color:
|
|
58
|
+
background-color: var(--signal-surface-neutral);
|
|
59
|
+
border-color: var(--on-signal-surface-neutral-alternate);
|
|
60
60
|
|
|
61
61
|
.banner__anchor,
|
|
62
62
|
.banner__dismisser {
|
|
63
|
-
color:
|
|
63
|
+
color: var(--on-signal-surface-neutral-alternate);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
.banner__icon {
|
|
67
|
-
color:
|
|
67
|
+
color: var(--on-surface-neutral);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
&-success {
|
|
72
|
-
background-color:
|
|
73
|
-
border-color:
|
|
72
|
+
background-color: var(--signal-surface-success);
|
|
73
|
+
border-color: var(--on-signal-surface-success-alternate);
|
|
74
74
|
|
|
75
75
|
.banner__anchor,
|
|
76
76
|
.banner__dismisser,
|
|
77
77
|
.banner__icon {
|
|
78
|
-
color:
|
|
78
|
+
color: var(--on-signal-surface-success-alternate);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
&-warning {
|
|
83
|
-
background-color:
|
|
84
|
-
border-color:
|
|
83
|
+
background-color: var(--signal-surface-warning);
|
|
84
|
+
border-color: var(--on-signal-surface-warning-alternate);
|
|
85
85
|
|
|
86
86
|
.banner__anchor,
|
|
87
87
|
.banner__dismisser,
|
|
88
88
|
.banner__icon {
|
|
89
|
-
color:
|
|
89
|
+
color: var(--on-signal-surface-warning-alternate);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
package/react/bomb/bomb.scss
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@use '../../tokens/elevation';
|
|
2
|
-
@use '../../tokens/
|
|
2
|
+
@use '../../tokens/colours';
|
|
3
3
|
@use '../../tokens/spacing';
|
|
4
4
|
|
|
5
5
|
.bomb {
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
@include elevation.level(1);
|
|
10
10
|
aspect-ratio: 1/1; // NOTE: Needs fallback for perfect roundness in older browsers. Worth it?
|
|
11
|
-
background:
|
|
11
|
+
background: var(--buttons-cta-default);
|
|
12
12
|
border-radius: 50%;
|
|
13
|
-
color:
|
|
13
|
+
color: var(--on-buttons-on-cta-default);
|
|
14
14
|
display: grid;
|
|
15
15
|
overflow: hidden;
|
|
16
16
|
padding: spacing.$l;
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
&::before {
|
|
22
22
|
border-radius: 50%;
|
|
23
|
-
border: $border-thickness solid
|
|
23
|
+
border: $border-thickness solid var(--on-buttons-on-cta-default);
|
|
24
24
|
bottom: $border-inset;
|
|
25
25
|
content: '';
|
|
26
26
|
display: block;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var T=Object.defineProperty;var b=Object.getOwnPropertySymbols;var
|
|
1
|
+
"use client";var T=Object.defineProperty;var b=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable;var t=(c,o,i)=>o in c?T(c,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):c[o]=i,u=(c,o)=>{for(var i in o||(o={}))p.call(o,i)&&t(c,i,o[i]);if(b)for(var i of b(o))f.call(o,i)&&t(c,i,o[i]);return c};var g=(c,o)=>{var i={};for(var l in c)p.call(c,l)&&o.indexOf(l)<0&&(i[l]=c[l]);if(c!=null&&b)for(var l of b(c))o.indexOf(l)<0&&f.call(c,l)&&(i[l]=c[l]);return i};import s from"classnames";import*as e from"react";import B from"../use-input-validation";import h from"../text";import{themes as M}from"./checkbox.types";const N=e.forwardRef((j,L)=>{var m=j,{children:c,disabled:o,description:i,extra:l,intermediate:k,isLabelVisible:d=!0,label:r,name:w,showCustomError:C=!0,theme:n,value:y="",isUnderlined:I,required:v}=m,a=g(m,["children","disabled","description","extra","intermediate","isLabelVisible","label","name","showCustomError","theme","value","isUnderlined","required"]);const[$,z,x]=B();return e.createElement("div",{className:s("checkbox",{"checkbox--error":x,"checkbox--intermediate":k,[`checkbox--${n}`]:n})},e.createElement("label",{className:s("checkbox__content",{"checkbox--underline":I})},e.createElement("div",{className:"checkbox__main"},e.createElement("div",{className:"checkbox__main-top"},e.createElement("div",null,e.createElement("input",u({"aria-label":d?void 0:r,className:"checkbox__input",type:"checkbox",name:w,onChange:_=>{a.onChange&&a.onChange(_),$(_)},onInvalid:_=>{a.onInvalid&&a.onInvalid(_),z(_)},ref:L,value:y,disabled:o,required:v},a)),e.createElement("div",{className:s("checkbox__icon",{"checkbox__icon--intermediate":k,[`checkbox__icon--${n}`]:n})},e.createElement("svg",{className:"checkbox__intermediate",width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("line",{x1:"0",y1:"5",x2:"10",y2:"5",stroke:"currentColor",strokeWidth:"2"})),e.createElement("svg",{className:"checkbox__check",width:"12",height:"10",viewBox:"0 0 12 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M4.76123 9.0605L0.700729 5L1.76123 3.9395L4.76123 6.9395L10.7612 0.939501L11.8217 2L4.76123 9.0605Z",fill:"currentColor"})))),d?e.createElement(e.Fragment,null,r?e.createElement(h,{className:s("checkbox__label",{[`checkbox__label--${n}`]:n,"checkbox__label--disabled":o}),size:h.sizes.basic},r):e.createElement("div",{className:s("checkbox__label",{[`checkbox__label--${n}`]:n,"checkbox__label--disabled":o})},c)):null,v?e.createElement("span",{className:"checkbox__asterisk"},"*"):null),i&&e.createElement(h,{className:s("checkbox__description",{[`checkbox__label--${n}`]:n,"checkbox__label--disabled":o}),size:h.sizes.small},i))),x&&C&&e.createElement("div",{"aria-hidden":"true",className:s("checkbox__error",{[`checkbox__error--${n}`]:n})},x),l&&e.createElement("span",{className:"checkbox__extra"},l))});N.displayName="Checkbox";const W=Object.assign(N,{themes:M});var D=W;export{D as default};
|
|
2
2
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../react/checkbox/checkbox.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport cn from 'classnames';\nimport * as React from 'react';\n\nimport useInputValidation from '../use-input-validation';\nimport Text from '../text';\n\nimport { Checkbox as Props, themes } from './checkbox.types';\n\nconst RefCheckbox = React.forwardRef<\n HTMLInputElement,\n React.PropsWithChildren<Props>\n>(\n (\n {\n children,\n disabled,\n description,\n extra,\n intermediate,\n isLabelVisible = true,\n label,\n name,\n showCustomError = true,\n theme,\n value = '',\n isUnderlined,\n required,\n ...restProps\n },\n ref,\n ) => {\n const [onChange, onInvalid, error] = useInputValidation();\n\n return (\n <div\n className={cn('checkbox', {\n 'checkbox--error': error,\n 'checkbox--intermediate': intermediate,\n [`checkbox--${theme}`]: theme,\n })}\n >\n <label\n className={cn('checkbox__content', {\n 'checkbox--underline': isUnderlined,\n })}\n >\n <div className=\"checkbox__main\">\n <div className=\"checkbox__main-top\">\n <div>\n <input\n aria-label={isLabelVisible ? undefined : label}\n className=\"checkbox__input\"\n type=\"checkbox\"\n name={name}\n onChange={e => {\n // NOTE: If props specify an `onChange`, we need to call that too\n if (restProps.onChange) restProps.onChange(e);\n onChange(e);\n }}\n onInvalid={e => {\n // NOTE: If props specify an `onInvalid`, we need to call that too\n if (restProps.onInvalid) restProps.onInvalid(e);\n onInvalid(e);\n }}\n ref={ref}\n value={value}\n disabled={disabled}\n required={required}\n {...restProps}\n />\n\n <div\n className={cn('checkbox__icon', {\n 'checkbox__icon--intermediate': intermediate,\n [`checkbox__icon--${theme}`]: theme,\n })}\n >\n <svg\n className=\"checkbox__intermediate\"\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n x1=\"0\"\n y1=\"5\"\n x2=\"10\"\n y2=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </svg>\n <svg\n className=\"checkbox__check\"\n width=\"12\"\n height=\"10\"\n viewBox=\"0 0 12 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.76123 9.0605L0.700729 5L1.76123 3.9395L4.76123 6.9395L10.7612 0.939501L11.8217 2L4.76123 9.0605Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n </div>\n {isLabelVisible ? (\n <>\n {label ? (\n <Text\n className={cn('checkbox__label', {\n [`checkbox__label--${theme}`]: theme,\n 'checkbox__label--disabled': disabled,\n })}\n size={Text.sizes.basic}\n >\n {label}\n </Text>\n ) : (\n <div\n className={cn('checkbox__label', {\n [`checkbox__label--${theme}`]: theme,\n 'checkbox__label--disabled': disabled,\n })}\n >\n {children}\n </div>\n )}\n </>\n ) : null}\n {required ? <span className=\"checkbox__asterisk\">*</span> : null}\n </div>\n {description && (\n <Text\n className={cn('checkbox__description', {\n [`checkbox__label--${theme}`]: theme,\n 'checkbox__label--disabled': disabled,\n })}\n size={Text.sizes.small}\n >\n {description}\n </Text>\n )}\n </div>\n </label>\n\n {/* NOTE: This is aria-hidden because reporting of validation errors is handled by the browser */}\n {error && showCustomError && (\n <div\n aria-hidden=\"true\"\n className={cn('checkbox__error', {\n [`checkbox__error--${theme}`]: theme,\n })}\n >\n {error}\n </div>\n )}\n\n {extra && <span className=\"checkbox__extra\">{extra}</span>}\n </div>\n );\n },\n);\n\n// NOTE: If this isn't set, stack traces say \"forwardRef\" instead of \"Checkbox\"\nRefCheckbox.displayName = 'Checkbox';\n\n// NOTE: The component is redeclared here because TypeScript doesn't accept assigning extra properties to `RefComponent` when it's declared\nconst Checkbox: typeof RefCheckbox & {\n themes: typeof themes;\n} = Object.assign(RefCheckbox, { themes });\n\nexport default Checkbox;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["cn", "React", "useInputValidation", "Text", "themes", "RefCheckbox", "_a", "ref", "_b", "children", "disabled", "description", "extra", "intermediate", "isLabelVisible", "label", "name", "showCustomError", "theme", "value", "isUnderlined", "required", "restProps", "__objRest", "onChange", "onInvalid", "error", "__spreadValues", "e", "Checkbox", "checkbox_default"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use '../../tokens/
|
|
1
|
+
@use '../../tokens/colours';
|
|
2
2
|
@use '../../tokens/spacing';
|
|
3
3
|
|
|
4
4
|
.checkbox {
|
|
@@ -6,37 +6,37 @@
|
|
|
6
6
|
$size: 20px;
|
|
7
7
|
|
|
8
8
|
&__asterisk {
|
|
9
|
-
color:
|
|
9
|
+
color: var(--on-surface-featured);
|
|
10
10
|
margin-left: spacing.$xs;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
&:focus-within {
|
|
14
14
|
.checkbox__icon {
|
|
15
|
-
outline: 4px solid
|
|
15
|
+
outline: 4px solid var(--ge-selector-primary-unselected-default);
|
|
16
16
|
outline-offset: 2px;
|
|
17
17
|
|
|
18
18
|
&--light {
|
|
19
|
-
outline-color:
|
|
19
|
+
outline-color: var(--ge-fixed-selector-unselected-default);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
&--underline {
|
|
25
25
|
padding-bottom: spacing.$s;
|
|
26
|
-
border-bottom: 1px solid
|
|
26
|
+
border-bottom: 1px solid var(--ge-divider-default);
|
|
27
27
|
|
|
28
28
|
&--light {
|
|
29
|
-
border-color:
|
|
29
|
+
border-color: var(--ge-divider-default);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
&--intermediate {
|
|
34
34
|
.checkbox__icon {
|
|
35
|
-
border-color:
|
|
36
|
-
background-color:
|
|
35
|
+
border-color: var(--ge-selector-primary-selected-default);
|
|
36
|
+
background-color: var(--ge-selector-primary-selected-default);
|
|
37
37
|
|
|
38
38
|
svg {
|
|
39
|
-
color:
|
|
39
|
+
color: var(--on-ge-on-selector-primary-selected-default);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
.checkbox__check {
|
|
@@ -48,20 +48,20 @@
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
&--light {
|
|
51
|
-
border-color:
|
|
52
|
-
background-color:
|
|
51
|
+
border-color: var(--ge-fixed-selector-selected-default);
|
|
52
|
+
background-color: var(--ge-fixed-selector-selected-default);
|
|
53
53
|
|
|
54
54
|
svg {
|
|
55
|
-
color:
|
|
55
|
+
color: var(--on-ge-on-fixed-selector-selected-default);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
&--blue {
|
|
60
|
-
border-color:
|
|
61
|
-
background-color:
|
|
60
|
+
border-color: var(--on-background-primary-default);
|
|
61
|
+
background-color: var(--on-background-primary-default);
|
|
62
62
|
|
|
63
63
|
svg {
|
|
64
|
-
color:
|
|
64
|
+
color: var(--on-ge-on-selector-primary-selected-default);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
|
|
70
70
|
&--error {
|
|
71
71
|
.checkbox__icon {
|
|
72
|
-
border-color:
|
|
72
|
+
border-color: var(--ge-signal-border-error);
|
|
73
73
|
|
|
74
74
|
&--light {
|
|
75
|
-
border-color:
|
|
75
|
+
border-color: var(--ge-signal-border-error);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -112,11 +112,11 @@
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
&:checked + .checkbox__icon {
|
|
115
|
-
background-color:
|
|
116
|
-
border-color:
|
|
115
|
+
background-color: var(--ge-selector-primary-selected-default);
|
|
116
|
+
border-color: var(--ge-selector-primary-selected-default);
|
|
117
117
|
|
|
118
118
|
svg {
|
|
119
|
-
color:
|
|
119
|
+
color: var(--on-ge-on-selector-primary-selected-default);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
.checkbox__check {
|
|
@@ -128,20 +128,20 @@
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
&--light {
|
|
131
|
-
background-color:
|
|
132
|
-
border-color:
|
|
131
|
+
background-color: var(--ge-fixed-selector-selected-default);
|
|
132
|
+
border-color: var(--ge-fixed-selector-selected-default);
|
|
133
133
|
|
|
134
134
|
svg {
|
|
135
|
-
color:
|
|
135
|
+
color: var(--on-ge-on-fixed-selector-selected-default);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
&--blue {
|
|
140
|
-
background-color:
|
|
141
|
-
border-color:
|
|
140
|
+
background-color: var(--on-background-primary-default);
|
|
141
|
+
border-color: var(--on-background-primary-default);
|
|
142
142
|
|
|
143
143
|
svg {
|
|
144
|
-
color:
|
|
144
|
+
color: var(--on-ge-on-selector-primary-selected-default);
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
}
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
|
|
158
158
|
&__icon {
|
|
159
159
|
border-radius: 4px;
|
|
160
|
-
border: 2px solid
|
|
160
|
+
border: 2px solid var(--ge-selector-primary-unselected-default);
|
|
161
161
|
box-sizing: border-box;
|
|
162
162
|
height: $size;
|
|
163
163
|
position: relative;
|
|
@@ -174,31 +174,31 @@
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
&--light {
|
|
177
|
-
border-color:
|
|
177
|
+
border-color: var(--ge-fixed-selector-unselected-default);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
&__description {
|
|
182
|
-
color:
|
|
182
|
+
color: var(--on-surface-primary-alternate);
|
|
183
183
|
margin-left: $size + (spacing.$xs);
|
|
184
184
|
&--light {
|
|
185
|
-
color:
|
|
185
|
+
color: var(--on-fixed-surface-neutral);
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
&--disabled {
|
|
189
|
-
color:
|
|
189
|
+
color: var(--on-surface-primary-disabled);
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
&__label {
|
|
194
|
-
color:
|
|
194
|
+
color: var(--on-surface-primary-default);
|
|
195
195
|
|
|
196
196
|
&--light {
|
|
197
|
-
color:
|
|
197
|
+
color: var(--on-fixed-surface-primary-default);
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
&--disabled {
|
|
201
|
-
color:
|
|
201
|
+
color: var(--on-surface-primary-default);
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
|
|
@@ -208,11 +208,11 @@
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
&__error {
|
|
211
|
-
color:
|
|
211
|
+
color: var(--ge-signal-error);
|
|
212
212
|
margin-top: 4px;
|
|
213
213
|
|
|
214
214
|
&--light {
|
|
215
|
-
color:
|
|
215
|
+
color: var(--ge-signal-error);
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
}
|
package/react/chip/chip.scss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use '../../tokens/
|
|
1
|
+
@use '../../tokens/colours';
|
|
2
2
|
@use '../../tokens/spacing';
|
|
3
3
|
|
|
4
4
|
.chip {
|
|
@@ -10,23 +10,23 @@
|
|
|
10
10
|
display: inline-block;
|
|
11
11
|
border-radius: 40px; // NOTE: Custom border radius by design
|
|
12
12
|
background-color: transparent;
|
|
13
|
-
border: 1px solid
|
|
13
|
+
border: 1px solid var(--ge-chips-unselected-default);
|
|
14
14
|
|
|
15
15
|
@media (hover: hover) {
|
|
16
16
|
&:not([disabled]):hover {
|
|
17
|
-
background-color:
|
|
18
|
-
color:
|
|
17
|
+
background-color: var(--ge-chips-unselected-hover);
|
|
18
|
+
color: var(--on-ge-on-chips-unselected-default);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
&--selected {
|
|
23
|
-
background-color:
|
|
24
|
-
color:
|
|
23
|
+
background-color: var(--ge-chips-selected-default);
|
|
24
|
+
color: var(--on-ge-on-chips-selected-default);
|
|
25
25
|
|
|
26
26
|
@media (hover: hover) {
|
|
27
27
|
&:not([disabled]):hover {
|
|
28
|
-
background-color:
|
|
29
|
-
color:
|
|
28
|
+
background-color: var(--ge-chips-selected-hover);
|
|
29
|
+
color: var(--on-ge-on-chips-selected-default);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
&[disabled] {
|
|
42
|
-
background-color:
|
|
43
|
-
color:
|
|
42
|
+
background-color: var(--ge-chips-selected-disabled);
|
|
43
|
+
color: var(--on-ge-on-chips-selected-disabled);
|
|
44
44
|
cursor: not-allowed;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var C=Object.defineProperty,N=Object.defineProperties;var S=Object.getOwnPropertyDescriptors;var c=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var u=(l,s,t)=>s in l?C(l,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[s]=t,p=(l,s)=>{for(var t in s||(s={}))z.call(s,t)&&u(l,t,s[t]);if(c)for(var t of c(s))g.call(s,t)&&u(l,t,s[t]);return l},f=(l,s)=>N(l,S(s));import*as e from"react";import b from"../icons/24/arrow-down";import T from"../icons/24/arrow-up";import E from"../chip/chip";import o from"../text";import H from"../link";import k from"../collapse";import w from"../hooks/use-event";const O=({resetSelected:l,description:s,hideSelected:t,maxChipsToShow:h=41,showSelected:_,chips:r})=>{const[d,v]=e.useState(!1),[m,a]=e.useState(0),i=e.useRef(null);w("resize",()=>{i&&i.current&&a(i.current.clientHeight)}),e.useEffect(()=>{i&&i.current&&a(i.current.clientHeight)},[i]);const x=()=>{v(n=>!n)};return r?e.createElement("div",{className:"chip-selected__selected-options-wrapper"},e.createElement("div",{className:"chip-selected__clear-all-button"},e.createElement(o,null,s),e.createElement(H,p({},l))),e.createElement("div",null,e.createElement(k,{className:"chip-selected__collapse",isOpen:d},e.createElement("div",{className:"chip-selected__selected-options",ref:i},r.map(n=>e.createElement(E,f(p({},n),{key:n.text}))))),m&&m>h?e.createElement("button",{type:"button",className:"chip-selected__expand",onClick:x},d?e.createElement(e.Fragment,null,e.createElement(o,{elementName:"span",size:o.sizes.small,className:"chip-selected__expand-text"},t),e.createElement(T,null)):e.createElement(e.Fragment,null,e.createElement(o,{elementName:"span",size:o.sizes.small,className:"chip-selected__expand-text"},_),e.createElement(b,null))):null)):null};var B=O;export{B as default};
|
|
1
|
+
"use client";var C=Object.defineProperty,N=Object.defineProperties;var S=Object.getOwnPropertyDescriptors;var c=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable;var u=(l,s,t)=>s in l?C(l,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[s]=t,p=(l,s)=>{for(var t in s||(s={}))z.call(s,t)&&u(l,t,s[t]);if(c)for(var t of c(s))g.call(s,t)&&u(l,t,s[t]);return l},f=(l,s)=>N(l,S(s));import*as e from"react";import b from"../icons/24/arrow-down";import T from"../icons/24/arrow-up";import E from"../chip/chip";import o from"../text";import H from"../link";import k from"../collapse";import w from"../hooks/use-event";const O=({resetSelected:l,description:s,hideSelected:t,maxChipsToShow:h=41,showSelected:_,chips:r})=>{const[d,v]=e.useState(!1),[m,a]=e.useState(0),i=e.useRef(null);w("resize",()=>{i&&i.current&&a(i.current.clientHeight)}),e.useEffect(()=>{i&&i.current&&a(i.current.clientHeight)},[i]);const x=()=>{v(n=>!n)};return r?e.createElement("div",{className:"chip-selected__selected-options-wrapper"},e.createElement("div",{className:"chip-selected__clear-all-button"},e.createElement(o,null,s),e.createElement(H,p({},l))),e.createElement("div",null,e.createElement(k,{className:"chip-selected__collapse",isOpen:d},e.createElement("div",{className:"chip-selected__selected-options",ref:i},r.map(n=>e.createElement(E,f(p({},n),{key:n.text}))))),m&&m>h?e.createElement("button",{type:"button",className:"chip-selected__expand",onClick:x},d?e.createElement(e.Fragment,null,e.createElement(o,{elementName:"span",size:o.sizes.small,className:"chip-selected__expand-text"},t),e.createElement(T,null)):e.createElement(e.Fragment,null,e.createElement(o,{elementName:"span",size:o.sizes.small,className:"chip-selected__expand-text"},_),e.createElement(b,null))):null)):null};var B=O;export{B as default};
|
|
2
2
|
//# sourceMappingURL=chip-selected.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../react/chip-selected/chip-selected.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\n\nimport ChevronDown from '../icons/24/arrow-down';\nimport ChevronUp from '../icons/24/arrow-up';\nimport Chip from '../chip/chip';\nimport Text from '../text';\nimport Link from '../link';\nimport Collapse from '../collapse';\n\nimport useEvent from '../hooks/use-event';\n\nimport { ChipSelected as Props } from './chip-selected.types';\n\nconst ChipSelected: React.FC<Props> = ({\n resetSelected,\n description,\n hideSelected,\n maxChipsToShow = 41,\n showSelected,\n chips,\n}) => {\n const [expandedSelectedValues, setExpandedSelectedValues] =\n React.useState(false);\n\n const [heightOfCollapse, setHeightOfCollapse] = React.useState<\n number | undefined\n >(0);\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const updateSize = () => {\n if (divRef && divRef.current) {\n setHeightOfCollapse(divRef.current.clientHeight);\n }\n };\n\n useEvent('resize', updateSize);\n\n React.useEffect(() => {\n if (divRef && divRef.current) {\n setHeightOfCollapse(divRef.current.clientHeight);\n }\n }, [divRef]);\n\n const toggleShowMore = () => {\n setExpandedSelectedValues(prevState => !prevState);\n };\n\n return chips ? (\n <div className=\"chip-selected__selected-options-wrapper\">\n <div className=\"chip-selected__clear-all-button\">\n <Text>{description}</Text>\n <Link {...resetSelected} />\n </div>\n <div>\n <Collapse\n className=\"chip-selected__collapse\"\n isOpen={expandedSelectedValues}\n >\n <div className=\"chip-selected__selected-options\" ref={divRef}>\n {chips.map(chip => (\n <Chip {...chip} key={chip.text} />\n ))}\n </div>\n </Collapse>\n\n {heightOfCollapse && heightOfCollapse > maxChipsToShow ? (\n <button\n type=\"button\"\n className=\"chip-selected__expand\"\n onClick={toggleShowMore}\n >\n {expandedSelectedValues ? (\n <>\n <Text\n elementName=\"span\"\n size={Text.sizes.small}\n className=\"chip-selected__expand-text\"\n >\n {hideSelected}\n </Text>\n <ChevronUp />\n </>\n ) : (\n <>\n <Text\n elementName=\"span\"\n size={Text.sizes.small}\n className=\"chip-selected__expand-text\"\n >\n {showSelected}\n </Text>\n <ChevronDown />\n </>\n )}\n </button>\n ) : null}\n </div>\n </div>\n ) : null;\n};\n\nexport default ChipSelected;\n"],
|
|
5
|
+
"mappings": "0bAEA,UAAYA,MAAW,QAEvB,OAAOC,MAAiB,yBACxB,OAAOC,MAAe,uBACtB,OAAOC,MAAU,eACjB,OAAOC,MAAU,UACjB,OAAOC,MAAU,UACjB,OAAOC,MAAc,cAErB,OAAOC,MAAc,qBAIrB,MAAMC,EAAgC,CAAC,CACrC,cAAAC,EACA,YAAAC,EACA,aAAAC,EACA,eAAAC,EAAiB,GACjB,aAAAC,EACA,MAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAwBC,CAAyB,EACtDhB,EAAM,SAAS,EAAK,EAEhB,CAACiB,EAAkBC,CAAmB,EAAIlB,EAAM,SAEpD,CAAC,EACGmB,EAASnB,EAAM,OAAuB,IAAI,EAQhDO,EAAS,SANU,IAAM,CACnBY,GAAUA,EAAO,SACnBD,EAAoBC,EAAO,QAAQ,YAAY,CAEnD,CAE6B,EAE7BnB,EAAM,UAAU,IAAM,CAChBmB,GAAUA,EAAO,SACnBD,EAAoBC,EAAO,QAAQ,YAAY,CAEnD,EAAG,CAACA,CAAM,CAAC,EAEX,MAAMC,EAAiB,IAAM,CAC3BJ,EAA0BK,GAAa,CAACA,CAAS,CACnD,EAEA,OAAOP,EACLd,EAAA,cAAC,OAAI,UAAU,2CACbA,EAAA,cAAC,OAAI,UAAU,mCACbA,EAAA,cAACI,EAAA,KAAMM,CAAY,EACnBV,EAAA,cAACK,EAAAiB,EAAA,GAASb,EAAe,CAC3B,EACAT,EAAA,cAAC,WACCA,EAAA,cAACM,EAAA,CACC,UAAU,0BACV,OAAQS,GAERf,EAAA,cAAC,OAAI,UAAU,kCAAkC,IAAKmB,GACnDL,EAAM,IAAIS,GACTvB,EAAA,cAACG,EAAAqB,EAAAF,EAAA,GAASC,GAAT,CAAe,IAAKA,EAAK,MAAM,CACjC,CACH,CACF,EAECN,GAAoBA,EAAmBL,EACtCZ,EAAA,cAAC,UACC,KAAK,SACL,UAAU,wBACV,QAASoB,GAERL,EACCf,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACI,EAAA,CACC,YAAY,OACZ,KAAMA,EAAK,MAAM,MACjB,UAAU,8BAETO,CACH,EACAX,EAAA,cAACE,EAAA,IAAU,CACb,EAEAF,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACI,EAAA,CACC,YAAY,OACZ,KAAMA,EAAK,MAAM,MACjB,UAAU,8BAETS,CACH,EACAb,EAAA,cAACC,EAAA,IAAY,CACf,CAEJ,EACE,IACN,CACF,EACE,IACN,EAEA,IAAOwB,EAAQjB",
|
|
6
6
|
"names": ["React", "ChevronDown", "ChevronUp", "Chip", "Text", "Link", "Collapse", "useEvent", "ChipSelected", "resetSelected", "description", "hideSelected", "maxChipsToShow", "showSelected", "chips", "expandedSelectedValues", "setExpandedSelectedValues", "heightOfCollapse", "setHeightOfCollapse", "divRef", "toggleShowMore", "prevState", "__spreadValues", "chip", "__spreadProps", "chip_selected_default"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@use '../../tokens/spacing';
|
|
2
|
-
@use '../../tokens/
|
|
2
|
+
@use '../../tokens/colours';
|
|
3
3
|
|
|
4
4
|
.chip-selected {
|
|
5
5
|
&__selected-options-wrapper {
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
background-color: transparent;
|
|
35
35
|
margin-top: spacing.$m;
|
|
36
36
|
text-decoration: underline;
|
|
37
|
-
color:
|
|
37
|
+
color: var(--on-buttons-on-link-default);
|
|
38
38
|
|
|
39
39
|
:hover {
|
|
40
|
-
color:
|
|
40
|
+
color: var(--on-buttons-on-link-hover);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var v=Object.defineProperty,b=Object.defineProperties;var C=Object.getOwnPropertyDescriptors;var d=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;var p=(i,e,t)=>e in i?v(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,m=(i,e)=>{for(var t in e||(e={}))O.call(e,t)&&p(i,t,e[t]);if(d)for(var t of d(e))S.call(e,t)&&p(i,t,e[t]);return i},u=(i,e)=>b(i,C(e));var n=(i,e,t)=>p(i,typeof e!="symbol"?e+"":e,t);import M,{Component as w,createRef as P}from"react";class g extends w{constructor(){super(...arguments);n(this,"state",{height:this.props.forceInitialAnimation||!this.props.isOpen?0:null,isAnimating:!1,isMounted:!1,isOpen:this.props.isOpen||!1});n(this,"wrapperRef",P());n(this,"previousHeight",0);n(this,"raf",null);n(this,"timer",null);n(this,"isAnimating",!1);n(this,"getHeight",()=>{var s;const t=(s=this.wrapperRef.current)==null?void 0:s.firstElementChild;return t?Math.max(t.offsetHeight-1,0):0});n(this,"transition",()=>{const t=this.props.isOpen?this.getHeight():0;clearTimeout(this.timer),cancelAnimationFrame(this.raf),this.isAnimating=!0,this.setState({height:this.previousHeight,isAnimating:!0,shouldAnimate:!1},()=>{this.previousHeight=t,this.raf=requestAnimationFrame(()=>{this.raf=requestAnimationFrame(()=>{this.setState({height:t},()=>{this.timer=window.setTimeout(()=>{this.setState({height:this.props.isOpen?null:0,isAnimating:!1},()=>{this.isAnimating=!1})},this.props.duration)})})})})});n(this,"onTransitionEnd",()=>{this.previousHeight=this.getHeight()})}componentDidMount(){this.setState({isMounted:!0},()=>{this.props.forceInitialAnimation?this.transition():(this.previousHeight=this.props.isOpen?this.getHeight():0,this.setState({isAnimating:!1}))})}static getDerivedStateFromProps(t,s){const o=t.isOpen!==s.isOpen,a=!s.isMounted&&t.forceInitialAnimation&&t.isOpen;return{isOpen:t.isOpen||!1,shouldAnimate:o||a}}getSnapshotBeforeUpdate(){return this.props.isOpen?this.getHeight():0}componentDidUpdate(t,s,o){if(this.isAnimating&&!this.state.shouldAnimate)return;const a=this.getHeight(),r=a!==o;this.props.onMeasure(a),this.state.shouldAnimate||r&&this.props.animateChildren?this.transition():r&&(this.previousHeight=this.getHeight())}componentWillUnmount(){clearTimeout(this.timer),cancelAnimationFrame(this.raf)}render(){const{isAnimating:t,isMounted:s}=this.state,{component:o="div",componentProps:a={},forceInitialAnimation:r,isOpen:h,unmountChildren:f,className:c,children:A}=this.props,H=f?h||t:!0,l=!s&&r&&h;return M.createElement(o,u(m({},a),{className:c,onTransitionEnd:this.onTransitionEnd,ref:this.wrapperRef,style:u(m({},a.style),{height:this.state.height,overflow:t||!h||l?"hidden":void 0,visibility:!t&&!h||l?"hidden":void 0,transition:t||l?`height ${this.props.duration}ms ${this.props.easing}`:void 0})}),H&&A)}}n(g,"defaultProps",{animateChildren:!1,component:"div",componentProps:{},duration:500,easing:"cubic-bezier(0.3,0,0,1)",forceInitialAnimation:!1,isOpen:!1,onMeasure:()=>{},unmountChildren:!1});var I=g;export{I as default};
|
|
1
|
+
"use client";var v=Object.defineProperty,b=Object.defineProperties;var C=Object.getOwnPropertyDescriptors;var d=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;var p=(i,e,t)=>e in i?v(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,m=(i,e)=>{for(var t in e||(e={}))O.call(e,t)&&p(i,t,e[t]);if(d)for(var t of d(e))S.call(e,t)&&p(i,t,e[t]);return i},u=(i,e)=>b(i,C(e));var n=(i,e,t)=>p(i,typeof e!="symbol"?e+"":e,t);import M,{Component as w,createRef as P}from"react";class g extends w{constructor(){super(...arguments);n(this,"state",{height:this.props.forceInitialAnimation||!this.props.isOpen?0:null,isAnimating:!1,isMounted:!1,isOpen:this.props.isOpen||!1});n(this,"wrapperRef",P());n(this,"previousHeight",0);n(this,"raf",null);n(this,"timer",null);n(this,"isAnimating",!1);n(this,"getHeight",()=>{var s;const t=(s=this.wrapperRef.current)==null?void 0:s.firstElementChild;return t?Math.max(t.offsetHeight-1,0):0});n(this,"transition",()=>{const t=this.props.isOpen?this.getHeight():0;clearTimeout(this.timer),cancelAnimationFrame(this.raf),this.isAnimating=!0,this.setState({height:this.previousHeight,isAnimating:!0,shouldAnimate:!1},()=>{this.previousHeight=t,this.raf=requestAnimationFrame(()=>{this.raf=requestAnimationFrame(()=>{this.setState({height:t},()=>{this.timer=window.setTimeout(()=>{this.setState({height:this.props.isOpen?null:0,isAnimating:!1},()=>{this.isAnimating=!1})},this.props.duration)})})})})});n(this,"onTransitionEnd",()=>{this.previousHeight=this.getHeight()})}componentDidMount(){this.setState({isMounted:!0},()=>{this.props.forceInitialAnimation?this.transition():(this.previousHeight=this.props.isOpen?this.getHeight():0,this.setState({isAnimating:!1}))})}static getDerivedStateFromProps(t,s){const o=t.isOpen!==s.isOpen,a=!s.isMounted&&t.forceInitialAnimation&&t.isOpen;return{isOpen:t.isOpen||!1,shouldAnimate:o||a}}getSnapshotBeforeUpdate(){return this.props.isOpen?this.getHeight():0}componentDidUpdate(t,s,o){if(this.isAnimating&&!this.state.shouldAnimate)return;const a=this.getHeight(),r=a!==o;this.props.onMeasure(a),this.state.shouldAnimate||r&&this.props.animateChildren?this.transition():r&&(this.previousHeight=this.getHeight())}componentWillUnmount(){clearTimeout(this.timer),cancelAnimationFrame(this.raf)}render(){const{isAnimating:t,isMounted:s}=this.state,{component:o="div",componentProps:a={},forceInitialAnimation:r,isOpen:h,unmountChildren:f,className:c,children:A}=this.props,H=f?h||t:!0,l=!s&&r&&h;return M.createElement(o,u(m({},a),{className:c,onTransitionEnd:this.onTransitionEnd,ref:this.wrapperRef,style:u(m({},a.style),{height:this.state.height,overflow:t||!h||l?"hidden":void 0,visibility:!t&&!h||l?"hidden":void 0,transition:t||l?`height ${this.props.duration}ms ${this.props.easing}`:void 0})}),H&&A)}}n(g,"defaultProps",{animateChildren:!1,component:"div",componentProps:{},duration:500,easing:"cubic-bezier(0.3,0,0,1)",forceInitialAnimation:!1,isOpen:!1,onMeasure:()=>{},unmountChildren:!1});var I=g;export{I as default};
|
|
2
2
|
//# sourceMappingURL=collapse.js.map
|