@indico-data/design-system 2.18.0 → 2.20.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/lib/index.css +55 -33
- package/lib/index.d.ts +34 -20
- package/lib/index.esm.css +55 -33
- package/lib/index.esm.js +1666 -85
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +1669 -86
- package/lib/index.js.map +1 -1
- package/lib/src/components/forms/input/Input.d.ts +5 -7
- package/lib/src/components/forms/passwordInput/PasswordInput.d.ts +5 -7
- package/lib/src/components/forms/subcomponents/Label.d.ts +6 -3
- package/lib/src/components/forms/textarea/Textarea.d.ts +5 -7
- package/lib/src/components/index.d.ts +2 -0
- package/lib/src/components/menu/Menu.d.ts +5 -0
- package/lib/src/components/menu/Menu.stories.d.ts +6 -0
- package/lib/src/components/menu/Menu.test.d.ts +1 -0
- package/lib/src/components/menu/index.d.ts +1 -0
- package/lib/src/components/popper/Popper.d.ts +12 -0
- package/lib/src/components/popper/Popper.stories.d.ts +6 -0
- package/lib/src/components/popper/Popper.test.d.ts +1 -0
- package/lib/src/components/popper/index.d.ts +1 -0
- package/lib/src/hooks/useClickOutside.d.ts +2 -0
- package/lib/src/index.d.ts +2 -0
- package/lib/src/storybook/labelArgTypes.d.ts +3 -0
- package/package.json +2 -1
- package/src/components/forms/input/Input.mdx +15 -2
- package/src/components/forms/input/Input.stories.tsx +10 -45
- package/src/components/forms/input/Input.tsx +22 -15
- package/src/components/forms/input/styles/Input.scss +0 -11
- package/src/components/forms/passwordInput/PasswordInput.mdx +10 -8
- package/src/components/forms/passwordInput/PasswordInput.stories.tsx +3 -44
- package/src/components/forms/passwordInput/PasswordInput.tsx +20 -15
- package/src/components/forms/passwordInput/styles/PasswordInput.scss +0 -11
- package/src/components/forms/subcomponents/Label.tsx +29 -6
- package/src/components/forms/subcomponents/__tests__/Label.test.tsx +63 -15
- package/src/components/forms/textarea/Textarea.mdx +12 -2
- package/src/components/forms/textarea/Textarea.stories.tsx +4 -46
- package/src/components/forms/textarea/Textarea.tsx +15 -13
- package/src/components/forms/textarea/styles/Textarea.scss +0 -11
- package/src/components/index.ts +2 -0
- package/src/components/menu/Menu.mdx +15 -0
- package/src/components/menu/Menu.stories.tsx +56 -0
- package/src/components/menu/Menu.test.tsx +88 -0
- package/src/components/menu/Menu.tsx +20 -0
- package/src/components/menu/index.ts +1 -0
- package/src/components/menu/styles/Menu.scss +19 -0
- package/src/components/menu/styles/_variables.scss +15 -0
- package/src/components/popper/Popper.mdx +79 -0
- package/src/components/popper/Popper.stories.tsx +161 -0
- package/src/components/popper/Popper.test.tsx +68 -0
- package/src/components/popper/Popper.tsx +57 -0
- package/src/components/popper/index.ts +1 -0
- package/src/components/popper/styles/Popper.scss +11 -0
- package/src/components/popper/styles/_variables.scss +15 -0
- package/src/hooks/useClickOutside.tsx +22 -0
- package/src/index.ts +2 -0
- package/src/legacy/components/buttons/commonStyles.ts +0 -4
- package/src/storybook/labelArgTypes.ts +50 -0
- package/src/styles/index.scss +2 -0
package/lib/index.css
CHANGED
|
@@ -982,17 +982,6 @@
|
|
|
982
982
|
color: var(--pf-input-text-color);
|
|
983
983
|
cursor: pointer;
|
|
984
984
|
}
|
|
985
|
-
.form-control .is-visually-hidden {
|
|
986
|
-
position: absolute;
|
|
987
|
-
width: 1px;
|
|
988
|
-
height: 1px;
|
|
989
|
-
padding: 0;
|
|
990
|
-
margin: -1px;
|
|
991
|
-
overflow: hidden;
|
|
992
|
-
clip: rect(0, 0, 0, 0);
|
|
993
|
-
white-space: nowrap;
|
|
994
|
-
border: 0;
|
|
995
|
-
}
|
|
996
985
|
.form-control .form-label {
|
|
997
986
|
margin-bottom: var(--pf-margin-2);
|
|
998
987
|
}
|
|
@@ -1252,17 +1241,6 @@
|
|
|
1252
1241
|
color: var(--pf-textarea-help-text-color);
|
|
1253
1242
|
font-size: var(--pf-font-size-subtitle2);
|
|
1254
1243
|
}
|
|
1255
|
-
.form-control .is-visually-hidden {
|
|
1256
|
-
position: absolute;
|
|
1257
|
-
width: 1px;
|
|
1258
|
-
height: 1px;
|
|
1259
|
-
padding: 0;
|
|
1260
|
-
margin: -1px;
|
|
1261
|
-
overflow: hidden;
|
|
1262
|
-
clip: rect(0, 0, 0, 0);
|
|
1263
|
-
white-space: nowrap;
|
|
1264
|
-
border: 0;
|
|
1265
|
-
}
|
|
1266
1244
|
.form-control .form-label {
|
|
1267
1245
|
margin-bottom: var(--pf-margin-2);
|
|
1268
1246
|
}
|
|
@@ -1361,17 +1339,6 @@
|
|
|
1361
1339
|
color: var(--pf-password-input-text-color);
|
|
1362
1340
|
cursor: pointer;
|
|
1363
1341
|
}
|
|
1364
|
-
.form-control .is-visually-hidden {
|
|
1365
|
-
position: absolute;
|
|
1366
|
-
width: 1px;
|
|
1367
|
-
height: 1px;
|
|
1368
|
-
padding: 0;
|
|
1369
|
-
margin: -1px;
|
|
1370
|
-
overflow: hidden;
|
|
1371
|
-
clip: rect(0, 0, 0, 0);
|
|
1372
|
-
white-space: nowrap;
|
|
1373
|
-
border: 0;
|
|
1374
|
-
}
|
|
1375
1342
|
.form-control .form-label {
|
|
1376
1343
|
margin-bottom: var(--pf-margin-2);
|
|
1377
1344
|
}
|
|
@@ -1642,6 +1609,61 @@ form {
|
|
|
1642
1609
|
box-shadow: var(--pf-dropshadow);
|
|
1643
1610
|
}
|
|
1644
1611
|
|
|
1612
|
+
:root,
|
|
1613
|
+
:root [data-theme=light],
|
|
1614
|
+
:root [data-theme=dark] {
|
|
1615
|
+
--pf-menu-rounded: var(--pf-rounded);
|
|
1616
|
+
--pf-menu-item-hover-color: var(--pf-primary-color-100);
|
|
1617
|
+
--pf-menu-item-background-color: var(--pf-white-color);
|
|
1618
|
+
--pf-menu-item-color: var(--pf-gray-color);
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
:root [data-theme=dark] {
|
|
1622
|
+
--pf-menu-item-hover-color: var(--pf-primary-color-300);
|
|
1623
|
+
--pf-menu-item-background-color: var(--pf-primary-color-600);
|
|
1624
|
+
--pf-menu-item-color: var(--pf-gray-color-100);
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
.menu {
|
|
1628
|
+
border-radius: var(--pf-menu-rounded);
|
|
1629
|
+
}
|
|
1630
|
+
.menu .menu-item {
|
|
1631
|
+
width: 100%;
|
|
1632
|
+
background: var(--pf-menu-item-background-color);
|
|
1633
|
+
color: var(--pf-menu-item-color);
|
|
1634
|
+
display: block;
|
|
1635
|
+
width: 100%;
|
|
1636
|
+
text-align: left;
|
|
1637
|
+
border: none;
|
|
1638
|
+
}
|
|
1639
|
+
.menu .menu-item:hover {
|
|
1640
|
+
background: var(--pf-menu-item-hover-color);
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
:root,
|
|
1644
|
+
:root [data-theme=light],
|
|
1645
|
+
:root [data-theme=dark] {
|
|
1646
|
+
--pf-popper-background-color: var(--pf-white-color);
|
|
1647
|
+
--pf-popper-border-color: var(--pf-gray-color-900);
|
|
1648
|
+
--pf-popper-border-radius: var(--pf-rounded);
|
|
1649
|
+
--pf-popper-padding: var(--pf-padding-2);
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
:root [data-theme=dark] {
|
|
1653
|
+
--pf-popper-background-color: var(--pf-primary-color-600);
|
|
1654
|
+
--pf-popper-border-color: var(--pf-gray-color);
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
.popper-container {
|
|
1658
|
+
z-index: 99;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
.popper-content {
|
|
1662
|
+
border-radius: var(--pf-popper-border-radius);
|
|
1663
|
+
border: 1px solid var(--pf-popper-border-color);
|
|
1664
|
+
background: var(--pf-popper-background-color);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1645
1667
|
.rdp {
|
|
1646
1668
|
--rdp-cell-size: 40px;
|
|
1647
1669
|
--rdp-accent-color: #6833d0;
|
package/lib/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { DateRange } from 'react-day-picker';
|
|
|
8
8
|
import { ContainerProps, RowProps, ColProps } from 'react-grid-system';
|
|
9
9
|
import { TableProps as TableProps$1, Direction as Direction$1, Alignment as Alignment$1 } from 'react-data-table-component';
|
|
10
10
|
import { Props as Props$r } from 'react-select';
|
|
11
|
+
import { Placement } from '@floating-ui/react-dom';
|
|
11
12
|
|
|
12
13
|
declare const GlobalStyles: () => react_jsx_runtime.JSX.Element;
|
|
13
14
|
|
|
@@ -919,23 +920,28 @@ declare const Icon: ({ name, size, className, ariaLabel, ...props }: IconProps)
|
|
|
919
920
|
|
|
920
921
|
declare const Table: <T>(props: TableProps<T>) => react_jsx_runtime.JSX.Element;
|
|
921
922
|
|
|
922
|
-
interface
|
|
923
|
+
interface LabelProps {
|
|
923
924
|
label: string;
|
|
924
925
|
name: string;
|
|
926
|
+
isRequired?: boolean;
|
|
927
|
+
}
|
|
928
|
+
interface WithLabelProps extends LabelProps {
|
|
929
|
+
hasHiddenLabel?: boolean;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
interface InputProps extends WithLabelProps {
|
|
925
933
|
value?: string | undefined;
|
|
926
|
-
placeholder
|
|
934
|
+
placeholder?: string;
|
|
927
935
|
onChange: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
|
|
928
|
-
isRequired?: boolean;
|
|
929
936
|
isDisabled?: boolean;
|
|
930
937
|
errorMessage?: string | undefined;
|
|
931
938
|
helpText?: string;
|
|
932
|
-
hasHiddenLabel?: boolean;
|
|
933
939
|
iconName?: IconName$1;
|
|
934
940
|
isClearable?: boolean;
|
|
935
941
|
className?: string;
|
|
936
942
|
defaultValue?: string;
|
|
937
943
|
}
|
|
938
|
-
declare const
|
|
944
|
+
declare const LabeledInput: React$1.ForwardRefExoticComponent<Omit<InputProps & React$1.RefAttributes<HTMLInputElement> & WithLabelProps, "ref"> & React$1.RefAttributes<any>>;
|
|
939
945
|
|
|
940
946
|
interface RadioProps {
|
|
941
947
|
ref?: React$1.LegacyRef<HTMLInputElement>;
|
|
@@ -975,18 +981,14 @@ interface ToggleProps {
|
|
|
975
981
|
}
|
|
976
982
|
declare const Toggle: React$1.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
|
|
977
983
|
|
|
978
|
-
interface TextareaProps {
|
|
984
|
+
interface TextareaProps extends WithLabelProps {
|
|
979
985
|
ref?: React$1.LegacyRef<HTMLTextAreaElement>;
|
|
980
|
-
|
|
981
|
-
name: string;
|
|
982
|
-
placeholder: string;
|
|
986
|
+
placeholder?: string;
|
|
983
987
|
value?: string | undefined;
|
|
984
988
|
onChange: (e: React$1.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
985
|
-
isRequired?: boolean;
|
|
986
989
|
isDisabled?: boolean;
|
|
987
990
|
errorMessage?: string | undefined;
|
|
988
991
|
helpText?: string;
|
|
989
|
-
hasHiddenLabel?: boolean;
|
|
990
992
|
rows?: number;
|
|
991
993
|
cols?: number;
|
|
992
994
|
readonly?: boolean;
|
|
@@ -996,24 +998,20 @@ interface TextareaProps {
|
|
|
996
998
|
autofocus?: boolean;
|
|
997
999
|
defaultValue?: string;
|
|
998
1000
|
}
|
|
999
|
-
declare const
|
|
1001
|
+
declare const LabeledTextarea: React$1.ForwardRefExoticComponent<Omit<Omit<TextareaProps, "ref"> & React$1.RefAttributes<HTMLTextAreaElement> & WithLabelProps, "ref"> & React$1.RefAttributes<any>>;
|
|
1000
1002
|
|
|
1001
|
-
interface PasswordInputProps {
|
|
1003
|
+
interface PasswordInputProps extends WithLabelProps {
|
|
1002
1004
|
ref?: React$1.LegacyRef<HTMLInputElement>;
|
|
1003
|
-
label: string;
|
|
1004
1005
|
value?: string | undefined;
|
|
1005
|
-
|
|
1006
|
-
placeholder: string;
|
|
1006
|
+
placeholder?: string;
|
|
1007
1007
|
onChange: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
|
|
1008
|
-
isRequired?: boolean;
|
|
1009
1008
|
isDisabled?: boolean;
|
|
1010
1009
|
errorMessage?: string | undefined;
|
|
1011
1010
|
helpText?: string;
|
|
1012
|
-
hasHiddenLabel?: boolean;
|
|
1013
1011
|
hasShowPassword?: boolean;
|
|
1014
1012
|
defaultValue?: string;
|
|
1015
1013
|
}
|
|
1016
|
-
declare const
|
|
1014
|
+
declare const LabeledPasswordInput: React$1.ForwardRefExoticComponent<Omit<Omit<PasswordInputProps, "ref"> & React$1.RefAttributes<HTMLInputElement> & WithLabelProps, "ref"> & React$1.RefAttributes<any>>;
|
|
1017
1015
|
|
|
1018
1016
|
interface SelectProps<OptionType extends SelectOption> extends Props$r<OptionType> {
|
|
1019
1017
|
options: OptionType[];
|
|
@@ -1052,4 +1050,20 @@ type Props = {
|
|
|
1052
1050
|
};
|
|
1053
1051
|
declare const Card: React$1.FC<Props>;
|
|
1054
1052
|
|
|
1055
|
-
|
|
1053
|
+
type PopperProps = {
|
|
1054
|
+
children: React$1.ReactNode;
|
|
1055
|
+
referenceElement: HTMLElement | null;
|
|
1056
|
+
isOpen: boolean;
|
|
1057
|
+
onClose: () => void;
|
|
1058
|
+
ariaLabel: string;
|
|
1059
|
+
placement?: Placement;
|
|
1060
|
+
offsetValue?: number;
|
|
1061
|
+
};
|
|
1062
|
+
declare function Popper({ children, referenceElement, isOpen, onClose, ariaLabel, placement, offsetValue, }: PopperProps): react_jsx_runtime.JSX.Element | null;
|
|
1063
|
+
|
|
1064
|
+
type MenuProps = {
|
|
1065
|
+
children: React$1.ReactNode;
|
|
1066
|
+
};
|
|
1067
|
+
declare function Menu({ children }: MenuProps): react_jsx_runtime.JSX.Element;
|
|
1068
|
+
|
|
1069
|
+
export { animation as ANIMATION, Radio$1 as AbstractRadio, RadioGroup as AbstractRadioGroup, Accordion, breakpoints as BREAKPOINT, BarSpinner, BorderSelect, Button, allColors as COLORS, Card, Checkbox, CirclePulse, CircleSpinner, Col, ConfirmModal, Container, DatePicker, EditableInput, Form, GlobalStyles, Icon, IconButton, LabeledInput as Input, Button$1 as LegacyButton, ListTable, LoadingAwareContainer, LoadingList, margin as MARGINS, MATH, mediaQueries as MEDIA_QUERIES, Menu, ModalBase, MultiCombobox, NoInputDatePicker, NumberInput, padding as PADDINGS, Pagination, LabeledPasswordInput as PasswordInput, PercentageRing, Popper, Radio$2 as Radio, RadioGroup$1 as RadioGroup, Radio as RadioInput, RandomLoadingMessage, Row, spacings as SPACING, SearchInput, Section, SectionBlock, SectionBody, SectionHeader, SectionTable, Select$1 as Select, Select as SelectInput, Shrug, SingleCombobox, Skeleton, typography as TYPOGRAPHY, Table, TextInput, TextTruncate, LabeledTextarea as Textarea, Toggle$1 as Toggle, Toggle as ToggleInput, Tooltip, color as colorUtils, number as numberUtils, string as stringUtils };
|
package/lib/index.esm.css
CHANGED
|
@@ -982,17 +982,6 @@
|
|
|
982
982
|
color: var(--pf-input-text-color);
|
|
983
983
|
cursor: pointer;
|
|
984
984
|
}
|
|
985
|
-
.form-control .is-visually-hidden {
|
|
986
|
-
position: absolute;
|
|
987
|
-
width: 1px;
|
|
988
|
-
height: 1px;
|
|
989
|
-
padding: 0;
|
|
990
|
-
margin: -1px;
|
|
991
|
-
overflow: hidden;
|
|
992
|
-
clip: rect(0, 0, 0, 0);
|
|
993
|
-
white-space: nowrap;
|
|
994
|
-
border: 0;
|
|
995
|
-
}
|
|
996
985
|
.form-control .form-label {
|
|
997
986
|
margin-bottom: var(--pf-margin-2);
|
|
998
987
|
}
|
|
@@ -1252,17 +1241,6 @@
|
|
|
1252
1241
|
color: var(--pf-textarea-help-text-color);
|
|
1253
1242
|
font-size: var(--pf-font-size-subtitle2);
|
|
1254
1243
|
}
|
|
1255
|
-
.form-control .is-visually-hidden {
|
|
1256
|
-
position: absolute;
|
|
1257
|
-
width: 1px;
|
|
1258
|
-
height: 1px;
|
|
1259
|
-
padding: 0;
|
|
1260
|
-
margin: -1px;
|
|
1261
|
-
overflow: hidden;
|
|
1262
|
-
clip: rect(0, 0, 0, 0);
|
|
1263
|
-
white-space: nowrap;
|
|
1264
|
-
border: 0;
|
|
1265
|
-
}
|
|
1266
1244
|
.form-control .form-label {
|
|
1267
1245
|
margin-bottom: var(--pf-margin-2);
|
|
1268
1246
|
}
|
|
@@ -1361,17 +1339,6 @@
|
|
|
1361
1339
|
color: var(--pf-password-input-text-color);
|
|
1362
1340
|
cursor: pointer;
|
|
1363
1341
|
}
|
|
1364
|
-
.form-control .is-visually-hidden {
|
|
1365
|
-
position: absolute;
|
|
1366
|
-
width: 1px;
|
|
1367
|
-
height: 1px;
|
|
1368
|
-
padding: 0;
|
|
1369
|
-
margin: -1px;
|
|
1370
|
-
overflow: hidden;
|
|
1371
|
-
clip: rect(0, 0, 0, 0);
|
|
1372
|
-
white-space: nowrap;
|
|
1373
|
-
border: 0;
|
|
1374
|
-
}
|
|
1375
1342
|
.form-control .form-label {
|
|
1376
1343
|
margin-bottom: var(--pf-margin-2);
|
|
1377
1344
|
}
|
|
@@ -1642,6 +1609,61 @@ form {
|
|
|
1642
1609
|
box-shadow: var(--pf-dropshadow);
|
|
1643
1610
|
}
|
|
1644
1611
|
|
|
1612
|
+
:root,
|
|
1613
|
+
:root [data-theme=light],
|
|
1614
|
+
:root [data-theme=dark] {
|
|
1615
|
+
--pf-menu-rounded: var(--pf-rounded);
|
|
1616
|
+
--pf-menu-item-hover-color: var(--pf-primary-color-100);
|
|
1617
|
+
--pf-menu-item-background-color: var(--pf-white-color);
|
|
1618
|
+
--pf-menu-item-color: var(--pf-gray-color);
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
:root [data-theme=dark] {
|
|
1622
|
+
--pf-menu-item-hover-color: var(--pf-primary-color-300);
|
|
1623
|
+
--pf-menu-item-background-color: var(--pf-primary-color-600);
|
|
1624
|
+
--pf-menu-item-color: var(--pf-gray-color-100);
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
.menu {
|
|
1628
|
+
border-radius: var(--pf-menu-rounded);
|
|
1629
|
+
}
|
|
1630
|
+
.menu .menu-item {
|
|
1631
|
+
width: 100%;
|
|
1632
|
+
background: var(--pf-menu-item-background-color);
|
|
1633
|
+
color: var(--pf-menu-item-color);
|
|
1634
|
+
display: block;
|
|
1635
|
+
width: 100%;
|
|
1636
|
+
text-align: left;
|
|
1637
|
+
border: none;
|
|
1638
|
+
}
|
|
1639
|
+
.menu .menu-item:hover {
|
|
1640
|
+
background: var(--pf-menu-item-hover-color);
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
:root,
|
|
1644
|
+
:root [data-theme=light],
|
|
1645
|
+
:root [data-theme=dark] {
|
|
1646
|
+
--pf-popper-background-color: var(--pf-white-color);
|
|
1647
|
+
--pf-popper-border-color: var(--pf-gray-color-900);
|
|
1648
|
+
--pf-popper-border-radius: var(--pf-rounded);
|
|
1649
|
+
--pf-popper-padding: var(--pf-padding-2);
|
|
1650
|
+
}
|
|
1651
|
+
|
|
1652
|
+
:root [data-theme=dark] {
|
|
1653
|
+
--pf-popper-background-color: var(--pf-primary-color-600);
|
|
1654
|
+
--pf-popper-border-color: var(--pf-gray-color);
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
.popper-container {
|
|
1658
|
+
z-index: 99;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
.popper-content {
|
|
1662
|
+
border-radius: var(--pf-popper-border-radius);
|
|
1663
|
+
border: 1px solid var(--pf-popper-border-color);
|
|
1664
|
+
background: var(--pf-popper-background-color);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1645
1667
|
.rdp {
|
|
1646
1668
|
--rdp-cell-size: 40px;
|
|
1647
1669
|
--rdp-accent-color: #6833d0;
|