@coopdigital/react 0.55.0 → 0.57.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/README.md +2 -2
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Card/Card.js +4 -4
- package/dist/components/DatePicker/DatePicker.js +3 -2
- package/dist/components/DatePicker/datepicker-utils.js +1 -5
- package/dist/components/Field/Field.d.ts +7 -24
- package/dist/components/Field/Field.js +11 -18
- package/dist/components/Field/index.js +0 -1
- package/dist/components/Fieldset/Fieldset.d.ts +12 -17
- package/dist/components/Fieldset/Fieldset.js +6 -8
- package/dist/components/Pill/Pill.js +2 -2
- package/dist/components/Popover/Popover.js +6 -6
- package/dist/components/Searchbox/Searchbox.js +4 -4
- package/dist/components/Signpost/Signpost.js +2 -2
- package/dist/components/Tag/Tag.js +2 -2
- package/dist/components/Textarea/Textarea.js +2 -0
- package/dist/hooks/useSlots.js +3 -3
- package/dist/index.js +2 -2
- package/package.json +11 -11
- package/src/components/DatePicker/DatePicker.tsx +10 -3
- package/src/components/Field/Field.tsx +5 -29
- package/src/components/Fieldset/Fieldset.tsx +6 -8
- package/src/components/Textarea/Textarea.tsx +2 -0
- package/dist/node_modules/@date-fns/tz/date/index.js +0 -83
- package/dist/node_modules/@date-fns/tz/date/mini.js +0 -235
- package/dist/node_modules/@date-fns/tz/tzName/index.js +0 -39
- package/dist/node_modules/@date-fns/tz/tzOffset/index.js +0 -44
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -814
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -751
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -350
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -161
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -137
- package/dist/node_modules/@radix-ui/primitive/dist/index.js +0 -11
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +0 -25
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -39
- package/dist/node_modules/@radix-ui/react-context/dist/index.js +0 -63
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +0 -213
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +0 -31
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +0 -209
- package/dist/node_modules/@radix-ui/react-id/dist/index.js +0 -15
- package/dist/node_modules/@radix-ui/react-popover/dist/index.js +0 -303
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js +0 -285
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js +0 -19
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js +0 -132
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +0 -43
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +0 -89
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +0 -12
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -70
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +0 -18
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -7
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +0 -40
- package/dist/node_modules/aria-hidden/dist/es2015/index.js +0 -137
- package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +0 -7
- package/dist/node_modules/date-fns/_lib/defaultOptions.js +0 -7
- package/dist/node_modules/date-fns/_lib/format/formatters.js +0 -775
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +0 -94
- package/dist/node_modules/date-fns/_lib/format/longFormatters.js +0 -66
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +0 -31
- package/dist/node_modules/date-fns/_lib/normalizeDates.js +0 -11
- package/dist/node_modules/date-fns/_lib/normalizeInterval.js +0 -8
- package/dist/node_modules/date-fns/_lib/protectedTokens.js +0 -25
- package/dist/node_modules/date-fns/addDays.js +0 -41
- package/dist/node_modules/date-fns/addMonths.js +0 -75
- package/dist/node_modules/date-fns/addWeeks.js +0 -33
- package/dist/node_modules/date-fns/addYears.js +0 -33
- package/dist/node_modules/date-fns/constants.js +0 -67
- package/dist/node_modules/date-fns/constructFrom.js +0 -49
- package/dist/node_modules/date-fns/differenceInCalendarDays.js +0 -62
- package/dist/node_modules/date-fns/differenceInCalendarMonths.js +0 -42
- package/dist/node_modules/date-fns/eachMonthOfInterval.js +0 -65
- package/dist/node_modules/date-fns/eachYearOfInterval.js +0 -65
- package/dist/node_modules/date-fns/endOfISOWeek.js +0 -35
- package/dist/node_modules/date-fns/endOfMonth.js +0 -37
- package/dist/node_modules/date-fns/endOfWeek.js +0 -53
- package/dist/node_modules/date-fns/endOfYear.js +0 -37
- package/dist/node_modules/date-fns/format.js +0 -423
- package/dist/node_modules/date-fns/getDayOfYear.js +0 -34
- package/dist/node_modules/date-fns/getDaysInMonth.js +0 -36
- package/dist/node_modules/date-fns/getDefaultOptions.js +0 -31
- package/dist/node_modules/date-fns/getISODay.js +0 -33
- package/dist/node_modules/date-fns/getISOWeek.js +0 -40
- package/dist/node_modules/date-fns/getISOWeekYear.js +0 -52
- package/dist/node_modules/date-fns/getMonth.js +0 -29
- package/dist/node_modules/date-fns/getWeek.js +0 -54
- package/dist/node_modules/date-fns/getWeekYear.js +0 -75
- package/dist/node_modules/date-fns/getYear.js +0 -29
- package/dist/node_modules/date-fns/isAfter.js +0 -25
- package/dist/node_modules/date-fns/isBefore.js +0 -25
- package/dist/node_modules/date-fns/isDate.js +0 -41
- package/dist/node_modules/date-fns/isSameDay.js +0 -46
- package/dist/node_modules/date-fns/isSameMonth.js +0 -43
- package/dist/node_modules/date-fns/isSameYear.js +0 -35
- package/dist/node_modules/date-fns/isValid.js +0 -39
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +0 -10
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +0 -64
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +0 -59
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +0 -22
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +0 -103
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -41
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +0 -13
- package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -189
- package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +0 -134
- package/dist/node_modules/date-fns/locale/en-US.js +0 -28
- package/dist/node_modules/date-fns/max.js +0 -49
- package/dist/node_modules/date-fns/min.js +0 -49
- package/dist/node_modules/date-fns/parse/_lib/Parser.js +0 -27
- package/dist/node_modules/date-fns/parse/_lib/Setter.js +0 -59
- package/dist/node_modules/date-fns/parse/_lib/constants.js +0 -33
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +0 -55
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js +0 -55
- package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js +0 -59
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js +0 -57
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js +0 -64
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js +0 -56
- package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js +0 -41
- package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js +0 -24
- package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +0 -21
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js +0 -36
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js +0 -31
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js +0 -32
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js +0 -38
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js +0 -118
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +0 -47
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +0 -47
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js +0 -48
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +0 -44
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js +0 -96
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js +0 -47
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +0 -76
- package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js +0 -31
- package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js +0 -86
- package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js +0 -83
- package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js +0 -31
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +0 -97
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +0 -86
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +0 -83
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +0 -19
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +0 -19
- package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js +0 -62
- package/dist/node_modules/date-fns/parse/_lib/parsers.js +0 -110
- package/dist/node_modules/date-fns/parse/_lib/utils.js +0 -135
- package/dist/node_modules/date-fns/parse.js +0 -497
- package/dist/node_modules/date-fns/setDay.js +0 -59
- package/dist/node_modules/date-fns/setISODay.js +0 -40
- package/dist/node_modules/date-fns/setISOWeek.js +0 -39
- package/dist/node_modules/date-fns/setMonth.js +0 -46
- package/dist/node_modules/date-fns/setWeek.js +0 -53
- package/dist/node_modules/date-fns/setYear.js +0 -40
- package/dist/node_modules/date-fns/startOfDay.js +0 -35
- package/dist/node_modules/date-fns/startOfISOWeek.js +0 -35
- package/dist/node_modules/date-fns/startOfISOWeekYear.js +0 -42
- package/dist/node_modules/date-fns/startOfMonth.js +0 -37
- package/dist/node_modules/date-fns/startOfWeek.js +0 -53
- package/dist/node_modules/date-fns/startOfWeekYear.js +0 -64
- package/dist/node_modules/date-fns/startOfYear.js +0 -36
- package/dist/node_modules/date-fns/toDate.js +0 -46
- package/dist/node_modules/date-fns/transpose.js +0 -52
- package/dist/node_modules/get-nonce/dist/es2015/index.js +0 -8
- package/dist/node_modules/react-day-picker/dist/esm/DayPicker.js +0 -320
- package/dist/node_modules/react-day-picker/dist/esm/UI.js +0 -122
- package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarDay.js +0 -33
- package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/classes/DateLib.js +0 -604
- package/dist/node_modules/react-day-picker/dist/esm/components/Button.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/CaptionLabel.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Chevron.js +0 -20
- package/dist/node_modules/react-day-picker/dist/esm/components/Day.js +0 -18
- package/dist/node_modules/react-day-picker/dist/esm/components/DayButton.js +0 -19
- package/dist/node_modules/react-day-picker/dist/esm/components/Dropdown.js +0 -21
- package/dist/node_modules/react-day-picker/dist/esm/components/DropdownNav.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Footer.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Month.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/components/MonthCaption.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/components/MonthGrid.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Months.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/components/Nav.js +0 -31
- package/dist/node_modules/react-day-picker/dist/esm/components/NextMonthButton.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/components/Option.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/components/Root.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/components/Select.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Week.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/components/WeekNumber.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Weekday.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/Weekdays.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/components/Weeks.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/components/YearsDropdown.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/components/custom-components.js +0 -26
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatCaption.js +0 -26
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatDay.js +0 -19
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js +0 -18
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js +0 -21
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js +0 -19
- package/dist/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js +0 -23
- package/dist/node_modules/react-day-picker/dist/esm/formatters/index.js +0 -7
- package/dist/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js +0 -73
- package/dist/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js +0 -95
- package/dist/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.js +0 -22
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js +0 -28
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js +0 -33
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getComponents.js +0 -20
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js +0 -27
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDates.js +0 -59
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDays.js +0 -19
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js +0 -33
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.js +0 -24
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.js +0 -46
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getFormatters.js +0 -24
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js +0 -27
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getLabels.js +0 -53
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js +0 -33
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getMonths.js +0 -69
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.js +0 -51
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.js +0 -40
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.js +0 -36
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.js +0 -37
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.js +0 -27
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.js +0 -26
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getWeeks.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.js +0 -36
- package/dist/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.js +0 -27
- package/dist/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.js +0 -31
- package/dist/node_modules/react-day-picker/dist/esm/labels/index.js +0 -11
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelDayButton.js +0 -32
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelGrid.js +0 -25
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelGridcell.js +0 -22
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelNav.js +0 -13
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelNext.js +0 -16
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelPrevious.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js +0 -15
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelWeekday.js +0 -18
- package/dist/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js +0 -14
- package/dist/node_modules/react-day-picker/dist/esm/locale/en-US.js +0 -67
- package/dist/node_modules/react-day-picker/dist/esm/selection/useMulti.js +0 -57
- package/dist/node_modules/react-day-picker/dist/esm/selection/useRange.js +0 -45
- package/dist/node_modules/react-day-picker/dist/esm/selection/useSingle.js +0 -44
- package/dist/node_modules/react-day-picker/dist/esm/useAnimation.js +0 -174
- package/dist/node_modules/react-day-picker/dist/esm/useCalendar.js +0 -113
- package/dist/node_modules/react-day-picker/dist/esm/useDayPicker.js +0 -25
- package/dist/node_modules/react-day-picker/dist/esm/useFocus.js +0 -56
- package/dist/node_modules/react-day-picker/dist/esm/useSelection.js +0 -31
- package/dist/node_modules/react-day-picker/dist/esm/utils/addToRange.js +0 -95
- package/dist/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.js +0 -57
- package/dist/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.js +0 -62
- package/dist/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.js +0 -30
- package/dist/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.js +0 -74
- package/dist/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js +0 -35
- package/dist/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.js +0 -21
- package/dist/node_modules/react-day-picker/dist/esm/utils/toTimeZone.js +0 -16
- package/dist/node_modules/react-day-picker/dist/esm/utils/typeguards.js +0 -66
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +0 -9
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +0 -167
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +0 -38
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -21
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +0 -110
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +0 -5
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +0 -7
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +0 -56
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +0 -10
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +0 -31
- package/dist/node_modules/react-style-singleton/dist/es2015/component.js +0 -19
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +0 -25
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +0 -51
- package/dist/node_modules/tslib/tslib.es6.js +0 -56
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +0 -24
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +0 -48
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +0 -42
- package/dist/node_modules/use-sidecar/dist/es2015/exports.js +0 -21
- package/dist/node_modules/use-sidecar/dist/es2015/medium.js +0 -77
package/README.md
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
<a href="https://www.npmjs.com/package/@coopdigital/react"><img src="https://img.shields.io/npm/v/%40coopdigital%2Freact?color=E85A00" alt="npm version" /></a>
|
|
10
10
|
<img alt="NPM Last Update" src="https://img.shields.io/npm/last-update/%40coopdigital%2Freact?label=published&color=6762F9">
|
|
11
11
|
<img alt="NPM Downloads" src="https://img.shields.io/npm/d18m/%40coopdigital%2Freact?color=819C00">
|
|
12
|
-
<a href="https://
|
|
12
|
+
<a href="https://experience.coop.co.uk/react/"><img src="https://img.shields.io/badge/storybook-react-F85792" alt="storybook" /></a>
|
|
13
13
|
|
|
14
14
|
> React components for the Experience Library design system.
|
|
15
15
|
|
|
16
|
-
You can see the full range of components and documentation on the [Experience Kit Storybook](https://
|
|
16
|
+
You can see the full range of components and documentation on the [Experience Kit Storybook](https://experience.coop.co.uk/react/)
|
|
17
17
|
|
|
18
18
|
## Getting started
|
|
19
19
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
-
import
|
|
5
|
+
import React, { useState, useCallback } from 'react';
|
|
6
6
|
import { hasUserBg } from '../../utils/index.js';
|
|
7
7
|
import { LoadingIcon } from '../icons/LoadingIcon.js';
|
|
8
8
|
|
|
@@ -33,7 +33,7 @@ const Button = ({ as, children, className, href, isDisabled = false, isFullWidth
|
|
|
33
33
|
...props,
|
|
34
34
|
};
|
|
35
35
|
const finalChildren = isPending || isLoading ? (jsxs(Fragment, { children: [loadingText, jsx(LoadingIcon, { stroke: "currentColor", strokeWidth: "1px" })] })) : (children);
|
|
36
|
-
return
|
|
36
|
+
return React.createElement(element, { ...componentProps, ref }, finalChildren);
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export { Button, Button as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import { useSlots } from '../../hooks/useSlots.js';
|
|
5
5
|
import { hasUserBg } from '../../utils/index.js';
|
|
6
6
|
import { ChevronRightIcon } from '../icons/ChevronRightIcon.js';
|
|
@@ -35,12 +35,12 @@ const Card = ({ chevron = false, children, className, href, hrefAs, imagePositio
|
|
|
35
35
|
...props,
|
|
36
36
|
};
|
|
37
37
|
if (href && slots.CardHeading) {
|
|
38
|
-
slots.CardHeading =
|
|
38
|
+
slots.CardHeading = React.createElement(linkElement, linkProps, slots.CardHeading);
|
|
39
39
|
}
|
|
40
|
-
return (jsxs("article", { ...componentProps, ref: ref, children: [slots.CardImage, slots.CardBadge,
|
|
40
|
+
return (jsxs("article", { ...componentProps, ref: ref, children: [slots.CardImage, slots.CardBadge, React.createElement(hasLinkWrapper ? linkElement : "div", hasLinkWrapper ? { href, ...innerProps } : innerProps, jsxs("div", { className: "coop-card--content", children: [slots.CardLabel, slots.CardHeading, slots.CardBody, slots.Children] }), chevron && (jsx("span", { "aria-hidden": "true", className: "coop-card--icon", role: "presentation", children: jsx(ChevronRightIcon, {}) })))] }));
|
|
41
41
|
};
|
|
42
42
|
const CardHeading = ({ as = "h3", children, className }) => {
|
|
43
|
-
return
|
|
43
|
+
return React.createElement(as, { className: clsx("coop-card--heading", className) }, children);
|
|
44
44
|
};
|
|
45
45
|
const CardLabel = ({ children, className }) => {
|
|
46
46
|
return jsx("span", { className: clsx("coop-card--label", className), children: children });
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import { useMemo, useReducer, useCallback } from 'react';
|
|
6
|
+
import { DayPicker } from 'react-day-picker';
|
|
6
7
|
import { useId } from '../../hooks/useId.js';
|
|
7
8
|
import { Button } from '../Button/Button.js';
|
|
8
9
|
import { CalendarIcon } from '../icons/CalendarIcon.js';
|
|
@@ -11,7 +12,6 @@ import { TickIcon } from '../icons/TickIcon.js';
|
|
|
11
12
|
import { Popover } from '../Popover/Popover.js';
|
|
12
13
|
import { TextInput } from '../TextInput/TextInput.js';
|
|
13
14
|
import { getInitialDate, getStartDate, getEndDate, getDefaultMonth, getDateValues, shouldClose, shouldSkipParsing } from './datepicker-utils.js';
|
|
14
|
-
import { DayPicker } from '../../node_modules/react-day-picker/dist/esm/DayPicker.js';
|
|
15
15
|
|
|
16
16
|
const now = new Date();
|
|
17
17
|
const componentConfig = {
|
|
@@ -92,6 +92,7 @@ const DatePicker = ({ className, closeOnSelect = true, dateFormat = "dd/MM/yyyy"
|
|
|
92
92
|
const resetState = useCallback(() => setState({ ...initialState, [mode]: undefined }), [mode]);
|
|
93
93
|
const componentProps = {
|
|
94
94
|
className: clsx("coop-datepicker", className),
|
|
95
|
+
"data-disabled": disabled !== null && disabled !== void 0 ? disabled : undefined,
|
|
95
96
|
"data-error": error || undefined,
|
|
96
97
|
"data-mode": mode,
|
|
97
98
|
...props,
|
|
@@ -119,7 +120,7 @@ const DatePicker = ({ className, closeOnSelect = true, dateFormat = "dd/MM/yyyy"
|
|
|
119
120
|
};
|
|
120
121
|
return (jsxs("div", { ...componentProps, children: [jsxs(Popover, { onOpenChange: setOpen, open: state.open, children: [jsx(Popover.Anchor, { className: "coop-datepicker-inner", children: jsx(TextInput, { autoComplete: "off", className: "coop-datepicker-input", disabled: disabled, id: uid + componentConfig.fieldSuffix,
|
|
121
122
|
//maxLength={dateFormat.length}
|
|
122
|
-
name: name + componentConfig.fieldSuffix, onChange: updateFromInput, placeholder: getPlaceholder(), ref: ref, required: required, size: size, suffix: jsx(Popover.Trigger, { "aria-label": "Choose date", className: "coop-datepicker-trigger", children: jsx(CalendarIcon, { width: 24 }) }), suffixInline: true, value: (_f = (_e = state === null || state === void 0 ? void 0 : state[mode]) === null || _e === void 0 ? void 0 : _e.input) !== null && _f !== void 0 ? _f : "" }) }), jsxs(Popover.Content, { "aria-label": "Date picker", className: "coop-datepicker-calendar bg-white", collisionPadding: 16, sideOffset: 4, children: [jsx(Calendar
|
|
123
|
+
name: name + componentConfig.fieldSuffix, onChange: updateFromInput, placeholder: getPlaceholder(), ref: ref, required: required, size: size, suffix: disabled ? (jsx("span", { className: "coop-datepicker-trigger", children: jsx(CalendarIcon, { width: 24 }) })) : (jsx(Popover.Trigger, { "aria-label": "Choose date", className: "coop-datepicker-trigger", children: jsx(CalendarIcon, { width: 24 }) })), suffixInline: true, value: (_f = (_e = state === null || state === void 0 ? void 0 : state[mode]) === null || _e === void 0 ? void 0 : _e.input) !== null && _f !== void 0 ? _f : "" }) }), jsxs(Popover.Content, { "aria-label": "Date picker", className: "coop-datepicker-calendar bg-white", collisionPadding: 16, sideOffset: 4, children: [jsx(Calendar
|
|
123
124
|
// jsx-ally throws here because we set autoFocus, but this
|
|
124
125
|
// is not a standard element. Daypicker uses this value to
|
|
125
126
|
// focus the day rather than the nav when it renders.
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { isValid } from '
|
|
2
|
-
import { parse } from '../../node_modules/date-fns/parse.js';
|
|
3
|
-
import { addYears } from '../../node_modules/date-fns/addYears.js';
|
|
4
|
-
import { format } from '../../node_modules/date-fns/format.js';
|
|
5
|
-
import { isBefore } from '../../node_modules/date-fns/isBefore.js';
|
|
1
|
+
import { addYears, isValid, parse, format, isBefore } from 'date-fns';
|
|
6
2
|
|
|
7
3
|
function isValidDate(date) {
|
|
8
4
|
return !!date && typeof date !== "string" && typeof date !== "number" && isValid(date);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HTMLAttributes,
|
|
1
|
+
import type { HTMLAttributes, Ref } from "react";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { type ErrorProps } from "../FieldMarkers/Error";
|
|
4
4
|
import { type HintProps } from "../FieldMarkers/Hint";
|
|
@@ -19,27 +19,10 @@ interface FieldProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
19
19
|
/** **(Optional)** Specify a custom React ref for this component. */
|
|
20
20
|
ref?: Ref<HTMLDivElement>;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
className?: string;
|
|
27
|
-
}
|
|
28
|
-
export declare const FieldControl: {
|
|
29
|
-
({ children, className, ...props }: ControlProps): JSX.Element;
|
|
30
|
-
config: {
|
|
31
|
-
name: string;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
export declare const Field: (({ boxed, children, className, error, hideErrorBar, ref, ...props }: FieldProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
35
|
-
Control: {
|
|
36
|
-
({ children, className, ...props }: ControlProps): JSX.Element;
|
|
37
|
-
config: {
|
|
38
|
-
name: string;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
Error: {
|
|
42
|
-
(props: ErrorProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare const Field: {
|
|
23
|
+
({ boxed, children, className, error, hideErrorBar, ref, ...props }: FieldProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
Label: {
|
|
25
|
+
(props: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
43
26
|
config: {
|
|
44
27
|
name: string;
|
|
45
28
|
};
|
|
@@ -50,8 +33,8 @@ export declare const Field: (({ boxed, children, className, error, hideErrorBar,
|
|
|
50
33
|
name: string;
|
|
51
34
|
};
|
|
52
35
|
};
|
|
53
|
-
|
|
54
|
-
(props:
|
|
36
|
+
Error: {
|
|
37
|
+
(props: ErrorProps): import("react/jsx-runtime").JSX.Element;
|
|
55
38
|
config: {
|
|
56
39
|
name: string;
|
|
57
40
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import { useId } from '../../hooks/useId.js';
|
|
5
5
|
import { useSlots } from '../../hooks/useSlots.js';
|
|
6
6
|
import { Error } from '../FieldMarkers/Error.js';
|
|
@@ -14,7 +14,7 @@ const componentSlots = {
|
|
|
14
14
|
FieldHint: null,
|
|
15
15
|
FieldLabel: null,
|
|
16
16
|
};
|
|
17
|
-
const
|
|
17
|
+
const Field = ({ boxed = false, children, className, error = false, hideErrorBar = false, ref, ...props }) => {
|
|
18
18
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
19
19
|
const slots = { ...useSlots(componentSlots, children) };
|
|
20
20
|
const hasMarkers = !!((_b = (_a = slots.FieldLabel) !== null && _a !== void 0 ? _a : slots.FieldError) !== null && _b !== void 0 ? _b : slots.FieldHint);
|
|
@@ -33,7 +33,7 @@ const Root = ({ boxed = false, children, className, error = false, hideErrorBar
|
|
|
33
33
|
return true;
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
if (
|
|
36
|
+
if (React.isValidElement(control)) {
|
|
37
37
|
const controlProps = control.props;
|
|
38
38
|
controlId = (_c = controlProps.id) !== null && _c !== void 0 ? _c : controlId;
|
|
39
39
|
controlDisabled = (_d = controlProps.disabled) !== null && _d !== void 0 ? _d : false;
|
|
@@ -41,10 +41,10 @@ const Root = ({ boxed = false, children, className, error = false, hideErrorBar
|
|
|
41
41
|
isInline = (_k = (_j = (_h = control === null || control === void 0 ? void 0 : control.type) === null || _h === void 0 ? void 0 : _h.config) === null || _j === void 0 ? void 0 : _j.isInline) !== null && _k !== void 0 ? _k : false;
|
|
42
42
|
slots.Control = controlProps.id
|
|
43
43
|
? control
|
|
44
|
-
:
|
|
44
|
+
: React.cloneElement(control, { id: controlId });
|
|
45
45
|
}
|
|
46
|
-
if (
|
|
47
|
-
slots.FieldLabel =
|
|
46
|
+
if (React.isValidElement(slots.FieldLabel) && !slots.FieldLabel.props.htmlFor) {
|
|
47
|
+
slots.FieldLabel = React.cloneElement(slots.FieldLabel, {
|
|
48
48
|
htmlFor: controlId + controlSuffix,
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -58,21 +58,14 @@ const Root = ({ boxed = false, children, className, error = false, hideErrorBar
|
|
|
58
58
|
};
|
|
59
59
|
return (jsxs("div", { ...componentProps, ref: ref, children: [!isInline && hasMarkers && (jsxs("div", { className: "coop-field-markers", children: [slots.FieldLabel, slots.FieldHint, slots.FieldError] })), slots.Control && (jsxs("div", { className: "coop-field-control", children: [slots.Control, isInline && hasMarkers && (jsxs("div", { className: "coop-field-markers", children: [slots.FieldLabel, slots.FieldHint, slots.FieldError] }))] })), slots.Children] }));
|
|
60
60
|
};
|
|
61
|
-
const FieldControl = ({ children, className, ...props }) => {
|
|
62
|
-
return (jsx("div", { className: clsx("coop-field-control ", className), ...props, children: children }));
|
|
63
|
-
};
|
|
64
61
|
const FieldLabel = (props) => jsx(Label, { ...props });
|
|
65
62
|
const FieldHint = (props) => jsx(Hint, { ...props });
|
|
66
63
|
const FieldError = (props) => jsx(Error, { ...props });
|
|
67
|
-
FieldControl.config = { name: "FieldControl" };
|
|
68
64
|
FieldLabel.config = { name: "FieldLabel" };
|
|
69
65
|
FieldHint.config = { name: "FieldHint" };
|
|
70
66
|
FieldError.config = { name: "FieldError" };
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Hint: FieldHint,
|
|
75
|
-
Label: FieldLabel,
|
|
76
|
-
});
|
|
67
|
+
Field.Label = FieldLabel;
|
|
68
|
+
Field.Hint = FieldHint;
|
|
69
|
+
Field.Error = FieldError;
|
|
77
70
|
|
|
78
|
-
export { Field,
|
|
71
|
+
export { Field, Field as default };
|
|
@@ -21,23 +21,8 @@ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElemen
|
|
|
21
21
|
/** **(Optional)** Specify the size of the Fieldset and all its descendents. */
|
|
22
22
|
size?: StandardSizes;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
boxed?: boolean;
|
|
27
|
-
/** **(Optional)** Form elements inside the Fieldset.Fields container. */
|
|
28
|
-
children?: string | React.ReactNode;
|
|
29
|
-
/** **(Optional)** Specify additional CSS classes to be applied to the component. */
|
|
30
|
-
className?: string;
|
|
31
|
-
/** **(Optional)** Specify the CheckboxGroup orientation. */
|
|
32
|
-
orientation?: "horizontal" | "vertical";
|
|
33
|
-
}
|
|
34
|
-
export declare const FieldsetFields: {
|
|
35
|
-
({ boxed, children, className, orientation, ...props }: FieldsetFieldsProps): JSX.Element;
|
|
36
|
-
config: {
|
|
37
|
-
name: string;
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
export declare const Fieldset: (({ children, className, disabled, error, hideErrorBar, ref, size, ...props }: FieldsetProps) => JSX.Element) & {
|
|
24
|
+
export declare const Fieldset: {
|
|
25
|
+
({ children, className, disabled, error, hideErrorBar, ref, size, ...props }: FieldsetProps): JSX.Element;
|
|
41
26
|
Error: {
|
|
42
27
|
(props: ErrorProps): import("react/jsx-runtime").JSX.Element;
|
|
43
28
|
config: {
|
|
@@ -63,4 +48,14 @@ export declare const Fieldset: (({ children, className, disabled, error, hideErr
|
|
|
63
48
|
};
|
|
64
49
|
};
|
|
65
50
|
};
|
|
51
|
+
interface FieldsetFieldsProps {
|
|
52
|
+
/** **(Optional)** Specify whether all descendent Fields should render inside a box. */
|
|
53
|
+
boxed?: boolean;
|
|
54
|
+
/** **(Optional)** Form elements inside the Fieldset.Fields container. */
|
|
55
|
+
children?: string | React.ReactNode;
|
|
56
|
+
/** **(Optional)** Specify additional CSS classes to be applied to the component. */
|
|
57
|
+
className?: string;
|
|
58
|
+
/** **(Optional)** Specify the CheckboxGroup orientation. */
|
|
59
|
+
orientation?: "horizontal" | "vertical";
|
|
60
|
+
}
|
|
66
61
|
export default Fieldset;
|
|
@@ -4,7 +4,7 @@ import { Error } from '../FieldMarkers/Error.js';
|
|
|
4
4
|
import { Hint } from '../FieldMarkers/Hint.js';
|
|
5
5
|
import { Legend } from '../FieldMarkers/Legend.js';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const Fieldset = ({ children, className, disabled, error = false, hideErrorBar = false, ref, size = "md", ...props }) => {
|
|
8
8
|
const componentProps = {
|
|
9
9
|
"aria-disabled": disabled,
|
|
10
10
|
className: clsx("coop-fieldset", className),
|
|
@@ -32,11 +32,9 @@ FieldsetFields.config = { name: "FieldsetField" };
|
|
|
32
32
|
FieldsetLegend.config = { name: "FieldsetLegend" };
|
|
33
33
|
FieldsetHint.config = { name: "FieldsetHint" };
|
|
34
34
|
FieldsetError.config = { name: "FieldsetError" };
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
Legend: FieldsetLegend,
|
|
40
|
-
});
|
|
35
|
+
Fieldset.Error = FieldsetError;
|
|
36
|
+
Fieldset.Fields = FieldsetFields;
|
|
37
|
+
Fieldset.Hint = FieldsetHint;
|
|
38
|
+
Fieldset.Legend = FieldsetLegend;
|
|
41
39
|
|
|
42
|
-
export { Fieldset,
|
|
40
|
+
export { Fieldset, Fieldset as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import { useSlots } from '../../hooks/useSlots.js';
|
|
5
5
|
import { hasUserBg } from '../../utils/index.js';
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ const Pill = ({ as, children, className, href, ref, size = "md", ...props }) =>
|
|
|
19
19
|
};
|
|
20
20
|
// https://github.com/facebook/react/issues/34775
|
|
21
21
|
// eslint-disable-next-line react-hooks/refs
|
|
22
|
-
return
|
|
22
|
+
return React.createElement(element, { ...componentProps, ref }, slots.PillBadge, slots.Children);
|
|
23
23
|
};
|
|
24
24
|
const PillBadge = ({ children, className }) => {
|
|
25
25
|
return (jsx("span", { className: clsx("coop-pill--badge", !hasUserBg(className) && "bg-red", className), children: children }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import * as RadixPopover from '@radix-ui/react-popover';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import { useSlots } from '../../hooks/useSlots.js';
|
|
5
5
|
import { hasUserBg, bgClassToColor } from '../../utils/index.js';
|
|
@@ -12,7 +12,7 @@ const componentSlots = {
|
|
|
12
12
|
const Popover = ({ children, ...props }) => {
|
|
13
13
|
var _a;
|
|
14
14
|
const slots = useSlots(componentSlots, children);
|
|
15
|
-
return (jsxs(
|
|
15
|
+
return (jsxs(RadixPopover.Root, { ...props, children: [(_a = slots.PopoverAnchor) !== null && _a !== void 0 ? _a : slots.PopoverTrigger, jsx(RadixPopover.Portal, { children: slots.PopoverContent })] }));
|
|
16
16
|
};
|
|
17
17
|
const PopoverContent = ({ align = "center", alignOffset = 0, asChild = false, avoidCollisions = true, children, className, collisionPadding = 16, ref, side = "bottom", sideOffset = 4, style, ...props }) => {
|
|
18
18
|
const componentProps = {
|
|
@@ -31,7 +31,7 @@ const PopoverContent = ({ align = "center", alignOffset = 0, asChild = false, av
|
|
|
31
31
|
...style,
|
|
32
32
|
"--popover-bg": `var(--color-${bgClassToColor(componentProps.className)})`,
|
|
33
33
|
};
|
|
34
|
-
return (jsxs(
|
|
34
|
+
return (jsxs(RadixPopover.Content, { ref: ref, ...componentProps, children: [children, jsx(RadixPopover.Arrow, { className: "coop-popover-arrow" })] }));
|
|
35
35
|
};
|
|
36
36
|
const PopoverTrigger = ({ asChild = false, children, className, ...props }) => {
|
|
37
37
|
const componentProps = {
|
|
@@ -46,7 +46,7 @@ const PopoverTrigger = ({ asChild = false, children, className, ...props }) => {
|
|
|
46
46
|
className: clsx("coop-popover-trigger", className),
|
|
47
47
|
...props,
|
|
48
48
|
};
|
|
49
|
-
return jsx(Trigger, { ...componentProps, children: children });
|
|
49
|
+
return jsx(RadixPopover.Trigger, { ...componentProps, children: children });
|
|
50
50
|
};
|
|
51
51
|
const PopoverClose = ({ asChild = false, children, className, ...props }) => {
|
|
52
52
|
const componentProps = {
|
|
@@ -54,14 +54,14 @@ const PopoverClose = ({ asChild = false, children, className, ...props }) => {
|
|
|
54
54
|
className: clsx("coop-popover-close", className),
|
|
55
55
|
...props,
|
|
56
56
|
};
|
|
57
|
-
return (jsx(Close, { "aria-label": "Close", ...componentProps, children: children }));
|
|
57
|
+
return (jsx(RadixPopover.Close, { "aria-label": "Close", ...componentProps, children: children }));
|
|
58
58
|
};
|
|
59
59
|
const PopoverAnchor = ({ asChild = false, children, ...props }) => {
|
|
60
60
|
const componentProps = {
|
|
61
61
|
asChild,
|
|
62
62
|
...props,
|
|
63
63
|
};
|
|
64
|
-
return jsx(
|
|
64
|
+
return jsx(RadixPopover.Anchor, { ...componentProps, children: children });
|
|
65
65
|
};
|
|
66
66
|
PopoverTrigger.config = { name: "PopoverTrigger" };
|
|
67
67
|
PopoverContent.config = { name: "PopoverContent" };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
-
import
|
|
5
|
+
import React, { useState, useCallback } from 'react';
|
|
6
6
|
import { useId } from '../../hooks/useId.js';
|
|
7
7
|
import { useSlots } from '../../hooks/useSlots.js';
|
|
8
8
|
import { hasUserBorder } from '../../utils/index.js';
|
|
@@ -15,7 +15,7 @@ const componentSlots = {
|
|
|
15
15
|
SearchboxButton: null,
|
|
16
16
|
SearchboxInput: null,
|
|
17
17
|
};
|
|
18
|
-
const defaultButtonText =
|
|
18
|
+
const defaultButtonText = React.createElement(SearchIcon, {
|
|
19
19
|
alt: "Search",
|
|
20
20
|
stroke: "currentColor",
|
|
21
21
|
width: 24,
|
|
@@ -49,11 +49,11 @@ const Searchbox = ({ action, children, className, id, label, labelVisible = fals
|
|
|
49
49
|
onSubmit: onSubmit ? handleSubmit : undefined,
|
|
50
50
|
...props,
|
|
51
51
|
};
|
|
52
|
-
slots.SearchboxButton =
|
|
52
|
+
slots.SearchboxButton = React.cloneElement(slots.SearchboxButton, {
|
|
53
53
|
isLoading: isPending,
|
|
54
54
|
size,
|
|
55
55
|
});
|
|
56
|
-
slots.SearchboxInput =
|
|
56
|
+
slots.SearchboxInput = React.cloneElement(slots.SearchboxInput, {
|
|
57
57
|
autoCapitalize: "off",
|
|
58
58
|
id: uid,
|
|
59
59
|
size,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import
|
|
3
|
+
import React from 'react';
|
|
4
4
|
import { ChevronRightIcon } from '../icons/ChevronRightIcon.js';
|
|
5
5
|
import { Image } from '../Image/Image.js';
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ const Signpost = ({ as, children, className, headingLevel = "h3", href, image, r
|
|
|
10
10
|
className: clsx("coop-signpost", className),
|
|
11
11
|
...props,
|
|
12
12
|
};
|
|
13
|
-
return (jsxs("div", { ...componentProps, ref: ref, children: [image && jsx(Image, { crop: "wide", ...image }),
|
|
13
|
+
return (jsxs("div", { ...componentProps, ref: ref, children: [image && jsx(Image, { crop: "wide", ...image }), React.createElement(element, { href }, jsxs("div", { className: "coop-signpost--content", children: [React.createElement(headingLevel, { className: "coop-signpost--heading" }, children), jsx("span", { "aria-hidden": "true", className: "coop-signpost--icon", role: "presentation", children: jsx(ChevronRightIcon, {}) })] }))] }));
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
export { Signpost, Signpost as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import clsx from 'clsx';
|
|
2
|
-
import
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import { hasUserBg } from '../../utils/index.js';
|
|
4
4
|
|
|
5
5
|
const Tag = ({ as, children, className, href, ref, size = "md", ...props }) => {
|
|
@@ -10,7 +10,7 @@ const Tag = ({ as, children, className, href, ref, size = "md", ...props }) => {
|
|
|
10
10
|
href,
|
|
11
11
|
...props,
|
|
12
12
|
};
|
|
13
|
-
return
|
|
13
|
+
return React.createElement(element, { ...componentProps, ref }, children);
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
export { Tag, Tag as default };
|
package/dist/hooks/useSlots.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
3
|
function isKey(x, k) {
|
|
4
4
|
return k in x;
|
|
5
5
|
}
|
|
6
6
|
function getSlotName(node) {
|
|
7
7
|
var _a, _b, _c;
|
|
8
|
-
if (
|
|
8
|
+
if (React.isValidElement(node) &&
|
|
9
9
|
node.type &&
|
|
10
10
|
typeof node.type !== "string" &&
|
|
11
11
|
typeof node.type !== "symbol") {
|
|
@@ -14,7 +14,7 @@ function getSlotName(node) {
|
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
16
|
function useSlots(componentSlots, children, options) {
|
|
17
|
-
return
|
|
17
|
+
return React.Children.toArray(children).reduce((slots, child) => {
|
|
18
18
|
var _a;
|
|
19
19
|
const slotName = getSlotName(child);
|
|
20
20
|
if (child && slotName && isKey(componentSlots, slotName)) {
|
package/dist/index.js
CHANGED
|
@@ -5,8 +5,8 @@ export { Card } from './components/Card/Card.js';
|
|
|
5
5
|
export { Checkbox } from './components/Checkbox/Checkbox.js';
|
|
6
6
|
export { DatePicker } from './components/DatePicker/DatePicker.js';
|
|
7
7
|
export { Expandable } from './components/Expandable/Expandable.js';
|
|
8
|
-
export { Field
|
|
9
|
-
export { Fieldset
|
|
8
|
+
export { Field } from './components/Field/Field.js';
|
|
9
|
+
export { Fieldset } from './components/Fieldset/Fieldset.js';
|
|
10
10
|
export { Flourish } from './components/Flourish/Flourish.js';
|
|
11
11
|
export { Form } from './components/Form/Form.js';
|
|
12
12
|
export { Image } from './components/Image/Image.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coopdigital/react",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.57.0",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -59,20 +59,20 @@
|
|
|
59
59
|
"description": "React components for the Experience Library design system",
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@axe-core/playwright": "^4.11.1",
|
|
62
|
-
"@playwright/test": "^1.58.
|
|
63
|
-
"@storybook/addon-a11y": "^10.2.
|
|
64
|
-
"@storybook/addon-docs": "^10.2.
|
|
65
|
-
"@storybook/addon-onboarding": "^10.2.
|
|
66
|
-
"@storybook/react-vite": "^10.2.
|
|
62
|
+
"@playwright/test": "^1.58.2",
|
|
63
|
+
"@storybook/addon-a11y": "^10.2.17",
|
|
64
|
+
"@storybook/addon-docs": "^10.2.17",
|
|
65
|
+
"@storybook/addon-onboarding": "^10.2.17",
|
|
66
|
+
"@storybook/react-vite": "^10.2.17",
|
|
67
67
|
"@testing-library/jest-dom": "^6.9.1",
|
|
68
68
|
"@testing-library/react": "^16.3.2",
|
|
69
|
-
"@types/react": "^19.2.
|
|
69
|
+
"@types/react": "^19.2.14",
|
|
70
70
|
"@types/react-dom": "^19.2.3",
|
|
71
71
|
"react": "^19.2.4",
|
|
72
72
|
"react-dom": "^19.2.4",
|
|
73
73
|
"resize-observer-polyfill": "^1.5.1",
|
|
74
|
-
"serve": "^14.2.
|
|
75
|
-
"storybook": "^10.2.
|
|
74
|
+
"serve": "^14.2.6",
|
|
75
|
+
"storybook": "^10.2.17",
|
|
76
76
|
"storybook-addon-tag-badges": "^3.0.6"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"storybook": "$storybook"
|
|
84
84
|
},
|
|
85
85
|
"dependencies": {
|
|
86
|
-
"@coopdigital/styles": "^0.
|
|
86
|
+
"@coopdigital/styles": "^0.47.0",
|
|
87
87
|
"@radix-ui/react-popover": "^1.1.15",
|
|
88
88
|
"clsx": "^2.1.1",
|
|
89
89
|
"react-day-picker": "^9.12.0"
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "317b2f6af79b7aa2362a87303b887160e08f95d4"
|
|
92
92
|
}
|
|
@@ -250,6 +250,7 @@ export const DatePicker = ({
|
|
|
250
250
|
|
|
251
251
|
const componentProps = {
|
|
252
252
|
className: clsx("coop-datepicker", className),
|
|
253
|
+
"data-disabled": disabled ?? undefined,
|
|
253
254
|
"data-error": error || undefined,
|
|
254
255
|
"data-mode": mode,
|
|
255
256
|
...props,
|
|
@@ -300,9 +301,15 @@ export const DatePicker = ({
|
|
|
300
301
|
required={required}
|
|
301
302
|
size={size}
|
|
302
303
|
suffix={
|
|
303
|
-
|
|
304
|
-
<
|
|
305
|
-
|
|
304
|
+
disabled ? (
|
|
305
|
+
<span className="coop-datepicker-trigger">
|
|
306
|
+
<CalendarIcon width={24} />
|
|
307
|
+
</span>
|
|
308
|
+
) : (
|
|
309
|
+
<Popover.Trigger aria-label="Choose date" className="coop-datepicker-trigger">
|
|
310
|
+
<CalendarIcon width={24} />
|
|
311
|
+
</Popover.Trigger>
|
|
312
|
+
)
|
|
306
313
|
}
|
|
307
314
|
suffixInline={true}
|
|
308
315
|
value={state?.[mode]?.input ?? ""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HTMLAttributes, HTMLProps,
|
|
1
|
+
import type { HTMLAttributes, HTMLProps, Ref } from "react"
|
|
2
2
|
|
|
3
3
|
import clsx from "clsx"
|
|
4
4
|
import React from "react"
|
|
@@ -35,7 +35,7 @@ interface FieldProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
35
35
|
ref?: Ref<HTMLDivElement>
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
const
|
|
38
|
+
export const Field = ({
|
|
39
39
|
boxed = false,
|
|
40
40
|
children,
|
|
41
41
|
className,
|
|
@@ -116,40 +116,16 @@ const Root = ({
|
|
|
116
116
|
</div>
|
|
117
117
|
)
|
|
118
118
|
}
|
|
119
|
-
|
|
120
|
-
interface ControlProps extends HTMLAttributes<HTMLDivElement> {
|
|
121
|
-
/** **(Optional)** Elements inside the form control. */
|
|
122
|
-
children?: string | React.ReactNode
|
|
123
|
-
/** **(Optional)** Specify additional CSS classes to be applied to the component. */
|
|
124
|
-
className?: string
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export const FieldControl = ({ children, className, ...props }: ControlProps): JSX.Element => {
|
|
128
|
-
return (
|
|
129
|
-
<div className={clsx("coop-field-control ", className)} {...props}>
|
|
130
|
-
{children}
|
|
131
|
-
</div>
|
|
132
|
-
)
|
|
133
|
-
}
|
|
134
|
-
|
|
135
119
|
const FieldLabel = (props: LabelProps) => <BaseLabel {...props} />
|
|
136
120
|
const FieldHint = (props: HintProps) => <BaseHint {...props} />
|
|
137
121
|
const FieldError = (props: ErrorProps) => <BaseError {...props} />
|
|
138
122
|
|
|
139
|
-
FieldControl.config = { name: "FieldControl" }
|
|
140
123
|
FieldLabel.config = { name: "FieldLabel" }
|
|
141
124
|
FieldHint.config = { name: "FieldHint" }
|
|
142
125
|
FieldError.config = { name: "FieldError" }
|
|
143
126
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
Hint: FieldHint,
|
|
148
|
-
Label: FieldLabel,
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
// Field.Label = FieldLabel
|
|
152
|
-
// Field.Hint = FieldHint
|
|
153
|
-
// Field.Error = FieldError
|
|
127
|
+
Field.Label = FieldLabel
|
|
128
|
+
Field.Hint = FieldHint
|
|
129
|
+
Field.Error = FieldError
|
|
154
130
|
|
|
155
131
|
export default Field
|