From 6ac1db4249400fb1c35e482708523316f80b8e33 Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Thu, 13 Feb 2025 17:17:06 +0100 Subject: [PATCH 01/11] Reimplementation of the Dropdown component with new CSS variables (1/2) --- packages/lib/src/date-input/Calendar.tsx | 190 ++++++++++----------- packages/lib/src/date-input/DateInput.tsx | 125 +++++++------- packages/lib/src/date-input/DatePicker.tsx | 141 ++++++++------- packages/lib/src/date-input/YearPicker.tsx | 113 ++++++------ 4 files changed, 282 insertions(+), 287 deletions(-) diff --git a/packages/lib/src/date-input/Calendar.tsx b/packages/lib/src/date-input/Calendar.tsx index ae2aacdc2d..d5566978f7 100644 --- a/packages/lib/src/date-input/Calendar.tsx +++ b/packages/lib/src/date-input/Calendar.tsx @@ -4,6 +4,101 @@ import styled from "styled-components"; import { CalendarPropsType, DateType } from "./types"; import { HalstackLanguageContext } from "../HalstackContext"; +const CalendarContainer = styled.div` + box-sizing: border-box; + display: flex; + flex-direction: column; + justify-content: center; + padding: 0px 8px 8px 8px; + width: 292px; + font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; + font-size: ${(props) => props.theme.dateInput.pickerFontSize}; + color: ${(props) => props.theme.dateInput.pickerFontColor}; + font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; +`; + +const CalendarHeaderRow = styled.div` + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + align-items: center; +`; + +const WeekHeaderCell = styled.span` + display: flex; + align-items: center; + justify-content: center; + width: 36px; + height: 36px; +`; + +const MonthContainer = styled.div` + box-sizing: border-box; + display: flex; + gap: 4px; + flex-direction: column; + justify-content: space-between; +`; + +const WeekContainer = styled.div` + box-sizing: border-box; + display: flex; + gap: 4px; + justify-content: space-between; +`; + +const DayCellButton = styled.button<{ + selected: boolean; + actualMonth: boolean; + isCurrentDay: boolean; +}>` + display: inline-flex; + justify-content: center; + align-items: center; + width: 36px; + height: 36px; + padding: 0; + border: none; + border-radius: 50%; + cursor: pointer; + font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; + font-size: ${(props) => props.theme.dateInput.pickerFontSize}; + color: ${(props) => props.theme.dateInput.pickerFontColor}; + font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; + + &:focus { + outline: ${(props) => props.theme.dateInput.pickerFocusColor} solid 2px; + } + &:hover { + background-color: ${(props) => + props.selected + ? props.theme.dateInput.pickerSelectedBackgroundColor + : props.theme.dateInput.pickerHoverBackgroundColor}; + color: ${(props) => + props.selected ? props.theme.dateInput.pickerSelectedFontColor : props.theme.dateInput.pickerHoverFontColor}; + } + &:active { + background-color: ${(props) => props.theme.dateInput.pickerActiveBackgroundColor}; + color: ${(props) => props.theme.dateInput.pickerActiveFontColor}; + } + + ${(props) => + props.isCurrentDay && + !props.selected && + `border: ${props.theme.dateInput.pickerCurrentDateBorderWidth} solid ${props.theme.dateInput.pickerCurrentDateBorderColor};`} + background-color: ${(props) => + props.selected ? props.theme.dateInput.pickerSelectedBackgroundColor : "transparent"}; + color: ${(props) => + props.selected + ? props.theme.dateInput.pickerSelectedFontColor + : props.isCurrentDay + ? props.theme.dateInput.pickerCurrentDateFontColor + : !props.actualMonth + ? props.theme.dateInput.pickerNonCurrentMonthFontColor + : props.theme.dateInput.pickerFontColor}; +`; + const getDays = (innerDate: Dayjs) => { const monthDayCells: DateType[] = []; const lastMonthNumberOfDays = innerDate.set("month", innerDate.get("month") - 1).endOf("month"); @@ -207,99 +302,4 @@ const Calendar = ({ ); }; -const CalendarContainer = styled.div` - box-sizing: border-box; - display: flex; - flex-direction: column; - justify-content: center; - padding: 0px 8px 8px 8px; - width: 292px; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerFontSize}; - color: ${(props) => props.theme.dateInput.pickerFontColor}; - font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; -`; - -const CalendarHeaderRow = styled.div` - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: space-between; - align-items: center; -`; - -const WeekHeaderCell = styled.span` - display: flex; - align-items: center; - justify-content: center; - width: 36px; - height: 36px; -`; - -const MonthContainer = styled.div` - box-sizing: border-box; - display: flex; - gap: 4px; - flex-direction: column; - justify-content: space-between; -`; - -const WeekContainer = styled.div` - box-sizing: border-box; - display: flex; - gap: 4px; - justify-content: space-between; -`; - -const DayCellButton = styled.button<{ - selected: boolean; - actualMonth: boolean; - isCurrentDay: boolean; -}>` - display: inline-flex; - justify-content: center; - align-items: center; - width: 36px; - height: 36px; - padding: 0; - border: none; - border-radius: 50%; - cursor: pointer; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerFontSize}; - color: ${(props) => props.theme.dateInput.pickerFontColor}; - font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; - - &:focus { - outline: ${(props) => props.theme.dateInput.pickerFocusColor} solid 2px; - } - &:hover { - background-color: ${(props) => - props.selected - ? props.theme.dateInput.pickerSelectedBackgroundColor - : props.theme.dateInput.pickerHoverBackgroundColor}; - color: ${(props) => - props.selected ? props.theme.dateInput.pickerSelectedFontColor : props.theme.dateInput.pickerHoverFontColor}; - } - &:active { - background-color: ${(props) => props.theme.dateInput.pickerActiveBackgroundColor}; - color: ${(props) => props.theme.dateInput.pickerActiveFontColor}; - } - - ${(props) => - props.isCurrentDay && - !props.selected && - `border: ${props.theme.dateInput.pickerCurrentDateBorderWidth} solid ${props.theme.dateInput.pickerCurrentDateBorderColor};`} - background-color: ${(props) => - props.selected ? props.theme.dateInput.pickerSelectedBackgroundColor : "transparent"}; - color: ${(props) => - props.selected - ? props.theme.dateInput.pickerSelectedFontColor - : props.isCurrentDay - ? props.theme.dateInput.pickerCurrentDateFontColor - : !props.actualMonth - ? props.theme.dateInput.pickerNonCurrentMonthFontColor - : props.theme.dateInput.pickerFontColor}; -`; - export default memo(Calendar); diff --git a/packages/lib/src/date-input/DateInput.tsx b/packages/lib/src/date-input/DateInput.tsx index 49e00a94bc..ba8aa43525 100644 --- a/packages/lib/src/date-input/DateInput.tsx +++ b/packages/lib/src/date-input/DateInput.tsx @@ -26,6 +26,67 @@ dayjs.extend(customParseFormat); const SIDEOFFSET = 4; +const sizes = { + small: "240px", + medium: "360px", + large: "480px", + fillParent: "100%", +}; + +const calculateWidth = (margin: DateInputPropsType["margin"], size: DateInputPropsType["size"]) => + size === "fillParent" + ? `calc(${sizes[size]} - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})` + : size && sizes[size]; + +const DateInputContainer = styled.div<{ margin: DateInputPropsType["margin"]; size: DateInputPropsType["size"] }>` + ${(props) => props.size === "fillParent" && "width: 100%;"} + display: flex; + flex-direction: column; + width: ${(props) => calculateWidth(props.margin, props.size)}; + ${(props) => props.size !== "fillParent" && `min-width:${calculateWidth(props.margin, props.size)}`}; + margin: ${(props) => (props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px")}; + margin-top: ${(props) => + props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""}; + margin-right: ${(props) => + props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""}; + margin-bottom: ${(props) => + props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""}; + margin-left: ${(props) => + props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""}; + font-family: var(--typography-font-family); +`; + +const Label = styled.label<{ + disabled: DateInputPropsType["disabled"]; + hasHelperText: boolean; +}>` + color: ${(props) => (props.disabled ? "var(--color-fg-neutral-medium);" : "var(--color-fg-neutral-dark);")}; + font-size: var(--typography-label-m); + font-weight: var(--typography-label-semibold); + ${(props) => !props.hasHelperText && "margin-bottom: var(--spacing-gap-xs);"} +`; + +const OptionalLabel = styled.span<{ + disabled: DateInputPropsType["disabled"]; +}>` + color: ${(props) => (props.disabled ? "var(--color-fg-neutral-medium);" : "var(--color-fg-neutral-stronger);")}; + font-weight: var(--typography-label-regular); +`; + +const HelperText = styled.span<{ disabled: DateInputPropsType["disabled"] }>` + color: ${(props) => (props.disabled ? "var(--color-fg-neutral-medium);" : "var(--color-fg-neutral-stronger);")}; + font-size: var(--typography-helper-text-s); + font-weight: var(--typography-helper-text-regular); + margin-bottom: var(--spacing-gap-xs); +`; + +const StyledPopoverContent = styled(Popover.Content)` + z-index: 2147483647; + &:focus-visible { + outline: none; + } +`; + const getValueForPicker = (value: string, format: string) => dayjs(value, format.toUpperCase(), true); const getDate = ( @@ -283,68 +344,4 @@ const DxcDateInput = forwardRef( } ); -const sizes = { - small: "240px", - medium: "360px", - large: "480px", - fillParent: "100%", -}; - -const calculateWidth = (margin: DateInputPropsType["margin"], size: DateInputPropsType["size"]) => - size === "fillParent" - ? `calc(${sizes[size]} - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})` - : size && sizes[size]; - -const DateInputContainer = styled.div<{ margin: DateInputPropsType["margin"]; size: DateInputPropsType["size"] }>` - ${(props) => props.size === "fillParent" && "width: 100%;"} - display: flex; - flex-direction: column; - width: ${(props) => calculateWidth(props.margin, props.size)}; - ${(props) => props.size !== "fillParent" && `min-width:${calculateWidth(props.margin, props.size)}`}; - margin: ${(props) => (props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px")}; - margin-top: ${(props) => - props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""}; - margin-right: ${(props) => - props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""}; - margin-bottom: ${(props) => - props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""}; - margin-left: ${(props) => - props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""}; - font-family: ${(props) => props.theme.textInput.fontFamily}; -`; - -const Label = styled.label<{ - disabled: DateInputPropsType["disabled"]; - hasHelperText: boolean; -}>` - color: ${(props) => - props.disabled ? props.theme.textInput.disabledLabelFontColor : props.theme.textInput.labelFontColor}; - font-size: ${(props) => props.theme.textInput.labelFontSize}; - font-style: ${(props) => props.theme.textInput.labelFontStyle}; - font-weight: ${(props) => props.theme.textInput.labelFontWeight}; - line-height: ${(props) => props.theme.textInput.labelLineHeight}; - ${(props) => !props.hasHelperText && `margin-bottom: 0.25rem`} -`; - -const OptionalLabel = styled.span` - font-weight: ${(props) => props.theme.textInput.optionalLabelFontWeight}; -`; - -const HelperText = styled.span<{ disabled: DateInputPropsType["disabled"] }>` - color: ${(props) => - props.disabled ? props.theme.textInput.disabledHelperTextFontColor : props.theme.textInput.helperTextFontColor}; - font-size: ${(props) => props.theme.textInput.helperTextFontSize}; - font-style: ${(props) => props.theme.textInput.helperTextFontStyle}; - font-weight: ${(props) => props.theme.textInput.helperTextFontWeight}; - line-height: ${(props) => props.theme.textInput.helperTextLineHeight}; - margin-bottom: 0.25rem; -`; - -const StyledPopoverContent = styled(Popover.Content)` - z-index: 2147483647; - &:focus-visible { - outline: none; - } -`; - export default DxcDateInput; diff --git a/packages/lib/src/date-input/DatePicker.tsx b/packages/lib/src/date-input/DatePicker.tsx index a8716333bf..6048d237ea 100644 --- a/packages/lib/src/date-input/DatePicker.tsx +++ b/packages/lib/src/date-input/DatePicker.tsx @@ -8,6 +8,75 @@ import DxcIcon from "../icon/Icon"; import { Tooltip } from "../tooltip/Tooltip"; import { HalstackLanguageContext } from "../HalstackContext"; +const DatePickerContainer = styled.div` + padding: var(--spacing-padding-m) var(--spacing-padding-xs) var(--spacing-padding-xs) var(--spacing-padding-xs); + background-color: var(--color-bg-neutral-lightest); + box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) + var(--shadow-light); + border: var(--border-width-s) solid var(--border-color-neutral-medium); + border-radius: var(--border-radius-s); + width: fit-content; + font-family: var(--typography-font-family); + font-size: var(--typography-label-m); + color: var(--color-fg-neutral-dark); + font-weight: var(--typography-label-regular); +`; + +const PickerHeader = styled.div` + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: space-between; + height: var(--height-m); +`; + +const HeaderButton = styled.button` + display: flex; + align-items: center; + justify-content: center; + width: 24px; + height: var(--height-s); + padding: 0px; + color: var(--color-fg-neutral-dark); + background-color: var(--color-bg-neutral-lightest); + border-radius: var(--border-radius-s); + border: none; + cursor: pointer; + + &:hover { + background-color: var(--color-bg-primary-light); + } + &:focus { + outline: var(--border-width-m) solid var(--border-color-secondary-medium); + } + &:active { + color: var(--color-bg-neutral-lightest); + background-color: var(--color-bg-neutral-lightest); + } + + span::before { + font-size: 24px; + } +`; + +const HeaderYearTrigger = styled(HeaderButton)` + gap: var(--spacing-gap-s); + padding: 0px var(--spacing-padding-xs) 0px var(--spacing-padding-m); + height: var(--height-m); + width: 172px; + font-size: var(--height-xxs); + span::before { + font-size: var(--height-xxs); + } +`; + +const HeaderYearTriggerLabel = styled.span` + display: flex; + align-items: center; + justify-content: center; + font-size: var(--typography-label-m); +`; + const today = dayjs(); const DatePicker = ({ date, onDateSelect, id }: DatePickerPropsType): JSX.Element => { @@ -75,76 +144,4 @@ const DatePicker = ({ date, onDateSelect, id }: DatePickerPropsType): JSX.Elemen ); }; -const DatePickerContainer = styled.div` - padding-top: 16px; - background-color: ${(props) => props.theme.dateInput.pickerBackgroundColor}; - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); - border: ${(props) => `${props.theme.dateInput.pickerBorderWidth} ${props.theme.dateInput.pickerBorderStyle} - ${props.theme.dateInput.pickerBorderColor}`}; - border-radius: 4px; - width: fit-content; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerFontSize}; - color: ${(props) => props.theme.dateInput.pickerFontColor}; - font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; -`; - -const PickerHeader = styled.div` - box-sizing: border-box; - display: flex; - gap: 8px; - align-items: center; - justify-content: space-between; - padding: 0px 16px; -`; - -const HeaderButton = styled.button` - display: flex; - align-items: center; - justify-content: center; - width: 24px; - height: 24px; - padding: 0px; - color: ${(props) => props.theme.dateInput.pickerHeaderFontColor}; - background-color: ${(props) => props.theme.dateInput.pickerHeaderBackgroundColor}; - border-radius: 4px; - border: none; - cursor: pointer; - - &:hover { - color: ${(props) => props.theme.dateInput.pickerHeaderHoverFontColor}; - background-color: ${(props) => props.theme.dateInput.pickerHeaderHoverBackgroundColor}; - } - &:focus { - outline: ${(props) => `${props.theme.dateInput.pickerFocusColor} solid - ${props.theme.dateInput.pickerFocusWidth}`}; - } - &:active { - color: ${(props) => props.theme.dateInput.pickerHeaderActiveFontColor}; - background-color: ${(props) => props.theme.dateInput.pickerHeaderActiveBackgroundColor}; - } - - span::before { - font-size: 24px; - } -`; - -const HeaderYearTrigger = styled(HeaderButton)` - gap: 8px; - height: 40px; - width: 172px; - font-size: 24px; - span::before { - font-size: 24px; - } -`; - -const HeaderYearTriggerLabel = styled.span` - display: flex; - align-items: center; - justify-content: center; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerHeaderFontSize}; -`; - export default memo(DatePicker); diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index 7b8324cbf8..1e992574c1 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -3,62 +3,6 @@ import { useEffect, useId, useState, memo, KeyboardEvent } from "react"; import styled from "styled-components"; import { YearPickerPropsType } from "./types"; -const getYearsArray = () => { - const yearList = []; - for (let i = 1899; i <= 2100; i++) { - yearList.push(i); - } - return yearList; -}; -const yearList = getYearsArray(); - -const YearPicker = ({ onYearSelect, selectedDate, today }: YearPickerPropsType): JSX.Element => { - const id = useId(); - const [yearToFocus, setYearToFocus] = useState(selectedDate ? selectedDate.get("year") : dayjs().get("year")); - - useEffect(() => { - const yearToFocusEl = document.getElementById(`${id}_year_${yearToFocus}`); - yearToFocusEl?.scrollIntoView?.({ block: "nearest", inline: "start" }); - yearToFocusEl?.focus(); - }, [yearToFocus]); - - const handleDayKeyboardEvent = (event: KeyboardEvent) => { - switch (event.key) { - case "ArrowUp": - setYearToFocus((prev) => (prev > 1899 ? prev - 1 : prev)); - break; - case "ArrowDown": - setYearToFocus((prev) => (prev < 2100 ? prev + 1 : prev)); - break; - default: - break; - } - }; - - return ( - - {yearList.map((year) => ( - handleDayKeyboardEvent(event)} - id={`${id}_year_${year}`} - onClick={() => { - onYearSelect(year); - }} - role="option" - > - {year} - - ))} - - ); -}; - const YearPickerContainer = styled.div` box-sizing: border-box; display: flex; @@ -120,4 +64,61 @@ const YearPickerButton = styled.button<{ } `; +const getYearsArray = () => { + const yearList = []; + for (let i = 1899; i <= 2100; i++) { + yearList.push(i); + } + return yearList; +}; + +const yearList = getYearsArray(); + +const YearPicker = ({ onYearSelect, selectedDate, today }: YearPickerPropsType): JSX.Element => { + const id = useId(); + const [yearToFocus, setYearToFocus] = useState(selectedDate ? selectedDate.get("year") : dayjs().get("year")); + + useEffect(() => { + const yearToFocusEl = document.getElementById(`${id}_year_${yearToFocus}`); + yearToFocusEl?.scrollIntoView?.({ block: "nearest", inline: "start" }); + yearToFocusEl?.focus(); + }, [yearToFocus]); + + const handleDayKeyboardEvent = (event: KeyboardEvent) => { + switch (event.key) { + case "ArrowUp": + setYearToFocus((prev) => (prev > 1899 ? prev - 1 : prev)); + break; + case "ArrowDown": + setYearToFocus((prev) => (prev < 2100 ? prev + 1 : prev)); + break; + default: + break; + } + }; + + return ( + + {yearList.map((year) => ( + handleDayKeyboardEvent(event)} + id={`${id}_year_${year}`} + onClick={() => { + onYearSelect(year); + }} + role="option" + > + {year} + + ))} + + ); +}; + export default memo(YearPicker); From c05784c7090159d108a7a321f38ee8d6f6c77270 Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Fri, 14 Feb 2025 13:34:38 +0100 Subject: [PATCH 02/11] Reimplementation of the Dropdown component with new CSS variables (2/2) --- packages/lib/src/date-input/Calendar.tsx | 67 +++++++++------------- packages/lib/src/date-input/DatePicker.tsx | 2 +- packages/lib/src/date-input/YearPicker.tsx | 46 +++++++-------- 3 files changed, 49 insertions(+), 66 deletions(-) diff --git a/packages/lib/src/date-input/Calendar.tsx b/packages/lib/src/date-input/Calendar.tsx index d5566978f7..a903a60e9b 100644 --- a/packages/lib/src/date-input/Calendar.tsx +++ b/packages/lib/src/date-input/Calendar.tsx @@ -9,12 +9,11 @@ const CalendarContainer = styled.div` display: flex; flex-direction: column; justify-content: center; - padding: 0px 8px 8px 8px; width: 292px; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerFontSize}; - color: ${(props) => props.theme.dateInput.pickerFontColor}; - font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; + font-family: var(--typography-font-family); + font-size: var(--typography-label-m); + color: var(--color-fg-neutral-dark); + font-weight: var(--typography-label-regular); `; const CalendarHeaderRow = styled.div` @@ -29,14 +28,14 @@ const WeekHeaderCell = styled.span` display: flex; align-items: center; justify-content: center; - width: 36px; - height: 36px; + width: 32px; + height: var(--height-m); `; const MonthContainer = styled.div` box-sizing: border-box; display: flex; - gap: 4px; + gap: var(--spacing-gap-xs); flex-direction: column; justify-content: space-between; `; @@ -44,7 +43,7 @@ const MonthContainer = styled.div` const WeekContainer = styled.div` box-sizing: border-box; display: flex; - gap: 4px; + gap: var(--spacing-gap-xs); justify-content: space-between; `; @@ -56,47 +55,35 @@ const DayCellButton = styled.button<{ display: inline-flex; justify-content: center; align-items: center; - width: 36px; - height: 36px; + width: 32px; + height: var(--height-m); padding: 0; border: none; - border-radius: 50%; + border-radius: var(--border-radius-xl); cursor: pointer; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerFontSize}; - color: ${(props) => props.theme.dateInput.pickerFontColor}; - font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; - + font-family: var(--typography-font-family); + font-size: var(--typography-label-m); + color: var(--color-fg-neutral-dark); + font-weight: var(--typography-label-regular, 400); + background-color: ${(props) => (props.selected ? "var(--color-bg-primary-strong);" : "transparent")}; + color: ${(props) => + props.selected + ? "var(--color-fg-neutral-bright);" + : !props.actualMonth + ? "var(--color-fg-neutral-medium);" + : "var(--color-fg-neutral-dark);"}; &:focus { - outline: ${(props) => props.theme.dateInput.pickerFocusColor} solid 2px; + outline: var(--border-width-m) solid var(--border-color-secondary-medium); } &:hover { background-color: ${(props) => - props.selected - ? props.theme.dateInput.pickerSelectedBackgroundColor - : props.theme.dateInput.pickerHoverBackgroundColor}; - color: ${(props) => - props.selected ? props.theme.dateInput.pickerSelectedFontColor : props.theme.dateInput.pickerHoverFontColor}; + props.selected ? "var(--color-bg-primary-strong);" : "var(--color-bg-primary-lighter);"}; + color: ${(props) => (props.selected ? "var(--color-fg-neutral-bright);" : "var(--color-fg-neutral-dark);")}; } &:active { - background-color: ${(props) => props.theme.dateInput.pickerActiveBackgroundColor}; - color: ${(props) => props.theme.dateInput.pickerActiveFontColor}; + background-color: var(--color-bg-primary-stronger); + color: var(--color-fg-neutral-bright); } - - ${(props) => - props.isCurrentDay && - !props.selected && - `border: ${props.theme.dateInput.pickerCurrentDateBorderWidth} solid ${props.theme.dateInput.pickerCurrentDateBorderColor};`} - background-color: ${(props) => - props.selected ? props.theme.dateInput.pickerSelectedBackgroundColor : "transparent"}; - color: ${(props) => - props.selected - ? props.theme.dateInput.pickerSelectedFontColor - : props.isCurrentDay - ? props.theme.dateInput.pickerCurrentDateFontColor - : !props.actualMonth - ? props.theme.dateInput.pickerNonCurrentMonthFontColor - : props.theme.dateInput.pickerFontColor}; `; const getDays = (innerDate: Dayjs) => { diff --git a/packages/lib/src/date-input/DatePicker.tsx b/packages/lib/src/date-input/DatePicker.tsx index 6048d237ea..86f0e254bc 100644 --- a/packages/lib/src/date-input/DatePicker.tsx +++ b/packages/lib/src/date-input/DatePicker.tsx @@ -51,7 +51,7 @@ const HeaderButton = styled.button` } &:active { color: var(--color-bg-neutral-lightest); - background-color: var(--color-bg-neutral-lightest); + background-color: var(--color-bg-primary-stronger); } span::before { diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index 1e992574c1..6bbe1df253 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -7,12 +7,13 @@ const YearPickerContainer = styled.div` box-sizing: border-box; display: flex; flex-direction: column; - gap: 4px; + gap: var(--spacing-gap-xs); align-items: center; overflow-y: scroll; width: 292px; height: 312px; - padding: 2px 8px 8px 8px; + box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) + var(--shadow-light); `; const YearPickerButton = styled.button<{ @@ -23,44 +24,39 @@ const YearPickerButton = styled.button<{ align-items: center; justify-content: center; width: 80px; - min-height: 40px; - line-height: 21px; - background-color: transparent; + min-height: var(--height-m); + height: var(--height-m); + background-color: var(--color-bg-neutral-lightest); border: none; - border-radius: 50px; + border-radius: var(--border-radius-xl); cursor: pointer; - font-family: ${(props) => props.theme.dateInput.pickerFontFamily}; - font-size: ${(props) => props.theme.dateInput.pickerFontSize}; - color: ${(props) => props.theme.dateInput.pickerFontColor}; - font-weight: ${(props) => props.theme.dateInput.pickerFontWeight}; + font-family: var(--typography-font-family); + font-size: var(--typography-label-m); + color: var(--color-fg-neutral-dark); + font-weight: var(--typography-label-regular); ${(props) => props.selected - ? `font-size: ${props.theme.dateInput.pickerInteractedYearFontSize}; - line-height: 36px; - color: ${props.theme.dateInput.pickerSelectedFontColor} !important; - background-color: ${props.theme.dateInput.pickerSelectedBackgroundColor} !important;` + ? `font-size: var(--typography-label-xl); + color: var(--color-fg-neutral-bright) !important; + background-color: var(--color-bg-primary-strong) !important;` : props.isCurrentYear - ? `border: 1px solid ${props.theme.dateInput.pickerCurrentDateBorderColor}; - color: ${props.theme.dateInput.pickerCurrentYearFontColor};` + ? `outline: var(--border-width-m) solid var(--border-color-secondary-medium); + color: var(--color-bg-primary-stronger);` : ``} &:hover, &:focus, &:active { - font-size: ${(props) => props.theme.dateInput.pickerInteractedYearFontSize}; - line-height: 36px; + font-size: var(--typography-label-xl); } &:hover { - color: ${(props) => props.theme.dateInput.pickerHoverFontColor}; - background-color: ${(props) => props.theme.dateInput.pickerHoverBackgroundColor}; + background-color: var(--color-bg-primary-light); } &:focus { - color: ${(props) => props.theme.dateInput.pickerHoverFontColor}; - outline: ${(props) => `${props.theme.dateInput.pickerFocusColor} solid - ${props.theme.dateInput.pickerFocusWidth}`}; + outline: var(--border-width-m) solid var(--border-color-secondary-medium); } &:active { - color: ${(props) => props.theme.dateInput.pickerActiveFontColor}; - background-color: ${(props) => props.theme.dateInput.pickerActiveBackgroundColor} !important; + color: var(--color-fg-neutral-bright); + background-color: var(--color-bg-primary-stronger); } `; From d954e4ee9ccd429faab64e32904d87ed2b2721fd Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Tue, 18 Feb 2025 16:02:20 +0100 Subject: [PATCH 03/11] Fixed props for optional label --- packages/lib/src/date-input/DateInput.tsx | 5 ++++- packages/lib/src/date-input/YearPicker.tsx | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/lib/src/date-input/DateInput.tsx b/packages/lib/src/date-input/DateInput.tsx index ba8aa43525..7058edd15a 100644 --- a/packages/lib/src/date-input/DateInput.tsx +++ b/packages/lib/src/date-input/DateInput.tsx @@ -295,7 +295,10 @@ const DxcDateInput = forwardRef( disabled={disabled} hasHelperText={!!helperText} > - {label} {optional && {translatedLabels.formFields.optionalLabel}} + {label}{" "} + {optional && ( + {translatedLabels.formFields.optionalLabel} + )} )} {helperText && {helperText}} diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index 6bbe1df253..f1f608684b 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -20,6 +20,7 @@ const YearPickerButton = styled.button<{ selected: boolean; isCurrentYear: boolean; }>` + box-sizing: border-box; display: flex; align-items: center; justify-content: center; @@ -35,14 +36,14 @@ const YearPickerButton = styled.button<{ color: var(--color-fg-neutral-dark); font-weight: var(--typography-label-regular); - ${(props) => +${(props) => props.selected ? `font-size: var(--typography-label-xl); color: var(--color-fg-neutral-bright) !important; background-color: var(--color-bg-primary-strong) !important;` : props.isCurrentYear - ? `outline: var(--border-width-m) solid var(--border-color-secondary-medium); - color: var(--color-bg-primary-stronger);` + ? `outline: var(--border-width-s) solid var(--border-color-primary-lighter); + color: var(--color-fg-primary-strong);` : ``} &:hover, &:focus, &:active { @@ -50,6 +51,7 @@ const YearPickerButton = styled.button<{ } &:hover { background-color: var(--color-bg-primary-light); + color: var(--color-fg-neutral-dark); } &:focus { outline: var(--border-width-m) solid var(--border-color-secondary-medium); From f974f5380ac5a3582d96f5ddb67eba3e0cf9b415 Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Tue, 18 Feb 2025 16:32:29 +0100 Subject: [PATCH 04/11] Fixed outline overlapping header --- packages/lib/src/date-input/YearPicker.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index f1f608684b..2ca4e8b19d 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -14,13 +14,13 @@ const YearPickerContainer = styled.div` height: 312px; box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) var(--shadow-light); + padding-top: var(--spacing-padding-xxxs); // This is required for outline to not overlap top header, please review `; const YearPickerButton = styled.button<{ selected: boolean; isCurrentYear: boolean; }>` - box-sizing: border-box; display: flex; align-items: center; justify-content: center; @@ -36,7 +36,7 @@ const YearPickerButton = styled.button<{ color: var(--color-fg-neutral-dark); font-weight: var(--typography-label-regular); -${(props) => + ${(props) => props.selected ? `font-size: var(--typography-label-xl); color: var(--color-fg-neutral-bright) !important; From c5967f635aae8bc67d87e69c066c524b4706cb42 Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Tue, 18 Feb 2025 17:12:21 +0100 Subject: [PATCH 05/11] Removed comment --- packages/lib/src/date-input/YearPicker.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index 2ca4e8b19d..d9ee76fdca 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -14,7 +14,7 @@ const YearPickerContainer = styled.div` height: 312px; box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) var(--shadow-light); - padding-top: var(--spacing-padding-xxxs); // This is required for outline to not overlap top header, please review + padding-top: var(--spacing-padding-xxxs); `; const YearPickerButton = styled.button<{ From 26d9016402bdc85fe6a2d8081eafd8e88a7e5a14 Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Wed, 19 Feb 2025 11:30:33 +0100 Subject: [PATCH 06/11] Added padding to calendar --- packages/lib/src/date-input/Calendar.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/lib/src/date-input/Calendar.tsx b/packages/lib/src/date-input/Calendar.tsx index a903a60e9b..4ef8fea6ba 100644 --- a/packages/lib/src/date-input/Calendar.tsx +++ b/packages/lib/src/date-input/Calendar.tsx @@ -14,6 +14,7 @@ const CalendarContainer = styled.div` font-size: var(--typography-label-m); color: var(--color-fg-neutral-dark); font-weight: var(--typography-label-regular); + padding-top: var(--spacing-padding-xxxs); `; const CalendarHeaderRow = styled.div` From a9373761feec3d23325bd31e3c1946a8ac92219e Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Wed, 19 Feb 2025 11:59:57 +0100 Subject: [PATCH 07/11] Prepared structure for new documentation --- .../pages/components/date-input/code.tsx | 19 + .../pages/components/date-input/index.tsx | 12 +- .../components/date-input/specifications.tsx | 21 - .../pages/components/date-input/usage.tsx | 21 - .../date-input/DateInputPageLayout.tsx | 7 +- .../date-input/code/DateInputCodePage.tsx | 174 +++--- .../DateInputOverviewPage.tsx} | 8 +- .../date-input/specs/DateInputSpecsPage.tsx | 525 ------------------ .../date-input/specs/images/date_popup.png | Bin 36246 -> 0 bytes .../specs/images/date_popup_specs.png | Bin 60175 -> 0 bytes .../specs/images/input_date_anatomy.png | Bin 19311 -> 0 bytes .../specs/images/input_date_specs.png | Bin 24840 -> 0 bytes .../specs/images/input_date_states.png | Bin 23588 -> 0 bytes 13 files changed, 118 insertions(+), 669 deletions(-) create mode 100644 apps/website/pages/components/date-input/code.tsx delete mode 100644 apps/website/pages/components/date-input/specifications.tsx delete mode 100644 apps/website/pages/components/date-input/usage.tsx rename apps/website/screens/components/date-input/{usage/DateInputUsagePage.tsx => overview/DateInputOverviewPage.tsx} (93%) delete mode 100644 apps/website/screens/components/date-input/specs/DateInputSpecsPage.tsx delete mode 100644 apps/website/screens/components/date-input/specs/images/date_popup.png delete mode 100644 apps/website/screens/components/date-input/specs/images/date_popup_specs.png delete mode 100644 apps/website/screens/components/date-input/specs/images/input_date_anatomy.png delete mode 100644 apps/website/screens/components/date-input/specs/images/input_date_specs.png delete mode 100644 apps/website/screens/components/date-input/specs/images/input_date_states.png diff --git a/apps/website/pages/components/date-input/code.tsx b/apps/website/pages/components/date-input/code.tsx new file mode 100644 index 0000000000..29148ee61e --- /dev/null +++ b/apps/website/pages/components/date-input/code.tsx @@ -0,0 +1,19 @@ +import Head from "next/head"; +import type { ReactElement } from "react"; +import DateInputCodePage from "screens/components/date-input/code/DateInputCodePage"; +import DateInputPageLayout from "screens/components/date-input/DateInputPageLayout"; + +const Code = () => { + return ( + <> + + Date Input Code — Halstack Design System + + + + ); +}; + +Code.getLayout = (page: ReactElement) => {page}; + +export default Code; diff --git a/apps/website/pages/components/date-input/index.tsx b/apps/website/pages/components/date-input/index.tsx index c473cb2cd5..50bcf3a768 100644 --- a/apps/website/pages/components/date-input/index.tsx +++ b/apps/website/pages/components/date-input/index.tsx @@ -1,21 +1,19 @@ import Head from "next/head"; import type { ReactElement } from "react"; -import DateInputCodePage from "screens/components/date-input/code/DateInputCodePage"; +import DateInputOverviewPage from "screens/components/date-input/overview/DateInputOverviewPage"; import DateInputPageLayout from "screens/components/date-input/DateInputPageLayout"; -const Usage = () => { +const Index = () => { return ( <> Date Input — Halstack Design System - + ); }; -Usage.getLayout = function getLayout(page: ReactElement) { - return {page}; -}; +Index.getLayout = (page: ReactElement) => {page}; -export default Usage; +export default Index; diff --git a/apps/website/pages/components/date-input/specifications.tsx b/apps/website/pages/components/date-input/specifications.tsx deleted file mode 100644 index a778ec8282..0000000000 --- a/apps/website/pages/components/date-input/specifications.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import Head from "next/head"; -import type { ReactElement } from "react"; -import DateInputSpecsPage from "screens/components/date-input/specs/DateInputSpecsPage"; -import DateInputPageLayout from "screens/components/date-input/DateInputPageLayout"; - -const Specifications = () => { - return ( - <> - - Date Input Specs — Halstack Design System - - - - ); -}; - -Specifications.getLayout = function getLayout(page: ReactElement) { - return {page}; -}; - -export default Specifications; diff --git a/apps/website/pages/components/date-input/usage.tsx b/apps/website/pages/components/date-input/usage.tsx deleted file mode 100644 index da5dde9f9e..0000000000 --- a/apps/website/pages/components/date-input/usage.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import Head from "next/head"; -import type { ReactElement } from "react"; -import DateInputUsagePage from "screens/components/date-input/usage/DateInputUsagePage"; -import DateInputPageLayout from "screens/components/date-input/DateInputPageLayout"; - -const Usage = () => { - return ( - <> - - Date Input Usage — Halstack Design System - - - - ); -}; - -Usage.getLayout = function getLayout(page: ReactElement) { - return {page}; -}; - -export default Usage; diff --git a/apps/website/screens/components/date-input/DateInputPageLayout.tsx b/apps/website/screens/components/date-input/DateInputPageLayout.tsx index 2e72577cdf..ffc605aaac 100644 --- a/apps/website/screens/components/date-input/DateInputPageLayout.tsx +++ b/apps/website/screens/components/date-input/DateInputPageLayout.tsx @@ -6,9 +6,8 @@ import { ReactNode } from "react"; const DateInputPageHeading = ({ children }: { children: ReactNode }) => { const tabs = [ - { label: "Code", path: "/components/date-input" }, - { label: "Usage", path: "/components/date-input/usage" }, - { label: "Specifications", path: "/components/date-input/specifications" }, + { label: "Overview", path: "/components/date-input" }, + { label: "Code", path: "/components/date-input/code" }, ]; return ( @@ -19,7 +18,7 @@ const DateInputPageHeading = ({ children }: { children: ReactNode }) => { A date input is a user interface element where the user can type or select a date in a predefined format. - + {children} diff --git a/apps/website/screens/components/date-input/code/DateInputCodePage.tsx b/apps/website/screens/components/date-input/code/DateInputCodePage.tsx index de5c5361df..08f18dda49 100644 --- a/apps/website/screens/components/date-input/code/DateInputCodePage.tsx +++ b/apps/website/screens/components/date-input/code/DateInputCodePage.tsx @@ -25,58 +25,73 @@ const sections = [ - defaultValue + ariaLabel string - Initial value of the input element, only when it is uncontrolled. - - + + Specifies a string to be used as the name for the date input element when no label is + provided. + + 'Date input' - value + autocomplete string - Value of the input element. If undefined, the component will be uncontrolled and the value will be managed - internally by the component. + HTML autocomplete attribute. Lets the user specify if any permission the user agent has to + provide automated assistance in filling out the input value. Its value must be one of all the possible + values of the HTML autocomplete attribute. See{" "} + MDN{" "} + for further information. - - - - - label - string + 'off' - Text to be placed above the date input. - - - name + clearable - string + boolean + + If true, the date input will have an action to clear the entered value. + + false - Name attribute of the input element. - - - helperText + defaultValue string - Helper text to be placed above the date. + Initial value of the input element, only when it is uncontrolled. - - placeholder + disabled boolean - If true, the date format will appear as placeholder in the field. + If true, the component will be disabled. false + + error + + string + + + If it is a defined value and also a truthy string, the component will change its appearance, showing the + error below the date input component. If the defined value is an empty string, it will reserve a space + below the component for a future error, but it would not change its look. In case of being undefined or + null, both the appearance and the space for the error message would not be modified. + + - + format @@ -93,52 +108,52 @@ const sections = [ - clearable - - boolean - - If true, the date input will have an action to clear the entered value. + helperText - false + string + Helper text to be placed above the date. + - - disabled - - boolean - - If true, the component will be disabled. + label - false + string + Text to be placed above the date input. + - - optional - - boolean - + margin - If true, the date will be optional, showing the text '(Optional)' next to the label. Otherwise, the field - will be considered required and an error will be passed as a parameter to the onBlur and{" "} - onChange functions when it has not been filled. + 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | Margin - false + Size of the margin to be applied to the component. You can pass an object with 'top', 'bottom', 'left' and + 'right' properties in order to specify different margin sizes. + - - readOnly + name - boolean + string + Name attribute of the input element. + - + + + onBlur - If true, the component will not be mutable, meaning the user can not edit the control. The date picker - cannot be opened either. In addition, the clear action will not be displayed even if the flag is set to - true. + {"(val: { value: string; error?: string; date?: Date }) => void"} - false + This function will be called when the input element loses the focus. An object including the string value, + the error and the date value will be passed to this function. If the string value is a valid date,{" "} + error will be undefined. Also, if the string value is not a valid date, date{" "} + will be undefined. + - onChange @@ -154,56 +169,49 @@ const sections = [ - - onBlur + optional - {"(val: { value: string; error?: string; date?: Date }) => void"} + boolean - This function will be called when the input element loses the focus. An object including the string value, - the error and the date value will be passed to this function. If the string value is a valid date,{" "} - error will be undefined. Also, if the string value is not a valid date, date{" "} - will be undefined. + If true, the date will be optional, showing the text '(Optional)' next to the label. Otherwise, the field + will be considered required and an error will be passed as a parameter to the onBlur and{" "} + onChange functions when it has not been filled. + + + false - - - error + placeholder - string + boolean + If true, the date format will appear as placeholder in the field. - If it is a defined value and also a truthy string, the component will change its appearance, showing the - error below the date input component. If the defined value is an empty string, it will reserve a space - below the component for a future error, but it would not change its look. In case of being undefined or - null, both the appearance and the space for the error message would not be modified. + false - - - autocomplete + readOnly - string + boolean - HTML autocomplete attribute. Lets the user specify if any permission the user agent has to - provide automated assistance in filling out the input value. Its value must be one of all the possible - values of the HTML autocomplete attribute. See{" "} - MDN{" "} - for further information. + If true, the component will not be mutable, meaning the user can not edit the control. The date picker + cannot be opened either. In addition, the clear action will not be displayed even if the flag is set to + true. - 'off' + false - margin - - 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | Margin - + ref - Size of the margin to be applied to the component. You can pass an object with 'top', 'bottom', 'left' and - 'right' properties in order to specify different margin sizes. + {"React.Ref"} + Reference to the component. - @@ -229,23 +237,15 @@ const sections = [ - ref - - {"React.Ref"} - - Reference to the component. - - - - - ariaLabel + value string - Specifies a string to be used as the name for the date input element when no label is - provided. + Value of the input element. If undefined, the component will be uncontrolled and the value will be managed + internally by the component. - 'Date input' + - diff --git a/apps/website/screens/components/date-input/usage/DateInputUsagePage.tsx b/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx similarity index 93% rename from apps/website/screens/components/date-input/usage/DateInputUsagePage.tsx rename to apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx index 2092df5cc2..0ea5a67eca 100644 --- a/apps/website/screens/components/date-input/usage/DateInputUsagePage.tsx +++ b/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx @@ -6,7 +6,7 @@ import Code from "@/common/Code"; const sections = [ { - title: "Usage", + title: "Introduction", content: ( @@ -47,15 +47,15 @@ const sections = [ }, ]; -const DateInputUsagePage = () => { +const DateInputOverviewPage = () => { return ( - + ); }; -export default DateInputUsagePage; +export default DateInputOverviewPage; diff --git a/apps/website/screens/components/date-input/specs/DateInputSpecsPage.tsx b/apps/website/screens/components/date-input/specs/DateInputSpecsPage.tsx deleted file mode 100644 index 902509e233..0000000000 --- a/apps/website/screens/components/date-input/specs/DateInputSpecsPage.tsx +++ /dev/null @@ -1,525 +0,0 @@ -import { DxcParagraph, DxcBulletedList, DxcTable, DxcFlex, DxcLink } from "@dxc-technology/halstack-react"; -import Image from "@/common/Image"; -import Link from "next/link"; -import QuickNavContainer from "@/common/QuickNavContainer"; -import QuickNavContainerLayout from "@/common/QuickNavContainerLayout"; -import DocFooter from "@/common/DocFooter"; -import Figure from "@/common/Figure"; -import Code from "@/common/Code"; -import dateSpecsStates from "./images/input_date_states.png"; -import dateSpecsPopup from "./images/date_popup.png"; -import dateSpecsAnatomy from "./images/input_date_anatomy.png"; -import dateSpecs from "./images/input_date_specs.png"; -import datePopupSpecs from "./images/date_popup_specs.png"; - -const sections = [ - { - title: "Date input", - content: ( - <> -
- Date input design specifications -
- - The date input color, typography, border, spacing,{" "} - width and margin specifications are inherited from the text input, for reference - check{" "} - - text input - {" "} - documentation . - - - The date input doesn't have the following text input elements or properties, therefore, their listed - styles don't apply: - - - Prefix / Suffix - - The size small is not available - - - - ), - }, - { - title: "Date picker dialog", - content: ( -
- Date picker design specifications -
- ), - }, - { - title: "States", - subSections: [ - { - title: "Date input", - content: ( - <> - - States: enabled, hover, focus, error, - and disabled. - -
- Date input states -
- - ), - }, - { - title: "Date picker dialog", - content: ( - <> - - States: default, hover, focus, active,{" "} - selected, today and disabled. - -
- Calendar day states -
- - ), - }, - ], - }, - { - title: "Anatomy", - content: ( - <> - Date input anatomy - - Label - - Helper text (Optional) - - Input container - Date button - Clear action - Error indicator - Error message - Placeholder / value - - - ), - }, - { - title: "Design tokens", - subSections: [ - { - title: "Color", - content: ( - - - - Component token - Element - Core token - Value - - - - - - pickerBackgroundColor - - Date picker container - - color-white - - #ffffff - - - - pickerFontColor - - Date picker container - - color-black - - #000000 - - - - pickerBorderColor - - Date picker container - - color-grey-400 - - #bfbfbf - - - - pickerSelectedBackgroundColor - - Picker date/year: selected - - color-purple-700 - - #5f249f - - - - pickerSelectedFontColor - - Picker date/year: selected - - color-white - - #ffffff - - - - pickerHoverBackgroundColor - - Picker date/year: hover - - color-purple-200 - - #e5d5f6 - - - - pickerHoverFontColor - - Picker date/year: active - - color-black - - #000000 - - - - pickerActiveBackgroundColor - - Picker date/year: active - - color-purple-800 - - #4b1c7d - - - - pickerActiveFontColor - - Picker date/year: active - - color-white - - #ffffff - - - - pickerNonCurrentMonthFontColor - - Picker date: other month - - color-grey-500 - - #999999 - - - - pickerCurrentDateBorderColor - - Picker date/year: current - - color-purple-300 - - #cbacec - - - - pickerCurrentDateFontColor - - Picker date: current - - color-black - - #000000 - - - - pickerCurrentYearFontColor - - Picker year: current - - color-purple-700 - - #5f249f - - - - pickerHeaderBackgroundColor - - Picker header - - color-transparent - - transparent - - - - pickerHeaderFontColor - - Picker header - - color-black - - #000000 - - - - pickerHeaderHoverBackgroundColor - - Picker header: hover - - color-purple-200 - - #e5d5f6 - - - - pickerHeaderHoverFontColor - - Picker header: hover - - color-black - - #000000 - - - - pickerHeaderActiveBackgroundColor - - Picker header: active - - color-purple-800 - - #4b1c7d - - - - pickerHeaderActiveFontColor - - Picker header: active - - color-white - - #ffffff - - - - pickerFocusColor - - Date picker container - - color-blue-600 - - #0095ff - - - - ), - }, - { - title: "Border", - content: ( - - - - Component token - Element - Core token - Value - - - - - - pickerBorderWidth - - Date picker container - - border-width-1 - - 1px - - - - pickerBorderStyle - - Date picker container - - border-style-solid - - solid - - - - pickerFocusWidth - - Date picker container: focus - - border-width-2 - - 2px - - - - pickerCurrentDateBorderWidth - - Picker date/year: current - - border-width-1 - - 1px - - - - ), - }, - { - title: "Typography", - content: ( - - - - Component token - Element - Core token - Value - - - - - - pickerFontFamily - - Date picker container - - font-family-sans - - 'Open Sans', sans-serif - - - - pickerFontSize - - Date picker container - - font-scale-02 - - 0.875rem - - - - pickerFontWeight - - Date picker container - - font-regular - - 400 - - - - pickerInteractedYearFontSize - - Picker year: selected, hover, active - - font-scale-05 - - 1.5rem - - - - pickerHeaderFontSize - - Picker header - - font-scale-02 - - 0.875rem - - - - ), - }, - ], - }, - { - title: "Accessibility", - subSections: [ - { - title: "WCAG 2.2", - content: ( - <> - - - Understanding WCAG 2.2 -{" "} - - SC 2.1.1: Keyboard - - - - Understanding WCAG 2.2 -{" "} - - SC 2.1.2: No keyboard trap - - - - Understanding WCAG 2.2 -{" "} - - SC 2.4.6: Headings and labels - - - - Understanding WCAG 2.2 -{" "} - - SC 2.4.7: Focus Visible - - - - - ), - }, - { - title: "WAI-ARIA 1.2", - content: ( - - - WAI-ARIA authoring practices 1.2 -{" "} - - 3.9 Dialog modal - - - - WAI-ARIA authoring practices 1.2 -{" "} - - Date picker design pattern - - - - ), - }, - ], - }, -]; - -const DateInputSpecsPage = () => { - return ( - - - - - - - ); -}; - -export default DateInputSpecsPage; diff --git a/apps/website/screens/components/date-input/specs/images/date_popup.png b/apps/website/screens/components/date-input/specs/images/date_popup.png deleted file mode 100644 index 9142dac9300881390e3d47bac7d925fa9e4c8bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36246 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 TBnAJ17DVQO;{9w%1MmL>Zy93m diff --git a/apps/website/screens/components/date-input/specs/images/input_date_specs.png b/apps/website/screens/components/date-input/specs/images/input_date_specs.png deleted file mode 100644 index a4933aae7ab6c9b179f7ab325f58285200b9baa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24840 zcmeFZ_g7R~@;=<;B!Y+{86^inL2?w3C?KMsWF_aEvm%H{7LbgRgH6s+0Rf>25}GDU zh9+ld8os-^ckax5-nHJpVEh4lHRqgNr>b_!B%+qjViojQIv95DRk=uQ4Jvdl~ zi3B@{;#bI1rOfq^CdHoIPo!p)zbwBr)l}x_XUg0zeo9!;BvboNR)soepqv<&keQ{I z9Gg0lo=kapa@o%eQGQ1+_HG(8@@%?4M|nMKuX!28aB^DWk^02Orihyoms|#d^&dY9 z^_k=$&|QY5-T(88VhGk}TCD%Plw5|192<95##MkS41!I_6!^~%8ORdDe?OL-Fc^X* zLO#{|=+3_{!+atStRwh8D`DT3fn1drc8U4VM}li{jW_>$c}S29xF2T_rqA+U%Lf8c zeg5mM{wFH#|Frr)U;W><`d_g6UtInF$yPzXiHn^dorcQqU)0}qLfgN%2>(=lI?|_Y zwZXZ!=uaOp4ub4j@Owm@FdqG+(*H(wKoknBXKfDzcIiC2rm9FV|zssK| zF%P}d@fBagM^)!$#lrdwS;Gua;SI_yjnna?>5ZgIkV_?&0~FEoG# zY@?KRUuH5w{D+lm0+cA7?z%+}O?aFO?(uhpFe8a#oRX3FvBe%1r#WM%&K%jYByIXS zjsBcvb%t~r>doqBx<0#AiCfGVi1SGes7**${o^G*l7Zm$5^nUy$4){OQtjMmT=a;n zEF+{Q^R-gMbLCPFn$1HkX+PAI#78G#OExIaEwAP~)vuUqmu1|IZy$Wyo|aE*Yelq* z>>ajHRP>JvT_ghTkPexq(B}sr=!r7Oaw==2<8S_2%;@Glaq0eIDvKfiIa6E%T3x}( zkePwj6wMzQYiuvX@{!OR@e2>#3Lw5U>Osx6wY-OF^p<(NGcWjdTm&gorgC(wTbtDt z6Ul}-2cn>{3-)L`^1heANPcw=R^pfiS;2x_t4h2$e_=BtJl8_!{pxu4WM_Uc5UmQlz0QuTH@>ThZWh-U{{DM)b)f*!& z#r6lT>l#xUc@>GTOC$jEGL`?qSEICmSb8?A1`A1eABi2>JQ`T6l`WtO92?%6dg)r3 zEZ`+#?>STawTsACz6B;>+odB@MD#p-)z=WNl<<$(sOR9d{Y9VfVcuE|++e+?2F1I4 z>mVr}V>m<_nqr(5Uq+M=1=q6L*ok>l2plS?@EX{mYC6uh{|XrUc0np6slZ~*Qw^02 z;O_h@SlEtc`#9hJ2FyV>B7>zg-izmi8>BVeEUY~A^g|Da0&70|0>P>!7LQlOY{mb8 z%r6WAA-x7cm-hbW2RR{lDpP$@_+NYHpF5Z!E@b}!)G_XfD;o%*dvCvV=P&pF2e*SD zhx2!k!(4{BD+ojzg0CrcO8>b&xB*z^pOyc*R)z_eur+AKoR{J+Sub#Z1lYtzYiFFP zUz9(%gE}*W>m-EFWnVtl45%paU3}c%rGboYD^h07&2Rq!W>uLP@Y|!b=C3(_3A3+^ zRf1ChKRD=C|1yaAy$lG)SR0luzls_YJqyoDXQgSA_YX@X4g_H@l1l zOtbNU@StJjX`^#C!)5T9CLs^>apK7V_VQm`#LWjq!P{J^IH3F73PhED*BJ zDI9(D#0?}~+^WV`=B)3Alv|v-`wyK-@v||~5`XU%3r~@O2x`_&d&jWH; z;yEs_^e3G(vF|ZLwy~7b$pXt~_!j*y7Q_RZw^FW>_AC2knn+LTMn^}VuReZX9RNeH z9(<>|+Hm zcVe?Y7E4OFg&KjJ10(P}{cD)_;suYcGZn=|i2)MunQzr2z%?1B7uc(uX#_KlA0_q&?ZV4+1bO--_b6TrICfR42fi|Gx;VWzE{gS{e+N-Tpvj9h)U;H zgai@aRJxE27&uVunU9j@^_X;0^s!-%dB5JU)qG>pJ2@n<20Q3VD~)#>--B=gRyKb9 zP}dawu;~e=zIsik@(lJ=%CPBN#^es!g01U;O-&CANCBEq0luU;_0R-^srs-(>73v9 zCJ87e@EX+9z!Hu8IfwEz5?@xBcfTc*vXt9>X_3Y{b8&v;;*Xwm>5qpS`l$6uU-+K% z2b?pvg_0${y(*@}+px~R3NOi!ywC_Z)jCKQql7{}j#+xHxwPcmASvXnduZ7$tf5qHZ-eW&K1$bdfSi(x*DO?G?34yhWJDwxE!1lhA(uEz9nctlGD2^jMyTMelD%h&b<)UMc>xTLK(dCCC;|n_yf*;U;1oR*+H5Y6Z95RUHW2-&UX{BqL(O&9x_F1 zWmbss?uUg8iECSn(BJtQG;(u_j@x^PSedRU$jws31JbO8vypU)9@IopT>qR^v*yK1 z$HlMIKQybfKJKkdr_Vl!C}JtI32+ithTZydDZM6;p2{ae2uMFdVp@XLyw@i_QR20~ zGFU$4K2b$rAfVz4H}I$mkfsl;Xpu7cdBtn9Zh8IF(u>D%QtP_Iahs0E5$8Qd=XV;` z%T;|KLd<>UEJ<%-HzR+q9V5Fl1b22?#|f>;6G|kUD~8JZu7o z9v;nw^ChVAHMv$nQqc!ZN7H(So`3M}+l0a>Ewp+qOQ;V7vwDFlb$lT9R#va39GEum z@s?BIdJE!>e;nx3=j`6FZbxY6-LHv{4jEl(ix8`-GZCwNxn<-2zWR$NN|z{!bD$!H z#XmigCNJC`dIN=cs!S)TG#OSv_Dl9uOyB@97&Ei*3dHzY3rieq!hL<9NEdNK4DI*H zAoCN}n610n=w9>LZV$iP+Ovtn`AG4;NQOK`-yy9`qE@plT`rkSgUn8>vGp^F3d2-2 zR9M_KS3AoQM_PY590vuWfWj2x)l6uE_On=mksR#pDKWg$@;~)s!fu&qDt;zS?foN9 zY~2$L3$RdP^afH-@?@mzRbm?sY94;Zq@w-jAXFJ`h>k}tu*4Drv4q zd&5kkdw)Lfh=jBpjOvxQT@~*-MV9cHOO_)3ARY%zyHD7448J1Asx5RVDr~BiQ4bm| z_%%48J#O`@d%crpbv}}%li|5&o(z)4Sb!#VQd#kX+wyW(1}$rL{}uJrV&t1D`2*CZ z;}ouHo=)gZYmsI>I6(&V&kNz9um4}4bFCrLR#S^8)~_pHf!Gf8GROO$%`;AH+q~Ha z`-WF|((&y_YJm`l{(;By14CnS9LJS!!z*^sSdlL#r_M`9E_lX!pP4;;AO9$+TDkLz zo_>_HlEOTBuj_rVk$p^81+1VoC7JZ@HF~_Oe&4WO<|%1mf@?DeND|>q3MrUiWJt_o z)U1zx<<`LY*^FU&WFpuMe7N2cc=c3n$%)CF150(yVHIwj%h~=972{zX_b@p&-yA4d z@Q4@wFL-f-Z`J}5DfKtv)$Xtvl)*T!2gtjEGLBL#qUU;4flfJ}o)$Bw7T+#5|GH-?6A(-HZllY0<1h#ftNPP`4S zr3BZ0SI_GHS5}n7_E!snGCYLh0^vA-H|p2kP{iP~M?~`J)|-c(?CWD&4MPND(sCLl zb2FZf(zpxg=##zM`>!MprZdK>N6OD7>s;(Kr5!{tNm(ZI9uVP`I^8?qO_X=Z)8mLM zg(i8G-XruzlF02Yk|z$~`dDM?tNOQU`j1(d_OP%Rqg^ksG!IcZlUo_S%l$`wLm5fZ zjLv9BCwJwkqf1^LunFXWs>p5x#t5m{9qLY|r1yj=u-}pF9|*R-Gvd4ynQ&hl>?Xa3 zhEbTcnV#4}cxOM+{TpFD$p%VMx_4C(pbl?Lx(}l%`5U)j;i`Z%!~2ch0^~E58;(`4 z?w(3lnX^KVa>gL~A2#~b$x zF`Uc;2*7SAWPus_@WEHg|@-u>GtmBXI(r_FX{wNTQG{lNj zs%IN1$uhRHp2}pk_fy|_IzMIUScWCCQF*eIqT>p&x3-Qo@R)iI#0uE2wNZ77WYFpR zo2HOqdIG#s#!Z+iT;>KbkMak3!7-r~j_u-*5uDP<46evOV~Vq6@j_HSDxGS%F|f^-!m7l zv}#D~1gCmTdzHJcK1G;BNiNhQp>gBmy4`eG%|OTwCpxeFLB+**9mALip>ZYqy2YDG z_g=ke3L%p|d!jD3%Hp-0<}uzP3?P9Q`T)K-?Xwks-{fbPga00F-FkV?!ts1mP09W5 zZZ%Wx6`jQ`=coLBr>=Etg+smf=wE>AxIec-&?&0gXj z`R0}AKX{V^)O-54H$(3P$}AEGOQ|dErvpV;%0y08KTW-Bv(DkP@I?VFz}8p!%###0 zbj{Q+O}rq3C2!0&c#GY*7f4RwhfdC~1woW%h- zvJJ{WwOc|LN%Os~iy7zpdAkR2qn?eL8T)>KGEu+IQCob9bWXwgeg`AF0B&@X3QsZt zJlL|B`Sxn;mj6+MbH@#xuI)cq05qp1C&Ji`IMa?+&m(2r4Cf<68z$3-elKO@hF0Y%$Al^ zonTg6a3H-P$lZ0A!9?L*Rt@yi@jJ0J@8}RodV@#c)A1Yg1jt+g8cfAIfWp3{b>%Q+lz@tn5rQ3BZFjplPD6}0Ht4rrDEHi8yXooDC!S&e7tpm z-U>)O*;}5_G!%#st>{gcoKUxrI+}D@L|A0Nyy_5GV;^_j-Jmhdiod=-3SX~8>Nzw4 zDsorJM_nN>ye>}UCMHm0f*>;pf)NZQk03!GuB~uE6dj;c76NJKjnCBzzd6N>#nade zw%5nKE`Uf}@@Kg(R_9jkOY3okWf6pl-#2fe`R(?@e61pjxuv^}iye|8SYuAQndUKF zr)y+NFdHR(Uh9`#`{m0+HjQ+i4FA)Dv}WJ!?*tR2HVRe(;YrwjgO8}XQ$<~fiCg(v z&YTmM`PoJ0KMJhtE_&@PAqoaQLUeld-iKT&o$231Oy((`GrqCky2JWY((=43*E}9) z)88)CN>6iR1}Hs)xYYwmxzZDYd_6OK`-_I_@bORYu#BQFp0&;PIe?o}2M}b~s$$;N zx#nDmkV@+VJyxGS&g7Iy^ip4%jmImYp+vPzHv^pnJ|o_?5K=um+%a2kvq(J`nBWHf z3k|80Y_mky=@r}B4?={Z4?H?p| z+k#Q%{5F9BJK;u3hoT>x7GL0g1eIzX*`*PPZ!kfqxH_Cb#XE>?5DBq~c7uOZat=}V z8vQ;wu&hj4!|keLkv1)HJDIqZjoiVAyF1O*ga^a@S@^le+NZ~hh*m9)_|DJ+3;`QZ zEA9QX*5Ky1y-E{F;8Q`Q-MkD*S#6g->DDk^A1ibJwkf)tYLa)?A_|fc^Lj6XsL))j z5-}x;J~OOffZJx8xqlD}@~nUf#Yv-AHN0?2ckYWnNilBf;cXZ*NOwu=c|0V9{HT_u zm8WiJg69cqaxuQ`Ym5vv0hDl7M5;qng1}FwKX9wUk z(QY4HzvPTvo0aWP@k&LE{jz;#mV3h@vG<;>P#r&Wd)%Sg5H1 zI|gC96YtO06OF#4PBD)Ek_ICAI%isw-ETGFDbqaq3=oH!ByW@`X3pV$#{QOcbTF)b z5Ekd^)p=Y^O3DSzvn0o)^cIlPFQhW@z{e~ZQINt5mJYc|{PHI>Y?QaS?9MlX-5RX+ zs#bB#DaiKB~GoyhXWfy)oCJK#g1rBuShHWF%oG;MfAw`d9&$4QVA-6#l6K2-I4GG?M#Q z`jzpa+LVqvYh3^AGVrIk@mfbynVa{M~|kzW@J5b(6bU= z6<}`d_7lf0C7pA7MRZqP&c!s#mz+ozw@@EFS8ApGtCDab z!8!k|ed+6ah9m?SBQXG?PEsb9_^*fsLN0gE>qI5f^v=dne7&g-Dfg;P$Cdy^h!Bc4 z_+sRB#@qDCdW9d1tSr0oaUj)>r)|NS3CnEu1${_MgM`mM+21;TB}>tX#1F`sAr7Ji zh9l3%P`r;^aUw8g6eG!oKk!E%;_Qx$2(X?H=8*$?Q(Vqyx%NdvD1s4bfI#!*|FEQ4aX%_UK`i7N&P|aQp z^D5s>3+PI;YZ;ERMzLlDZEOJ64c3y3JQdheR2cF#wYD03Ew^W<&4z<;ui~ zOw0kwqb@{xh5^e94nca)jBO!V{ez{-ZJ%+KE`hXV7Rl0k->w6HTH11;$=4Ib;ebJj zfY|D8LbeaC_Fq=f$pB@JOg8A#0w#tl+9ARS6w*|-Eg2sX=dMHtNcO=gcs75xm-cJ@ z@dpGa%-r<_jcdf#cWSH`iV<1DHjd4*IF1wZv3Dxm3ircd?itsG7aHWvicZc&{_ z9pE(cZw0;172$0#OW+YZVCP@@NMd?S78yGbIFhG14w2x{-=^&O5R`d4=o(>wJwx%7 zW@^z>RqSwi`v-NOUr`O=QqhO zsdP$ESn`s8XagA`Xqu4ndZ6^AH6Jy|j?HxA96g+wePW zu{ry68av)20(r!N*^&G1g;YY$(G)kgi9`2s=jQIZc~>3&F{4S$BY6x*<_sF;!LNyrmEzL+%E>#sS^1U-=b%mPSLLk=8wE z68{;B+^TrCSu+T~45G9+q-1n2aLof%YHPgc#~QMxP%23{9`;XJrswmPIYDcRDZn zsC!N?L#Q0%-u0?aD(g(T4ZpiAWus5MCdUiILnAr^uAxO&4QvBLtgCE^JJkgTa z`h5^v-j1VXhy||kpkS*J1KNgr@;RjMD0SPnAB)%J$O+SZ&$I?F`h22F{}#|sEYMG^ z_uFdE+p~+5mb8I>{+o{MLwAI~b1f~urSen6^yvTZPV)cmr{@u5PU_g94_B``6l zvZMrycWGIUtl=%-8bFe*1TSBA1A}tNa6g>jB|_F8hCX?Oz^f-|9qdU=$Ubk+Y1{B3 zY-Rnkz=B!fKU!U9H!<&ZSdKroWteq7O}IePy1JbV&2sz0UcT<(p)@bRr?f}AHO2>5 zPrKtbR2}y!kDeL*vt+11luh0uoq6WHi-VkpyN~M0t?bwSQv10Yo_8;^eu}ZvW#2BH zkaCX%N{w~(HN+p3c4l+!Vf^(YZbz2UiNa~=NfkTb9`S0AZLgj>DU_{=(xNAk1<@OGA=1FT=k+xD7!+G^mjSnk%Ev zV}$*hmE>%zdO1%n>zpA(|A2G+U1$PTBx{h}__`w?6$5GwxN6u+Q0 z4RP(!#skiS4o;;0`)=A-ml$`o!`Idf<6r~kDg;PzG@JVeg zi?*~(H}wAs6i0qA#F>nPGy>lC*O2)1OaW9Mt3^w$$@5C=xh=_M(~?5L4P&Z^_|egFZl*S7cVc6(^Z?NVFej?QRQiB(5GBa6!r}0`rT!2? zcdio-SjvQjbDR!(>V$0)7=_n!oS!dg=p=ec{qbgjopkX@X;{i$JU%}t2~d`kdt2Oe zI9|S-?xUir8cv^t2Hv#}7ebg`PvSRI@v#6b>eI)Wm|ntS7<+njl+>vb{#81T6uauA zwA?cc=>RH7)*VlMp>a!Qgzp~Atc%w$etL@ay(z-|&HjjTv+|!b zHeKrC8!VUtP*QP;a%E}B`~+!q!Sz>d#D)A;lU`gks_VXCen`2pUeDmW{m^HSa09cmA-W1Hen=y;7PXF*hB+UFwQcixshd;$tktctu%BG4_Z<#Kxu;= z@t3C!6E43$`n*m+pDH%c$LyiZDLvPthrB5R6G6GCW8n6Dn)g1z*@~ic`A{Y|Kg4E5 zP`W>r^M1^q)1dS|iuZqa@|xpD@|F(kzfJc=md&t3sD>}-K+YZElz~9|{1*$!2@?X( z@7!v#%VDv&Qu-H$cHFPO5u2K;^(b$&GNm1Acsr~KG)NxyR?K3E&Jh~p>kBt|UKqbE zdTB%(CcgmsSVNOpErjBc7=}ye86b)pc7Ln#b!#fpvtoFKD&4Zz?=Z|3|Lb-_41s1_ z`zK`gI{{-?IA62nMVb=Jcw1qTw)L6_;8nz@e3nu{jb47X9V%^mae8*Lw+MKoM27&> zMEQ4o+V?~(Z22jzb_x@Z#fKIn#W%?-pm5yYb2O@F!lA`ZxK)KM&bd!?*;Nlt!q;ew zl-j5qT0h9``BpQ{HUBf>dd1+N-_aDiprBy+j6bR>prxQd8CthQLmLefOcFYqC6F$? zy80Ts_C#hDuy_4Fk==3ZRA>HI{8FP=B#Q`)?`L^m{KZG087d*Rz)cY??jp0MTN$fo%arW?LJs3q* zbf+J09HtuV;u%-m^xU2Hs3Mq^g+o%V8Ee&#pK&z+Ql_*V$I;ynQL<-4T1tKGY6~Ly zG?O_?{(PKev$Qn$CVR(-8Ph66Ka4STe<^*w3X|V%g9s-3NdzCXY;{|MRV$z{L_tgB z2dml<&GLQ96)*+$RO>5z{qwHvn?QkwiVv$x4tPY40fSa6iJ?U}N;w@GcS1fJH-a7; zA_neypZ2+3S;tLGFJ_D{2d9)Mhpjj_oT!7XI2mHCprqynNYeG6erALf->{m4Qf z5UI=t=f|DW<5jImuMq3&w$1i$?8P7{nlqq3>_)t}M7LyPjw>V%v4EQ?Gz1(q%yfSV zWw6F+;570(h@S*oU#K>cK~lF@sgnA;~P#uAvvXun!&BI?75FCh9 zSGy4Y!{&`t2{XzcDj-;;l~+tO`M)D)=Ys7qd9Lzx1Rb^%@h|mbw#y zU{rxHlDzYU8`zEs#tZ)FXp?91sjKwNtxHnxCEz?^Cin<4^~vvlA|d)gz%H}e^Q;)V zXac)@t;O^&xYU^THGe>N1aE`-O&#k+9=e0~W%BqFCHQ%+>Ov5H%(tcC-Q+ZY!x3@;XrE9uvS9M!~MTLBlS5e1C^z%F%HPuNdz zQl`w8H14V(0I@xRQ%e0^kh#a4rZDL|mG|OoS$c!R)f}=}$UCHc{S2m{ko$Si;kq{< z(dAJN0>t*YmMLV|LQ}3DDrl?f4HVWu*eO;tgUttO z`Ue#(sS$43$J@hQj?EP5S$6*gEXG~uxVzG z6#@o}6@Fa$)tX1bogb#N8HpK+q!|w^jQb$^xn%0Qh7T@D11SJJ{ods1f|gcLAT;bF zy4i3}afNSJZ0(gw9>i8CSO{yZ_=p~{)8i-)@2<01;Ru7qaa%ZcHU4<*|NZWwOQ0G= zNb5b!b=p-q>P@nY#i(#@cv6Dx=(ahq<4u^@l#ai_smQ&4>BKF+EgyH&iOTuUCXq3ql`$sQ`^oZp zEKI5VCHL8wNfcuKswj(K+UO_WWsZIOt^Xu)C!YCF!Gzs&Li9+>Hd)esIbd(EvxQ|O zmf`CW7@Pb<(h-3FL}$`cM7H$> z`p7|8g3X9<{fWI;D)4>S_$>?4+Rf(JZ2PP zZZd~`d#RQB654!fEj}U!rVtcuhB}kon#@f_TyRBn43>`fT^Cn}@+LH=ChQwvk(0?) zO{=l1uX4jLmZdMQxxkWG{a|1eAd$3fN$yQAX&bSq;%#AHP+LiL)jfN=&MDVUA9p|A zNO3dOO>4*i3}5Kw$ruUgQ=xLL%bDK@uMx;ETXP7du&jPs7;~eEbzQ4OIF0uPcKL2m z{%(F9*-aJLFoD~HtFKkB%Pg^wkK?NSL*p~HU3Bm8VNyN85BF27?&|vUhHt^HmC}U` zq3jc*VJUnm5x;u{vh6t3`LGH~$<#m8bzYMBD`B93W4CU^WENSbV&u4N_3{hsj z=HXrk#y~d2X27QCufFTEY*`WWndrMYe0l%9^HQa)OEd7#1+}3?!czQ~6_Jvna(NO+ zV|%4Ml!C)>!MD!UeRG5UbVD3lS+%F|A1P@W%mJeYgKm4p?cHMN=iy#_wQX+KdFWXy zwF@tIe=& zS{hHlfBIwQBM4YFb;bP7GsXJ-&*SIMFQ*e_G(bHp89(m^DvcOyM2azjGov2I`i!8S zyKvLpW|Tp}@OLK@nnUn8P#8d5LU!B$b4e=%!gw3lTp66&*P_bq)0!t4WWXwIE2_te z3j~pVFxTZ?!B+D;i#^-feUp@4=#a~D-;E0Vu}`j$O(?HRs@HJr%RSp%4+juDFm2!x z_pM~B5%X^))ZKzwZ3JZM?|!=8XYR&~Gmy@K@t@q!F|+HjTXgRlUja^iTw+VG@d>qLA@@HzA|I#r+LE#%$TQ4E;uxX0(DEF3X?b_C7eV$ z=gSdeecZQmSxX^u6}p0!?V4}Yhg>4KoPZ~@RB(Y+&KGFqLEQtA?pfvDOIfB!A>Z&4_K|{G<*)$rZ`)$X;)-#%8_to2Er{Ocr=Ytp7Ev{HAs`GUZty*- zp{qhZ53NM_vs(QVWU))FX3p*&tvMIExT9dhD?2WmFS`8^HO``>SKQ;q?`<1&<4lRC0`G!m7V3$H$W zyBj5w9FgBE@Np>0fa|cn_td;X+-<3TvDfAEpm{|#T;j+rPEDxW%e!K)(o6p7l0Zbb zq+;0y@4lya+#jd3RbwIFqUfiV5FyxxHH*mJ)84KvF|ujXwi3=H=GJ#o1jpqA2cUy% zu*H)Wz8R~^8 zz?*=Pl;@625R?Zuk747Oy}ud5gsFn3%Z-Y%1nMbCfZUxU$y3rQVS9mqCUHTXEu^Pr zrD7XSb#~~>-3Lag!H_ij^%FTeNmLVx!LauZ8@XDhD@SCp^;T(9J`{oBRsn})X}Nkj znt((jQ}-THY{axAIWRM^?jo_X&y78WQ{r0BFE=U3WC}WHjr5j0zKZ$4#FceB``jc z^pl9Y>2V4{S*)x+XGPVJW^aK3O$A2hhDYCm4ef5~Fz%Q#TzjVEcZjaL$J>{U9o1jh zZ`j3MKh(&X>yP%Cm+Mz;Q!MG~5~W&dobJ-H>!b}Qo97Gt&`PEC?*^EX^jS$Ru9|qzk}%83Cqbq z^Mr#c+2xxGNsdwE=<3J3P?9EHLG*at0DKxb zE_gP%cajZI%nTl&XMGTNE86Rhn5k=FhfjUhmndkWeLmHER`d5I$ixb|zM{r-_hwP- zC`6o_HhYomA|@o@LhEa%9fw@xSj$+?>fp{FxE`ys(OVXE8lFv0KRU|GnR2EhCRuPk z+FxJka@2~WN~U?)SL{`%b`nxFhdZ+I5x)AEIz{=jI}P7h%c|g?1}5z84ljQkhu_%w zOy%OsnbGj;WV_cx`e3O{zGK?x#tz*qm5xfee-2LuDu18Mf$2{>qyS-Io!Ec7@9ZQR zX`!Lnk7bzrX$2iYVeQUZW<-xwJ1pIcA@`rfLzr8ikEH2e!BE~9IqL1+KB&WXoSW}A zU95{za$a>lc`E$-zS;0qc7!ynMG-lJ{AqWal(8vx?_WLD*}+wG<&-l2lNk+eX>J&* zz9|6A96?(*J+pM)b9O?m8%>^8%hMMe88h)F1E(0%3?15*Gzp}~Qs11o76>E2 zc}kTqFqa)XV_Bt@l?Jn6sSEGpy8ll*l&n}4y)w+M{Ag>y#ZHTPQ~31x?86a+ zZ^DKOsa|ich_7~irFqs%5w?Ck1wL-vpcN2i&?HNN^1z+#GAUv?E4k@Z{d=InEh1Q2 zMQI_74Rhek!Y57nt4)Xre8uLF#u&%pxPXl);B$2Q&RbiV%VFjb(7l5GG+ayu#AQFp zSPbpm_1($khFFqq879zxUPtAPL6W!5PMR~g+mjoU&eWY6>O&uAjzrsxqLax}1t2Y> zTsz?*)jHHkS+_l){u{-&4{g4X%~AMeYEp!feOfW#X7&G&ZsXbh)-Vgx32tQsXEdZY zhruZnEb^|JpCt`~t%p=A@0^@EA2p=PCOMF@%@~<&l|yqg=d>h^>aipKH47kx*h+jo zBP|3$qF_nS#!z=>PWJp}CKFE%3A-BbU%*j6{f+o`nD;fUvYrMB>OijEbzylGX~iwH zeg5$6=3?7~q8Brnu*z}HP327k_DJ=BzZ3wX19WM6aU6)I6Xa`iRn6$aAlE6=QmF`PIIFc;RF22ji?0ENsk z&V&;h!*$9Y-{pA}A@0k};Vlh5p0<8LRZGpUTF?J@xQ=##V+3q#0Yj$~5L;R2Ir+5F zN$uYL$oEi^$c&8SoAlmBiouNFh+62dva7b7HSs`>DqjV(~(rj+~K72RRGyB zm6^ffF?8@#O)TP67tHy3M7s-*s+GFxtZe)23@5*~|Mt|4WceY8pB~@e2BpN{t7kOY>$RP@x^Lr^xP+ILN<lOfK*f;s4#_PfmKar02(97+<6=X1W~qqJL; zL-FB}oxl$_9Mj*lF50v^T#sl)L!+=&T`hTOVx#R}n8II~ml?-GFBiHHnkg`P_-5ns!<4)SHTF#lzlKONuxg$CDkff?P~b1Zs#rMH@C z7Vio0iabTn8EKyYYE-99w)s41qa~Z$F^{pVJ!Ur25p$eTx3ED$UY4=r5&om64Hvmm zR51e*^bbejb#bnC%aytfqXN6N_>*76)K2rCSw>Fh%rH`nDo$OA9(Ysj-8WE`jx$k> zeRwkNqa|q*=z_c!=;NZZ1Bjk{ZQv(Whdl6iGEZ=KKc*s#AO~Jae-ES%TA1-B9zSZc zg&bNh6w_fHXGuoI#w=&tF-r9+7`AT?EB5Og*~N6${;&sV+%(!YiamCXDL$HZnS1cy z7uE9FW192RkHM!MrpK$DzupT(I<&|+r?KxHTKS{xUix>U=h))PcfYi#xb|}B!ON2> z)>}|^BFYK|{?PpyXDt+eo>M%J7@EQ=buU#ufxL%Suxo&3C(VdKUMt_s1>4r(?VFukoLS z&Ln-^NscT~_CGpfqy!xcs@!I`lE^`P@L9bpxd^}EyuMpR?>IRBLTHXhxNJ>KP}KB!>qZk@_S zl=z`1QgT+S>dKc&_(n62b3zte%r+(hxT{j^P5VV1A_|_?ptaNb;=E=apizP^OWUyc zmrjkk2Da!ek?1vH;clA5R8D4fafO7boxtMLmv3(N&c(pQh>Xz<7dup)Ay8lH= z%2M`O?93}M&v*~PM9i5*Lafgzpl@9$o7n>?*0IR*S<8}s>{LBK?qob+S$dML$ZXL> z)Ee_jj)k8?Frv!6BEpQ6o?Z~kvpe8I-MSAUcEfez15qp6Smf!+$%c_$ZO<#Av+>e` z4&2v@ZTUozxs3vzaxa&^r-*^=lY0-d6I!&$E$e}tNuTB?Z>?onk49AqkF3ukBZmtH#E&$l zIxo-psBdUcO$`bkR^-Hr=*sQ34F~12VYWRarE)lZ8bpj z#S-5GE#s41u2wXU6i?>{!poi^>8TR(JKxABy*o`sDnyTlDp2G2*s>|b=T3XtYsIU0#Hg58+ z31|=Ko@wXDWfbpp;gOfN+q8caFw8j?)zd|y9v{+@JlulGkazoD?)-{uBUt2OWzB0T`w}n;>GSh^B8ht@AxI=oY1Wag-GQ18?w7y4^&J= z;iU058ld1adLA~^!pnvQNfLwpc8K1FoC7o-|EW$vsU^1Kp%=e~HTL#v(r@zzbh%@Y z#{M#QVQVdZoYIq{##gl6!2uT;^gA1c53Him`&~n(Qx{Fot#j3_qhg zq{1GOrwXB9&l@F55&VHUVPz9y|He$}Ry{ajl>#R-zh3;>hs&rHc7%S7oX4Djh6Mcv z^u4M@cM<@!ib1L0zZb_fKFbSC=a-+nUohD3O71v1Qjj$?ksIlK&sp0RqFyud_-6hlnBh6J+>dXtKxa4@F#Bj?Bxoq5|gH-_47 zD60_jANwLHE~N?0?wp2#vp)eYx`|!!-QZUNGM9wxwDhyOgG%0 zJTr79vLF2QgO_>Ap+=){Da<^wT}3{#7%|5|6%q98Jzl zBiXIZUg8y;u*7fT`NpfU6Yr!ca&F3qF5Q}Qg|9Y|u{VySc#P1y-n9BA_2QM(f9MPT zOyL?=?2L5!_-TB#`DT@8*!eRe{=TSy@VtVNFi|W;1t6ND^$!hn6u%=f&*)zTl|zu$LV>!07{ za?QMl=Y8Mjd4Bi%-1qSO8s&Ud+19yLuj+A?JhS0_YF^>AviqLMMZ~}c7w$XHIsg|` zx5Aff@?wct)cfv>bIhu=mSY6A*((lStekpBnU0{!DtV3&hc4sRg;D!VnLVak?F#tWPrHTPBoWngWKNhL8 zM|59wMNw|TG{w#Ec@aN}@ASJ#%+`W*^HW8|x()`0CB}eIcGlN!;*3{MYPZO@1GlT- zzHjk-u}xDX3)l(z^alMqgEP*JHO}FlGj!Xh z)?r`KUw$*SHHs%!-1jO}SZGfnH0WL%nbUzcDfont&wRV^F6B6N=5YDnt1z`L(Md?FpG8ptf*Dz&4MhKK|V zRMxE$V{?D=W8h6rfkQh- z#@*|RttuFzlh5lr{jYO)jR;;~-}F`AN*u5{9p_&jx|HgJzST=Oh;f>tIWu@H^1>%$=u<;>iH^8LV`( zu^;Xd$Z1Eh8sxJ|q_P{zl}_gEFA544-gdT$TT6Liunr4AE~oS_#=-Gy-Q>GXYzkTF z1Rju~J>SgDSq?5$JR)ix-bP40=4HPe{2aSj)tc`QwxxVQufI!#rlO zv84Y~Kj4toumS3(WxezO;RW1wB4^R((;PXRf|AoCpm@2<_?I`Q=*ddpu<%kie@q7h zbFsfoW`rmA3V#W*&eJr2j)8;Pb21xNcr*!2n=_=`4VAEDsNpOaVW{CrYkxZgcWpTC zrIJlYp!yW&0?E)Y1%w=@T!`3@5S76Mu7evKXDTB8lRo?aAF+d?eOr;Gq7p&&!RlmN ztRX3^?Qz?(wShMp6vi*e2!i5fqU{l|lofA51MpfR6!1D$R&Cza3ZnRu=Gt!VgH23U|AW7QD6R4@ww;K zUW-{4T4;$#6+T@=HHv91+(n3M5|^sK>#~BH!~tp77+&kR6PL#PH`;yED9N@oEQ{xO z;Y;^K%h85vmjlDbSqc-5k4d5bG8pQmChh2auCPBPp>Ju{$x9C(2S<|vS-_5M|=$UgLV}^e?{Tq^(X(7vAo9i;u4I1U0I>li67`UjLeh(l>$2MxnTe&l=v8- zr&$8-1Ypd|1X=8%CHl>&e-(xpAk7kPDvZH6#1r|Y%cM?vpN%|adj7T+ zL=Dl)bJkvOZqjpLyurz&i#^55CCyh`%_?%R8e8<;7S$@1L&tLl=AL~mz3!BEQb4H& z?z1dYz1X`XTi5QgfI8B%vI@yz4TIDt-{giNTE&eK;*!uurV2vYn&@1AlT2!We_*0S zOZy^syImD{fHZx|m?t+Z4HBho6AXOpzEd1`eyRG{o+y$a+bc|`0&Gm4L_&T1c3-xl z)x>LK61y0n#Um>=@|kaqOrDqL89O|({$lE_mGqT%+g1Rqd0XGBpdjd)MQJR7`6kWl zbij`W&aXYLZTTcaU>=LPaq)FsT#Hh2x8W}H`&M@Hs}rF}WZc%Q*N%GS=j$?~&!X?x z_1&;sw^^|?0a-S`sDEM&Tc<1-dGCYZJ{SXb0HooZm~-B54j{45ei%IE{Gt8j*%nae zD09|NQjw_3jWbx6uX$C|{miZZif>AfG;4j%pCoe(p7Cky`6IA}9~vNrNfQUrv~AS% zp!?5RWpr`(a7q}tc4(ueVKe-3!>`=po6OCR1yHF%<-3U#(!g-KeLV}V9nh2wozWN{L7Ft&OWF05p-P~U|jel`W1A=IBFe%oLaAHX>Wp`)m zcn9l)3A%vEVosE0bCvg)!*tR_B)7^@w7^$TMt zeQR^7YLk&Y3WGs_XY-X)I?tg~^j`3c}{WJav zXEy@QuH=vDQ@H~SMf_JE$o6%GsnuX-L@LB?z%x~ec2d(CMk^+Q6%z@=7k}+-vfm(3 zE97IYYkf1qG00tn9O*o9^!xk4l!OUMSBRHoT0_&=fiuSbEnRM^ArYLI34w&pw-X}6 zge2DQoz^gFZ5U!Zzf{fxNi|JtJzN?lBp3S-C6Ln^nl<@MhT^Qr(Vm&z<+F}u*0Fr! zDQA88|2ljUY}MHq3?>=g z8VCe({N7!;hY-l21_*@0hx#zMqVmSM9Q;S=EPGFb8vOI3e)<{$VTat4yRGreXbE@Z z1B3kj=1;bBZDO;>c+Dv3spKEfGdOq6<#2!8TZwbSCFdO#x^gY$b?V1M3dcUmoT8Jz zWPWM(TFpBB$og32{R+uGp+0ZY$m}z>gn50#z3jxIBz+7fz078)sA-T+20}skj~{oP z{U1_J2-`naJ^9;pnTDfuewB3p_$2v@PdH>CVe&%G@2J`RAke>mP#Wj`{%wfA4mF*h zNzb?VOaJ&7`3n>ut$&|^3_Bx~azaN~i0jQiZ%NHA1DRp|*KA)0K`3rAc7D5e@wef@ zP?d-Oo9aK;^*^irw^#pjtN()4e{uEy#A)@y%&62V>iD@E&0!MDH(9P3%Y-pCyf}Jh zv9RSrF^gTrXK}Yho#c?G8*@FIniPPNTb~MSh`)UF-4CNQh0vm6wA6^y_QWClP_emx z7-^t>AG2IXveU15R*1>bM9P@1a!}H}F7qQ6JO21Ol;pb~yCiqPYxQ>Z=CJh=KEJ-q zdkY5}=DN3ZihM|j;gZ12+O+Zv&V{VcUIN$jppi5Unek4+wOeDJqEDJ%U!A^T+Fo&L zgk4k+GVZnBnc?d+OxMZF;5Tn8;@}h5#TzJ+%W!x#s0dY=X_miQg>`$^Z zo|w-}>dLVjDl%OfGzkxtC1i6#shjV!J5k)sWKk#`>P=V1y+&m)NUwhr+Wh{CO^>v> zv^46BE?w`E5Jc*}I>~0&^zwM|xDTmwxWv+=<-GG-LwB5O*@#_rER&yztb{f8s^`Jp zR<2R4hZ{b(eE1Dl;#_+x59DCA>E!ZD*R`oOY{BC@)sw+|i|>>L+Qc(5ZXNt!J18*i zh}KP#@x?d=yIG>qeELc;)YKfGmdRXqGf->b=^ix2meXowv@;+B9xi zzs#m^#J(P9&(`)e^D7P?fa+3BSHTd9n_n{Jx6e?Ud&=oF?_e_n4y2H4DY zB^VZH>R{@G%)3f5R1j6@QTK6gyYaoP@$t|C?rZg{jkIoSZCvJ2DK{|R-Ij(i7kqae z-G#Ecsvl*lR#Q%Z%{jDOy|V0+*^NAa)NJ%Bi#ko+b$_43f<1KdRyVFBM`(X{9leCG zuX9Y0q`2wh>kxk(n&=06k}7r4v5)E50db(dNWl+G#M*PQ@D=Hu-9&@`a)@Z>3$cUU zbzIEzTF)&v?@>12-S4va&83lC`4C3CP$(g$D&^MRMjtNbnc{`#pCost-f#A)NmnK# z6{Q5K7jJm3cfxXA=6kh@%~T{7veNFu-rIoWQzi%coN8j1c#ZYPT8CgcSK_lqoFD-| zfUY~(_pCnHC*f)l0eL?A!`Atxnu>?cFVy$9c<=sf$+Pd1c~Lh(nhX(K^gDFIVec{v z$Z8|r%S=HX)`S{}jH|ijW9>BgxGGoRoTP6FNb%22CnUbPrdG8nkGU-leiwh>iegSD z$hzbk)sD{PmkHMI_HL|b8@fiZh}^qCQTOvJ%hH(ViYx3x)%S0$tqz!4MS?=PcIi`4LR$EDnGnR_t6G@qf0Q1EIAW5oyL z+d&A^2nA0Oz0?EE`mAKnF0t8<#O5GcrYb*_q5@cGGtZUUau&m#`U8^m0L*F}nO`@& zT=64pTa?;73<9NMeBhhmc^x(Pc?xUW>hpUiI+b1ja7n47=Gl zTxN^UxMlreGtN4%@bGcwimoBPA7G2QJxVLJ#Z_Ubj6*M3mt1*HsWWY%P~yL?*&LqSNv> zA+!r;Gx3R9UlL};f|pQcJ96JUl6XrcP<3=;?q&NXbakc^@q8Ip7sF{DCX+(B76(m$ zvuRa2nY!C&l&Wv=wombALQvT~VQu+pQ* zR;nym+h1#L0Q)d3yoT&C34LdwiJc0C#M?hAJOrhl;*8LSbmgDy!(Sy_P9R=WF;N{8 z)=8;Twl1`IpgHT>A*ZZ#+pVp?jslj z@0n8Sa9-4-zde4#sw%XxfDzS8-`EU6-C%fDT9spWiy@$P7XR*0ft?J&AW@68|8BAD za)0(Cm6iHO=6O89Eo{Cuh_JL-WBL!J%t!@&>V{qQi*#^*jY9>*Gr5B(7C8b3@rDZg z>wJh9;nlEkFESD?shp|H=OL=I_pz+yg6Fpli`R^wdy5;HZF`u!;xMV|#!v^Z{M%jU z{gWxzXd1FN9upf?_uiRJ@H8wW-scm;?|;*`mJctt#4+aLQ_l%jDL#T=IoaYk(&o_% zw1j7`7=;K>=LfTQ#X$U$f=1Fdw1s?~Lo}6I4`k5$5jrPy%@d{*hcIs6gP5uiwHhMhc)zhm_2UI^5Cs(?s5&^#9xofTBJaVuEdCddd^ zlIS*UX%}~r;->e0#LY95yW|Dc%)7AHt&-fBA7DFP=Z({lu664i=|94A);dFZlDA9m zqZ%xXs2Cn((WmlBO9L}^jbhNgqfi=3eTjBzi}@1>LAmrxwfF9LM`H!LYoi!>Fv!sU z155v_l7~~zU5lHkdD?cG$&YY3i3p2IA)FANZ~$3TCAx@w#)=)4s{fTEzem@K7GtXxAy*o{tM zQSgrTY0W=R;`EcDgYFO>BSdYTXg^r(MNfGO;_g^>bC!F;qH=GC?k+C{+&tMX1M#<@ zZN33ftZvJa{G9=jxlKvkK&Ade=x_Su*Kd($*ddB}ZCSvd{z!H}X#B;jm|`X7^7hNjds#=J zm#=iEeLlg`=Z?@6gg?=|yVC&jNnqGw>-<{m*H9L7=h-fmol8TfC@53;yHUDAcwBWk z4kV>o=}J)+N#72v>P_#w^mbTzf)IP0kgHq7&)@atJ+SC5RSrhbI=5P@P)ZwCuok5> zd*DyE(zCU6W3#QXS1UJuND^1Bk5-UCJ&$7L$h)q22jb68HG|?aO%k|js_m=!6>BFV zQKkE`7VGXA@rwIh(Zw@<19^tlMJtro>ybC#}oeFXKJTY>^{50pV)Jd{AmRUE?7(#8Sxj4%;3< z7TbyST$I5Vi(uK6vL&EFr#==|ePG?z)76hT7XV)> z#t~sBw_N60DJMb%>js%&b~fc>9@dYCU!gDh$-JPltNE!gQsJ0(oK;-7(fsk|%o1&` z60Qh~7bINtzMyddY+HfV?|UJ(_!(C0%FCBjf}bd*pHF-&5}ijs+-y!6SsHcwUN^*l z`^t$>85_!%DtxxuUbt zyAFu!CJLV{m&GQvt2d@awX)4(?pz7$fV9`PBbuKhHPYZ+JAV_-F2pbI>f=QWxkSm3;gW5m5nNc|5-o~9(F>vS3M4J!4z z`Os|6AaG1{c8J zRlzkseIZsmk3&~dZc;wsi8$eX`-8oQ$@3n^UTXSCnGd9ZtkF3}^*;5hQ0i+?gN*?h z@zD*&+S7_M?0ZzbDT1%pRP2fH$MGD{FI;rfb$$>7uYseAvh2K2^?9a`P}V5EV2_J_ zejp+^a{v#l0`u=nzbtl=lFnhv;*>6HBIFwZIAG*y5HfNqv%n}*fSH|H15V-st{oYT zn|J7Axpwpm2c42X04Z%4;Cq|xg+4obQuXhZUe&R;!)kX*Pu454Cs3~8^Vdk;K8$}D z0Rd-O^`xA<7yFcn_Y(K7dfCc`K0MQ!U*Ep6wZj?&iBEd4 z?W5+)SSOmIkbQJ&06x7%(g>4Tr=nF*t|E?B_{k1 z*#NMIeq`DHfhVJDI|rFJY+A1oKAm=Mkip-8>T4LQHCK{Xkzh(sn&OCK3+pUi2y7&| zoeWrE;lm}9IkcDIv|PR5a7?)2u@(_V*vVa_EZ zzolTlyaIqxXFWF9?an@u)VhAgp+cCU8}dO3LiOoTir6_HqpM-PJ0>QkCI5CXW z%YD>cgnwg*OmYQL2bQ`LCfpAqPHaZpInm~t<6`&XuO~44^#o4_IplUfgdn9uoZxg(k%=0D z^2B0|^g%%@=od`VDZh}3cIwHDEr5nf0U4lI=`_6v&{v@=9;^G~Yv@u|T3Ash0#+S4 zL`BP3k+f7fn}{tmX+a6;R=efW=4U4PRC%v{J|b$~bsqUJJ$MPE^LBA-F>oJC5Ex5y z^~?1#RTFH+y|>7Dv-x|SdY@X!)rLcE0Af^_JR8}V@59Y%=NVXn@k#+E9|AyQw*78A zwAQlk3K^)|ZY~aKmD%W8_hp2NSoOD3y`JLfZfoh~MrXXZuf!tKHVH(+4qolNMI-6rXFs37yd@m_&|}Yj9EU||9w4;OiNne^=pP)Z zw!-j|vG_yr&(?XBU#Sq~)4q36&v&*oPP=_!Me(wvYLn`1;FVln;x)uD91 zKa58^DD&L=>T3v!9R`R6CIf<(ZR`zGo89f7T7bRjXl*S3$#d0%9l)Xt1Eg$jp5PiS zVvYT#X-!zbY=X>Oe`&Zh7jO$?5`Y9?v~A;yqs!yvwjp+Emml0ItE@Acv5O`xZHjP`eOf1azk#o@>R_JLUMmavncCtv{_`&9(6x!=={Rl-ft+U*2w5nLO&Vwbga~bzSnO z+JK7rbm=r{zIpu3gz%Me-?i#`b0#_XgNI9WQ`Fb?&h6>mGi-6ZnK!=QwzB``@=TI`zX7Z^6J8ZPrXUY3GHS7BNr?HI=q+tHnk?1r+SKV*X<+O5N{zhj{^4J z?xUvmhx-m%eMnsOB+md!W1`S9y0>1MXI^MyM0y7&{d1SPfuh`v4pv+BxStxS;8trp z-~hO0=gv5hT>J65WyLY-f`A-_`?X784P75)qrqdMk}R1CLg-s2 zcU~SV1iVmXQoc@M;|0Kn7%Hf(RN)2iV3o=qp!Qa3)>S1I3z~|c1qu!#MJUU(xcx<2 zxHln+B}nyHLnW)StLExJ)zR}FBj7lifm#BXU+hz6(Q}bS%IjGf1XUnr^7UBtL;!8k zW}gt5ea!cCeVYO2vK!0F0e3uQ8hVV&$B2Ya$B>VMGDv)1VM%`20TG{Heaa~4_2Z_O zfB}Lm+wxj}ZwzwV95Sztw8i|WS??--d7P!nQ24SQhc0KEht@XEecY9l;MC5;6Qllt zN!T?uEYrMZ`pf2{jtAL-9^_xN+&s|AlX4ecx??Jg%h3nOO%w_YQR zaM!FNb0`iSev0X$Z2+P2d6_)YiMD|W?o|lLK`#6{O#`#0T*2|Z)1k)~`ib^Yu_$XVT<-Mu!;Y_9}vSzoPyHPnPRrzj%{i}I*U#P=PyR-9X zx1}@6b82Btj46J9%*L2lJk=3HD!#ZI81}s9m+zhN3t5GRI6<(yZ8Qny@s3{wWc98o zBc-hM$`bjpLZu#K+IG)V;*zHA^nF4N!!?ljfx?m`qtZ|2i6XV6 z*ZVJOczk)6Sg7K4ytl}-!)9@?P~d*g3955{X#uR| zXRfHkRm{4J+(1E4MQh^G?yF2j&pwClFX$TEi!3$=TgFuwd4JkEJWD@ZnxF9$&nC$? zT4LE}*u@tGrtJi#P50-t4c1_9H_R)y-dtYgYT*cZ(D2KTq1X0wRbvFV%;mQgS%0MN zZL0ZfaY2~Ae_@b=2sAD*R9OUR=Uy=^wZeFH^vY^@yeixpPWO_IC<#oo$1e20LGyDh zr}mghjv%G|KpYclnJir^F^c@Kt!h$lx}6Inz0#im)eqR-5A*7s8HCEg_Rz1~w-J_I z!my{ytF(B=?5|YJv=Gr~WWHe@#4xpfng4;oUTl{T@1875%U@ug_S&%)c+t~0`nyW` zw!PH$st87G@7!|o?LepV9N6|^54P1h(lUN5$spoJqw#Il0H$uC`#z#8-n~9jcOaW- zQDdauq;z*u^u`c_qOSr(U|#D4`sX~lv5#?H=l$dynz}*WVfs^(iv6jAPX<$?mCm^8 zw}fv6Mn67m^Kvt!@^q}vqTTzDBA5013bw|54{WCK?jGT5&2P@&JVOPm=2C6ay0bq- zIt2}#@;9LTGrvD8aGzLwtpw^yEz92SeOp7pBfugv^=jZgirbZ^x`GOT761)KwH1!C z+JF0az3g$*Ve9d_+9eS8s^2c=!RyBq!Y?ctz4;VWcp7d!rKua@Z24tgD_5`bMoEO$ zByjc1F2wVqp#YUw_J5?h#Xu~EHvTN^2D*(q1DC!SaS)52aLxM3bIU+ZoQ3^=309`q z>7so6PZj`Q~VU z{X55HAtzkdABa)X-DLzIN#%Et1n&7+q`SyedF#Xoi2RJV=jnmAM4e6t6k=GNS~*0W zXTEW3zy`#}d^e6&JIE;`^~!BNp#$3iyYra}dlhHZB>2%baNJ6NRaR;BeW}8SV%ONf zTfXsim^cld{~_5LSF>FBRddXZBmOZ-Ez}O|p-%JZF?ygzw>X2aKk?}n&25PP+|jue zUy$W*P6VD*$X`1u;)90+%$`t$U4Q2hDRq)J9PsT-+jA+G%bpv)BvfCIgD$ z9ywWdf>rzlb96h0pNs>vFGHocdbz3tM3Sd)ub)Ahxq2cMjmpWFa2rxSGxx2B(u-Ur zio-B=>UES>pE*v+BwwP8-YXocJ6|};s4{NBbj;qAfj36rjTJrdqu{>LaM#|aw=7FL z%gwgfqJ=Qon0pj}DN*rP|3$IUo$;53#U6j=JF8&<`1;r7 zGAm!ti7vce(sG@Z?M@k^Zb-4a!29ZdRG0ol(7E)by0&!NHJSj23jN?=4!W9#l;c8+ z;6NGli%|1az2yvbSRJ6a{4a&liwAy?^Nk8AO23hN5a?%GI=?_zy4-Kt9f&_24e;VY zZjGbASBu%70d`|G;{&L-{PR9^vfwf`OAs%a?EJ?cCUSBHEIA}RPJ3|q zUxQ9iQ8#=>JiPeNTL8zR2A4T(=yP8Dc5imN8W0MeJyMeUUCu?F0xrJ@m5utB9xH$e z@Dlb)Z~ieoGR?_B&klK2pq_R5UxTg!x1Uhq0UY5!@5BBAT&5GH(Ukqyphm#DH9Y?r z{h!7HCi>6l|Lyeu7l#)$V?euOOQi!wV$r3h9gK);j{^Wd zgKB8eFMJZD5_{u|xa-1G*M)u_mjs^wg%Ik8><=ln`yZ*50>y{q$c{E(Pp~N6GoOx{ zk^`!|!0OKywvl)-=TS$%JDLEwjHAEfO6^ve6(+}&^`JwrzT}*c+2D|Q($Xg1H&L^1 zXOTc-0dxg|El)&k28}^N;N&`Jp5#sAlC`rwJMxOn$D-DQ!0Yf@pxb|k?ytxf5kQs# z@npt70ryS}J$wBkzTf4}vr)&EbcdY901$m&D9Qi;{j>Yd$Cuc ziw)vLZ5Mc}pRb#d>jRi9^|bCNZO9lPjurvucM-y*_a6FZbYKrA7ybYnD5O%TJQgir zXeH^nSrW;qI1I}5ld@}|46+#S+|~AT7U)cJRpNx(@_;sp1dNai(oeVEdt5_6?_f3E z5##=4+-=0R%=j~uMc5+Z_=Q`8KKnc7`gLBFQM{VG!L}+1Aa|65(ljiZAj8Uftp@Vm>(2EG~I?a};r z*^-Qlo}BFfNL%J<=O^v~SWyPp8|#s>+@6eoI06*T{}!^8otoB+fZ(4EUWH|+adq*Pc80MRI7KQ@Y^ zR!x$^h0?%XdgQTrhSleN$3QwcViGPnYSG%@e+YLxT_FZ7ec;6+YV(nAzo`lrPu`IPi5p|g32&iu>(^A zh{IgJ+%AD%zwBF(3e`hGAWc~)vxpOC3r$n5UTG1iO;w|LA^C>YSgI!ke;O=J9=T)% z61~OKehd+0(MS73-|Pd;17rje&7Bo~L2`J{z&jVZ3+`+?Qf5mzAq(fA|0_9==b)>E z#P1$+00OARU&@t+C_ZgBSP1j??is2dQ%P_ju@VKU5}1=?1I3XFZ^GL`yG^sMcuOGD zaHH66<4P*|OEHqVnt2~2PT4Yc6wd&)y9xeQ(LG$}O|qfTd6W)PPWi1MgO#z`Vl(8F z!ZuKY4L1hSE^YLwxeIC2`-!xB0+Ot<0kuX}P{C@6KqQ8{3_&AcXkq+U+E($fg^UQ~ zkVp`nqbd^?*De`Z%6Y zKE1ha5+?Q)WS=V;!q%D^wkL0``dM0)DCoF2&jW$QGYgkMa_OI1iM<@MOIoR~uDciR zV(~!~s4l|oES_rjB>|$q9rk6&)87+b?t3VD;w@H=5wLrzgSc=~y+Y+!gPyHkTJ2a?A+ZKf zphHKw;tP}^`#-{^0i7h(p=EZlP60tU`vzvHU%xIZ#Mxl!80&QUk6iLo0?=Wtf+%3U zg>#2%-LcTP6VkNJN|7k;ngjUeCjOb!S^v_;;tUygpkQ-32E3u9dQ6OiQkFBhAg4z+ zNRj_S`YKWenf+A{f&?nJyu3FQ&p^R?Sy@5_hJB5M<|r65h!R%v>xen}8%pqnc`-v3 zHEi^Gzf$p%3;6Dz8|U-4j@hqK7cdrkfWv3BxKWQ%ImFtMrX)j)@2U0mJU|K#1=&ZX z5G|j20J`oi?_OOSXZKuoRq66*9RIs0ie#Ng!aMLnb3l@IoHBJ)e)TEe5!&=HKou+^BeMRQO3H z{H=wffVXaz3Wc6)f7->kFz*TfBUO1$L|3VeqZUEsFzIT@S4Guv5|MhYIyHpb*X=4S_Y|p=n zs(#d2d~lu)Jh)c!!}2{8HhDdF_?}{njr>jVzs`0)nWt12Px+PS>zFzpF}S-Lx@fBK z{Rb*nN30qVT6HQRGOF>iK*r_) z)i?WABz@x6*Be;-0<-*EcA7-CQ?>6~QH6~wEcP{zK}uB!jw2nAk8wV~putQ*xeF8l zwZj>z30C0zEdmE8mVA!a162hXMm{k1?>=ITTeKrO=7@Og3LqVq+o+_}$wI<;jsmB_ z^|HBkMDD}*Id!j|v&K7n&HNbv3HUq|{w zMrvpsOJx);fDL7npvRMRRstv|JZLP$H{QBQqVDH1V|{wMSX#4eITgc7fXHw- z$e0ZMGyN`jZ_lNLFMfEW`i2W)4u+uq5FxXD$RQ{?ETeBm_p)5`W01|*K>IF^2_9pU z8da6v+bAe}$VN%WZRQWi{+=!%?tLP~`--d{n&bzaQtl+@O=`J^0Gqa%rS$?P;}R&+ zzaxY3U^uAx@6MbD_?Cu81|o2Yoeiic9)LRkot|SFP|#_01$7;ta_2o z;Cs+(1HY`d3t;dhZ1y!UCXDC!eMO#W5PzG+Nsb)=eIYrz*VA_uf)fBF&Wa z4HlX#ffC^+VdrnD!f-5P5rMiZRp5%(@&xC|BA^VrghuNCcMft;3BV3}ClWqNdY18A zMf%TZcSqD`_ZfT^m!^2qy7$wYd^DY(w_~9Y@HD#DVEfR0?WgUr zSOS7X8*Kx}peO-D@qv?vPx%2w!$PS!n)~Rd8*2zJsnWv<_Q#hi(`7QVBXJ>hisKf?is%K{>l&l14-t-jB*fFf{wgf5&d~SiqJ&?!>axPF__)x z;0duQI(QNXgf#iY9E5CkI!xL-r!7YZNdOL{8E%b<7n z$E0Ri3W*1`Z3$oB;rC;I%$MvC)}fMT3?d*X#Fxx&m0BfMhL5u{bSsRc& zXV}|>i!X4G)I2X{i8TboFli{!bJ>zr!tI+?ACN=FL8n2sY6ogx{+-~o#ch+N5X&l!1O^|UQfzF}K`U!}#n+=Cf4vNjj{|NhT+n1^4o;2`;`Tvs;LZy!q z>?Ld4;S$Hb6AbL{GG(~fl+$d6%RRT2hZck#C*?>$6|nf?jB3GblJ8j9%}Hu9$}RIA z^T6{X4JwPG1mRMB`y4B7|i{2uiVyK?bgA-7dj)=dBuTzZ^ER0n7o zaO=eYJ_zmE9)P@U*&G0r5}*|}XDD*~q43Ceu-IIU1e6T8yD{y(afjkEP<8jc!dZ_!c zH}cf_V*+#B*XZY_Oe`~QCy2Wmz!4RlAFnsL>;|3?Z>2W|$WIyxulFhQ?%yH<^*wjv zFTo5MmdG~IDukd`XJ4JvU zAFuIBS)lUL$nkt=g zl`KYeBkNT0T<1Yd70B{L1iY=Iy9w~}IzQ*nkZ-96$QkM{JQKej$8%N|BG9EZtpg%+ zgR1`^l`&4(5Ht=fkNDcY=TZ};`ti5ugg7(K!nz7Akj-w)Dd(Z*L-G18m?IseG)|7AaSU`48=`pMXxhL zZhSE-x7bvgoSXW1-NYan^NrEg2!gHWLwO+f_kpMgiYG+UB+&#dNStoUFiW%0dZV4u z-W~IJf$MZrk(L`4jY;wV4GmbJi+jia0lyv>loorfjg$N=OwM{PDti&onliwV4FZ_3 z6o53+P4m%!@6OXo=G$Xqq8HX{&7;QwNl|VQ*;qM{lx?sxuNwqB^1Y<+St_q+yz^Qy< z@^j_Pj5JkYA=tTTE^EWRr|n*xIpkp1^3c%r5i;miiRFgAzbm(2JY_z)+rJ>SqM)}_C2=1yT)=FnvigJ#->vBjwOs^V>(%|As| z610*&ob_{-h+fF4djL1G>YFQvA}?6J!>d_9AS_Mf_X7MR3aRvH!Dnh!RXOCtGoBT@ zZUklR&yUyF}P0WVu-YeL3$gIoNCFBphnJQ-u z^Qm)y7poT2fNY6IrCYuQ+-Difkd|bZ#7YecVTn7>cgb4#E}8~!rvIl5C$i30^}ASc zO@_>@b_b28TM2fY|ZTZ1Fe77dL_i8`M&**!nHb_oy<`xKI8eYoCVOE_)dKsu?>#MQ#PIA z_l`A)u_}`mw)G@#Kh}gV@UCF~G7ist!S}#=hAMlKNqOT&mh_Q9ox|t}50cxBR zW5<|Sx$1AMkvu22dgxbKEPzZZo6axox%UHW03piACbm0!`V zx)zAA6&7E^G;QN3|zN=fmV`L+VN3R zTIA@j+12dd|Evd}h zS3387Q8^-&T$}y>@zVqfeNWro74GZGW(vNP%79W2$j@`elHw_l{2Mivm|=LhHuqUiiktZ+mcEi`r1?ui zMKEY~iScYhn4#yy;8ez77t}bF5N`(=tE6uxo>PsF&RtvMYeJ77B`Mr#AP-od3Gm)m zf($=EVzmIWeWCL!g}jxWJ!ig196qN))j#((!_>O}HtZ#EQWfJ#V2CKqmBX7xBcCGK zLO;xXRYCl+#AaV-YT|QjR=9$d8&K&Q=2@s9u^KX=Q&v{bCTX&VbvY%&Z>_zq-oXSH zwx!)12HUw8kLHdye?P)qp!FOJP+T5TPJ6*Ix%BMTLx0uQKdh1d%NnKZ(TO6eMhtpO zX@Z^fN| zH`&(?)f+>fOP*Ye%8DG%$UnyCu&pUpKJHUZYC*e!zFEZn&+6;YMQzlxEp6Wn`Tcj9 zcV{(d`Q_3U7Yi*IJHA*86?iT!`6N}4^$e2`XiHt=Vf~XYbX#i_nTEMJ z`w1$!jyMyUczvt*a$XsJ)|t{+T5rBO|H6Ftq_&57Re6!~+K>mW_2oK2F-NvetsbjQ zy%qMI9b^0Y-S)fi@6VEA_dVy$mA%q+a*{Y9nY>?o$cWzo&><67?-=&}PY#x`eYuWC ziD5t`nek1}hLuViR@i36Fm~+Cyn9?;*6f<_^lEB|K)WbSg3`GZg;b}=Qy?$O$PWIL zx)8F#%T){0!JoSX?r^04gQ?_=R4KKzXCAwk9KTpCrLCfFfJVmIK!Q?Mv-+GyJNLWy zY27+x76vmK54t;E$N_5S-AnETtGT^+y--b|9pn3ZUb&Il zFiAwFIcZ}tsr{~(ckt%D^tWJ~_V8DL1GumhKcc&^SMNbDhd()ot8YW^TMR1OBIY_^&FJpL`x3osL1VM?j;bbf7(%XNl^pOqYM5(ChoS+utP}ePwW9h;}7mh z87jj-CzIR_Y$bcU_3hrinqBRf>#c( zPpE-0&>^)TR8oSG>4c%0;P{XQU!zsI3-m~Se)bg50{a_MV6$BYJe5h1tm5oc_Ez}};JOx$%s z*LT9@+W9-es6S;lw70+umDUs((cUPCp&k{oNM*`OKoYEw7>pe%>OKqap+6uuN6+Xo@%)reCQGsFZ z#jsLCZ6IRB@ z$*t1Av$F|9i*@FMFV*VHdNDbAO(eTwCCMtC${7_JuU;=ecc)%1a0T?=Ru5CzRF!Yl zs{Zs`Q!e1L(_ByAE7hb<1hsd5qnbg`AH+8AoU#UjSC!0kdsHrXD+M-Pd8YQ*cbMzV zU+gpVG~l|&_Ggt45)-m8hB#1>o8*76vl^H?pQVUH(UDuJ$wv6Ka@2AcA)Z_%#GvbC zyLDW)>*)GzF~v>LpCwF}<#JaW={+Q-<=UWb=^z>pHrB6IA#X-%&;lAmN%!xthbDKrVc#)#sqDaL+2kA^ zHkit1S4Q~pRX>&)gZkXwRzb~E;Nx*bN!9NuWob$?|(QQg!oVrPNyiMLX= z-_N&A+^^=VAIsI&pKdx?w#2731PTyC8TTIL-me|j!uL9(zE*No7YW~}+la2V?VEzz zjHF(+bE#Q7^-3qu)6TITzCW&LJN-lOsTOyWm1&~=(&vMNcoTPwbK_r&PhM0yWpXF} z@Ew67z)Dwq<$Z*FsX3SyNIK}lyOp&cVKpY~dk50K*QzS%T=Gq{)vp>|*xO@9_Rc=o zDwbaH9u-xMdvbi=^O4yDgSd0=@=L!qt&|3Py0(|bH}jeND1UFG6@CWwz3HHc**wXj zW5uICdR+3`!q}}rtCQkrt+2DUEOo@OxLXn~=BqX4A8q$c@-X%5`LUl}gZZl#^RdL) zaGRE|Dw~QiX}Mo!^Yvn_G*v!VO-gxwjN&zQ4zF%lFxX;3x;QY6tdXwrJt}?~m2KD; zG~mkSV;6OD$x5F|uy{yPt;|iR{@V*~6W_6|7p69Y7On?w>9*U%Bl;ULEV%?VwkmO( z-F+_oTT`OeYrULhCU`A`=eOtB-9RRTK{ImI;%_&byaF#-#Jn#G%Ep%*s`KquES`Onl@y1%~s^d|W@DJb)xR z_YYwo4?Shdf~k=@%`P~UkhXfG+?>-&JhUoti$|ADoQa8+$CvBc+C{7v_r0~uENpMA zaUi?P(mO3iny7wQaj`D7ua)g^!JkZzl$VJgz*+>sSPpmT3W)ctzTbm(KkaEKW~Y*&dv0ySwD*q9m-d! zu8^rQSvNx%WjfDryKb6C*PgNrnoaku?Gr`E;WK!(=W$I@DRi}qD_g^Hg={(rEP~~F zhtLiLOkwl^o?_&Nb68Zi5k~a>M~lvJAFRrb(a%BW*hdB9#o{mnJN(#?ZVWN@Hhg5U zNex%|Ovg-St1PF5P*?>!q10j>=lr{5(uw{q5;E%8xnaYV4KW}ME8oaG=H5ZvvG1(X zS$7oF4RXsJMQcg@46u#8-mx%VDs+_>!WHvgCkwjz?pycp#o}YO0uVM&AFNgX8w#EJ zB%|W@rMsK9ut~&7*>$1TE@|fo5zi$aWOtA`~vemw2jP4R%u#=|k_K}I_nQ*&lgm8(+LDg8OsyWKY zBpsV`gtUUn@iB@&M_`3=1FXu|re#)^2%!L@Q^XSkm=ez1y4p(>9HyD*b@8GCm- zj9=eS^7l6_`d3hcux$_D%#7m2*B*IRj>>KkqZ%NqmIP*#uD6z%g^k*E#9JAZ9-N9z z`I%&Pz$Y{Zsd4@OME_%DH+Ci|Q{OTO{jD44G3hDb*VXA|r;R?oGFa6q$vL_`?^)F7 z@HL4K7od~g9$l!QhO;$g=`Y3zhL%pd-&zc?uKb2c5oy%t5~|^YSbs-W?sb(Fg)&!U z4@}3w3SY*~YNnXz7u$~5^k|k3Eikp{?O;1?t!IJPpJ-M7hoz=`f!H6my=l)C;ex(31G9a<^W9K>i&l!N4 z!6>-wP=2!X_h3m!eHY~CbeF#T^A_MfFF-PUet9#+?Vl$R*u4}Wvp*E@>FhtAjyzEZ zkij8b From 4983ac906e85f2bec4e2d3990e2431bbd0276309 Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Mon, 17 Mar 2025 17:24:38 +0100 Subject: [PATCH 08/11] Fixed problems based on feedback --- packages/lib/src/date-input/Calendar.tsx | 9 +++++++-- packages/lib/src/date-input/DatePicker.tsx | 9 ++++----- packages/lib/src/date-input/YearPicker.tsx | 8 ++++---- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/lib/src/date-input/Calendar.tsx b/packages/lib/src/date-input/Calendar.tsx index 4ef8fea6ba..447e742863 100644 --- a/packages/lib/src/date-input/Calendar.tsx +++ b/packages/lib/src/date-input/Calendar.tsx @@ -64,7 +64,6 @@ const DayCellButton = styled.button<{ cursor: pointer; font-family: var(--typography-font-family); font-size: var(--typography-label-m); - color: var(--color-fg-neutral-dark); font-weight: var(--typography-label-regular, 400); background-color: ${(props) => (props.selected ? "var(--color-bg-primary-strong);" : "transparent")}; color: ${(props) => @@ -73,8 +72,14 @@ const DayCellButton = styled.button<{ : !props.actualMonth ? "var(--color-fg-neutral-medium);" : "var(--color-fg-neutral-dark);"}; + + ${(props) => + props.isCurrentDay && + !props.selected && + `border: var(--border-width-s) var(--border-style-default) var(--border-color-primary-lighter);`} + &:focus { - outline: var(--border-width-m) solid var(--border-color-secondary-medium); + outline: var(--border-width-m) var(--border-style-default) var(--border-color-secondary-medium); } &:hover { background-color: ${(props) => diff --git a/packages/lib/src/date-input/DatePicker.tsx b/packages/lib/src/date-input/DatePicker.tsx index 86f0e254bc..122d2bef5f 100644 --- a/packages/lib/src/date-input/DatePicker.tsx +++ b/packages/lib/src/date-input/DatePicker.tsx @@ -13,7 +13,7 @@ const DatePickerContainer = styled.div` background-color: var(--color-bg-neutral-lightest); box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) var(--shadow-light); - border: var(--border-width-s) solid var(--border-color-neutral-medium); + border: var(--border-width-s) var(--border-style-default) var(--border-color-neutral-medium); border-radius: var(--border-radius-s); width: fit-content; font-family: var(--typography-font-family); @@ -47,15 +47,15 @@ const HeaderButton = styled.button` background-color: var(--color-bg-primary-light); } &:focus { - outline: var(--border-width-m) solid var(--border-color-secondary-medium); + outline: var(--border-width-m) var(--border-style-default) var(--border-color-secondary-medium); } &:active { - color: var(--color-bg-neutral-lightest); + color: var(--color-fg-neutral-bright); background-color: var(--color-bg-primary-stronger); } span::before { - font-size: 24px; + font-size: var(--height-s); } `; @@ -64,7 +64,6 @@ const HeaderYearTrigger = styled(HeaderButton)` padding: 0px var(--spacing-padding-xs) 0px var(--spacing-padding-m); height: var(--height-m); width: 172px; - font-size: var(--height-xxs); span::before { font-size: var(--height-xxs); } diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index d9ee76fdca..2129f25f5d 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -14,7 +14,7 @@ const YearPickerContainer = styled.div` height: 312px; box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) var(--shadow-light); - padding-top: var(--spacing-padding-xxxs); + padding-top: var(--spacing-gap-xxs); `; const YearPickerButton = styled.button<{ @@ -27,7 +27,7 @@ const YearPickerButton = styled.button<{ width: 80px; min-height: var(--height-m); height: var(--height-m); - background-color: var(--color-bg-neutral-lightest); + background-color: transparent; border: none; border-radius: var(--border-radius-xl); cursor: pointer; @@ -42,7 +42,7 @@ const YearPickerButton = styled.button<{ color: var(--color-fg-neutral-bright) !important; background-color: var(--color-bg-primary-strong) !important;` : props.isCurrentYear - ? `outline: var(--border-width-s) solid var(--border-color-primary-lighter); + ? `border: var(--border-width-s) var(--border-style-default) var(--border-color-primary-lighter); color: var(--color-fg-primary-strong);` : ``} @@ -54,7 +54,7 @@ const YearPickerButton = styled.button<{ color: var(--color-fg-neutral-dark); } &:focus { - outline: var(--border-width-m) solid var(--border-color-secondary-medium); + outline: var(--border-width-m) var(--border-style-default) var(--border-color-secondary-medium); } &:active { color: var(--color-fg-neutral-bright); From 09b7a7a7bb94e6a2f716d806574941f1fd18716a Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Fri, 28 Mar 2025 14:10:03 +0100 Subject: [PATCH 09/11] Changed padding-top to flex gap --- packages/lib/src/date-input/Calendar.tsx | 1 - packages/lib/src/date-input/DatePicker.tsx | 3 +++ packages/lib/src/date-input/YearPicker.tsx | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/lib/src/date-input/Calendar.tsx b/packages/lib/src/date-input/Calendar.tsx index 447e742863..2c701f2d94 100644 --- a/packages/lib/src/date-input/Calendar.tsx +++ b/packages/lib/src/date-input/Calendar.tsx @@ -14,7 +14,6 @@ const CalendarContainer = styled.div` font-size: var(--typography-label-m); color: var(--color-fg-neutral-dark); font-weight: var(--typography-label-regular); - padding-top: var(--spacing-padding-xxxs); `; const CalendarHeaderRow = styled.div` diff --git a/packages/lib/src/date-input/DatePicker.tsx b/packages/lib/src/date-input/DatePicker.tsx index 122d2bef5f..8ec363830e 100644 --- a/packages/lib/src/date-input/DatePicker.tsx +++ b/packages/lib/src/date-input/DatePicker.tsx @@ -20,6 +20,9 @@ const DatePickerContainer = styled.div` font-size: var(--typography-label-m); color: var(--color-fg-neutral-dark); font-weight: var(--typography-label-regular); + display: flex; + flex-direction: column; + gap: var(--spacing-gap-xxs); `; const PickerHeader = styled.div` diff --git a/packages/lib/src/date-input/YearPicker.tsx b/packages/lib/src/date-input/YearPicker.tsx index 2129f25f5d..15cc90e9c6 100644 --- a/packages/lib/src/date-input/YearPicker.tsx +++ b/packages/lib/src/date-input/YearPicker.tsx @@ -14,7 +14,6 @@ const YearPickerContainer = styled.div` height: 312px; box-shadow: var(--shadow-mid-x-position) var(--shadow-mid-y-position) var(--shadow-mid-blur) var(--shadow-mid-spread) var(--shadow-light); - padding-top: var(--spacing-gap-xxs); `; const YearPickerButton = styled.button<{ From d0adbd4bcb57cbb29e30231145be91b5aa28559e Mon Sep 17 00:00:00 2001 From: Enrique Moreno Date: Thu, 24 Apr 2025 11:56:43 +0200 Subject: [PATCH 10/11] Added documentation --- .../date-input/DateInputPageLayout.tsx | 4 +- .../overview/DateInputOverviewPage.tsx | 276 ++++++++++++++++-- .../overview/images/date_input-anatomy.png | Bin 0 -> 20805 bytes .../images/date_input-clearcontent.png | Bin 0 -> 15084 bytes .../overview/images/date_input-datepicker.png | Bin 0 -> 45828 bytes 5 files changed, 253 insertions(+), 27 deletions(-) create mode 100644 apps/website/screens/components/date-input/overview/images/date_input-anatomy.png create mode 100644 apps/website/screens/components/date-input/overview/images/date_input-clearcontent.png create mode 100644 apps/website/screens/components/date-input/overview/images/date_input-datepicker.png diff --git a/apps/website/screens/components/date-input/DateInputPageLayout.tsx b/apps/website/screens/components/date-input/DateInputPageLayout.tsx index ffc605aaac..169138a298 100644 --- a/apps/website/screens/components/date-input/DateInputPageLayout.tsx +++ b/apps/website/screens/components/date-input/DateInputPageLayout.tsx @@ -15,9 +15,7 @@ const DateInputPageHeading = ({ children }: { children: ReactNode }) => { - - A date input is a user interface element where the user can type or select a date in a predefined format. - + Date inputs enable users to type or select a date in a predefined format. diff --git a/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx b/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx index 0ea5a67eca..7a27b7a5be 100644 --- a/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx +++ b/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx @@ -2,56 +2,284 @@ import { DxcParagraph, DxcBulletedList, DxcFlex } from "@dxc-technology/halstack import QuickNavContainer from "@/common/QuickNavContainer"; import QuickNavContainerLayout from "@/common/QuickNavContainerLayout"; import DocFooter from "@/common/DocFooter"; -import Code from "@/common/Code"; +import anatomy from "./images/date_input-anatomy.png"; +import clearContent from "./images/date_input-clearcontent.png"; +import datePicker from "./images/date_input-datepicker.png"; +import Image from "@/common/Image"; +import Figure from "@/common/Figure"; const sections = [ { title: "Introduction", content: ( - - - Use the date input component when asking for a past, present, or future date. - - Provide a hint with the date format expected in the placeholder. - Use a concise label to indicate what the date selection refers to. - + + The Date Input component allows users to enter or select a specific date using a calendar picker or manual text + entry. Designed to support a wide range of use cases, from booking systems to form submissions, it ensures + clarity and consistency in date formats, helps prevent input errors, and adapts to different locale and + accessibility requirements. Its combination of manual input and guided selection provides flexibility while + maintaining a streamlined user experience. + ), }, - { - title: "Internationalization", + title: "Anatomy", content: ( <> - - The date format depends on an ISO definition for each country and the preference of use within the - application. - - - The format of the date may vary depending on language, region, country or customer. It is a good practice to - give to the user some type of hint about the date format and in many cases. - - + Date input's anatomy + + + Label (Optional): a descriptive text that helps users understand what information + is expected in the input field. It should be clear, concise, and placed near the input for better + readability. + + + Optional indicator (Optional): a small indicator that signals the input field is + not mandatory. It helps users know they can leave the field empty without causing validation errors. + - The default format for the United States is mm/dd/yyyy. + Date button: an interactive element inside the input field that triggers the date picker of + the component, where the user can select a date based on the day, month and year. - The default format for Australia, Europe, Africa, South America most countries of Asia is{" "} - dd/mm/yyyy. + Clear action (Optional): a small button, usually represented by an "X" icon, that + allows users to clear the date selected or introduced quickly without manually deleting it. - The default format in China is yyyy/mm/dd. + Helper text (Optional): additional text placed below the input field that provides + guidance, examples, or explanations to assist users in filling out the field correctly. + + + Container: the visual wrapper around the input field that provides structure, ensures + accessibility, and helps differentiate the input from other UI elements. + + + Value: displays the selected or manually entered date in the input field, following the + specified format. ), }, + { + title: "Form Inputs", + content: ( + <> + + Form inputs are essential UI elements that allow users to interact with digital products by{" "} + entering or selecting data. Choosing the right input type and structure is key to designing + efficient, user-friendly forms that support task completion and data accuracy. + + + A form input (also known as a form field) is used to capture user data. Common input types include text + fields, date pickers, number fields, radio buttons, checkboxes, toggles, and dropdowns. Forms should always + include a submission method, such as a submit button, link, or keyboard trigger, to complete the interaction. + + + ), + subSections: [ + { + title: "Shared input characteristics", + content: ( + <> + + Although input fields vary in type and purpose, they often share a common set of features: + + + + Placeholder: a short hint displayed inside the input field that describes its expected + value or purpose. + + + Helper text: additional information displayed below the field to guide the user in + providing the correct input. + + + Optional label: inputs that are not mandatory can be marked with an "Optional" tag to + set clear expectations. + + + + ), + }, + { + title: "Common input states", + content: ( + <> + Most inputs can also present standard interactive or informative states: + + + Disabled: This state prevents users from interacting with the field. It's typically + used when a value is not applicable or editable under certain conditions or roles. + + + Error: When a user enters invalid or incomplete data, the input shows an error state, + often accompanied by a helpful message to guide corrections. + + + Read-only: The input is visible, focusable, and hoverable, but not editable. This is + ideal for fields with auto-calculated values. Unlike disabled fields, read-only inputs can still be + submitted with the form and are part of the form data. + + + + ), + }, + ], + }, + { + title: "Using date inputs", + content: ( + <> + + Date inputs are designed to help users provide valid, well-formatted dates with minimal friction. Unlike + standard text fields, they combine manual input with an interactive date picker, making them + ideal for scenarios like bookings, forms, or scheduling events. They are particularly useful for reducing + input errors and ensuring consistent formatting across different regions and use cases. + + + ), + subSections: [ + { + title: "Clear action", + content: ( + <> + + As most of our form inputs, the date input includes a clear (close) icon that allows users to quickly + remove the selected or typed date with a single click. This is especially helpful when correcting mistakes + or resetting the field during form completion. The icon is only visible when a value is present, keeping + the interface clean and focused. + +
+ Example of a date input with a clear action +
+ + ), + }, + { + title: "Date picker dialog", + content: ( + <> + + The component features a built-in date picker dialog that can be opened via the calendar icon. This dialog + allows users to select a date visually from a calendar, reducing the likelihood of + formatting errors. The picker includes navigational controls to switch between months and years, ensuring + users can easily access both past and future dates. + +
+ Example of a date picker dialog +
+ + ), + }, + { + title: "Internationalization", + content: ( + + Our date input supports internationalization by adapting to locale-specific formats (e.g., DD/MM/YYYY vs. + MM/DD/YYYY) and calendar language. This ensures that users across different regions understand the input + format and interact with the component comfortably. It's especially important to align the expected format + with the user's regional settings or provide format guidance with placeholders and helper text. + + ), + }, + ], + }, + { + title: "Best practices", + subSections: [ + { + title: "General", + content: ( + + + Always use the date input when a valid date format is required. This helps ensure consistency and prevents + user error. + + + Display date formats clearly and consistently across your application, especially if users from multiple + locales are expected. + + + Include a clear label that describes the context or purpose of the date (e.g., "Date of birth" or "Start + date"). + + + Avoid setting default dates unless the context explicitly calls for it, such as pre-filling today's date + for quick scheduling. + + + ), + }, + { + title: "Formatting and validation", + content: ( + + + Match the date format to the user’s regional settings (DD/MM/YYYY or MM/DD/YYYY), and consider using + placeholder text to guide formatting. + + + Provide clear feedback if the user types an invalid date manually. + + + Avoid using text inputs with custom formatting masks in place of the date input component—this can confuse + users and complicate validation. + + + ), + }, + { + title: "Clear action", + content: ( + + + Use the clear (close) icon to let users easily remove an already selected date. This improves usability + for forms where the date might not be required. + + + Ensure the clear icon is only visible when a value is present, keeping the interface clean. + + + ), + }, + { + title: "Date picker dialog", + content: ( + + + Include the date picker to reduce formatting errors and speed up date selection, especially for less + tech-savvy users or on mobile. + + + For workflows that involve selecting a wide range of dates (e.g., historical records), make sure the date + picker supports quick navigation between months and years. + + + ), + }, + { + title: "Accessibility and internationalization", + content: ( + + + Support multiple locales to accommodate different date formats and calendar languages, and update labels + accordingly. + + + Use ISO 8601 format internally (YYYY-MM-DD) to prevent errors during submission or back-end processing. + + + ), + }, + ], + }, ]; const DateInputOverviewPage = () => { return ( - + diff --git a/apps/website/screens/components/date-input/overview/images/date_input-anatomy.png b/apps/website/screens/components/date-input/overview/images/date_input-anatomy.png new file mode 100644 index 0000000000000000000000000000000000000000..ef421a65e7df9d90286d24261b8d79556c6ffe9b GIT binary patch literal 20805 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 o{q76``K>bu~~6glv!%u&-m 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 literal 0 HcmV?d00001 From 7360decee4f0ae6e535a755c29d3cc523fe285e7 Mon Sep 17 00:00:00 2001 From: Jialecl Date: Mon, 28 Apr 2025 11:39:50 +0200 Subject: [PATCH 11/11] Rephrasing for consistency --- .../overview/DateInputOverviewPage.tsx | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx b/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx index 7a27b7a5be..d3a79924fd 100644 --- a/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx +++ b/apps/website/screens/components/date-input/overview/DateInputOverviewPage.tsx @@ -13,11 +13,11 @@ const sections = [ title: "Introduction", content: ( - The Date Input component allows users to enter or select a specific date using a calendar picker or manual text - entry. Designed to support a wide range of use cases, from booking systems to form submissions, it ensures - clarity and consistency in date formats, helps prevent input errors, and adapts to different locale and - accessibility requirements. Its combination of manual input and guided selection provides flexibility while - maintaining a streamlined user experience. + Date inputs allow users to enter or select a specific date using a calendar picker or manual text entry. + Designed to support a wide range of use cases, from booking systems to form submissions, it ensures clarity and + consistency in date formats, helps prevent input errors, and adapts to different locale and accessibility + requirements. Its combination of manual input and guided selection provides flexibility while maintaining a + streamlined user experience. ), }, @@ -175,10 +175,11 @@ const sections = [ title: "Internationalization", content: ( - Our date input supports internationalization by adapting to locale-specific formats (e.g., DD/MM/YYYY vs. - MM/DD/YYYY) and calendar language. This ensures that users across different regions understand the input - format and interact with the component comfortably. It's especially important to align the expected format - with the user's regional settings or provide format guidance with placeholders and helper text. + Our date input supports internationalization by adapting to locale-specific formats (e.g., + DD/MM/YYYY vs. MM/DD/YYYY) and calendar language. This ensures that users across different regions + understand the input format and interact with the component comfortably. It's especially important to align + the expected format with the user's regional settings or provide format guidance with placeholders and + helper text. ), },