From 41281e11f07bd4ee5b6c8ca1431b3926ea5a6808 Mon Sep 17 00:00:00 2001 From: samyak3009 Date: Mon, 4 Mar 2024 17:15:21 +0400 Subject: [PATCH 1/8] docs(popover): add guideline for padding in popover --- .../components/popover/images/popover-10.png | Bin 0 -> 35374 bytes docs/src/pages/components/popover/usage.mdx | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 docs/src/pages/components/popover/images/popover-10.png diff --git a/docs/src/pages/components/popover/images/popover-10.png b/docs/src/pages/components/popover/images/popover-10.png new file mode 100644 index 0000000000000000000000000000000000000000..db2220921828210fb1db0615363a27223fd9685b GIT binary patch literal 35374 zcmeEt^;gti)GmmCv>;tWh%_S%Avq{2N_U6U0MgPmsFc!5H;4l$%@9M5ba!_QAq?Hk z9sIuUTK5mQKiIxS%(VKtH|IX@ZB%VPeELZ*m19e5& z%0V;3Q)Y%fo80hy+&Mae8O`dpd%*X>d!KQKDT#jib_6m=N!D}i;q`=v;O3rLi9I>o_X~aWjV}2d8jzWJwAt7DCF0rstz~OhXQY7h&TI`*+U@V)?a|N@7F#!f;9a|^+p9!X|4q$X zTMG*mv5HUI*?_`6P)0&(m=4oPJFTnpv*T|c{2s-j6rE4jlg)YC{`J0=<+3tR>s;-E z8NGm%N#bZX{a<&2_;Hvq=iR#GuS)-$#~M~(AE&_7Hpv8|CI@PqxKJafS!=k zcmG)#qAYc}1)t-uo*ka^JM1$o2H##C&Q(sB%t)Ut2BuF*>j{e9ZJz$4JeBlKD8{9n zYCP6@lXor`ZlR~Gk5t__RnjKwZ<>jKM~=}l7k}53gl@cv#m)rLE&pv_Zwg{P!?%{V z7-8O1X`SJniwv1E=jzn*L!MNY98dITNY4yBZ2`nB<;X{$>`WMY8hf6vCVE2rji&$k zWs(C9yb;)Nqye_@J6P#5*}py?2$-*X{_W;!9lXH%M^)zB@-#N{>Sx`>W`VD3gp(hN zp&?Ztkn!Kdryz~zeNHC|0+dTzxb+3awZAjPb4`1hQ457MyzT$|a;8(a@gV*NCiO8H zMaNS3Pc&l&C6#pb;%oL=l7mjpEUUT#-c*Qeo2qS)o5j=}_c zd6}VSOD4}7(ZzKaH0RFH(>YI1h_t;C!r5%>e-?oY9LH`-WHg|4!upv!hU$4)3^GcjR&15pmEHoHx@cm^)r-ntL+f_)Z~X zF{8$NqkOWP!n^jdV(0P+^3vsUfeCS)y4@VMFA6U!E1RNKh-9max)cIiNQ5V})1ZC@ z|5{3j3T@^JuF(n|qE~qmyGCHe*zGy1+1<0%$agDHv+{jYn!{jojKVCc2xQUHGkff( z;%9LHv6qSDUZ5RUyVO1Pk`8a#M)F7L+&bR2nAKia2amCZPtgf%_g4MEj%Fg@1xHtY zvkJ608nCmV-1Z9Cu3zDdl?*Zd5WevX29$(&=^MaH;m+lLYE$L6--$)Mb22p$l?Qpg z`~&Y-b-HmvK4G7NZ&2Xh3VPhT=1hNpAtG^ku#42Lj2iaF-hg`f+t7p818^S`UQ`lf z#YyYHTtdNJ>d^3e-}VCLCt$bo_7HjIgqU`K6>d2_R?$xv>@jQeV&HN=@-f+Dq`csD z7ow+@1dD1kh{f{8g6tMwO12cb4!gDXv&UvrN40BjK2~JXdt&GC=cnmS$5UaZsdutS z4u$eKy!`J{mBMin$|MDpuleoyamGn%UwO92o)?hM!9QSC9z#q8%eMfzkq5!M=;K|-fzmgyqJ z_AFy~sqQ=aNyIth1W|O4h0gAqd`FI!#aRltf7l8V3TDZnhQ6il8;JZw7r7N+y zSn;&?tNhfcRh-NR^DTe+Y;gbC1wS{3NP8Ubb=%qdW42oB2|Jh3Vk_I<+@e0FT8`%4 z*4y0}TY+Q8?(7w?M-y=AY5Y|~;?KG1)r2zG;-FWlBWz#kJ&8t%6;ny=BY!q#(4W?4 zcInG%2#c>cDx$LE%aNyJ5-SF0^d?({ zx=6u5+b7{BK$!e4gMvKwO=P4WL?Bi<8bs%o%hL_6nom5)6MZ%wm?|8efcddD%l-JpBVJvjFh1d$|#%{p5SnZ=>p+Q>l_c!oo<#+?AY!x=U&M9dN z`~mxqys*FntHAVJPEwZ2J-ZDiUc)YahCRdXXAE)hOH_+?eMv5(8J%;9eMH2C8x1b4XZPn*zAvBbo@CDLo**1`**?QJ4UB#zF$JejC4vZyvEr z_On30;|GX8usr!9cS-{D%#TVKmWqp_4ZVmqg9!b~EOU3XZ}7PEyewHdK~_%(jN|

huia?8n9g4|>$X-$gXq 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 literal 0 HcmV?d00001 diff --git a/docs/src/pages/components/popover/usage.mdx b/docs/src/pages/components/popover/usage.mdx index 5c4e893e66..15dacfdb23 100644 --- a/docs/src/pages/components/popover/usage.mdx +++ b/docs/src/pages/components/popover/usage.mdx @@ -35,7 +35,7 @@ keywords: ['Signpost', 'Popup'] Shadow - Shadow 30 + 30 @@ -62,6 +62,10 @@ keywords: ['Signpost', 'Popup']

  • Top end
  • Bottom start
  • Bottom end
  • +
  • Right start
  • +
  • Right end
  • +
  • Left start
  • +
  • Left end
  • Bottom @@ -96,6 +100,16 @@ The **preferred and default side is the bottom**. Popovers use smart positioning
    +#### Padding inside popover + +It is recommended to keep an overall padding of 16px inside the popover. + +![Padding inside popover](./images/popover-10.png) + + Padding inside popover + +
    + #### Popover as tooltip
    From 2fbd79d2a6faeb3377b364f9e8a475c19556bfa6 Mon Sep 17 00:00:00 2001 From: anuradha9712 Date: Tue, 27 Feb 2024 11:07:00 +0400 Subject: [PATCH 2/8] v2.28.2 --- core/common.type.tsx | 17 +++++++++++++++++ .../atoms/popperWrapper/PopperWrapper.tsx | 18 +----------------- core/components/molecules/popover/Popover.tsx | 8 ++++---- .../__stories__/variants/Position.story.jsx | 18 +++++++++++++++++- core/components/molecules/tooltip/Tooltip.tsx | 9 +++++++++ 5 files changed, 48 insertions(+), 22 deletions(-) diff --git a/core/common.type.tsx b/core/common.type.tsx index 78d9d21b54..d903815b74 100644 --- a/core/common.type.tsx +++ b/core/common.type.tsx @@ -96,3 +96,20 @@ export type AvatarSize = 'regular' | 'tiny'; export type AvatarShape = 'round' | 'square'; export type IconType = 'rounded' | 'outlined'; + +export type PositionType = + | 'auto-start' + | 'auto' + | 'auto-end' + | 'top-start' + | 'top' + | 'top-end' + | 'right-start' + | 'right' + | 'right-end' + | 'bottom-end' + | 'bottom' + | 'bottom-start' + | 'left-end' + | 'left' + | 'left-start'; diff --git a/core/components/atoms/popperWrapper/PopperWrapper.tsx b/core/components/atoms/popperWrapper/PopperWrapper.tsx index c305b03268..f77997a4b6 100644 --- a/core/components/atoms/popperWrapper/PopperWrapper.tsx +++ b/core/components/atoms/popperWrapper/PopperWrapper.tsx @@ -3,23 +3,7 @@ import * as ReactDOM from 'react-dom'; import { Manager, Reference, Popper } from 'react-popper'; import { OutsideClick } from '@/index'; import classNames from 'classnames'; - -type PositionType = - | 'auto-start' - | 'auto' - | 'auto-end' - | 'top-start' - | 'top' - | 'top-end' - | 'right-start' - | 'right' - | 'right-end' - | 'bottom-end' - | 'bottom' - | 'bottom-start' - | 'left-end' - | 'left' - | 'left-start'; +import { PositionType } from '@/common.type'; type ActionType = 'click' | 'hover'; type Offset = 'small' | 'medium' | 'large'; diff --git a/core/components/molecules/popover/Popover.tsx b/core/components/molecules/popover/Popover.tsx index 682c2fcd06..315306090c 100644 --- a/core/components/molecules/popover/Popover.tsx +++ b/core/components/molecules/popover/Popover.tsx @@ -2,8 +2,7 @@ import * as React from 'react'; import classNames from 'classnames'; import { PopperWrapper, PopperWrapperProps } from '@/components/atoms/popperWrapper'; import { BaseProps, filterProps } from '@/utils/types'; - -type Position = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'right'; +import { PositionType as Position } from '@/common.type'; export interface CustomStyle { height?: number | string; @@ -34,8 +33,9 @@ export interface PopoverProps extends Pick, Bas /** * Position to place the `trigger` * - * @param Position - 'top' | 'top-start' | 'top-end' | 'bottom' - * | 'bottom-start' | 'bottom-end' | 'left' | 'right' + * @param Position - | 'top-start' | 'top' | 'top-end' | 'right-start' + * | 'right' | 'right-end' | 'bottom-end' | 'bottom' | 'bottom-start' + * | 'left-end' | 'left' | 'left-start' | 'auto-start' | 'auto' | 'auto-end'; */ position: Position; /** diff --git a/core/components/molecules/popover/__stories__/variants/Position.story.jsx b/core/components/molecules/popover/__stories__/variants/Position.story.jsx index 75f79f912d..b224e68f84 100644 --- a/core/components/molecules/popover/__stories__/variants/Position.story.jsx +++ b/core/components/molecules/popover/__stories__/variants/Position.story.jsx @@ -3,7 +3,23 @@ import { Text, Button, Popover } from '@/index'; // CSF format story export const position = () => { - const positions = ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'right']; + const positions = [ + 'top', + 'top-start', + 'top-end', + 'bottom', + 'bottom-start', + 'bottom-end', + 'left', + 'left-start', + 'left-end', + 'right', + 'right-start', + 'right-end', + 'auto-start', + 'auto', + 'auto-end', + ]; const getTrigger = (pos) => ; return ( diff --git a/core/components/molecules/tooltip/Tooltip.tsx b/core/components/molecules/tooltip/Tooltip.tsx index 25aa04d621..2d67eb2966 100644 --- a/core/components/molecules/tooltip/Tooltip.tsx +++ b/core/components/molecules/tooltip/Tooltip.tsx @@ -3,6 +3,8 @@ import { Popover, Text } from '@/index'; import { PopoverProps } from '@/index.type'; import { BaseProps, filterProps } from '@/utils/types'; +type Position = 'top-start' | 'top' | 'top-end' | 'right' | 'bottom-end' | 'bottom' | 'bottom-start' | 'left'; + const tooltipPropsList = [ 'trigger', 'on', @@ -40,6 +42,13 @@ export interface TooltipProps extends Omit, Ba * Trigger for `Tooltip` */ children: PopoverProps['trigger']; + /** + * Position to place the `tooltip` + * + * @param Position - | 'top-start' | 'top' | 'top-end' + * | 'right' | 'bottom-end' | 'bottom' | 'bottom-start' | 'left'; + */ + position: Position; } export const Tooltip = (props: TooltipProps) => { From 7a16f20a5f72d9e381d75e7608ade590c2de92fa Mon Sep 17 00:00:00 2001 From: samyak3009 Date: Fri, 1 Mar 2024 18:06:43 +0400 Subject: [PATCH 3/8] fix(calendar): ordereing of days in calendar when firstDayOfWeek is passed --- .../organisms/calendar/Calendar.tsx | 4 +- .../calendar/__tests__/Calendar.test.tsx | 49 +- .../__snapshots__/Calendar.test.tsx.snap | 592 +++++++++--------- .../DateRangePicker.test.tsx.snap | 390 ++++++------ 4 files changed, 542 insertions(+), 493 deletions(-) diff --git a/core/components/organisms/calendar/Calendar.tsx b/core/components/organisms/calendar/Calendar.tsx index e474ab566c..0c6607a39a 100644 --- a/core/components/organisms/calendar/Calendar.tsx +++ b/core/components/organisms/calendar/Calendar.tsx @@ -855,7 +855,9 @@ export class Calendar extends React.Component { const prevMonthDayRange = getDaysInMonth(prevYear, prevMonth); const dayRange = getDaysInMonth(yearNavVal, monthNavVal); - const dayDiff = getFirstDayOfMonth(yearNavVal, monthNavVal) - getIndexOfDay(firstDayOfWeek); + const firstDayIndex = getFirstDayOfMonth(yearNavVal, monthNavVal); + const desiredFirstDayIndex = getIndexOfDay(firstDayOfWeek); + const dayDiff = (firstDayIndex - desiredFirstDayIndex + 7) % 7; const dummyDays = Math.abs(dayDiff); let noOfRows = Math.ceil((dayRange + dummyDays) / daysInRow); diff --git a/core/components/organisms/calendar/__tests__/Calendar.test.tsx b/core/components/organisms/calendar/__tests__/Calendar.test.tsx index ab240ba592..1357a56972 100644 --- a/core/components/organisms/calendar/__tests__/Calendar.test.tsx +++ b/core/components/organisms/calendar/__tests__/Calendar.test.tsx @@ -3,8 +3,9 @@ import { render, fireEvent } from '@testing-library/react'; import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper'; import { Calendar } from '@/index'; import { CalendarProps as Props } from '@/index.type'; +import { Day } from '../types'; -const day = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; +const day: Day[] = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; const size = ['small', 'large']; const view = ['year', 'month', 'date']; const FunctionValue = jest.fn(); @@ -287,3 +288,49 @@ describe('text color for different states', () => { expect(getAllByTestId('DesignSystem-Text')[5]).toHaveClass('color-primary-lighter'); }); }); + +describe('Calendar component', () => { + const testYear = 2021; + const testMonth = 0; + + const rotateDaysClockwise = (days: any, index: number) => { + const daysCopy = [...days]; + for (let i = 0; i < index; i++) { + const lastDay = daysCopy.shift(); + daysCopy.push(lastDay); + } + return daysCopy; + }; + + const dayMappings = day.map((value, index) => ({ + key: index, + val: value, + })); + + day.forEach((testfirstDayOfWeek: Day) => { + describe(`when first day of week is ${testfirstDayOfWeek}`, () => { + it('should render dates in the correct format with respect to the day', () => { + const testDate = new Date(testYear, testMonth, 1); + + const { container } = render( + + ); + + const indexOfDay = day.indexOf(testfirstDayOfWeek); + const rotatedDays = rotateDaysClockwise(dayMappings, indexOfDay); + + const firstDayElement = container.querySelector('.Calendar-value--active'); + const weekRow = firstDayElement?.closest('.Calendar-valueRow'); + expect(weekRow).toBeInTheDocument(); + + const dateElements = Array.from(weekRow!.children).map((child) => child.textContent?.trim()); + const firstDayIndex = dateElements.indexOf('1'); + expect(firstDayIndex).not.toBe(-1); + + const actualDayIndex = new Date(testYear, testMonth, 1).getDay(); + const actualDayName = day[actualDayIndex]; + expect(actualDayName).toEqual(rotatedDays[firstDayIndex].val); + }); + }); + }); +}); diff --git a/core/components/organisms/calendar/__tests__/__snapshots__/Calendar.test.tsx.snap b/core/components/organisms/calendar/__tests__/__snapshots__/Calendar.test.tsx.snap index a217c9bb6d..ce368c2785 100644 --- a/core/components/organisms/calendar/__tests__/__snapshots__/Calendar.test.tsx.snap +++ b/core/components/organisms/calendar/__tests__/__snapshots__/Calendar.test.tsx.snap @@ -2718,39 +2718,6 @@ exports[`Calendar component
    -
    - - 25 - -
    -
    - - 26 - -
    -
    - - 27 - -
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    +
    + + 7 + +
    +
    + + 8 + +
    +
    + + 9 + +
    @@ -3367,62 +3367,62 @@ exports[`Calendar component class="Text Text--default Text--regular Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 29 + 24
    - 1 + 25
    - 2 + 26
    - 3 + 27
    - 4 + 28
    - 5 + 29
    - 6 + 1
    @@ -3448,7 +3448,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 7 + 2
    - 8 + 3
    - 9 + 4
    - 10 + 5
    - 11 + 6
    - 12 + 7
    - 13 + 8
    @@ -3529,7 +3529,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 14 + 9
    - 15 + 10
    - 16 + 11
    - 17 + 12
    - 18 + 13
    - 19 + 14
    - 20 + 15
    @@ -3610,7 +3610,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 21 + 16
    - 22 + 17
    - 23 + 18
    - 24 + 19
    - 25 + 20
    - 26 + 21
    - 27 + 22
    @@ -3691,7 +3691,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 28 + 23
    - 29 + 24
    - 30 + 25
    - 31 + 26
    - 1 + 27
    - 2 + 28
    - 3 + 29
    @@ -3765,25 +3765,25 @@ exports[`Calendar component class="Calendar-valueRow" >
    - 4 + 30
    - 5 + 31
    - 6 + 1
    - 7 + 2
    - 8 + 3
    - 9 + 4
    - 10 + 5
    @@ -4008,62 +4008,62 @@ exports[`Calendar component class="Text Text--default Text--regular Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 24 + 29
    - 25 + 1
    - 26 + 2
    - 27 + 3
    - 28 + 4
    - 29 + 5
    - 1 + 6
    @@ -4089,7 +4089,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 2 + 7
    - 3 + 8
    - 4 + 9
    - 5 + 10
    - 6 + 11
    - 7 + 12
    - 8 + 13
    @@ -4170,7 +4170,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 9 + 14
    - 10 + 15
    - 11 + 16
    - 12 + 17
    - 13 + 18
    - 14 + 19
    - 15 + 20
    @@ -4251,7 +4251,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 16 + 21
    - 17 + 22
    - 18 + 23
    - 19 + 24
    - 20 + 25
    - 21 + 26
    - 22 + 27
    @@ -4332,7 +4332,7 @@ exports[`Calendar component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 23 + 28
    - 24 + 29
    - 25 + 30
    - 26 + 31
    - 27 + 1
    - 28 + 2
    - 29 + 3
    @@ -4406,25 +4406,25 @@ exports[`Calendar component class="Calendar-valueRow" >
    - 30 + 4
    - 31 + 5
    - 1 + 6
    - 2 + 7
    - 3 + 8
    - 4 + 9
    - 5 + 10
    @@ -5282,17 +5282,6 @@ exports[`Calendar component
    -
    - - 26 - -
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    +
    + + 8 + +
    @@ -5923,6 +5923,39 @@ exports[`Calendar component
    +
    + + 25 + +
    +
    + + 26 + +
    +
    + + 27 + +
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    -
    - - 7 - -
    -
    - - 8 - -
    -
    - - 9 - -
    @@ -6564,6 +6564,17 @@ exports[`Calendar component
    +
    + + 26 + +
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    -
    - - 8 - -
    diff --git a/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap b/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap index 2e9722c38f..d253f288c9 100644 --- a/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +++ b/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap @@ -1389,6 +1389,17 @@ exports[`DateRangePicker component
    + + 28 + +
    +
    + +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    -
    - - 9 - -
    @@ -2639,17 +2639,6 @@ exports[`DateRangePicker component
    - - 28 - -
    -
    - -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    +
    + + 9 + +
    @@ -3889,6 +3889,39 @@ exports[`DateRangePicker component
    + + 27 + +
    +
    + + 28 + +
    +
    + + 29 + +
    +
    + +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    +
    +
    -
    -
    -
    - - 8 - -
    -
    - - 9 - -
    -
    - - 10 - -
    @@ -5144,62 +5144,62 @@ exports[`DateRangePicker component class="Text Text--default Text--regular Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 31 + 26
    - 1 + 27
    - 2 + 28
    - 3 + 29
    - 4 + 30
    - 5 + 31
    - 6 + 1
    @@ -5225,73 +5225,73 @@ exports[`DateRangePicker component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 7 + 2
    - 8 + 3
    - 9 + 4
    - 10 + 5
    - 11 + 6
    - 12 + 7
    - 13 + 8
    @@ -5306,7 +5306,7 @@ exports[`DateRangePicker component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 14 + 9
    - 15 + 10
    - 16 + 11
    - 17 + 12
    - 18 + 13
    - 19 + 14
    - 20 + 15
    @@ -5387,7 +5387,7 @@ exports[`DateRangePicker component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 21 + 16
    - 22 + 17
    - 23 + 18
    - 24 + 19
    - 25 + 20
    - 26 + 21
    - 27 + 22
    @@ -5468,7 +5468,7 @@ exports[`DateRangePicker component class="Text Text--regular color-inverse Calendar-value Calendar-inRangeValue Calendar-dateValue Calendar-dateValue--large" data-test="DesignSystem-Calendar--dateValue" > - 28 + 23
    - 29 + 24
    - 30 + 25
    - 1 + 26
    - 2 + 27
    - 3 + 28
    - 4 + 29
    @@ -5542,14 +5542,14 @@ exports[`DateRangePicker component class="Calendar-valueRow" >
    - 5 + 30
    - 6 + 1
    - 7 + 2
    - 8 + 3
    - 9 + 4
    - 10 + 5
    - 11 + 6
    From 8c408a0a5dadf8d1396ad6fa044330cdb614e9cf Mon Sep 17 00:00:00 2001 From: anuradha9712 Date: Tue, 27 Feb 2024 20:32:09 +0400 Subject: [PATCH 4/8] feat(avatarSelection): add new avatar selection component --- core/common.type.tsx | 2 + core/components/atoms/avatar/Avatar.tsx | 21 +- .../__snapshots__/Avatar.test.tsx.snap | 24 + .../atoms/avatar/avatarIcon/AvatarIcon.tsx | 13 - .../__snapshots__/AvatarIcon.test.tsx.snap | 36 + .../__snapshots__/AvatarImage.test.tsx.snap | 5 + .../__tests__/AvatarGroup.test.tsx | 36 - .../__snapshots__/AvatarGroup.test.tsx.snap | 936 +------ .../atoms/avatarSelection/AvatarSelection.tsx | 266 ++ .../AvatarSelectionContext.tsx | 22 + .../__stories__/custom.story.jsx | 235 ++ .../__stories__/index.story.jsx | 152 ++ .../__stories__/listSize.story.jsx | 263 ++ .../__tests__/AvatarSelection.test.tsx | 288 +++ .../AvatarSelection.test.tsx.snap | 2195 +++++++++++++++++ .../__tests__/utility.test.tsx | 106 + .../avatarSelection/__tests__/utils.test.tsx | 82 + .../AvatarSelectionEmptyState.tsx | 41 + .../avatarPopover/AvatarSelectionInput.tsx | 25 + .../avatarPopover/AvatarSelectionList.tsx | 38 + .../avatarPopover/AvatarSelectionOption.tsx | 91 + .../avatarPopover/AvatarSelectionPopover.tsx | 115 + .../avatarSelection/avatarPopover/index.tsx | 5 + .../avatarSelection/avatarPopover/utils.tsx | 105 + .../avatarsSelection/AvatarSelectionCount.tsx | 64 + .../avatarsSelection/SelectionAvatar.tsx | 27 + .../SelectionAvatarsWrapper.tsx | 89 + .../avatarsSelection/index.tsx | 2 + .../avatarsSelection/utils.tsx | 51 + .../atoms/avatarSelection/index.tsx | 2 + core/components/organisms/listbox/Listbox.tsx | 4 +- .../listbox/listboxItem/ListBody.tsx | 4 +- .../listbox/listboxItem/ListboxItem.tsx | 8 +- core/index.tsx | 1 + core/index.type.tsx | 3 + .../__tests__/__snapshots__/TS.test.tsx.snap | 1 + css/src/components/avatarSelection.css | 111 + 37 files changed, 4533 insertions(+), 936 deletions(-) create mode 100644 core/components/atoms/avatarSelection/AvatarSelection.tsx create mode 100644 core/components/atoms/avatarSelection/AvatarSelectionContext.tsx create mode 100644 core/components/atoms/avatarSelection/__stories__/custom.story.jsx create mode 100644 core/components/atoms/avatarSelection/__stories__/index.story.jsx create mode 100644 core/components/atoms/avatarSelection/__stories__/listSize.story.jsx create mode 100644 core/components/atoms/avatarSelection/__tests__/AvatarSelection.test.tsx create mode 100644 core/components/atoms/avatarSelection/__tests__/__snapshots__/AvatarSelection.test.tsx.snap create mode 100644 core/components/atoms/avatarSelection/__tests__/utility.test.tsx create mode 100644 core/components/atoms/avatarSelection/__tests__/utils.test.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/AvatarSelectionEmptyState.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/AvatarSelectionInput.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/AvatarSelectionList.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/AvatarSelectionOption.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/AvatarSelectionPopover.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/index.tsx create mode 100644 core/components/atoms/avatarSelection/avatarPopover/utils.tsx create mode 100644 core/components/atoms/avatarSelection/avatarsSelection/AvatarSelectionCount.tsx create mode 100644 core/components/atoms/avatarSelection/avatarsSelection/SelectionAvatar.tsx create mode 100644 core/components/atoms/avatarSelection/avatarsSelection/SelectionAvatarsWrapper.tsx create mode 100644 core/components/atoms/avatarSelection/avatarsSelection/index.tsx create mode 100644 core/components/atoms/avatarSelection/avatarsSelection/utils.tsx create mode 100644 core/components/atoms/avatarSelection/index.tsx create mode 100644 css/src/components/avatarSelection.css diff --git a/core/common.type.tsx b/core/common.type.tsx index d903815b74..91a7c650f1 100644 --- a/core/common.type.tsx +++ b/core/common.type.tsx @@ -113,3 +113,5 @@ export type PositionType = | 'left-end' | 'left' | 'left-start'; + +export type TListboxSize = 'standard' | 'compressed' | 'tight'; diff --git a/core/components/atoms/avatar/Avatar.tsx b/core/components/atoms/avatar/Avatar.tsx index a8f83c0b3e..6c2bd83e6e 100644 --- a/core/components/atoms/avatar/Avatar.tsx +++ b/core/components/atoms/avatar/Avatar.tsx @@ -41,6 +41,10 @@ export interface AvatarProps extends BaseProps { * Determines the shape of `Avatar` */ shape: AvatarShape; + /** + * Describe aria-role for the `Avatar` + */ + role?: string; } const initialsLength = 2; @@ -48,7 +52,18 @@ const DefaultAppearance = 'secondary'; const colors = ['accent4', 'primary', 'accent3', 'alert', 'accent2', 'warning', 'accent1', 'success']; export const Avatar = (props: AvatarProps) => { - const { withTooltip, tooltipPosition, size, children, firstName, lastName, className, appearance, shape } = props; + const { + withTooltip, + tooltipPosition, + size, + children, + firstName, + lastName, + className, + appearance, + shape, + role = 'presentation', + } = props; const baseProps = extractBaseProps(props); @@ -97,7 +112,7 @@ export const Avatar = (props: AvatarProps) => { const renderAvatar = () => { if (children && typeof children !== 'string') { return ( - + {children} @@ -108,7 +123,7 @@ export const Avatar = (props: AvatarProps) => { } return ( - + {initials && ( diff --git a/core/components/atoms/avatar/__tests__/__snapshots__/Avatar.test.tsx.snap b/core/components/atoms/avatar/__tests__/__snapshots__/Avatar.test.tsx.snap index 57e084df9d..42295f4439 100644 --- a/core/components/atoms/avatar/__tests__/__snapshots__/Avatar.test.tsx.snap +++ b/core/components/atoms/avatar/__tests__/__snapshots__/Avatar.test.tsx.snap @@ -14,6 +14,7 @@ Object { ) => void; - /** - * Handler to be called when key is pressed on icon - */ - onKeyDown?: (e: React.KeyboardEvent) => void; - /** - * The tabindex global attribute indicates that its element can be focused, and - * where it participates in sequential keyboard navigation. - */ - tabIndex?: React.DetailedHTMLProps, HTMLElement>['tabIndex']; } const appearanceMapper: Record = { diff --git a/core/components/atoms/avatar/avatarIcon/__tests__/__snapshots__/AvatarIcon.test.tsx.snap b/core/components/atoms/avatar/avatarIcon/__tests__/__snapshots__/AvatarIcon.test.tsx.snap index a648e0d937..803e859bda 100644 --- a/core/components/atoms/avatar/avatarIcon/__tests__/__snapshots__/AvatarIcon.test.tsx.snap +++ b/core/components/atoms/avatar/avatarIcon/__tests__/__snapshots__/AvatarIcon.test.tsx.snap @@ -10,6 +10,7 @@ Object { { - const mapper = { - list: valueHelper(list, { required: true }), - size: valueHelper(size, { required: true, iterate: true }), - }; - - const testFunc = (props: Record): void => { - const attr = filterUndefined(props) as Props; - - it(testMessageHelper(attr), () => { - const tree = render(); - expect(tree).toMatchSnapshot(); - }); - }; - - testHelper(mapper, testFunc); -}); - -describe('AvatarGroup component snapshot', () => { - const mapper = { - list: valueHelper(imgList, { required: true }), - size: valueHelper(size, { required: true, iterate: true }), - }; - - const testFunc = (props: Record): void => { - const attr = filterUndefined(props) as Props; - - it(testMessageHelper(attr), () => { - const tree = render(); - expect(tree).toMatchSnapshot(); - }); - }; - - testHelper(mapper, testFunc); -}); - describe('AvatarGroup component snapshot', () => { const mapper = { list: valueHelper(iconList, { required: true }), diff --git a/core/components/atoms/avatarGroup/__tests__/__snapshots__/AvatarGroup.test.tsx.snap b/core/components/atoms/avatarGroup/__tests__/__snapshots__/AvatarGroup.test.tsx.snap index 8213e0f557..d7d8c7274f 100644 --- a/core/components/atoms/avatarGroup/__tests__/__snapshots__/AvatarGroup.test.tsx.snap +++ b/core/components/atoms/avatarGroup/__tests__/__snapshots__/AvatarGroup.test.tsx.snap @@ -1,652 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AvatarGroup component - list: [{"firstName":"John","lastName":"Doe"},{"firstName":"Steven","lastName":"Packton"},{"firstName":"Nancy","lastName":"Wheeler"},{"firstName":"Monica","lastName":"Geller"},{"firstName":"Arya","lastName":"Stark"},{"firstName":"Rachel","lastName":"Green"}], size: "regular" - 1`] = ` -Object { - "asFragment": [Function], - "baseElement": -
    -
    -
    -