@rpcbase/ui 0.166.0 → 0.167.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/index100.js +318 -8
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +126 -38
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +20 -4
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +76 -52
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +18 -4
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +101 -4
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +5 -16
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +14 -5
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +2 -8
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +7 -16
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +13 -4
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +326 -4
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +49 -4
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +52 -6
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +4 -5
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +4 -4
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +14 -3
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +5 -6
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +7 -24
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +16 -6
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +4 -4
- package/dist/index119.js.map +1 -1
- package/dist/index120.js +4 -6
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +5 -5
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +5 -4
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +4 -5
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +4 -4
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +5 -7
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +24 -5
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +6 -4
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +4 -4
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +6 -6
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +1 -1
- package/dist/index130.js +5 -145
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +4 -39
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +5 -4
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +4 -7
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +8 -13
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +5 -13
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +4 -7
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +4 -31
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +6 -10
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +145 -10
- package/dist/index139.js.map +1 -1
- package/dist/index14.js +3 -3
- package/dist/index140.js +38 -7
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +4 -13
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +5 -99
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +14 -20
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +13 -53
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +6 -71
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +31 -9
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +10 -20
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +10 -16
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +8 -23
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +13 -6
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +101 -5
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +20 -24
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +53 -34
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +73 -16
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +9 -6
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +20 -4
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +16 -4
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +23 -4
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +6 -4
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +5 -3
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +23 -6
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +35 -24
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +16 -8
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +5 -5
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +4 -5
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +4 -3
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +4 -3
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +4 -4
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +3 -3
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +6 -4
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +24 -4
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +7 -3
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +6 -3
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +5 -24
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +4 -29
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +4 -5
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +4 -67
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +3 -180
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +4 -46
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +10 -1
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +3 -13
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +3 -154
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +3 -30
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +3 -9
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +2 -48
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +67 -11
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +83 -43
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +41 -90
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +7 -86
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +4 -105
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +6 -6
- package/dist/index190.js +49 -50
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +24 -11
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +29 -38
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +5 -9
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +5 -116
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +67 -16
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +2 -16
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +363 -3
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +259 -34
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +59 -19
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +1 -1
- package/dist/index200.js +46 -9
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +169 -8
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +108 -18
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +24 -28
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +8 -17
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +4 -58
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +5 -8
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +4 -66
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +464 -17
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +183 -14
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +1 -1
- package/dist/index210.js +106 -4
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +261 -4
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +9 -6
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +42 -4
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +4 -7
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +64 -17
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +47 -4
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +67 -5
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +180 -13
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +46 -10
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +39 -14
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +100 -14
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +97 -5
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +99 -6
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +58 -7
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +8 -6
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +66 -9
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +19 -5
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +16 -5
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +5 -9
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +1 -1
- package/dist/index230.js +5 -5
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +6 -5
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +4 -4
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +7 -11
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +16 -9
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +5 -10
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +5 -11
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +13 -11
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +10 -10
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +13 -6
- package/dist/index239.js.map +1 -1
- package/dist/index240.js +14 -6
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +4 -4
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +6 -6
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +6 -6
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +5 -5
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +9 -55
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +5 -23
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +5 -16
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +9 -7
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +5 -10
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +5 -10
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +4 -21
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +11 -10
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +10 -9
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +10 -9
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +11 -4
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +11 -5
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +10 -16
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +7 -9
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +6 -18
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +5 -15
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +6 -12
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +7 -29
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +6 -12
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +54 -24
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +23 -5
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +17 -5
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +8 -3
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +10 -23
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +10 -112
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +21 -15
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +10 -524
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +9 -127
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +9 -133
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +4 -20
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +5 -4
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +16 -18
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +9 -12
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +19 -69
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +15 -8
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +1 -1
- package/dist/index280.js +13 -14
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +30 -66
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +12 -64
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +25 -5
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +5 -5
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +2 -4
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +2 -16
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +5 -9
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +3 -6
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +23 -4
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +5 -5
- package/dist/index290.js +111 -544
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +15 -46
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +521 -14
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +127 -6
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +133 -8
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +13 -7
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +154 -8
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +30 -12
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +9 -9
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +47 -13
- package/dist/index299.js.map +1 -1
- package/dist/index30.js +47 -231
- package/dist/index30.js.map +1 -1
- package/dist/index300.js +11 -3
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +43 -21
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +95 -4
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +85 -54
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +105 -67
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +53 -31
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +12 -9
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +36 -151
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +9 -108
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +4 -23
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +218 -49
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +10 -13
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +113 -24
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +18 -5
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +15 -15
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +33 -25
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +20 -12
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +8 -6
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +23 -0
- package/dist/index317.js.map +1 -0
- package/dist/index318.js +32 -0
- package/dist/index318.js.map +1 -0
- package/dist/index319.js +20 -0
- package/dist/index319.js.map +1 -0
- package/dist/index32.js +36 -2633
- package/dist/index32.js.map +1 -1
- package/dist/index320.js +8 -0
- package/dist/index320.js.map +1 -0
- package/dist/index321.js +22 -0
- package/dist/index321.js.map +1 -0
- package/dist/index322.js +16 -0
- package/dist/index322.js.map +1 -0
- package/dist/index323.js +72 -0
- package/dist/index323.js.map +1 -0
- package/dist/index324.js +12 -0
- package/dist/index324.js.map +1 -0
- package/dist/index325.js +17 -0
- package/dist/index325.js.map +1 -0
- package/dist/index326.js +69 -0
- package/dist/index326.js.map +1 -0
- package/dist/index327.js +68 -0
- package/dist/index327.js.map +1 -0
- package/dist/index328.js +24 -0
- package/dist/index328.js.map +1 -0
- package/dist/index329.js +9 -0
- package/dist/index329.js.map +1 -0
- package/dist/index33.js +35 -388
- package/dist/index33.js.map +1 -1
- package/dist/index330.js +9 -0
- package/dist/index330.js.map +1 -0
- package/dist/index331.js +7 -0
- package/dist/index331.js.map +1 -0
- package/dist/index332.js +19 -0
- package/dist/index332.js.map +1 -0
- package/dist/index333.js +12 -0
- package/dist/index333.js.map +1 -0
- package/dist/index334.js +9 -0
- package/dist/index334.js.map +1 -0
- package/dist/index335.js +8 -0
- package/dist/index335.js.map +1 -0
- package/dist/index336.js +549 -0
- package/dist/index336.js.map +1 -0
- package/dist/index337.js +50 -0
- package/dist/index337.js.map +1 -0
- package/dist/index338.js +21 -0
- package/dist/index338.js.map +1 -0
- package/dist/index339.js +10 -0
- package/dist/index339.js.map +1 -0
- package/dist/index34.js +26 -230
- package/dist/index34.js.map +1 -1
- package/dist/index340.js +12 -0
- package/dist/index340.js.map +1 -0
- package/dist/index341.js +11 -0
- package/dist/index341.js.map +1 -0
- package/dist/index342.js +12 -0
- package/dist/index342.js.map +1 -0
- package/dist/index343.js +16 -0
- package/dist/index343.js.map +1 -0
- package/dist/index344.js +13 -0
- package/dist/index344.js.map +1 -0
- package/dist/index345.js +17 -0
- package/dist/index345.js.map +1 -0
- package/dist/index346.js +7 -0
- package/dist/index346.js.map +1 -0
- package/dist/index347.js +26 -0
- package/dist/index347.js.map +1 -0
- package/dist/index348.js +8 -0
- package/dist/index348.js.map +1 -0
- package/dist/index349.js +59 -0
- package/dist/index349.js.map +1 -0
- package/dist/index35.js +44 -20
- package/dist/index35.js.map +1 -1
- package/dist/index350.js +71 -0
- package/dist/index350.js.map +1 -0
- package/dist/index351.js +34 -0
- package/dist/index351.js.map +1 -0
- package/dist/index352.js +12 -0
- package/dist/index352.js.map +1 -0
- package/dist/index353.js +156 -0
- package/dist/index353.js.map +1 -0
- package/dist/index354.js +111 -0
- package/dist/index354.js.map +1 -0
- package/dist/index355.js +26 -0
- package/dist/index355.js.map +1 -0
- package/dist/index356.js +16 -0
- package/dist/index356.js.map +1 -0
- package/dist/index357.js +31 -0
- package/dist/index357.js.map +1 -0
- package/dist/index358.js +8 -0
- package/dist/index358.js.map +1 -0
- package/dist/index359.js +19 -0
- package/dist/index359.js.map +1 -0
- package/dist/index36.js +27 -137
- package/dist/index36.js.map +1 -1
- package/dist/index360.js +32 -0
- package/dist/index360.js.map +1 -0
- package/dist/index361.js +16 -0
- package/dist/index361.js.map +1 -0
- package/dist/index362.js +10 -0
- package/dist/index362.js.map +1 -0
- package/dist/index37.js +22 -181
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +23 -77
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +127 -89
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +231 -5
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +51 -844
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +2636 -61
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +393 -7
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +233 -2
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +20 -22
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +140 -232
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +180 -198
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +76 -3
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +89 -5
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +5 -47
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +840 -23
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +65 -50
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +7 -7
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +2 -15
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +22 -132
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +233 -10
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +191 -203
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +4 -13
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +6 -33
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +44 -43
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +26 -7
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +48 -47
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +7 -3
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +14 -5
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +133 -27
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +11 -50
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +216 -8
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +13 -2
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +34 -2
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +46 -11
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +7 -53
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +49 -5
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +4 -8
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +5 -5
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +27 -46
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +48 -204
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +8 -21
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +11 -24
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +2 -400
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +2 -47
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +52 -604
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +46 -5
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +199 -62
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +22 -2
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +24 -363
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +381 -243
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +41 -55
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +5 -46
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +7 -169
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +5 -109
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +605 -24
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +4 -8
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +33 -4
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +249 -5
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +114 -4
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +214 -461
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +60 -179
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +18 -105
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +197 -250
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
package/dist/index18.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index18.js","sources":["../src/components/HourPickerField/index.tsx"],"sourcesContent":["import { Check, ChevronDown, ChevronUp } from \"lucide-react\"\nimport * as React from \"react\"\nimport { DismissableLayerBranch } from \"@radix-ui/react-dismissable-layer\"\nimport { createPortal } from \"react-dom\"\nimport { IMaskInput } from \"react-imask\"\n\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/Select\"\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\nexport type HourPickerOption = {\n value: string\n label: string\n disabled?: boolean\n description?: React.ReactNode\n}\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction parseTimeInput(raw: string) {\n const trimmed = raw.trim()\n if (!trimmed) return null\n\n const match = /^(\\d{1,2}):(\\d{2})$/.exec(trimmed)\n if (!match) {\n return null\n }\n\n const hours = Number(match[1])\n const minutes = Number(match[2])\n if (!Number.isFinite(hours) || !Number.isFinite(minutes)) {\n return null\n }\n\n if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {\n return null\n }\n\n return `${pad2(hours)}:${pad2(minutes)}`\n}\n\ntype ParsedTimeInputResult = {\n parsed: string\n selectableValue: string | null\n}\n\nfunction parseTimeInputWithSelectableOption(raw: string, options: HourPickerOption[]): ParsedTimeInputResult | null {\n const parsed = parseTimeInput(raw)\n if (!parsed) return null\n\n const parsedOption = options.find((option) => option.value === parsed)\n if (isOptionSelectable(parsedOption)) {\n return { parsed, selectableValue: parsed }\n }\n\n return { parsed, selectableValue: null }\n}\n\nfunction timeStringToMinutes(value: string) {\n const match = /^(\\d{2}):(\\d{2})$/.exec(value)\n if (!match) {\n return null\n }\n\n const hours = Number(match[1])\n const minutes = Number(match[2])\n\n if (!Number.isFinite(hours) || !Number.isFinite(minutes)) {\n return null\n }\n\n return hours * 60 + minutes\n}\n\nfunction isOptionSelectable(option: HourPickerOption | undefined) {\n if (!option) return false\n return !option.disabled\n}\n\nfunction findClosestSelectableOption(targetMinutes: number, options: HourPickerOption[]) {\n let bestOption: HourPickerOption | null = null\n let bestDiff = Number.POSITIVE_INFINITY\n let bestMinutes = Number.NEGATIVE_INFINITY\n\n for (const option of options) {\n if (!isOptionSelectable(option)) continue\n const optionMinutes = timeStringToMinutes(option.value)\n if (optionMinutes == null) continue\n\n const diff = Math.abs(optionMinutes - targetMinutes)\n if (diff < bestDiff || (diff === bestDiff && optionMinutes > bestMinutes)) {\n bestOption = option\n bestDiff = diff\n bestMinutes = optionMinutes\n }\n }\n\n return bestOption\n}\n\ntype HourPickerScrollButtonDirection = \"up\" | \"down\"\n\ntype HourPickerScrollButtonProps = {\n direction: HourPickerScrollButtonDirection\n viewportRef: React.RefObject<HTMLElement | null>\n speed?: number\n className?: string\n}\n\nfunction HourPickerScrollButton({\n direction,\n viewportRef,\n speed = 400,\n className,\n}: HourPickerScrollButtonProps) {\n const [disabled, setDisabled] = React.useState(true)\n const animationRef = React.useRef<number | undefined>(undefined)\n const lastTimeRef = React.useRef<number | undefined>(undefined)\n const isScrollingRef = React.useRef(false)\n\n const checkScrollability = React.useCallback(() => {\n const viewport = viewportRef.current\n if (!viewport) {\n setDisabled(true)\n return\n }\n\n const { scrollTop, scrollHeight, clientHeight } = viewport\n const tolerance = 2\n\n const canScrollUp = scrollTop > tolerance\n const canScrollDown = scrollTop < (scrollHeight - clientHeight - tolerance)\n const hasScrollableContent = scrollHeight > clientHeight + tolerance\n\n if (!hasScrollableContent) {\n setDisabled(true)\n return\n }\n\n const shouldDisable = direction === \"up\" ? !canScrollUp : !canScrollDown\n setDisabled(shouldDisable)\n }, [direction, viewportRef])\n\n React.useEffect(() => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n checkScrollability()\n\n const handleScroll = () => checkScrollability()\n const handleResize = () => checkScrollability()\n\n viewport.addEventListener(\"scroll\", handleScroll, { passive: true })\n\n const resizeObserver = new ResizeObserver(handleResize)\n resizeObserver.observe(viewport)\n\n const mutationObserver = new MutationObserver(handleResize)\n mutationObserver.observe(viewport, { childList: true, subtree: true })\n\n return () => {\n viewport.removeEventListener(\"scroll\", handleScroll)\n resizeObserver.disconnect()\n mutationObserver.disconnect()\n }\n }, [viewportRef, checkScrollability])\n\n const stopScrolling = React.useCallback(() => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = undefined\n }\n isScrollingRef.current = false\n lastTimeRef.current = undefined\n }, [])\n\n const smoothScroll = React.useCallback(\n (currentTime: number) => {\n const viewport = viewportRef.current\n if (!viewport || disabled || !isScrollingRef.current) {\n stopScrolling()\n return\n }\n\n if (!lastTimeRef.current) {\n lastTimeRef.current = currentTime\n }\n\n const deltaTime = currentTime - lastTimeRef.current\n const distance = (speed * deltaTime) / 1000\n\n if (distance < 0.1) {\n animationRef.current = requestAnimationFrame(smoothScroll)\n return\n }\n\n const oldScrollTop = viewport.scrollTop\n const maxScroll = viewport.scrollHeight - viewport.clientHeight\n\n let newScrollTop: number\n if (direction === \"up\") {\n newScrollTop = Math.max(0, oldScrollTop - distance)\n } else {\n newScrollTop = Math.min(maxScroll, oldScrollTop + distance)\n }\n\n viewport.scrollTop = newScrollTop\n\n lastTimeRef.current = currentTime\n\n const tolerance = 1\n const canContinue =\n direction === \"up\"\n ? newScrollTop > tolerance\n : newScrollTop < (maxScroll - tolerance)\n\n if (canContinue && Math.abs(newScrollTop - oldScrollTop) > 0.01) {\n animationRef.current = requestAnimationFrame(smoothScroll)\n } else {\n stopScrolling()\n setTimeout(checkScrollability, 16)\n }\n },\n [checkScrollability, direction, disabled, speed, stopScrolling, viewportRef],\n )\n\n const startScrolling = React.useCallback(() => {\n if (disabled || !viewportRef.current || isScrollingRef.current) return\n\n isScrollingRef.current = true\n lastTimeRef.current = undefined\n animationRef.current = requestAnimationFrame(smoothScroll)\n }, [disabled, smoothScroll, viewportRef])\n\n React.useEffect(() => stopScrolling, [stopScrolling])\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center py-1 select-none\",\n disabled ? \"cursor-default opacity-40\" : \"cursor-pointer opacity-100 hover:bg-accent/20\",\n className\n )}\n onPointerEnter={() => {\n if (!disabled) startScrolling()\n }}\n onPointerMove={() => {\n if (!disabled && !isScrollingRef.current) startScrolling()\n }}\n onPointerLeave={() => {\n stopScrolling()\n }}\n >\n {direction === \"up\"\n ? <ChevronUp aria-hidden className=\"h-4 w-4 opacity-50\" />\n : <ChevronDown aria-hidden className=\"h-4 w-4 opacity-50\" />}\n </div>\n )\n}\n\nexport type HourPickerInputProps = {\n id?: string\n value: string | null\n onChange: (value: string | null) => void\n onValueUpdate?: (value: string | null) => void\n options: HourPickerOption[]\n placeholder?: string\n className?: string\n inputClassName?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n triggerTestId?: string\n contentTestId?: string\n isHydrated?: boolean\n}\n\nexport function HourPickerInput({\n id,\n value,\n onChange,\n onValueUpdate,\n options,\n placeholder = \"Select time\",\n className,\n inputClassName,\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n triggerTestId,\n contentTestId,\n isHydrated,\n}: HourPickerInputProps) {\n const reactId = React.useId()\n const triggerId = id ?? `hours-picker-${reactId}`\n const triggerInputRef = React.useRef<HTMLInputElement | null>(null)\n const setTriggerDraftValueRef = React.useRef<((value: string) => void) | null>(null)\n const highlightedValueRef = React.useRef<string | null>(null)\n const keyboardNavigationActiveRef = React.useRef(false)\n const [highlightedValue, setHighlightedValue] = React.useState<string | null>(null)\n const containerRef = React.useRef<HTMLDivElement | null>(null)\n const desktopPopoverRef = React.useRef<HTMLDivElement | null>(null)\n const desktopContentRef = React.useRef<HTMLDivElement | null>(null)\n const [desktopPopoverPosition, setDesktopPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n width: 0,\n }))\n\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n\n const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n const updateHighlightedValue = React.useCallback((next: string | null) => {\n highlightedValueRef.current = next\n setHighlightedValue(next)\n }, [])\n\n const markKeyboardNavigation = React.useCallback(() => {\n keyboardNavigationActiveRef.current = true\n }, [])\n\n React.useEffect(() => {\n if (!open) return\n\n const currentOption = options.find((option) => option.value === value)\n if (currentOption && isOptionSelectable(currentOption)) {\n updateHighlightedValue(currentOption.value)\n return\n }\n\n const firstEnabled = options.find((option) => isOptionSelectable(option))\n updateHighlightedValue(firstEnabled?.value ?? null)\n }, [open, options, updateHighlightedValue, value])\n\n const updateValue = React.useCallback(\n (next: string | null) => {\n if (next === null) {\n if (onValueUpdate) {\n onValueUpdate(null)\n return\n }\n\n onChange(null)\n return\n }\n\n const matchingOption = options.find((option) => option.value === next)\n if (!isOptionSelectable(matchingOption)) {\n return\n }\n\n if (onValueUpdate) {\n onValueUpdate(next)\n return\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate, options],\n )\n\n const commitValue = React.useCallback(\n (next: string | null) => {\n if (next === null) {\n if (onValueUpdate) {\n onValueUpdate(null)\n }\n onChange(null)\n return\n }\n\n const matchingOption = options.find((option) => option.value === next)\n if (!isOptionSelectable(matchingOption)) {\n return\n }\n\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate, options],\n )\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) {\n return\n }\n\n const container = containerRef.current\n if (!container) {\n return\n }\n\n if (container.contains(target)) {\n return\n }\n\n const popover = desktopPopoverRef.current\n if (popover?.contains(target)) {\n return\n }\n\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n }\n }, [open, setOpen])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n\n const popover = desktopPopoverRef.current\n if (!popover) {\n return\n }\n\n const handleWheel = (event: WheelEvent) => {\n const viewport = desktopContentRef.current\n if (!viewport) {\n return\n }\n\n const deltaY = event.deltaY\n if (deltaY === 0) {\n return\n }\n\n const maxScrollTop = Math.max(0, viewport.scrollHeight - viewport.clientHeight)\n const atTop = viewport.scrollTop <= 0\n const atBottom = viewport.scrollTop >= maxScrollTop\n\n const target = event.target\n const isWheelOverViewport = target instanceof Node && viewport.contains(target)\n\n if (isWheelOverViewport) {\n if ((deltaY < 0 && atTop) || (deltaY > 0 && atBottom)) {\n event.preventDefault()\n }\n return\n }\n\n event.preventDefault()\n const nextScrollTop = Math.min(maxScrollTop, Math.max(0, viewport.scrollTop + deltaY))\n viewport.scrollTop = nextScrollTop\n }\n\n popover.addEventListener(\"wheel\", handleWheel, { passive: false })\n return () => {\n popover.removeEventListener(\"wheel\", handleWheel)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (openProp !== undefined && !onOpenChange) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const trigger = triggerInputRef.current\n if (!(trigger instanceof HTMLElement)) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(trigger)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [onOpenChange, open, openProp, setOpen])\n\n const updateDesktopPopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n\n const trigger = triggerInputRef.current\n const popover = desktopPopoverRef.current\n if (!(trigger instanceof HTMLElement) || !popover) return\n\n const rect = trigger.getBoundingClientRect()\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n const width = rect.width\n\n let left = rect.left\n if (left + width > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - width - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setDesktopPopoverPosition({ left, top, width })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updateDesktopPopoverPosition()\n const rafId = window.requestAnimationFrame(updateDesktopPopoverPosition)\n\n window.addEventListener(\"scroll\", updateDesktopPopoverPosition, true)\n window.addEventListener(\"resize\", updateDesktopPopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updateDesktopPopoverPosition, true)\n window.removeEventListener(\"resize\", updateDesktopPopoverPosition)\n }\n }, [disabled, open, updateDesktopPopoverPosition])\n\n React.useEffect(() => {\n if (!open) return\n\n const viewport = desktopContentRef.current\n if (!viewport) return\n\n const run = () => {\n const selected = viewport.querySelector(\"[role=\\\"option\\\"][data-state=\\\"checked\\\"]\")\n if (selected instanceof HTMLElement) {\n const padding = 8\n const targetTop = selected.offsetTop - padding\n const targetBottom = selected.offsetTop + selected.offsetHeight + padding\n\n if (targetTop < viewport.scrollTop) {\n viewport.scrollTop = Math.max(0, targetTop)\n return\n }\n\n const viewportBottom = viewport.scrollTop + viewport.clientHeight\n if (targetBottom > viewportBottom) {\n viewport.scrollTop = Math.max(0, targetBottom - viewport.clientHeight)\n }\n return\n }\n\n const all = Array.from(viewport.querySelectorAll(\"[role=\\\"option\\\"]\")) as HTMLElement[]\n if (!all.length) return\n\n let firstEnabled: HTMLElement | undefined\n let lastDisabledBefore: HTMLElement | undefined\n\n for (const el of all) {\n const isDisabled = el.hasAttribute(\"data-disabled\")\n if (!isDisabled) {\n firstEnabled = el\n break\n }\n lastDisabledBefore = el\n }\n\n if (!firstEnabled) return\n\n const target = lastDisabledBefore ? lastDisabledBefore : firstEnabled\n\n const offset = Math.max(0, target.offsetTop - 8)\n viewport.scrollTop = offset\n }\n\n const raf = requestAnimationFrame(run)\n return () => cancelAnimationFrame(raf)\n }, [open, options])\n\n React.useEffect(() => {\n if (!open) return\n if (!highlightedValue) return\n if (!keyboardNavigationActiveRef.current) return\n\n const viewport = desktopContentRef.current\n if (!viewport) return\n\n const target = viewport.querySelector(`[role=\"option\"][data-value=\"${highlightedValue}\"]`)\n if (!(target instanceof HTMLElement)) return\n\n const padding = 8\n const targetTop = target.offsetTop - padding\n const targetBottom = target.offsetTop + target.offsetHeight + padding\n\n if (targetTop < viewport.scrollTop) {\n viewport.scrollTop = Math.max(0, targetTop)\n return\n }\n\n const viewportBottom = viewport.scrollTop + viewport.clientHeight\n if (targetBottom > viewportBottom) {\n viewport.scrollTop = Math.max(0, targetBottom - viewport.clientHeight)\n }\n }, [highlightedValue, open])\n\n return (\n <div\n data-slot=\"hours-picker-input\"\n className={cn(\"w-[150px]\", className)}\n ref={containerRef}\n >\n <div className=\"relative\">\n <HourPickerMaskedSelectTrigger\n id={triggerId}\n placeholder={placeholder}\n value={value}\n onValueUpdate={updateValue}\n onCommit={commitValue}\n options={options}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n setOpen={setOpen}\n inputClassName={inputClassName}\n triggerTestId={triggerTestId}\n isHydrated={isHydrated}\n highlightedValueRef={highlightedValueRef}\n setHighlightedValue={updateHighlightedValue}\n markKeyboardNavigation={markKeyboardNavigation}\n inputRef={(node) => {\n triggerInputRef.current = node\n }}\n setDraftValueRef={setTriggerDraftValueRef}\n />\n\n {open ? (() => {\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={desktopPopoverRef}\n data-testid={contentTestId}\n data-state=\"open\"\n className={cn(\n \"pointer-events-auto fixed z-[60] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n )}\n style={{\n left: desktopPopoverPosition.left,\n top: desktopPopoverPosition.top,\n width: desktopPopoverPosition.width,\n }}\n >\n <HourPickerScrollButton\n direction=\"up\"\n viewportRef={desktopContentRef}\n />\n\n <div\n ref={desktopContentRef}\n role=\"listbox\"\n className=\"max-h-64 overflow-y-auto p-1 [overscroll-behavior:contain] [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden\"\n >\n {options.map((option) => {\n const isChecked = option.value === value\n\n return (\n <div\n key={option.value}\n role=\"option\"\n aria-selected={isChecked}\n data-value={option.value}\n data-state={isChecked ? \"checked\" : \"unchecked\"}\n data-disabled={option.disabled ? \"\" : undefined}\n className={cn(\n \"relative flex w-full select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none cursor-pointer\",\n option.disabled && \"pointer-events-none opacity-50\",\n highlightedValue === option.value && \"bg-accent text-accent-foreground\",\n )}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n onClick={() => {\n if (option.disabled) return\n\n setTriggerDraftValueRef.current?.(option.value)\n updateHighlightedValue(option.value)\n triggerInputRef.current?.focus({ preventScroll: true })\n commitValue(option.value)\n setOpen(false)\n }}\n onPointerEnter={() => {\n if (keyboardNavigationActiveRef.current) return\n keyboardNavigationActiveRef.current = false\n updateHighlightedValue(option.value)\n }}\n onPointerMove={(event) => {\n if (keyboardNavigationActiveRef.current && event.movementX === 0 && event.movementY === 0) {\n return\n }\n keyboardNavigationActiveRef.current = false\n updateHighlightedValue(option.value)\n }}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n {isChecked ? <Check aria-hidden className=\"h-4 w-4\" /> : null}\n </span>\n\n <div className=\"flex flex-col\">\n <span>{option.label}</span>\n {option.description != null ? (\n <span data-slot=\"description\" className=\"text-xs text-muted-foreground\">\n {option.description}\n </span>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n\n <HourPickerScrollButton\n direction=\"down\"\n viewportRef={desktopContentRef}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })() : null}\n </div>\n </div>\n )\n}\n\nHourPickerInput.displayName = \"HourPickerInput\"\n\nexport type HourPickerFieldProps = HourPickerInputProps\n\nfunction HourPickerSelectField({\n id,\n value,\n onChange,\n onValueUpdate,\n options,\n placeholder = \"Select time\",\n className,\n inputClassName,\n disabled,\n open,\n onOpenChange,\n triggerTestId,\n contentTestId,\n isHydrated,\n}: HourPickerFieldProps) {\n const commitValue = React.useCallback(\n (next: string) => {\n const matchingOption = options.find((option) => option.value === next)\n if (!isOptionSelectable(matchingOption)) {\n return\n }\n\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate, options],\n )\n\n return (\n <div data-slot=\"hours-picker-field\" className={cn(\"w-[150px]\", className)}>\n <Select\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n value={value ?? \"\"}\n onValueChange={(next) => commitValue(next)}\n >\n <SelectTrigger\n id={id}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n className={cn(\n \"transition-colors hover:bg-accent hover:text-accent-foreground\",\n !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n \"[&_[data-slot='description']]:hidden\",\n inputClassName,\n )}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n\n <SelectContent\n data-testid={contentTestId}\n autoScroll={\"firstEnabledWithContext\"}\n className=\"max-h-64 overflow-y-auto\"\n >\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n <span>{option.label}</span>\n {option.description != null ? (\n <span data-slot=\"description\" className=\"block text-xs text-muted-foreground\">\n {option.description}\n </span>\n ) : null}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )\n}\n\nexport function HourPickerField(props: HourPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <HourPickerSelectField {...props} />\n }\n\n return <HourPickerInput {...props} />\n}\n\nHourPickerField.displayName = \"HourPickerField\"\n\ntype HourPickerMaskedSelectTriggerProps = {\n id: string\n placeholder: string\n value: string | null\n onValueUpdate: (value: string | null) => void\n onCommit: (value: string | null) => void\n options: HourPickerOption[]\n disabled?: boolean\n readOnly?: boolean\n open: boolean\n setOpen: (open: boolean) => void\n inputClassName?: string\n triggerTestId?: string\n isHydrated?: boolean\n highlightedValueRef: React.MutableRefObject<string | null>\n setHighlightedValue: (value: string | null) => void\n markKeyboardNavigation: () => void\n inputRef: (node: HTMLInputElement | null) => void\n setDraftValueRef: React.MutableRefObject<((value: string) => void) | null>\n}\n\nfunction HourPickerMaskedSelectTrigger({\n id,\n placeholder,\n value,\n onValueUpdate,\n onCommit,\n options,\n disabled,\n readOnly,\n open,\n setOpen,\n inputClassName,\n triggerTestId,\n isHydrated,\n highlightedValueRef,\n setHighlightedValue,\n markKeyboardNavigation,\n inputRef,\n setDraftValueRef,\n}: HourPickerMaskedSelectTriggerProps) {\n const isEditingRef = React.useRef(false)\n const pointerDownOnInputRef = React.useRef(false)\n const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const ignoreNextMaskCommitValueRef = React.useRef<string | null>(null)\n\n const [draft, setDraft] = React.useState(() => (value ? value : \"\"))\n\n React.useEffect(() => {\n setDraftValueRef.current = (nextValue) => {\n setDraft(nextValue)\n }\n return () => {\n setDraftValueRef.current = null\n }\n }, [setDraftValueRef])\n\n const moveSelection = React.useCallback(\n (direction: -1 | 1) => {\n const base = highlightedValueRef.current ?? value ?? \"\"\n\n let baseIndex = options.findIndex((option) => option.value === base)\n if (baseIndex === -1) {\n baseIndex = direction === 1 ? -1 : options.length\n }\n\n for (let nextIndex = baseIndex + direction; nextIndex >= 0 && nextIndex < options.length; nextIndex += direction) {\n const nextOption = options[nextIndex]\n if (!isOptionSelectable(nextOption)) continue\n\n setHighlightedValue(nextOption.value)\n ignoreNextMaskCommitValueRef.current = nextOption.value\n setDraft(nextOption.value)\n onValueUpdate(nextOption.value)\n return\n }\n },\n [highlightedValueRef, onValueUpdate, options, setHighlightedValue, value],\n )\n\n React.useEffect(() => {\n if (isEditingRef.current) return\n setDraft(value ? value : \"\")\n }, [value])\n\n const triggerClassName = cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 pr-10 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n !draft && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n \"[&_[data-slot='description']]:hidden\",\n inputClassName,\n )\n\n return (\n <div className=\"relative group\">\n <IMaskInput\n id={id}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n type=\"text\"\n disabled={disabled}\n readOnly={readOnly}\n inputRef={inputRef}\n autoComplete={\"off\"}\n mask={[\n { mask: \"00:00\", lazy: true },\n { mask: \"0:00\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 2) return dynamicMasked.compiledMasks[0]\n if (digits.length >= 4) return dynamicMasked.compiledMasks[0]\n\n const hourPrefix = pad2(Number(digits.slice(0, 2)))\n const hasTwoDigitHour = options.some((option) => option.value.startsWith(`${hourPrefix}:`))\n if (hasTwoDigitHour) return dynamicMasked.compiledMasks[0]\n\n return dynamicMasked.compiledMasks[1]\n }}\n placeholder={placeholder}\n value={draft}\n className={triggerClassName}\n onAccept={(accepted) => {\n const nextText = typeof accepted === \"string\" ? accepted : String(accepted ?? \"\")\n setDraft(nextText)\n\n if (nextText.replace(/\\D/g, \"\").length !== 0) {\n return\n }\n\n if (value) {\n onCommit(null)\n }\n }}\n onComplete={(completed) => {\n const nextText = typeof completed === \"string\" ? completed : String(completed ?? \"\")\n if (ignoreNextMaskCommitValueRef.current === nextText) {\n ignoreNextMaskCommitValueRef.current = null\n return\n }\n\n const resolved = parseTimeInputWithSelectableOption(nextText, options)\n if (!resolved) {\n return\n }\n\n if (resolved.selectableValue) {\n setHighlightedValue(resolved.selectableValue)\n setDraft(resolved.selectableValue)\n\n if (value === resolved.selectableValue) {\n return\n }\n\n onCommit(resolved.selectableValue)\n return\n }\n\n const targetMinutes = timeStringToMinutes(resolved.parsed)\n if (targetMinutes == null) {\n return\n }\n\n const closestOption = findClosestSelectableOption(targetMinutes, options)\n if (!closestOption) {\n return\n }\n\n setHighlightedValue(closestOption.value)\n }}\n onPointerDown={() => {\n pointerDownOnInputRef.current = true\n if (disabled) return\n if (!open) {\n setOpen(true)\n }\n }}\n onMouseDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current = typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n if (disabled) return\n if (!open) {\n setOpen(true)\n }\n }}\n onClick={() => {\n if (disabled) return\n if (!open) {\n setOpen(true)\n }\n }}\n onKeyDown={(event) => {\n if (disabled) {\n return\n }\n\n if (event.key === \"Tab\" && open && !event.defaultPrevented) {\n setOpen(false)\n return\n }\n\n if (event.key === \"Escape\") {\n if (!open) {\n return\n }\n event.preventDefault()\n setOpen(false)\n return\n }\n\n if (!open && !event.defaultPrevented) {\n const shouldReopen =\n (event.key.length === 1 || event.key === \"Backspace\" || event.key === \"Delete\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n markKeyboardNavigation()\n event.preventDefault()\n\n if (!open) {\n setOpen(true)\n return\n }\n\n moveSelection(event.key === \"ArrowDown\" ? 1 : -1)\n return\n }\n\n if (event.key === \"Enter\") {\n markKeyboardNavigation()\n const resolved = parseTimeInputWithSelectableOption(draft, options)\n if (!resolved) {\n return\n }\n\n if (resolved.selectableValue) {\n event.preventDefault()\n setHighlightedValue(resolved.selectableValue)\n setDraft(resolved.selectableValue)\n if (value !== resolved.selectableValue) {\n onCommit(resolved.selectableValue)\n }\n setOpen(false)\n return\n }\n\n const targetMinutes = timeStringToMinutes(resolved.parsed)\n if (targetMinutes == null) {\n return\n }\n\n const closestOption = findClosestSelectableOption(targetMinutes, options)\n if (!closestOption) {\n return\n }\n\n event.preventDefault()\n setHighlightedValue(closestOption.value)\n setDraft(closestOption.value)\n if (value !== closestOption.value) {\n onCommit(closestOption.value)\n }\n setOpen(false)\n return\n }\n }}\n onFocus={(event) => {\n const shouldSelectAll = !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n isEditingRef.current = true\n if (shouldSelectAll) {\n const element = event.currentTarget\n requestAnimationFrame(() => element.select())\n }\n\n if (disabled) {\n return\n }\n\n if (open) {\n return\n }\n\n setOpen(true)\n }}\n onBlur={() => {\n isEditingRef.current = false\n\n const trimmed = draft.trim()\n if (!trimmed) {\n setDraft(value ? value : \"\")\n return\n }\n\n const resolved = parseTimeInputWithSelectableOption(trimmed, options)\n if (!resolved) {\n setDraft(value ? value : \"\")\n return\n }\n\n if (!resolved.selectableValue) {\n setDraft(value ? value : \"\")\n return\n }\n\n setDraft(resolved.selectableValue)\n if (value !== resolved.selectableValue) {\n onCommit(resolved.selectableValue)\n }\n }}\n />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n data-slot=\"hours-picker-input-toggle\"\n className={cn(\n \"absolute right-1 top-1/2 inline-flex size-8 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n )}\n aria-label={open ? \"Close time picker\" : \"Open time picker\"}\n onPointerDown={(event) => {\n event.preventDefault()\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <ChevronDown aria-hidden className=\"size-4\" />\n </button>\n </div>\n )\n}\n"],"names":["pad2","value","parseTimeInput","raw","trimmed","match","hours","minutes","parseTimeInputWithSelectableOption","options","parsed","parsedOption","option","isOptionSelectable","timeStringToMinutes","findClosestSelectableOption","targetMinutes","bestOption","bestDiff","bestMinutes","optionMinutes","diff","HourPickerScrollButton","direction","viewportRef","speed","className","disabled","setDisabled","React","animationRef","lastTimeRef","isScrollingRef","checkScrollability","viewport","scrollTop","scrollHeight","clientHeight","tolerance","canScrollUp","canScrollDown","handleScroll","handleResize","resizeObserver","mutationObserver","stopScrolling","smoothScroll","currentTime","deltaTime","distance","oldScrollTop","maxScroll","newScrollTop","startScrolling","jsx","cn","ChevronUp","ChevronDown","HourPickerInput","id","onChange","onValueUpdate","placeholder","inputClassName","readOnly","openProp","onOpenChange","triggerTestId","contentTestId","isHydrated","reactId","triggerId","triggerInputRef","setTriggerDraftValueRef","highlightedValueRef","keyboardNavigationActiveRef","highlightedValue","setHighlightedValue","containerRef","desktopPopoverRef","desktopContentRef","desktopPopoverPosition","setDesktopPopoverPosition","uncontrolledOpen","setUncontrolledOpen","open","setOpen","useIsomorphicLayoutEffect","updateHighlightedValue","next","markKeyboardNavigation","currentOption","firstEnabled","updateValue","matchingOption","commitValue","handlePointerDown","event","target","container","popover","handleWheel","deltaY","maxScrollTop","atTop","atBottom","nextScrollTop","trigger","isActive","observer","entries","entry","updateDesktopPopoverPosition","rect","popoverHeight","viewportWidth","viewportHeight","padding","width","left","top","overflowBottom","aboveTop","rafId","raf","selected","targetTop","targetBottom","viewportBottom","all","lastDisabledBefore","el","offset","jsxs","HourPickerMaskedSelectTrigger","node","DismissableLayerBranch","isChecked","Check","createPortal","HourPickerSelectField","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","HourPickerField","props","useIsTouchDevice","onCommit","inputRef","setDraftValueRef","isEditingRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","ignoreNextMaskCommitValueRef","draft","setDraft","nextValue","moveSelection","base","baseIndex","nextIndex","nextOption","triggerClassName","IMaskInput","appended","dynamicMasked","digits","hourPrefix","accepted","nextText","completed","resolved","closestOption","shouldSelectAll","element"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index18.js","sources":["../src/components/HourPickerField/index.tsx"],"sourcesContent":["import { Check, ChevronDown, ChevronUp } from \"lucide-react\"\nimport * as React from \"react\"\nimport { DismissableLayerBranch } from \"@radix-ui/react-dismissable-layer\"\nimport { createPortal } from \"react-dom\"\nimport { IMaskInput } from \"react-imask/esm\"\n\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/Select\"\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\nexport type HourPickerOption = {\n value: string\n label: string\n disabled?: boolean\n description?: React.ReactNode\n}\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction parseTimeInput(raw: string) {\n const trimmed = raw.trim()\n if (!trimmed) return null\n\n const match = /^(\\d{1,2}):(\\d{2})$/.exec(trimmed)\n if (!match) {\n return null\n }\n\n const hours = Number(match[1])\n const minutes = Number(match[2])\n if (!Number.isFinite(hours) || !Number.isFinite(minutes)) {\n return null\n }\n\n if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {\n return null\n }\n\n return `${pad2(hours)}:${pad2(minutes)}`\n}\n\ntype ParsedTimeInputResult = {\n parsed: string\n selectableValue: string | null\n}\n\nfunction parseTimeInputWithSelectableOption(raw: string, options: HourPickerOption[]): ParsedTimeInputResult | null {\n const parsed = parseTimeInput(raw)\n if (!parsed) return null\n\n const parsedOption = options.find((option) => option.value === parsed)\n if (isOptionSelectable(parsedOption)) {\n return { parsed, selectableValue: parsed }\n }\n\n return { parsed, selectableValue: null }\n}\n\nfunction timeStringToMinutes(value: string) {\n const match = /^(\\d{2}):(\\d{2})$/.exec(value)\n if (!match) {\n return null\n }\n\n const hours = Number(match[1])\n const minutes = Number(match[2])\n\n if (!Number.isFinite(hours) || !Number.isFinite(minutes)) {\n return null\n }\n\n return hours * 60 + minutes\n}\n\nfunction isOptionSelectable(option: HourPickerOption | undefined) {\n if (!option) return false\n return !option.disabled\n}\n\nfunction findClosestSelectableOption(targetMinutes: number, options: HourPickerOption[]) {\n let bestOption: HourPickerOption | null = null\n let bestDiff = Number.POSITIVE_INFINITY\n let bestMinutes = Number.NEGATIVE_INFINITY\n\n for (const option of options) {\n if (!isOptionSelectable(option)) continue\n const optionMinutes = timeStringToMinutes(option.value)\n if (optionMinutes == null) continue\n\n const diff = Math.abs(optionMinutes - targetMinutes)\n if (diff < bestDiff || (diff === bestDiff && optionMinutes > bestMinutes)) {\n bestOption = option\n bestDiff = diff\n bestMinutes = optionMinutes\n }\n }\n\n return bestOption\n}\n\ntype HourPickerScrollButtonDirection = \"up\" | \"down\"\n\ntype HourPickerScrollButtonProps = {\n direction: HourPickerScrollButtonDirection\n viewportRef: React.RefObject<HTMLElement | null>\n speed?: number\n className?: string\n}\n\nfunction HourPickerScrollButton({\n direction,\n viewportRef,\n speed = 400,\n className,\n}: HourPickerScrollButtonProps) {\n const [disabled, setDisabled] = React.useState(true)\n const animationRef = React.useRef<number | undefined>(undefined)\n const lastTimeRef = React.useRef<number | undefined>(undefined)\n const isScrollingRef = React.useRef(false)\n\n const checkScrollability = React.useCallback(() => {\n const viewport = viewportRef.current\n if (!viewport) {\n setDisabled(true)\n return\n }\n\n const { scrollTop, scrollHeight, clientHeight } = viewport\n const tolerance = 2\n\n const canScrollUp = scrollTop > tolerance\n const canScrollDown = scrollTop < (scrollHeight - clientHeight - tolerance)\n const hasScrollableContent = scrollHeight > clientHeight + tolerance\n\n if (!hasScrollableContent) {\n setDisabled(true)\n return\n }\n\n const shouldDisable = direction === \"up\" ? !canScrollUp : !canScrollDown\n setDisabled(shouldDisable)\n }, [direction, viewportRef])\n\n React.useEffect(() => {\n const viewport = viewportRef.current\n if (!viewport) return\n\n checkScrollability()\n\n const handleScroll = () => checkScrollability()\n const handleResize = () => checkScrollability()\n\n viewport.addEventListener(\"scroll\", handleScroll, { passive: true })\n\n const resizeObserver = new ResizeObserver(handleResize)\n resizeObserver.observe(viewport)\n\n const mutationObserver = new MutationObserver(handleResize)\n mutationObserver.observe(viewport, { childList: true, subtree: true })\n\n return () => {\n viewport.removeEventListener(\"scroll\", handleScroll)\n resizeObserver.disconnect()\n mutationObserver.disconnect()\n }\n }, [viewportRef, checkScrollability])\n\n const stopScrolling = React.useCallback(() => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = undefined\n }\n isScrollingRef.current = false\n lastTimeRef.current = undefined\n }, [])\n\n const smoothScroll = React.useCallback(\n (currentTime: number) => {\n const viewport = viewportRef.current\n if (!viewport || disabled || !isScrollingRef.current) {\n stopScrolling()\n return\n }\n\n if (!lastTimeRef.current) {\n lastTimeRef.current = currentTime\n }\n\n const deltaTime = currentTime - lastTimeRef.current\n const distance = (speed * deltaTime) / 1000\n\n if (distance < 0.1) {\n animationRef.current = requestAnimationFrame(smoothScroll)\n return\n }\n\n const oldScrollTop = viewport.scrollTop\n const maxScroll = viewport.scrollHeight - viewport.clientHeight\n\n let newScrollTop: number\n if (direction === \"up\") {\n newScrollTop = Math.max(0, oldScrollTop - distance)\n } else {\n newScrollTop = Math.min(maxScroll, oldScrollTop + distance)\n }\n\n viewport.scrollTop = newScrollTop\n\n lastTimeRef.current = currentTime\n\n const tolerance = 1\n const canContinue =\n direction === \"up\"\n ? newScrollTop > tolerance\n : newScrollTop < (maxScroll - tolerance)\n\n if (canContinue && Math.abs(newScrollTop - oldScrollTop) > 0.01) {\n animationRef.current = requestAnimationFrame(smoothScroll)\n } else {\n stopScrolling()\n setTimeout(checkScrollability, 16)\n }\n },\n [checkScrollability, direction, disabled, speed, stopScrolling, viewportRef],\n )\n\n const startScrolling = React.useCallback(() => {\n if (disabled || !viewportRef.current || isScrollingRef.current) return\n\n isScrollingRef.current = true\n lastTimeRef.current = undefined\n animationRef.current = requestAnimationFrame(smoothScroll)\n }, [disabled, smoothScroll, viewportRef])\n\n React.useEffect(() => stopScrolling, [stopScrolling])\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center py-1 select-none\",\n disabled ? \"cursor-default opacity-40\" : \"cursor-pointer opacity-100 hover:bg-accent/20\",\n className\n )}\n onPointerEnter={() => {\n if (!disabled) startScrolling()\n }}\n onPointerMove={() => {\n if (!disabled && !isScrollingRef.current) startScrolling()\n }}\n onPointerLeave={() => {\n stopScrolling()\n }}\n >\n {direction === \"up\"\n ? <ChevronUp aria-hidden className=\"h-4 w-4 opacity-50\" />\n : <ChevronDown aria-hidden className=\"h-4 w-4 opacity-50\" />}\n </div>\n )\n}\n\nexport type HourPickerInputProps = {\n id?: string\n value: string | null\n onChange: (value: string | null) => void\n onValueUpdate?: (value: string | null) => void\n options: HourPickerOption[]\n placeholder?: string\n className?: string\n inputClassName?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n triggerTestId?: string\n contentTestId?: string\n isHydrated?: boolean\n}\n\nexport function HourPickerInput({\n id,\n value,\n onChange,\n onValueUpdate,\n options,\n placeholder = \"Select time\",\n className,\n inputClassName,\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n triggerTestId,\n contentTestId,\n isHydrated,\n}: HourPickerInputProps) {\n const reactId = React.useId()\n const triggerId = id ?? `hours-picker-${reactId}`\n const triggerInputRef = React.useRef<HTMLInputElement | null>(null)\n const setTriggerDraftValueRef = React.useRef<((value: string) => void) | null>(null)\n const highlightedValueRef = React.useRef<string | null>(null)\n const keyboardNavigationActiveRef = React.useRef(false)\n const [highlightedValue, setHighlightedValue] = React.useState<string | null>(null)\n const containerRef = React.useRef<HTMLDivElement | null>(null)\n const desktopPopoverRef = React.useRef<HTMLDivElement | null>(null)\n const desktopContentRef = React.useRef<HTMLDivElement | null>(null)\n const [desktopPopoverPosition, setDesktopPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n width: 0,\n }))\n\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n\n const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n const updateHighlightedValue = React.useCallback((next: string | null) => {\n highlightedValueRef.current = next\n setHighlightedValue(next)\n }, [])\n\n const markKeyboardNavigation = React.useCallback(() => {\n keyboardNavigationActiveRef.current = true\n }, [])\n\n React.useEffect(() => {\n if (!open) return\n\n const currentOption = options.find((option) => option.value === value)\n if (currentOption && isOptionSelectable(currentOption)) {\n updateHighlightedValue(currentOption.value)\n return\n }\n\n const firstEnabled = options.find((option) => isOptionSelectable(option))\n updateHighlightedValue(firstEnabled?.value ?? null)\n }, [open, options, updateHighlightedValue, value])\n\n const updateValue = React.useCallback(\n (next: string | null) => {\n if (next === null) {\n if (onValueUpdate) {\n onValueUpdate(null)\n return\n }\n\n onChange(null)\n return\n }\n\n const matchingOption = options.find((option) => option.value === next)\n if (!isOptionSelectable(matchingOption)) {\n return\n }\n\n if (onValueUpdate) {\n onValueUpdate(next)\n return\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate, options],\n )\n\n const commitValue = React.useCallback(\n (next: string | null) => {\n if (next === null) {\n if (onValueUpdate) {\n onValueUpdate(null)\n }\n onChange(null)\n return\n }\n\n const matchingOption = options.find((option) => option.value === next)\n if (!isOptionSelectable(matchingOption)) {\n return\n }\n\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate, options],\n )\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) {\n return\n }\n\n const container = containerRef.current\n if (!container) {\n return\n }\n\n if (container.contains(target)) {\n return\n }\n\n const popover = desktopPopoverRef.current\n if (popover?.contains(target)) {\n return\n }\n\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n }\n }, [open, setOpen])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n\n const popover = desktopPopoverRef.current\n if (!popover) {\n return\n }\n\n const handleWheel = (event: WheelEvent) => {\n const viewport = desktopContentRef.current\n if (!viewport) {\n return\n }\n\n const deltaY = event.deltaY\n if (deltaY === 0) {\n return\n }\n\n const maxScrollTop = Math.max(0, viewport.scrollHeight - viewport.clientHeight)\n const atTop = viewport.scrollTop <= 0\n const atBottom = viewport.scrollTop >= maxScrollTop\n\n const target = event.target\n const isWheelOverViewport = target instanceof Node && viewport.contains(target)\n\n if (isWheelOverViewport) {\n if ((deltaY < 0 && atTop) || (deltaY > 0 && atBottom)) {\n event.preventDefault()\n }\n return\n }\n\n event.preventDefault()\n const nextScrollTop = Math.min(maxScrollTop, Math.max(0, viewport.scrollTop + deltaY))\n viewport.scrollTop = nextScrollTop\n }\n\n popover.addEventListener(\"wheel\", handleWheel, { passive: false })\n return () => {\n popover.removeEventListener(\"wheel\", handleWheel)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (openProp !== undefined && !onOpenChange) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const trigger = triggerInputRef.current\n if (!(trigger instanceof HTMLElement)) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(trigger)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [onOpenChange, open, openProp, setOpen])\n\n const updateDesktopPopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n\n const trigger = triggerInputRef.current\n const popover = desktopPopoverRef.current\n if (!(trigger instanceof HTMLElement) || !popover) return\n\n const rect = trigger.getBoundingClientRect()\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n const width = rect.width\n\n let left = rect.left\n if (left + width > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - width - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setDesktopPopoverPosition({ left, top, width })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updateDesktopPopoverPosition()\n const rafId = window.requestAnimationFrame(updateDesktopPopoverPosition)\n\n window.addEventListener(\"scroll\", updateDesktopPopoverPosition, true)\n window.addEventListener(\"resize\", updateDesktopPopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updateDesktopPopoverPosition, true)\n window.removeEventListener(\"resize\", updateDesktopPopoverPosition)\n }\n }, [disabled, open, updateDesktopPopoverPosition])\n\n React.useEffect(() => {\n if (!open) return\n\n const viewport = desktopContentRef.current\n if (!viewport) return\n\n const run = () => {\n const selected = viewport.querySelector(\"[role=\\\"option\\\"][data-state=\\\"checked\\\"]\")\n if (selected instanceof HTMLElement) {\n const padding = 8\n const targetTop = selected.offsetTop - padding\n const targetBottom = selected.offsetTop + selected.offsetHeight + padding\n\n if (targetTop < viewport.scrollTop) {\n viewport.scrollTop = Math.max(0, targetTop)\n return\n }\n\n const viewportBottom = viewport.scrollTop + viewport.clientHeight\n if (targetBottom > viewportBottom) {\n viewport.scrollTop = Math.max(0, targetBottom - viewport.clientHeight)\n }\n return\n }\n\n const all = Array.from(viewport.querySelectorAll(\"[role=\\\"option\\\"]\")) as HTMLElement[]\n if (!all.length) return\n\n let firstEnabled: HTMLElement | undefined\n let lastDisabledBefore: HTMLElement | undefined\n\n for (const el of all) {\n const isDisabled = el.hasAttribute(\"data-disabled\")\n if (!isDisabled) {\n firstEnabled = el\n break\n }\n lastDisabledBefore = el\n }\n\n if (!firstEnabled) return\n\n const target = lastDisabledBefore ? lastDisabledBefore : firstEnabled\n\n const offset = Math.max(0, target.offsetTop - 8)\n viewport.scrollTop = offset\n }\n\n const raf = requestAnimationFrame(run)\n return () => cancelAnimationFrame(raf)\n }, [open, options])\n\n React.useEffect(() => {\n if (!open) return\n if (!highlightedValue) return\n if (!keyboardNavigationActiveRef.current) return\n\n const viewport = desktopContentRef.current\n if (!viewport) return\n\n const target = viewport.querySelector(`[role=\"option\"][data-value=\"${highlightedValue}\"]`)\n if (!(target instanceof HTMLElement)) return\n\n const padding = 8\n const targetTop = target.offsetTop - padding\n const targetBottom = target.offsetTop + target.offsetHeight + padding\n\n if (targetTop < viewport.scrollTop) {\n viewport.scrollTop = Math.max(0, targetTop)\n return\n }\n\n const viewportBottom = viewport.scrollTop + viewport.clientHeight\n if (targetBottom > viewportBottom) {\n viewport.scrollTop = Math.max(0, targetBottom - viewport.clientHeight)\n }\n }, [highlightedValue, open])\n\n return (\n <div\n data-slot=\"hours-picker-input\"\n className={cn(\"w-[150px]\", className)}\n ref={containerRef}\n >\n <div className=\"relative\">\n <HourPickerMaskedSelectTrigger\n id={triggerId}\n placeholder={placeholder}\n value={value}\n onValueUpdate={updateValue}\n onCommit={commitValue}\n options={options}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n setOpen={setOpen}\n inputClassName={inputClassName}\n triggerTestId={triggerTestId}\n isHydrated={isHydrated}\n highlightedValueRef={highlightedValueRef}\n setHighlightedValue={updateHighlightedValue}\n markKeyboardNavigation={markKeyboardNavigation}\n inputRef={(node) => {\n triggerInputRef.current = node\n }}\n setDraftValueRef={setTriggerDraftValueRef}\n />\n\n {open ? (() => {\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={desktopPopoverRef}\n data-testid={contentTestId}\n data-state=\"open\"\n className={cn(\n \"pointer-events-auto fixed z-[60] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n )}\n style={{\n left: desktopPopoverPosition.left,\n top: desktopPopoverPosition.top,\n width: desktopPopoverPosition.width,\n }}\n >\n <HourPickerScrollButton\n direction=\"up\"\n viewportRef={desktopContentRef}\n />\n\n <div\n ref={desktopContentRef}\n role=\"listbox\"\n className=\"max-h-64 overflow-y-auto p-1 [overscroll-behavior:contain] [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden\"\n >\n {options.map((option) => {\n const isChecked = option.value === value\n\n return (\n <div\n key={option.value}\n role=\"option\"\n aria-selected={isChecked}\n data-value={option.value}\n data-state={isChecked ? \"checked\" : \"unchecked\"}\n data-disabled={option.disabled ? \"\" : undefined}\n className={cn(\n \"relative flex w-full select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none cursor-pointer\",\n option.disabled && \"pointer-events-none opacity-50\",\n highlightedValue === option.value && \"bg-accent text-accent-foreground\",\n )}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n onClick={() => {\n if (option.disabled) return\n\n setTriggerDraftValueRef.current?.(option.value)\n updateHighlightedValue(option.value)\n triggerInputRef.current?.focus({ preventScroll: true })\n commitValue(option.value)\n setOpen(false)\n }}\n onPointerEnter={() => {\n if (keyboardNavigationActiveRef.current) return\n keyboardNavigationActiveRef.current = false\n updateHighlightedValue(option.value)\n }}\n onPointerMove={(event) => {\n if (keyboardNavigationActiveRef.current && event.movementX === 0 && event.movementY === 0) {\n return\n }\n keyboardNavigationActiveRef.current = false\n updateHighlightedValue(option.value)\n }}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n {isChecked ? <Check aria-hidden className=\"h-4 w-4\" /> : null}\n </span>\n\n <div className=\"flex flex-col\">\n <span>{option.label}</span>\n {option.description != null ? (\n <span data-slot=\"description\" className=\"text-xs text-muted-foreground\">\n {option.description}\n </span>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n\n <HourPickerScrollButton\n direction=\"down\"\n viewportRef={desktopContentRef}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })() : null}\n </div>\n </div>\n )\n}\n\nHourPickerInput.displayName = \"HourPickerInput\"\n\nexport type HourPickerFieldProps = HourPickerInputProps\n\nfunction HourPickerSelectField({\n id,\n value,\n onChange,\n onValueUpdate,\n options,\n placeholder = \"Select time\",\n className,\n inputClassName,\n disabled,\n open,\n onOpenChange,\n triggerTestId,\n contentTestId,\n isHydrated,\n}: HourPickerFieldProps) {\n const commitValue = React.useCallback(\n (next: string) => {\n const matchingOption = options.find((option) => option.value === next)\n if (!isOptionSelectable(matchingOption)) {\n return\n }\n\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate, options],\n )\n\n return (\n <div data-slot=\"hours-picker-field\" className={cn(\"w-[150px]\", className)}>\n <Select\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n value={value ?? \"\"}\n onValueChange={(next) => commitValue(next)}\n >\n <SelectTrigger\n id={id}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n className={cn(\n \"transition-colors hover:bg-accent hover:text-accent-foreground\",\n !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n \"[&_[data-slot='description']]:hidden\",\n inputClassName,\n )}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n\n <SelectContent\n data-testid={contentTestId}\n autoScroll={\"firstEnabledWithContext\"}\n className=\"max-h-64 overflow-y-auto\"\n >\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n >\n <span>{option.label}</span>\n {option.description != null ? (\n <span data-slot=\"description\" className=\"block text-xs text-muted-foreground\">\n {option.description}\n </span>\n ) : null}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )\n}\n\nexport function HourPickerField(props: HourPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <HourPickerSelectField {...props} />\n }\n\n return <HourPickerInput {...props} />\n}\n\nHourPickerField.displayName = \"HourPickerField\"\n\ntype HourPickerMaskedSelectTriggerProps = {\n id: string\n placeholder: string\n value: string | null\n onValueUpdate: (value: string | null) => void\n onCommit: (value: string | null) => void\n options: HourPickerOption[]\n disabled?: boolean\n readOnly?: boolean\n open: boolean\n setOpen: (open: boolean) => void\n inputClassName?: string\n triggerTestId?: string\n isHydrated?: boolean\n highlightedValueRef: React.MutableRefObject<string | null>\n setHighlightedValue: (value: string | null) => void\n markKeyboardNavigation: () => void\n inputRef: (node: HTMLInputElement | null) => void\n setDraftValueRef: React.MutableRefObject<((value: string) => void) | null>\n}\n\nfunction HourPickerMaskedSelectTrigger({\n id,\n placeholder,\n value,\n onValueUpdate,\n onCommit,\n options,\n disabled,\n readOnly,\n open,\n setOpen,\n inputClassName,\n triggerTestId,\n isHydrated,\n highlightedValueRef,\n setHighlightedValue,\n markKeyboardNavigation,\n inputRef,\n setDraftValueRef,\n}: HourPickerMaskedSelectTriggerProps) {\n const isEditingRef = React.useRef(false)\n const pointerDownOnInputRef = React.useRef(false)\n const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const ignoreNextMaskCommitValueRef = React.useRef<string | null>(null)\n\n const [draft, setDraft] = React.useState(() => (value ? value : \"\"))\n\n React.useEffect(() => {\n setDraftValueRef.current = (nextValue) => {\n setDraft(nextValue)\n }\n return () => {\n setDraftValueRef.current = null\n }\n }, [setDraftValueRef])\n\n const moveSelection = React.useCallback(\n (direction: -1 | 1) => {\n const base = highlightedValueRef.current ?? value ?? \"\"\n\n let baseIndex = options.findIndex((option) => option.value === base)\n if (baseIndex === -1) {\n baseIndex = direction === 1 ? -1 : options.length\n }\n\n for (let nextIndex = baseIndex + direction; nextIndex >= 0 && nextIndex < options.length; nextIndex += direction) {\n const nextOption = options[nextIndex]\n if (!isOptionSelectable(nextOption)) continue\n\n setHighlightedValue(nextOption.value)\n ignoreNextMaskCommitValueRef.current = nextOption.value\n setDraft(nextOption.value)\n onValueUpdate(nextOption.value)\n return\n }\n },\n [highlightedValueRef, onValueUpdate, options, setHighlightedValue, value],\n )\n\n React.useEffect(() => {\n if (isEditingRef.current) return\n setDraft(value ? value : \"\")\n }, [value])\n\n const triggerClassName = cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 pr-10 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n !draft && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n \"[&_[data-slot='description']]:hidden\",\n inputClassName,\n )\n\n return (\n <div className=\"relative group\">\n <IMaskInput\n id={id}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n type=\"text\"\n disabled={disabled}\n readOnly={readOnly}\n inputRef={inputRef}\n autoComplete={\"off\"}\n mask={[\n { mask: \"00:00\", lazy: true },\n { mask: \"0:00\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 2) return dynamicMasked.compiledMasks[0]\n if (digits.length >= 4) return dynamicMasked.compiledMasks[0]\n\n const hourPrefix = pad2(Number(digits.slice(0, 2)))\n const hasTwoDigitHour = options.some((option) => option.value.startsWith(`${hourPrefix}:`))\n if (hasTwoDigitHour) return dynamicMasked.compiledMasks[0]\n\n return dynamicMasked.compiledMasks[1]\n }}\n placeholder={placeholder}\n value={draft}\n className={triggerClassName}\n onAccept={(accepted) => {\n const nextText = typeof accepted === \"string\" ? accepted : String(accepted ?? \"\")\n setDraft(nextText)\n\n if (nextText.replace(/\\D/g, \"\").length !== 0) {\n return\n }\n\n if (value) {\n onCommit(null)\n }\n }}\n onComplete={(completed) => {\n const nextText = typeof completed === \"string\" ? completed : String(completed ?? \"\")\n if (ignoreNextMaskCommitValueRef.current === nextText) {\n ignoreNextMaskCommitValueRef.current = null\n return\n }\n\n const resolved = parseTimeInputWithSelectableOption(nextText, options)\n if (!resolved) {\n return\n }\n\n if (resolved.selectableValue) {\n setHighlightedValue(resolved.selectableValue)\n setDraft(resolved.selectableValue)\n\n if (value === resolved.selectableValue) {\n return\n }\n\n onCommit(resolved.selectableValue)\n return\n }\n\n const targetMinutes = timeStringToMinutes(resolved.parsed)\n if (targetMinutes == null) {\n return\n }\n\n const closestOption = findClosestSelectableOption(targetMinutes, options)\n if (!closestOption) {\n return\n }\n\n setHighlightedValue(closestOption.value)\n }}\n onPointerDown={() => {\n pointerDownOnInputRef.current = true\n if (disabled) return\n if (!open) {\n setOpen(true)\n }\n }}\n onMouseDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current = typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n if (disabled) return\n if (!open) {\n setOpen(true)\n }\n }}\n onClick={() => {\n if (disabled) return\n if (!open) {\n setOpen(true)\n }\n }}\n onKeyDown={(event) => {\n if (disabled) {\n return\n }\n\n if (event.key === \"Tab\" && open && !event.defaultPrevented) {\n setOpen(false)\n return\n }\n\n if (event.key === \"Escape\") {\n if (!open) {\n return\n }\n event.preventDefault()\n setOpen(false)\n return\n }\n\n if (!open && !event.defaultPrevented) {\n const shouldReopen =\n (event.key.length === 1 || event.key === \"Backspace\" || event.key === \"Delete\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n markKeyboardNavigation()\n event.preventDefault()\n\n if (!open) {\n setOpen(true)\n return\n }\n\n moveSelection(event.key === \"ArrowDown\" ? 1 : -1)\n return\n }\n\n if (event.key === \"Enter\") {\n markKeyboardNavigation()\n const resolved = parseTimeInputWithSelectableOption(draft, options)\n if (!resolved) {\n return\n }\n\n if (resolved.selectableValue) {\n event.preventDefault()\n setHighlightedValue(resolved.selectableValue)\n setDraft(resolved.selectableValue)\n if (value !== resolved.selectableValue) {\n onCommit(resolved.selectableValue)\n }\n setOpen(false)\n return\n }\n\n const targetMinutes = timeStringToMinutes(resolved.parsed)\n if (targetMinutes == null) {\n return\n }\n\n const closestOption = findClosestSelectableOption(targetMinutes, options)\n if (!closestOption) {\n return\n }\n\n event.preventDefault()\n setHighlightedValue(closestOption.value)\n setDraft(closestOption.value)\n if (value !== closestOption.value) {\n onCommit(closestOption.value)\n }\n setOpen(false)\n return\n }\n }}\n onFocus={(event) => {\n const shouldSelectAll = !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n isEditingRef.current = true\n if (shouldSelectAll) {\n const element = event.currentTarget\n requestAnimationFrame(() => element.select())\n }\n\n if (disabled) {\n return\n }\n\n if (open) {\n return\n }\n\n setOpen(true)\n }}\n onBlur={() => {\n isEditingRef.current = false\n\n const trimmed = draft.trim()\n if (!trimmed) {\n setDraft(value ? value : \"\")\n return\n }\n\n const resolved = parseTimeInputWithSelectableOption(trimmed, options)\n if (!resolved) {\n setDraft(value ? value : \"\")\n return\n }\n\n if (!resolved.selectableValue) {\n setDraft(value ? value : \"\")\n return\n }\n\n setDraft(resolved.selectableValue)\n if (value !== resolved.selectableValue) {\n onCommit(resolved.selectableValue)\n }\n }}\n />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n data-slot=\"hours-picker-input-toggle\"\n className={cn(\n \"absolute right-1 top-1/2 inline-flex size-8 -translate-y-1/2 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n )}\n aria-label={open ? \"Close time picker\" : \"Open time picker\"}\n onPointerDown={(event) => {\n event.preventDefault()\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n }}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <ChevronDown aria-hidden className=\"size-4\" />\n </button>\n </div>\n )\n}\n"],"names":["pad2","value","parseTimeInput","raw","trimmed","match","hours","minutes","parseTimeInputWithSelectableOption","options","parsed","parsedOption","option","isOptionSelectable","timeStringToMinutes","findClosestSelectableOption","targetMinutes","bestOption","bestDiff","bestMinutes","optionMinutes","diff","HourPickerScrollButton","direction","viewportRef","speed","className","disabled","setDisabled","React","animationRef","lastTimeRef","isScrollingRef","checkScrollability","viewport","scrollTop","scrollHeight","clientHeight","tolerance","canScrollUp","canScrollDown","handleScroll","handleResize","resizeObserver","mutationObserver","stopScrolling","smoothScroll","currentTime","deltaTime","distance","oldScrollTop","maxScroll","newScrollTop","startScrolling","jsx","cn","ChevronUp","ChevronDown","HourPickerInput","id","onChange","onValueUpdate","placeholder","inputClassName","readOnly","openProp","onOpenChange","triggerTestId","contentTestId","isHydrated","reactId","triggerId","triggerInputRef","setTriggerDraftValueRef","highlightedValueRef","keyboardNavigationActiveRef","highlightedValue","setHighlightedValue","containerRef","desktopPopoverRef","desktopContentRef","desktopPopoverPosition","setDesktopPopoverPosition","uncontrolledOpen","setUncontrolledOpen","open","setOpen","useIsomorphicLayoutEffect","updateHighlightedValue","next","markKeyboardNavigation","currentOption","firstEnabled","updateValue","matchingOption","commitValue","handlePointerDown","event","target","container","popover","handleWheel","deltaY","maxScrollTop","atTop","atBottom","nextScrollTop","trigger","isActive","observer","entries","entry","updateDesktopPopoverPosition","rect","popoverHeight","viewportWidth","viewportHeight","padding","width","left","top","overflowBottom","aboveTop","rafId","raf","selected","targetTop","targetBottom","viewportBottom","all","lastDisabledBefore","el","offset","jsxs","HourPickerMaskedSelectTrigger","node","DismissableLayerBranch","isChecked","Check","createPortal","HourPickerSelectField","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","HourPickerField","props","useIsTouchDevice","onCommit","inputRef","setDraftValueRef","isEditingRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","ignoreNextMaskCommitValueRef","draft","setDraft","nextValue","moveSelection","base","baseIndex","nextIndex","nextOption","triggerClassName","IMaskInput","appended","dynamicMasked","digits","hourPrefix","accepted","nextText","completed","resolved","closestOption","shouldSelectAll","element"],"mappings":"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"}
|
package/dist/index180.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return s(i, r, void 0, u);
|
|
4
|
-
}
|
|
5
|
-
function s(i, r, u, e) {
|
|
6
|
-
r && (e = new h(e.metadata), e.selectNumberingPlan(r));
|
|
7
|
-
var f = e.type(u), n = f && f.possibleLengths() || e.possibleLengths();
|
|
8
|
-
if (!n)
|
|
9
|
-
return "IS_POSSIBLE";
|
|
10
|
-
var t = i.length, l = n[0];
|
|
11
|
-
return l === t ? "IS_POSSIBLE" : l > t ? "TOO_SHORT" : n[n.length - 1] < t ? "TOO_LONG" : n.indexOf(t, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
|
|
1
|
+
function o(e, n) {
|
|
2
|
+
return `Week ${e}`;
|
|
12
3
|
}
|
|
13
4
|
export {
|
|
14
|
-
|
|
15
|
-
L as default
|
|
5
|
+
o as labelWeekNumber
|
|
16
6
|
};
|
|
17
7
|
//# sourceMappingURL=index180.js.map
|
package/dist/index180.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index180.js","sources":["../../../node_modules/
|
|
1
|
+
{"version":3,"file":"index180.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js"],"sourcesContent":["/**\n * Generates the ARIA label for the week number cell (the first cell in a row).\n *\n * @defaultValue `Week ${weekNumber}`\n * @param weekNumber - The number of the week.\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the week number cell.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekNumber(weekNumber, _options) {\n return `Week ${weekNumber}`;\n}\n"],"names":["labelWeekNumber","weekNumber","_options"],"mappings":"AAUO,SAASA,EAAgBC,GAAYC,GAAU;AAClD,SAAO,QAAQD,CAAU;AAC7B;","x_google_ignoreList":[0]}
|
package/dist/index181.js
CHANGED
|
@@ -1,158 +1,7 @@
|
|
|
1
|
-
function
|
|
2
|
-
"
|
|
3
|
-
return s = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
|
|
4
|
-
return typeof e;
|
|
5
|
-
} : function(e) {
|
|
6
|
-
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
|
|
7
|
-
}, s(t);
|
|
8
|
-
}
|
|
9
|
-
function f(t, e) {
|
|
10
|
-
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
|
|
11
|
-
}
|
|
12
|
-
function l(t, e) {
|
|
13
|
-
for (var r = 0; r < e.length; r++) {
|
|
14
|
-
var n = e[r];
|
|
15
|
-
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, g(n.key), n);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function p(t, e, r) {
|
|
19
|
-
return e && l(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t;
|
|
20
|
-
}
|
|
21
|
-
function g(t) {
|
|
22
|
-
var e = x(t, "string");
|
|
23
|
-
return s(e) == "symbol" ? e : e + "";
|
|
24
|
-
}
|
|
25
|
-
function x(t, e) {
|
|
26
|
-
if (s(t) != "object" || !t) return t;
|
|
27
|
-
var r = t[Symbol.toPrimitive];
|
|
28
|
-
if (r !== void 0) {
|
|
29
|
-
var n = r.call(t, e);
|
|
30
|
-
if (s(n) != "object") return n;
|
|
31
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
32
|
-
}
|
|
33
|
-
return String(t);
|
|
34
|
-
}
|
|
35
|
-
var y = /* @__PURE__ */ (function() {
|
|
36
|
-
function t() {
|
|
37
|
-
f(this, t);
|
|
38
|
-
}
|
|
39
|
-
return p(t, [{
|
|
40
|
-
key: "parse",
|
|
41
|
-
value: function(r) {
|
|
42
|
-
if (this.context = [{
|
|
43
|
-
or: !0,
|
|
44
|
-
instructions: []
|
|
45
|
-
}], this.parsePattern(r), this.context.length !== 1)
|
|
46
|
-
throw new Error("Non-finalized contexts left when pattern parse ended");
|
|
47
|
-
var n = this.context[0], i = n.branches, o = n.instructions;
|
|
48
|
-
if (i)
|
|
49
|
-
return {
|
|
50
|
-
op: "|",
|
|
51
|
-
args: i.concat([a(o)])
|
|
52
|
-
};
|
|
53
|
-
if (o.length === 0)
|
|
54
|
-
throw new Error("Pattern is required");
|
|
55
|
-
return o.length === 1 ? o[0] : o;
|
|
56
|
-
}
|
|
57
|
-
}, {
|
|
58
|
-
key: "startContext",
|
|
59
|
-
value: function(r) {
|
|
60
|
-
this.context.push(r);
|
|
61
|
-
}
|
|
62
|
-
}, {
|
|
63
|
-
key: "endContext",
|
|
64
|
-
value: function() {
|
|
65
|
-
this.context.pop();
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "getContext",
|
|
69
|
-
value: function() {
|
|
70
|
-
return this.context[this.context.length - 1];
|
|
71
|
-
}
|
|
72
|
-
}, {
|
|
73
|
-
key: "parsePattern",
|
|
74
|
-
value: function(r) {
|
|
75
|
-
if (!r)
|
|
76
|
-
throw new Error("Pattern is required");
|
|
77
|
-
var n = r.match(w);
|
|
78
|
-
if (!n) {
|
|
79
|
-
if (C.test(r))
|
|
80
|
-
throw new Error("Illegal characters found in a pattern: ".concat(r));
|
|
81
|
-
this.getContext().instructions = this.getContext().instructions.concat(r.split(""));
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
var i = n[1], o = r.slice(0, n.index), c = r.slice(n.index + i.length);
|
|
85
|
-
switch (i) {
|
|
86
|
-
case "(?:":
|
|
87
|
-
o && this.parsePattern(o), this.startContext({
|
|
88
|
-
or: !0,
|
|
89
|
-
instructions: [],
|
|
90
|
-
branches: []
|
|
91
|
-
});
|
|
92
|
-
break;
|
|
93
|
-
case ")":
|
|
94
|
-
if (!this.getContext().or)
|
|
95
|
-
throw new Error('")" operator must be preceded by "(?:" operator');
|
|
96
|
-
if (o && this.parsePattern(o), this.getContext().instructions.length === 0)
|
|
97
|
-
throw new Error('No instructions found after "|" operator in an "or" group');
|
|
98
|
-
var h = this.getContext(), u = h.branches;
|
|
99
|
-
u.push(a(this.getContext().instructions)), this.endContext(), this.getContext().instructions.push({
|
|
100
|
-
op: "|",
|
|
101
|
-
args: u
|
|
102
|
-
});
|
|
103
|
-
break;
|
|
104
|
-
case "|":
|
|
105
|
-
if (!this.getContext().or)
|
|
106
|
-
throw new Error('"|" operator can only be used inside "or" groups');
|
|
107
|
-
if (o && this.parsePattern(o), !this.getContext().branches)
|
|
108
|
-
if (this.context.length === 1)
|
|
109
|
-
this.getContext().branches = [];
|
|
110
|
-
else
|
|
111
|
-
throw new Error('"branches" not found in an "or" group context');
|
|
112
|
-
this.getContext().branches.push(a(this.getContext().instructions)), this.getContext().instructions = [];
|
|
113
|
-
break;
|
|
114
|
-
case "[":
|
|
115
|
-
o && this.parsePattern(o), this.startContext({
|
|
116
|
-
oneOfSet: !0
|
|
117
|
-
});
|
|
118
|
-
break;
|
|
119
|
-
case "]":
|
|
120
|
-
if (!this.getContext().oneOfSet)
|
|
121
|
-
throw new Error('"]" operator must be preceded by "[" operator');
|
|
122
|
-
this.endContext(), this.getContext().instructions.push({
|
|
123
|
-
op: "[]",
|
|
124
|
-
args: b(o)
|
|
125
|
-
});
|
|
126
|
-
break;
|
|
127
|
-
/* istanbul ignore next */
|
|
128
|
-
default:
|
|
129
|
-
throw new Error("Unknown operator: ".concat(i));
|
|
130
|
-
}
|
|
131
|
-
c && this.parsePattern(c);
|
|
132
|
-
}
|
|
133
|
-
}]);
|
|
134
|
-
})();
|
|
135
|
-
function b(t) {
|
|
136
|
-
for (var e = [], r = 0; r < t.length; ) {
|
|
137
|
-
if (t[r] === "-") {
|
|
138
|
-
if (r === 0 || r === t.length - 1)
|
|
139
|
-
throw new Error("Couldn't parse a one-of set pattern: ".concat(t));
|
|
140
|
-
for (var n = t[r - 1].charCodeAt(0) + 1, i = t[r + 1].charCodeAt(0) - 1, o = n; o <= i; )
|
|
141
|
-
e.push(String.fromCharCode(o)), o++;
|
|
142
|
-
} else
|
|
143
|
-
e.push(t[r]);
|
|
144
|
-
r++;
|
|
145
|
-
}
|
|
146
|
-
return e;
|
|
147
|
-
}
|
|
148
|
-
var C = /[\(\)\[\]\?\:\|]/, w = new RegExp(
|
|
149
|
-
// any of:
|
|
150
|
-
"(\\||\\(\\?\\:|\\)|\\[|\\])"
|
|
151
|
-
);
|
|
152
|
-
function a(t) {
|
|
153
|
-
return t.length === 1 ? t[0] : t;
|
|
1
|
+
function r(e) {
|
|
2
|
+
return "Week Number";
|
|
154
3
|
}
|
|
155
4
|
export {
|
|
156
|
-
|
|
5
|
+
r as labelWeekNumberHeader
|
|
157
6
|
};
|
|
158
7
|
//# sourceMappingURL=index181.js.map
|
package/dist/index181.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index181.js","sources":["../../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js"],"sourcesContent":["function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar PatternParser = /*#__PURE__*/function () {\n function PatternParser() {\n _classCallCheck(this, PatternParser);\n }\n return _createClass(PatternParser, [{\n key: \"parse\",\n value: function parse(pattern) {\n this.context = [{\n or: true,\n instructions: []\n }];\n this.parsePattern(pattern);\n if (this.context.length !== 1) {\n throw new Error('Non-finalized contexts left when pattern parse ended');\n }\n var _this$context$ = this.context[0],\n branches = _this$context$.branches,\n instructions = _this$context$.instructions;\n if (branches) {\n return {\n op: '|',\n args: branches.concat([expandSingleElementArray(instructions)])\n };\n }\n\n /* istanbul ignore if */\n if (instructions.length === 0) {\n throw new Error('Pattern is required');\n }\n if (instructions.length === 1) {\n return instructions[0];\n }\n return instructions;\n }\n }, {\n key: \"startContext\",\n value: function startContext(context) {\n this.context.push(context);\n }\n }, {\n key: \"endContext\",\n value: function endContext() {\n this.context.pop();\n }\n }, {\n key: \"getContext\",\n value: function getContext() {\n return this.context[this.context.length - 1];\n }\n }, {\n key: \"parsePattern\",\n value: function parsePattern(pattern) {\n if (!pattern) {\n throw new Error('Pattern is required');\n }\n var match = pattern.match(OPERATOR);\n if (!match) {\n if (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\n throw new Error(\"Illegal characters found in a pattern: \".concat(pattern));\n }\n this.getContext().instructions = this.getContext().instructions.concat(pattern.split(''));\n return;\n }\n var operator = match[1];\n var before = pattern.slice(0, match.index);\n var rightPart = pattern.slice(match.index + operator.length);\n switch (operator) {\n case '(?:':\n if (before) {\n this.parsePattern(before);\n }\n this.startContext({\n or: true,\n instructions: [],\n branches: []\n });\n break;\n case ')':\n if (!this.getContext().or) {\n throw new Error('\")\" operator must be preceded by \"(?:\" operator');\n }\n if (before) {\n this.parsePattern(before);\n }\n if (this.getContext().instructions.length === 0) {\n throw new Error('No instructions found after \"|\" operator in an \"or\" group');\n }\n var _this$getContext = this.getContext(),\n branches = _this$getContext.branches;\n branches.push(expandSingleElementArray(this.getContext().instructions));\n this.endContext();\n this.getContext().instructions.push({\n op: '|',\n args: branches\n });\n break;\n case '|':\n if (!this.getContext().or) {\n throw new Error('\"|\" operator can only be used inside \"or\" groups');\n }\n if (before) {\n this.parsePattern(before);\n }\n // The top-level is an implicit \"or\" group, if required.\n if (!this.getContext().branches) {\n // `branches` are not defined only for the root implicit \"or\" operator.\n /* istanbul ignore else */\n if (this.context.length === 1) {\n this.getContext().branches = [];\n } else {\n throw new Error('\"branches\" not found in an \"or\" group context');\n }\n }\n this.getContext().branches.push(expandSingleElementArray(this.getContext().instructions));\n this.getContext().instructions = [];\n break;\n case '[':\n if (before) {\n this.parsePattern(before);\n }\n this.startContext({\n oneOfSet: true\n });\n break;\n case ']':\n if (!this.getContext().oneOfSet) {\n throw new Error('\"]\" operator must be preceded by \"[\" operator');\n }\n this.endContext();\n this.getContext().instructions.push({\n op: '[]',\n args: parseOneOfSet(before)\n });\n break;\n\n /* istanbul ignore next */\n default:\n throw new Error(\"Unknown operator: \".concat(operator));\n }\n if (rightPart) {\n this.parsePattern(rightPart);\n }\n }\n }]);\n}();\nexport { PatternParser as default };\nfunction parseOneOfSet(pattern) {\n var values = [];\n var i = 0;\n while (i < pattern.length) {\n if (pattern[i] === '-') {\n if (i === 0 || i === pattern.length - 1) {\n throw new Error(\"Couldn't parse a one-of set pattern: \".concat(pattern));\n }\n var prevValue = pattern[i - 1].charCodeAt(0) + 1;\n var nextValue = pattern[i + 1].charCodeAt(0) - 1;\n var value = prevValue;\n while (value <= nextValue) {\n values.push(String.fromCharCode(value));\n value++;\n }\n } else {\n values.push(pattern[i]);\n }\n i++;\n }\n return values;\n}\nvar ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/;\nvar OPERATOR = new RegExp(\n// any of:\n'(' +\n// or operator\n'\\\\|' +\n// or\n'|' +\n// or group start\n'\\\\(\\\\?\\\\:' +\n// or\n'|' +\n// or group end\n'\\\\)' +\n// or\n'|' +\n// one-of set start\n'\\\\[' +\n// or\n'|' +\n// one-of set end\n'\\\\]' + ')');\nfunction expandSingleElementArray(array) {\n if (array.length === 1) {\n return array[0];\n }\n return array;\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternParser.js.map"],"names":["_typeof","o","_classCallCheck","a","n","_defineProperties","e","r","t","_toPropertyKey","_createClass","i","_toPrimitive","PatternParser","pattern","_this$context$","branches","instructions","expandSingleElementArray","context","match","OPERATOR","ILLEGAL_CHARACTER_REGEXP","operator","before","rightPart","_this$getContext","parseOneOfSet","values","prevValue","nextValue","value","array"],"mappings":"AAAA,SAASA,EAAQC,GAAG;AAAE;AAA2B,SAAOD,IAAwB,OAAO,UAArB,cAA2C,OAAO,OAAO,YAA1B,WAAqC,SAAUC,GAAG;AAAE,WAAO,OAAOA;AAAA,EAAG,IAAI,SAAUA,GAAG;AAAE,WAAOA,KAAmB,OAAO,UAArB,cAA+BA,EAAE,gBAAgB,UAAUA,MAAM,OAAO,YAAY,WAAW,OAAOA;AAAA,EAAG,GAAGD,EAAQC,CAAC;AAAG;AAC7T,SAASC,EAAgBC,GAAGC,GAAG;AAAE,MAAI,EAAED,aAAaC,GAAI,OAAM,IAAI,UAAU,mCAAmC;AAAG;AAClH,SAASC,EAAkBC,GAAGC,GAAG;AAAE,WAASC,IAAI,GAAGA,IAAID,EAAE,QAAQC,KAAK;AAAE,QAAIP,IAAIM,EAAEC,CAAC;AAAG,IAAAP,EAAE,aAAaA,EAAE,cAAc,IAAIA,EAAE,eAAe,IAAI,WAAWA,MAAMA,EAAE,WAAW,KAAK,OAAO,eAAeK,GAAGG,EAAeR,EAAE,GAAG,GAAGA,CAAC;AAAA,EAAG;AAAE;AACvO,SAASS,EAAaJ,GAAGC,GAAGC,GAAG;AAAE,SAAOD,KAAKF,EAAkBC,EAAE,WAAWC,CAAC,GAAiC,OAAO,eAAeD,GAAG,aAAa,EAAE,UAAU,GAAE,CAAE,GAAGA;AAAG;AAC1K,SAASG,EAAe,GAAG;AAAE,MAAIE,IAAIC,EAAa,GAAG,QAAQ;AAAG,SAAmBZ,EAAQW,CAAC,KAArB,WAAyBA,IAAIA,IAAI;AAAI;AAC5G,SAASC,EAAa,GAAGL,GAAG;AAAE,MAAgBP,EAAQ,CAAC,KAArB,YAA0B,CAAC,EAAG,QAAO;AAAG,MAAIM,IAAI,EAAE,OAAO,WAAW;AAAG,MAAeA,MAAX,QAAc;AAAE,QAAIK,IAAIL,EAAE,KAAK,GAAGC,CAAc;AAAG,QAAgBP,EAAQW,CAAC,KAArB,SAAwB,QAAOA;AAAG,UAAM,IAAI,UAAU,8CAA8C;AAAA,EAAG;AAAE,SAAyB,OAAiB,CAAC;AAAG;AACxT,IAACE,IAA6B,4BAAY;AAC3C,WAASA,IAAgB;AACvB,IAAAX,EAAgB,MAAMW,CAAa;AAAA,EACrC;AACA,SAAOH,EAAaG,GAAe,CAAC;AAAA,IAClC,KAAK;AAAA,IACL,OAAO,SAAeC,GAAS;AAM7B,UALA,KAAK,UAAU,CAAC;AAAA,QACd,IAAI;AAAA,QACJ,cAAc,CAAA;AAAA,MACtB,CAAO,GACD,KAAK,aAAaA,CAAO,GACrB,KAAK,QAAQ,WAAW;AAC1B,cAAM,IAAI,MAAM,sDAAsD;AAExE,UAAIC,IAAiB,KAAK,QAAQ,CAAC,GACjCC,IAAWD,EAAe,UAC1BE,IAAeF,EAAe;AAChC,UAAIC;AACF,eAAO;AAAA,UACL,IAAI;AAAA,UACJ,MAAMA,EAAS,OAAO,CAACE,EAAyBD,CAAY,CAAC,CAAC;AAAA,QACxE;AAIM,UAAIA,EAAa,WAAW;AAC1B,cAAM,IAAI,MAAM,qBAAqB;AAEvC,aAAIA,EAAa,WAAW,IACnBA,EAAa,CAAC,IAEhBA;AAAA,IACT;AAAA,EACJ,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAsBE,GAAS;AACpC,WAAK,QAAQ,KAAKA,CAAO;AAAA,IAC3B;AAAA,EACJ,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,WAAsB;AAC3B,WAAK,QAAQ,IAAG;AAAA,IAClB;AAAA,EACJ,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,WAAsB;AAC3B,aAAO,KAAK,QAAQ,KAAK,QAAQ,SAAS,CAAC;AAAA,IAC7C;AAAA,EACJ,GAAK;AAAA,IACD,KAAK;AAAA,IACL,OAAO,SAAsBL,GAAS;AACpC,UAAI,CAACA;AACH,cAAM,IAAI,MAAM,qBAAqB;AAEvC,UAAIM,IAAQN,EAAQ,MAAMO,CAAQ;AAClC,UAAI,CAACD,GAAO;AACV,YAAIE,EAAyB,KAAKR,CAAO;AACvC,gBAAM,IAAI,MAAM,0CAA0C,OAAOA,CAAO,CAAC;AAE3E,aAAK,WAAU,EAAG,eAAe,KAAK,WAAU,EAAG,aAAa,OAAOA,EAAQ,MAAM,EAAE,CAAC;AACxF;AAAA,MACF;AACA,UAAIS,IAAWH,EAAM,CAAC,GAClBI,IAASV,EAAQ,MAAM,GAAGM,EAAM,KAAK,GACrCK,IAAYX,EAAQ,MAAMM,EAAM,QAAQG,EAAS,MAAM;AAC3D,cAAQA,GAAQ;AAAA,QACd,KAAK;AACH,UAAIC,KACF,KAAK,aAAaA,CAAM,GAE1B,KAAK,aAAa;AAAA,YAChB,IAAI;AAAA,YACJ,cAAc,CAAA;AAAA,YACd,UAAU,CAAA;AAAA,UACtB,CAAW;AACD;AAAA,QACF,KAAK;AACH,cAAI,CAAC,KAAK,WAAU,EAAG;AACrB,kBAAM,IAAI,MAAM,iDAAiD;AAKnE,cAHIA,KACF,KAAK,aAAaA,CAAM,GAEtB,KAAK,WAAU,EAAG,aAAa,WAAW;AAC5C,kBAAM,IAAI,MAAM,2DAA2D;AAE7E,cAAIE,IAAmB,KAAK,WAAU,GACpCV,IAAWU,EAAiB;AAC9B,UAAAV,EAAS,KAAKE,EAAyB,KAAK,WAAU,EAAG,YAAY,CAAC,GACtE,KAAK,WAAU,GACf,KAAK,WAAU,EAAG,aAAa,KAAK;AAAA,YAClC,IAAI;AAAA,YACJ,MAAMF;AAAA,UAClB,CAAW;AACD;AAAA,QACF,KAAK;AACH,cAAI,CAAC,KAAK,WAAU,EAAG;AACrB,kBAAM,IAAI,MAAM,kDAAkD;AAMpE,cAJIQ,KACF,KAAK,aAAaA,CAAM,GAGtB,CAAC,KAAK,WAAU,EAAG;AAGrB,gBAAI,KAAK,QAAQ,WAAW;AAC1B,mBAAK,aAAa,WAAW,CAAA;AAAA;AAE7B,oBAAM,IAAI,MAAM,+CAA+C;AAGnE,eAAK,aAAa,SAAS,KAAKN,EAAyB,KAAK,aAAa,YAAY,CAAC,GACxF,KAAK,aAAa,eAAe,CAAA;AACjC;AAAA,QACF,KAAK;AACH,UAAIM,KACF,KAAK,aAAaA,CAAM,GAE1B,KAAK,aAAa;AAAA,YAChB,UAAU;AAAA,UACtB,CAAW;AACD;AAAA,QACF,KAAK;AACH,cAAI,CAAC,KAAK,WAAU,EAAG;AACrB,kBAAM,IAAI,MAAM,+CAA+C;AAEjE,eAAK,WAAU,GACf,KAAK,WAAU,EAAG,aAAa,KAAK;AAAA,YAClC,IAAI;AAAA,YACJ,MAAMG,EAAcH,CAAM;AAAA,UACtC,CAAW;AACD;AAAA;AAAA,QAGF;AACE,gBAAM,IAAI,MAAM,qBAAqB,OAAOD,CAAQ,CAAC;AAAA,MAC/D;AACM,MAAIE,KACF,KAAK,aAAaA,CAAS;AAAA,IAE/B;AAAA,EACJ,CAAG,CAAC;AACJ,GAAC;AAED,SAASE,EAAcb,GAAS;AAG9B,WAFIc,IAAS,CAAA,GACTjB,IAAI,GACDA,IAAIG,EAAQ,UAAQ;AACzB,QAAIA,EAAQH,CAAC,MAAM,KAAK;AACtB,UAAIA,MAAM,KAAKA,MAAMG,EAAQ,SAAS;AACpC,cAAM,IAAI,MAAM,wCAAwC,OAAOA,CAAO,CAAC;AAKzE,eAHIe,IAAYf,EAAQH,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,GAC3CmB,IAAYhB,EAAQH,IAAI,CAAC,EAAE,WAAW,CAAC,IAAI,GAC3CoB,IAAQF,GACLE,KAASD;AACd,QAAAF,EAAO,KAAK,OAAO,aAAaG,CAAK,CAAC,GACtCA;AAAA,IAEJ;AACE,MAAAH,EAAO,KAAKd,EAAQH,CAAC,CAAC;AAExB,IAAAA;AAAA,EACF;AACA,SAAOiB;AACT;AACA,IAAIN,IAA2B,oBAC3BD,IAAW,IAAI;AAAA;AAAA,EAEnB;AAkBW;AACX,SAASH,EAAyBc,GAAO;AACvC,SAAIA,EAAM,WAAW,IACZA,EAAM,CAAC,IAETA;AACT;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index181.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js"],"sourcesContent":["/**\n * Generates the ARIA label for the week number header element.\n *\n * @defaultValue `\"Week Number\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the week number header.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekNumberHeader(_options) {\n return \"Week Number\";\n}\n"],"names":["labelWeekNumberHeader","_options"],"mappings":"AASO,SAASA,EAAsBC,GAAU;AAC5C,SAAO;AACX;","x_google_ignoreList":[0]}
|
package/dist/index182.js
CHANGED
|
@@ -1,34 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function u(e, n, r) {
|
|
4
|
-
if (n === void 0 && (n = {}), r = new o(r), n.v2) {
|
|
5
|
-
if (!e.countryCallingCode)
|
|
6
|
-
throw new Error("Invalid phone number object passed");
|
|
7
|
-
r.selectNumberingPlan(e.countryCallingCode);
|
|
8
|
-
} else {
|
|
9
|
-
if (!e.phone)
|
|
10
|
-
return !1;
|
|
11
|
-
if (e.country) {
|
|
12
|
-
if (!r.hasCountry(e.country))
|
|
13
|
-
throw new Error("Unknown country: ".concat(e.country));
|
|
14
|
-
r.selectNumberingPlan(e.country);
|
|
15
|
-
} else {
|
|
16
|
-
if (!e.countryCallingCode)
|
|
17
|
-
throw new Error("Invalid phone number object passed");
|
|
18
|
-
r.selectNumberingPlan(e.countryCallingCode);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (r.possibleLengths())
|
|
22
|
-
return s(e.phone || e.nationalNumber, e.country, r);
|
|
23
|
-
if (e.countryCallingCode && r.isNonGeographicCallingCode(e.countryCallingCode))
|
|
24
|
-
return !0;
|
|
25
|
-
throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
|
|
26
|
-
}
|
|
27
|
-
function s(e, n, r) {
|
|
28
|
-
return l(e, n, r) === "IS_POSSIBLE";
|
|
1
|
+
function e(o) {
|
|
2
|
+
return "Choose the Year";
|
|
29
3
|
}
|
|
30
4
|
export {
|
|
31
|
-
|
|
32
|
-
s as isPossibleNumber
|
|
5
|
+
e as labelYearDropdown
|
|
33
6
|
};
|
|
34
7
|
//# sourceMappingURL=index182.js.map
|
package/dist/index182.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index182.js","sources":["../../../node_modules/
|
|
1
|
+
{"version":3,"file":"index182.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js"],"sourcesContent":["/**\n * Generates the ARIA label for the years dropdown.\n *\n * @defaultValue `\"Choose the Year\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the years dropdown.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelYearDropdown(_options) {\n return \"Choose the Year\";\n}\n"],"names":["labelYearDropdown","_options"],"mappings":"AASO,SAASA,EAAkBC,GAAU;AACxC,SAAO;AACX;","x_google_ignoreList":[0]}
|
package/dist/index183.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import u from "./index184.js";
|
|
4
|
-
function b(e, n, r) {
|
|
5
|
-
if (n = n || {}, r = new m(r), r.selectNumberingPlan(e.country, e.countryCallingCode), r.hasTypes())
|
|
6
|
-
return u(e, n, r.metadata) !== void 0;
|
|
7
|
-
var l = n.v2 ? e.nationalNumber : e.phone;
|
|
8
|
-
return o(l, r.nationalNumberPattern());
|
|
1
|
+
function e(t) {
|
|
2
|
+
return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
|
|
9
3
|
}
|
|
10
4
|
export {
|
|
11
|
-
|
|
5
|
+
e as getDefaultExportFromCjs
|
|
12
6
|
};
|
|
13
7
|
//# sourceMappingURL=index183.js.map
|