@indico-data/design-system 2.41.0 → 2.42.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/build/generated/iconNames.ts +3 -0
- package/build/generated/iconTypes.ts +5 -0
- package/lib/components/forms/date/datePicker/DatePicker.d.ts +1 -2
- package/lib/components/forms/date/datePicker/__tests__/DatePicker.test.d.ts +1 -0
- package/lib/components/forms/date/datePicker/contants.d.ts +1 -1
- package/lib/components/forms/date/datePicker/index.d.ts +1 -0
- package/lib/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.d.ts +3 -3
- package/lib/components/forms/date/iconTriggerDatePicker/__tests__/IconTriggerDatePicker.test.d.ts +1 -0
- package/lib/components/forms/date/inputDatePicker/SingleInputDatePicker.d.ts +5 -6
- package/lib/components/forms/date/inputDatePicker/__tests__/SingleInputDatePicker.test.d.ts +1 -0
- package/lib/components/forms/date/inputDatePicker/helpers.d.ts +1 -0
- package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.d.ts +5 -6
- package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.d.ts +1 -1
- package/lib/components/forms/date/inputDateRangePicker/__tests__/InputDateRangePicker.test.d.ts +1 -0
- package/lib/components/icons/constants.d.ts +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/index.d.ts +8 -7
- package/lib/index.esm.js +48 -47
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +48 -47
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/generateIconTypes.js +26 -0
- package/src/assets/indicons/api-doc.svg +3 -0
- package/src/assets/indicons/application-squares.svg +3 -0
- package/src/assets/indicons/arrow-dots.svg +3 -0
- package/src/assets/indicons/arrow-down.svg +9 -0
- package/src/assets/indicons/arrow-up-circle.svg +3 -0
- package/src/assets/indicons/arrows-cursor.svg +3 -0
- package/src/assets/indicons/bookmark-saved.svg +3 -0
- package/src/assets/indicons/check-circle.svg +3 -0
- package/src/assets/indicons/chevron-down.svg +3 -0
- package/src/assets/indicons/chevron-left.svg +3 -0
- package/src/assets/indicons/chevron-right.svg +3 -0
- package/src/assets/indicons/chevron-up.svg +3 -0
- package/src/assets/indicons/choose-library.svg +11 -0
- package/src/assets/indicons/circle-help.svg +3 -0
- package/src/assets/indicons/classification-document.svg +3 -0
- package/src/assets/indicons/classification-image.svg +3 -0
- package/src/assets/indicons/classification-page.svg +3 -0
- package/src/assets/indicons/classify-and-unbundle.svg +3 -0
- package/src/assets/indicons/coffee-1.svg +3 -0
- package/src/assets/indicons/coffee-2.svg +3 -0
- package/src/assets/indicons/coffee-fail.svg +3 -0
- package/src/assets/indicons/company-name.svg +3 -0
- package/src/assets/indicons/confidence-bar-1.svg +3 -0
- package/src/assets/indicons/confidence-bar-2.svg +3 -0
- package/src/assets/indicons/confidence-bar-3.svg +3 -0
- package/src/assets/indicons/confidence-bar-4.svg +3 -0
- package/src/assets/indicons/confidence-bars.svg +3 -0
- package/src/assets/indicons/data-and-access.svg +3 -0
- package/src/assets/indicons/elmos-fire.svg +3 -0
- package/src/assets/indicons/exclamation-circle-stroke.svg +13 -0
- package/src/assets/indicons/filter-outline.svg +7 -0
- package/src/assets/indicons/find-documents.svg +10 -0
- package/src/assets/indicons/gen-ai.svg +3 -0
- package/src/assets/indicons/grid-view.svg +3 -0
- package/src/assets/indicons/help-solid.svg +3 -0
- package/src/assets/indicons/highlight-outline.svg +10 -0
- package/src/assets/indicons/indico-logo-white.svg +3 -0
- package/src/assets/indicons/indico-o-white.svg +3 -0
- package/src/assets/indicons/indico-o.svg +3 -0
- package/src/assets/indicons/layout-complex.svg +3 -0
- package/src/assets/indicons/layout-simple.svg +3 -0
- package/src/assets/indicons/libraries-app.svg +15 -0
- package/src/assets/indicons/list-view.svg +3 -0
- package/src/assets/indicons/model-import.svg +3 -0
- package/src/assets/indicons/model-starter.svg +3 -0
- package/src/assets/indicons/no-collections.svg +10 -0
- package/src/assets/indicons/no-format.svg +3 -0
- package/src/assets/indicons/no-libraries.svg +11 -0
- package/src/assets/indicons/object-detection.svg +11 -0
- package/src/assets/indicons/page-thumbnail.svg +3 -0
- package/src/assets/indicons/pay-as-you-go.svg +3 -0
- package/src/assets/indicons/preview-view.svg +3 -0
- package/src/assets/indicons/radio-button.svg +5 -0
- package/src/assets/indicons/search-insights.svg +3 -0
- package/src/assets/indicons/search-thin.svg +3 -0
- package/src/assets/indicons/sort-down.svg +3 -0
- package/src/assets/indicons/square-plus.svg +3 -0
- package/src/assets/indicons/step-forward.svg +3 -0
- package/src/assets/indicons/surround-outline.svg +12 -0
- package/src/assets/indicons/thumbs-down.svg +3 -0
- package/src/assets/indicons/thumbs-up.svg +3 -0
- package/src/assets/indicons/warning-stroke.svg +17 -0
- package/src/assets/indicons/x-close.svg +3 -0
- package/src/assets/indicons/zoom-in.svg +10 -0
- package/src/assets/indicons/zoom-out.svg +9 -0
- package/src/components/floatUI/{FloatUI.test.tsx → __tests__/FloatUI.test.tsx} +3 -3
- package/src/components/forms/date/datePicker/DatePicker.tsx +2 -2
- package/src/components/forms/date/datePicker/__tests__/DatePicker.test.tsx +55 -0
- package/src/components/forms/date/datePicker/contants.ts +1 -1
- package/src/components/forms/date/datePicker/index.ts +1 -0
- package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.mdx +1 -1
- package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.tsx +0 -10
- package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.tsx +9 -12
- package/src/components/forms/date/iconTriggerDatePicker/__tests__/IconTriggerDatePicker.test.tsx +47 -127
- package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.tsx +17 -3
- package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.tsx +31 -30
- package/src/components/forms/date/inputDatePicker/__tests__/SingleInputDatePicker.test.tsx +118 -0
- package/src/components/forms/date/inputDatePicker/helpers.ts +3 -0
- package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.mdx +9 -3
- package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.tsx +41 -44
- package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.tsx +83 -49
- package/src/components/forms/date/inputDateRangePicker/__tests__/InputDateRangePicker.test.tsx +96 -0
- package/src/components/icons/constants.ts +47 -0
- package/src/components/index.ts +1 -0
- /package/lib/components/floatUI/{FloatUI.test.d.ts → __tests__/FloatUI.test.d.ts} +0 -0
package/lib/index.js
CHANGED
|
@@ -13945,28 +13945,31 @@ function DayPicker(props) {
|
|
|
13945
13945
|
props.footer && (React__namespace.default.createElement(components.Footer, { className: classNames[UI.Footer], style: styles?.[UI.Footer], role: "status", "aria-live": "polite" }, props.footer)))));
|
|
13946
13946
|
}
|
|
13947
13947
|
|
|
13948
|
-
const getCommonProps = (props) =>
|
|
13949
|
-
|
|
13950
|
-
|
|
13951
|
-
|
|
13952
|
-
|
|
13953
|
-
|
|
13954
|
-
|
|
13955
|
-
|
|
13956
|
-
|
|
13957
|
-
|
|
13958
|
-
|
|
13959
|
-
|
|
13960
|
-
|
|
13961
|
-
|
|
13962
|
-
|
|
13963
|
-
|
|
13964
|
-
|
|
13965
|
-
|
|
13966
|
-
|
|
13967
|
-
|
|
13948
|
+
const getCommonProps = (props) => {
|
|
13949
|
+
var _a;
|
|
13950
|
+
return ({
|
|
13951
|
+
className: props.className,
|
|
13952
|
+
id: props.id,
|
|
13953
|
+
month: props.month,
|
|
13954
|
+
captionLayout: (_a = props.captionLayout) !== null && _a !== void 0 ? _a : 'dropdown',
|
|
13955
|
+
defaultMonth: props.defaultMonth,
|
|
13956
|
+
startMonth: props.startMonth,
|
|
13957
|
+
endMonth: props.endMonth,
|
|
13958
|
+
components: props.components,
|
|
13959
|
+
isDisabled: props.isDisabled,
|
|
13960
|
+
formatters: props.formatters,
|
|
13961
|
+
weekStartsOn: props.weekStartsOn,
|
|
13962
|
+
firstWeekContainsDate: props.firstWeekContainsDate,
|
|
13963
|
+
today: props.today,
|
|
13964
|
+
required: props.isRequired,
|
|
13965
|
+
onMonthChange: props.onMonthChange,
|
|
13966
|
+
onNextClick: props.onNextClick,
|
|
13967
|
+
onPrevClick: props.onPrevClick,
|
|
13968
|
+
onDayClick: props.onDayClick,
|
|
13969
|
+
});
|
|
13970
|
+
};
|
|
13968
13971
|
|
|
13969
|
-
const DatePicker =
|
|
13972
|
+
const DatePicker = (props) => {
|
|
13970
13973
|
const { mode = 'single', className, captionLayout = 'dropdown', selected, id, month, defaultMonth, startMonth, endMonth, components, numberOfMonths, isDisabled, formatters, weekStartsOn, firstWeekContainsDate, today, isRequired, min, max, onSelect, onMonthChange, onNextClick, onPrevClick, onDayClick } = props, rest = __rest(props, ["mode", "className", "captionLayout", "selected", "id", "month", "defaultMonth", "startMonth", "endMonth", "components", "numberOfMonths", "isDisabled", "formatters", "weekStartsOn", "firstWeekContainsDate", "today", "isRequired", "min", "max", "onSelect", "onMonthChange", "onNextClick", "onPrevClick", "onDayClick"]);
|
|
13971
13974
|
const commonProps = getCommonProps(props);
|
|
13972
13975
|
const modeMap = {
|
|
@@ -13991,28 +13994,26 @@ const DatePicker = React__namespace.default.forwardRef((props) => {
|
|
|
13991
13994
|
};
|
|
13992
13995
|
const modeProps = modeMap[mode];
|
|
13993
13996
|
return jsxRuntime.jsx(DayPicker, Object.assign({}, modeProps, commonProps, rest));
|
|
13994
|
-
}
|
|
13997
|
+
};
|
|
13995
13998
|
|
|
13996
13999
|
const IconTriggerDatePicker = (props) => {
|
|
13997
|
-
const { ariaLabel, className, isDisabled, disableBeforeDate, disableAfterDate,
|
|
13998
|
-
const [
|
|
14000
|
+
const { ariaLabel, className, isDisabled, disableBeforeDate, disableAfterDate, id, label, onSelect, selected, triggerIcon, triggerIconSize, mode, isOpen, clearOnClose, initialMonth } = props, rest = __rest(props, ["ariaLabel", "className", "isDisabled", "disableBeforeDate", "disableAfterDate", "id", "label", "onSelect", "selected", "triggerIcon", "triggerIconSize", "mode", "isOpen", "clearOnClose", "initialMonth"]);
|
|
14001
|
+
const [localMonth, setLocalMonth] = React.useState(initialMonth !== null && initialMonth !== void 0 ? initialMonth : new Date());
|
|
13999
14002
|
const handleSelect = (date) => {
|
|
14000
14003
|
if (!date) {
|
|
14001
14004
|
onSelect && onSelect(undefined);
|
|
14002
|
-
setLocalSelected(undefined);
|
|
14003
14005
|
}
|
|
14004
14006
|
else {
|
|
14005
14007
|
onSelect && onSelect(date);
|
|
14006
|
-
setLocalSelected(date);
|
|
14007
14008
|
}
|
|
14008
14009
|
};
|
|
14009
14010
|
// clear selection if clear on close is true
|
|
14010
14011
|
React.useEffect(() => {
|
|
14011
14012
|
if (!isOpen && clearOnClose) {
|
|
14012
|
-
|
|
14013
|
+
onSelect && onSelect(undefined);
|
|
14013
14014
|
}
|
|
14014
14015
|
}, [isOpen, clearOnClose]);
|
|
14015
|
-
return (jsxRuntime.jsxs(FloatUI, { isOpen: isOpen, ariaLabel: ariaLabel, children: [jsxRuntime.jsx(Icon, { "aria-label": "Open date picker", name: triggerIcon, size: triggerIconSize, className: "date__picker__trigger", "data-testid": `datepicker-trigger-for-${id}` }), jsxRuntime.jsx(DatePicker, Object.assign({ isDisabled: isDisabled, mode: mode,
|
|
14016
|
+
return (jsxRuntime.jsxs(FloatUI, { isOpen: isOpen, ariaLabel: ariaLabel, children: [jsxRuntime.jsx(Icon, { "aria-label": "Open date picker", name: triggerIcon, size: triggerIconSize, className: "date__picker__trigger", "data-testid": `datepicker-trigger-for-${id}` }), jsxRuntime.jsx(DatePicker, Object.assign({ isDisabled: isDisabled, mode: mode, selected: selected, onSelect: handleSelect, month: localMonth, startMonth: disableBeforeDate, endMonth: disableAfterDate, onMonthChange: setLocalMonth }, rest))] }));
|
|
14016
14017
|
};
|
|
14017
14018
|
|
|
14018
14019
|
/**
|
|
@@ -19401,45 +19402,45 @@ function cleanEscapedString(input) {
|
|
|
19401
19402
|
return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'");
|
|
19402
19403
|
}
|
|
19403
19404
|
|
|
19405
|
+
const formatDateAsString = (date) => format(date, 'MM/dd/yyyy');
|
|
19406
|
+
|
|
19404
19407
|
function SingleInputDatePicker(props) {
|
|
19405
|
-
|
|
19408
|
+
var _a;
|
|
19409
|
+
const { ariaLabel, className, isDisabled, disableBeforeDate, disableAfterDate, captionLayout, initialMonth, id, label, selected, isOpen, inputPlaceholder, clearOnClose, inputIconName, isClearable, errorMessage, onSelect } = props, rest = __rest(props, ["ariaLabel", "className", "isDisabled", "disableBeforeDate", "disableAfterDate", "captionLayout", "initialMonth", "id", "label", "selected", "isOpen", "inputPlaceholder", "clearOnClose", "inputIconName", "isClearable", "errorMessage", "onSelect"]);
|
|
19406
19410
|
const inputId = React.useId();
|
|
19407
|
-
//
|
|
19408
|
-
const [
|
|
19409
|
-
|
|
19410
|
-
|
|
19411
|
-
// Hold the input value in state
|
|
19412
|
-
const [inputValue, setInputValue] = React.useState('');
|
|
19411
|
+
// The text value is assumed to be unneeded by the consumer.
|
|
19412
|
+
const [localTextValue, setLocalTextValue] = React.useState(selected ? formatDateAsString(selected) : '');
|
|
19413
|
+
const [localMonth, setLocalMonth] = React.useState((_a = initialMonth !== null && initialMonth !== void 0 ? initialMonth : selected) !== null && _a !== void 0 ? _a : new Date());
|
|
19414
|
+
// When the day picker is selected, update the text value.
|
|
19413
19415
|
const handleDayPickerSelect = (date) => {
|
|
19414
19416
|
if (!date) {
|
|
19415
|
-
|
|
19416
|
-
|
|
19417
|
+
setLocalTextValue('');
|
|
19418
|
+
onSelect(undefined);
|
|
19417
19419
|
}
|
|
19418
19420
|
else {
|
|
19419
|
-
|
|
19420
|
-
|
|
19421
|
-
setInputValue(format(date, 'MM/dd/yyyy'));
|
|
19421
|
+
setLocalTextValue(formatDateAsString(date));
|
|
19422
|
+
onSelect(date);
|
|
19422
19423
|
}
|
|
19423
19424
|
};
|
|
19425
|
+
// When the text input is changed, update the selected date.
|
|
19424
19426
|
const handleInputChange = (e) => {
|
|
19425
|
-
|
|
19427
|
+
setLocalTextValue(e.target.value); // keep the input value in sync
|
|
19426
19428
|
const parsedDate = parse(e.target.value, 'MM/dd/yyyy', new Date());
|
|
19427
19429
|
if (isValid(parsedDate)) {
|
|
19428
|
-
|
|
19429
|
-
setLocalMonth(parsedDate);
|
|
19430
|
+
onSelect(parsedDate);
|
|
19430
19431
|
}
|
|
19431
19432
|
else {
|
|
19432
|
-
|
|
19433
|
+
onSelect(undefined);
|
|
19433
19434
|
}
|
|
19434
19435
|
};
|
|
19435
19436
|
// clear selection if clear on close is true
|
|
19436
19437
|
React.useEffect(() => {
|
|
19437
19438
|
if (!isOpen && clearOnClose) {
|
|
19438
|
-
|
|
19439
|
-
|
|
19439
|
+
onSelect(undefined);
|
|
19440
|
+
setLocalTextValue('');
|
|
19440
19441
|
}
|
|
19441
19442
|
}, [isOpen, clearOnClose]);
|
|
19442
|
-
return (jsxRuntime.jsxs(FloatUI, { isOpen: isOpen, ariaLabel: ariaLabel, children: [jsxRuntime.jsx(LabeledInput, { id: inputId, value:
|
|
19443
|
+
return (jsxRuntime.jsxs(FloatUI, { isOpen: isOpen, ariaLabel: ariaLabel, children: [jsxRuntime.jsx(LabeledInput, { id: inputId, value: localTextValue, placeholder: inputPlaceholder, isDisabled: isDisabled, iconName: inputIconName, isClearable: isClearable, onChange: handleInputChange, errorMessage: errorMessage, label: 'Single Date Picker', name: 'Date Picker' }), jsxRuntime.jsx(DatePicker, Object.assign({ captionLayout: captionLayout, mode: "single", selected: selected, onSelect: handleDayPickerSelect, month: localMonth, onMonthChange: setLocalMonth }, rest))] }));
|
|
19443
19444
|
}
|
|
19444
19445
|
|
|
19445
19446
|
const StyledAccordion = styled__default.default.details `
|