@elliemae/ds-form-date-time-picker 3.0.4-rc.3 → 3.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js +0 -3
  2. package/dist/cjs/parts/Pickers/Calendar/CalendarContent.js.map +2 -2
  3. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js +9 -32
  4. package/dist/cjs/parts/Pickers/Calendar/CalendarWrapper.js.map +2 -2
  5. package/dist/cjs/parts/Pickers/Calendar/Styleds.js +1 -3
  6. package/dist/cjs/parts/Pickers/Calendar/Styleds.js.map +2 -2
  7. package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js +2 -15
  8. package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +2 -2
  9. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +9 -33
  10. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +2 -2
  11. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js +0 -1
  12. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +2 -2
  13. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +4 -15
  14. package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +2 -2
  15. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js +0 -3
  16. package/dist/cjs/parts/Pickers/TimeWheel/Styleds.js.map +2 -2
  17. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js +1 -2
  18. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  19. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js +10 -37
  20. package/dist/cjs/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +2 -2
  21. package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -16
  22. package/dist/cjs/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +2 -2
  23. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +0 -3
  24. package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +2 -2
  25. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +9 -34
  26. package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +2 -2
  27. package/dist/esm/parts/Pickers/Calendar/Styleds.js +1 -3
  28. package/dist/esm/parts/Pickers/Calendar/Styleds.js.map +2 -2
  29. package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js +2 -15
  30. package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +2 -2
  31. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +9 -35
  32. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +2 -2
  33. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js +0 -1
  34. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +2 -2
  35. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +4 -15
  36. package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +2 -2
  37. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js +0 -3
  38. package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +2 -2
  39. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +1 -2
  40. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +2 -2
  41. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +10 -39
  42. package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +2 -2
  43. package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -16
  44. package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +2 -2
  45. package/package.json +10 -10
@@ -1,9 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { useMemo, useState, useCallback, useContext } from "react";
3
- import { usePopper } from "react-popper";
4
3
  import { CONTROLLED_DATE_TIME_PICKER_TYPES } from "../../../ControlledDateTimePickerTypes";
5
4
  import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
6
- import { useOnClickOutside } from "../../../utils/hooks/useOnClickOutside";
7
5
  import { CalendarContext } from "../Calendar/CalendarContext";
8
6
  import { TimeWheelContext } from "../TimeWheel/TimeWheelContext";
9
7
  const useConfigCalendarWithTimeWheelCTX = () => {
@@ -42,11 +40,6 @@ const useConfigCalendarWithTimeWheelCTX = () => {
42
40
  }
43
41
  }, [isWithTimeInputs, onHomeKeyDown, trackFocusMeridiemInput, trackFocusYearInput, withAnyInputs]);
44
42
  const [referenceElement, setReferenceElement] = useState(null);
45
- const [popperElement, setPopperElement] = useState(null);
46
- const [arrowElement, setArrowElement] = useState(null);
47
- const usePopperHelpers = usePopper(referenceElement, popperElement, {
48
- modifiers: [{ name: "arrow", options: { element: arrowElement } }]
49
- });
50
43
  const openCalendar = useCallback(() => {
51
44
  setShowCalendarWithTimeWheel(true);
52
45
  onPickerOpen();
@@ -65,10 +58,6 @@ const useConfigCalendarWithTimeWheelCTX = () => {
65
58
  else
66
59
  closeCalendar();
67
60
  }, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);
68
- useOnClickOutside(popperElement, (e) => {
69
- if (e.target instanceof Element && !pickerButtonRef?.current?.contains?.(e?.target))
70
- closeCalendar();
71
- });
72
61
  const handleSetTriggerRef = useCallback((newRef) => {
73
62
  pickerButtonRef.current = newRef;
74
63
  setReferenceElement(newRef);
@@ -84,10 +73,9 @@ const useConfigCalendarWithTimeWheelCTX = () => {
84
73
  }, [closeCalendar, trackFocusPicker]);
85
74
  const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);
86
75
  return useMemo(() => ({
76
+ referenceElement,
87
77
  showCalendarWithTimeWheel,
88
- setPopperElement,
89
- setArrowElement,
90
- usePopperHelpers,
78
+ closeCalendar,
91
79
  handleToggleCalendarWithTimeWheel,
92
80
  handleSetTriggerRef,
93
81
  handleMenuWrapperKeyDown,
@@ -96,8 +84,9 @@ const useConfigCalendarWithTimeWheelCTX = () => {
96
84
  disabled,
97
85
  ariaCurrentValueForInputs
98
86
  }), [
87
+ referenceElement,
99
88
  showCalendarWithTimeWheel,
100
- usePopperHelpers,
89
+ closeCalendar,
101
90
  handleToggleCalendarWithTimeWheel,
102
91
  handleSetTriggerRef,
103
92
  handleMenuWrapperKeyDown,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useState, useCallback, useContext } from 'react';\nimport { usePopper } from 'react-popper';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nexport interface CalendarWithTimeWheelContextT {\n ariaCurrentValueForInputs: string;\n showCalendarWithTimeWheel: boolean;\n setPopperElement: (instance: HTMLDivElement) => void;\n setArrowElement: (instance: HTMLDivElement) => void;\n usePopperHelpers: ReturnType<typeof usePopper>;\n handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n isControllerOnly: boolean;\n disabled: boolean;\n}\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n withAnyInputs,\n isWithTimeInputs,\n ariaCurrentValueForInputs,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else trackFocusYearInput();\n }\n },\n [isWithTimeInputs, onHomeKeyDown, trackFocusMeridiemInput, trackFocusYearInput, withAnyInputs],\n );\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const openCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerOpen]);\n const closeCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerClose]);\n\n const handleToggleCalendarWithTimeWheel = useCallback(() => {\n if (!showCalendarWithTimeWheel) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);\n\n useOnClickOutside(popperElement, (e) => {\n if (e.target instanceof Element && !pickerButtonRef?.current?.contains?.(e?.target)) closeCalendar();\n });\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'datetime-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n trackFocusPicker();\n }\n },\n [closeCalendar, trackFocusPicker],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n showCalendarWithTimeWheel,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n showCalendarWithTimeWheel,\n usePopperHelpers,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React, { useMemo, useState, useCallback, useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nexport interface CalendarWithTimeWheelContextT {\n referenceElement: HTMLButtonElement | null;\n ariaCurrentValueForInputs: string;\n showCalendarWithTimeWheel: boolean;\n closeCalendar: () => void;\n handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n isControllerOnly: boolean;\n disabled: boolean;\n}\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n withAnyInputs,\n isWithTimeInputs,\n ariaCurrentValueForInputs,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else trackFocusYearInput();\n }\n },\n [isWithTimeInputs, onHomeKeyDown, trackFocusMeridiemInput, trackFocusYearInput, withAnyInputs],\n );\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const openCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerOpen]);\n const closeCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerClose]);\n\n const handleToggleCalendarWithTimeWheel = useCallback(() => {\n if (!showCalendarWithTimeWheel) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'datetime-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n trackFocusPicker();\n }\n },\n [closeCalendar, trackFocusPicker],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n referenceElement,\n showCalendarWithTimeWheel,\n closeCalendar,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n referenceElement,\n showCalendarWithTimeWheel,\n closeCalendar,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n"],
5
+ "mappings": "AAAA;ACEA;AACA;AACA;AACA;AACA;AAcO,MAAM,oCAAoC,MAAqC;AACpF,QAAM;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,MAAM,cAAc,eAAe;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,+BAA+B;AAC9C,QAAM,EAAE,yBAAyB,WAAW,eAAe;AAC3D,QAAM,EAAE,2BAA2B,WAAW,gBAAgB;AAC9D,QAAM,CAAC,2BAA2B,gCAAgC,SAAS,KAAK;AAChF,QAAM,gBAAgB,YAAY,MAAM;AACtC,2BAAuB;AAAA,EACzB,GAAG,CAAC,sBAAsB,CAAC;AAC3B,QAAM,0BAA6F,YACjG,CAAC,MAAM;AACL,UAAM,EAAE,QAAQ;AAChB,QAAI,CAAC,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAG,QAAE,eAAe;AACpD,QAAI,CAAC,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAG,QAAE,gBAAgB;AACrD,QAAI,QAAQ;AAAQ,oBAAc;AAClC,QAAI,QAAQ,eAAe,eAAe;AACxC,UAAI;AAAkB,gCAAwB;AAAA;AACzC,4BAAoB;AAAA,IAC3B;AAAA,EACF,GACA,CAAC,kBAAkB,eAAe,yBAAyB,qBAAqB,aAAa,CAC/F;AACA,QAAM,CAAC,kBAAkB,uBAAuB,SAAmC,IAAI;AACvF,QAAM,eAAe,YAAY,MAAM;AACrC,iCAA6B,IAAI;AACjC,iBAAa;AACb,eAAW,MAAM,qBAAqB,CAAC;AACvC,eAAW,MAAM,uBAAuB,CAAC;AAAA,EAC3C,GAAG,CAAC,sBAAsB,wBAAwB,YAAY,CAAC;AAC/D,QAAM,gBAAgB,YAAY,MAAM;AACtC,iCAA6B,KAAK;AAClC,kBAAc;AACd,eAAW,MAAM,qBAAqB,CAAC;AACvC,eAAW,MAAM,uBAAuB,CAAC;AAAA,EAC3C,GAAG,CAAC,sBAAsB,wBAAwB,aAAa,CAAC;AAEhE,QAAM,oCAAoC,YAAY,MAAM;AAC1D,QAAI,CAAC;AAA2B,mBAAa;AAAA;AACxC,oBAAc;AAAA,EACrB,GAAG,CAAC,eAAe,cAAc,yBAAyB,CAAC;AAE3D,QAAM,sBAAsB,YAC1B,CAAC,WAA8B;AAC7B,oBAAgB,UAAU;AAC1B,wBAAoB,MAAM;AAC1B,QAAI,4BAA4B,iBAAiB,uBAAuB;AAAwB,cAAQ,MAAM;AAAA,EAChH,GACA,CAAC,oBAAoB,yBAAyB,eAAe,CAC/D;AACA,QAAM,2BAA2B,YAC/B,CAAC,MAAwC;AACvC,UAAM,EAAE,QAAQ;AAChB,QAAI,QAAQ,UAAU;AACpB,oBAAc;AACd,uBAAiB;AAAA,IACnB;AAAA,EACF,GACA,CAAC,eAAe,gBAAgB,CAClC;AAEA,QAAM,mBAAmB,QAAQ,MAAM,SAAS,kCAAkC,UAAU,iBAAiB,CAAC,IAAI,CAAC;AAEnH,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -95,9 +95,6 @@ const StyledTimePickerContainer = styled.div`
95
95
  'TimePickerHead'
96
96
  'TimePickerWheelsLegend'
97
97
  'VerticalWheelWrapper';
98
- ${({ showShadow, isControllerOnly }) => showShadow && !isControllerOnly ? `
99
- box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);
100
- ` : ""}
101
98
  `;
102
99
  const StyledTimePickerHead = styled(Grid, { name: COMPONENT_NAME, slot: slots.TIMEWHEEL.HEADER_LABEL })`
103
100
  width: 100%;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/Styleds.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/indent */\nimport { css, styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { COMPONENT_NAME, slots } from '../../../exported-related/theming';\n\ninterface StyledWheelListItemPropsT {\n isCurrentListItem?: boolean;\n selected?: boolean;\n}\n\ninterface StyledTimePickerContainerT {\n showShadow?: boolean;\n isControllerOnly: boolean;\n}\n\nconst focusBorder = css`\n &:after {\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border-radius: 50%;\n border: 2px solid ${({ theme, isDisabled }) => (isDisabled ? theme.colors.danger[900] : theme.colors.brand[700])};\n }\n`;\n\nconst diagonalLine = css`\n &:before {\n position: absolute;\n content: '';\n top: 48%;\n left: -1px;\n height: 1px;\n width: calc(100% + 2px);\n transform: rotate(45deg);\n background-color: ${({ theme, isCurrentListItem, selected }) => {\n if (selected) return theme.colors.neutral['000'];\n if (isCurrentListItem) return theme.colors.danger[900];\n return theme.colors.neutral[500];\n }};\n }\n`;\n\nconst fontColorPerStatus = css`\n ${({ theme, isDisabled, isCurrentListItem, selected }) => {\n if (selected) return theme.colors.neutral['000'];\n if (isDisabled && isCurrentListItem) return theme.colors.danger[900];\n if (isDisabled) return theme.colors.neutral[500];\n if (isCurrentListItem) return theme.colors.brand[600];\n return theme.colors.neutral[800];\n }};\n`;\n\nconst hoverBgPerStatus = css`\n ${({ theme, selected, isDisabled }) => {\n if (isDisabled && selected) return theme.colors.danger[900];\n if (selected) return theme.colors.brand[700];\n return theme.colors.neutral['000'];\n }}\n`;\n\nexport const StyledIconTriggerButton = styled(DSButtonV2, {\n name: COMPONENT_NAME,\n slot: slots.PICKER_ICONS.TIMEWHEEL,\n})`\n color: ${({ theme }) => theme.colors.brand['600']};\n width: 26px;\n height: 26px;\n`;\n\nexport const StyledWheelList = styled.div`\n width: 100%;\n height: 100%;\n margin: auto;\n padding: 0;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n &:focus-within {\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 2px;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n box-shadow: 0 0 2px ${({ theme }) => theme.colors.brand[700]};\n }\n }\n`;\n\nexport const StyledTimePickerContainer = styled.div<StyledTimePickerContainerT>`\n display: grid;\n position: relative;\n grid-template-columns: 192px;\n grid-template-rows: 36px 30px auto;\n grid-template-areas:\n 'TimePickerHead'\n 'TimePickerWheelsLegend'\n 'VerticalWheelWrapper';\n ${({ showShadow, isControllerOnly }) =>\n showShadow && !isControllerOnly\n ? `\n box-shadow: 0 6px 20px 0 rgb(0 0 0 / 24%), 0 8px 17px 0 rgb(0 0 0 / 19%);\n `\n : ''}\n`;\n\nexport const StyledTimePickerHead = styled(Grid, { name: COMPONENT_NAME, slot: slots.TIMEWHEEL.HEADER_LABEL })`\n width: 100%;\n grid-area: TimePickerHead;\n justify-content: center;\n align-items: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledTimePickerWheelsLegend = styled.div`\n width: 100%;\n height: 100;\n grid-area: TimePickerWheelsLegend;\n display: grid;\n grid-template-columns: ${({ theme }) => theme.space.xl} ${({ theme }) => theme.space.xl} ${({ theme }) =>\n theme.space.xl};\n align-items: center;\n justify-content: center;\n text-align: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledTimePickerWheelWrapper = styled.div`\n width: 100%;\n background: ${({ theme }) => theme.colors.neutral['000']};\n grid-area: VerticalWheelWrapper;\n display: grid;\n grid-template-columns: ${({ theme }) => theme.space.xl} ${({ theme }) => theme.space.xl} ${({ theme }) =>\n theme.space.xl};\n grid-template-rows: 100%;\n & ul:not(:last-child) {\n position: relative;\n &:after {\n content: '';\n position: absolute;\n left: 100%;\n top: 5%;\n height: 90%;\n width: 1px;\n background: ${({ theme }) => theme.colors.neutral[200]};\n }\n }\n`;\n\nexport const StyledTimeBtn = styled(DSButtonV2, { name: COMPONENT_NAME, slot: slots.TIMEWHEEL.TIME_BUTTON })`\n position: relative;\n height: ${({ theme }) => theme.space.s};\n width: ${({ theme }) => theme.space.s};\n border-radius: 50%;\n\n &:hover {\n background-color: ${hoverBgPerStatus};\n }\n\n color: ${fontColorPerStatus};\n\n ${({ selected, isCurrentListItem }) => (isCurrentListItem && !selected ? focusBorder : ``)}\n\n ${({ isDisabled }) =>\n isDisabled\n ? css`\n cursor: not-allowed;\n ${diagonalLine};\n `\n : ``}\n\n ${({ theme, selected, isDisabled }) =>\n selected\n ? css`\n font-weight: ${theme.fontWeights.semibold};\n background-color ${isDisabled ? theme.colors.danger[900] : theme.colors.brand[700]};\n `\n : ``};\n`;\n\nexport const StyledWheelListItem = styled.div<StyledWheelListItemPropsT>`\n margin: auto;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const StyledWheelChangeTimeBtn = styled(DSButtonV2, {\n name: COMPONENT_NAME,\n slot: slots.TIMEWHEEL.TIME_CHANGE_BUTTON,\n})`\n height: ${({ theme }) => theme.space.s};\n width: ${({ theme }) => theme.space.s};\n min-width: ${({ theme }) => theme.space.s};\n border-radius: 50%;\n`;\n\nexport const TimeWheelFooterMessage = styled('footer', { name: COMPONENT_NAME, slot: slots.FOOTERS.TIMEWHEEL })`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-style: italic;\n font-weight: ${({ theme }) => theme.fontWeights.thin};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n background-color: white;\n`;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/indent */\nimport { css, styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { COMPONENT_NAME, slots } from '../../../exported-related/theming';\n\ninterface StyledWheelListItemPropsT {\n isCurrentListItem?: boolean;\n selected?: boolean;\n}\n\ninterface StyledTimePickerContainerT {\n showShadow?: boolean;\n isControllerOnly: boolean;\n}\n\nconst focusBorder = css`\n &:after {\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n border-radius: 50%;\n border: 2px solid ${({ theme, isDisabled }) => (isDisabled ? theme.colors.danger[900] : theme.colors.brand[700])};\n }\n`;\n\nconst diagonalLine = css`\n &:before {\n position: absolute;\n content: '';\n top: 48%;\n left: -1px;\n height: 1px;\n width: calc(100% + 2px);\n transform: rotate(45deg);\n background-color: ${({ theme, isCurrentListItem, selected }) => {\n if (selected) return theme.colors.neutral['000'];\n if (isCurrentListItem) return theme.colors.danger[900];\n return theme.colors.neutral[500];\n }};\n }\n`;\n\nconst fontColorPerStatus = css`\n ${({ theme, isDisabled, isCurrentListItem, selected }) => {\n if (selected) return theme.colors.neutral['000'];\n if (isDisabled && isCurrentListItem) return theme.colors.danger[900];\n if (isDisabled) return theme.colors.neutral[500];\n if (isCurrentListItem) return theme.colors.brand[600];\n return theme.colors.neutral[800];\n }};\n`;\n\nconst hoverBgPerStatus = css`\n ${({ theme, selected, isDisabled }) => {\n if (isDisabled && selected) return theme.colors.danger[900];\n if (selected) return theme.colors.brand[700];\n return theme.colors.neutral['000'];\n }}\n`;\n\nexport const StyledIconTriggerButton = styled(DSButtonV2, {\n name: COMPONENT_NAME,\n slot: slots.PICKER_ICONS.TIMEWHEEL,\n})`\n color: ${({ theme }) => theme.colors.brand['600']};\n width: 26px;\n height: 26px;\n`;\n\nexport const StyledWheelList = styled.div`\n width: 100%;\n height: 100%;\n margin: auto;\n padding: 0;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n &:focus-within {\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 2px;\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n box-shadow: 0 0 2px ${({ theme }) => theme.colors.brand[700]};\n }\n }\n`;\n\nexport const StyledTimePickerContainer = styled.div<StyledTimePickerContainerT>`\n display: grid;\n position: relative;\n grid-template-columns: 192px;\n grid-template-rows: 36px 30px auto;\n grid-template-areas:\n 'TimePickerHead'\n 'TimePickerWheelsLegend'\n 'VerticalWheelWrapper';\n`;\n\nexport const StyledTimePickerHead = styled(Grid, { name: COMPONENT_NAME, slot: slots.TIMEWHEEL.HEADER_LABEL })`\n width: 100%;\n grid-area: TimePickerHead;\n justify-content: center;\n align-items: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledTimePickerWheelsLegend = styled.div`\n width: 100%;\n height: 100;\n grid-area: TimePickerWheelsLegend;\n display: grid;\n grid-template-columns: ${({ theme }) => theme.space.xl} ${({ theme }) => theme.space.xl} ${({ theme }) =>\n theme.space.xl};\n align-items: center;\n justify-content: center;\n text-align: center;\n background: ${({ theme }) => theme.colors.neutral['050']};\n`;\n\nexport const StyledTimePickerWheelWrapper = styled.div`\n width: 100%;\n background: ${({ theme }) => theme.colors.neutral['000']};\n grid-area: VerticalWheelWrapper;\n display: grid;\n grid-template-columns: ${({ theme }) => theme.space.xl} ${({ theme }) => theme.space.xl} ${({ theme }) =>\n theme.space.xl};\n grid-template-rows: 100%;\n & ul:not(:last-child) {\n position: relative;\n &:after {\n content: '';\n position: absolute;\n left: 100%;\n top: 5%;\n height: 90%;\n width: 1px;\n background: ${({ theme }) => theme.colors.neutral[200]};\n }\n }\n`;\n\nexport const StyledTimeBtn = styled(DSButtonV2, { name: COMPONENT_NAME, slot: slots.TIMEWHEEL.TIME_BUTTON })`\n position: relative;\n height: ${({ theme }) => theme.space.s};\n width: ${({ theme }) => theme.space.s};\n border-radius: 50%;\n\n &:hover {\n background-color: ${hoverBgPerStatus};\n }\n\n color: ${fontColorPerStatus};\n\n ${({ selected, isCurrentListItem }) => (isCurrentListItem && !selected ? focusBorder : ``)}\n\n ${({ isDisabled }) =>\n isDisabled\n ? css`\n cursor: not-allowed;\n ${diagonalLine};\n `\n : ``}\n\n ${({ theme, selected, isDisabled }) =>\n selected\n ? css`\n font-weight: ${theme.fontWeights.semibold};\n background-color ${isDisabled ? theme.colors.danger[900] : theme.colors.brand[700]};\n `\n : ``};\n`;\n\nexport const StyledWheelListItem = styled.div<StyledWheelListItemPropsT>`\n margin: auto;\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nexport const StyledWheelChangeTimeBtn = styled(DSButtonV2, {\n name: COMPONENT_NAME,\n slot: slots.TIMEWHEEL.TIME_CHANGE_BUTTON,\n})`\n height: ${({ theme }) => theme.space.s};\n width: ${({ theme }) => theme.space.s};\n min-width: ${({ theme }) => theme.space.s};\n border-radius: 50%;\n`;\n\nexport const TimeWheelFooterMessage = styled('footer', { name: COMPONENT_NAME, slot: slots.FOOTERS.TIMEWHEEL })`\n border-top: solid 1px ${({ theme }) => theme.colors.neutral[300]};\n margin: 0 ${({ theme }) => theme.space.xxs2};\n padding: ${({ theme }) => theme.space.xxs2} 0;\n color: ${({ theme }) => theme.colors.danger[900]};\n font-style: italic;\n font-weight: ${({ theme }) => theme.fontWeights.thin};\n font-size: ${({ theme }) => theme.fontSizes.microText[200]};\n text-align: right;\n background-color: white;\n`;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -12,10 +12,9 @@ import { HoursList } from "./HoursList";
12
12
  import { MinutesList } from "./MinutesList";
13
13
  import { MeridiemList } from "./MeridiemList";
14
14
  import { TimeWheelFooter } from "./TimeWheelFooter";
15
- const TimeWheelContent = React2.memo(({ showShadow }) => {
15
+ const TimeWheelContent = React2.memo(() => {
16
16
  const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);
17
17
  return /* @__PURE__ */ React2.createElement(StyledTimePickerContainer, {
18
- showShadow,
19
18
  isControllerOnly,
20
19
  "data-testid": ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL
21
20
  }, /* @__PURE__ */ React2.createElement(StyledTimePickerHead, {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelContent.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport {\n StyledTimePickerContainer,\n StyledTimePickerHead,\n StyledTimePickerWheelsLegend,\n StyledTimePickerWheelWrapper,\n} from './Styleds';\nimport { HoursList } from './HoursList';\nimport { MinutesList } from './MinutesList';\nimport { MeridiemList } from './MeridiemList';\nimport { TimeWheelFooter } from './TimeWheelFooter';\n\nexport const TimeWheelContent = React.memo(({ showShadow }: { showShadow?: boolean }) => {\n const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledTimePickerContainer\n showShadow={showShadow}\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL}\n >\n <StyledTimePickerHead data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL}>{`${\n hours || '__'\n }:${minutes || '__'} ${meridiem || '__'}`}</StyledTimePickerHead>\n <StyledTimePickerWheelsLegend>\n <div>H</div>\n <div>M</div>\n <div>A</div>\n </StyledTimePickerWheelsLegend>\n <StyledTimePickerWheelWrapper>\n <HoursList />\n <MinutesList />\n <MeridiemList />\n </StyledTimePickerWheelWrapper>\n <TimeWheelFooter />\n </StyledTimePickerContainer>\n );\n});\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,OAAM,KAAK,CAAC,EAAE,iBAA2C;AACvF,QAAM,EAAE,kBAAkB,OAAO,SAAS,aAAa,WAAW,+BAA+B;AACjG,SACE,qCAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,eAAa,mCAAmC,qBAAqB;AAAA,KAErE,qCAAC;AAAA,IAAqB,eAAa,mCAAmC,UAAU;AAAA,KAAe,GAC7F,SAAS,QACP,WAAW,QAAQ,YAAY,MAAO,GAC1C,qCAAC,oCACC,qCAAC,aAAI,GAAC,GACN,qCAAC,aAAI,GAAC,GACN,qCAAC,aAAI,GAAC,CACR,GACA,qCAAC,oCACC,qCAAC,eAAU,GACX,qCAAC,iBAAY,GACb,qCAAC,kBAAa,CAChB,GACA,qCAAC,qBAAgB,CACnB;AAEJ,CAAC;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport {\n StyledTimePickerContainer,\n StyledTimePickerHead,\n StyledTimePickerWheelsLegend,\n StyledTimePickerWheelWrapper,\n} from './Styleds';\nimport { HoursList } from './HoursList';\nimport { MinutesList } from './MinutesList';\nimport { MeridiemList } from './MeridiemList';\nimport { TimeWheelFooter } from './TimeWheelFooter';\n\nexport const TimeWheelContent = React.memo(() => {\n const { isControllerOnly, hours, minutes, meridiem } = useContext(ControlledDateTimePickerContext);\n return (\n <StyledTimePickerContainer\n isControllerOnly={isControllerOnly}\n data-testid={ControlledDateTimePickerDatatestid.CONTROLLER_COMPONENT.TIMEWHEEL}\n >\n <StyledTimePickerHead data-testid={ControlledDateTimePickerDatatestid.TIMEWHEEL.HEADER_LABEL}>{`${\n hours || '__'\n }:${minutes || '__'} ${meridiem || '__'}`}</StyledTimePickerHead>\n <StyledTimePickerWheelsLegend>\n <div>H</div>\n <div>M</div>\n <div>A</div>\n </StyledTimePickerWheelsLegend>\n <StyledTimePickerWheelWrapper>\n <HoursList />\n <MinutesList />\n <MeridiemList />\n </StyledTimePickerWheelWrapper>\n <TimeWheelFooter />\n </StyledTimePickerContainer>\n );\n});\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,OAAM,KAAK,MAAM;AAC/C,QAAM,EAAE,kBAAkB,OAAO,SAAS,aAAa,WAAW,+BAA+B;AACjG,SACE,qCAAC;AAAA,IACC;AAAA,IACA,eAAa,mCAAmC,qBAAqB;AAAA,KAErE,qCAAC;AAAA,IAAqB,eAAa,mCAAmC,UAAU;AAAA,KAAe,GAC7F,SAAS,QACP,WAAW,QAAQ,YAAY,MAAO,GAC1C,qCAAC,oCACC,qCAAC,aAAI,GAAC,GACN,qCAAC,aAAI,GAAC,GACN,qCAAC,aAAI,GAAC,CACR,GACA,qCAAC,oCACC,qCAAC,eAAU,GACX,qCAAC,iBAAY,GACb,qCAAC,kBAAa,CAChB,GACA,qCAAC,qBAAgB,CACnB;AAEJ,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,51 +1,22 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
1
  import * as React from "react";
21
2
  import React2, { useContext } from "react";
22
- import { createPortal } from "react-dom";
3
+ import { DSPopperJS } from "@elliemae/ds-popperjs";
23
4
  import { ControlledDateTimePickerDatatestid } from "../../../ControlledDateTimePickerDatatestid";
24
5
  import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
25
6
  import { TimeWheelContent } from "./TimeWheelContent";
26
7
  import { TimeWheelContext } from "./TimeWheelContext";
27
8
  const TimeWheelWrapper = () => {
28
- const {
29
- setArrowElement,
30
- setPopperElement,
31
- usePopperHelpers: { styles, attributes }
32
- } = useContext(TimeWheelContext);
9
+ const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);
33
10
  const { isControllerOnly } = useContext(ControlledDateTimePickerContext);
34
11
  if (isControllerOnly)
35
- return /* @__PURE__ */ React2.createElement(TimeWheelContent, {
36
- showShadow: true
37
- });
38
- return createPortal(/* @__PURE__ */ React2.createElement("div", __spreadProps(__spreadValues({
39
- ref: setPopperElement,
40
- style: __spreadProps(__spreadValues({}, styles.popper), { background: "white", zIndex: 110 })
41
- }, attributes.popper), {
42
- "data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL
43
- }), /* @__PURE__ */ React2.createElement(TimeWheelContent, {
44
- showShadow: true
45
- }), /* @__PURE__ */ React2.createElement("div", {
46
- ref: setArrowElement,
47
- style: styles.arrow
48
- })), document.body);
12
+ return /* @__PURE__ */ React2.createElement(TimeWheelContent, null);
13
+ return /* @__PURE__ */ React2.createElement(DSPopperJS, {
14
+ showPopover: true,
15
+ "data-testid": ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL,
16
+ referenceElement,
17
+ withoutArrow: true,
18
+ onClickOutside: closeTimePicker
19
+ }, /* @__PURE__ */ React2.createElement(TimeWheelContent, null));
49
20
  };
50
21
  export {
51
22
  TimeWheelWrapper
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelWrapper.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { TimeWheelContent } from './TimeWheelContent';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const {\n setArrowElement,\n setPopperElement,\n usePopperHelpers: { styles, attributes },\n } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent showShadow />;\n return createPortal(\n <div\n ref={setPopperElement as (instance: HTMLDivElement | null) => void}\n style={{ ...styles.popper, background: 'white', zIndex: 110 }}\n {...attributes.popper}\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n >\n <TimeWheelContent showShadow />\n <div ref={setArrowElement as (instance: HTMLDivElement | null) => void} style={styles.arrow} />\n </div>,\n document.body,\n );\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,MAAmB;AACjD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,kBAAkB,EAAE,QAAQ;AAAA,MAC1B,WAAW,gBAAgB;AAC/B,QAAM,EAAE,qBAAqB,WAAW,+BAA+B;AACvE,MAAI;AAAkB,WAAO,qCAAC;AAAA,MAAiB,YAAU;AAAA,KAAC;AAC1D,SAAO,aACL,qCAAC;AAAA,IACC,KAAK;AAAA,IACL,OAAO,iCAAK,OAAO,SAAZ,EAAoB,YAAY,SAAS,QAAQ,IAAI;AAAA,KACxD,WAAW,SAHhB;AAAA,IAIC,eAAa,mCAAmC,gBAAgB;AAAA,MAEhE,qCAAC;AAAA,IAAiB,YAAU;AAAA,GAAC,GAC7B,qCAAC;AAAA,IAAI,KAAK;AAAA,IAA8D,OAAO,OAAO;AAAA,GAAO,CAC/F,GACA,SAAS,IACX;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { TimeWheelContent } from './TimeWheelContent';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent />;\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeTimePicker}\n >\n <TimeWheelContent />\n </DSPopperJS>\n );\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,WAAW,gBAAgB;AACzE,QAAM,EAAE,qBAAqB,WAAW,+BAA+B;AACvE,MAAI;AAAkB,WAAO,qCAAC,sBAAiB;AAC/C,SACE,qCAAC;AAAA,IACC,aAAW;AAAA,IACX,eAAa,mCAAmC,gBAAgB;AAAA,IAChE;AAAA,IACA,cAAY;AAAA,IACZ,gBAAgB;AAAA,KAEhB,qCAAC,sBAAiB,CACpB;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { useState, useCallback, useMemo, useContext } from "react";
3
- import { usePopper } from "react-popper";
4
3
  import { ControlledDateTimePickerContext } from "../../../ControlledDateTimePickerCTX";
5
- import { useOnClickOutside } from "../../../utils/hooks/useOnClickOutside";
6
4
  const usePopperTriggerLogic = () => {
7
5
  const {
8
6
  pickerButtonRef,
@@ -15,11 +13,6 @@ const usePopperTriggerLogic = () => {
15
13
  } = useContext(ControlledDateTimePickerContext);
16
14
  const [showTimePicker, setShowTimePicker] = useState(false);
17
15
  const [referenceElement, setReferenceElement] = useState(null);
18
- const [popperElement, setPopperElement] = useState(null);
19
- const [arrowElement, setArrowElement] = useState(null);
20
- const usePopperHelpers = usePopper(referenceElement, popperElement, {
21
- modifiers: [{ name: "arrow", options: { element: arrowElement } }]
22
- });
23
16
  const closeTimePicker = useCallback(() => {
24
17
  setShowTimePicker(false);
25
18
  onPickerClose();
@@ -35,10 +28,6 @@ const usePopperTriggerLogic = () => {
35
28
  return !oldShowCalendar;
36
29
  });
37
30
  }, [isWithCalendarToo, onPickerClose, onPickerOpen, trackFocusTimewheelCurrHour]);
38
- useOnClickOutside(popperElement, (e) => {
39
- if (e.target instanceof Element && !pickerButtonRef?.current?.contains?.(e?.target))
40
- closeTimePicker();
41
- });
42
31
  const handleSetTriggerRef = useCallback((newRef) => {
43
32
  pickerButtonRef.current = newRef;
44
33
  setReferenceElement(newRef);
@@ -53,15 +42,21 @@ const usePopperTriggerLogic = () => {
53
42
  }
54
43
  }, [closeTimePicker, trackFocusPicker]);
55
44
  return useMemo(() => ({
45
+ referenceElement,
56
46
  showTimePicker,
57
47
  setShowTimePicker,
58
- setPopperElement,
59
- setArrowElement,
60
- usePopperHelpers,
61
48
  handleToggleTimePicker,
62
49
  handleSetTriggerRef,
63
- handleMenuWrapperKeyDown
64
- }), [handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleTimePicker, showTimePicker, usePopperHelpers]);
50
+ handleMenuWrapperKeyDown,
51
+ closeTimePicker
52
+ }), [
53
+ closeTimePicker,
54
+ handleMenuWrapperKeyDown,
55
+ handleSetTriggerRef,
56
+ handleToggleTimePicker,
57
+ referenceElement,
58
+ showTimePicker
59
+ ]);
65
60
  };
66
61
  export {
67
62
  usePopperTriggerLogic
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/usePopperTriggerLogic.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useState, useCallback, useMemo, useContext } from 'react';\nimport { usePopper } from 'react-popper';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { useOnClickOutside } from '../../../utils/hooks/useOnClickOutside';\ninterface PopperTriggerLogicT {\n showTimePicker: boolean;\n setShowTimePicker: StateSetter<boolean>;\n setPopperElement: StateSetter<HTMLDivElement>;\n setArrowElement: StateSetter<HTMLDivElement>;\n usePopperHelpers: ReturnType<typeof usePopper>;\n handleToggleTimePicker: () => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport const usePopperTriggerLogic = (): PopperTriggerLogicT => {\n const {\n pickerButtonRef,\n props: { onPickerClose, onPickerOpen },\n isWithCalendarToo,\n trackFocusTimewheelCurrHour,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const [showTimePicker, setShowTimePicker] = useState(false);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const usePopperHelpers = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n const closeTimePicker = useCallback(() => {\n setShowTimePicker(false);\n onPickerClose();\n }, [onPickerClose]);\n const handleToggleTimePicker = useCallback(() => {\n setShowTimePicker((oldShowCalendar) => {\n if (!oldShowCalendar) {\n onPickerOpen();\n if (!isWithCalendarToo) trackFocusTimewheelCurrHour();\n } else onPickerClose();\n return !oldShowCalendar;\n });\n }, [isWithCalendarToo, onPickerClose, onPickerOpen, trackFocusTimewheelCurrHour]);\n\n useOnClickOutside(popperElement, (e) => {\n if (e.target instanceof Element && !pickerButtonRef?.current?.contains?.(e?.target)) closeTimePicker();\n });\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'time-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeTimePicker();\n trackFocusPicker();\n }\n },\n [closeTimePicker, trackFocusPicker],\n );\n return useMemo(\n () => ({\n showTimePicker,\n setShowTimePicker,\n setPopperElement,\n setArrowElement,\n usePopperHelpers,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n }),\n [handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleTimePicker, showTimePicker, usePopperHelpers],\n );\n};\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AAWO,MAAM,wBAAwB,MAA2B;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,eAAe;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,+BAA+B;AAC9C,QAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;AAC1D,QAAM,CAAC,kBAAkB,uBAAuB,SAAmC,IAAI;AACvF,QAAM,CAAC,eAAe,oBAAoB,SAAgC,IAAI;AAC9E,QAAM,CAAC,cAAc,mBAAmB,SAAgC,IAAI;AAC5E,QAAM,mBAAmB,UAAU,kBAAkB,eAAe;AAAA,IAClE,WAAW,CAAC,EAAE,MAAM,SAAS,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;AAAA,EACnE,CAAC;AACD,QAAM,kBAAkB,YAAY,MAAM;AACxC,sBAAkB,KAAK;AACvB,kBAAc;AAAA,EAChB,GAAG,CAAC,aAAa,CAAC;AAClB,QAAM,yBAAyB,YAAY,MAAM;AAC/C,sBAAkB,CAAC,oBAAoB;AACrC,UAAI,CAAC,iBAAiB;AACpB,qBAAa;AACb,YAAI,CAAC;AAAmB,sCAA4B;AAAA,MACtD;AAAO,sBAAc;AACrB,aAAO,CAAC;AAAA,IACV,CAAC;AAAA,EACH,GAAG,CAAC,mBAAmB,eAAe,cAAc,2BAA2B,CAAC;AAEhF,oBAAkB,eAAe,CAAC,MAAM;AACtC,QAAI,EAAE,kBAAkB,WAAW,CAAC,iBAAiB,SAAS,WAAW,GAAG,MAAM;AAAG,sBAAgB;AAAA,EACvG,CAAC;AACD,QAAM,sBAAsB,YAC1B,CAAC,WAA8B;AAC7B,oBAAgB,UAAU;AAC1B,wBAAoB,MAAM;AAE1B,QAAI,4BAA4B,iBAAiB,uBAAuB;AAAoB,cAAQ,MAAM;AAAA,EAC5G,GACA,CAAC,oBAAoB,yBAAyB,eAAe,CAC/D;AACA,QAAM,2BAA2B,YAC/B,CAAC,MAAwC;AACvC,UAAM,EAAE,QAAQ;AAChB,QAAI,QAAQ,UAAU;AACpB,sBAAgB;AAChB,uBAAiB;AAAA,IACnB;AAAA,EACF,GACA,CAAC,iBAAiB,gBAAgB,CACpC;AACA,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA,CAAC,0BAA0B,qBAAqB,wBAAwB,gBAAgB,gBAAgB,CAC1G;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useState, useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\ninterface PopperTriggerLogicT {\n referenceElement: HTMLButtonElement | null;\n showTimePicker: boolean;\n closeTimePicker: () => void;\n setShowTimePicker: StateSetter<boolean>;\n handleToggleTimePicker: () => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport const usePopperTriggerLogic = (): PopperTriggerLogicT => {\n const {\n pickerButtonRef,\n props: { onPickerClose, onPickerOpen },\n isWithCalendarToo,\n trackFocusTimewheelCurrHour,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const [showTimePicker, setShowTimePicker] = useState(false);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const closeTimePicker = useCallback(() => {\n setShowTimePicker(false);\n onPickerClose();\n }, [onPickerClose]);\n const handleToggleTimePicker = useCallback(() => {\n setShowTimePicker((oldShowCalendar) => {\n if (!oldShowCalendar) {\n onPickerOpen();\n if (!isWithCalendarToo) trackFocusTimewheelCurrHour();\n } else onPickerClose();\n return !oldShowCalendar;\n });\n }, [isWithCalendarToo, onPickerClose, onPickerOpen, trackFocusTimewheelCurrHour]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'time-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeTimePicker();\n trackFocusPicker();\n }\n },\n [closeTimePicker, trackFocusPicker],\n );\n return useMemo(\n () => ({\n referenceElement,\n showTimePicker,\n setShowTimePicker,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n closeTimePicker,\n }),\n [\n closeTimePicker,\n handleMenuWrapperKeyDown,\n handleSetTriggerRef,\n handleToggleTimePicker,\n referenceElement,\n showTimePicker,\n ],\n );\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAWO,MAAM,wBAAwB,MAA2B;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,eAAe;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,+BAA+B;AAC9C,QAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;AAC1D,QAAM,CAAC,kBAAkB,uBAAuB,SAAmC,IAAI;AACvF,QAAM,kBAAkB,YAAY,MAAM;AACxC,sBAAkB,KAAK;AACvB,kBAAc;AAAA,EAChB,GAAG,CAAC,aAAa,CAAC;AAClB,QAAM,yBAAyB,YAAY,MAAM;AAC/C,sBAAkB,CAAC,oBAAoB;AACrC,UAAI,CAAC,iBAAiB;AACpB,qBAAa;AACb,YAAI,CAAC;AAAmB,sCAA4B;AAAA,MACtD;AAAO,sBAAc;AACrB,aAAO,CAAC;AAAA,IACV,CAAC;AAAA,EACH,GAAG,CAAC,mBAAmB,eAAe,cAAc,2BAA2B,CAAC;AAEhF,QAAM,sBAAsB,YAC1B,CAAC,WAA8B;AAC7B,oBAAgB,UAAU;AAC1B,wBAAoB,MAAM;AAE1B,QAAI,4BAA4B,iBAAiB,uBAAuB;AAAoB,cAAQ,MAAM;AAAA,EAC5G,GACA,CAAC,oBAAoB,yBAAyB,eAAe,CAC/D;AACA,QAAM,2BAA2B,YAC/B,CAAC,MAAwC;AACvC,UAAM,EAAE,QAAQ;AAChB,QAAI,QAAQ,UAAU;AACpB,sBAAgB;AAChB,uBAAiB;AAAA,IACnB;AAAA,EACF,GACA,CAAC,iBAAiB,gBAAgB,CACpC;AACA,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACF;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-form-date-time-picker",
3
- "version": "3.0.4-rc.3",
3
+ "version": "3.1.0-next.1",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Controlled Form Date Time Picker",
6
6
  "files": [
@@ -42,18 +42,18 @@
42
42
  "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
43
43
  },
44
44
  "dependencies": {
45
- "@elliemae/ds-button": "3.0.4-rc.3",
46
- "@elliemae/ds-grid": "3.0.4-rc.3",
47
- "@elliemae/ds-icon": "3.0.4-rc.3",
48
- "@elliemae/ds-icons": "3.0.4-rc.3",
49
- "@elliemae/ds-system": "3.0.4-rc.3",
50
- "@elliemae/ds-utilities": "3.0.4-rc.3",
45
+ "@elliemae/ds-button": "3.1.0-next.1",
46
+ "@elliemae/ds-grid": "3.1.0-next.1",
47
+ "@elliemae/ds-icon": "3.1.0-next.1",
48
+ "@elliemae/ds-icons": "3.1.0-next.1",
49
+ "@elliemae/ds-popperjs": "3.1.0-next.1",
50
+ "@elliemae/ds-system": "3.1.0-next.1",
51
+ "@elliemae/ds-utilities": "3.1.0-next.1",
51
52
  "react-desc": "~4.1.3",
52
- "react-popper": "~2.2.5",
53
53
  "uid": "~2.0.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@elliemae/pui-theme": "~2.4.1",
56
+ "@elliemae/pui-theme": "~2.5.0",
57
57
  "@testing-library/dom": "~8.11.3",
58
58
  "@testing-library/jest-dom": "~5.16.2",
59
59
  "@testing-library/react": "~12.1.2",
@@ -62,7 +62,7 @@
62
62
  "styled-system": "~5.1.5"
63
63
  },
64
64
  "peerDependencies": {
65
- "@elliemae/pui-theme": "~2.4.1",
65
+ "@elliemae/pui-theme": "~2.5.0",
66
66
  "react": "^17.0.2",
67
67
  "react-dom": "^17.0.2",
68
68
  "styled-components": "^5.3.3",