@multiplatform.one/forms 7.70.0 → 7.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Button/index.cjs +16 -0
- package/dist/cjs/Button/index.native.js +16 -0
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/echoContext.cjs +39 -0
- package/dist/cjs/FloatingPanel/echoContext.native.js +42 -0
- package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -0
- package/dist/cjs/FloatingPanel/index.cjs +212 -80
- package/dist/cjs/FloatingPanel/index.native.js +92 -17
- package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/panelWidth.cjs +92 -0
- package/dist/cjs/FloatingPanel/panelWidth.native.js +99 -0
- package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -0
- package/dist/cjs/FloatingPanel/pointAnchor.cjs +15 -5
- package/dist/cjs/FloatingPanel/pointAnchor.native.js +15 -5
- package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +58 -4
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +69 -4
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/InputParts/index.cjs +20 -1
- package/dist/cjs/InputParts/index.native.js +22 -2
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/Wheel/NativeWheel.native.js +1 -1
- package/dist/cjs/Wheel/NativeWheel.native.js.map +1 -1
- package/dist/cjs/Wheel/index.cjs +2 -1
- package/dist/cjs/Wheel/index.native.js +4 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wheel/wheelShared.cjs +6 -1
- package/dist/cjs/Wheel/wheelShared.native.js +7 -1
- package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.cjs +1 -0
- package/dist/cjs/fields/Combobox/index.native.js +1 -0
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +6 -30
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/catalog.cjs +2 -28
- package/dist/cjs/fields/DatePicker/catalog.native.js +2 -30
- package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/parts.cjs +11 -20
- package/dist/cjs/fields/DatePicker/parts.native.js +13 -22
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/SearchInput/index.cjs +23 -1
- package/dist/cjs/fields/SearchInput/index.native.js +23 -1
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.cjs +65 -44
- package/dist/cjs/fields/Select/index.native.js +69 -47
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/shouldInlineChoices.cjs +3 -1
- package/dist/cjs/fields/Select/shouldInlineChoices.native.js +3 -1
- package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/catalog.cjs +4 -25
- package/dist/cjs/fields/TimePicker/catalog.native.js +7 -29
- package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/parts.cjs +8 -21
- package/dist/cjs/fields/TimePicker/parts.native.js +8 -21
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.cjs +13 -4
- package/dist/cjs/shared/floatingList.native.js +15 -4
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +17 -1
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +17 -1
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/echoContext.mjs +11 -0
- package/dist/esm/FloatingPanel/echoContext.mjs.map +1 -0
- package/dist/esm/FloatingPanel/echoContext.native.js +11 -0
- package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -0
- package/dist/esm/FloatingPanel/index.mjs +213 -83
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +92 -19
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/panelWidth.mjs +63 -0
- package/dist/esm/FloatingPanel/panelWidth.mjs.map +1 -0
- package/dist/esm/FloatingPanel/panelWidth.native.js +67 -0
- package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -0
- package/dist/esm/FloatingPanel/pointAnchor.mjs +15 -5
- package/dist/esm/FloatingPanel/pointAnchor.mjs.map +1 -1
- package/dist/esm/FloatingPanel/pointAnchor.native.js +15 -5
- package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs +58 -5
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js +69 -5
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/InputParts/index.mjs +21 -2
- package/dist/esm/InputParts/index.mjs.map +1 -1
- package/dist/esm/InputParts/index.native.js +23 -3
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/Wheel/NativeWheel.native.js +1 -1
- package/dist/esm/Wheel/NativeWheel.native.js.map +1 -1
- package/dist/esm/Wheel/index.mjs +2 -1
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +4 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/Wheel/wheelShared.mjs +6 -1
- package/dist/esm/Wheel/wheelShared.mjs.map +1 -1
- package/dist/esm/Wheel/wheelShared.native.js +7 -1
- package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.mjs +1 -0
- package/dist/esm/fields/Combobox/index.mjs.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js +1 -0
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +6 -30
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.mjs +2 -28
- package/dist/esm/fields/DatePicker/catalog.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.native.js +2 -30
- package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/parts.mjs +11 -20
- package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/parts.native.js +13 -22
- package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/SearchInput/index.mjs +25 -3
- package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
- package/dist/esm/fields/SearchInput/index.native.js +25 -3
- package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
- package/dist/esm/fields/Select/index.mjs +66 -45
- package/dist/esm/fields/Select/index.mjs.map +1 -1
- package/dist/esm/fields/Select/index.native.js +70 -48
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Select/shouldInlineChoices.mjs +3 -1
- package/dist/esm/fields/Select/shouldInlineChoices.mjs.map +1 -1
- package/dist/esm/fields/Select/shouldInlineChoices.native.js +3 -1
- package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/catalog.mjs +4 -25
- package/dist/esm/fields/TimePicker/catalog.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/catalog.native.js +7 -29
- package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/parts.mjs +8 -21
- package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/parts.native.js +8 -21
- package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/floatingList.mjs +14 -5
- package/dist/esm/shared/floatingList.mjs.map +1 -1
- package/dist/esm/shared/floatingList.native.js +16 -5
- package/dist/esm/shared/floatingList.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +17 -1
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +16 -0
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/echoContext.mjs +11 -0
- package/dist/jsx/FloatingPanel/echoContext.mjs.map +1 -0
- package/dist/jsx/FloatingPanel/echoContext.native.js +42 -0
- package/dist/jsx/FloatingPanel/echoContext.native.js.map +1 -0
- package/dist/jsx/FloatingPanel/index.mjs +213 -83
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +92 -17
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/panelWidth.mjs +63 -0
- package/dist/jsx/FloatingPanel/panelWidth.mjs.map +1 -0
- package/dist/jsx/FloatingPanel/panelWidth.native.js +99 -0
- package/dist/jsx/FloatingPanel/panelWidth.native.js.map +1 -0
- package/dist/jsx/FloatingPanel/pointAnchor.mjs +15 -5
- package/dist/jsx/FloatingPanel/pointAnchor.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/pointAnchor.native.js +15 -5
- package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +58 -5
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +69 -4
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/jsx/InputParts/index.mjs +21 -2
- package/dist/jsx/InputParts/index.mjs.map +1 -1
- package/dist/jsx/InputParts/index.native.js +22 -2
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/Wheel/NativeWheel.native.js +1 -1
- package/dist/jsx/Wheel/NativeWheel.native.js.map +1 -1
- package/dist/jsx/Wheel/index.mjs +2 -1
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +4 -1
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/Wheel/wheelShared.mjs +6 -1
- package/dist/jsx/Wheel/wheelShared.mjs.map +1 -1
- package/dist/jsx/Wheel/wheelShared.native.js +7 -1
- package/dist/jsx/Wheel/wheelShared.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/index.mjs +1 -0
- package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
- package/dist/jsx/fields/Combobox/index.native.js +1 -0
- package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +6 -30
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/catalog.mjs +2 -28
- package/dist/jsx/fields/DatePicker/catalog.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/catalog.native.js +2 -30
- package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.mjs +11 -20
- package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.native.js +13 -22
- package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/SearchInput/index.mjs +25 -3
- package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
- package/dist/jsx/fields/SearchInput/index.native.js +23 -1
- package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/index.mjs +66 -45
- package/dist/jsx/fields/Select/index.mjs.map +1 -1
- package/dist/jsx/fields/Select/index.native.js +69 -47
- package/dist/jsx/fields/Select/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/shouldInlineChoices.mjs +3 -1
- package/dist/jsx/fields/Select/shouldInlineChoices.mjs.map +1 -1
- package/dist/jsx/fields/Select/shouldInlineChoices.native.js +3 -1
- package/dist/jsx/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/catalog.mjs +4 -25
- package/dist/jsx/fields/TimePicker/catalog.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/catalog.native.js +7 -29
- package/dist/jsx/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.mjs +8 -21
- package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.native.js +8 -21
- package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/floatingList.mjs +14 -5
- package/dist/jsx/shared/floatingList.mjs.map +1 -1
- package/dist/jsx/shared/floatingList.native.js +15 -4
- package/dist/jsx/shared/floatingList.native.js.map +1 -1
- package/package.json +8 -8
- package/src/Button/index.tsx +22 -0
- package/src/FloatingPanel/FloatingPanel.echoStretch.spec.tsx +67 -0
- package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +193 -2
- package/src/FloatingPanel/FloatingPanel.seamlessCover.spec.tsx +237 -0
- package/src/FloatingPanel/echoContext.ts +22 -0
- package/src/FloatingPanel/index.native.tsx +106 -9
- package/src/FloatingPanel/index.tsx +310 -102
- package/src/FloatingPanel/panelWidth.spec.ts +158 -0
- package/src/FloatingPanel/panelWidth.ts +122 -0
- package/src/FloatingPanel/panelWidthContract.spec.ts +10 -10
- package/src/FloatingPanel/pointAnchor.spec.ts +64 -2
- package/src/FloatingPanel/pointAnchor.ts +28 -3
- package/src/FloatingPanel/useFloatingPanel.spec.tsx +124 -4
- package/src/FloatingPanel/useFloatingPanel.ts +106 -33
- package/src/InputParts/index.tsx +30 -1
- package/src/Wheel/NativeWheel.native.tsx +1 -1
- package/src/Wheel/Wheel.spec.tsx +9 -0
- package/src/Wheel/index.tsx +12 -3
- package/src/Wheel/wheelShared.ts +6 -2
- package/src/fields/Combobox/index.tsx +1 -0
- package/src/fields/DatePicker/DatePicker.stories.tsx +3 -3
- package/src/fields/DatePicker/DatetimePicker.catalog.tsx +17 -45
- package/src/fields/DatePicker/DatetimePicker.native.tsx +3 -0
- package/src/fields/DatePicker/catalog.tsx +8 -39
- package/src/fields/DatePicker/index.native.tsx +3 -0
- package/src/fields/DatePicker/parts.tsx +13 -23
- package/src/fields/DatePicker/seamlessCover.spec.tsx +180 -0
- package/src/fields/DatePicker/touchWeb.spec.tsx +109 -167
- package/src/fields/SearchInput/SearchInput.spec.tsx +40 -0
- package/src/fields/SearchInput/index.tsx +47 -2
- package/src/fields/Select/Select.containingBlock.spec.tsx +191 -0
- package/src/fields/Select/Select.stories.tsx +43 -0
- package/src/fields/Select/index.tsx +109 -45
- package/src/fields/Select/shouldInlineChoices.spec.ts +13 -0
- package/src/fields/Select/shouldInlineChoices.ts +6 -0
- package/src/fields/TimePicker/catalog.tsx +12 -33
- package/src/fields/TimePicker/index.native.tsx +2 -0
- package/src/fields/TimePicker/parts.tsx +6 -20
- package/src/index.ts +1 -0
- package/src/shared/floatingList.tsx +21 -5
- package/types/Button/index.d.ts.map +1 -1
- package/types/FloatingPanel/echoContext.d.ts +14 -0
- package/types/FloatingPanel/echoContext.d.ts.map +1 -0
- package/types/FloatingPanel/index.d.ts +59 -0
- package/types/FloatingPanel/index.d.ts.map +1 -1
- package/types/FloatingPanel/index.native.d.ts +9 -1
- package/types/FloatingPanel/index.native.d.ts.map +1 -1
- package/types/FloatingPanel/panelWidth.d.ts +71 -0
- package/types/FloatingPanel/panelWidth.d.ts.map +1 -0
- package/types/FloatingPanel/pointAnchor.d.ts +8 -1
- package/types/FloatingPanel/pointAnchor.d.ts.map +1 -1
- package/types/FloatingPanel/useFloatingPanel.d.ts +33 -2
- package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
- package/types/InputParts/index.d.ts +5 -1
- package/types/InputParts/index.d.ts.map +1 -1
- package/types/Wheel/index.d.ts.map +1 -1
- package/types/Wheel/wheelShared.d.ts +2 -1
- package/types/Wheel/wheelShared.d.ts.map +1 -1
- package/types/fields/Combobox/index.d.ts.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.catalog.d.ts +6 -0
- package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.native.d.ts +3 -0
- package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
- package/types/fields/DatePicker/catalog.d.ts +6 -0
- package/types/fields/DatePicker/catalog.d.ts.map +1 -1
- package/types/fields/DatePicker/index.native.d.ts +3 -0
- package/types/fields/DatePicker/index.native.d.ts.map +1 -1
- package/types/fields/DatePicker/parts.d.ts +5 -7
- package/types/fields/DatePicker/parts.d.ts.map +1 -1
- package/types/fields/Input/index.d.ts +3 -1
- package/types/fields/Input/index.d.ts.map +1 -1
- package/types/fields/SearchInput/index.d.ts +11 -0
- package/types/fields/SearchInput/index.d.ts.map +1 -1
- package/types/fields/Select/index.d.ts +8 -1
- package/types/fields/Select/index.d.ts.map +1 -1
- package/types/fields/Select/shouldInlineChoices.d.ts +5 -1
- package/types/fields/Select/shouldInlineChoices.d.ts.map +1 -1
- package/types/fields/TimePicker/catalog.d.ts +7 -1
- package/types/fields/TimePicker/catalog.d.ts.map +1 -1
- package/types/fields/TimePicker/index.native.d.ts +2 -0
- package/types/fields/TimePicker/index.native.d.ts.map +1 -1
- package/types/fields/TimePicker/parts.d.ts +1 -3
- package/types/fields/TimePicker/parts.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/shared/floatingList.d.ts +5 -1
- package/types/shared/floatingList.d.ts.map +1 -1
- package/dist/cjs/shared/touchWebPicker.cjs +0 -136
- package/dist/cjs/shared/touchWebPicker.native.js +0 -154
- package/dist/cjs/shared/touchWebPicker.native.js.map +0 -1
- package/dist/esm/shared/touchWebPicker.mjs +0 -105
- package/dist/esm/shared/touchWebPicker.mjs.map +0 -1
- package/dist/esm/shared/touchWebPicker.native.js +0 -120
- package/dist/esm/shared/touchWebPicker.native.js.map +0 -1
- package/dist/jsx/shared/touchWebPicker.mjs +0 -105
- package/dist/jsx/shared/touchWebPicker.mjs.map +0 -1
- package/dist/jsx/shared/touchWebPicker.native.js +0 -154
- package/dist/jsx/shared/touchWebPicker.native.js.map +0 -1
- package/src/shared/touchWebPicker.spec.ts +0 -98
- package/src/shared/touchWebPicker.tsx +0 -158
- package/types/shared/touchWebPicker.d.ts +0 -40
- package/types/shared/touchWebPicker.d.ts.map +0 -1
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { formatCalendarDate, parseCalendarDate } from "@multiplatform.one/theme";
|
|
2
|
-
import { useSyncExternalStore } from "react";
|
|
3
|
-
import { isWeb } from "tamagui";
|
|
4
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
const coarsePointerQuery = "(pointer: coarse)";
|
|
6
|
-
function coarsePointerList() {
|
|
7
|
-
if (!isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
return window.matchMedia(coarsePointerQuery);
|
|
11
|
-
}
|
|
12
|
-
function subscribeCoarsePointer(onChange) {
|
|
13
|
-
const list = coarsePointerList();
|
|
14
|
-
if (!list) return () => {};
|
|
15
|
-
if (typeof list.addEventListener === "function") {
|
|
16
|
-
list.addEventListener("change", onChange);
|
|
17
|
-
return () => list.removeEventListener("change", onChange);
|
|
18
|
-
}
|
|
19
|
-
list.addListener?.(onChange);
|
|
20
|
-
return () => list.removeListener?.(onChange);
|
|
21
|
-
}
|
|
22
|
-
function readCoarsePointer() {
|
|
23
|
-
return coarsePointerList()?.matches ?? false;
|
|
24
|
-
}
|
|
25
|
-
function useCoarsePointer() {
|
|
26
|
-
return useSyncExternalStore(subscribeCoarsePointer, readCoarsePointer, () => false);
|
|
27
|
-
}
|
|
28
|
-
function toDateInputValue(value) {
|
|
29
|
-
return value ? formatCalendarDate(value, "date") : "";
|
|
30
|
-
}
|
|
31
|
-
function toDatetimeLocalValue(value, showSeconds) {
|
|
32
|
-
if (!value) return "";
|
|
33
|
-
const wire = formatCalendarDate(value, "datetime").replace(" ", "T");
|
|
34
|
-
return showSeconds ? wire : wire.slice(0, 16);
|
|
35
|
-
}
|
|
36
|
-
function fromNativeDateValue(value) {
|
|
37
|
-
return parseCalendarDate(value);
|
|
38
|
-
}
|
|
39
|
-
const nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
|
|
40
|
-
function fromTimeInputValue(value, showSeconds) {
|
|
41
|
-
const match = value.trim().replace(/^(\d):/, "0$1:").match(nativeTimePattern);
|
|
42
|
-
if (!match) return "";
|
|
43
|
-
const base = `${match[1]}:${match[2]}`;
|
|
44
|
-
return showSeconds ? `${base}:${match[3] ?? "00"}` : base;
|
|
45
|
-
}
|
|
46
|
-
function toTimeInputValue(value, showSeconds) {
|
|
47
|
-
return fromTimeInputValue(value ?? "", showSeconds);
|
|
48
|
-
}
|
|
49
|
-
const overlayStyle = {
|
|
50
|
-
position: "absolute",
|
|
51
|
-
top: 0,
|
|
52
|
-
left: 0,
|
|
53
|
-
width: "100%",
|
|
54
|
-
height: "100%",
|
|
55
|
-
margin: 0,
|
|
56
|
-
padding: 0,
|
|
57
|
-
border: 0,
|
|
58
|
-
opacity: 0,
|
|
59
|
-
// iOS Safari zooms the page into a focused input under 16px.
|
|
60
|
-
fontSize: 16,
|
|
61
|
-
cursor: "pointer",
|
|
62
|
-
zIndex: 1,
|
|
63
|
-
WebkitAppearance: "none",
|
|
64
|
-
appearance: "none"
|
|
65
|
-
};
|
|
66
|
-
function TouchWebPickerInput({
|
|
67
|
-
kind,
|
|
68
|
-
value,
|
|
69
|
-
onValue,
|
|
70
|
-
onBlur,
|
|
71
|
-
id,
|
|
72
|
-
min,
|
|
73
|
-
max,
|
|
74
|
-
showSeconds,
|
|
75
|
-
disabled,
|
|
76
|
-
required,
|
|
77
|
-
invalid,
|
|
78
|
-
"aria-label": ariaLabel,
|
|
79
|
-
"aria-describedby": ariaDescribedBy
|
|
80
|
-
}) {
|
|
81
|
-
return /* @__PURE__ */jsx("input", {
|
|
82
|
-
type: kind,
|
|
83
|
-
id,
|
|
84
|
-
value,
|
|
85
|
-
min: min || void 0,
|
|
86
|
-
max: max || void 0,
|
|
87
|
-
step: showSeconds ? 1 : void 0,
|
|
88
|
-
disabled,
|
|
89
|
-
required,
|
|
90
|
-
"aria-label": ariaLabel,
|
|
91
|
-
"aria-describedby": ariaDescribedBy,
|
|
92
|
-
"aria-invalid": invalid || void 0,
|
|
93
|
-
"data-testid": "touch-web-picker",
|
|
94
|
-
style: overlayStyle,
|
|
95
|
-
onChange: event => onValue(event.currentTarget.value),
|
|
96
|
-
onBlur,
|
|
97
|
-
onClick: event => {
|
|
98
|
-
try {
|
|
99
|
-
event.currentTarget.showPicker?.();
|
|
100
|
-
} catch {}
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
export { TouchWebPickerInput, fromNativeDateValue, fromTimeInputValue, toDateInputValue, toDatetimeLocalValue, toTimeInputValue, useCoarsePointer };
|
|
105
|
-
//# sourceMappingURL=touchWebPicker.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["formatCalendarDate","parseCalendarDate","useSyncExternalStore","isWeb","jsx","coarsePointerQuery","coarsePointerList","window","matchMedia","subscribeCoarsePointer","onChange","list","addEventListener","removeEventListener","addListener","removeListener","readCoarsePointer","matches","useCoarsePointer","toDateInputValue","value","toDatetimeLocalValue","showSeconds","wire","replace","slice","fromNativeDateValue","nativeTimePattern","fromTimeInputValue","match","trim","base","toTimeInputValue","overlayStyle","position","top","left","width","height","margin","padding","border","opacity","fontSize","cursor","zIndex","WebkitAppearance","appearance","TouchWebPickerInput","kind","onValue","onBlur","id","min","max","disabled","required","invalid","ariaLabel","ariaDescribedBy","type","step","style","event","currentTarget","onClick","showPicker"],"sources":["../../../src/shared/touchWebPicker.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,EAAoBC,iBAAA,QAAyB;AACtD,SAA6BC,oBAAA,QAA4B;AACzD,SAASC,KAAA,QAAa;AAiIlB,SAAAC,GAAA;AAtHJ,MAAMC,kBAAA,GAAqB;AAE3B,SAASC,kBAAA,EAA2C;EAClD,IAAI,CAACH,KAAA,IAAS,OAAOI,MAAA,KAAW,eAAe,OAAOA,MAAA,CAAOC,UAAA,KAAe,YAAY;IACtF,OAAO;EACT;EACA,OAAOD,MAAA,CAAOC,UAAA,CAAWH,kBAAkB;AAC7C;AAEA,SAASI,uBAAuBC,QAAA,EAAkC;EAChE,MAAMC,IAAA,GAAOL,iBAAA,CAAkB;EAC/B,IAAI,CAACK,IAAA,EAAM,OAAO,MAAM,CAAC;EACzB,IAAI,OAAOA,IAAA,CAAKC,gBAAA,KAAqB,YAAY;IAC/CD,IAAA,CAAKC,gBAAA,CAAiB,UAAUF,QAAQ;IACxC,OAAO,MAAMC,IAAA,CAAKE,mBAAA,CAAoB,UAAUH,QAAQ;EAC1D;EACAC,IAAA,CAAKG,WAAA,GAAcJ,QAAQ;EAC3B,OAAO,MAAMC,IAAA,CAAKI,cAAA,GAAiBL,QAAQ;AAC7C;AAEA,SAASM,kBAAA,EAA6B;EACpC,OAAOV,iBAAA,CAAkB,GAAGW,OAAA,IAAW;AACzC;AAMO,SAASC,iBAAA,EAA4B;EAC1C,OAAOhB,oBAAA,CAAqBO,sBAAA,EAAwBO,iBAAA,EAAmB,MAAM,KAAK;AACpF;AAEO,SAASG,iBAAiBC,KAAA,EAAwC;EACvE,OAAOA,KAAA,GAAQpB,kBAAA,CAAmBoB,KAAA,EAAO,MAAM,IAAI;AACrD;AAEO,SAASC,qBAAqBD,KAAA,EAAgCE,WAAA,EAA8B;EACjG,IAAI,CAACF,KAAA,EAAO,OAAO;EACnB,MAAMG,IAAA,GAAOvB,kBAAA,CAAmBoB,KAAA,EAAO,UAAU,EAAEI,OAAA,CAAQ,KAAK,GAAG;EACnE,OAAOF,WAAA,GAAcC,IAAA,GAAOA,IAAA,CAAKE,KAAA,CAAM,GAAG,EAAE;AAC9C;AAMO,SAASC,oBAAoBN,KAAA,EAA4B;EAC9D,OAAOnB,iBAAA,CAAkBmB,KAAK;AAChC;AAEA,MAAMO,iBAAA,GAAoB;AAGnB,SAASC,mBAAmBR,KAAA,EAAeE,WAAA,EAA8B;EAC9E,MAAMO,KAAA,GAAQT,KAAA,CACXU,IAAA,CAAK,EACLN,OAAA,CAAQ,UAAU,MAAM,EACxBK,KAAA,CAAMF,iBAAiB;EAC1B,IAAI,CAACE,KAAA,EAAO,OAAO;EACnB,MAAME,IAAA,GAAO,GAAGF,KAAA,CAAM,CAAC,CAAC,IAAIA,KAAA,CAAM,CAAC,CAAC;EACpC,OAAOP,WAAA,GAAc,GAAGS,IAAI,IAAIF,KAAA,CAAM,CAAC,KAAK,IAAI,KAAKE,IAAA;AACvD;AAEO,SAASC,iBAAiBZ,KAAA,EAAkCE,WAAA,EAA8B;EAC/F,OAAOM,kBAAA,CAAmBR,KAAA,IAAS,IAAIE,WAAW;AACpD;AAEA,MAAMW,YAAA,GAA8B;EAClCC,QAAA,EAAU;EACVC,GAAA,EAAK;EACLC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,MAAA,EAAQ;EACRC,MAAA,EAAQ;EACRC,OAAA,EAAS;EACTC,MAAA,EAAQ;EACRC,OAAA,EAAS;EAAA;EAETC,QAAA,EAAU;EACVC,MAAA,EAAQ;EACRC,MAAA,EAAQ;EACRC,gBAAA,EAAkB;EAClBC,UAAA,EAAY;AACd;AAmBO,SAASC,oBAAoB;EAClCC,IAAA;EACA7B,KAAA;EACA8B,OAAA;EACAC,MAAA;EACAC,EAAA;EACAC,GAAA;EACAC,GAAA;EACAhC,WAAA;EACAiC,QAAA;EACAC,QAAA;EACAC,OAAA;EACA,cAAcC,SAAA;EACd,oBAAoBC;AACtB,GAA6B;EAC3B,OACE,eAAAvD,GAAA,CAAC;IACCwD,IAAA,EAAMX,IAAA;IACNG,EAAA;IACAhC,KAAA;IACAiC,GAAA,EAAKA,GAAA,IAAO;IACZC,GAAA,EAAKA,GAAA,IAAO;IACZO,IAAA,EAAMvC,WAAA,GAAc,IAAI;IACxBiC,QAAA;IACAC,QAAA;IACA,cAAYE,SAAA;IACZ,oBAAkBC,eAAA;IAClB,gBAAcF,OAAA,IAAW;IACzB,eAAY;IACZK,KAAA,EAAO7B,YAAA;IACPvB,QAAA,EAAWqD,KAAA,IAAUb,OAAA,CAAQa,KAAA,CAAMC,aAAA,CAAc5C,KAAK;IACtD+B,MAAA;IACAc,OAAA,EAAUF,KAAA,IAAU;MAIlB,IAAI;QACDA,KAAA,CAAMC,aAAA,CAAiEE,UAAA,GAAa;MACvF,QAAQ,CAAC;IACX;EAAA,CACF;AAEJ","ignoreList":[]}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { formatCalendarDate, parseCalendarDate } from "@multiplatform.one/theme";
|
|
3
|
-
import { useSyncExternalStore } from "react";
|
|
4
|
-
import { isWeb } from "tamagui";
|
|
5
|
-
var coarsePointerQuery = "(pointer: coarse)";
|
|
6
|
-
function coarsePointerList() {
|
|
7
|
-
if (!isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
return window.matchMedia(coarsePointerQuery);
|
|
11
|
-
}
|
|
12
|
-
function subscribeCoarsePointer(onChange) {
|
|
13
|
-
var _list_addListener;
|
|
14
|
-
var list = coarsePointerList();
|
|
15
|
-
if (!list) return function () {};
|
|
16
|
-
if (typeof list.addEventListener === "function") {
|
|
17
|
-
list.addEventListener("change", onChange);
|
|
18
|
-
return function () {
|
|
19
|
-
return list.removeEventListener("change", onChange);
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
(_list_addListener = list.addListener) === null || _list_addListener === void 0 ? void 0 : _list_addListener.call(list, onChange);
|
|
23
|
-
return function () {
|
|
24
|
-
var _list_removeListener;
|
|
25
|
-
return (_list_removeListener = list.removeListener) === null || _list_removeListener === void 0 ? void 0 : _list_removeListener.call(list, onChange);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function readCoarsePointer() {
|
|
29
|
-
var _ref;
|
|
30
|
-
var _coarsePointerList;
|
|
31
|
-
return (_ref = (_coarsePointerList = coarsePointerList()) === null || _coarsePointerList === void 0 ? void 0 : _coarsePointerList.matches) !== null && _ref !== void 0 ? _ref : false;
|
|
32
|
-
}
|
|
33
|
-
function useCoarsePointer() {
|
|
34
|
-
return useSyncExternalStore(subscribeCoarsePointer, readCoarsePointer, function () {
|
|
35
|
-
return false;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
function toDateInputValue(value) {
|
|
39
|
-
return value ? formatCalendarDate(value, "date") : "";
|
|
40
|
-
}
|
|
41
|
-
function toDatetimeLocalValue(value, showSeconds) {
|
|
42
|
-
if (!value) return "";
|
|
43
|
-
var wire = formatCalendarDate(value, "datetime").replace(" ", "T");
|
|
44
|
-
return showSeconds ? wire : wire.slice(0, 16);
|
|
45
|
-
}
|
|
46
|
-
function fromNativeDateValue(value) {
|
|
47
|
-
return parseCalendarDate(value);
|
|
48
|
-
}
|
|
49
|
-
var nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
|
|
50
|
-
function fromTimeInputValue(value, showSeconds) {
|
|
51
|
-
var _match_;
|
|
52
|
-
var match = value.trim().replace(/^(\d):/, "0$1:").match(nativeTimePattern);
|
|
53
|
-
if (!match) return "";
|
|
54
|
-
var base = `${match[1]}:${match[2]}`;
|
|
55
|
-
return showSeconds ? `${base}:${(_match_ = match[3]) !== null && _match_ !== void 0 ? _match_ : "00"}` : base;
|
|
56
|
-
}
|
|
57
|
-
function toTimeInputValue(value, showSeconds) {
|
|
58
|
-
return fromTimeInputValue(value !== null && value !== void 0 ? value : "", showSeconds);
|
|
59
|
-
}
|
|
60
|
-
var overlayStyle = {
|
|
61
|
-
position: "absolute",
|
|
62
|
-
top: 0,
|
|
63
|
-
left: 0,
|
|
64
|
-
width: "100%",
|
|
65
|
-
height: "100%",
|
|
66
|
-
margin: 0,
|
|
67
|
-
padding: 0,
|
|
68
|
-
border: 0,
|
|
69
|
-
opacity: 0,
|
|
70
|
-
// iOS Safari zooms the page into a focused input under 16px.
|
|
71
|
-
fontSize: 16,
|
|
72
|
-
cursor: "pointer",
|
|
73
|
-
zIndex: 1,
|
|
74
|
-
WebkitAppearance: "none",
|
|
75
|
-
appearance: "none"
|
|
76
|
-
};
|
|
77
|
-
function TouchWebPickerInput(param) {
|
|
78
|
-
var {
|
|
79
|
-
kind,
|
|
80
|
-
value,
|
|
81
|
-
onValue,
|
|
82
|
-
onBlur,
|
|
83
|
-
id,
|
|
84
|
-
min,
|
|
85
|
-
max,
|
|
86
|
-
showSeconds,
|
|
87
|
-
disabled,
|
|
88
|
-
required,
|
|
89
|
-
invalid,
|
|
90
|
-
"aria-label": ariaLabel,
|
|
91
|
-
"aria-describedby": ariaDescribedBy
|
|
92
|
-
} = param;
|
|
93
|
-
return /* @__PURE__ */_jsx("input", {
|
|
94
|
-
type: kind,
|
|
95
|
-
id,
|
|
96
|
-
value,
|
|
97
|
-
min: min || void 0,
|
|
98
|
-
max: max || void 0,
|
|
99
|
-
step: showSeconds ? 1 : void 0,
|
|
100
|
-
disabled,
|
|
101
|
-
required,
|
|
102
|
-
"aria-label": ariaLabel,
|
|
103
|
-
"aria-describedby": ariaDescribedBy,
|
|
104
|
-
"aria-invalid": invalid || void 0,
|
|
105
|
-
"data-testid": "touch-web-picker",
|
|
106
|
-
style: overlayStyle,
|
|
107
|
-
onChange: function onChange(event) {
|
|
108
|
-
return onValue(event.currentTarget.value);
|
|
109
|
-
},
|
|
110
|
-
onBlur,
|
|
111
|
-
onClick: function onClick(event) {
|
|
112
|
-
try {
|
|
113
|
-
var _event_currentTarget_showPicker, _event_currentTarget;
|
|
114
|
-
(_event_currentTarget_showPicker = (_event_currentTarget = event.currentTarget).showPicker) === null || _event_currentTarget_showPicker === void 0 ? void 0 : _event_currentTarget_showPicker.call(_event_currentTarget);
|
|
115
|
-
} catch (unused) {}
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
export { TouchWebPickerInput, fromNativeDateValue, fromTimeInputValue, toDateInputValue, toDatetimeLocalValue, toTimeInputValue, useCoarsePointer };
|
|
120
|
-
//# sourceMappingURL=touchWebPicker.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","formatCalendarDate","parseCalendarDate","useSyncExternalStore","isWeb","coarsePointerQuery","coarsePointerList","window","matchMedia","subscribeCoarsePointer","onChange","_list_addListener","list","addEventListener","removeEventListener","addListener","call","_list_removeListener","removeListener","readCoarsePointer","_ref","_coarsePointerList","matches","useCoarsePointer","toDateInputValue","value","toDatetimeLocalValue","showSeconds","wire","replace","slice","fromNativeDateValue","nativeTimePattern","fromTimeInputValue","_match_","match","trim","base","toTimeInputValue","overlayStyle","position","top","left","width","height","margin","padding","border","opacity","fontSize","cursor","zIndex","WebkitAppearance","appearance","TouchWebPickerInput","param","kind","onValue","onBlur","id","min","max","disabled","required","invalid","ariaLabel","ariaDescribedBy","type","step","style","event","currentTarget","onClick","_event_currentTarget_showPicker","_event_currentTarget","showPicker","unused"],"sources":["../../../src/shared/touchWebPicker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { formatCalendarDate, parseCalendarDate } from "@multiplatform.one/theme";
|
|
2
|
-
import { useSyncExternalStore } from "react";
|
|
3
|
-
import { isWeb } from "tamagui";
|
|
4
|
-
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
const coarsePointerQuery = "(pointer: coarse)";
|
|
6
|
-
function coarsePointerList() {
|
|
7
|
-
if (!isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
return window.matchMedia(coarsePointerQuery);
|
|
11
|
-
}
|
|
12
|
-
function subscribeCoarsePointer(onChange) {
|
|
13
|
-
const list = coarsePointerList();
|
|
14
|
-
if (!list) return () => {};
|
|
15
|
-
if (typeof list.addEventListener === "function") {
|
|
16
|
-
list.addEventListener("change", onChange);
|
|
17
|
-
return () => list.removeEventListener("change", onChange);
|
|
18
|
-
}
|
|
19
|
-
list.addListener?.(onChange);
|
|
20
|
-
return () => list.removeListener?.(onChange);
|
|
21
|
-
}
|
|
22
|
-
function readCoarsePointer() {
|
|
23
|
-
return coarsePointerList()?.matches ?? false;
|
|
24
|
-
}
|
|
25
|
-
function useCoarsePointer() {
|
|
26
|
-
return useSyncExternalStore(subscribeCoarsePointer, readCoarsePointer, () => false);
|
|
27
|
-
}
|
|
28
|
-
function toDateInputValue(value) {
|
|
29
|
-
return value ? formatCalendarDate(value, "date") : "";
|
|
30
|
-
}
|
|
31
|
-
function toDatetimeLocalValue(value, showSeconds) {
|
|
32
|
-
if (!value) return "";
|
|
33
|
-
const wire = formatCalendarDate(value, "datetime").replace(" ", "T");
|
|
34
|
-
return showSeconds ? wire : wire.slice(0, 16);
|
|
35
|
-
}
|
|
36
|
-
function fromNativeDateValue(value) {
|
|
37
|
-
return parseCalendarDate(value);
|
|
38
|
-
}
|
|
39
|
-
const nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
|
|
40
|
-
function fromTimeInputValue(value, showSeconds) {
|
|
41
|
-
const match = value.trim().replace(/^(\d):/, "0$1:").match(nativeTimePattern);
|
|
42
|
-
if (!match) return "";
|
|
43
|
-
const base = `${match[1]}:${match[2]}`;
|
|
44
|
-
return showSeconds ? `${base}:${match[3] ?? "00"}` : base;
|
|
45
|
-
}
|
|
46
|
-
function toTimeInputValue(value, showSeconds) {
|
|
47
|
-
return fromTimeInputValue(value ?? "", showSeconds);
|
|
48
|
-
}
|
|
49
|
-
const overlayStyle = {
|
|
50
|
-
position: "absolute",
|
|
51
|
-
top: 0,
|
|
52
|
-
left: 0,
|
|
53
|
-
width: "100%",
|
|
54
|
-
height: "100%",
|
|
55
|
-
margin: 0,
|
|
56
|
-
padding: 0,
|
|
57
|
-
border: 0,
|
|
58
|
-
opacity: 0,
|
|
59
|
-
// iOS Safari zooms the page into a focused input under 16px.
|
|
60
|
-
fontSize: 16,
|
|
61
|
-
cursor: "pointer",
|
|
62
|
-
zIndex: 1,
|
|
63
|
-
WebkitAppearance: "none",
|
|
64
|
-
appearance: "none"
|
|
65
|
-
};
|
|
66
|
-
function TouchWebPickerInput({
|
|
67
|
-
kind,
|
|
68
|
-
value,
|
|
69
|
-
onValue,
|
|
70
|
-
onBlur,
|
|
71
|
-
id,
|
|
72
|
-
min,
|
|
73
|
-
max,
|
|
74
|
-
showSeconds,
|
|
75
|
-
disabled,
|
|
76
|
-
required,
|
|
77
|
-
invalid,
|
|
78
|
-
"aria-label": ariaLabel,
|
|
79
|
-
"aria-describedby": ariaDescribedBy
|
|
80
|
-
}) {
|
|
81
|
-
return /* @__PURE__ */jsx("input", {
|
|
82
|
-
type: kind,
|
|
83
|
-
id,
|
|
84
|
-
value,
|
|
85
|
-
min: min || void 0,
|
|
86
|
-
max: max || void 0,
|
|
87
|
-
step: showSeconds ? 1 : void 0,
|
|
88
|
-
disabled,
|
|
89
|
-
required,
|
|
90
|
-
"aria-label": ariaLabel,
|
|
91
|
-
"aria-describedby": ariaDescribedBy,
|
|
92
|
-
"aria-invalid": invalid || void 0,
|
|
93
|
-
"data-testid": "touch-web-picker",
|
|
94
|
-
style: overlayStyle,
|
|
95
|
-
onChange: event => onValue(event.currentTarget.value),
|
|
96
|
-
onBlur,
|
|
97
|
-
onClick: event => {
|
|
98
|
-
try {
|
|
99
|
-
event.currentTarget.showPicker?.();
|
|
100
|
-
} catch {}
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
export { TouchWebPickerInput, fromNativeDateValue, fromTimeInputValue, toDateInputValue, toDatetimeLocalValue, toTimeInputValue, useCoarsePointer };
|
|
105
|
-
//# sourceMappingURL=touchWebPicker.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["formatCalendarDate","parseCalendarDate","useSyncExternalStore","isWeb","jsx","coarsePointerQuery","coarsePointerList","window","matchMedia","subscribeCoarsePointer","onChange","list","addEventListener","removeEventListener","addListener","removeListener","readCoarsePointer","matches","useCoarsePointer","toDateInputValue","value","toDatetimeLocalValue","showSeconds","wire","replace","slice","fromNativeDateValue","nativeTimePattern","fromTimeInputValue","match","trim","base","toTimeInputValue","overlayStyle","position","top","left","width","height","margin","padding","border","opacity","fontSize","cursor","zIndex","WebkitAppearance","appearance","TouchWebPickerInput","kind","onValue","onBlur","id","min","max","disabled","required","invalid","ariaLabel","ariaDescribedBy","type","step","style","event","currentTarget","onClick","showPicker"],"sources":["../../../src/shared/touchWebPicker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all) __defProp(target, name, {
|
|
9
|
-
get: all[name],
|
|
10
|
-
enumerable: true
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
-
get: () => from[key],
|
|
17
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
-
value: true
|
|
24
|
-
}), mod);
|
|
25
|
-
var touchWebPicker_exports = {};
|
|
26
|
-
__export(touchWebPicker_exports, {
|
|
27
|
-
TouchWebPickerInput: () => TouchWebPickerInput,
|
|
28
|
-
fromNativeDateValue: () => fromNativeDateValue,
|
|
29
|
-
fromTimeInputValue: () => fromTimeInputValue,
|
|
30
|
-
toDateInputValue: () => toDateInputValue,
|
|
31
|
-
toDatetimeLocalValue: () => toDatetimeLocalValue,
|
|
32
|
-
toTimeInputValue: () => toTimeInputValue,
|
|
33
|
-
useCoarsePointer: () => useCoarsePointer
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(touchWebPicker_exports);
|
|
36
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
-
var import_theme = require("@multiplatform.one/theme");
|
|
38
|
-
var import_react = require("react");
|
|
39
|
-
var import_tamagui = require("tamagui");
|
|
40
|
-
var coarsePointerQuery = "(pointer: coarse)";
|
|
41
|
-
function coarsePointerList() {
|
|
42
|
-
if (!import_tamagui.isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
return window.matchMedia(coarsePointerQuery);
|
|
46
|
-
}
|
|
47
|
-
function subscribeCoarsePointer(onChange) {
|
|
48
|
-
var _list_addListener;
|
|
49
|
-
var list = coarsePointerList();
|
|
50
|
-
if (!list) return function () {};
|
|
51
|
-
if (typeof list.addEventListener === "function") {
|
|
52
|
-
list.addEventListener("change", onChange);
|
|
53
|
-
return function () {
|
|
54
|
-
return list.removeEventListener("change", onChange);
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
(_list_addListener = list.addListener) === null || _list_addListener === void 0 ? void 0 : _list_addListener.call(list, onChange);
|
|
58
|
-
return function () {
|
|
59
|
-
var _list_removeListener;
|
|
60
|
-
return (_list_removeListener = list.removeListener) === null || _list_removeListener === void 0 ? void 0 : _list_removeListener.call(list, onChange);
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
function readCoarsePointer() {
|
|
64
|
-
var _ref;
|
|
65
|
-
var _coarsePointerList;
|
|
66
|
-
return (_ref = (_coarsePointerList = coarsePointerList()) === null || _coarsePointerList === void 0 ? void 0 : _coarsePointerList.matches) !== null && _ref !== void 0 ? _ref : false;
|
|
67
|
-
}
|
|
68
|
-
function useCoarsePointer() {
|
|
69
|
-
return (0, import_react.useSyncExternalStore)(subscribeCoarsePointer, readCoarsePointer, function () {
|
|
70
|
-
return false;
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
function toDateInputValue(value) {
|
|
74
|
-
return value ? (0, import_theme.formatCalendarDate)(value, "date") : "";
|
|
75
|
-
}
|
|
76
|
-
function toDatetimeLocalValue(value, showSeconds) {
|
|
77
|
-
if (!value) return "";
|
|
78
|
-
var wire = (0, import_theme.formatCalendarDate)(value, "datetime").replace(" ", "T");
|
|
79
|
-
return showSeconds ? wire : wire.slice(0, 16);
|
|
80
|
-
}
|
|
81
|
-
function fromNativeDateValue(value) {
|
|
82
|
-
return (0, import_theme.parseCalendarDate)(value);
|
|
83
|
-
}
|
|
84
|
-
var nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
|
|
85
|
-
function fromTimeInputValue(value, showSeconds) {
|
|
86
|
-
var _match_;
|
|
87
|
-
var match = value.trim().replace(/^(\d):/, "0$1:").match(nativeTimePattern);
|
|
88
|
-
if (!match) return "";
|
|
89
|
-
var base = `${match[1]}:${match[2]}`;
|
|
90
|
-
return showSeconds ? `${base}:${(_match_ = match[3]) !== null && _match_ !== void 0 ? _match_ : "00"}` : base;
|
|
91
|
-
}
|
|
92
|
-
function toTimeInputValue(value, showSeconds) {
|
|
93
|
-
return fromTimeInputValue(value !== null && value !== void 0 ? value : "", showSeconds);
|
|
94
|
-
}
|
|
95
|
-
var overlayStyle = {
|
|
96
|
-
position: "absolute",
|
|
97
|
-
top: 0,
|
|
98
|
-
left: 0,
|
|
99
|
-
width: "100%",
|
|
100
|
-
height: "100%",
|
|
101
|
-
margin: 0,
|
|
102
|
-
padding: 0,
|
|
103
|
-
border: 0,
|
|
104
|
-
opacity: 0,
|
|
105
|
-
// iOS Safari zooms the page into a focused input under 16px.
|
|
106
|
-
fontSize: 16,
|
|
107
|
-
cursor: "pointer",
|
|
108
|
-
zIndex: 1,
|
|
109
|
-
WebkitAppearance: "none",
|
|
110
|
-
appearance: "none"
|
|
111
|
-
};
|
|
112
|
-
function TouchWebPickerInput(param) {
|
|
113
|
-
var {
|
|
114
|
-
kind,
|
|
115
|
-
value,
|
|
116
|
-
onValue,
|
|
117
|
-
onBlur,
|
|
118
|
-
id,
|
|
119
|
-
min,
|
|
120
|
-
max,
|
|
121
|
-
showSeconds,
|
|
122
|
-
disabled,
|
|
123
|
-
required,
|
|
124
|
-
invalid,
|
|
125
|
-
"aria-label": ariaLabel,
|
|
126
|
-
"aria-describedby": ariaDescribedBy
|
|
127
|
-
} = param;
|
|
128
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)("input", {
|
|
129
|
-
type: kind,
|
|
130
|
-
id,
|
|
131
|
-
value,
|
|
132
|
-
min: min || void 0,
|
|
133
|
-
max: max || void 0,
|
|
134
|
-
step: showSeconds ? 1 : void 0,
|
|
135
|
-
disabled,
|
|
136
|
-
required,
|
|
137
|
-
"aria-label": ariaLabel,
|
|
138
|
-
"aria-describedby": ariaDescribedBy,
|
|
139
|
-
"aria-invalid": invalid || void 0,
|
|
140
|
-
"data-testid": "touch-web-picker",
|
|
141
|
-
style: overlayStyle,
|
|
142
|
-
onChange: function onChange(event) {
|
|
143
|
-
return onValue(event.currentTarget.value);
|
|
144
|
-
},
|
|
145
|
-
onBlur,
|
|
146
|
-
onClick: function onClick(event) {
|
|
147
|
-
try {
|
|
148
|
-
var _event_currentTarget_showPicker, _event_currentTarget;
|
|
149
|
-
(_event_currentTarget_showPicker = (_event_currentTarget = event.currentTarget).showPicker) === null || _event_currentTarget_showPicker === void 0 ? void 0 : _event_currentTarget_showPicker.call(_event_currentTarget);
|
|
150
|
-
} catch (unused) {}
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=touchWebPicker.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","touchWebPicker_exports","TouchWebPickerInput","fromNativeDateValue","fromTimeInputValue","toDateInputValue","toDatetimeLocalValue","toTimeInputValue","useCoarsePointer","module","exports","import_jsx_runtime","require","import_theme","import_react","import_tamagui","coarsePointerQuery","coarsePointerList","isWeb","window","matchMedia","subscribeCoarsePointer","onChange","_list_addListener","list","addEventListener","removeEventListener","addListener","_list_removeListener","removeListener","readCoarsePointer","_ref","_coarsePointerList","matches","useSyncExternalStore","formatCalendarDate","showSeconds","wire","replace","slice","parseCalendarDate","nativeTimePattern","_match_","match","trim","base","overlayStyle","position","top","left","width","height","margin","padding","border","opacity","fontSize","cursor","zIndex","WebkitAppearance","appearance","param","kind","onValue","onBlur","id","min","max","disabled","required","invalid","ariaLabel","ariaDescribedBy"],"sources":["../../../src/shared/touchWebPicker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FZ-8114 value contract for the touch-web picker inputs, across timezones.
|
|
3
|
-
* The browser speaks timezone-naive strings; the MPO calendar speaks local
|
|
4
|
-
* Dates. Each zone below must map one onto the other without a day or hour
|
|
5
|
-
* shift. The negative control (the UTC-instant formulation) has to FAIL in
|
|
6
|
-
* some zone, so a host that stopped honouring TZ cannot pass this vacuously.
|
|
7
|
-
*/
|
|
8
|
-
import { formatCalendarDate } from "@multiplatform.one/theme";
|
|
9
|
-
import { describe, expect, it } from "vitest";
|
|
10
|
-
import {
|
|
11
|
-
fromNativeDateValue,
|
|
12
|
-
fromTimeInputValue,
|
|
13
|
-
toDateInputValue,
|
|
14
|
-
toDatetimeLocalValue,
|
|
15
|
-
toTimeInputValue,
|
|
16
|
-
} from "./touchWebPicker";
|
|
17
|
-
|
|
18
|
-
const zones = [
|
|
19
|
-
"UTC",
|
|
20
|
-
"America/Los_Angeles",
|
|
21
|
-
"America/St_Johns",
|
|
22
|
-
"Asia/Kolkata",
|
|
23
|
-
"Pacific/Kiritimati",
|
|
24
|
-
] as const;
|
|
25
|
-
|
|
26
|
-
function inZone<T>(timeZone: string, read: () => T): T {
|
|
27
|
-
const previous = process.env.TZ;
|
|
28
|
-
process.env.TZ = timeZone;
|
|
29
|
-
try {
|
|
30
|
-
return read();
|
|
31
|
-
} finally {
|
|
32
|
-
if (previous === undefined) delete process.env.TZ;
|
|
33
|
-
else process.env.TZ = previous;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
describe("touch-web picker values (FZ-8114)", () => {
|
|
38
|
-
it("the zones really differ on this host", () => {
|
|
39
|
-
const offsets = new Set(
|
|
40
|
-
zones.map((zone) => inZone(zone, () => new Date(2026, 2, 5).getTimezoneOffset())),
|
|
41
|
-
);
|
|
42
|
-
expect(offsets.size).toBe(zones.length);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
for (const zone of zones) {
|
|
46
|
-
describe(zone, () => {
|
|
47
|
-
it("date: the calendar's local midnight and the input string round-trip", () => {
|
|
48
|
-
inZone(zone, () => {
|
|
49
|
-
const picked = new Date(2026, 2, 5);
|
|
50
|
-
expect(toDateInputValue(picked)).toBe("2026-03-05");
|
|
51
|
-
const back = fromNativeDateValue("2026-03-05");
|
|
52
|
-
expect(back?.getTime()).toBe(picked.getTime());
|
|
53
|
-
expect(formatCalendarDate(back, "date")).toBe("2026-03-05");
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
it("datetime: the local wall clock and the datetime-local string round-trip", () => {
|
|
58
|
-
inZone(zone, () => {
|
|
59
|
-
const picked = new Date(2026, 7, 15, 23, 45, 30);
|
|
60
|
-
expect(toDatetimeLocalValue(picked, false)).toBe("2026-08-15T23:45");
|
|
61
|
-
expect(toDatetimeLocalValue(picked, true)).toBe("2026-08-15T23:45:30");
|
|
62
|
-
const back = fromNativeDateValue("2026-08-15T23:45");
|
|
63
|
-
expect(back?.getTime()).toBe(new Date(2026, 7, 15, 23, 45, 0).getTime());
|
|
64
|
-
expect(formatCalendarDate(back, "datetime")).toBe("2026-08-15 23:45:00");
|
|
65
|
-
const withSeconds = fromNativeDateValue("2026-08-15T23:45:30");
|
|
66
|
-
expect(withSeconds?.getTime()).toBe(picked.getTime());
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
it("negative control: the UTC instant names the wrong day in some zone", () => {
|
|
73
|
-
const wrong = zones.filter((zone) =>
|
|
74
|
-
inZone(zone, () => new Date(2026, 7, 15).toISOString().slice(0, 10) !== "2026-08-15"),
|
|
75
|
-
);
|
|
76
|
-
expect(wrong.length).toBeGreaterThan(0);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
it("empty and unparseable input clears", () => {
|
|
80
|
-
expect(toDateInputValue(null)).toBe("");
|
|
81
|
-
expect(toDatetimeLocalValue(undefined, true)).toBe("");
|
|
82
|
-
expect(fromNativeDateValue("")).toBeNull();
|
|
83
|
-
expect(fromNativeDateValue("2026-13-45")).toBeNull();
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it("time: the input string normalises to the string TimePicker's wheels emit", () => {
|
|
87
|
-
expect(fromTimeInputValue("14:30", false)).toBe("14:30");
|
|
88
|
-
expect(fromTimeInputValue("14:30", true)).toBe("14:30:00");
|
|
89
|
-
expect(fromTimeInputValue("14:30:15", false)).toBe("14:30");
|
|
90
|
-
expect(fromTimeInputValue("14:30:15.250", true)).toBe("14:30:15");
|
|
91
|
-
expect(fromTimeInputValue("9:05", false)).toBe("09:05");
|
|
92
|
-
expect(fromTimeInputValue("", false)).toBe("");
|
|
93
|
-
expect(fromTimeInputValue("25:00", false)).toBe("");
|
|
94
|
-
expect(toTimeInputValue("08:00:00", false)).toBe("08:00");
|
|
95
|
-
expect(toTimeInputValue("08:00", true)).toBe("08:00:00");
|
|
96
|
-
expect(toTimeInputValue(undefined, false)).toBe("");
|
|
97
|
-
});
|
|
98
|
-
});
|