@jobber/components 4.62.0 → 4.62.1-JOB-83556-.7
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/dist/Autocomplete/index.js +2 -2
- package/dist/DataList/DataList.d.ts +1 -1
- package/dist/DataList/DataList.types.d.ts +26 -4
- package/dist/DataList/hooks/useBatchSelect.d.ts +13 -0
- package/dist/DataList/index.d.ts +1 -1
- package/dist/DataList/index.js +116 -34
- package/dist/DataTable/index.js +2 -2
- package/dist/FormField/FormFieldTypes.d.ts +4 -0
- package/dist/FormField/FormFieldWrapper.d.ts +3 -3
- package/dist/FormField/index.js +1 -1
- package/dist/{FormField-3a4f196c.js → FormField-61709fa0.js} +8 -8
- package/dist/InputDate/index.js +1 -1
- package/dist/InputEmail/index.js +1 -1
- package/dist/InputNumber/index.js +2 -2
- package/dist/{InputNumber-50eb0958.js → InputNumber-e4e77cf0.js} +1 -1
- package/dist/InputPassword/index.js +1 -1
- package/dist/InputPhoneNumber/index.js +1 -1
- package/dist/InputText/index.js +2 -2
- package/dist/{InputText-3ca5c1c8.js → InputText-07e4594b.js} +1 -1
- package/dist/InputTime/index.js +2 -2
- package/dist/{Option-0abeda54.js → Option-381be6f7.js} +1 -1
- package/dist/RecurringSelect/index.js +3 -3
- package/dist/Select/index.js +2 -2
- package/package.json +3 -3
|
@@ -13,10 +13,10 @@ var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
|
|
|
13
13
|
var Text = require('../Text-54334431.js');
|
|
14
14
|
var Icon = require('../Icon-405a216c.js');
|
|
15
15
|
var Heading = require('../Heading-4cde9989.js');
|
|
16
|
-
var InputText = require('../InputText-
|
|
16
|
+
var InputText = require('../InputText-07e4594b.js');
|
|
17
17
|
require('../Typography-83915c54.js');
|
|
18
18
|
require('@jobber/design');
|
|
19
|
-
require('../FormField-
|
|
19
|
+
require('../FormField-61709fa0.js');
|
|
20
20
|
require('uuid');
|
|
21
21
|
require('react-hook-form');
|
|
22
22
|
require('../Button-db6114a6.js');
|
|
@@ -17,8 +17,8 @@ export declare namespace DataList {
|
|
|
17
17
|
var Filters: typeof DataListFilters;
|
|
18
18
|
var Search: typeof DataListSearch;
|
|
19
19
|
var ItemActions: typeof DataListItemActions;
|
|
20
|
-
var BulkActions: typeof DataListBulkActions;
|
|
21
20
|
var ItemAction: typeof DataListAction;
|
|
21
|
+
var BatchActions: typeof DataListBulkActions;
|
|
22
22
|
var BatchAction: (props: DataListBulkActionProps) => JSX.Element;
|
|
23
23
|
var StatusBar: typeof DataListStatusBar;
|
|
24
24
|
}
|
|
@@ -92,16 +92,38 @@ export interface DataListProps<T extends DataListObject> {
|
|
|
92
92
|
readonly state: DataListSorting | undefined;
|
|
93
93
|
readonly onSort: (sorting?: DataListSorting) => void;
|
|
94
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* The list of Selected Item ids
|
|
97
|
+
*/
|
|
98
|
+
readonly selected?: DataListSelectedType<T["id"]>;
|
|
95
99
|
/**
|
|
96
100
|
* Callback when an item checkbox is clicked.
|
|
97
101
|
*/
|
|
98
|
-
readonly onSelect?: (
|
|
102
|
+
readonly onSelect?: (selected: DataListSelectedType<T["id"]>) => void;
|
|
99
103
|
/**
|
|
100
|
-
*
|
|
104
|
+
* Callback when the select all checkbox is clicked.
|
|
105
|
+
*/
|
|
106
|
+
readonly onSelectAll?: (selected: DataListSelectedType<T["id"]>) => void;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Select all items in the DataList except the ones in the unselected array.
|
|
110
|
+
*
|
|
111
|
+
* This is used in scenarios where we need to select all items in the DataList
|
|
112
|
+
* but couldn't query all the ID's. So instead of feeding all the ID's to the
|
|
113
|
+
* DataList, we set all checkboxes to be checked except for the items that are
|
|
114
|
+
* in the unselected array.
|
|
115
|
+
*/
|
|
116
|
+
export interface DataListSelectedAllType<T extends DataListObject = DataListObject> {
|
|
117
|
+
/**
|
|
118
|
+
* The total number of selected items in the DataList.
|
|
119
|
+
*/
|
|
120
|
+
readonly totalCount: number;
|
|
121
|
+
/**
|
|
122
|
+
* Track the ID's of the unchecked items.
|
|
101
123
|
*/
|
|
102
|
-
readonly
|
|
103
|
-
readonly onSelectAll?: () => void;
|
|
124
|
+
readonly unselected: T["id"][];
|
|
104
125
|
}
|
|
126
|
+
export type DataListSelectedType<T extends string | number = DataListObject["id"]> = T[] | DataListSelectedAllType;
|
|
105
127
|
export type LayoutRenderer<T extends DataListObject> = (item: DataListItemType<T[]>) => JSX.Element;
|
|
106
128
|
export interface DataListLayoutProps<T extends DataListObject> {
|
|
107
129
|
readonly children: LayoutRenderer<T>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DataListSelectedType } from "../DataList.types";
|
|
2
|
+
export declare function useBatchSelect(): {
|
|
3
|
+
canSelect: boolean;
|
|
4
|
+
canSelectAll: boolean;
|
|
5
|
+
hasAtLeastOneSelected: boolean;
|
|
6
|
+
isSelectAll: boolean;
|
|
7
|
+
isSelectSome: boolean;
|
|
8
|
+
selectedCount: number;
|
|
9
|
+
selectedIDs: (string | number)[];
|
|
10
|
+
selected: DataListSelectedType<string | number> | undefined;
|
|
11
|
+
onSelect: ((selected: DataListSelectedType<string | number>) => void) | undefined;
|
|
12
|
+
onSelectAll: ((selected: DataListSelectedType<string | number>) => void) | undefined;
|
|
13
|
+
};
|
package/dist/DataList/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./DataList";
|
|
2
|
-
export { DataListItemType, DataListSorting } from "./DataList.types";
|
|
2
|
+
export { DataListItemType, DataListSorting, DataListSelectedType, DataListSelectedAllType, } from "./DataList.types";
|
package/dist/DataList/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var Combobox = require('../Combobox-c6ec6d59.js');
|
|
|
29
29
|
var Chip = require('../Chip-a1bdcab2.js');
|
|
30
30
|
var Icon = require('../Icon-405a216c.js');
|
|
31
31
|
var debounce = require('lodash/debounce');
|
|
32
|
-
var InputText = require('../InputText-
|
|
32
|
+
var InputText = require('../InputText-07e4594b.js');
|
|
33
33
|
var Spinner = require('../Spinner-9d8fc7ff.js');
|
|
34
34
|
var Typography = require('../Typography-83915c54.js');
|
|
35
35
|
require('../Content-2ca1ffe1.js');
|
|
@@ -39,7 +39,7 @@ require('react-hook-form');
|
|
|
39
39
|
require('@jobber/hooks/useAssert');
|
|
40
40
|
require('../Avatar-1aa30ee1.js');
|
|
41
41
|
require('color');
|
|
42
|
-
require('../FormField-
|
|
42
|
+
require('../FormField-61709fa0.js');
|
|
43
43
|
require('../InputValidation-377d6c62.js');
|
|
44
44
|
|
|
45
45
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -452,6 +452,9 @@ function DataListItemActionsOverflow({ actions, }) {
|
|
|
452
452
|
// Prevent firing the parent's onClick event when it is nested
|
|
453
453
|
// within a clickable list item
|
|
454
454
|
event.stopPropagation();
|
|
455
|
+
// Prevent navigating to the parent's href event when it is nested within a
|
|
456
|
+
// linked list item
|
|
457
|
+
event.preventDefault();
|
|
455
458
|
setShowMenu(true);
|
|
456
459
|
const rect = event.currentTarget.getBoundingClientRect();
|
|
457
460
|
const posX = rect.x;
|
|
@@ -509,22 +512,79 @@ function handleContextMenu(event) {
|
|
|
509
512
|
event.stopPropagation();
|
|
510
513
|
}
|
|
511
514
|
|
|
515
|
+
function useBatchSelect() {
|
|
516
|
+
const { selected, onSelect, onSelectAll } = useDataListContext();
|
|
517
|
+
const isArray = Array.isArray(selected);
|
|
518
|
+
const selectedIDs = getIDs(selected);
|
|
519
|
+
const isSelectAll = !isArray;
|
|
520
|
+
return {
|
|
521
|
+
canSelect: Boolean(selected && onSelect),
|
|
522
|
+
canSelectAll: Boolean(onSelect && onSelectAll),
|
|
523
|
+
hasAtLeastOneSelected: isSelectAll || selectedIDs.length > 0,
|
|
524
|
+
isSelectAll,
|
|
525
|
+
isSelectSome: isArray,
|
|
526
|
+
selectedCount: getSelectedCount(selected),
|
|
527
|
+
selectedIDs,
|
|
528
|
+
selected,
|
|
529
|
+
onSelect,
|
|
530
|
+
onSelectAll,
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
function getIDs(selected) {
|
|
534
|
+
if (Array.isArray(selected))
|
|
535
|
+
return selected;
|
|
536
|
+
if (selected === undefined)
|
|
537
|
+
return [];
|
|
538
|
+
return selected.unselected;
|
|
539
|
+
}
|
|
540
|
+
function getSelectedCount(selected) {
|
|
541
|
+
if (Array.isArray(selected))
|
|
542
|
+
return selected.length;
|
|
543
|
+
if (selected === undefined)
|
|
544
|
+
return 0;
|
|
545
|
+
return selected.totalCount - selected.unselected.length;
|
|
546
|
+
}
|
|
547
|
+
|
|
512
548
|
function DataListItemInternal({ children, item, }) {
|
|
513
|
-
const { selected, onSelect } =
|
|
514
|
-
if (
|
|
515
|
-
return
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
549
|
+
const { canSelect, hasAtLeastOneSelected, isSelectAll, selectedIDs, selected, onSelect, } = useBatchSelect();
|
|
550
|
+
if (!canSelect)
|
|
551
|
+
return children;
|
|
552
|
+
return (React__default["default"].createElement("div", { className: classnames__default["default"](styles$f.selectable, {
|
|
553
|
+
[styles$f.selected]: hasAtLeastOneSelected,
|
|
554
|
+
}) },
|
|
555
|
+
children,
|
|
556
|
+
React__default["default"].createElement(Checkbox.Checkbox, { checked: getIsChecked(), onChange: handleChange })));
|
|
557
|
+
function getIsChecked() {
|
|
558
|
+
const isItemInSelectedIDs = selectedIDs.includes(item.id);
|
|
559
|
+
// If we're in a "select all" state, the selectedID's becomes a list of
|
|
560
|
+
// unchecked ID's.
|
|
561
|
+
if (isSelectAll)
|
|
562
|
+
return !isItemInSelectedIDs;
|
|
563
|
+
// Otherwise, we're in a "select some" state, so we can just check if the
|
|
564
|
+
// item is in the selectedIDs list.
|
|
565
|
+
return isItemInSelectedIDs;
|
|
520
566
|
}
|
|
521
|
-
return children;
|
|
522
567
|
function handleChange() {
|
|
523
|
-
if (
|
|
524
|
-
|
|
568
|
+
if (isSelectAll)
|
|
569
|
+
return handleSelectAllChange();
|
|
570
|
+
return handleSelectSomeChange();
|
|
571
|
+
}
|
|
572
|
+
function handleSelectAllChange() {
|
|
573
|
+
if (!selected || Array.isArray(selected))
|
|
574
|
+
return;
|
|
575
|
+
if (selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.includes(item.id)) {
|
|
576
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(Object.assign(Object.assign({}, selected), { unselected: selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.filter(id => id !== item.id) }));
|
|
577
|
+
}
|
|
578
|
+
else if (selectedIDs) {
|
|
579
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(Object.assign(Object.assign({}, selected), { unselected: [...selectedIDs, item.id] }));
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
function handleSelectSomeChange() {
|
|
583
|
+
if (selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.includes(item.id)) {
|
|
584
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.filter(id => id !== item.id));
|
|
525
585
|
}
|
|
526
|
-
else if (
|
|
527
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect([...
|
|
586
|
+
else if (selectedIDs) {
|
|
587
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect([...selectedIDs, item.id]);
|
|
528
588
|
}
|
|
529
589
|
}
|
|
530
590
|
}
|
|
@@ -674,47 +734,69 @@ function InternalDataListBulkActions() {
|
|
|
674
734
|
}
|
|
675
735
|
|
|
676
736
|
function DataListHeaderCheckbox({ children }) {
|
|
677
|
-
const { data, totalCount, selected = [], onSelectAll, onSelect, } = useDataListContext();
|
|
678
|
-
if (!onSelectAll && !onSelect)
|
|
679
|
-
return children;
|
|
680
737
|
const { sm } = useResponsiveSizing();
|
|
681
|
-
|
|
738
|
+
const { data, totalCount } = useDataListContext();
|
|
739
|
+
const { canSelectAll, hasAtLeastOneSelected, isSelectAll, selectedCount, selectedIDs, selected, onSelectAll, onSelect, } = useBatchSelect();
|
|
740
|
+
// If there's no onSelectAll or onSelect, we don't need to render the checkbox.
|
|
741
|
+
if (!canSelectAll)
|
|
742
|
+
return children;
|
|
682
743
|
const deselectText = sm ? "Deselect All" : "Deselect";
|
|
683
|
-
const selectedLabel =
|
|
684
|
-
return (React__default["default"].createElement("div", { className:
|
|
744
|
+
const selectedLabel = selectedCount ? `${selectedCount} selected` : "";
|
|
745
|
+
return (React__default["default"].createElement("div", { className: styles$f.selectable },
|
|
685
746
|
React__default["default"].createElement("div", { className: classnames__default["default"](styles$f.selectAllCheckbox, {
|
|
686
|
-
[styles$f.visible]:
|
|
747
|
+
[styles$f.visible]: canSelectAll,
|
|
687
748
|
}) },
|
|
688
|
-
React__default["default"].createElement(Checkbox.Checkbox, { checked: isAllSelected(), indeterminate:
|
|
749
|
+
React__default["default"].createElement(Checkbox.Checkbox, { checked: isAllSelected(), indeterminate: isIndeterminate(), onChange: handleSelectAll },
|
|
689
750
|
React__default["default"].createElement("div", { className: styles$f.srOnly }, selectedLabel))),
|
|
690
|
-
React__default["default"].createElement(AnimatedSwitcher.AnimatedSwitcher, { switched:
|
|
751
|
+
React__default["default"].createElement(AnimatedSwitcher.AnimatedSwitcher, { switched: hasAtLeastOneSelected, initialChild: children, switchTo: React__default["default"].createElement("div", { className: styles$f.batchSelectContainer },
|
|
691
752
|
React__default["default"].createElement("div", { className: styles$f.headerBatchSelect },
|
|
692
|
-
React__default["default"].createElement(Text.Text, null,
|
|
693
|
-
|
|
753
|
+
Boolean(selectedCount) && React__default["default"].createElement(Text.Text, null,
|
|
754
|
+
selectedCount,
|
|
694
755
|
" selected"),
|
|
695
756
|
React__default["default"].createElement(Button.Button, { label: deselectText, onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect([]), type: "tertiary" })),
|
|
696
757
|
React__default["default"].createElement(InternalDataListBulkActions, null)) })));
|
|
758
|
+
function isIndeterminate() {
|
|
759
|
+
if (isSelectAll)
|
|
760
|
+
return selectedIDs.length > 0;
|
|
761
|
+
return selectedCount > 0 && !isAllSelected();
|
|
762
|
+
}
|
|
697
763
|
function isAllSelected() {
|
|
764
|
+
if (isSelectAll)
|
|
765
|
+
return true;
|
|
698
766
|
// If there's a totalCount, we can use that to accurately determine if the
|
|
699
767
|
// user have "selected all".
|
|
700
768
|
if (totalCount) {
|
|
701
|
-
return totalCount ===
|
|
769
|
+
return totalCount === selectedCount;
|
|
702
770
|
}
|
|
703
771
|
// Otherwise, we'll use the total count of data. This is not as reliable, as
|
|
704
772
|
// it's possible that the would select all loaded data while we're
|
|
705
773
|
// loading more. It's still hard to get to that state as the load more
|
|
706
774
|
// triggers before you see the last item.
|
|
707
|
-
return data.length > 0 &&
|
|
775
|
+
return data.length > 0 && selectedCount >= data.length;
|
|
776
|
+
}
|
|
777
|
+
function handleSelectAll() {
|
|
778
|
+
if (isAllSelected()) {
|
|
779
|
+
return onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll([]);
|
|
780
|
+
}
|
|
781
|
+
onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll({ totalCount: getTotalCount(), unselected: [] });
|
|
782
|
+
}
|
|
783
|
+
function getTotalCount() {
|
|
784
|
+
if (selected && "totalCount" in selected)
|
|
785
|
+
return selected.totalCount;
|
|
786
|
+
if (totalCount)
|
|
787
|
+
return totalCount;
|
|
788
|
+
return 0;
|
|
708
789
|
}
|
|
709
790
|
}
|
|
710
791
|
|
|
711
792
|
function DataListHeader() {
|
|
712
793
|
const breakpoints = useResponsiveSizing();
|
|
713
|
-
const { headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, headers,
|
|
794
|
+
const { headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, headers, layoutBreakpoints, } = useDataListContext();
|
|
795
|
+
const { selectedIDs } = useBatchSelect();
|
|
714
796
|
const size = getVisibleSize();
|
|
715
797
|
const { layout } = useActiveLayout();
|
|
716
798
|
const visible = headerVisibility[size];
|
|
717
|
-
const noItemsSelected = (
|
|
799
|
+
const noItemsSelected = (selectedIDs === null || selectedIDs === void 0 ? void 0 : selectedIDs.length) === 0;
|
|
718
800
|
if ((!visible && noItemsSelected) || !layout)
|
|
719
801
|
return null;
|
|
720
802
|
const headerData = generateHeaderElements(headers);
|
|
@@ -1123,18 +1205,18 @@ DataList.Search = DataListSearch;
|
|
|
1123
1205
|
* Defines the group actions you could do on a single DataList item.
|
|
1124
1206
|
*/
|
|
1125
1207
|
DataList.ItemActions = DataListItemActions;
|
|
1126
|
-
/**
|
|
1127
|
-
* Defines the group actions you could do on multiple DataList items.
|
|
1128
|
-
*/
|
|
1129
|
-
DataList.BulkActions = DataListBulkActions;
|
|
1130
1208
|
/**
|
|
1131
1209
|
* Defines the action in a DataList. This should be used inside the
|
|
1132
1210
|
* DataListItemActions component.
|
|
1133
1211
|
*/
|
|
1134
1212
|
DataList.ItemAction = DataListAction;
|
|
1213
|
+
/**
|
|
1214
|
+
* Defines the group actions you could do on multiple DataList items.
|
|
1215
|
+
*/
|
|
1216
|
+
DataList.BatchActions = DataListBulkActions;
|
|
1135
1217
|
/**
|
|
1136
1218
|
* Defines the batch action in a DataList. This should be used inside the
|
|
1137
|
-
*
|
|
1219
|
+
* DataListBatchActions component.
|
|
1138
1220
|
*/
|
|
1139
1221
|
DataList.BatchAction = function DataListBatchAction(props) {
|
|
1140
1222
|
return React__default["default"].createElement(DataListAction, Object.assign({}, props));
|
package/dist/DataTable/index.js
CHANGED
|
@@ -9,11 +9,11 @@ var jobberHooks = require('@jobber/hooks/useResizeObserver');
|
|
|
9
9
|
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
10
10
|
var Glimmer = require('../Glimmer-cfa92a88.js');
|
|
11
11
|
var tslib_es6 = require('../tslib.es6-5b8768b7.js');
|
|
12
|
-
var Option = require('../Option-
|
|
12
|
+
var Option = require('../Option-381be6f7.js');
|
|
13
13
|
var Button = require('../Button-db6114a6.js');
|
|
14
14
|
var Text = require('../Text-54334431.js');
|
|
15
15
|
require('../Content-2ca1ffe1.js');
|
|
16
|
-
require('../FormField-
|
|
16
|
+
require('../FormField-61709fa0.js');
|
|
17
17
|
require('uuid');
|
|
18
18
|
require('react-hook-form');
|
|
19
19
|
require('../Icon-405a216c.js');
|
|
@@ -139,6 +139,10 @@ export interface FormFieldProps extends CommonFormFieldProps {
|
|
|
139
139
|
* Blur callback.
|
|
140
140
|
*/
|
|
141
141
|
onBlur?(): void;
|
|
142
|
+
/**
|
|
143
|
+
* Click callback.
|
|
144
|
+
*/
|
|
145
|
+
onClick?(event: React.MouseEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>): void;
|
|
142
146
|
/**
|
|
143
147
|
* Exclusively for textareas. Specifies the visible height of a textarea.
|
|
144
148
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PropsWithChildren } from "react";
|
|
2
2
|
import { FormFieldProps } from "./FormFieldTypes";
|
|
3
3
|
interface FormFieldWrapperProps extends FormFieldProps {
|
|
4
|
-
error: string;
|
|
5
|
-
identifier: string;
|
|
6
|
-
descriptionIdentifier: string;
|
|
4
|
+
readonly error: string;
|
|
5
|
+
readonly identifier: string;
|
|
6
|
+
readonly descriptionIdentifier: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function FormFieldWrapper({ align, description, descriptionIdentifier, placeholder, value, children, invalid, error, size, prefix, suffix, max, maxLength, type, disabled, inline, identifier, }: PropsWithChildren<FormFieldWrapperProps>): JSX.Element;
|
|
9
9
|
export {};
|
package/dist/FormField/index.js
CHANGED
|
@@ -17,8 +17,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
18
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
19
19
|
|
|
20
|
-
var css_248z = ":root {\n /**\n * These `--public-field` properties are used in other components such\n * as InputGroup, therefore they must stay on :root\n **/\n --public-field--top-left-radius: var(--radius-base);\n --public-field--top-right-radius: var(--radius-base);\n --public-field--bottom-left-radius: var(--radius-base);\n --public-field--bottom-right-radius: var(--radius-base);\n}\n\n.geR7qBhrMfk- {\n width: 100%;\n}\n\n/**\n * Wrapper\n **/\n\n.nPGhTEEzsoU- {\n --field--placeholder-color: var(--color-greyBlue--light);\n --field--placeholder-offset: 50%;\n --field--placeholder-transform: -50%;\n\n --field--textAlign: left;\n\n --field--height: var(--space-largest);\n\n --field--padding-top: calc(var(--space-base) - var(--space-smallest));\n --field--padding-bottom: calc(var(--space-base) - var(--space-smallest));\n --field--padding-left: var(--space-base);\n --field--padding-right: var(--space-base);\n\n --field--value-color: var(--color-heading);\n --field--value-lineHeight: calc(var(--base-unit) * 1.25);\n\n --field--border-color: var(--color-border);\n --field--background-color: var(--color-surface);\n\n --field--base-elevation: var(--elevation-base);\n --field--label-elevation: calc(var(--field--base-elevation) + 1);\n --field--postfix-elevation: calc(var(--field--base-elevation) - 1);\n --field--postfix-action-elevation: calc(var(--field--base-elevation) + 2);\n\n display: -ms-flexbox;\n\n display: flex;\n width: 100%;\n height: calc(16px * 3);\n height: var(--field--height);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--field--border-color);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n border-top-right-radius: calc(16px / 8);\n border-top-right-radius: var(--public-field--top-right-radius);\n border-bottom-right-radius: calc(16px / 8);\n border-bottom-right-radius: var(--public-field--bottom-right-radius);\n border-bottom-left-radius: calc(16px / 8);\n border-bottom-left-radius: var(--public-field--bottom-left-radius);\n border-top-left-radius: calc(16px / 8);\n border-top-left-radius: var(--public-field--top-left-radius);\n color: rgb(1, 41, 57);\n color: var(--field--value-color);\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--field--background-color);\n}\n\n.nPGhTEEzsoU- * {\n box-sizing: border-box;\n}\n\n.nPGhTEEzsoU-:focus-within {\n position: relative;\n z-index: var(--field--base-elevation);\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n}\n\n.UIZq8hTmJVU- {\n --field--placeholder-color: var(--color-text--secondary);\n --field--placeholder-offset: var(--space-smallest);\n --field--placeholder-transform: 0;\n --field--padding-top: calc(var(--space-base) + var(--space-smaller));\n --field--padding-bottom: var(--space-small);\n}\n\n.UIZq8hTmJVU-.Ku8sWS0mLew- {\n --field--padding-top: calc(var(--space-large) + var(--space-smaller));\n}\n\n.nPGhTEEzsoU-.mgPacJ6Z71Y- {\n --field--placeholder-offset: 0;\n --field--placeholder-transform: 0;\n height: auto;\n min-height: auto;\n}\n\n.gJ-15M615eY-,\n.gJ-15M615eY-:focus-within {\n --field--border-color: var(--color-critical);\n position: relative;\n}\n\n._1rsTLm5GwcM- {\n --field--placeholder-color: var(--color-disabled);\n --field--value-color: var(--color-disabled);\n --field--background-color: var(--color-surface--background);\n --field--border-color: var(--color-disabled--secondary);\n}\n\n/* override iOS default styling for disabled input */\n\n._1rsTLm5GwcM- :disabled {\n -webkit-text-fill-color: var(--field--value-color);\n opacity: 1;\n}\n\n.o8D-H-lKfDk- {\n --field--padding-left: calc(var(--space-base) - var(--space-smaller));\n --field--padding-right: calc(var(--space-base) - var(--space-smaller));\n --field--padding-top: var(--space-small);\n --field--padding-bottom: var(--space-small);\n --field--height: calc(var(--space-larger) + var(--space-smaller));\n}\n\n.Ku8sWS0mLew- {\n --field--padding-left: var(--space-large);\n --field--padding-right: var(--space-large);\n --field--height: calc(var(--space-extravagant));\n}\n\n._5Hu2F3cBvng- {\n display: inline-block;\n width: auto;\n}\n\n.s1WLQs6ffD8- {\n --field--textAlign: center;\n}\n\n.a2r4QheWYIA- {\n --field--textAlign: right;\n}\n\n/**\n * The custom property --formField-maxLength is getting defined inside the\n * component.\n */\n\n.KdAnXK1gClo- {\n width: calc(\n (16px * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n width: calc(\n (var(--base-unit) * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n}\n\n/**\n * Input Wrapper\n **/\n\n.iQFhpFYnz-8- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1;\n flex: 1;\n position: relative;\n /* Ensure input stays with the rest of the element stack */\n z-index: 0;\n z-index: var(--elevation-default);\n}\n\n.Yo2Wi9dpa-Y- {\n position: relative;\n -ms-flex: 1;\n flex: 1;\n}\n\n/**\n * Input\n **/\n\n.LSHPV7PwOTg- {\n position: relative;\n z-index: var(--field--base-elevation);\n width: 100%;\n height: 100%;\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n border: none;\n border-radius: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.LSHPV7PwOTg-:focus {\n outline: none;\n}\n\n.mgPacJ6Z71Y- .LSHPV7PwOTg- {\n resize: vertical;\n}\n\n.i31GQXcMz54- .LSHPV7PwOTg- {\n z-index: var(--field--label-elevation);\n}\n\n.LSHPV7PwOTg-:-webkit-autofill,\n.LSHPV7PwOTg-:-webkit-autofill:hover,\n.LSHPV7PwOTg-:-webkit-autofill:focus,\n.LSHPV7PwOTg-:-webkit-autofill:active {\n -webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 1) inset !important;\n -webkit-box-shadow: 0 0 0 30px var(--color-surface) inset !important;\n}\n\n/**\n * Label\n **/\n\n._3xREbTN5pPg- {\n position: absolute;\n top: var(--field--placeholder-offset);\n z-index: var(--field--label-elevation);\n width: 100%;\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n overflow: hidden;\n color: var(--field--placeholder-color);\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n -webkit-transform: translateY(var(--field--placeholder-transform));\n transform: translateY(var(--field--placeholder-transform));\n transition: all 100ms;\n transition: all var(--timing-quick);\n}\n\n.UIZq8hTmJVU- ._3xREbTN5pPg- {\n font-size: calc((16px * 1) * 0.75);\n font-size: calc(calc(16px * 1) * 0.75);\n font-size: var(--typography--fontSize-small);\n}\n\n.mgPacJ6Z71Y- ._3xREbTN5pPg- {\n /* Changes the width so that the scrollbar on the textarea doesn't get cut off */\n width: calc(100% - var(--field--padding-right));\n padding-top: var(--field--padding-top);\n /* Remove padding on right to make use of the entire width */\n padding-right: 0;\n -webkit-transform: translateY(--field--placeholder-transform);\n transform: translateY(--field--placeholder-transform);\n}\n\n.mgPacJ6Z71Y-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n padding-top: calc(16px / 8);\n padding-top: var(--space-smallest);\n background-color: var(--field--background-color);\n}\n\n.o8D-H-lKfDk-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n display: none;\n}\n\n.Ku8sWS0mLew-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n padding-top: calc(16px / 2);\n padding-top: var(--space-small);\n}\n\n/**\n * Postfix\n **/\n\n.VtnAk1HYMMk- {\n position: absolute;\n top: 50%;\n right: calc(16px * 1);\n right: var(--space-base);\n z-index: var(--field--postfix-elevation);\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n/**\n * Affix\n **/\n\n.uPLklxvtfJw- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0 calc(var(--field--padding-left) * -1) 0 0;\n padding: 0 var(--field--padding-right) 0 var(--field--padding-left);\n}\n\n@supports (aspect-ratio: 1/1) {\n .uPLklxvtfJw- {\n /*\n * disabling property-no-unknown here as this is a real property\n * that stylelint just doesn't know about. We may be able to remove\n * this when we update our stylelint to not care about IE11.\n */\n /* stylelint-disable-next-line property-no-unknown */\n aspect-ratio: 1/1;\n padding: 0;\n }\n}\n\n.uPLklxvtfJw-.pYqqDvv57JE- {\n margin: 0 0 0 calc(var(--field--padding-right) * -1);\n}\n\n.uPLklxvtfJw-.eI44oQpuVlk- {\n position: relative;\n z-index: var(--field--postfix-action-elevation);\n}\n\n.jO8P2iSHilM- {\n display: -ms-flexbox;\n display: flex;\n margin: 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1) 0 0;\n margin: 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1) 0 0;\n padding: 0 0 0 var(--field--padding-left);\n line-height: var(--field--value-lineHeight);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.jO8P2iSHilM-.pYqqDvv57JE- {\n margin: 0 0 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1);\n margin: 0 0 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1);\n padding: 0 var(--field--padding-left) 0 0;\n}\n\n.UIZq8hTmJVU-:not(.o8D-H-lKfDk-) .jO8P2iSHilM- {\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n}\n\n._2GfgzNnLOSI- {\n margin-top: calc(16px / 4);\n margin-top: var(--space-smaller);\n}\n";
|
|
21
|
-
var styles = {"container":"geR7qBhrMfk-","wrapper":"nPGhTEEzsoU-","miniLabel":"UIZq8hTmJVU-","large":"Ku8sWS0mLew-","textarea":"mgPacJ6Z71Y-","invalid":"gJ-15M615eY-","disabled":"_1rsTLm5GwcM-","small":"o8D-H-lKfDk-","inline":"_5Hu2F3cBvng-","center":"s1WLQs6ffD8-","right":"a2r4QheWYIA-","maxLength":"KdAnXK1gClo-","inputWrapper":"iQFhpFYnz-8-","childrenWrapper":"Yo2Wi9dpa-Y-","input":"LSHPV7PwOTg-","select":"i31GQXcMz54-","label":"_3xREbTN5pPg-","postfix":"VtnAk1HYMMk-","affixIcon":"uPLklxvtfJw-","suffix":"pYqqDvv57JE-","hasAction":"eI44oQpuVlk-","affixLabel":"jO8P2iSHilM-","description":"_2GfgzNnLOSI-"};
|
|
20
|
+
var css_248z = ":root {\n /**\n * These `--public-field` properties are used in other components such\n * as InputGroup, therefore they must stay on :root\n **/\n --public-field--top-left-radius: var(--radius-base);\n --public-field--top-right-radius: var(--radius-base);\n --public-field--bottom-left-radius: var(--radius-base);\n --public-field--bottom-right-radius: var(--radius-base);\n}\n\n.geR7qBhrMfk- {\n width: 100%;\n}\n\n/**\n * Wrapper\n **/\n\n.nPGhTEEzsoU- {\n --field--placeholder-color: var(--color-greyBlue--light);\n --field--placeholder-offset: 50%;\n --field--placeholder-transform: -50%;\n\n --field--textAlign: left;\n\n --field--height: var(--space-largest);\n\n --field--padding-top: calc(var(--space-base) - var(--space-smallest));\n --field--padding-bottom: calc(var(--space-base) - var(--space-smallest));\n --field--padding-left: var(--space-base);\n --field--padding-right: var(--space-base);\n\n --field--value-color: var(--color-heading);\n --field--value-lineHeight: calc(var(--base-unit) * 1.25);\n\n --field--border-color: var(--color-border);\n --field--background-color: var(--color-surface);\n\n --field--base-elevation: var(--elevation-base);\n --field--label-elevation: calc(var(--field--base-elevation) + 1);\n --field--postfix-elevation: calc(var(--field--base-elevation) - 1);\n --field--postfix-action-elevation: calc(var(--field--base-elevation) + 2);\n\n display: -ms-flexbox;\n\n display: flex;\n width: 100%;\n height: calc(16px * 3);\n height: var(--field--height);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--field--border-color);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n border-top-right-radius: calc(16px / 8);\n border-top-right-radius: var(--public-field--top-right-radius);\n border-bottom-right-radius: calc(16px / 8);\n border-bottom-right-radius: var(--public-field--bottom-right-radius);\n border-bottom-left-radius: calc(16px / 8);\n border-bottom-left-radius: var(--public-field--bottom-left-radius);\n border-top-left-radius: calc(16px / 8);\n border-top-left-radius: var(--public-field--top-left-radius);\n color: rgb(1, 41, 57);\n color: var(--field--value-color);\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--field--background-color);\n}\n\n.nPGhTEEzsoU- * {\n box-sizing: border-box;\n}\n\n.nPGhTEEzsoU-:focus-within {\n position: relative;\n z-index: var(--field--base-elevation);\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n}\n\n.YhserUiOeFE-:not(:focus-within) input {\n color: var(--field--background-color);\n -webkit-text-fill-color: var(--field--background-color);\n}\n\n.YhserUiOeFE-:focus-within,\n.UIZq8hTmJVU- {\n --field--placeholder-color: var(--color-text--secondary);\n --field--placeholder-offset: var(--space-smallest);\n --field--placeholder-transform: 0;\n --field--padding-top: calc(var(--space-base) + var(--space-smaller));\n --field--padding-bottom: var(--space-small);\n}\n\n.YhserUiOeFE-.Ku8sWS0mLew-:focus-within,\n.UIZq8hTmJVU-.Ku8sWS0mLew- {\n --field--padding-top: calc(var(--space-large) + var(--space-smaller));\n}\n\n.nPGhTEEzsoU-.mgPacJ6Z71Y- {\n --field--placeholder-offset: 0;\n --field--placeholder-transform: 0;\n height: auto;\n min-height: auto;\n}\n\n.gJ-15M615eY-,\n.gJ-15M615eY-:focus-within {\n --field--border-color: var(--color-critical);\n position: relative;\n}\n\n._1rsTLm5GwcM- {\n --field--placeholder-color: var(--color-disabled);\n --field--value-color: var(--color-disabled);\n --field--background-color: var(--color-surface--background);\n --field--border-color: var(--color-disabled--secondary);\n}\n\n/* override iOS default styling for disabled input */\n\n._1rsTLm5GwcM- :disabled {\n -webkit-text-fill-color: var(--field--value-color);\n opacity: 1;\n}\n\n.o8D-H-lKfDk- {\n --field--padding-left: calc(var(--space-base) - var(--space-smaller));\n --field--padding-right: calc(var(--space-base) - var(--space-smaller));\n --field--padding-top: var(--space-small);\n --field--padding-bottom: var(--space-small);\n --field--height: calc(var(--space-larger) + var(--space-smaller));\n}\n\n.Ku8sWS0mLew- {\n --field--padding-left: var(--space-large);\n --field--padding-right: var(--space-large);\n --field--height: calc(var(--space-extravagant));\n}\n\n._5Hu2F3cBvng- {\n display: inline-block;\n width: auto;\n}\n\n.s1WLQs6ffD8- {\n --field--textAlign: center;\n}\n\n.a2r4QheWYIA- {\n --field--textAlign: right;\n}\n\n/**\n * The custom property --formField-maxLength is getting defined inside the\n * component.\n */\n\n.KdAnXK1gClo- {\n width: calc(\n (16px * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n width: calc(\n (var(--base-unit) * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n}\n\n/**\n * Input Wrapper\n **/\n\n.iQFhpFYnz-8- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1;\n flex: 1;\n position: relative;\n /* Ensure input stays with the rest of the element stack */\n z-index: 0;\n z-index: var(--elevation-default);\n}\n\n.Yo2Wi9dpa-Y- {\n position: relative;\n -ms-flex: 1;\n flex: 1;\n}\n\n/**\n * Input\n **/\n\n.LSHPV7PwOTg- {\n position: relative;\n z-index: var(--field--base-elevation);\n width: 100%;\n height: 100%;\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n border: none;\n border-radius: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.LSHPV7PwOTg-::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n.LSHPV7PwOTg-:focus {\n outline: none;\n}\n\n.mgPacJ6Z71Y- .LSHPV7PwOTg- {\n resize: vertical;\n}\n\n.i31GQXcMz54- .LSHPV7PwOTg- {\n z-index: var(--field--label-elevation);\n}\n\n.LSHPV7PwOTg-:-webkit-autofill,\n.LSHPV7PwOTg-:-webkit-autofill:hover,\n.LSHPV7PwOTg-:-webkit-autofill:focus,\n.LSHPV7PwOTg-:-webkit-autofill:active {\n -webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 1) inset !important;\n -webkit-box-shadow: 0 0 0 30px var(--color-surface) inset !important;\n}\n\n/**\n * Label\n **/\n\n._3xREbTN5pPg- {\n position: absolute;\n top: var(--field--placeholder-offset);\n z-index: var(--field--label-elevation);\n width: 100%;\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n overflow: hidden;\n color: var(--field--placeholder-color);\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n -webkit-transform: translateY(var(--field--placeholder-transform));\n transform: translateY(var(--field--placeholder-transform));\n transition: all 100ms;\n transition: all var(--timing-quick);\n}\n\n.mgPacJ6Z71Y- ._3xREbTN5pPg- {\n /* Changes the width so that the scrollbar on the textarea doesn't get cut off */\n width: calc(100% - var(--field--padding-right));\n padding-top: var(--field--padding-top);\n /* Remove padding on right to make use of the entire width */\n padding-right: 0;\n -webkit-transform: translateY(--field--placeholder-transform);\n transform: translateY(--field--placeholder-transform);\n}\n\n.UIZq8hTmJVU- ._3xREbTN5pPg-,\n.YhserUiOeFE-:focus-within ._3xREbTN5pPg- {\n font-size: calc((16px * 1) * 0.75);\n font-size: calc(calc(16px * 1) * 0.75);\n font-size: var(--typography--fontSize-small);\n}\n\n.mgPacJ6Z71Y-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n padding-top: calc(16px / 8);\n padding-top: var(--space-smallest);\n background-color: var(--field--background-color);\n}\n\n.o8D-H-lKfDk-.UIZq8hTmJVU- ._3xREbTN5pPg-,\n.YhserUiOeFE-.o8D-H-lKfDk-.UIZq8hTmJVU-:focus-within ._3xREbTN5pPg- {\n display: none;\n}\n\n/**This is valid cascading order **/\n\n/* stylelint-disable-next-line no-descending-specificity */\n\n.Ku8sWS0mLew-.UIZq8hTmJVU- ._3xREbTN5pPg-,\n.YhserUiOeFE-.Ku8sWS0mLew-.UIZq8hTmJVU-:focus-within ._3xREbTN5pPg- {\n padding-top: calc(16px / 2);\n padding-top: var(--space-small);\n}\n\n/**\n * Postfix\n **/\n\n.VtnAk1HYMMk- {\n position: absolute;\n top: 50%;\n right: calc(16px * 1);\n right: var(--space-base);\n z-index: var(--field--postfix-elevation);\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n/**\n * Affix\n **/\n\n.uPLklxvtfJw- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0 calc(var(--field--padding-left) * -1) 0 0;\n padding: 0 var(--field--padding-right) 0 var(--field--padding-left);\n}\n\n@supports (aspect-ratio: 1/1) {\n .uPLklxvtfJw- {\n /*\n * disabling property-no-unknown here as this is a real property\n * that stylelint just doesn't know about. We may be able to remove\n * this when we update our stylelint to not care about IE11.\n */\n /* stylelint-disable-next-line property-no-unknown */\n aspect-ratio: 1/1;\n padding: 0;\n }\n}\n\n.uPLklxvtfJw-.pYqqDvv57JE- {\n margin: 0 0 0 calc(var(--field--padding-right) * -1);\n}\n\n.uPLklxvtfJw-.eI44oQpuVlk- {\n position: relative;\n z-index: var(--field--postfix-action-elevation);\n}\n\n.jO8P2iSHilM- {\n display: -ms-flexbox;\n display: flex;\n margin: 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1) 0 0;\n margin: 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1) 0 0;\n padding: 0 0 0 var(--field--padding-left);\n line-height: var(--field--value-lineHeight);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.jO8P2iSHilM-.pYqqDvv57JE- {\n margin: 0 0 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1);\n margin: 0 0 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1);\n padding: 0 var(--field--padding-left) 0 0;\n}\n\n.UIZq8hTmJVU-:not(.o8D-H-lKfDk-) .jO8P2iSHilM- {\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n}\n\n._2GfgzNnLOSI- {\n margin-top: calc(16px / 4);\n margin-top: var(--space-smaller);\n}\n";
|
|
21
|
+
var styles = {"container":"geR7qBhrMfk-","wrapper":"nPGhTEEzsoU-","timeInputLabel":"YhserUiOeFE-","miniLabel":"UIZq8hTmJVU-","large":"Ku8sWS0mLew-","textarea":"mgPacJ6Z71Y-","invalid":"gJ-15M615eY-","disabled":"_1rsTLm5GwcM-","small":"o8D-H-lKfDk-","inline":"_5Hu2F3cBvng-","center":"s1WLQs6ffD8-","right":"a2r4QheWYIA-","maxLength":"KdAnXK1gClo-","inputWrapper":"iQFhpFYnz-8-","childrenWrapper":"Yo2Wi9dpa-Y-","input":"LSHPV7PwOTg-","select":"i31GQXcMz54-","label":"_3xREbTN5pPg-","postfix":"VtnAk1HYMMk-","affixIcon":"uPLklxvtfJw-","suffix":"pYqqDvv57JE-","hasAction":"eI44oQpuVlk-","affixLabel":"jO8P2iSHilM-","description":"_2GfgzNnLOSI-"};
|
|
22
22
|
styleInject_es.styleInject(css_248z);
|
|
23
23
|
|
|
24
24
|
function AffixLabel({ label, variation = "prefix", labelRef, }) {
|
|
@@ -57,7 +57,6 @@ function FormFieldWrapper({ align, description, descriptionIdentifier, placehold
|
|
|
57
57
|
const wrapperClasses = classnames__default["default"](styles.wrapper, size && styles[size], align && styles[align], {
|
|
58
58
|
[styles.miniLabel]: (placeholder && value !== "") ||
|
|
59
59
|
(placeholder && type === "select") ||
|
|
60
|
-
(placeholder && type === "time") ||
|
|
61
60
|
// Naively assume that if the the type is tel, it is the InputPhoneNumber
|
|
62
61
|
(placeholder && type === "tel"),
|
|
63
62
|
[styles.textarea]: type === "textarea",
|
|
@@ -65,6 +64,7 @@ function FormFieldWrapper({ align, description, descriptionIdentifier, placehold
|
|
|
65
64
|
[styles.invalid]: invalid !== null && invalid !== void 0 ? invalid : error,
|
|
66
65
|
[styles.disabled]: disabled,
|
|
67
66
|
[styles.maxLength]: maxLength,
|
|
67
|
+
[styles.timeInputLabel]: placeholder && type === "time" && placeholder && value === "",
|
|
68
68
|
});
|
|
69
69
|
const containerClasses = classnames__default["default"](styles.container, {
|
|
70
70
|
[styles.inline]: inline,
|
|
@@ -82,7 +82,7 @@ function FormFieldWrapper({ align, description, descriptionIdentifier, placehold
|
|
|
82
82
|
setLabelStyle(getAffixPaddding);
|
|
83
83
|
}, [value]);
|
|
84
84
|
return (React__default["default"].createElement("div", { className: containerClasses },
|
|
85
|
-
React__default["default"].createElement("div", { className: wrapperClasses, style: wrapperInlineStyle },
|
|
85
|
+
React__default["default"].createElement("div", { className: wrapperClasses, style: wrapperInlineStyle, "data-testid": "Form-Field-Wrapper" },
|
|
86
86
|
(prefix === null || prefix === void 0 ? void 0 : prefix.icon) && React__default["default"].createElement(AffixIcon, Object.assign({}, prefix, { size: size })),
|
|
87
87
|
React__default["default"].createElement("div", { className: styles.inputWrapper },
|
|
88
88
|
placeholder && (React__default["default"].createElement("label", { className: styles.label, htmlFor: identifier, style: (prefixRef === null || prefixRef === void 0 ? void 0 : prefixRef.current) || (suffixRef === null || suffixRef === void 0 ? void 0 : suffixRef.current)
|
|
@@ -126,7 +126,7 @@ function FormFieldPostFix({ variation }) {
|
|
|
126
126
|
/*eslint max-statements: ["error", 13]*/
|
|
127
127
|
function FormField(props) {
|
|
128
128
|
var _a, _b;
|
|
129
|
-
const { actionsRef, autocomplete = true, children, defaultValue, description, disabled, inputRef, inline, keyboard, max, maxLength, min, name, readonly, rows, loading, type = "text", validations, value, onChange, onEnter, onFocus, onBlur, onValidation, } = props;
|
|
129
|
+
const { actionsRef, autocomplete = true, children, defaultValue, description, disabled, inputRef, inline, keyboard, max, maxLength, min, name, readonly, rows, loading, type = "text", validations, value, onChange, onEnter, onFocus, onBlur, onValidation, onClick, } = props;
|
|
130
130
|
const { control, formState: { errors }, setValue, watch, } = reactHookForm.useFormContext() != undefined
|
|
131
131
|
? reactHookForm.useFormContext()
|
|
132
132
|
: // If there isn't a Form Context being provided, get a form for this field.
|
|
@@ -162,13 +162,13 @@ function FormField(props) {
|
|
|
162
162
|
switch (type) {
|
|
163
163
|
case "select":
|
|
164
164
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
165
|
-
React__default["default"].createElement("select", Object.assign({}, fieldProps), children),
|
|
165
|
+
React__default["default"].createElement("select", Object.assign({}, fieldProps, { onClick: onClick }), children),
|
|
166
166
|
React__default["default"].createElement(FormFieldPostFix, { variation: "select" })));
|
|
167
167
|
case "textarea":
|
|
168
|
-
return (React__default["default"].createElement("textarea", Object.assign({}, textFieldProps, { rows: rows, ref: inputRef })));
|
|
168
|
+
return (React__default["default"].createElement("textarea", Object.assign({}, textFieldProps, { rows: rows, ref: inputRef, onClick: onClick })));
|
|
169
169
|
default:
|
|
170
170
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
171
|
-
React__default["default"].createElement("input", Object.assign({}, textFieldProps, { autoComplete: setAutocomplete(autocomplete), type: type, maxLength: maxLength, max: max, min: min, ref: inputRef })),
|
|
171
|
+
React__default["default"].createElement("input", Object.assign({}, textFieldProps, { autoComplete: setAutocomplete(autocomplete), type: type, maxLength: maxLength, max: max, min: min, ref: inputRef, onClick: onClick })),
|
|
172
172
|
loading && React__default["default"].createElement(FormFieldPostFix, { variation: "spinner" }),
|
|
173
173
|
children));
|
|
174
174
|
}
|
package/dist/InputDate/index.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var omit = require('lodash/omit');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var FormField = require('../FormField-
|
|
7
|
+
var FormField = require('../FormField-61709fa0.js');
|
|
8
8
|
var DatePicker = require('../DatePicker-49213434.js');
|
|
9
9
|
require('../tslib.es6-5b8768b7.js');
|
|
10
10
|
require('uuid');
|
package/dist/InputEmail/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var FormField = require('../FormField-
|
|
6
|
+
var FormField = require('../FormField-61709fa0.js');
|
|
7
7
|
require('../tslib.es6-5b8768b7.js');
|
|
8
8
|
require('uuid');
|
|
9
9
|
require('react-hook-form');
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var InputNumber = require('../InputNumber-
|
|
5
|
+
var InputNumber = require('../InputNumber-e4e77cf0.js');
|
|
6
6
|
require('react');
|
|
7
|
-
require('../FormField-
|
|
7
|
+
require('../FormField-61709fa0.js');
|
|
8
8
|
require('../tslib.es6-5b8768b7.js');
|
|
9
9
|
require('uuid');
|
|
10
10
|
require('react-hook-form');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var FormField = require('./FormField-
|
|
4
|
+
var FormField = require('./FormField-61709fa0.js');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
7
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var FormField = require('../FormField-
|
|
6
|
+
var FormField = require('../FormField-61709fa0.js');
|
|
7
7
|
require('../tslib.es6-5b8768b7.js');
|
|
8
8
|
require('uuid');
|
|
9
9
|
require('react-hook-form');
|
|
@@ -6,7 +6,7 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var reactHookForm = require('react-hook-form');
|
|
8
8
|
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
9
|
-
var FormField = require('../FormField-
|
|
9
|
+
var FormField = require('../FormField-61709fa0.js');
|
|
10
10
|
require('uuid');
|
|
11
11
|
require('classnames');
|
|
12
12
|
require('../Button-db6114a6.js');
|
package/dist/InputText/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var InputText = require('../InputText-
|
|
5
|
+
var InputText = require('../InputText-07e4594b.js');
|
|
6
6
|
require('react');
|
|
7
|
-
require('../FormField-
|
|
7
|
+
require('../FormField-61709fa0.js');
|
|
8
8
|
require('../tslib.es6-5b8768b7.js');
|
|
9
9
|
require('uuid');
|
|
10
10
|
require('react-hook-form');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var FormField = require('./FormField-
|
|
4
|
+
var FormField = require('./FormField-61709fa0.js');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
7
|
|
package/dist/InputTime/index.js
CHANGED
|
@@ -6,7 +6,7 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var debounce = require('lodash/debounce');
|
|
8
8
|
var temporal = require('@std-proposal/temporal');
|
|
9
|
-
var FormField = require('../FormField-
|
|
9
|
+
var FormField = require('../FormField-61709fa0.js');
|
|
10
10
|
require('uuid');
|
|
11
11
|
require('react-hook-form');
|
|
12
12
|
require('../style-inject.es-9d2f5f4e.js');
|
|
@@ -791,7 +791,7 @@ function InputTime(_a) {
|
|
|
791
791
|
onChange && onChange(htmlTimeToCivilTime(newValue));
|
|
792
792
|
};
|
|
793
793
|
if (supportsTime) {
|
|
794
|
-
const fieldProps = Object.assign(Object.assign(Object.assign({ onChange: handleChange }, (defaultValue && { defaultValue: civilTimeToHTMLTime(defaultValue) })), (!defaultValue && { value: civilTimeToHTMLTime(value) })), params);
|
|
794
|
+
const fieldProps = Object.assign(Object.assign(Object.assign({ onChange: handleChange, onClick: event => event.currentTarget.showPicker() }, (defaultValue && { defaultValue: civilTimeToHTMLTime(defaultValue) })), (!defaultValue && { value: civilTimeToHTMLTime(value) })), params);
|
|
795
795
|
return React__default["default"].createElement(FormField.FormField, Object.assign({ type: "time" }, fieldProps));
|
|
796
796
|
}
|
|
797
797
|
else {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var FormField = require('./FormField-
|
|
4
|
+
var FormField = require('./FormField-61709fa0.js');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
7
|
|
|
@@ -9,11 +9,11 @@ var RadioGroup = require('../RadioGroup-9bdd8a59.js');
|
|
|
9
9
|
var Text = require('../Text-54334431.js');
|
|
10
10
|
require('classnames');
|
|
11
11
|
require('../Typography-83915c54.js');
|
|
12
|
-
var Option = require('../Option-
|
|
13
|
-
var InputNumber = require('../InputNumber-
|
|
12
|
+
var Option = require('../Option-381be6f7.js');
|
|
13
|
+
var InputNumber = require('../InputNumber-e4e77cf0.js');
|
|
14
14
|
var InputGroup = require('../InputGroup-3fdde16b.js');
|
|
15
15
|
var Content = require('../Content-2ca1ffe1.js');
|
|
16
|
-
require('../FormField-
|
|
16
|
+
require('../FormField-61709fa0.js');
|
|
17
17
|
require('../tslib.es6-5b8768b7.js');
|
|
18
18
|
require('react-hook-form');
|
|
19
19
|
require('../Button-db6114a6.js');
|
package/dist/Select/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Option = require('../Option-
|
|
5
|
+
var Option = require('../Option-381be6f7.js');
|
|
6
6
|
require('react');
|
|
7
|
-
require('../FormField-
|
|
7
|
+
require('../FormField-61709fa0.js');
|
|
8
8
|
require('../tslib.es6-5b8768b7.js');
|
|
9
9
|
require('uuid');
|
|
10
10
|
require('react-hook-form');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "4.62.
|
|
3
|
+
"version": "4.62.1-JOB-83556-.7+808eafc6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@jobber/design": "^0.47.2",
|
|
23
|
-
"@jobber/formatters": "
|
|
23
|
+
"@jobber/formatters": "^0.2.2",
|
|
24
24
|
"@jobber/hooks": "^2.7.2",
|
|
25
25
|
"@popperjs/core": "^2.0.6",
|
|
26
26
|
"@std-proposal/temporal": "0.0.1",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"> 1%",
|
|
84
84
|
"IE 10"
|
|
85
85
|
],
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "808eafc66b64cfe3559680cb09d271f069e4e93f"
|
|
87
87
|
}
|